From e1bea0c0687c5f4551b3a6058ec37ce3705fa6cc Mon Sep 17 00:00:00 2001 From: Matthias Klose Date: Sun, 3 Jun 2007 23:18:43 +0000 Subject: libjava/classpath/ChangeLog.gcj: 2007-05-31 Matthias Klose * javax/management/NotificationBroadcasterSupport.java (getNotificationInfo): Add cast. * native/jni/qt-peer/Makefile.am (AM_CXXFLAGS): Add libstdc++ include directories. * native/jni/qt-peer/Makefile.in: Regenerate. libjava/ChangeLog: 2007-06-03 Matthias Klose * java/io/natFileWin32.cc (setFilePermissions): New (stub only). _access: Handle EXEC query, stub only. 2007-06-03 Matthias Klose Merged from classpath: * gnu/java/nio/SelectorProviderImpl.java: Whitespace merge. * java/lang/System.java(inheritedChannel): New. * java/lang/Character.java: Remove stray`;'. * java/net/MulticastSocket.java: Merged. * java/text/DateFormatSymbols.java(getInstance): New, comment updates. * java/text/Collator.java(getInstance): Merged. * java/util/Calendar.java: New attributes ALL_STYLES, SHORT, LONG. getDisplayName, getDisplayNames: New. * java/util/logging/Logger.java: Merged. * Regenerate .class and .h files. 2007-06-03 Matthias Klose * java/io/File.java: Merge with classpath-0.95, new method setFilePermissions, new attribute EXEC. * java/io/natFilePosix.cc (setFilePermissions): New. _access: Handle EXEC query. * classpath/lib/java/io/File.class, java/io/File.h: Regenerate. 2007-06-03 Matthias Klose Imported GNU Classpath 0.95. * classpath/Makefile.in, classpath/native/jni/midi-dssi/Makefile.in, classpath/native/jni/classpath/Makefile.in, classpath/native/jni/Makefile.in, classpath/native/jni/gconf-peer/Makefile.in, classpath/native/jni/java-io/Makefile.in, classpath/native/jni/native-lib/Makefile.in, classpath/native/jni/java-util/Makefile.in, classpath/native/jni/midi-alsa/Makefile.in, classpath/native/jni/java-lang/Makefile.in, classpath/native/jni/java-nio/Makefile.in, classpath/native/jni/java-net/Makefile.in, classpath/native/jni/xmlj/Makefile.in, classpath/native/jni/qt-peer/Makefile.in, classpath/native/jni/gtk-peer/Makefile.in, classpath/native/Makefile.in, classpath/native/jawt/Makefile.in, classpath/native/fdlibm/Makefile.in, classpath/native/plugin/Makefile.in, classpath/resource/Makefile.in, classpath/scripts/Makefile.in, classpath/tools/Makefile.in, classpath/doc/Makefile.in, classpath/doc/api/Makefile.in, classpath/lib/Makefile.in, classpath/external/Makefile.in, classpath/external/jsr166/Makefile.in, classpath/external/sax/Makefile.in, classpath/external/w3c_dom/Makefile.in, classpath/external/relaxngDatatype/Makefile.in, classpath/include/Makefile.in, classpath/examples/Makefile.in: Regenerate. * classpath/config.guess, classpath/config.sub, classpath/ltmain.sh : Update. * classpath/configure, classpath/depcomp, classpath/missing, classpath/aclocal.m4, classpath/install-sh: Regenerate. * gnu/classpath/Configuration.java (CLASSPATH_VERSION): Now 0.95. * sources.am: Regenerate. * Makefile.in: Regenerate. * Update the .class files and generated CNI header files, add new .class and generated CNI header files. * Remove generated files for removed java source files: classpath/gnu/java/net/BASE64.java, classpath/gnu/java/security/util/Base64.java, classpath/gnu/java/awt/peer/gtk/GThreadMutex.java, classpath/gnu/java/awt/peer/gtk/GThreadNativeMethodRunner.java, classpath/gnu/java/awt/font/autofit/Scaler.java, classpath/gnu/classpath/jdwp/util/Value.java, classpath/gnu/javax/net/ssl/Base64.java. * Remove empty directories. * Makefile.am(nat_source_files): Add natVMOperatingSystemMXBeanImpl.cc. * java/lang/Class.java(setAccessible): Merge from classpath. * java/util/Locale.java: Remove. * gnu/java/lang/management/VMOperatingSystemMXBeanImpl.java, gnu/java/lang/management/natVMOperatingSystemMXBeanImpl.cc: New. * gcj/javaprims.h: Update class declarations. * scripts/classes.pl: Update usage. * HACKING: Mention to build all peers. From-SVN: r125302 --- libjava/ChangeLog | 88 + libjava/HACKING | 2 + libjava/Makefile.am | 1 + libjava/Makefile.in | 124 +- libjava/classpath/ChangeLog | 38293 +------------------ libjava/classpath/ChangeLog-2006 | 37380 ++++++++++++++++++ libjava/classpath/ChangeLog.gcj | 8 + libjava/classpath/INSTALL | 5 + libjava/classpath/LICENSE | 36 + libjava/classpath/Makefile.am | 2 +- libjava/classpath/Makefile.in | 11 +- libjava/classpath/NEWS | 50 +- libjava/classpath/aclocal.m4 | 6428 +--- libjava/classpath/autogen.sh | 11 +- libjava/classpath/config.guess | 677 +- libjava/classpath/config.sub | 239 +- libjava/classpath/configure | 1617 +- libjava/classpath/configure.ac | 22 +- libjava/classpath/depcomp | 243 +- libjava/classpath/doc/Makefile.am | 28 +- libjava/classpath/doc/Makefile.in | 96 +- libjava/classpath/doc/api/Makefile.in | 29 +- libjava/classpath/doc/cp-hacking.texinfo | 363 +- libjava/classpath/doc/cp-vmintegration.texinfo | 31 +- libjava/classpath/doc/texi2pod.pl | 478 + libjava/classpath/doc/texinfo.tex | 7071 ++-- libjava/classpath/examples/Makefile.am | 11 +- libjava/classpath/examples/Makefile.in | 38 +- .../examples/awt/AicasGraphicsBenchmark.java | 4 +- .../gnu/classpath/examples/awt/HintingDemo.java | 377 + .../examples/gnu/classpath/examples/awt/aicas.png | Bin 2320 -> 0 bytes .../examples/gnu/classpath/examples/awt/palme.gif | Bin 502 -> 0 bytes .../gnu/classpath/examples/icons/aicas.png | Bin 0 -> 2320 bytes .../gnu/classpath/examples/icons/palme.gif | Bin 0 -> 502 bytes .../classpath/examples/java2d/J2dBenchmark.java | 4 +- .../gnu/classpath/examples/java2d/aicas.png | Bin 2320 -> 0 bytes .../gnu/classpath/examples/java2d/palme.gif | Bin 502 -> 0 bytes .../gnu/classpath/examples/management/TestOS.java | 1 + .../swing/ClasspathSwingActivityBoard.launch | 19 - .../examples/swing/NavigationFilterDemo.java | 2 +- libjava/classpath/external/Makefile.in | 29 +- libjava/classpath/external/jsr166/Makefile.in | 29 +- .../util/concurrent/ConcurrentSkipListMap.java | 2 +- .../java/util/concurrent/atomic/package.html | 158 - .../jsr166/java/util/concurrent/locks/package.html | 50 - .../jsr166/java/util/concurrent/package.html | 222 - .../classpath/external/relaxngDatatype/Makefile.in | 29 +- libjava/classpath/external/sax/Makefile.in | 29 +- libjava/classpath/external/w3c_dom/COPYRIGHT.html | 106 - libjava/classpath/external/w3c_dom/Makefile.in | 29 +- libjava/classpath/gnu/CORBA/DynAn/gnuDynValue.java | 6 - libjava/classpath/gnu/CORBA/Poa/gnuPOA.java | 1 - libjava/classpath/gnu/classpath/Pair.java | 126 + .../classpath/gnu/classpath/ServiceFactory.java | 83 +- .../classpath/gnu/classpath/jdwp/util/Value.java | 0 .../gnu/classpath/jdwp/util/VariableTable.java | 2 +- .../gnu/classpath/jdwp/value/ArrayValue.java | 2 +- libjava/classpath/gnu/java/awt/AWTUtilities.java | 203 +- .../gnu/java/awt/ClasspathGraphicsEnvironment.java | 67 + .../classpath/gnu/java/awt/ClasspathToolkit.java | 45 +- .../classpath/gnu/java/awt/font/FontDelegate.java | 10 +- .../gnu/java/awt/font/GNUGlyphVector.java | 49 +- .../gnu/java/awt/font/autofit/AutoHinter.java | 83 + .../gnu/java/awt/font/autofit/AxisHints.java | 69 +- .../gnu/java/awt/font/autofit/Constants.java | 25 + .../classpath/gnu/java/awt/font/autofit/Edge.java | 80 + .../gnu/java/awt/font/autofit/GlyphHints.java | 579 +- .../gnu/java/awt/font/autofit/HintScaler.java | 53 + .../classpath/gnu/java/awt/font/autofit/Latin.java | 1214 +- .../gnu/java/awt/font/autofit/LatinAxis.java | 11 +- .../gnu/java/awt/font/autofit/LatinBlue.java | 59 + .../gnu/java/awt/font/autofit/LatinMetrics.java | 15 + .../gnu/java/awt/font/autofit/Scaler.java | 52 - .../gnu/java/awt/font/autofit/Script.java | 6 +- .../gnu/java/awt/font/autofit/ScriptMetrics.java | 6 +- .../gnu/java/awt/font/autofit/Segment.java | 50 +- .../classpath/gnu/java/awt/font/autofit/Utils.java | 255 + .../classpath/gnu/java/awt/font/autofit/Width.java | 16 + .../gnu/java/awt/font/opentype/Hinter.java | 63 + .../gnu/java/awt/font/opentype/OpenTypeFont.java | 38 +- .../gnu/java/awt/font/opentype/Scaler.java | 3 +- .../gnu/java/awt/font/opentype/truetype/Fixed.java | 20 +- .../awt/font/opentype/truetype/GlyphLoader.java | 33 +- .../gnu/java/awt/font/opentype/truetype/Point.java | 285 + .../awt/font/opentype/truetype/TrueTypeScaler.java | 10 +- .../gnu/java/awt/font/opentype/truetype/Zone.java | 146 +- .../font/opentype/truetype/ZonePathIterator.java | 24 +- .../gnu/java/awt/java2d/AbstractGraphics2D.java | 494 +- .../classpath/gnu/java/awt/java2d/ActiveEdges.java | 195 + .../classpath/gnu/java/awt/java2d/PolyEdge.java | 71 +- .../classpath/gnu/java/awt/java2d/Scanline.java | 91 + .../gnu/java/awt/java2d/ScanlineConverter.java | 404 + .../gnu/java/awt/peer/ClasspathDesktopPeer.java | 301 + .../gnu/java/awt/peer/ClasspathFontPeer.java | 32 +- .../gnu/java/awt/peer/GnomeDesktopPeer.java | 153 + .../gnu/java/awt/peer/KDEDesktopPeer.java | 135 + .../gnu/java/awt/peer/gtk/AsyncImage.java | 10 +- .../java/awt/peer/gtk/BufferedImageGraphics.java | 116 +- .../gnu/java/awt/peer/gtk/CairoGraphics2D.java | 527 +- .../gnu/java/awt/peer/gtk/CairoSurface.java | 299 +- .../java/awt/peer/gtk/CairoSurfaceGraphics.java | 123 +- .../gnu/java/awt/peer/gtk/ComponentGraphics.java | 108 +- .../gnu/java/awt/peer/gtk/FreetypeGlyphVector.java | 157 +- .../gnu/java/awt/peer/gtk/GThreadMutex.java | 109 - .../awt/peer/gtk/GThreadNativeMethodRunner.java | 303 - .../gnu/java/awt/peer/gtk/GdkFontPeer.java | 40 +- .../java/awt/peer/gtk/GdkGraphicsEnvironment.java | 16 +- .../gnu/java/awt/peer/gtk/GdkPixbufDecoder.java | 137 +- .../java/awt/peer/gtk/GdkScreenGraphicsDevice.java | 4 +- .../gnu/java/awt/peer/gtk/GtkCheckboxPeer.java | 19 +- .../gnu/java/awt/peer/gtk/GtkChoicePeer.java | 26 +- .../gnu/java/awt/peer/gtk/GtkClipboard.java | 202 +- .../java/awt/peer/gtk/GtkClipboardNotifier.java | 85 +- .../gnu/java/awt/peer/gtk/GtkComponentPeer.java | 70 +- .../gnu/java/awt/peer/gtk/GtkFileDialogPeer.java | 20 +- .../gnu/java/awt/peer/gtk/GtkFramePeer.java | 20 +- .../classpath/gnu/java/awt/peer/gtk/GtkImage.java | 138 +- .../gnu/java/awt/peer/gtk/GtkImageConsumer.java | 74 +- .../gnu/java/awt/peer/gtk/GtkLabelPeer.java | 6 +- .../gnu/java/awt/peer/gtk/GtkListPeer.java | 26 +- .../gnu/java/awt/peer/gtk/GtkMainThread.java | 14 +- .../gnu/java/awt/peer/gtk/GtkMenuBarPeer.java | 16 +- .../java/awt/peer/gtk/GtkMenuComponentPeer.java | 6 +- .../gnu/java/awt/peer/gtk/GtkMenuPeer.java | 8 +- .../gnu/java/awt/peer/gtk/GtkMouseInfoPeer.java | 6 +- .../gnu/java/awt/peer/gtk/GtkScrollPanePeer.java | 6 +- .../gnu/java/awt/peer/gtk/GtkScrollbarPeer.java | 14 +- .../gnu/java/awt/peer/gtk/GtkSelection.java | 642 +- .../gnu/java/awt/peer/gtk/GtkTextAreaPeer.java | 12 +- .../gnu/java/awt/peer/gtk/GtkTextFieldPeer.java | 4 +- .../gnu/java/awt/peer/gtk/GtkToolkit.java | 114 +- .../gnu/java/awt/peer/gtk/GtkWindowPeer.java | 60 +- .../java/awt/peer/gtk/VolatileImageGraphics.java | 20 +- .../classpath/gnu/java/awt/peer/qt/QtToolkit.java | 49 +- .../gnu/java/awt/print/JavaPrinterGraphics.java | 3 +- .../gnu/java/awt/print/PostScriptGraphics2D.java | 3 +- .../gnu/java/beans/encoder/ScanEngine.java | 2 +- .../classpath/gnu/java/io/Base64InputStream.java | 10 +- .../classpath/gnu/java/io/class-dependencies.conf | 75 - .../gnu/java/lang/management/BeanImpl.java | 237 +- .../lang/management/OperatingSystemMXBeanImpl.java | 5 + .../gnu/java/lang/management/ThreadMXBeanImpl.java | 62 +- .../classpath/gnu/java/locale/LocaleHelper.java | 127 +- libjava/classpath/gnu/java/math/Fixed.java | 207 + libjava/classpath/gnu/java/net/BASE64.java | 190 - .../gnu/java/net/DefaultContentHandlerFactory.java | 4 +- .../classpath/gnu/java/net/GetLocalHostAction.java | 4 +- .../classpath/gnu/java/net/HeaderFieldHelper.java | 19 +- .../classpath/gnu/java/net/IndexListParser.java | 8 +- .../gnu/java/net/loader/JarURLLoader.java | 20 +- .../classpath/gnu/java/net/loader/URLLoader.java | 2 +- .../gnu/java/net/loader/URLStreamHandlerCache.java | 9 +- .../gnu/java/net/local/LocalServerSocket.java | 1 - .../classpath/gnu/java/net/local/LocalSocket.java | 1 - .../gnu/java/net/protocol/ftp/FTPConnection.java | 4 +- .../java/net/protocol/ftp/FTPURLConnection.java | 15 +- .../java/net/protocol/http/ChunkedInputStream.java | 4 - .../gnu/java/net/protocol/http/HTTPConnection.java | 14 +- .../java/net/protocol/http/HTTPURLConnection.java | 13 +- .../gnu/java/net/protocol/http/Headers.java | 45 +- .../gnu/java/net/protocol/http/Request.java | 17 +- .../net/protocol/http/SimpleCookieManager.java | 28 +- .../gnu/java/net/protocol/jar/Connection.java | 5 +- .../gnu/java/net/protocol/jar/Handler.java | 4 +- .../classpath/gnu/java/nio/ChannelInputStream.java | 12 +- .../gnu/java/nio/SelectorProviderImpl.java | 1 + .../gnu/java/nio/charset/ByteCharset.java | 7 +- .../gnu/java/nio/charset/EncodingHelper.java | 11 + .../classpath/gnu/java/security/util/Base64.java | 349 - .../gnu/java/security/x509/X509Certificate.java | 64 +- .../security/x509/ext/CertificatePolicies.java | 68 +- .../java/security/x509/ext/ExtendedKeyUsage.java | 10 +- .../gnu/java/security/x509/ext/Extension.java | 16 +- .../gnu/java/security/x509/ext/GeneralName.java | 232 + .../gnu/java/security/x509/ext/GeneralNames.java | 92 +- .../gnu/java/security/x509/ext/GeneralSubtree.java | 156 + .../security/x509/ext/IssuerAlternativeNames.java | 4 +- .../java/security/x509/ext/NameConstraints.java | 161 + .../security/x509/ext/SubjectAlternativeNames.java | 4 +- libjava/classpath/gnu/java/util/Base64.java | 340 + .../gnu/java/util/prefs/EventDispatcher.java | 4 +- .../gnu/java/util/prefs/GConfBasedPreferences.java | 20 +- .../java/util/prefs/MemoryBasedPreferences.java | 6 +- .../gnu/java/util/prefs/gconf/GConfNativePeer.java | 8 +- .../classpath/gnu/java/util/regex/RETokenChar.java | 5 +- .../gnu/javax/imageio/png/PNGICCProfile.java | 4 +- .../classpath/gnu/javax/management/Translator.java | 544 + libjava/classpath/gnu/javax/net/ssl/Base64.java | 311 - .../gnu/javax/net/ssl/PrivateCredentials.java | 5 +- .../gnu/javax/net/ssl/provider/SSLEngineImpl.java | 2 +- .../net/ssl/provider/SSLRSASignatureImpl.java | 3 +- .../security/auth/login/ConfigFileParser.java | 8 +- .../sound/midi/alsa/AlsaMidiSequencerDevice.java | 6 +- .../gnu/javax/sound/midi/alsa/AlsaPortDevice.java | 5 +- .../gnu/javax/sound/midi/dssi/DSSISynthesizer.java | 5 +- .../text/html/CharacterAttributeTranslator.java | 2 +- .../gnu/javax/swing/text/html/css/CSSParser.java | 7 +- .../gnu/javax/swing/text/html/parser/gnuDTD.java | 1 - .../swing/text/html/parser/support/Parser.java | 2 +- .../classpath/gnu/xml/dom/DomDocumentBuilder.java | 55 +- libjava/classpath/gnu/xml/dom/ls/DomLSParser.java | 11 +- .../classpath/gnu/xml/pipeline/DomConsumer.java | 2 +- libjava/classpath/gnu/xml/stream/SAXParser.java | 4 +- libjava/classpath/gnu/xml/stream/XMLParser.java | 18 +- libjava/classpath/gnu/xml/util/XCat.java | 2 +- libjava/classpath/include/Makefile.am | 4 +- libjava/classpath/include/Makefile.in | 33 +- libjava/classpath/include/config-int.h | 9 + libjava/classpath/include/config.h.in | 28 + .../gnu_java_awt_peer_gtk_CairoGraphics2D.h | 3 +- .../include/gnu_java_awt_peer_gtk_CairoSurface.h | 12 +- .../gnu_java_awt_peer_gtk_FreetypeGlyphVector.h | 10 +- ...u_java_awt_peer_gtk_GThreadNativeMethodRunner.h | 19 - .../include/gnu_java_awt_peer_gtk_GtkToolkit.h | 3 +- ...a_lang_management_VMOperatingSystemMXBeanImpl.h | 19 + libjava/classpath/include/java_io_VMFile.h | 4 + libjava/classpath/install-sh | 662 +- libjava/classpath/java/awt/AWTEvent.java | 12 +- libjava/classpath/java/awt/AWTKeyStroke.java | 6 +- libjava/classpath/java/awt/AlphaComposite.java | 6 +- libjava/classpath/java/awt/Canvas.java | 14 +- libjava/classpath/java/awt/CardLayout.java | 2 +- libjava/classpath/java/awt/Component.java | 60 +- libjava/classpath/java/awt/Desktop.java | 268 + .../classpath/java/awt/EventDispatchThread.java | 3 + libjava/classpath/java/awt/EventQueue.java | 6 +- libjava/classpath/java/awt/Frame.java | 85 +- .../classpath/java/awt/GraphicsConfiguration.java | 31 +- libjava/classpath/java/awt/RenderingHints.java | 10 +- libjava/classpath/java/awt/Toolkit.java | 24 +- libjava/classpath/java/awt/Window.java | 32 +- .../java/awt/datatransfer/SystemFlavorMap.java | 154 +- libjava/classpath/java/awt/geom/GeneralPath.java | 11 +- .../classpath/java/awt/image/BufferedImage.java | 327 +- .../java/awt/image/ComponentSampleModel.java | 448 +- .../classpath/java/awt/image/IndexColorModel.java | 17 +- .../awt/image/SinglePixelPackedSampleModel.java | 150 +- libjava/classpath/java/awt/peer/DesktopPeer.java | 64 + libjava/classpath/java/awt/print/PrinterJob.java | 15 +- .../java/beans/ConstructorProperties.java | 72 + libjava/classpath/java/beans/XMLEncoder.java | 2 +- libjava/classpath/java/io/File.java | 179 + libjava/classpath/java/io/ObjectInputStream.java | 175 +- libjava/classpath/java/io/ObjectOutputStream.java | 88 +- libjava/classpath/java/io/StreamTokenizer.java | 2 + libjava/classpath/java/io/class-dependencies.conf | 100 - libjava/classpath/java/lang/Character.java | 2 +- libjava/classpath/java/lang/Class.java | 30 +- libjava/classpath/java/lang/Enum.java | 13 + libjava/classpath/java/lang/StrictMath.java | 5 +- libjava/classpath/java/lang/String.java | 17 +- libjava/classpath/java/lang/System.java | 25 +- .../classpath/java/lang/class-dependencies.conf | 58 - .../classpath/java/lang/management/LockInfo.java | 114 + .../java/lang/management/ManagementFactory.java | 265 + .../java/lang/management/MemoryUsage.java | 16 +- .../java/lang/management/MonitorInfo.java | 179 + .../lang/management/OperatingSystemMXBean.java | 16 + .../classpath/java/lang/management/ThreadInfo.java | 431 +- .../java/lang/management/ThreadMXBean.java | 167 +- libjava/classpath/java/math/BigInteger.java | 5 +- .../classpath/java/math/class-dependencies.conf | 58 - libjava/classpath/java/net/MimeTypeMapper.java | 13 +- libjava/classpath/java/net/MulticastSocket.java | 6 +- libjava/classpath/java/net/NetworkInterface.java | 7 +- libjava/classpath/java/net/Proxy.java | 2 +- libjava/classpath/java/net/ResolverCache.java | 4 +- libjava/classpath/java/net/ServerSocket.java | 7 +- libjava/classpath/java/net/Socket.java | 23 +- libjava/classpath/java/net/URI.java | 2 +- libjava/classpath/java/net/URL.java | 11 +- libjava/classpath/java/net/URLClassLoader.java | 29 +- libjava/classpath/java/net/class-dependencies.conf | 122 - libjava/classpath/java/nio/ByteOrder.java | 4 +- .../java/nio/channels/spi/SelectorProvider.java | 27 + libjava/classpath/java/nio/class-dependencies.conf | 58 - .../java/rmi/activation/ActivationID.java | 2 +- .../java/rmi/server/UnicastRemoteObject.java | 5 +- .../classpath/java/security/BasicPermission.java | 3 +- libjava/classpath/java/security/Permission.java | 17 +- .../classpath/java/security/SecureClassLoader.java | 2 +- libjava/classpath/java/security/SignatureSpi.java | 13 +- .../java/security/cert/X509CertSelector.java | 1419 +- .../java/security/cert/X509Certificate.java | 4 +- .../java/text/AttributedStringIterator.java | 8 +- libjava/classpath/java/text/BreakIterator.java | 117 +- libjava/classpath/java/text/Collator.java | 50 +- libjava/classpath/java/text/DateFormat.java | 148 +- libjava/classpath/java/text/DateFormatSymbols.java | 159 +- libjava/classpath/java/text/DecimalFormat.java | 31 +- .../classpath/java/text/DecimalFormatSymbols.java | 89 +- libjava/classpath/java/text/MessageFormat.java | 128 +- libjava/classpath/java/text/NumberFormat.java | 135 +- libjava/classpath/java/text/SimpleDateFormat.java | 16 +- .../classpath/java/text/class-dependencies.conf | 220 - .../java/text/spi/BreakIteratorProvider.java | 124 + .../classpath/java/text/spi/CollatorProvider.java | 79 + .../java/text/spi/DateFormatProvider.java | 129 + .../java/text/spi/DateFormatSymbolsProvider.java | 79 + .../text/spi/DecimalFormatSymbolsProvider.java | 79 + .../java/text/spi/NumberFormatProvider.java | 129 + libjava/classpath/java/text/spi/package.html | 50 + libjava/classpath/java/util/AbstractMap.java | 29 +- libjava/classpath/java/util/Arrays.java | 998 +- libjava/classpath/java/util/Calendar.java | 250 +- libjava/classpath/java/util/Collections.java | 217 +- libjava/classpath/java/util/Currency.java | 33 +- libjava/classpath/java/util/Date.java | 2 +- libjava/classpath/java/util/GregorianCalendar.java | 18 +- libjava/classpath/java/util/HashMap.java | 16 +- libjava/classpath/java/util/Hashtable.java | 18 +- libjava/classpath/java/util/LinkedList.java | 271 +- libjava/classpath/java/util/Locale.java | 76 +- libjava/classpath/java/util/PriorityQueue.java | 1 + .../java/util/ServiceConfigurationError.java | 94 + libjava/classpath/java/util/ServiceLoader.java | 274 + libjava/classpath/java/util/StringTokenizer.java | 8 +- libjava/classpath/java/util/TreeMap.java | 1970 +- libjava/classpath/java/util/TreeSet.java | 244 +- .../classpath/java/util/class-dependencies.conf | 78 - .../java/util/concurrent/CopyOnWriteArrayList.java | 3 +- .../classpath/java/util/logging/LogManager.java | 16 +- libjava/classpath/java/util/logging/Logger.java | 18 +- .../java/util/prefs/AbstractPreferences.java | 17 +- libjava/classpath/java/util/prefs/Preferences.java | 6 +- libjava/classpath/java/util/regex/Pattern.java | 14 +- .../java/util/spi/CurrencyNameProvider.java | 100 + .../java/util/spi/LocaleNameProvider.java | 135 + .../java/util/spi/LocaleServiceProvider.java | 125 + .../java/util/spi/TimeZoneNameProvider.java | 97 + libjava/classpath/java/util/spi/package.html | 50 + .../classpath/java/util/zip/DeflaterEngine.java | 3 +- .../classpath/java/util/zip/ZipInputStream.java | 1 + .../javax/activity/ActivityCompletedException.java | 90 + .../javax/activity/ActivityRequiredException.java | 90 + .../javax/activity/InvalidActivityException.java | 90 + libjava/classpath/javax/activity/package.html | 45 + .../classpath/javax/crypto/CipherOutputStream.java | 4 +- .../classpath/javax/imageio/ImageWriteParam.java | 4 +- .../classpath/javax/imageio/spi/IIORegistry.java | 3 + .../javax/imageio/spi/ServiceRegistry.java | 2 +- .../imageio/stream/FileCacheImageOutputStream.java | 119 +- .../imageio/stream/ImageOutputStreamImpl.java | 100 +- .../management/AttributeChangeNotification.java | 166 + .../AttributeChangeNotificationFilter.java | 137 + .../javax/management/AttributeValueExp.java | 181 + .../javax/management/DefaultLoaderRepository.java | 148 + libjava/classpath/javax/management/Descriptor.java | 392 + .../javax/management/DescriptorAccess.java | 65 + .../classpath/javax/management/DescriptorRead.java | 59 + libjava/classpath/javax/management/JMX.java | 342 + .../javax/management/MBeanAttributeInfo.java | 5 + .../javax/management/MBeanFeatureInfo.java | 15 + .../management/MBeanServerInvocationHandler.java | 400 + libjava/classpath/javax/management/MXBean.java | 82 + .../classpath/javax/management/Notification.java | 23 +- .../management/NotificationBroadcasterSupport.java | 390 + .../management/NotificationFilterSupport.java | 139 + .../javax/management/PersistentMBean.java | 126 + libjava/classpath/javax/management/Query.java | 1901 + libjava/classpath/javax/management/QueryEval.java | 95 + .../classpath/javax/management/StandardMBean.java | 233 +- .../classpath/javax/management/StringValueExp.java | 133 + .../management/loading/ClassLoaderRepository.java | 6 +- .../javax/management/openmbean/ArrayType.java | 417 +- .../javax/management/openmbean/CompositeData.java | 4 +- .../openmbean/CompositeDataInvocationHandler.java | 190 + .../management/openmbean/CompositeDataSupport.java | 12 +- .../javax/management/openmbean/CompositeType.java | 34 +- .../openmbean/OpenMBeanAttributeInfoSupport.java | 48 +- .../openmbean/OpenMBeanOperationInfo.java | 2 +- .../openmbean/OpenMBeanOperationInfoSupport.java | 8 +- .../openmbean/OpenMBeanParameterInfo.java | 8 +- .../openmbean/OpenMBeanParameterInfoSupport.java | 38 +- .../javax/management/openmbean/OpenType.java | 43 +- .../javax/management/openmbean/SimpleType.java | 72 +- .../javax/management/openmbean/TabularData.java | 6 +- .../management/openmbean/TabularDataSupport.java | 16 +- .../javax/management/openmbean/TabularType.java | 8 +- libjava/classpath/javax/naming/CompositeName.java | 28 +- libjava/classpath/javax/naming/CompoundName.java | 34 +- libjava/classpath/javax/naming/InitialContext.java | 9 +- libjava/classpath/javax/naming/Reference.java | 14 +- .../javax/naming/directory/BasicAttribute.java | 8 +- .../javax/naming/directory/BasicAttributes.java | 59 +- .../javax/naming/ldap/InitialLdapContext.java | 6 +- libjava/classpath/javax/naming/spi/Resolver.java | 13 +- .../javax/net/ssl/SSLServerSocketFactory.java | 55 +- .../classpath/javax/net/ssl/SSLSocketFactory.java | 66 +- .../javax/sound/sampled/AudioFileFormat.java | 8 +- .../classpath/javax/sound/sampled/AudioFormat.java | 8 +- .../classpath/javax/sound/sampled/AudioSystem.java | 38 +- .../javax/sound/sampled/BooleanControl.java | 1 - .../javax/swing/DefaultDesktopManager.java | 30 +- libjava/classpath/javax/swing/JComponent.java | 21 +- libjava/classpath/javax/swing/JEditorPane.java | 2 +- .../classpath/javax/swing/JFormattedTextField.java | 2 +- libjava/classpath/javax/swing/JScrollBar.java | 4 +- libjava/classpath/javax/swing/JToolTip.java | 2 +- libjava/classpath/javax/swing/JViewport.java | 30 +- libjava/classpath/javax/swing/TransferHandler.java | 136 +- .../swing/colorchooser/DefaultHSBChooserPanel.java | 1 - .../javax/swing/plaf/basic/BasicComboBoxUI.java | 115 +- .../javax/swing/plaf/basic/BasicComboPopup.java | 33 +- .../javax/swing/plaf/basic/BasicLabelUI.java | 104 +- .../javax/swing/plaf/basic/BasicRadioButtonUI.java | 97 +- .../javax/swing/plaf/basic/BasicTabbedPaneUI.java | 2 +- .../javax/swing/plaf/basic/BasicTreeUI.java | 16 +- .../javax/swing/plaf/metal/MetalButtonUI.java | 3 +- .../javax/swing/plaf/metal/MetalComboBoxUI.java | 6 +- .../javax/swing/plaf/metal/MetalFileChooserUI.java | 4 +- .../javax/swing/plaf/metal/MetalLookAndFeel.java | 16 +- .../javax/swing/plaf/metal/MetalMenuBarUI.java | 2 +- .../classpath/javax/swing/table/JTableHeader.java | 2 +- .../javax/swing/text/AbstractDocument.java | 28 +- .../classpath/javax/swing/text/AsyncBoxView.java | 2 +- .../javax/swing/text/DefaultStyledDocument.java | 4 +- libjava/classpath/javax/swing/text/FieldView.java | 2 +- .../javax/swing/text/InternationalFormatter.java | 5 +- .../classpath/javax/swing/text/JTextComponent.java | 2 +- .../classpath/javax/swing/text/html/CSSParser.java | 5 +- libjava/classpath/lib/Makefile.am | 18 +- libjava/classpath/lib/Makefile.in | 44 +- .../classpath/lib/gnu/CORBA/CDR/gnuRuntime$1.class | Bin 984 -> 984 bytes .../lib/gnu/CORBA/CDR/gnuRuntime$Redirection.class | Bin 656 -> 672 bytes .../classpath/lib/gnu/CORBA/CDR/gnuRuntime.class | Bin 4831 -> 4831 bytes .../classpath/lib/gnu/CORBA/CollocatedOrbs.class | Bin 2494 -> 2544 bytes .../lib/gnu/CORBA/Connected_objects.class | Bin 3540 -> 3553 bytes .../lib/gnu/CORBA/DynAn/gnuDynValue.class | Bin 8072 -> 8072 bytes .../lib/gnu/CORBA/GIOP/CodeSetServiceContext.class | Bin 3524 -> 3621 bytes .../lib/gnu/CORBA/GIOP/ErrorMessage.class | Bin 1769 -> 1819 bytes .../classpath/lib/gnu/CORBA/HolderLocator.class | Bin 2952 -> 2956 bytes .../lib/gnu/CORBA/IOR$Internet_profile.class | Bin 2834 -> 2861 bytes libjava/classpath/lib/gnu/CORBA/IOR.class | Bin 8912 -> 8940 bytes .../lib/gnu/CORBA/Interceptor/gnuIcCurrent.class | Bin 4277 -> 4332 bytes .../lib/gnu/CORBA/NamingService/NameParser.class | Bin 9739 -> 9789 bytes .../lib/gnu/CORBA/NamingService/NamingMap.class | Bin 2648 -> 2703 bytes .../NamingService/NamingServiceTransient$1.class | Bin 701 -> 701 bytes .../NamingService/NamingServiceTransient.class | Bin 2390 -> 2390 bytes .../gnu/CORBA/NamingService/TransientContext.class | Bin 6742 -> 6800 bytes .../classpath/lib/gnu/CORBA/ObjectCreator.class | Bin 10180 -> 10174 bytes libjava/classpath/lib/gnu/CORBA/OrbFocused.class | Bin 6441 -> 6600 bytes .../classpath/lib/gnu/CORBA/OrbFunctional$1.class | Bin 635 -> 635 bytes .../classpath/lib/gnu/CORBA/OrbFunctional$2.class | Bin 1116 -> 1137 bytes .../gnu/CORBA/OrbFunctional$sharedPortServer.class | Bin 872 -> 893 bytes .../classpath/lib/gnu/CORBA/OrbFunctional.class | Bin 24752 -> 24797 bytes .../classpath/lib/gnu/CORBA/OrbRestricted.class | Bin 10136 -> 10175 bytes libjava/classpath/lib/gnu/CORBA/Poa/AOM.class | Bin 4383 -> 4387 bytes .../lib/gnu/CORBA/Poa/ForwardedServant.class | Bin 4682 -> 4762 bytes .../lib/gnu/CORBA/Poa/LocalDelegate.class | Bin 8751 -> 8788 bytes .../classpath/lib/gnu/CORBA/Poa/LocalRequest.class | Bin 12849 -> 12839 bytes libjava/classpath/lib/gnu/CORBA/Poa/ORB_1_4.class | Bin 7622 -> 7741 bytes .../lib/gnu/CORBA/Poa/ServantDelegateImpl.class | Bin 4010 -> 4047 bytes libjava/classpath/lib/gnu/CORBA/Poa/gnuPOA.class | Bin 25936 -> 25950 bytes .../lib/gnu/CORBA/Poa/gnuPoaCurrent.class | Bin 2741 -> 2796 bytes .../lib/gnu/CORBA/Poa/gnuServantObject.class | Bin 14471 -> 14508 bytes .../classpath/lib/gnu/CORBA/SocketRepository.class | Bin 1958 -> 2013 bytes .../classpath/lib/gnu/CORBA/TypeCodeHelper.class | Bin 4997 -> 5036 bytes libjava/classpath/lib/gnu/CORBA/gnuRequest$1.class | Bin 567 -> 567 bytes libjava/classpath/lib/gnu/CORBA/gnuRequest$2.class | Bin 623 -> 623 bytes libjava/classpath/lib/gnu/CORBA/gnuRequest.class | Bin 23103 -> 23157 bytes .../classpath/lib/gnu/awt/j2d/Graphics2DImpl.class | Bin 12314 -> 12413 bytes .../classpath/lib/gnu/awt/xlib/XCanvasPeer.class | Bin 12098 -> 12200 bytes .../classpath/lib/gnu/awt/xlib/XEventLoop.class | Bin 5313 -> 5310 bytes .../lib/gnu/awt/xlib/XOffScreenImage.class | Bin 5339 -> 5391 bytes .../lib/gnu/classpath/Configuration.class | Bin 857 -> 857 bytes libjava/classpath/lib/gnu/classpath/Pair.class | Bin 0 -> 1363 bytes .../classpath/ServiceFactory$ServiceIterator.class | Bin 3903 -> 4651 bytes .../lib/gnu/classpath/ServiceFactory.class | Bin 3194 -> 3536 bytes .../lib/gnu/classpath/SystemProperties.class | Bin 2655 -> 2655 bytes .../classpath/lib/gnu/classpath/jdwp/Jdwp$1.class | Bin 804 -> 804 bytes .../classpath/lib/gnu/classpath/jdwp/Jdwp.class | Bin 6780 -> 6780 bytes .../classpath/jdwp/JdwpConstants$CommandSet.class | Bin 1924 -> 1924 bytes .../lib/gnu/classpath/jdwp/JdwpConstants.class | Bin 1279 -> 1279 bytes .../gnu/classpath/jdwp/VMIdManager$IdFactory.class | Bin 3138 -> 3132 bytes .../gnu/classpath/jdwp/event/EventManager.class | Bin 4558 -> 4540 bytes .../lib/gnu/classpath/jdwp/id/ClassObjectId.class | Bin 874 -> 871 bytes .../gnu/classpath/jdwp/id/ReferenceTypeId.class | Bin 1033 -> 1030 bytes .../processor/ClassLoaderReferenceCommandSet.class | Bin 2722 -> 2719 bytes .../jdwp/processor/VirtualMachineCommandSet.class | Bin 9307 -> 9298 bytes .../lib/gnu/classpath/jdwp/util/Value.class | Bin 4871 -> 0 bytes .../lib/gnu/gcj/runtime/BootClassLoader.class | Bin 3402 -> 3401 bytes .../lib/gnu/gcj/runtime/HelperClassLoader$1.class | Bin 896 -> 896 bytes .../lib/gnu/gcj/runtime/HelperClassLoader.class | Bin 2189 -> 2189 bytes .../gcj/runtime/PersistentByteMap$AccessMode.class | Bin 991 -> 1044 bytes .../runtime/PersistentByteMap$HashIterator.class | Bin 1509 -> 1528 bytes .../lib/gnu/gcj/runtime/PersistentByteMap.class | Bin 9645 -> 9663 bytes .../lib/gnu/gcj/runtime/SharedLibHelper.class | Bin 5568 -> 5553 bytes .../lib/gnu/gcj/tools/gcj_dbtool/Main.class | Bin 10855 -> 10918 bytes ...bleComponentList$VisibleComponentIterator.class | Bin 2389 -> 2389 bytes .../awt/AWTUtilities$VisibleComponentList.class | Bin 1070 -> 1070 bytes .../classpath/lib/gnu/java/awt/AWTUtilities.class | Bin 5941 -> 7547 bytes .../java/awt/BitwiseXORComposite$IntContext.class | Bin 2306 -> 2331 bytes .../java/awt/ClasspathGraphicsEnvironment.class | Bin 0 -> 602 bytes .../lib/gnu/java/awt/ClasspathToolkit.class | Bin 2455 -> 2951 bytes .../lib/gnu/java/awt/font/FontDelegate.class | Bin 792 -> 1086 bytes .../lib/gnu/java/awt/font/GNUGlyphVector.class | Bin 6624 -> 7384 bytes .../lib/gnu/java/awt/font/autofit/AutoHinter.class | Bin 0 -> 2086 bytes .../lib/gnu/java/awt/font/autofit/AxisHints.class | Bin 362 -> 1689 bytes .../lib/gnu/java/awt/font/autofit/Constants.class | Bin 258 -> 402 bytes .../lib/gnu/java/awt/font/autofit/Edge.class | Bin 0 -> 1636 bytes .../lib/gnu/java/awt/font/autofit/GlyphHints.class | Bin 972 -> 9490 bytes .../lib/gnu/java/awt/font/autofit/HintScaler.class | Bin 0 -> 459 bytes .../lib/gnu/java/awt/font/autofit/Latin.class | Bin 4407 -> 20236 bytes .../lib/gnu/java/awt/font/autofit/LatinAxis.class | Bin 450 -> 689 bytes .../lib/gnu/java/awt/font/autofit/LatinBlue.class | Bin 0 -> 999 bytes .../gnu/java/awt/font/autofit/LatinMetrics.class | Bin 417 -> 773 bytes .../lib/gnu/java/awt/font/autofit/Scaler.class | Bin 426 -> 0 bytes .../lib/gnu/java/awt/font/autofit/Script.class | Bin 447 -> 659 bytes .../gnu/java/awt/font/autofit/ScriptMetrics.class | Bin 424 -> 504 bytes .../lib/gnu/java/awt/font/autofit/Segment.class | Bin 347 -> 1926 bytes .../lib/gnu/java/awt/font/autofit/Utils.class | Bin 0 -> 4272 bytes .../lib/gnu/java/awt/font/autofit/Width.class | Bin 338 -> 823 bytes .../gnu/java/awt/font/opentype/CharGlyphMap.class | Bin 2377 -> 2377 bytes .../lib/gnu/java/awt/font/opentype/Hinter.class | Bin 0 -> 277 bytes .../gnu/java/awt/font/opentype/OpenTypeFont.class | Bin 8291 -> 8951 bytes .../awt/font/opentype/OpenTypeFontFactory.class | Bin 1609 -> 1651 bytes .../lib/gnu/java/awt/font/opentype/Scaler.class | Bin 656 -> 692 bytes .../java/awt/font/opentype/truetype/Fixed.class | Bin 1969 -> 2303 bytes .../awt/font/opentype/truetype/GlyphLoader.class | Bin 7309 -> 7728 bytes .../awt/font/opentype/truetype/GlyphLocator.class | Bin 1073 -> 1073 bytes .../java/awt/font/opentype/truetype/Point.class | Bin 0 -> 3821 bytes .../font/opentype/truetype/TrueTypeScaler.class | Bin 4706 -> 4892 bytes .../gnu/java/awt/font/opentype/truetype/Zone.class | Bin 4834 -> 5577 bytes .../font/opentype/truetype/ZonePathIterator.class | Bin 2814 -> 2919 bytes .../gnu/java/awt/java2d/AbstractGraphics2D.class | Bin 33135 -> 27288 bytes .../lib/gnu/java/awt/java2d/ActiveEdges.class | Bin 0 -> 2545 bytes .../lib/gnu/java/awt/java2d/CubicSegment.class | Bin 3098 -> 3146 bytes .../lib/gnu/java/awt/java2d/LineSegment.class | Bin 2054 -> 2094 bytes .../lib/gnu/java/awt/java2d/PolyEdge.class | Bin 1559 -> 1930 bytes .../gnu/java/awt/java2d/PolyEdgeComparator.class | Bin 752 -> 746 bytes .../lib/gnu/java/awt/java2d/QuadSegment.class | Bin 4635 -> 4683 bytes .../lib/gnu/java/awt/java2d/Scanline.class | Bin 0 -> 733 bytes .../gnu/java/awt/java2d/ScanlineConverter.class | Bin 0 -> 5849 bytes .../gnu/java/awt/peer/ClasspathDesktopPeer.class | Bin 0 -> 5479 bytes .../java/awt/peer/ClasspathFontPeer$LRUCache.class | Bin 0 -> 964 bytes .../lib/gnu/java/awt/peer/ClasspathFontPeer.class | Bin 8543 -> 9119 bytes .../lib/gnu/java/awt/peer/GLightweightPeer.class | Bin 7416 -> 7541 bytes .../lib/gnu/java/awt/peer/GnomeDesktopPeer.class | Bin 0 -> 2612 bytes .../lib/gnu/java/awt/peer/KDEDesktopPeer.class | Bin 0 -> 2336 bytes .../awt/peer/gtk/AsyncImage$NullImageSource.class | Bin 1614 -> 1690 bytes .../lib/gnu/java/awt/peer/gtk/AsyncImage.class | Bin 3561 -> 3678 bytes .../java/awt/peer/gtk/BufferedImageGraphics.class | Bin 10724 -> 10519 bytes .../gnu/java/awt/peer/gtk/CairoGraphics2D.class | Bin 36423 -> 39018 bytes .../peer/gtk/CairoSurface$CairoDataBuffer.class | Bin 1519 -> 0 bytes .../lib/gnu/java/awt/peer/gtk/CairoSurface.class | Bin 5276 -> 7530 bytes .../java/awt/peer/gtk/CairoSurfaceGraphics.class | Bin 7704 -> 8555 bytes .../gnu/java/awt/peer/gtk/ComponentGraphics.class | Bin 16536 -> 17173 bytes .../java/awt/peer/gtk/FreetypeGlyphVector.class | Bin 8741 -> 9244 bytes .../lib/gnu/java/awt/peer/gtk/GThreadMutex.class | Bin 439 -> 0 bytes .../awt/peer/gtk/GThreadNativeMethodRunner.class | Bin 2869 -> 0 bytes .../lib/gnu/java/awt/peer/gtk/GdkFontPeer.class | Bin 9155 -> 9399 bytes .../awt/peer/gtk/GdkGraphicsConfiguration.class | Bin 3231 -> 3277 bytes .../java/awt/peer/gtk/GdkGraphicsEnvironment.class | Bin 2766 -> 3341 bytes .../gtk/GdkPixbufDecoder$GdkPixbufReader.class | Bin 5200 -> 5490 bytes .../gtk/GdkPixbufDecoder$GdkPixbufReaderSpi.class | Bin 1825 -> 1851 bytes .../gtk/GdkPixbufDecoder$GdkPixbufWriter.class | Bin 5158 -> 5314 bytes .../gtk/GdkPixbufDecoder$GdkPixbufWriterSpi.class | Bin 1878 -> 1904 bytes .../gtk/GdkPixbufDecoder$ImageFormatSpec.class | Bin 1003 -> 1075 bytes .../gnu/java/awt/peer/gtk/GdkPixbufDecoder.class | Bin 7774 -> 7974 bytes .../awt/peer/gtk/GdkScreenGraphicsDevice.class | Bin 5577 -> 5668 bytes .../gnu/java/awt/peer/gtk/GtkCheckboxPeer.class | Bin 3001 -> 3093 bytes .../lib/gnu/java/awt/peer/gtk/GtkClipboard.class | Bin 6435 -> 6419 bytes .../java/awt/peer/gtk/GtkClipboardNotifier.class | Bin 1567 -> 1567 bytes .../gnu/java/awt/peer/gtk/GtkComponentPeer.class | Bin 18251 -> 18274 bytes .../gnu/java/awt/peer/gtk/GtkFileDialogPeer.class | Bin 4290 -> 4290 bytes .../lib/gnu/java/awt/peer/gtk/GtkFramePeer.class | Bin 4563 -> 4696 bytes .../lib/gnu/java/awt/peer/gtk/GtkImage.class | Bin 7420 -> 7620 bytes .../gnu/java/awt/peer/gtk/GtkImageConsumer.class | Bin 3184 -> 3314 bytes .../lib/gnu/java/awt/peer/gtk/GtkMainThread.class | Bin 2319 -> 2319 bytes .../gnu/java/awt/peer/gtk/GtkScrollPanePeer.class | Bin 1785 -> 1777 bytes .../lib/gnu/java/awt/peer/gtk/GtkSelection.class | Bin 7019 -> 7340 bytes .../java/awt/peer/gtk/GtkToolkit$LRUCache.class | Bin 672 -> 945 bytes .../lib/gnu/java/awt/peer/gtk/GtkToolkit.class | Bin 17432 -> 18908 bytes .../lib/gnu/java/awt/peer/gtk/GtkWindowPeer.class | Bin 7753 -> 7737 bytes .../java/awt/peer/gtk/VolatileImageGraphics.class | Bin 7987 -> 8035 bytes .../lib/gnu/java/awt/peer/qt/QtComponentPeer.class | Bin 16303 -> 16405 bytes .../lib/gnu/java/awt/peer/qt/QtGraphics.class | Bin 17525 -> 17791 bytes .../lib/gnu/java/awt/peer/qt/QtToolkit.class | Bin 12257 -> 12257 bytes .../gnu/java/awt/peer/qt/QtVolatileImage$1.class | Bin 716 -> 716 bytes .../lib/gnu/java/awt/peer/qt/QtVolatileImage.class | Bin 7103 -> 7103 bytes .../java/awt/peer/swing/SwingComponentPeer.class | Bin 12438 -> 12563 bytes .../gnu/java/awt/peer/swing/SwingMenuBarPeer.class | Bin 3584 -> 3657 bytes .../gnu/java/awt/print/JavaPrinterGraphics.class | Bin 12394 -> 12394 bytes .../lib/gnu/java/awt/print/JavaPrinterJob.class | Bin 6418 -> 6491 bytes .../gnu/java/awt/print/PostScriptGraphics2D.class | Bin 30082 -> 30318 bytes .../lib/gnu/java/awt/print/SpooledDocument.class | Bin 1252 -> 1325 bytes .../lib/gnu/java/beans/BeanInfoEmbryo.class | Bin 4796 -> 4851 bytes .../lib/gnu/java/beans/decoder/ArrayHandler.class | Bin 2748 -> 2745 bytes .../lib/gnu/java/beans/decoder/MethodFinder.class | Bin 3321 -> 3318 bytes .../PersistenceParser$ArrayHandlerCreator.class | Bin 971 -> 989 bytes .../PersistenceParser$BooleanHandlerCreator.class | Bin 979 -> 997 bytes .../PersistenceParser$ByteHandlerCreator.class | Bin 967 -> 985 bytes .../PersistenceParser$CharHandlerCreator.class | Bin 967 -> 985 bytes .../PersistenceParser$ClassHandlerCreator.class | Bin 971 -> 989 bytes .../PersistenceParser$DoubleHandlerCreator.class | Bin 975 -> 993 bytes .../PersistenceParser$FloatHandlerCreator.class | Bin 971 -> 989 bytes .../PersistenceParser$IntHandlerCreator.class | Bin 963 -> 981 bytes .../PersistenceParser$JavaHandlerCreator.class | Bin 934 -> 952 bytes .../PersistenceParser$LongHandlerCreator.class | Bin 967 -> 985 bytes .../PersistenceParser$NullHandlerCreator.class | Bin 967 -> 985 bytes .../PersistenceParser$ObjectHandlerCreator.class | Bin 975 -> 993 bytes .../PersistenceParser$ShortHandlerCreator.class | Bin 971 -> 989 bytes .../PersistenceParser$StringHandlerCreator.class | Bin 975 -> 993 bytes .../PersistenceParser$VoidHandlerCreator.class | Bin 967 -> 985 bytes .../gnu/java/beans/decoder/PersistenceParser.class | Bin 8449 -> 8449 bytes .../lib/gnu/java/io/Base64InputStream.class | Bin 2758 -> 2762 bytes .../classpath/lib/gnu/java/lang/MainThread.class | Bin 3204 -> 3242 bytes .../lib/gnu/java/lang/management/BeanImpl.class | Bin 15568 -> 11094 bytes .../management/OperatingSystemMXBeanImpl.class | Bin 1085 -> 1242 bytes .../java/lang/management/RuntimeMXBeanImpl.class | Bin 3865 -> 3901 bytes .../java/lang/management/ThreadMXBeanImpl.class | Bin 5137 -> 6515 bytes .../management/VMOperatingSystemMXBeanImpl.class | Bin 0 -> 393 bytes .../java/lang/management/VMThreadMXBeanImpl.class | Bin 1742 -> 1860 bytes .../java/lang/reflect/UnresolvedTypeVariable.class | Bin 1893 -> 1892 bytes .../classpath/lib/gnu/java/locale/LocaleData.class | Bin 6225 -> 6225 bytes .../lib/gnu/java/locale/LocaleHelper.class | Bin 2636 -> 1798 bytes libjava/classpath/lib/gnu/java/math/Fixed.class | Bin 0 -> 1290 bytes libjava/classpath/lib/gnu/java/net/BASE64.class | Bin 3190 -> 0 bytes .../java/net/DefaultContentHandlerFactory.class | Bin 1353 -> 1415 bytes .../lib/gnu/java/net/GetLocalHostAction.class | Bin 564 -> 722 bytes .../lib/gnu/java/net/HeaderFieldHelper.class | Bin 1930 -> 2166 bytes .../lib/gnu/java/net/IndexListParser.class | Bin 2568 -> 2845 bytes .../lib/gnu/java/net/loader/JarURLLoader.class | Bin 5457 -> 6040 bytes .../lib/gnu/java/net/loader/URLLoader.class | Bin 1716 -> 1795 bytes .../java/net/loader/URLStreamHandlerCache.class | Bin 1273 -> 1530 bytes .../lib/gnu/java/net/local/LocalServerSocket.class | Bin 3487 -> 3487 bytes .../lib/gnu/java/net/local/LocalSocket.class | Bin 5583 -> 5583 bytes .../gnu/java/net/protocol/ftp/FTPConnection.class | Bin 16843 -> 16992 bytes .../ftp/FTPURLConnection$ClosingInputStream.class | Bin 969 -> 969 bytes .../ftp/FTPURLConnection$ClosingOutputStream.class | Bin 977 -> 977 bytes .../java/net/protocol/ftp/FTPURLConnection.class | Bin 5875 -> 6380 bytes .../net/protocol/http/ChunkedInputStream.class | Bin 2748 -> 2676 bytes .../protocol/http/HTTPConnection$Pool$Reaper.class | Bin 1482 -> 1482 bytes .../net/protocol/http/HTTPConnection$Pool.class | Bin 3489 -> 3583 bytes .../java/net/protocol/http/HTTPConnection.class | Bin 10087 -> 10243 bytes .../net/protocol/http/HTTPURLConnection$1.class | Bin 976 -> 976 bytes .../java/net/protocol/http/HTTPURLConnection.class | Bin 12123 -> 12299 bytes .../net/protocol/http/Headers$HeaderElement.class | Bin 571 -> 571 bytes .../lib/gnu/java/net/protocol/http/Headers.class | Bin 5178 -> 6192 bytes .../lib/gnu/java/net/protocol/http/Request.class | Bin 15584 -> 15685 bytes .../net/protocol/http/SimpleCookieManager.class | Bin 3051 -> 3722 bytes .../net/protocol/jar/Connection$JarFileCache.class | Bin 2288 -> 2375 bytes .../lib/gnu/java/net/protocol/jar/Connection.class | Bin 3397 -> 3397 bytes .../lib/gnu/java/net/protocol/jar/Handler.class | Bin 3822 -> 3908 bytes .../lib/gnu/java/nio/ChannelInputStream.class | Bin 1104 -> 1365 bytes .../gnu/java/nio/PipeImpl$SinkChannelImpl.class | Bin 1856 -> 1906 bytes .../gnu/java/nio/PipeImpl$SourceChannelImpl.class | Bin 1865 -> 1917 bytes libjava/classpath/lib/gnu/java/nio/PipeImpl.class | Bin 1072 -> 1200 bytes .../lib/gnu/java/nio/ServerSocketChannelImpl.class | Bin 2266 -> 2266 bytes libjava/classpath/lib/gnu/java/nio/VMChannel.class | Bin 2528 -> 2632 bytes .../gnu/java/nio/channels/FileChannelImpl.class | Bin 7914 -> 7955 bytes .../gnu/java/nio/charset/ByteCharset$Decoder.class | Bin 1300 -> 1392 bytes .../gnu/java/nio/charset/ByteCharset$Encoder.class | Bin 2042 -> 2042 bytes .../lib/gnu/java/nio/charset/EncodingHelper.class | Bin 3137 -> 3279 bytes .../lib/gnu/java/nio/charset/Provider$1.class | Bin 581 -> 581 bytes .../lib/gnu/java/nio/charset/Provider.class | Bin 5340 -> 5340 bytes .../lib/gnu/java/nio/charset/UTF_16Decoder.class | Bin 2637 -> 2427 bytes .../lib/gnu/java/nio/charset/UTF_16Encoder.class | Bin 2308 -> 2258 bytes .../lib/gnu/java/nio/charset/UTF_8$Decoder.class | Bin 3229 -> 2759 bytes .../lib/gnu/java/nio/charset/UTF_8$Encoder.class | Bin 2124 -> 1974 bytes .../lib/gnu/java/rmi/dgc/DGCImpl_Stub.class | Bin 4340 -> 4344 bytes .../lib/gnu/java/rmi/dgc/LeaseRenewingTask.class | Bin 3205 -> 3202 bytes .../gnu/java/rmi/registry/RegistryImpl_Stub.class | Bin 6139 -> 6151 bytes .../gnu/java/rmi/server/RMIClassLoaderImpl.class | Bin 5117 -> 5117 bytes .../rmi/server/UnicastConnectionManager$1.class | Bin 1917 -> 1917 bytes .../java/rmi/server/UnicastConnectionManager.class | Bin 7404 -> 7404 bytes .../gnu/java/rmi/server/UnicastRemoteCall.class | Bin 6149 -> 6149 bytes .../lib/gnu/java/rmi/server/UnicastServer.class | Bin 6736 -> 6772 bytes .../lib/gnu/java/rmi/server/UnicastServerRef.class | Bin 9296 -> 9293 bytes .../lib/gnu/java/security/PolicyFile$1.class | Bin 2136 -> 2136 bytes .../lib/gnu/java/security/PolicyFile.class | Bin 12883 -> 12896 bytes .../lib/gnu/java/security/Properties$1.class | Bin 753 -> 753 bytes .../lib/gnu/java/security/Properties.class | Bin 5002 -> 5002 bytes .../lib/gnu/java/security/der/DERReader.class | Bin 6819 -> 6823 bytes .../lib/gnu/java/security/provider/Gnu$1.class | Bin 12433 -> 12433 bytes .../lib/gnu/java/security/provider/Gnu.class | Bin 805 -> 805 bytes .../provider/PKIXCertPathValidatorImpl.class | Bin 14032 -> 14116 bytes .../lib/gnu/java/security/util/Base64.class | Bin 4996 -> 0 bytes .../lib/gnu/java/security/util/IntegerUtil$1.class | Bin 689 -> 749 bytes .../lib/gnu/java/security/util/IntegerUtil.class | Bin 1193 -> 1193 bytes .../lib/gnu/java/security/util/Util.class | Bin 7616 -> 7620 bytes .../java/security/x509/X500DistinguishedName.class | Bin 11414 -> 11414 bytes .../lib/gnu/java/security/x509/X509CRL.class | Bin 9760 -> 9799 bytes .../lib/gnu/java/security/x509/X509CRLEntry.class | Bin 5338 -> 5377 bytes .../gnu/java/security/x509/X509Certificate.class | Bin 17078 -> 18477 bytes .../security/x509/ext/AuthorityKeyIdentifier.class | Bin 2707 -> 2788 bytes .../java/security/x509/ext/BasicConstraints.class | Bin 2690 -> 2771 bytes .../lib/gnu/java/security/x509/ext/CRLNumber.class | Bin 1879 -> 1960 bytes .../security/x509/ext/CertificatePolicies.class | Bin 4908 -> 6368 bytes .../java/security/x509/ext/ExtendedKeyUsage.class | Bin 2069 -> 2271 bytes .../java/security/x509/ext/Extension$Value.class | Bin 1195 -> 1195 bytes .../lib/gnu/java/security/x509/ext/Extension.class | Bin 4712 -> 4903 bytes .../java/security/x509/ext/GeneralName$Kind.class | Bin 0 -> 2271 bytes .../gnu/java/security/x509/ext/GeneralName.class | Bin 0 -> 3536 bytes .../gnu/java/security/x509/ext/GeneralNames.class | Bin 3599 -> 2039 bytes .../java/security/x509/ext/GeneralSubtree.class | Bin 0 -> 2528 bytes .../security/x509/ext/IssuerAlternativeNames.class | Bin 1334 -> 1498 bytes .../lib/gnu/java/security/x509/ext/KeyUsage.class | Bin 1954 -> 2035 bytes .../java/security/x509/ext/NameConstraints.class | Bin 0 -> 3099 bytes .../java/security/x509/ext/PolicyConstraint.class | Bin 2187 -> 2268 bytes .../java/security/x509/ext/PolicyMappings.class | Bin 2433 -> 2514 bytes .../security/x509/ext/PrivateKeyUsagePeriod.class | Bin 2082 -> 2163 bytes .../gnu/java/security/x509/ext/ReasonCode.class | Bin 1609 -> 1690 bytes .../x509/ext/SubjectAlternativeNames.class | Bin 1337 -> 1501 bytes .../security/x509/ext/SubjectKeyIdentifier.class | Bin 1612 -> 1693 bytes .../lib/gnu/java/text/AttributedFormatBuffer.class | Bin 4054 -> 4193 bytes .../classpath/lib/gnu/java/text/FormatBuffer.class | Bin 613 -> 752 bytes .../gnu/java/text/FormatCharacterIterator.class | Bin 7158 -> 7254 bytes .../lib/gnu/java/text/StringFormatBuffer.class | Bin 2306 -> 2445 bytes libjava/classpath/lib/gnu/java/util/Base64.class | Bin 0 -> 3647 bytes .../lib/gnu/java/util/WeakIdentityHashMap$1.class | Bin 2951 -> 2992 bytes .../WeakIdentityHashMap$WeakBucket$WeakEntry.class | Bin 2038 -> 2073 bytes .../util/WeakIdentityHashMap$WeakEntrySet.class | Bin 996 -> 996 bytes .../lib/gnu/java/util/WeakIdentityHashMap.class | Bin 5474 -> 5494 bytes libjava/classpath/lib/gnu/java/util/ZoneInfo.class | Bin 15456 -> 15436 bytes .../classpath/lib/gnu/java/util/jar/JarUtils.class | Bin 8687 -> 8716 bytes .../lib/gnu/java/util/prefs/EventDispatcher.class | Bin 1264 -> 1330 bytes .../java/util/prefs/FileBasedPreferences$1.class | Bin 924 -> 924 bytes .../gnu/java/util/prefs/FileBasedPreferences.class | Bin 4473 -> 4466 bytes .../java/util/prefs/GConfBasedPreferences.class | Bin 5305 -> 5363 bytes .../java/util/prefs/MemoryBasedPreferences.class | Bin 2204 -> 2284 bytes .../java/util/prefs/gconf/GConfNativePeer.class | Bin 2599 -> 2702 bytes libjava/classpath/lib/gnu/java/util/regex/RE.class | Bin 29673 -> 29677 bytes .../lib/gnu/java/util/regex/RETokenChar.class | Bin 2786 -> 2825 bytes .../java/util/regex/RETokenNamedProperty$1.class | Bin 831 -> 849 bytes .../regex/RETokenNamedProperty$POSIXHandler.class | Bin 1238 -> 1256 bytes .../RETokenNamedProperty$UnicodeBlockHandler.class | Bin 948 -> 1014 bytes ...kenNamedProperty$UnicodeCategoriesHandler.class | Bin 868 -> 886 bytes ...TokenNamedProperty$UnicodeCategoryHandler.class | Bin 782 -> 800 bytes .../gnu/java/util/regex/RETokenNamedProperty.class | Bin 6298 -> 6346 bytes .../lib/gnu/java/util/regex/RETokenOneOf.class | Bin 6619 -> 6662 bytes .../util/regex/RETokenRepeated$DoablesFinder.class | Bin 2400 -> 2420 bytes .../regex/RETokenRepeated$FindMatchControl.class | Bin 596 -> 675 bytes .../RETokenRepeated$FindMatchControlStack.class | Bin 1698 -> 1725 bytes .../util/regex/RETokenRepeated$StackedInfo.class | Bin 999 -> 1138 bytes .../lib/gnu/java/util/regex/RETokenRepeated.class | Bin 9441 -> 9461 bytes .../lib/gnu/javax/crypto/assembly/Cascade.class | Bin 5202 -> 5199 bytes .../lib/gnu/javax/crypto/cipher/Blowfish.class | Bin 21891 -> 21891 bytes .../javax/crypto/cipher/TripleDES$Context.class | Bin 732 -> 814 bytes .../lib/gnu/javax/crypto/cipher/TripleDES.class | Bin 3879 -> 3887 bytes .../lib/gnu/javax/crypto/jce/GnuCrypto$1.class | Bin 26862 -> 28598 bytes .../lib/gnu/javax/crypto/jce/GnuCrypto.class | Bin 1116 -> 1116 bytes .../lib/gnu/javax/crypto/jce/GnuSasl$1.class | Bin 2082 -> 2082 bytes .../lib/gnu/javax/crypto/jce/GnuSasl.class | Bin 927 -> 927 bytes .../lib/gnu/javax/crypto/jce/cipher/PBES2.class | Bin 4591 -> 4591 bytes .../lib/gnu/javax/crypto/keyring/Properties.class | Bin 3479 -> 3534 bytes .../gnu/javax/crypto/mac/UHash32$L1Hash32.class | Bin 3648 -> 3686 bytes .../lib/gnu/javax/crypto/prng/CSPRNG$1.class | Bin 697 -> 697 bytes .../lib/gnu/javax/crypto/prng/CSPRNG$Poller.class | Bin 3788 -> 3779 bytes .../lib/gnu/javax/crypto/prng/CSPRNG.class | Bin 12837 -> 12816 bytes .../gnu/javax/crypto/sasl/srp/PasswordFile.class | Bin 11585 -> 11564 bytes .../lib/gnu/javax/imageio/bmp/DecodeRLE4.class | Bin 3651 -> 3655 bytes .../lib/gnu/javax/imageio/bmp/DecodeRLE8.class | Bin 3241 -> 3245 bytes .../lib/gnu/javax/imageio/bmp/EncodeRLE4.class | Bin 4023 -> 4027 bytes .../lib/gnu/javax/imageio/bmp/EncodeRLE8.class | Bin 3631 -> 3635 bytes .../lib/gnu/javax/imageio/gif/GIFImageReader.class | Bin 5068 -> 5114 bytes .../lib/gnu/javax/imageio/jpeg/JPEGDecoder.class | Bin 9405 -> 9409 bytes .../lib/gnu/javax/imageio/png/PNGICCProfile.class | Bin 2711 -> 2711 bytes .../lib/gnu/javax/management/Server.class | Bin 24096 -> 24106 bytes .../lib/gnu/javax/management/Translator.class | Bin 0 -> 13369 bytes .../lib/gnu/javax/naming/giop/CorbalocParser.class | Bin 7202 -> 7252 bytes .../naming/giop/GiopNamingServiceFactory$1.class | Bin 908 -> 908 bytes .../naming/giop/GiopNamingServiceFactory.class | Bin 3622 -> 3635 bytes .../classpath/lib/gnu/javax/net/ssl/Base64.class | Bin 3230 -> 0 bytes .../lib/gnu/javax/net/ssl/PrivateCredentials.class | Bin 9537 -> 9533 bytes .../net/ssl/provider/AbstractHandshake$1.class | Bin 1157 -> 1157 bytes .../provider/AbstractHandshake$CertVerifier.class | Bin 3995 -> 3995 bytes .../javax/net/ssl/provider/AbstractHandshake.class | Bin 19585 -> 19668 bytes .../javax/net/ssl/provider/Alert$Description.class | Bin 4176 -> 4176 bytes .../gnu/javax/net/ssl/provider/Alert$Level.class | Bin 1724 -> 1724 bytes .../lib/gnu/javax/net/ssl/provider/Alert.class | Bin 3279 -> 3279 bytes .../javax/net/ssl/provider/AlertException.class | Bin 1895 -> 2000 bytes .../gnu/javax/net/ssl/provider/Certificate.class | Bin 3965 -> 4045 bytes .../CertificateRequest$ClientCertificateType.class | Bin 2127 -> 2127 bytes .../net/ssl/provider/CertificateRequest.class | Bin 2520 -> 2577 bytes .../ssl/provider/CertificateRequestBuilder.class | Bin 2972 -> 3027 bytes ...tificateStatusRequest$ResponderIdIterator.class | Bin 1355 -> 1355 bytes .../ssl/provider/CertificateStatusRequest.class | Bin 5846 -> 5904 bytes .../provider/CertificateURL$CertChainType.class | Bin 1447 -> 1447 bytes .../net/ssl/provider/CertificateURL$Iterator.class | Bin 1434 -> 1529 bytes .../javax/net/ssl/provider/CertificateURL.class | Bin 5717 -> 5775 bytes .../javax/net/ssl/provider/CertificateVerify.class | Bin 1646 -> 1726 bytes .../ssl/provider/CipherSuiteList$Iterator.class | Bin 2597 -> 2597 bytes .../javax/net/ssl/provider/CipherSuiteList.class | Bin 4200 -> 4200 bytes .../ClientCertificateTypeList$Iterator.class | Bin 2872 -> 2955 bytes .../ssl/provider/ClientCertificateTypeList.class | Bin 3931 -> 4014 bytes .../ssl/provider/ClientHandshake$ClientDHGen.class | Bin 3697 -> 3790 bytes .../net/ssl/provider/ClientHandshake$RSAGen.class | Bin 3763 -> 3836 bytes .../net/ssl/provider/ClientHandshake$State.class | Bin 2213 -> 2213 bytes .../javax/net/ssl/provider/ClientHandshake.class | Bin 30697 -> 31108 bytes .../gnu/javax/net/ssl/provider/ClientHello.class | Bin 5069 -> 5149 bytes .../javax/net/ssl/provider/ClientKeyExchange.class | Bin 3437 -> 3517 bytes .../provider/CompressionMethodList$Iterator.class | Bin 2681 -> 2681 bytes .../net/ssl/provider/CompressionMethodList.class | Bin 3860 -> 3860 bytes .../gnu/javax/net/ssl/provider/DelegatedTask.class | Bin 1606 -> 1599 bytes .../javax/net/ssl/provider/Extension$Type.class | Bin 1970 -> 1970 bytes .../ExtensionList$ExtensionsIterator.class | Bin 2697 -> 2697 bytes .../gnu/javax/net/ssl/provider/ExtensionList.class | Bin 5666 -> 5681 bytes .../lib/gnu/javax/net/ssl/provider/Finished.class | Bin 3117 -> 3197 bytes .../javax/net/ssl/provider/Handshake$Type.class | Bin 2593 -> 2593 bytes .../gnu/javax/net/ssl/provider/HelloRequest.class | Bin 905 -> 985 bytes .../lib/gnu/javax/net/ssl/provider/Jessie$1.class | Bin 1944 -> 1944 bytes .../lib/gnu/javax/net/ssl/provider/Jessie.class | Bin 943 -> 943 bytes .../javax/net/ssl/provider/MaxFragmentLength.class | Bin 1780 -> 1861 bytes .../net/ssl/provider/SSLEngineImpl$Mode.class | Bin 1197 -> 1197 bytes .../gnu/javax/net/ssl/provider/SSLEngineImpl.class | Bin 21687 -> 21827 bytes .../net/ssl/provider/SSLRSASignatureImpl.class | Bin 5048 -> 5048 bytes .../javax/net/ssl/provider/SSLSocketImpl$1.class | Bin 885 -> 885 bytes .../provider/SSLSocketImpl$SocketInputStream.class | Bin 3668 -> 3711 bytes .../SSLSocketImpl$SocketOutputStream.class | Bin 3392 -> 3435 bytes .../gnu/javax/net/ssl/provider/SSLSocketImpl.class | Bin 15480 -> 15523 bytes .../net/ssl/provider/ServerHandshake$State.class | Bin 2284 -> 2284 bytes .../javax/net/ssl/provider/ServerHandshake.class | Bin 34821 -> 35303 bytes .../gnu/javax/net/ssl/provider/ServerHello.class | Bin 4424 -> 4504 bytes .../javax/net/ssl/provider/ServerHelloDone.class | Bin 988 -> 1068 bytes .../javax/net/ssl/provider/ServerKeyExchange.class | Bin 4255 -> 4335 bytes .../net/ssl/provider/ServerNameList$Iterator.class | Bin 1410 -> 1489 bytes .../net/ssl/provider/ServerNameList$NameType.class | Bin 1354 -> 1354 bytes .../ssl/provider/ServerNameList$ServerName.class | Bin 3814 -> 3833 bytes .../javax/net/ssl/provider/ServerNameList.class | Bin 4498 -> 4556 bytes .../gnu/javax/net/ssl/provider/SessionImpl.class | Bin 4385 -> 4432 bytes .../net/ssl/provider/SimpleSessionContext$1.class | Bin 1347 -> 1391 bytes .../net/ssl/provider/SimpleSessionContext.class | Bin 2957 -> 3005 bytes .../gnu/javax/net/ssl/provider/TruncatedHMAC.class | Bin 1125 -> 1206 bytes .../TrustedAuthorities$AuthoritiesIterator.class | Bin 1497 -> 1592 bytes .../TrustedAuthorities$IdentifierType.class | Bin 1597 -> 1597 bytes .../TrustedAuthorities$TrustedAuthority.class | Bin 3221 -> 3246 bytes .../net/ssl/provider/TrustedAuthorities.class | Bin 3425 -> 3483 bytes .../ssl/provider/UnresolvedExtensionValue.class | Bin 1413 -> 1494 bytes .../lib/gnu/javax/net/ssl/provider/Util$1.class | Bin 692 -> 692 bytes .../lib/gnu/javax/net/ssl/provider/Util$2.class | Bin 725 -> 725 bytes .../lib/gnu/javax/net/ssl/provider/Util.class | Bin 7423 -> 7423 bytes .../ssl/provider/X500PrincipalList$Iterator.class | Bin 2566 -> 2566 bytes .../javax/net/ssl/provider/X500PrincipalList.class | Bin 4562 -> 4562 bytes .../provider/X509KeyManagerFactory$Manager.class | Bin 5311 -> 5309 bytes .../provider/X509TrustManagerFactory$Manager.class | Bin 3262 -> 3261 bytes .../classpath/lib/gnu/javax/print/CupsServer.class | Bin 4232 -> 4214 bytes .../print/PrinterDialog$AppearancePanel.class | Bin 2445 -> 2445 bytes .../javax/print/PrinterDialog$PageSetupPanel.class | Bin 2129 -> 2129 bytes .../lib/gnu/javax/print/PrinterDialog.class | Bin 7369 -> 7369 bytes .../lib/gnu/javax/print/ipp/DocPrintJobImpl.class | Bin 10253 -> 10244 bytes .../lib/gnu/javax/print/ipp/IppPrintService.class | Bin 20077 -> 20186 bytes .../print/ipp/IppResponse$ResponseReader.class | Bin 13159 -> 13156 bytes .../lib/gnu/javax/print/ipp/IppUtilities.class | Bin 15597 -> 15594 bytes .../CORBA/PortableRemoteObjectDelegateImpl.class | Bin 7327 -> 7387 bytes .../lib/gnu/javax/rmi/CORBA/RmiUtilities$1.class | Bin 863 -> 863 bytes .../lib/gnu/javax/rmi/CORBA/RmiUtilities$2.class | Bin 822 -> 822 bytes .../lib/gnu/javax/rmi/CORBA/RmiUtilities.class | Bin 18745 -> 18745 bytes .../lib/gnu/javax/rmi/CORBA/UtilDelegateImpl.class | Bin 12840 -> 12877 bytes .../security/auth/callback/GnuCallbacks$1.class | Bin 1268 -> 1268 bytes .../security/auth/callback/GnuCallbacks.class | Bin 745 -> 745 bytes .../auth/callback/SwingCallbackHandler$1.class | Bin 1388 -> 1388 bytes .../auth/callback/SwingCallbackHandler$2.class | Bin 1802 -> 1802 bytes .../auth/callback/SwingCallbackHandler$3.class | Bin 1869 -> 1869 bytes .../auth/callback/SwingCallbackHandler$4.class | Bin 1692 -> 1692 bytes .../auth/callback/SwingCallbackHandler$5.class | Bin 1727 -> 1727 bytes .../auth/callback/SwingCallbackHandler$6.class | Bin 1714 -> 1714 bytes .../auth/callback/SwingCallbackHandler$7.class | Bin 1255 -> 1255 bytes .../auth/callback/SwingCallbackHandler.class | Bin 12162 -> 12162 bytes .../security/auth/login/ConfigFileParser.class | Bin 5453 -> 5506 bytes .../security/auth/login/GnuConfiguration.class | Bin 5617 -> 5608 bytes .../sound/midi/alsa/AlsaInputPortDevice.class | Bin 1398 -> 1591 bytes .../alsa/AlsaMidiDeviceProvider$AlsaInfo.class | Bin 732 -> 780 bytes .../AlsaMidiDeviceProvider$AlsaInputPortInfo.class | Bin 919 -> 942 bytes ...AlsaMidiDeviceProvider$AlsaOutputPortInfo.class | Bin 923 -> 946 bytes .../alsa/AlsaMidiDeviceProvider$AlsaPortInfo.class | Bin 753 -> 772 bytes .../AlsaMidiDeviceProvider$AlsaSequencerInfo.class | Bin 870 -> 889 bytes .../sound/midi/alsa/AlsaMidiDeviceProvider.class | Bin 2276 -> 2324 bytes .../sound/midi/alsa/AlsaMidiSequencerDevice.class | Bin 5607 -> 5776 bytes .../sound/midi/alsa/AlsaOutputPortDevice.class | Bin 1274 -> 1441 bytes .../midi/alsa/AlsaPortDevice$AlsaReceiver.class | Bin 900 -> 900 bytes .../midi/alsa/AlsaPortDevice$AlsaTransmitter.class | Bin 1602 -> 1679 bytes .../gnu/javax/sound/midi/alsa/AlsaPortDevice.class | Bin 912 -> 1109 bytes .../sound/midi/dssi/DSSIMidiDeviceProvider$1.class | Bin 748 -> 748 bytes .../dssi/DSSIMidiDeviceProvider$DSSIInfo.class | Bin 849 -> 897 bytes .../sound/midi/dssi/DSSIMidiDeviceProvider.class | Bin 3095 -> 3143 bytes .../midi/dssi/DSSISynthesizer$DSSIInstrument.class | Bin 978 -> 978 bytes .../dssi/DSSISynthesizer$DSSIMidiChannel.class | Bin 3148 -> 3148 bytes .../midi/dssi/DSSISynthesizer$DSSIReceiver.class | Bin 1835 -> 1835 bytes .../midi/dssi/DSSISynthesizer$DSSISoundbank.class | Bin 2595 -> 2595 bytes .../javax/sound/midi/dssi/DSSISynthesizer.class | Bin 6305 -> 6391 bytes .../sound/sampled/AU/AUReader$AUFormatType.class | Bin 507 -> 563 bytes .../javax/sound/sampled/AU/AUReader$AUHeader.class | Bin 2587 -> 2690 bytes .../lib/gnu/javax/sound/sampled/AU/AUReader.class | Bin 2634 -> 2634 bytes .../gnu/javax/sound/sampled/WAV/WAVReader.class | Bin 4349 -> 4406 bytes .../text/html/CharacterAttributeTranslator.class | Bin 3502 -> 3591 bytes .../swing/text/html/ImageViewIconFactory.class | Bin 852 -> 852 bytes .../javax/swing/text/html/css/CSSParser$1.class | Bin 1508 -> 1508 bytes .../gnu/javax/swing/text/html/css/CSSParser.class | Bin 5677 -> 5677 bytes .../html/parser/GnuParserDelegator$gnuParser.class | Bin 3083 -> 3231 bytes .../text/html/parser/GnuParserDelegator.class | Bin 1712 -> 1778 bytes .../text/html/parser/SmallHtmlAttributeSet$1.class | Bin 1076 -> 1076 bytes .../text/html/parser/SmallHtmlAttributeSet.class | Bin 3164 -> 3230 bytes .../gnu/javax/swing/text/html/parser/gnuDTD.class | Bin 6936 -> 6988 bytes .../text/html/parser/htmlAttributeSet$1.class | Bin 1270 -> 1332 bytes .../swing/text/html/parser/htmlAttributeSet.class | Bin 2379 -> 2441 bytes .../text/html/parser/htmlValidator$hTag.class | Bin 1850 -> 1932 bytes .../swing/text/html/parser/htmlValidator.class | Bin 10443 -> 10489 bytes .../swing/text/html/parser/support/Parser$1.class | Bin 859 -> 859 bytes .../swing/text/html/parser/support/Parser$2.class | Bin 1742 -> 1742 bytes .../swing/text/html/parser/support/Parser.class | Bin 20690 -> 20727 bytes .../gnu/xml/aelfred2/XmlParser$EntityInfo.class | Bin 528 -> 610 bytes .../classpath/lib/gnu/xml/aelfred2/XmlParser.class | Bin 52439 -> 52436 bytes .../lib/gnu/xml/dom/Consumer$Backdoor.class | Bin 5882 -> 5934 bytes libjava/classpath/lib/gnu/xml/dom/Consumer.class | Bin 851 -> 911 bytes libjava/classpath/lib/gnu/xml/dom/DomAttr.class | Bin 5205 -> 5209 bytes .../classpath/lib/gnu/xml/dom/DomDocument.class | Bin 23664 -> 23668 bytes .../lib/gnu/xml/dom/DomDocumentBuilder.class | Bin 4375 -> 4805 bytes libjava/classpath/lib/gnu/xml/dom/DomElement.class | Bin 8101 -> 8105 bytes .../lib/gnu/xml/dom/DomNode$ShadowList.class | Bin 1025 -> 1048 bytes libjava/classpath/lib/gnu/xml/dom/DomNode.class | Bin 22734 -> 22818 bytes .../lib/gnu/xml/dom/html2/DomHTMLDocument.class | Bin 10676 -> 10673 bytes .../lib/gnu/xml/dom/html2/DomHTMLElement.class | Bin 4725 -> 4795 bytes .../lib/gnu/xml/dom/html2/DomHTMLParser.class | Bin 4808 -> 4877 bytes .../classpath/lib/gnu/xml/dom/ls/DomLSParser.class | Bin 10699 -> 10784 bytes .../lib/gnu/xml/libxmlj/dom/GnomeNode.class | Bin 9182 -> 9218 bytes .../lib/gnu/xml/libxmlj/sax/Namespaces.class | Bin 1840 -> 1831 bytes .../xml/pipeline/PipelineFactory$Pipeline.class | Bin 1433 -> 1449 bytes .../gnu/xml/pipeline/PipelineFactory$Stage.class | Bin 5275 -> 5294 bytes .../lib/gnu/xml/pipeline/PipelineFactory.class | Bin 3857 -> 3857 bytes .../ValidationConsumer$ChildrenRecognizer.class | Bin 5547 -> 5616 bytes .../pipeline/ValidationConsumer$ElementInfo.class | Bin 1680 -> 1834 bytes .../ValidationConsumer$EmptyRecognizer.class | Bin 850 -> 946 bytes .../ValidationConsumer$MixedRecognizer.class | Bin 2369 -> 2412 bytes .../pipeline/ValidationConsumer$Recognizer.class | Bin 1170 -> 1192 bytes .../lib/gnu/xml/pipeline/ValidationConsumer.class | Bin 18791 -> 18791 bytes .../lib/gnu/xml/pipeline/XIncludeFilter.class | Bin 10814 -> 10814 bytes .../classpath/lib/gnu/xml/stream/SAXParser.class | Bin 22005 -> 22221 bytes .../lib/gnu/xml/stream/SAXParserFactory.class | Bin 2605 -> 2641 bytes .../gnu/xml/stream/XMLParser$AnyContentModel.class | Bin 594 -> 617 bytes .../lib/gnu/xml/stream/XMLParser$Attribute.class | Bin 1789 -> 1805 bytes .../gnu/xml/stream/XMLParser$AttributeDecl.class | Bin 897 -> 897 bytes .../gnu/xml/stream/XMLParser$ContentModel.class | Bin 787 -> 787 bytes .../gnu/xml/stream/XMLParser$ContentParticle.class | Bin 595 -> 595 bytes .../lib/gnu/xml/stream/XMLParser$Doctype.class | Bin 5857 -> 5914 bytes .../xml/stream/XMLParser$ElementContentModel.class | Bin 964 -> 1059 bytes .../xml/stream/XMLParser$EmptyContentModel.class | Bin 600 -> 623 bytes .../lib/gnu/xml/stream/XMLParser$ExternalIds.class | Bin 556 -> 556 bytes .../lib/gnu/xml/stream/XMLParser$Input.class | Bin 6256 -> 6256 bytes .../xml/stream/XMLParser$MixedContentModel.class | Bin 965 -> 988 bytes .../classpath/lib/gnu/xml/stream/XMLParser.class | Bin 67815 -> 67987 bytes .../classpath/lib/gnu/xml/transform/Bindings.class | Bin 5257 -> 5240 bytes .../lib/gnu/xml/transform/GenerateIdFunction.class | Bin 3112 -> 3109 bytes .../lib/gnu/xml/transform/SAXSerializer.class | Bin 6506 -> 6494 bytes .../lib/gnu/xml/transform/StreamSerializer.class | Bin 17808 -> 17799 bytes .../lib/gnu/xml/transform/Stylesheet.class | Bin 38666 -> 38670 bytes .../transform/TransformerOutputProperties.class | Bin 3335 -> 3339 bytes .../lib/gnu/xml/transform/XSLComparator.class | Bin 2203 -> 2207 bytes .../SAXNullTransformerFactory$DomHandler.class | Bin 997 -> 1042 bytes .../SAXNullTransformerFactory$DomTerminus.class | Bin 874 -> 955 bytes ...SAXNullTransformerFactory$ListenerAdapter.class | Bin 2042 -> 2093 bytes .../SAXNullTransformerFactory$NullHandler.class | Bin 3212 -> 3234 bytes ...SAXNullTransformerFactory$NullTransformer.class | Bin 5136 -> 5158 bytes .../gnu/xml/util/SAXNullTransformerFactory.class | Bin 5459 -> 5459 bytes .../classpath/lib/gnu/xml/util/XCat$Catalog.class | Bin 5817 -> 5842 bytes .../classpath/lib/gnu/xml/util/XCat$Loader.class | Bin 10205 -> 10223 bytes libjava/classpath/lib/gnu/xml/util/XCat.class | Bin 7607 -> 7607 bytes .../gnu/xml/validation/datatype/DateTimeType.class | Bin 4310 -> 4314 bytes .../lib/gnu/xml/validation/datatype/DateType.class | Bin 3469 -> 3473 bytes .../lib/gnu/xml/validation/datatype/TimeType.class | Bin 3776 -> 3780 bytes .../xml/validation/relaxng/FullSyntaxBuilder.class | Bin 32653 -> 32644 bytes .../classpath/lib/gnu/xml/xpath/XPathImpl.class | Bin 3800 -> 3902 bytes .../classpath/lib/gnu/xml/xpath/XPathParser.class | Bin 15434 -> 15438 bytes .../lib/gnu/xml/xpath/XPathTokenizer.class | Bin 7206 -> 7255 bytes .../lib/java/applet/Applet$AccessibleApplet.class | Bin 1235 -> 1284 bytes libjava/classpath/lib/java/awt/AWTEvent.class | Bin 3487 -> 3646 bytes .../classpath/lib/java/awt/AWTKeyStroke$1.class | Bin 1001 -> 1061 bytes .../classpath/lib/java/awt/AWTKeyStroke$2.class | Bin 1451 -> 1451 bytes .../classpath/lib/java/awt/AWTKeyStroke$3.class | Bin 1214 -> 1214 bytes libjava/classpath/lib/java/awt/AWTKeyStroke.class | Bin 7354 -> 7351 bytes .../classpath/lib/java/awt/AlphaComposite$1.class | Bin 715 -> 775 bytes .../classpath/lib/java/awt/AlphaComposite.class | Bin 3106 -> 3106 bytes libjava/classpath/lib/java/awt/BasicStroke.class | Bin 11709 -> 11749 bytes .../lib/java/awt/Button$AccessibleAWTButton.class | Bin 2322 -> 2379 bytes .../lib/java/awt/Canvas$AccessibleAWTCanvas.class | Bin 783 -> 840 bytes .../java/awt/Canvas$CanvasBltBufferStrategy.class | Bin 947 -> 1022 bytes .../java/awt/Canvas$CanvasFlipBufferStrategy.class | Bin 972 -> 1048 bytes libjava/classpath/lib/java/awt/Canvas.class | Bin 3756 -> 3606 bytes libjava/classpath/lib/java/awt/CardLayout.class | Bin 6645 -> 6652 bytes .../java/awt/Checkbox$AccessibleAWTCheckbox.class | Bin 2701 -> 2758 bytes ...boxMenuItem$AccessibleAWTCheckboxMenuItem.class | Bin 734 -> 789 bytes .../lib/java/awt/Choice$AccessibleAWTChoice.class | Bin 1502 -> 1559 bytes ...WTComponent$AccessibleAWTComponentHandler.class | Bin 1391 -> 1391 bytes ...bleAWTComponent$AccessibleAWTFocusHandler.class | Bin 1188 -> 1188 bytes .../awt/Component$AccessibleAWTComponent.class | Bin 7344 -> 7344 bytes .../lib/java/awt/Component$BltBufferStrategy.class | Bin 3260 -> 3283 bytes .../java/awt/Component$FlipBufferStrategy.class | Bin 3406 -> 3475 bytes ...omponent$HeavyweightInLightweightListener.class | Bin 1500 -> 1500 bytes libjava/classpath/lib/java/awt/Component.class | Bin 57337 -> 57212 bytes .../lib/java/awt/ComponentOrientation.class | Bin 1996 -> 1986 bytes .../awt/Container$AccessibleAWTContainer.class | Bin 1986 -> 2043 bytes .../java/awt/Container$GfxPaintAllVisitor.class | Bin 801 -> 822 bytes .../lib/java/awt/Container$GfxPaintVisitor.class | Bin 789 -> 810 bytes .../java/awt/Container$GfxPrintAllVisitor.class | Bin 801 -> 822 bytes .../lib/java/awt/Container$GfxPrintVisitor.class | Bin 789 -> 810 bytes libjava/classpath/lib/java/awt/Container.class | Bin 25778 -> 25778 bytes .../classpath/lib/java/awt/Desktop$Action.class | Bin 0 -> 1181 bytes libjava/classpath/lib/java/awt/Desktop.class | Bin 0 -> 1954 bytes .../lib/java/awt/Dialog$AccessibleAWTDialog.class | Bin 1304 -> 1355 bytes .../lib/java/awt/EventDispatchThread.class | Bin 1751 -> 1789 bytes libjava/classpath/lib/java/awt/EventQueue.class | Bin 7265 -> 7146 bytes libjava/classpath/lib/java/awt/Font.class | Bin 14714 -> 14900 bytes .../lib/java/awt/Frame$AccessibleAWTFrame.class | Bin 1302 -> 1353 bytes libjava/classpath/lib/java/awt/Frame.class | Bin 7975 -> 8696 bytes libjava/classpath/lib/java/awt/GradientPaint.class | Bin 2918 -> 2957 bytes libjava/classpath/lib/java/awt/Graphics2D.class | Bin 2479 -> 2578 bytes .../lib/java/awt/GraphicsConfiguration.class | Bin 1797 -> 2064 bytes .../lib/java/awt/Label$AccessibleAWTLabel.class | Bin 900 -> 957 bytes ...$AccessibleAWTList$AccessibleAWTListChild.class | Bin 1888 -> 1945 bytes .../lib/java/awt/List$AccessibleAWTList.class | Bin 3495 -> 3552 bytes .../lib/java/awt/Menu$AccessibleAWTMenu.class | Bin 760 -> 815 bytes .../java/awt/MenuBar$AccessibleAWTMenuBar.class | Bin 806 -> 871 bytes .../java/awt/MenuItem$AccessibleAWTMenuItem.class | Bin 2507 -> 2572 bytes .../lib/java/awt/Panel$AccessibleAWTPanel.class | Bin 773 -> 830 bytes libjava/classpath/lib/java/awt/Polygon$1.class | Bin 1484 -> 1484 bytes libjava/classpath/lib/java/awt/Polygon.class | Bin 5355 -> 5355 bytes .../awt/PopupMenu$AccessibleAWTPopupMenu.class | Bin 799 -> 846 bytes .../lib/java/awt/RenderingHints$KeyImpl.class | Bin 956 -> 970 bytes .../classpath/lib/java/awt/RenderingHints.class | Bin 7812 -> 7886 bytes libjava/classpath/lib/java/awt/Robot$1.class | Bin 526 -> 526 bytes libjava/classpath/lib/java/awt/Robot.class | Bin 5749 -> 5749 bytes .../awt/ScrollPane$AccessibleAWTScrollPane.class | Bin 820 -> 877 bytes .../awt/Scrollbar$AccessibleAWTScrollBar.class | Bin 2221 -> 2278 bytes .../java/awt/TextArea$AccessibleAWTTextArea.class | Bin 734 -> 799 bytes .../TextComponent$AccessibleAWTTextComponent.class | Bin 4191 -> 4248 bytes .../awt/TextField$AccessibleAWTTextField.class | Bin 743 -> 808 bytes libjava/classpath/lib/java/awt/Toolkit$1.class | Bin 616 -> 616 bytes libjava/classpath/lib/java/awt/Toolkit$2.class | Bin 3538 -> 3538 bytes libjava/classpath/lib/java/awt/Toolkit.class | Bin 14310 -> 14598 bytes .../lib/java/awt/Window$AccessibleAWTWindow.class | Bin 1243 -> 1300 bytes .../java/awt/Window$WindowBltBufferStrategy.class | Bin 947 -> 1022 bytes .../java/awt/Window$WindowFlipBufferStrategy.class | Bin 972 -> 1048 bytes libjava/classpath/lib/java/awt/Window.class | Bin 17825 -> 17703 bytes .../lib/java/awt/datatransfer/MimeType.class | Bin 4293 -> 4348 bytes .../java/awt/datatransfer/SystemFlavorMap$1.class | Bin 0 -> 2065 bytes .../java/awt/datatransfer/SystemFlavorMap.class | Bin 5169 -> 7485 bytes .../lib/java/awt/font/GraphicAttribute.class | Bin 1382 -> 1452 bytes .../lib/java/awt/font/ImageGraphicAttribute.class | Bin 2224 -> 2263 bytes .../lib/java/awt/font/NumericShaper.class | Bin 4638 -> 4709 bytes .../lib/java/awt/font/ShapeGraphicAttribute.class | Bin 2387 -> 2426 bytes .../lib/java/awt/font/TextAttribute.class | Bin 4769 -> 4855 bytes .../classpath/lib/java/awt/font/TextLayout.class | Bin 23555 -> 23678 bytes .../lib/java/awt/geom/AffineTransform.class | Bin 12490 -> 12530 bytes .../classpath/lib/java/awt/geom/Arc2D$Double.class | Bin 2281 -> 2289 bytes .../classpath/lib/java/awt/geom/Arc2D$Float.class | Bin 2314 -> 2322 bytes libjava/classpath/lib/java/awt/geom/Arc2D.class | Bin 8744 -> 8760 bytes .../lib/java/awt/geom/Area$AreaIterator.class | Bin 2481 -> 2499 bytes .../lib/java/awt/geom/Area$CubicSegment.class | Bin 8297 -> 8483 bytes .../lib/java/awt/geom/Area$Intersection.class | Bin 672 -> 722 bytes .../lib/java/awt/geom/Area$LineSegment.class | Bin 5193 -> 5372 bytes .../lib/java/awt/geom/Area$QuadSegment.class | Bin 6012 -> 6191 bytes .../classpath/lib/java/awt/geom/Area$Segment.class | Bin 6120 -> 6182 bytes libjava/classpath/lib/java/awt/geom/Area.class | Bin 23638 -> 23671 bytes .../lib/java/awt/geom/CubicCurve2D$1.class | Bin 2038 -> 2038 bytes .../lib/java/awt/geom/CubicCurve2D$Double.class | Bin 2454 -> 2528 bytes .../lib/java/awt/geom/CubicCurve2D$Float.class | Bin 2694 -> 2768 bytes .../classpath/lib/java/awt/geom/CubicCurve2D.class | Bin 9086 -> 9086 bytes .../lib/java/awt/geom/Ellipse2D$Double.class | Bin 1308 -> 1347 bytes .../lib/java/awt/geom/Ellipse2D$Float.class | Bin 1459 -> 1498 bytes .../classpath/lib/java/awt/geom/Ellipse2D.class | Bin 1989 -> 2052 bytes .../awt/geom/GeneralPath$GeneralPathIterator.class | Bin 1905 -> 1905 bytes .../classpath/lib/java/awt/geom/GeneralPath.class | Bin 10364 -> 10388 bytes libjava/classpath/lib/java/awt/geom/Line2D$1.class | Bin 1797 -> 1797 bytes .../lib/java/awt/geom/Line2D$Double.class | Bin 1886 -> 1933 bytes .../classpath/lib/java/awt/geom/Line2D$Float.class | Bin 2038 -> 2085 bytes libjava/classpath/lib/java/awt/geom/Line2D.class | Bin 7219 -> 7219 bytes .../lib/java/awt/geom/QuadCurve2D$1.class | Bin 1927 -> 1927 bytes .../lib/java/awt/geom/QuadCurve2D$Double.class | Bin 2038 -> 2112 bytes .../lib/java/awt/geom/QuadCurve2D$Float.class | Bin 2232 -> 2306 bytes .../classpath/lib/java/awt/geom/QuadCurve2D.class | Bin 7376 -> 7376 bytes .../lib/java/awt/geom/Rectangle2D$1.class | Bin 1986 -> 1986 bytes .../classpath/lib/java/awt/geom/Rectangle2D.class | Bin 5149 -> 5149 bytes .../lib/java/awt/geom/RectangularShape.class | Bin 3979 -> 4019 bytes .../lib/java/awt/geom/RoundRectangle2D$1.class | Bin 3069 -> 3111 bytes .../java/awt/geom/RoundRectangle2D$Double.class | Bin 1665 -> 1704 bytes .../lib/java/awt/geom/RoundRectangle2D$Float.class | Bin 1862 -> 1901 bytes .../lib/java/awt/geom/RoundRectangle2D.class | Bin 2622 -> 2638 bytes .../classpath/lib/java/awt/im/InputContext.class | Bin 5168 -> 5265 bytes .../lib/java/awt/im/InputMethodRequests.class | Bin 623 -> 762 bytes .../classpath/lib/java/awt/im/InputSubset.class | Bin 915 -> 980 bytes .../lib/java/awt/im/spi/InputMethod.class | Bin 735 -> 832 bytes .../lib/java/awt/image/AffineTransformOp.class | Bin 9727 -> 9797 bytes .../lib/java/awt/image/BufferedImage$1.class | Bin 2235 -> 2308 bytes .../lib/java/awt/image/BufferedImage.class | Bin 14436 -> 14708 bytes .../lib/java/awt/image/ColorConvertOp.class | Bin 7929 -> 7999 bytes .../lib/java/awt/image/ComponentSampleModel.class | Bin 10746 -> 7959 bytes .../lib/java/awt/image/IndexColorModel.class | Bin 7385 -> 7590 bytes .../lib/java/awt/image/PixelGrabber$1.class | Bin 826 -> 826 bytes .../lib/java/awt/image/PixelGrabber.class | Bin 6014 -> 6014 bytes .../awt/image/SinglePixelPackedSampleModel.class | Bin 7808 -> 7186 bytes .../lib/java/awt/peer/ComponentPeer.class | Bin 2110 -> 2235 bytes .../classpath/lib/java/awt/peer/DesktopPeer.class | Bin 0 -> 491 bytes .../classpath/lib/java/awt/print/PrinterJob.class | Bin 2499 -> 3026 bytes .../lib/java/beans/ConstructorProperties.class | Bin 0 -> 483 bytes libjava/classpath/lib/java/beans/Encoder$1.class | Bin 623 -> 623 bytes libjava/classpath/lib/java/beans/Encoder.class | Bin 5974 -> 5974 bytes .../lib/java/beans/PropertyChangeSupport.class | Bin 7022 -> 7074 bytes .../lib/java/beans/VetoableChangeSupport.class | Bin 6761 -> 6813 bytes libjava/classpath/lib/java/beans/XMLEncoder.class | Bin 3443 -> 3443 bytes .../BeanContextServicesSupport$BCSSChild.class | Bin 892 -> 958 bytes .../BeanContextServicesSupport$ServiceLease.class | Bin 996 -> 1014 bytes ...BeanContextServicesSupport$ServiceRequest.class | Bin 1145 -> 1163 bytes .../beancontext/BeanContextServicesSupport.class | Bin 12765 -> 12828 bytes .../classpath/lib/java/io/DeleteFileHelper$1.class | Bin 739 -> 739 bytes .../classpath/lib/java/io/DeleteFileHelper.class | Bin 1228 -> 1228 bytes libjava/classpath/lib/java/io/File.class | Bin 13330 -> 14275 bytes .../lib/java/io/ObjectInputStream$1.class | Bin 1152 -> 1152 bytes .../lib/java/io/ObjectInputStream$2.class | Bin 6148 -> 6167 bytes .../lib/java/io/ObjectInputStream$GetField.class | Bin 1025 -> 1025 bytes .../ObjectInputStream$ValidatorAndPriority.class | Bin 786 -> 786 bytes .../classpath/lib/java/io/ObjectInputStream.class | Bin 29581 -> 30634 bytes .../lib/java/io/ObjectOutputStream$1.class | Bin 4699 -> 4718 bytes .../lib/java/io/ObjectOutputStream$PutField.class | Bin 818 -> 818 bytes .../classpath/lib/java/io/ObjectOutputStream.class | Bin 18198 -> 18476 bytes .../lib/java/io/ObjectStreamClass$1.class | Bin 946 -> 946 bytes .../lib/java/io/ObjectStreamClass$2.class | Bin 834 -> 834 bytes .../classpath/lib/java/io/ObjectStreamClass.class | Bin 17956 -> 17956 bytes .../lib/java/io/ObjectStreamField$1.class | Bin 810 -> 810 bytes .../classpath/lib/java/io/ObjectStreamField.class | Bin 6794 -> 6794 bytes .../classpath/lib/java/io/StreamTokenizer.class | Bin 6870 -> 6870 bytes .../lang/Character$UnicodeBlock$NameType.class | Bin 1270 -> 1270 bytes .../lib/java/lang/Character$UnicodeBlock.class | Bin 18175 -> 18189 bytes libjava/classpath/lib/java/lang/Character.class | Bin 13096 -> 13096 bytes libjava/classpath/lib/java/lang/Class$1.class | Bin 0 -> 677 bytes libjava/classpath/lib/java/lang/Class.class | Bin 15250 -> 15635 bytes libjava/classpath/lib/java/lang/ClassLoader.class | Bin 12510 -> 12507 bytes libjava/classpath/lib/java/lang/Enum.class | Bin 2931 -> 3093 bytes libjava/classpath/lib/java/lang/Package.class | Bin 5278 -> 5277 bytes libjava/classpath/lib/java/lang/PosixProcess.class | Bin 4098 -> 4098 bytes .../classpath/lib/java/lang/ProcessBuilder.class | Bin 2812 -> 2860 bytes .../lib/java/lang/SecurityManager$1.class | Bin 871 -> 871 bytes .../classpath/lib/java/lang/SecurityManager.class | Bin 9305 -> 9305 bytes libjava/classpath/lib/java/lang/StrictMath.class | Bin 24574 -> 24574 bytes .../lang/String$CaseInsensitiveComparator.class | Bin 953 -> 953 bytes libjava/classpath/lib/java/lang/String.class | Bin 10265 -> 10265 bytes .../java/lang/System$EnvironmentCollection.class | Bin 2428 -> 2428 bytes .../lib/java/lang/System$EnvironmentMap.class | Bin 3407 -> 3464 bytes .../lib/java/lang/System$EnvironmentSet.class | Bin 1021 -> 1053 bytes libjava/classpath/lib/java/lang/System.class | Bin 5896 -> 6168 bytes libjava/classpath/lib/java/lang/Thread$State.class | Bin 1242 -> 1242 bytes libjava/classpath/lib/java/lang/Thread.class | Bin 10274 -> 10274 bytes libjava/classpath/lib/java/lang/ThreadGroup.class | Bin 8558 -> 8616 bytes libjava/classpath/lib/java/lang/VMCompiler.class | Bin 6711 -> 6752 bytes libjava/classpath/lib/java/lang/VMProcess.class | Bin 1926 -> 1962 bytes .../lib/java/lang/management/LockInfo.class | Bin 0 -> 1169 bytes ...gementFactory$ManagementInvocationHandler.class | Bin 0 -> 5238 bytes .../java/lang/management/ManagementFactory.class | Bin 8693 -> 11126 bytes .../lib/java/lang/management/MemoryUsage.class | Bin 3061 -> 3087 bytes .../lib/java/lang/management/MonitorInfo.class | Bin 0 -> 2410 bytes .../lang/management/OperatingSystemMXBean.class | Bin 263 -> 300 bytes .../lib/java/lang/management/ThreadInfo.class | Bin 7798 -> 11980 bytes .../lib/java/lang/management/ThreadMXBean.class | Bin 1008 -> 1236 bytes .../lib/java/lang/reflect/Proxy$ClassFactory.class | Bin 11555 -> 11575 bytes .../lib/java/lang/reflect/Proxy$ProxyData.class | Bin 4102 -> 4144 bytes .../java/lang/reflect/Proxy$ProxySignature.class | Bin 3655 -> 3649 bytes .../classpath/lib/java/lang/reflect/Proxy.class | Bin 4465 -> 4462 bytes .../classpath/lib/java/lang/reflect/VMProxy.class | Bin 1005 -> 1116 bytes libjava/classpath/lib/java/math/BigInteger.class | Bin 30692 -> 30684 bytes .../classpath/lib/java/net/DatagramSocket.class | Bin 10347 -> 10333 bytes .../classpath/lib/java/net/MimeTypeMapper.class | Bin 11230 -> 11632 bytes .../classpath/lib/java/net/MulticastSocket.class | Bin 6058 -> 6058 bytes libjava/classpath/lib/java/net/Proxy$Type.class | Bin 1121 -> 1121 bytes libjava/classpath/lib/java/net/ResolverCache.class | Bin 3355 -> 3512 bytes libjava/classpath/lib/java/net/ServerSocket.class | Bin 6796 -> 6899 bytes libjava/classpath/lib/java/net/Socket.class | Bin 11289 -> 11464 bytes libjava/classpath/lib/java/net/URI.class | Bin 16370 -> 16397 bytes libjava/classpath/lib/java/net/URL$1.class | Bin 629 -> 788 bytes libjava/classpath/lib/java/net/URL.class | Bin 10907 -> 11000 bytes .../classpath/lib/java/net/URLClassLoader$1.class | Bin 1022 -> 1197 bytes .../classpath/lib/java/net/URLClassLoader$2.class | Bin 908 -> 1099 bytes .../classpath/lib/java/net/URLClassLoader.class | Bin 14476 -> 14666 bytes libjava/classpath/lib/java/nio/ByteOrder.class | Bin 838 -> 838 bytes .../lib/java/nio/MappedByteBufferImpl.class | Bin 8128 -> 8190 bytes .../java/nio/channels/spi/SelectorProvider.class | Bin 2066 -> 2231 bytes .../lib/java/nio/charset/CoderResult$1.class | Bin 561 -> 577 bytes .../lib/java/nio/charset/CoderResult$2.class | Bin 561 -> 577 bytes .../lib/java/nio/charset/CoderResult.class | Bin 2826 -> 2826 bytes .../lib/java/rmi/activation/ActivationGroup.class | Bin 5542 -> 5658 bytes .../lib/java/rmi/server/UnicastRemoteObject.class | Bin 3032 -> 3032 bytes ...BasicPermission$BasicPermissionCollection.class | Bin 2446 -> 2446 bytes .../lib/java/security/BasicPermission.class | Bin 1944 -> 1944 bytes .../classpath/lib/java/security/Permission.class | Bin 1670 -> 1736 bytes .../lib/java/security/Permissions$1.class | Bin 1225 -> 1225 bytes .../classpath/lib/java/security/Permissions.class | Bin 1988 -> 1988 bytes .../lib/java/security/SecureClassLoader.class | Bin 2507 -> 2605 bytes .../classpath/lib/java/security/SignatureSpi.class | Bin 2716 -> 2863 bytes .../UnresolvedPermissionCollection$1.class | Bin 1297 -> 1294 bytes .../security/UnresolvedPermissionCollection.class | Bin 1616 -> 1613 bytes .../java/security/cert/CertPathValidator$1.class | Bin 718 -> 718 bytes .../lib/java/security/cert/CertPathValidator.class | Bin 3933 -> 3933 bytes .../lib/java/security/cert/CertStore$1.class | Bin 678 -> 678 bytes .../lib/java/security/cert/CertStore.class | Bin 4728 -> 4728 bytes .../lib/java/security/cert/X509CertSelector.class | Bin 13958 -> 19449 bytes .../classpath/lib/java/text/AttributedString.class | Bin 5877 -> 5897 bytes .../lib/java/text/AttributedStringIterator.class | Bin 5196 -> 5288 bytes libjava/classpath/lib/java/text/Bidi.class | Bin 10729 -> 10825 bytes .../classpath/lib/java/text/BreakIterator.class | Bin 3564 -> 4752 bytes .../lib/java/text/CollationElementIterator.class | Bin 5230 -> 5280 bytes libjava/classpath/lib/java/text/Collator.class | Bin 3558 -> 4071 bytes .../classpath/lib/java/text/DateFormat$Field.class | Bin 3570 -> 3600 bytes libjava/classpath/lib/java/text/DateFormat.class | Bin 8501 -> 10043 bytes .../lib/java/text/DateFormatSymbols.class | Bin 5265 -> 6194 bytes .../classpath/lib/java/text/DecimalFormat.class | Bin 23996 -> 24288 bytes .../lib/java/text/DecimalFormatSymbols.class | Bin 6861 -> 7794 bytes .../classpath/lib/java/text/FieldPosition.class | Bin 2447 -> 2508 bytes libjava/classpath/lib/java/text/Format$Field.class | Bin 492 -> 555 bytes .../lib/java/text/MessageFormat$Field.class | Bin 1176 -> 1206 bytes .../text/MessageFormat$MessageFormatElement.class | Bin 2477 -> 2471 bytes .../classpath/lib/java/text/MessageFormat.class | Bin 11574 -> 11610 bytes .../lib/java/text/NumberFormat$Field.class | Bin 2098 -> 2128 bytes libjava/classpath/lib/java/text/NumberFormat.class | Bin 8151 -> 9372 bytes .../classpath/lib/java/text/SimpleDateFormat.class | Bin 17953 -> 18183 bytes .../lib/java/text/spi/BreakIteratorProvider.class | Bin 0 -> 500 bytes .../lib/java/text/spi/CollatorProvider.class | Bin 0 -> 389 bytes .../lib/java/text/spi/DateFormatProvider.class | Bin 0 -> 505 bytes .../java/text/spi/DateFormatSymbolsProvider.class | Bin 0 -> 425 bytes .../text/spi/DecimalFormatSymbolsProvider.class | Bin 0 -> 437 bytes .../lib/java/text/spi/NumberFormatProvider.class | Bin 0 -> 499 bytes .../classpath/lib/java/util/AbstractList$1.class | Bin 2205 -> 2205 bytes .../classpath/lib/java/util/AbstractList$2.class | Bin 1499 -> 1499 bytes .../classpath/lib/java/util/AbstractList$3.class | Bin 2389 -> 2389 bytes .../util/AbstractList$RandomAccessSubList.class | Bin 865 -> 883 bytes .../lib/java/util/AbstractList$SubList.class | Bin 3945 -> 3945 bytes libjava/classpath/lib/java/util/AbstractList.class | Bin 4911 -> 4911 bytes .../classpath/lib/java/util/AbstractMap$1.class | Bin 1129 -> 1129 bytes .../classpath/lib/java/util/AbstractMap$2.class | Bin 1269 -> 1304 bytes .../classpath/lib/java/util/AbstractMap$3.class | Bin 1154 -> 1154 bytes .../classpath/lib/java/util/AbstractMap$4.class | Bin 1271 -> 1306 bytes .../lib/java/util/AbstractMap$SimpleEntry.class | Bin 2423 -> 2522 bytes .../util/AbstractMap$SimpleImmutableEntry.class | Bin 1736 -> 1835 bytes libjava/classpath/lib/java/util/AbstractMap.class | Bin 5285 -> 5301 bytes .../lib/java/util/ArrayDeque$DeqIterator.class | Bin 1664 -> 1664 bytes .../java/util/ArrayDeque$DescendingIterator.class | Bin 1692 -> 1692 bytes libjava/classpath/lib/java/util/ArrayDeque.class | Bin 10291 -> 10291 bytes .../classpath/lib/java/util/Arrays$ArrayList.class | Bin 2662 -> 2662 bytes libjava/classpath/lib/java/util/Arrays.class | Bin 26617 -> 32272 bytes libjava/classpath/lib/java/util/Calendar.class | Bin 13907 -> 17103 bytes .../util/Collections$1$SynchronizedMapEntry.class | Bin 2194 -> 2229 bytes .../classpath/lib/java/util/Collections$1.class | Bin 1138 -> 1138 bytes .../classpath/lib/java/util/Collections$2.class | Bin 1103 -> 1152 bytes .../classpath/lib/java/util/Collections$3.class | Bin 1511 -> 1545 bytes .../classpath/lib/java/util/Collections$4.class | Bin 1543 -> 1640 bytes .../classpath/lib/java/util/Collections$5.class | Bin 1611 -> 1708 bytes .../classpath/lib/java/util/Collections$6.class | Bin 1487 -> 1553 bytes .../classpath/lib/java/util/Collections$7.class | Bin 1809 -> 1844 bytes .../classpath/lib/java/util/Collections$8.class | Bin 889 -> 889 bytes .../classpath/lib/java/util/Collections$9.class | Bin 902 -> 930 bytes .../java/util/Collections$CheckedCollection.class | Bin 3768 -> 3874 bytes .../java/util/Collections$CheckedIterator.class | Bin 1272 -> 1272 bytes .../lib/java/util/Collections$CheckedList.class | Bin 3851 -> 3930 bytes .../util/Collections$CheckedListIterator.class | Bin 2065 -> 2091 bytes .../Collections$CheckedMap$CheckedEntrySet.class | Bin 1781 -> 1810 bytes .../lib/java/util/Collections$CheckedMap.class | Bin 4991 -> 5166 bytes .../util/Collections$CheckedRandomAccessList.class | Bin 963 -> 985 bytes .../lib/java/util/Collections$CheckedSet.class | Bin 1290 -> 1318 bytes .../java/util/Collections$CheckedSortedMap.class | Bin 2347 -> 2368 bytes .../java/util/Collections$CheckedSortedSet.class | Bin 2153 -> 2174 bytes .../lib/java/util/Collections$CopiesList.class | Bin 2693 -> 2693 bytes .../lib/java/util/Collections$EmptyList.class | Bin 2671 -> 2671 bytes .../lib/java/util/Collections$EmptyMap.class | Bin 2143 -> 2143 bytes .../lib/java/util/Collections$EmptySet.class | Bin 2422 -> 2422 bytes .../lib/java/util/Collections$LIFOQueue.class | Bin 0 -> 2279 bytes .../lib/java/util/Collections$MapSet.class | Bin 0 -> 2571 bytes .../java/util/Collections$ReverseComparator.class | Bin 1024 -> 1024 bytes .../lib/java/util/Collections$SingletonList.class | Bin 3063 -> 3063 bytes .../lib/java/util/Collections$SingletonMap.class | Bin 2981 -> 2981 bytes .../lib/java/util/Collections$SingletonSet.class | Bin 2438 -> 2438 bytes .../util/Collections$SynchronizedCollection.class | Bin 3969 -> 4000 bytes .../util/Collections$SynchronizedIterator.class | Bin 1366 -> 1366 bytes .../java/util/Collections$SynchronizedList.class | Bin 3835 -> 3903 bytes .../Collections$SynchronizedListIterator.class | Bin 2030 -> 2061 bytes .../java/util/Collections$SynchronizedMap.class | Bin 4720 -> 4779 bytes .../Collections$SynchronizedRandomAccessList.class | Bin 1461 -> 1488 bytes .../java/util/Collections$SynchronizedSet.class | Bin 1550 -> 1583 bytes .../util/Collections$SynchronizedSortedMap.class | Bin 2611 -> 2637 bytes .../util/Collections$SynchronizedSortedSet.class | Bin 2577 -> 2603 bytes .../util/Collections$UnmodifiableCollection.class | Bin 3096 -> 3127 bytes .../util/Collections$UnmodifiableIterator.class | Bin 1182 -> 1182 bytes .../java/util/Collections$UnmodifiableList.class | Bin 3136 -> 3204 bytes .../Collections$UnmodifiableListIterator.class | Bin 1745 -> 1776 bytes ...UnmodifiableEntrySet$UnmodifiableMapEntry.class | Bin 2188 -> 2223 bytes ...ions$UnmodifiableMap$UnmodifiableEntrySet.class | Bin 2503 -> 2441 bytes .../java/util/Collections$UnmodifiableMap.class | Bin 3698 -> 3757 bytes .../Collections$UnmodifiableRandomAccessList.class | Bin 883 -> 910 bytes .../java/util/Collections$UnmodifiableSet.class | Bin 1193 -> 1226 bytes .../util/Collections$UnmodifiableSortedMap.class | Bin 2105 -> 2131 bytes .../util/Collections$UnmodifiableSortedSet.class | Bin 2032 -> 2058 bytes libjava/classpath/lib/java/util/Collections.class | Bin 21075 -> 21874 bytes libjava/classpath/lib/java/util/Date.class | Bin 11037 -> 11034 bytes libjava/classpath/lib/java/util/EnumMap$1.class | Bin 1315 -> 1315 bytes libjava/classpath/lib/java/util/EnumMap$2.class | Bin 1460 -> 1460 bytes libjava/classpath/lib/java/util/EnumMap$3.class | Bin 1053 -> 1053 bytes libjava/classpath/lib/java/util/EnumMap$4.class | Bin 1233 -> 1233 bytes libjava/classpath/lib/java/util/EnumMap$5.class | Bin 1839 -> 1874 bytes libjava/classpath/lib/java/util/EnumMap$6.class | Bin 1753 -> 1821 bytes libjava/classpath/lib/java/util/EnumMap$7.class | Bin 1307 -> 1416 bytes libjava/classpath/lib/java/util/EnumMap.class | Bin 5826 -> 5825 bytes libjava/classpath/lib/java/util/EnumSet$1.class | Bin 1389 -> 1389 bytes libjava/classpath/lib/java/util/EnumSet.class | Bin 8349 -> 8348 bytes .../java/util/Formatter$BigDecimalLayoutForm.class | Bin 1177 -> 1177 bytes .../lib/java/util/GregorianCalendar.class | Bin 14113 -> 14242 bytes libjava/classpath/lib/java/util/HashMap$1.class | Bin 1222 -> 1222 bytes libjava/classpath/lib/java/util/HashMap$2.class | Bin 898 -> 898 bytes libjava/classpath/lib/java/util/HashMap$3.class | Bin 1494 -> 1514 bytes .../lib/java/util/HashMap$HashEntry.class | Bin 1008 -> 1057 bytes .../lib/java/util/HashMap$HashIterator.class | Bin 1854 -> 1874 bytes libjava/classpath/lib/java/util/HashMap.class | Bin 8875 -> 9025 bytes libjava/classpath/lib/java/util/HashSet.class | Bin 3994 -> 4070 bytes libjava/classpath/lib/java/util/Hashtable$1.class | Bin 1217 -> 1239 bytes libjava/classpath/lib/java/util/Hashtable$2.class | Bin 926 -> 950 bytes libjava/classpath/lib/java/util/Hashtable$3.class | Bin 1530 -> 1574 bytes .../lib/java/util/Hashtable$EntryEnumerator.class | Bin 1475 -> 1555 bytes .../lib/java/util/Hashtable$EntryIterator.class | Bin 1861 -> 1941 bytes .../lib/java/util/Hashtable$HashEntry.class | Bin 1054 -> 1103 bytes .../lib/java/util/Hashtable$KeyEnumerator.class | Bin 1278 -> 1384 bytes .../lib/java/util/Hashtable$KeyIterator.class | Bin 1132 -> 1236 bytes .../lib/java/util/Hashtable$ValueEnumerator.class | Bin 1286 -> 1392 bytes .../lib/java/util/Hashtable$ValueIterator.class | Bin 1140 -> 1244 bytes libjava/classpath/lib/java/util/Hashtable.class | Bin 10367 -> 10573 bytes .../lib/java/util/IdentityHashMap$1.class | Bin 1915 -> 1977 bytes .../lib/java/util/IdentityHashMap$2.class | Bin 1786 -> 1813 bytes .../lib/java/util/IdentityHashMap$3.class | Bin 1412 -> 1439 bytes .../java/util/IdentityHashMap$IdentityEntry.class | Bin 2554 -> 2589 bytes .../util/IdentityHashMap$IdentityIterator.class | Bin 1900 -> 1924 bytes .../classpath/lib/java/util/IdentityHashMap.class | Bin 6772 -> 6772 bytes .../classpath/lib/java/util/LinkedHashMap$1.class | Bin 1521 -> 1547 bytes .../java/util/LinkedHashMap$LinkedHashEntry.class | Bin 1630 -> 1673 bytes .../classpath/lib/java/util/LinkedHashMap.class | Bin 3388 -> 3468 bytes libjava/classpath/lib/java/util/LinkedList$1.class | Bin 0 -> 1701 bytes .../classpath/lib/java/util/LinkedList$Entry.class | Bin 719 -> 719 bytes .../lib/java/util/LinkedList$LinkedListItr.class | Bin 3062 -> 3078 bytes libjava/classpath/lib/java/util/LinkedList.class | Bin 9888 -> 11356 bytes libjava/classpath/lib/java/util/Locale.class | Bin 16086 -> 13857 bytes libjava/classpath/lib/java/util/Map$Entry.class | Bin 480 -> 480 bytes libjava/classpath/lib/java/util/Map.class | Bin 935 -> 935 bytes libjava/classpath/lib/java/util/NavigableMap.class | Bin 1538 -> 1621 bytes .../classpath/lib/java/util/PriorityQueue$1.class | Bin 1094 -> 1094 bytes .../classpath/lib/java/util/PriorityQueue.class | Bin 5551 -> 5551 bytes libjava/classpath/lib/java/util/Properties.class | Bin 12084 -> 12141 bytes .../lib/java/util/PropertyPermission.class | Bin 3334 -> 3395 bytes .../classpath/lib/java/util/ResourceBundle$1.class | Bin 662 -> 722 bytes .../classpath/lib/java/util/ResourceBundle.class | Bin 6232 -> 6232 bytes .../lib/java/util/ServiceConfigurationError.class | Bin 0 -> 621 bytes .../classpath/lib/java/util/ServiceLoader$1.class | Bin 0 -> 1868 bytes .../classpath/lib/java/util/ServiceLoader.class | Bin 0 -> 3382 bytes .../classpath/lib/java/util/StringTokenizer.class | Bin 2332 -> 2332 bytes libjava/classpath/lib/java/util/TimeZone$1.class | Bin 1026 -> 1026 bytes libjava/classpath/lib/java/util/TimeZone.class | Bin 31288 -> 31294 bytes .../classpath/lib/java/util/Timer$Scheduler.class | Bin 1292 -> 1312 bytes libjava/classpath/lib/java/util/Timer.class | Bin 4067 -> 4067 bytes libjava/classpath/lib/java/util/TreeMap$1.class | Bin 2442 -> 1557 bytes libjava/classpath/lib/java/util/TreeMap$2.class | Bin 1770 -> 1383 bytes libjava/classpath/lib/java/util/TreeMap$3.class | Bin 1318 -> 1087 bytes libjava/classpath/lib/java/util/TreeMap$4.class | Bin 1913 -> 1612 bytes libjava/classpath/lib/java/util/TreeMap$5.class | Bin 1456 -> 1310 bytes libjava/classpath/lib/java/util/TreeMap$6.class | Bin 938 -> 1401 bytes libjava/classpath/lib/java/util/TreeMap$7.class | Bin 0 -> 961 bytes .../lib/java/util/TreeMap$DescendingMap.class | Bin 0 -> 8707 bytes .../lib/java/util/TreeMap$DescendingSet.class | Bin 0 -> 6891 bytes .../classpath/lib/java/util/TreeMap$EntrySet.class | Bin 0 -> 2058 bytes .../classpath/lib/java/util/TreeMap$KeySet.class | Bin 0 -> 1717 bytes .../lib/java/util/TreeMap$NavigableEntrySet.class | Bin 0 -> 6005 bytes .../lib/java/util/TreeMap$NavigableKeySet.class | Bin 0 -> 4003 bytes libjava/classpath/lib/java/util/TreeMap$Node.class | Bin 976 -> 1025 bytes .../lib/java/util/TreeMap$SubMap$EntrySet.class | Bin 0 -> 2608 bytes .../lib/java/util/TreeMap$SubMap$KeySet.class | Bin 0 -> 2118 bytes .../util/TreeMap$SubMap$NavigableEntrySet.class | Bin 0 -> 6159 bytes .../java/util/TreeMap$SubMap$NavigableKeySet.class | Bin 0 -> 4202 bytes .../classpath/lib/java/util/TreeMap$SubMap.class | Bin 5456 -> 9314 bytes .../lib/java/util/TreeMap$TreeIterator.class | Bin 1805 -> 1790 bytes libjava/classpath/lib/java/util/TreeMap.class | Bin 13896 -> 18433 bytes libjava/classpath/lib/java/util/TreeSet.class | Bin 5980 -> 8019 bytes libjava/classpath/lib/java/util/VMTimeZone.class | Bin 3964 -> 3964 bytes libjava/classpath/lib/java/util/Vector$1.class | Bin 977 -> 977 bytes libjava/classpath/lib/java/util/Vector.class | Bin 10887 -> 10941 bytes .../classpath/lib/java/util/WeakHashMap$1.class | Bin 584 -> 584 bytes .../classpath/lib/java/util/WeakHashMap$2.class | Bin 2719 -> 2760 bytes .../util/WeakHashMap$WeakBucket$WeakEntry.class | Bin 2131 -> 2166 bytes .../lib/java/util/WeakHashMap$WeakBucket.class | Bin 1472 -> 1472 bytes .../lib/java/util/WeakHashMap$WeakEntrySet.class | Bin 880 -> 880 bytes libjava/classpath/lib/java/util/WeakHashMap.class | Bin 6368 -> 6388 bytes .../util/concurrent/AbstractExecutorService.class | Bin 8804 -> 8804 bytes .../util/concurrent/ArrayBlockingQueue$Itr.class | Bin 2191 -> 2191 bytes .../java/util/concurrent/ArrayBlockingQueue.class | Bin 9946 -> 9890 bytes .../ConcurrentHashMap$EntryIterator.class | Bin 1504 -> 1635 bytes .../concurrent/ConcurrentHashMap$EntrySet.class | Bin 1751 -> 1810 bytes .../concurrent/ConcurrentHashMap$HashEntry.class | Bin 1373 -> 1373 bytes .../ConcurrentHashMap$HashIterator.class | Bin 2413 -> 2451 bytes .../concurrent/ConcurrentHashMap$KeyIterator.class | Bin 1138 -> 1181 bytes .../util/concurrent/ConcurrentHashMap$KeySet.class | Bin 1274 -> 1296 bytes .../concurrent/ConcurrentHashMap$Segment.class | Bin 6776 -> 6796 bytes .../ConcurrentHashMap$ValueIterator.class | Bin 1146 -> 1189 bytes .../util/concurrent/ConcurrentHashMap$Values.class | Bin 1151 -> 1175 bytes .../ConcurrentHashMap$WriteThroughEntry.class | Bin 1272 -> 1321 bytes .../java/util/concurrent/ConcurrentHashMap.class | Bin 10684 -> 10700 bytes .../concurrent/ConcurrentLinkedQueue$Itr.class | Bin 1874 -> 1889 bytes .../concurrent/ConcurrentLinkedQueue$Node.class | Bin 3245 -> 3245 bytes .../util/concurrent/ConcurrentLinkedQueue.class | Bin 6269 -> 6269 bytes ...rentSkipListMap$ComparableUsingComparator.class | Bin 1303 -> 1303 bytes .../ConcurrentSkipListMap$EntryIterator.class | Bin 1420 -> 1568 bytes .../ConcurrentSkipListMap$EntrySet.class | Bin 3244 -> 3296 bytes .../ConcurrentSkipListMap$HeadIndex.class | Bin 1570 -> 1654 bytes .../concurrent/ConcurrentSkipListMap$Index.class | Bin 3030 -> 3045 bytes .../concurrent/ConcurrentSkipListMap$Iter.class | Bin 1873 -> 1892 bytes .../ConcurrentSkipListMap$KeyIterator.class | Bin 1106 -> 1136 bytes .../concurrent/ConcurrentSkipListMap$KeySet.class | Bin 6690 -> 6742 bytes .../concurrent/ConcurrentSkipListMap$Node.class | Bin 4161 -> 4219 bytes ...entSkipListMap$SubMap$SubMapEntryIterator.class | Bin 1564 -> 1718 bytes .../ConcurrentSkipListMap$SubMap$SubMapIter.class | Bin 2947 -> 2966 bytes ...rrentSkipListMap$SubMap$SubMapKeyIterator.class | Bin 1250 -> 1286 bytes ...entSkipListMap$SubMap$SubMapValueIterator.class | Bin 1090 -> 1111 bytes .../concurrent/ConcurrentSkipListMap$SubMap.class | Bin 18179 -> 18313 bytes .../ConcurrentSkipListMap$ValueIterator.class | Bin 946 -> 961 bytes .../concurrent/ConcurrentSkipListMap$Values.class | Bin 2209 -> 2226 bytes .../util/concurrent/ConcurrentSkipListMap.class | Bin 29603 -> 29644 bytes .../util/concurrent/ConcurrentSkipListSet.class | Bin 9070 -> 9128 bytes .../util/concurrent/CopyOnWriteArrayList.class | Bin 6845 -> 6853 bytes .../lib/java/util/concurrent/CyclicBarrier.class | Bin 3723 -> 3673 bytes .../lib/java/util/concurrent/DelayQueue$Itr.class | Bin 1914 -> 1904 bytes .../lib/java/util/concurrent/DelayQueue.class | Bin 8027 -> 7987 bytes .../lib/java/util/concurrent/Exchanger$Node.class | Bin 624 -> 624 bytes .../lib/java/util/concurrent/Exchanger$Slot.class | Bin 791 -> 791 bytes .../lib/java/util/concurrent/Exchanger.class | Bin 5987 -> 5987 bytes .../ExecutorCompletionService$QueueingFuture.class | Bin 1361 -> 1361 bytes .../concurrent/ExecutorCompletionService.class | Bin 4452 -> 4452 bytes .../lib/java/util/concurrent/Executors$1.class | Bin 1313 -> 1313 bytes .../lib/java/util/concurrent/Executors$2.class | Bin 2030 -> 2023 bytes .../lib/java/util/concurrent/Executors$3.class | Bin 1437 -> 1445 bytes .../lib/java/util/concurrent/Executors$4.class | Bin 1349 -> 1349 bytes .../lib/java/util/concurrent/Executors$5.class | Bin 867 -> 867 bytes .../lib/java/util/concurrent/Executors$6.class | Bin 951 -> 951 bytes ...ecutors$DelegatedScheduledExecutorService.class | Bin 2190 -> 2225 bytes ...utors$FinalizableDelegatedExecutorService.class | Bin 718 -> 753 bytes .../concurrent/Executors$PrivilegedCallable.class | Bin 2052 -> 2052 bytes ...PrivilegedCallableUsingCurrentClassLoader.class | Bin 2834 -> 2834 bytes .../Executors$PrivilegedThreadFactory.class | Bin 1674 -> 1705 bytes .../concurrent/Executors$RunnableAdapter.class | Bin 1067 -> 1067 bytes .../lib/java/util/concurrent/Executors.class | Bin 6410 -> 6410 bytes .../lib/java/util/concurrent/FutureTask.class | Bin 3262 -> 3262 bytes .../LinkedBlockingDeque$AbstractItr.class | Bin 1533 -> 1599 bytes .../LinkedBlockingDeque$DescendingItr.class | Bin 1589 -> 1626 bytes .../util/concurrent/LinkedBlockingDeque$Itr.class | Bin 1537 -> 1574 bytes .../util/concurrent/LinkedBlockingDeque$Node.class | Bin 1107 -> 1107 bytes .../java/util/concurrent/LinkedBlockingDeque.class | Bin 15659 -> 15499 bytes .../util/concurrent/LinkedBlockingQueue$Itr.class | Bin 3118 -> 3133 bytes .../util/concurrent/LinkedBlockingQueue$Node.class | Bin 792 -> 792 bytes .../java/util/concurrent/LinkedBlockingQueue.class | Bin 11808 -> 11788 bytes .../concurrent/PriorityBlockingQueue$Itr.class | Bin 1869 -> 1859 bytes .../util/concurrent/PriorityBlockingQueue.class | Bin 8073 -> 8033 bytes .../concurrent/ScheduledThreadPoolExecutor$1.class | Bin 1597 -> 1597 bytes ...eduledThreadPoolExecutor$DelayedWorkQueue.class | Bin 5234 -> 5234 bytes ...ledThreadPoolExecutor$ScheduledFutureTask.class | Bin 4323 -> 4323 bytes .../concurrent/ScheduledThreadPoolExecutor.class | Bin 9440 -> 9440 bytes .../java/util/concurrent/Semaphore$FairSync.class | Bin 962 -> 977 bytes .../util/concurrent/Semaphore$NonfairSync.class | Bin 657 -> 672 bytes .../lib/java/util/concurrent/Semaphore.class | Bin 3504 -> 3504 bytes .../SynchronousQueue$EmptyIterator.class | Bin 1052 -> 1052 bytes .../SynchronousQueue$FifoWaitQueue.class | Bin 600 -> 620 bytes .../SynchronousQueue$LifoWaitQueue.class | Bin 600 -> 620 bytes .../SynchronousQueue$TransferQueue.class | Bin 5213 -> 5234 bytes .../SynchronousQueue$TransferStack.class | Bin 5011 -> 5032 bytes .../java/util/concurrent/SynchronousQueue.class | Bin 6851 -> 6851 bytes .../java/util/concurrent/ThreadPoolExecutor.class | Bin 14974 -> 14974 bytes .../lib/java/util/concurrent/TimeUnit$1.class | Bin 1382 -> 1382 bytes .../lib/java/util/concurrent/TimeUnit$2.class | Bin 1414 -> 1414 bytes .../lib/java/util/concurrent/TimeUnit$3.class | Bin 1417 -> 1417 bytes .../lib/java/util/concurrent/TimeUnit$4.class | Bin 1440 -> 1440 bytes .../lib/java/util/concurrent/TimeUnit$5.class | Bin 1445 -> 1445 bytes .../lib/java/util/concurrent/TimeUnit$6.class | Bin 1468 -> 1468 bytes .../lib/java/util/concurrent/TimeUnit$7.class | Bin 1482 -> 1482 bytes .../lib/java/util/concurrent/TimeUnit.class | Bin 3823 -> 3823 bytes ...ieldUpdater$AtomicIntegerFieldUpdaterImpl.class | Bin 4605 -> 4671 bytes .../atomic/AtomicIntegerFieldUpdater.class | Bin 2744 -> 2744 bytes .../atomic/AtomicLongFieldUpdater$CASUpdater.class | Bin 4511 -> 4577 bytes .../AtomicLongFieldUpdater$LockedUpdater.class | Bin 4539 -> 4605 bytes .../concurrent/atomic/AtomicLongFieldUpdater.class | Bin 2909 -> 2909 bytes ...micMarkableReference$ReferenceBooleanPair.class | Bin 1189 -> 1189 bytes .../atomic/AtomicMarkableReference.class | Bin 3193 -> 3193 bytes ...ldUpdater$AtomicReferenceFieldUpdaterImpl.class | Bin 5338 -> 5404 bytes .../atomic/AtomicReferenceFieldUpdater.class | Bin 1995 -> 1995 bytes ...omicStampedReference$ReferenceIntegerPair.class | Bin 1186 -> 1186 bytes .../concurrent/atomic/AtomicStampedReference.class | Bin 3208 -> 3208 bytes ...actQueuedLongSynchronizer$ConditionObject.class | Bin 6818 -> 6833 bytes .../locks/AbstractQueuedLongSynchronizer.class | Bin 14442 -> 14458 bytes ...bstractQueuedSynchronizer$ConditionObject.class | Bin 6683 -> 6698 bytes .../locks/AbstractQueuedSynchronizer.class | Bin 14257 -> 14273 bytes .../concurrent/locks/ReentrantLock$FairSync.class | Bin 1304 -> 1319 bytes .../locks/ReentrantLock$NonfairSync.class | Bin 960 -> 975 bytes .../util/concurrent/locks/ReentrantLock$Sync.class | Bin 2389 -> 2415 bytes .../java/util/concurrent/locks/ReentrantLock.class | Bin 4600 -> 4685 bytes .../locks/ReentrantReadWriteLock$FairSync.class | Bin 837 -> 852 bytes .../locks/ReentrantReadWriteLock$NonfairSync.class | Bin 856 -> 871 bytes .../locks/ReentrantReadWriteLock$ReadLock.class | Bin 2473 -> 2488 bytes ...ReadWriteLock$Sync$ThreadLocalHoldCounter.class | Bin 1021 -> 1043 bytes .../locks/ReentrantReadWriteLock$Sync.class | Bin 5082 -> 5108 bytes .../locks/ReentrantReadWriteLock$WriteLock.class | Bin 2795 -> 2970 bytes .../concurrent/locks/ReentrantReadWriteLock.class | Bin 5343 -> 5428 bytes .../classpath/lib/java/util/jar/Attributes.class | Bin 3812 -> 3812 bytes libjava/classpath/lib/java/util/jar/JarEntry.class | Bin 1895 -> 1892 bytes .../java/util/jar/JarFile$EntryInputStream.class | Bin 5747 -> 5779 bytes .../lib/java/util/jar/JarFile$JarEnumeration.class | Bin 2148 -> 2148 bytes libjava/classpath/lib/java/util/jar/JarFile.class | Bin 14110 -> 14108 bytes .../lib/java/util/logging/LogManager$1.class | Bin 2265 -> 2265 bytes .../lib/java/util/logging/LogManager.class | Bin 13528 -> 13528 bytes .../classpath/lib/java/util/logging/Logger$1.class | Bin 588 -> 588 bytes .../classpath/lib/java/util/logging/Logger.class | Bin 12065 -> 12107 bytes .../java/util/prefs/AbstractPreferences$1.class | Bin 1009 -> 1009 bytes .../java/util/prefs/AbstractPreferences$2.class | Bin 1104 -> 1104 bytes .../lib/java/util/prefs/AbstractPreferences.class | Bin 15751 -> 16200 bytes .../lib/java/util/prefs/Preferences$1.class | Bin 1282 -> 1454 bytes .../lib/java/util/prefs/Preferences.class | Bin 5352 -> 5352 bytes .../classpath/lib/java/util/regex/Pattern.class | Bin 4266 -> 4324 bytes .../lib/java/util/spi/CurrencyNameProvider.class | Bin 0 -> 415 bytes .../lib/java/util/spi/LocaleNameProvider.class | Bin 0 -> 474 bytes .../lib/java/util/spi/LocaleServiceProvider.class | Bin 0 -> 374 bytes .../lib/java/util/spi/TimeZoneNameProvider.class | Bin 0 -> 422 bytes .../classpath/lib/java/util/zip/ZipFile$1.class | Bin 1024 -> 1024 bytes .../util/zip/ZipFile$ZipEntryEnumeration.class | Bin 1173 -> 1173 bytes libjava/classpath/lib/java/util/zip/ZipFile.class | Bin 7716 -> 7716 bytes .../lib/java/util/zip/ZipInputStream.class | Bin 6130 -> 6130 bytes .../activity/ActivityCompletedException.class | Bin 0 -> 742 bytes .../javax/activity/ActivityRequiredException.class | Bin 0 -> 739 bytes .../javax/activity/InvalidActivityException.class | Bin 0 -> 736 bytes .../lib/javax/crypto/CipherOutputStream.class | Bin 1742 -> 1769 bytes .../classpath/lib/javax/imageio/ImageIO$1.class | Bin 1187 -> 1187 bytes .../imageio/ImageIO$ImageReaderIterator.class | Bin 1779 -> 1779 bytes .../imageio/ImageIO$ImageWriterIterator.class | Bin 1779 -> 1779 bytes .../javax/imageio/ImageIO$ReaderFormatFilter.class | Bin 996 -> 1052 bytes .../imageio/ImageIO$ReaderMIMETypeFilter.class | Bin 996 -> 1052 bytes .../javax/imageio/ImageIO$ReaderObjectFilter.class | Bin 843 -> 899 bytes .../javax/imageio/ImageIO$ReaderSuffixFilter.class | Bin 994 -> 1050 bytes .../javax/imageio/ImageIO$TranscoderFilter.class | Bin 1392 -> 1448 bytes .../javax/imageio/ImageIO$WriterFormatFilter.class | Bin 996 -> 1052 bytes .../imageio/ImageIO$WriterMIMETypeFilter.class | Bin 996 -> 1052 bytes .../javax/imageio/ImageIO$WriterObjectFilter.class | Bin 1193 -> 1249 bytes .../javax/imageio/ImageIO$WriterSuffixFilter.class | Bin 994 -> 1050 bytes libjava/classpath/lib/javax/imageio/ImageIO.class | Bin 13182 -> 13284 bytes .../imageio/metadata/IIOMetadataFormatImpl$1.class | Bin 818 -> 818 bytes ...dataFormatImpl$IIOMetadataNodeAttrBounded.class | Bin 1379 -> 1409 bytes ...aFormatImpl$IIOMetadataNodeAttrEnumerated.class | Bin 1283 -> 1313 bytes ...etadataFormatImpl$IIOMetadataNodeAttrList.class | Bin 1187 -> 1217 bytes .../IIOMetadataFormatImpl$NodeObjectArray.class | Bin 1284 -> 1305 bytes .../IIOMetadataFormatImpl$NodeObjectBounded.class | Bin 1499 -> 1520 bytes ...IOMetadataFormatImpl$NodeObjectEnumerated.class | Bin 1253 -> 1274 bytes .../imageio/metadata/IIOMetadataFormatImpl.class | Bin 16110 -> 16110 bytes .../metadata/IIOMetadataNode$IIONamedNodeMap.class | Bin 2445 -> 2525 bytes .../javax/imageio/metadata/IIOMetadataNode.class | Bin 10716 -> 10796 bytes .../lib/javax/imageio/spi/IIORegistry.class | Bin 2596 -> 2761 bytes .../lib/javax/imageio/spi/ServiceRegistry$1.class | Bin 1076 -> 1076 bytes .../lib/javax/imageio/spi/ServiceRegistry$2.class | Bin 1168 -> 1225 bytes .../lib/javax/imageio/spi/ServiceRegistry.class | Bin 8702 -> 8693 bytes .../stream/FileCacheImageOutputStream.class | Bin 1740 -> 3099 bytes .../imageio/stream/ImageOutputStreamImpl.class | Bin 4842 -> 5705 bytes .../management/AttributeChangeNotification.class | Bin 0 -> 1386 bytes .../AttributeChangeNotificationFilter.class | Bin 0 -> 1646 bytes .../lib/javax/management/AttributeValueExp.class | Bin 0 -> 2392 bytes .../javax/management/DefaultLoaderRepository.class | Bin 0 -> 1974 bytes .../lib/javax/management/Descriptor.class | Bin 0 -> 766 bytes .../lib/javax/management/DescriptorAccess.class | Bin 0 -> 228 bytes .../lib/javax/management/DescriptorRead.class | Bin 0 -> 184 bytes libjava/classpath/lib/javax/management/JMX.class | Bin 0 -> 3004 bytes .../lib/javax/management/MBeanAttributeInfo.class | Bin 3515 -> 3579 bytes .../lib/javax/management/MBeanFeatureInfo.class | Bin 1654 -> 1925 bytes .../management/MBeanServerInvocationHandler.class | Bin 0 -> 6525 bytes .../classpath/lib/javax/management/MXBean.class | Bin 0 -> 434 bytes .../lib/javax/management/Notification.class | Bin 2790 -> 3137 bytes ...tificationBroadcasterSupport$DispatchTask.class | Bin 0 -> 1287 bytes .../NotificationBroadcasterSupport.class | Bin 0 -> 4524 bytes .../management/NotificationFilterSupport.class | Bin 0 -> 1857 bytes .../lib/javax/management/ObjectName.class | Bin 10576 -> 10625 bytes .../lib/javax/management/PersistentMBean.class | Bin 0 -> 340 bytes .../lib/javax/management/Query$AndQueryExp.class | Bin 0 -> 1080 bytes .../javax/management/Query$BetweenQueryExp.class | Bin 0 -> 1501 bytes .../javax/management/Query$BinaryOpValueExp.class | Bin 0 -> 2123 bytes .../javax/management/Query$BinaryRelQueryExp.class | Bin 0 -> 2219 bytes .../javax/management/Query$BooleanValueExp.class | Bin 0 -> 1111 bytes .../management/Query$ClassAttributeValueExp.class | Bin 0 -> 1691 bytes .../lib/javax/management/Query$InQueryExp.class | Bin 0 -> 1443 bytes .../management/Query$InstanceOfQueryExp.class | Bin 0 -> 1712 bytes .../lib/javax/management/Query$MatchQueryExp.class | Bin 0 -> 2516 bytes .../lib/javax/management/Query$NotQueryExp.class | Bin 0 -> 997 bytes .../javax/management/Query$NumericValueExp.class | Bin 0 -> 4515 bytes .../lib/javax/management/Query$OrQueryExp.class | Bin 0 -> 1077 bytes .../Query$QualifiedAttributeValueExp.class | Bin 0 -> 1815 bytes libjava/classpath/lib/javax/management/Query.class | Bin 0 -> 6495 bytes .../classpath/lib/javax/management/QueryEval.class | Bin 0 -> 1041 bytes .../lib/javax/management/StandardMBean.class | Bin 14615 -> 16898 bytes .../lib/javax/management/StringValueExp.class | Bin 0 -> 1435 bytes .../management/loading/ClassLoaderRepository.class | Bin 405 -> 550 bytes .../lib/javax/management/openmbean/ArrayType.class | Bin 3898 -> 9802 bytes .../javax/management/openmbean/CompositeData.class | Bin 545 -> 595 bytes .../openmbean/CompositeDataInvocationHandler.class | Bin 0 -> 2879 bytes .../openmbean/CompositeDataSupport.class | Bin 5405 -> 5699 bytes .../javax/management/openmbean/CompositeType.class | Bin 4543 -> 5171 bytes .../openmbean/OpenMBeanAttributeInfoSupport.class | Bin 7086 -> 8111 bytes .../openmbean/OpenMBeanOperationInfo.class | Bin 483 -> 548 bytes .../openmbean/OpenMBeanOperationInfoSupport.class | Bin 3539 -> 3841 bytes .../openmbean/OpenMBeanParameterInfo.class | Bin 651 -> 793 bytes .../openmbean/OpenMBeanParameterInfoSupport.class | Bin 6517 -> 7528 bytes .../lib/javax/management/openmbean/OpenType.class | Bin 2746 -> 3588 bytes .../javax/management/openmbean/SimpleType.class | Bin 3353 -> 4740 bytes .../javax/management/openmbean/TabularData.class | Bin 885 -> 966 bytes .../management/openmbean/TabularDataSupport.class | Bin 7234 -> 7765 bytes .../javax/management/openmbean/TabularType.class | Bin 3680 -> 3878 bytes .../classpath/lib/javax/naming/CompositeName.class | Bin 6437 -> 6538 bytes .../classpath/lib/javax/naming/CompoundName.class | Bin 9469 -> 9575 bytes .../lib/javax/naming/InitialContext.class | Bin 10044 -> 10254 bytes .../javax/naming/directory/BasicAttributes$1.class | Bin 0 -> 1606 bytes ...asicAttributes$BasicAttributesEnumeration.class | Bin 1671 -> 1837 bytes .../javax/naming/directory/BasicAttributes.class | Bin 4910 -> 5270 bytes .../lib/javax/naming/ldap/InitialLdapContext.class | Bin 2605 -> 2677 bytes .../lib/javax/naming/spi/DirectoryManager.class | Bin 5499 -> 5539 bytes .../lib/javax/net/ssl/KeyManagerFactory$1.class | Bin 717 -> 717 bytes .../lib/javax/net/ssl/KeyManagerFactory.class | Bin 4221 -> 4221 bytes .../classpath/lib/javax/net/ssl/SSLEngine.class | Bin 2522 -> 2657 bytes .../net/ssl/SSLEngineResult$HandshakeStatus.class | Bin 1388 -> 1388 bytes .../lib/javax/net/ssl/SSLEngineResult$Status.class | Bin 1265 -> 1265 bytes .../lib/javax/net/ssl/SSLEngineResult.class | Bin 2115 -> 2115 bytes ...verSocketFactory$ErrorServerSocketFactory.class | Bin 0 -> 1564 bytes .../lib/javax/net/ssl/SSLServerSocketFactory.class | Bin 2694 -> 2954 bytes .../ssl/SSLSocketFactory$ErrorSocketFactory.class | Bin 0 -> 2015 bytes .../lib/javax/net/ssl/SSLSocketFactory.class | Bin 2826 -> 3003 bytes .../lib/javax/net/ssl/TrustManagerFactory$1.class | Bin 727 -> 727 bytes .../lib/javax/net/ssl/TrustManagerFactory.class | Bin 4189 -> 4189 bytes libjava/classpath/lib/javax/print/DocFlavor.class | Bin 5538 -> 5570 bytes libjava/classpath/lib/javax/print/SimpleDoc.class | Bin 2719 -> 2841 bytes ...eSetUtilities$SynchronizedDocAttributeSet.class | Bin 776 -> 811 bytes ...tilities$SynchronizedPrintJobAttributeSet.class | Bin 806 -> 841 bytes ...ties$SynchronizedPrintRequestAttributeSet.class | Bin 830 -> 865 bytes ...ties$SynchronizedPrintServiceAttributeSet.class | Bin 830 -> 865 bytes ...eSetUtilities$UnmodifiableDocAttributeSet.class | Bin 776 -> 811 bytes ...tilities$UnmodifiablePrintJobAttributeSet.class | Bin 806 -> 841 bytes ...ties$UnmodifiablePrintRequestAttributeSet.class | Bin 830 -> 865 bytes ...ties$UnmodifiablePrintServiceAttributeSet.class | Bin 830 -> 865 bytes .../print/attribute/AttributeSetUtilities.class | Bin 4904 -> 4904 bytes .../print/attribute/SetOfIntegerSyntax$1.class | Bin 745 -> 745 bytes .../javax/print/attribute/SetOfIntegerSyntax.class | Bin 5008 -> 5008 bytes .../javax/print/attribute/standard/MediaSize.class | Bin 3575 -> 3575 bytes .../attribute/standard/PrinterStateReasons.class | Bin 3545 -> 3581 bytes .../auth/kerberos/DelegationPermission$1.class | Bin 1699 -> 1699 bytes .../auth/kerberos/DelegationPermission.class | Bin 1471 -> 1471 bytes .../auth/kerberos/ServicePermission$1.class | Bin 1681 -> 1681 bytes .../security/auth/kerberos/ServicePermission.class | Bin 2220 -> 2220 bytes .../security/auth/login/Configuration$1.class | Bin 747 -> 747 bytes .../javax/security/auth/login/Configuration.class | Bin 1789 -> 1789 bytes .../javax/security/auth/login/LoginContext.class | Bin 6202 -> 6258 bytes .../javax/security/auth/x500/X500Principal.class | Bin 11344 -> 11356 bytes .../lib/javax/sound/midi/MidiSystem.class | Bin 8221 -> 8292 bytes .../javax/sound/midi/spi/MidiDeviceProvider.class | Bin 927 -> 998 bytes .../lib/javax/sound/sampled/AudioFileFormat.class | Bin 2977 -> 2984 bytes .../lib/javax/sound/sampled/AudioFormat.class | Bin 3884 -> 3891 bytes .../lib/javax/sound/sampled/AudioSystem.class | Bin 11940 -> 12598 bytes .../javax/sound/sampled/BooleanControl$Type.class | Bin 659 -> 700 bytes .../lib/javax/sound/sampled/BooleanControl.class | Bin 1626 -> 1664 bytes .../javax/sound/sampled/CompoundControl$Type.class | Bin 476 -> 517 bytes .../lib/javax/sound/sampled/CompoundControl.class | Bin 1195 -> 1241 bytes .../lib/javax/sound/sampled/DataLine$Info.class | Bin 2896 -> 2934 bytes .../lib/javax/sound/sampled/EnumControl$Type.class | Bin 584 -> 625 bytes .../lib/javax/sound/sampled/EnumControl.class | Bin 1633 -> 1679 bytes .../javax/sound/sampled/FloatControl$Type.class | Bin 1080 -> 1121 bytes .../lib/javax/sound/sampled/FloatControl.class | Bin 2914 -> 2960 bytes .../classpath/lib/javax/sound/sampled/Line.class | Bin 683 -> 769 bytes .../classpath/lib/javax/sound/sampled/Mixer.class | Bin 995 -> 1038 bytes .../lib/javax/sound/sampled/Port$Info.class | Bin 2235 -> 2273 bytes .../javax/sound/sampled/spi/AudioFileWriter.class | Bin 1500 -> 1579 bytes .../sampled/spi/FormatConversionProvider.class | Bin 2222 -> 2264 bytes .../javax/sound/sampled/spi/MixerProvider.class | Bin 839 -> 908 bytes .../lib/javax/swing/AbstractButton$1.class | Bin 1793 -> 1793 bytes .../AbstractButton$AccessibleAbstractButton.class | Bin 8947 -> 9052 bytes .../AbstractButton$ButtonChangeListener.class | Bin 954 -> 977 bytes .../classpath/lib/javax/swing/AbstractButton.class | Bin 20618 -> 20618 bytes .../lib/javax/swing/Box$AccessibleBox.class | Bin 662 -> 719 bytes .../swing/Box$Filler$AccessibleBoxFiller.class | Bin 753 -> 810 bytes ...llRendererPane$AccessibleCellRendererPane.class | Bin 878 -> 935 bytes .../DefaultCellEditor$JCheckBoxDelegate.class | Bin 1387 -> 1412 bytes .../DefaultCellEditor$JComboBoxDelegate.class | Bin 1514 -> 1539 bytes .../DefaultCellEditor$JTextFieldDelegate.class | Bin 1367 -> 1392 bytes .../lib/javax/swing/DefaultCellEditor.class | Bin 3457 -> 3457 bytes .../lib/javax/swing/DefaultDesktopManager.class | Bin 7571 -> 7704 bytes .../classpath/lib/javax/swing/ImageIcon$1.class | Bin 372 -> 372 bytes libjava/classpath/lib/javax/swing/ImageIcon.class | Bin 4406 -> 4399 bytes .../javax/swing/JApplet$AccessibleJApplet.class | Bin 509 -> 560 bytes .../javax/swing/JButton$AccessibleJButton.class | Bin 753 -> 820 bytes .../swing/JCheckBox$AccessibleJCheckBox.class | Bin 770 -> 835 bytes ...ckBoxMenuItem$AccessibleJCheckBoxMenuItem.class | Bin 894 -> 951 bytes .../lib/javax/swing/JCheckBoxMenuItem.class | Bin 2645 -> 2704 bytes .../JColorChooser$AccessibleJColorChooser.class | Bin 865 -> 924 bytes .../classpath/lib/javax/swing/JComboBox$1.class | Bin 997 -> 997 bytes .../swing/JComboBox$AccessibleJComboBox.class | Bin 3980 -> 4039 bytes .../JComboBox$DefaultKeySelectionManager.class | Bin 1348 -> 1378 bytes libjava/classpath/lib/javax/swing/JComboBox.class | Bin 15989 -> 15989 bytes .../classpath/lib/javax/swing/JComponent$1.class | Bin 586 -> 586 bytes .../swing/JComponent$AccessibleJComponent.class | Bin 4520 -> 4577 bytes .../swing/JComponent$ActionListenerProxy.class | Bin 1101 -> 1101 bytes libjava/classpath/lib/javax/swing/JComponent.class | Bin 36725 -> 36587 bytes .../JDesktopPane$AccessibleJDesktopPane.class | Bin 855 -> 914 bytes .../javax/swing/JDialog$AccessibleJDialog.class | Bin 506 -> 557 bytes .../classpath/lib/javax/swing/JEditorPane$1.class | Bin 914 -> 914 bytes .../classpath/lib/javax/swing/JEditorPane$2.class | Bin 971 -> 971 bytes .../swing/JEditorPane$AccessibleJEditorPane.class | Bin 999 -> 1071 bytes .../JEditorPane$AccessibleJEditorPaneHTML.class | Bin 738 -> 818 bytes ...orPaneAccessibleHypertextSupport$HTMLLink.class | Bin 3759 -> 3779 bytes ...ane$JEditorPaneAccessibleHypertextSupport.class | Bin 3232 -> 3329 bytes .../lib/javax/swing/JEditorPane$PageLoader.class | Bin 2158 -> 2172 bytes .../javax/swing/JEditorPane$PlainEditorKit.class | Bin 674 -> 674 bytes .../classpath/lib/javax/swing/JEditorPane.class | Bin 12028 -> 12028 bytes .../classpath/lib/javax/swing/JFileChooser$1.class | Bin 744 -> 744 bytes .../JFileChooser$AccessibleJFileChooser.class | Bin 791 -> 850 bytes .../classpath/lib/javax/swing/JFileChooser.class | Bin 18403 -> 18403 bytes ...rmattedTextField$AbstractFormatterFactory.class | Bin 567 -> 650 bytes .../lib/javax/swing/JFrame$AccessibleJFrame.class | Bin 494 -> 543 bytes .../JInternalFrame$AccessibleJInternalFrame.class | Bin 1792 -> 1851 bytes ...Frame$JDesktopIcon$AccessibleJDesktopIcon.class | Bin 1831 -> 1890 bytes .../lib/javax/swing/JLabel$AccessibleJLabel.class | Bin 5379 -> 5484 bytes .../JLayeredPane$AccessibleJLayeredPane.class | Bin 791 -> 850 bytes libjava/classpath/lib/javax/swing/JList$1.class | Bin 790 -> 790 bytes libjava/classpath/lib/javax/swing/JList$2.class | Bin 846 -> 846 bytes libjava/classpath/lib/javax/swing/JList$3.class | Bin 829 -> 829 bytes .../lib/javax/swing/JList$AccessibleJList.class | Bin 4910 -> 4969 bytes libjava/classpath/lib/javax/swing/JList.class | Bin 18892 -> 18938 bytes .../lib/javax/swing/JMenu$AccessibleJMenu.class | Bin 3677 -> 3707 bytes libjava/classpath/lib/javax/swing/JMenu.class | Bin 14040 -> 14060 bytes .../javax/swing/JMenuBar$AccessibleJMenuBar.class | Bin 2223 -> 2282 bytes .../classpath/lib/javax/swing/JMenuItem$1.class | Bin 997 -> 997 bytes .../swing/JMenuItem$AccessibleJMenuItem.class | Bin 2194 -> 2261 bytes libjava/classpath/lib/javax/swing/JMenuItem.class | Bin 10317 -> 10317 bytes .../classpath/lib/javax/swing/JOptionPane$1.class | Bin 441 -> 441 bytes .../classpath/lib/javax/swing/JOptionPane$2.class | Bin 447 -> 447 bytes .../swing/JOptionPane$AccessibleJOptionPane.class | Bin 845 -> 904 bytes .../classpath/lib/javax/swing/JOptionPane.class | Bin 17932 -> 17925 bytes .../lib/javax/swing/JPanel$AccessibleJPanel.class | Bin 730 -> 789 bytes .../JPasswordField$AccessibleJPasswordField.class | Bin 874 -> 933 bytes .../classpath/lib/javax/swing/JPopupMenu$1.class | Bin 592 -> 592 bytes .../classpath/lib/javax/swing/JPopupMenu$2.class | Bin 639 -> 639 bytes .../swing/JPopupMenu$AccessibleJPopupMenu.class | Bin 835 -> 894 bytes libjava/classpath/lib/javax/swing/JPopupMenu.class | Bin 12623 -> 12623 bytes .../classpath/lib/javax/swing/JProgressBar$1.class | Bin 780 -> 780 bytes .../JProgressBar$AccessibleJProgressBar.class | Bin 2399 -> 2458 bytes .../classpath/lib/javax/swing/JProgressBar.class | Bin 7973 -> 7973 bytes .../JRadioButton$AccessibleJRadioButton.class | Bin 864 -> 929 bytes ...onMenuItem$AccessibleJRadioButtonMenuItem.class | Bin 924 -> 981 bytes .../lib/javax/swing/JRadioButtonMenuItem.class | Bin 2374 -> 2433 bytes .../swing/JRootPane$AccessibleJRootPane.class | Bin 825 -> 884 bytes .../swing/JScrollBar$AccessibleJScrollBar.class | Bin 2501 -> 2560 bytes libjava/classpath/lib/javax/swing/JScrollBar.class | Bin 7898 -> 7894 bytes .../swing/JScrollPane$AccessibleJScrollPane.class | Bin 1495 -> 1554 bytes .../swing/JSeparator$AccessibleJSeparator.class | Bin 834 -> 893 bytes libjava/classpath/lib/javax/swing/JSlider$1.class | Bin 750 -> 750 bytes .../javax/swing/JSlider$AccessibleJSlider.class | Bin 2348 -> 2407 bytes libjava/classpath/lib/javax/swing/JSlider.class | Bin 11001 -> 11001 bytes .../lib/javax/swing/JSpinner$DateEditor.class | Bin 2032 -> 2266 bytes .../lib/javax/swing/JSpinner$ListEditor.class | Bin 693 -> 717 bytes .../lib/javax/swing/JSpinner$NumberEditor.class | Bin 2057 -> 2293 bytes libjava/classpath/lib/javax/swing/JSpinner.class | Bin 4828 -> 4828 bytes .../swing/JSplitPane$AccessibleJSplitPane.class | Bin 2425 -> 2484 bytes .../swing/JTabbedPane$AccessibleJTabbedPane.class | Bin 3122 -> 3196 bytes ...le$AccessibleJTable$AccessibleTableHeader.class | Bin 4585 -> 4622 bytes .../lib/javax/swing/JTable$AccessibleJTable.class | Bin 13524 -> 13583 bytes libjava/classpath/lib/javax/swing/JTable.class | Bin 37074 -> 37074 bytes .../swing/JTextArea$AccessibleJTextArea.class | Bin 768 -> 840 bytes .../classpath/lib/javax/swing/JTextField$1.class | Bin 791 -> 791 bytes .../classpath/lib/javax/swing/JTextField$2.class | Bin 1275 -> 1275 bytes .../swing/JTextField$AccessibleJTextField.class | Bin 841 -> 913 bytes libjava/classpath/lib/javax/swing/JTextField.class | Bin 8146 -> 8146 bytes .../JToggleButton$AccessibleJToggleButton.class | Bin 1479 -> 1546 bytes .../javax/swing/JToolBar$AccessibleJToolBar.class | Bin 955 -> 1014 bytes .../javax/swing/JToolTip$AccessibleJToolTip.class | Bin 1019 -> 1078 bytes libjava/classpath/lib/javax/swing/JToolTip.class | Bin 2448 -> 2448 bytes .../lib/javax/swing/JTree$AccessibleJTree.class | Bin 4836 -> 4895 bytes libjava/classpath/lib/javax/swing/JTree.class | Bin 29327 -> 29373 bytes .../swing/JViewport$AccessibleJViewport.class | Bin 760 -> 819 bytes libjava/classpath/lib/javax/swing/JViewport.class | Bin 12807 -> 12870 bytes .../javax/swing/JWindow$AccessibleJWindow.class | Bin 506 -> 557 bytes .../lib/javax/swing/KeyboardManager.class | Bin 4273 -> 4267 bytes .../classpath/lib/javax/swing/LookAndFeel$1.class | Bin 852 -> 900 bytes .../classpath/lib/javax/swing/LookAndFeel.class | Bin 5733 -> 5791 bytes .../classpath/lib/javax/swing/PopupFactory.class | Bin 1903 -> 1999 bytes .../lib/javax/swing/ProgressMonitor$1.class | Bin 742 -> 742 bytes .../lib/javax/swing/ProgressMonitor.class | Bin 3912 -> 3912 bytes .../classpath/lib/javax/swing/RepaintManager.class | Bin 9873 -> 9873 bytes libjava/classpath/lib/javax/swing/Spring$1.class | Bin 1114 -> 1114 bytes libjava/classpath/lib/javax/swing/Spring$2.class | Bin 1218 -> 1218 bytes libjava/classpath/lib/javax/swing/Spring$3.class | Bin 1218 -> 1218 bytes libjava/classpath/lib/javax/swing/Spring.class | Bin 2675 -> 2675 bytes .../javax/swing/SpringLayout$DeferredHeight.class | Bin 1175 -> 1203 bytes .../javax/swing/SpringLayout$DeferredSpring.class | Bin 1875 -> 1897 bytes .../javax/swing/SpringLayout$DeferredWidth.class | Bin 1169 -> 1197 bytes .../classpath/lib/javax/swing/SpringLayout.class | Bin 5789 -> 5789 bytes .../classpath/lib/javax/swing/SwingUtilities.class | Bin 19713 -> 19721 bytes libjava/classpath/lib/javax/swing/Timer$1.class | Bin 557 -> 557 bytes libjava/classpath/lib/javax/swing/Timer.class | Bin 4981 -> 4981 bytes .../classpath/lib/javax/swing/ToolTipManager.class | Bin 7320 -> 7320 bytes .../TransferHandler$PropertyTransferable.class | Bin 2735 -> 2735 bytes ...ransferHandler$SwingDragGestureRecognizer.class | Bin 0 -> 1463 bytes .../swing/TransferHandler$SwingDragHandler.class | Bin 0 -> 2689 bytes .../swing/TransferHandler$TransferAction.class | Bin 2022 -> 2022 bytes .../lib/javax/swing/TransferHandler.class | Bin 6249 -> 6903 bytes .../classpath/lib/javax/swing/UIDefaults$1.class | Bin 1211 -> 1231 bytes .../classpath/lib/javax/swing/UIDefaults$2.class | Bin 1308 -> 1328 bytes .../classpath/lib/javax/swing/UIDefaults$3.class | Bin 1379 -> 1399 bytes .../classpath/lib/javax/swing/UIDefaults$4.class | Bin 1477 -> 1497 bytes .../lib/javax/swing/UIDefaults$LazyInputMap.class | Bin 1156 -> 1176 bytes .../javax/swing/UIDefaults$ProxyLazyValue.class | Bin 2228 -> 2248 bytes libjava/classpath/lib/javax/swing/UIDefaults.class | Bin 9901 -> 9901 bytes .../colorchooser/DefaultHSBChooserPanel$1.class | Bin 1434 -> 1434 bytes .../colorchooser/DefaultHSBChooserPanel$2.class | Bin 1077 -> 1077 bytes .../colorchooser/DefaultHSBChooserPanel.class | Bin 9940 -> 9940 bytes ...DefaultSwatchChooserPanel$MainSwatchPanel.class | Bin 7923 -> 7945 bytes .../DefaultSwatchChooserPanel$MouseHandler.class | Bin 1620 -> 1670 bytes ...faultSwatchChooserPanel$RecentSwatchPanel.class | Bin 2954 -> 2976 bytes .../colorchooser/DefaultSwatchChooserPanel.class | Bin 3119 -> 3119 bytes .../classpath/lib/javax/swing/plaf/TextUI.class | Bin 1455 -> 1560 bytes .../basic/BasicBorders$RadioButtonBorder.class | Bin 2394 -> 2417 bytes .../basic/BasicBorders$RolloverButtonBorder.class | Bin 1786 -> 1809 bytes .../BasicBorders$SplitPaneDividerBorder.class | Bin 2559 -> 2563 bytes .../basic/BasicBorders$ToggleButtonBorder.class | Bin 1704 -> 1727 bytes .../lib/javax/swing/plaf/basic/BasicBorders.class | Bin 4045 -> 4182 bytes .../swing/plaf/basic/BasicButtonListener$1.class | Bin 1175 -> 1175 bytes .../swing/plaf/basic/BasicButtonListener$2.class | Bin 1175 -> 1175 bytes .../swing/plaf/basic/BasicButtonListener.class | Bin 6685 -> 6685 bytes .../swing/plaf/basic/BasicColorChooserUI$1.class | Bin 924 -> 924 bytes .../swing/plaf/basic/BasicColorChooserUI.class | Bin 4904 -> 4904 bytes .../BasicComboBoxUI$ComboBoxLayoutManager.class | Bin 2168 -> 2086 bytes .../plaf/basic/BasicComboBoxUI$FocusHandler.class | Bin 1191 -> 1191 bytes .../plaf/basic/BasicComboBoxUI$ItemHandler.class | Bin 1308 -> 1308 bytes .../plaf/basic/BasicComboBoxUI$KeyHandler.class | Bin 1593 -> 1593 bytes .../basic/BasicComboBoxUI$ListDataHandler.class | Bin 3136 -> 3136 bytes .../BasicComboBoxUI$PropertyChangeHandler.class | Bin 2581 -> 2868 bytes .../javax/swing/plaf/basic/BasicComboBoxUI.class | Bin 16273 -> 16210 bytes .../BasicComboPopup$InvocationKeyHandler.class | Bin 734 -> 734 bytes .../BasicComboPopup$InvocationMouseHandler.class | Bin 2308 -> 2308 bytes ...icComboPopup$InvocationMouseMotionHandler.class | Bin 1954 -> 1954 bytes .../plaf/basic/BasicComboPopup$ItemHandler.class | Bin 1152 -> 1152 bytes .../basic/BasicComboPopup$ListDataHandler.class | Bin 940 -> 940 bytes .../basic/BasicComboPopup$ListMouseHandler.class | Bin 1081 -> 1081 bytes .../BasicComboPopup$ListMouseMotionHandler.class | Bin 1296 -> 1296 bytes .../BasicComboPopup$ListSelectionHandler.class | Bin 799 -> 799 bytes .../BasicComboPopup$PropertyChangeHandler.class | Bin 1878 -> 1878 bytes .../javax/swing/plaf/basic/BasicComboPopup.class | Bin 14150 -> 13949 bytes .../swing/plaf/basic/BasicDesktopIconUI$1.class | Bin 1713 -> 1758 bytes .../swing/plaf/basic/BasicDesktopIconUI$2.class | Bin 814 -> 814 bytes .../basic/BasicDesktopIconUI$BoundButton.class | Bin 1306 -> 1361 bytes .../BasicDesktopIconUI$MouseInputHandler.class | Bin 2401 -> 2424 bytes .../swing/plaf/basic/BasicDesktopIconUI.class | Bin 4991 -> 5014 bytes .../swing/plaf/basic/BasicDirectoryModel$1.class | Bin 856 -> 856 bytes .../swing/plaf/basic/BasicDirectoryModel.class | Bin 5555 -> 5555 bytes .../swing/plaf/basic/BasicFileChooserUI.class | Bin 13666 -> 13714 bytes .../swing/plaf/basic/BasicGraphicsUtils.class | Bin 8236 -> 8276 bytes .../swing/plaf/basic/BasicHTML$HTMLRootView.class | Bin 4406 -> 4488 bytes .../swing/plaf/basic/BasicIconFactory$1.class | Bin 1221 -> 1221 bytes .../swing/plaf/basic/BasicIconFactory$2.class | Bin 1188 -> 1188 bytes .../javax/swing/plaf/basic/BasicIconFactory.class | Bin 1847 -> 1847 bytes .../plaf/basic/BasicInternalFrameTitlePane.class | Bin 10171 -> 10171 bytes .../swing/plaf/basic/BasicInternalFrameUI.class | Bin 12010 -> 12010 bytes .../javax/swing/plaf/basic/BasicLabelUI$1.class | Bin 1068 -> 1068 bytes .../lib/javax/swing/plaf/basic/BasicLabelUI.class | Bin 9298 -> 9591 bytes .../lib/javax/swing/plaf/basic/BasicListUI.class | Bin 15521 -> 15521 bytes .../swing/plaf/basic/BasicLookAndFeel$1.class | Bin 920 -> 968 bytes .../swing/plaf/basic/BasicLookAndFeel$2.class | Bin 913 -> 961 bytes .../swing/plaf/basic/BasicLookAndFeel$3.class | Bin 918 -> 966 bytes .../swing/plaf/basic/BasicLookAndFeel$4.class | Bin 921 -> 969 bytes .../swing/plaf/basic/BasicLookAndFeel$5.class | Bin 1557 -> 1679 bytes .../swing/plaf/basic/BasicLookAndFeel$6.class | Bin 996 -> 1044 bytes .../swing/plaf/basic/BasicLookAndFeel$7.class | Bin 916 -> 964 bytes .../javax/swing/plaf/basic/BasicLookAndFeel.class | Bin 54628 -> 54909 bytes .../javax/swing/plaf/basic/BasicMenuBarUI.class | Bin 5909 -> 5909 bytes .../javax/swing/plaf/basic/BasicMenuItemUI.class | Bin 17650 -> 17650 bytes .../lib/javax/swing/plaf/basic/BasicMenuUI.class | Bin 6078 -> 6110 bytes .../swing/plaf/basic/BasicOptionPaneUI$1.class | Bin 1325 -> 1347 bytes .../swing/plaf/basic/BasicOptionPaneUI$2.class | Bin 1389 -> 1411 bytes .../swing/plaf/basic/BasicOptionPaneUI$3.class | Bin 1406 -> 1428 bytes .../swing/plaf/basic/BasicOptionPaneUI$4.class | Bin 1282 -> 1304 bytes .../javax/swing/plaf/basic/BasicOptionPaneUI.class | Bin 14568 -> 14568 bytes .../plaf/basic/BasicPopupMenuSeparatorUI.class | Bin 1533 -> 1604 bytes .../basic/BasicPopupMenuUI$PopupMenuHandler.class | Bin 2391 -> 2482 bytes .../javax/swing/plaf/basic/BasicPopupMenuUI.class | Bin 6526 -> 6526 bytes .../swing/plaf/basic/BasicProgressBarUI.class | Bin 13071 -> 13071 bytes .../swing/plaf/basic/BasicRadioButtonUI.class | Bin 5547 -> 5736 bytes .../swing/plaf/basic/BasicScrollBarUI$1.class | Bin 1190 -> 1190 bytes .../swing/plaf/basic/BasicScrollBarUI$2.class | Bin 1191 -> 1191 bytes .../swing/plaf/basic/BasicScrollBarUI$3.class | Bin 1190 -> 1190 bytes .../swing/plaf/basic/BasicScrollBarUI$4.class | Bin 1191 -> 1191 bytes .../swing/plaf/basic/BasicScrollBarUI$5.class | Bin 1122 -> 1122 bytes .../swing/plaf/basic/BasicScrollBarUI$6.class | Bin 1122 -> 1122 bytes .../BasicScrollBarUI$ArrowButtonListener.class | Bin 1555 -> 1580 bytes .../BasicScrollBarUI$PropertyChangeHandler.class | Bin 2087 -> 2170 bytes .../basic/BasicScrollBarUI$ScrollListener.class | Bin 1651 -> 1675 bytes .../basic/BasicScrollBarUI$TrackListener.class | Bin 3012 -> 3037 bytes .../javax/swing/plaf/basic/BasicScrollBarUI.class | Bin 16908 -> 16908 bytes .../swing/plaf/basic/BasicScrollPaneUI$1.class | Bin 1344 -> 1344 bytes .../swing/plaf/basic/BasicScrollPaneUI$10.class | Bin 1345 -> 1345 bytes .../swing/plaf/basic/BasicScrollPaneUI$2.class | Bin 1359 -> 1359 bytes .../swing/plaf/basic/BasicScrollPaneUI$3.class | Bin 1341 -> 1341 bytes .../swing/plaf/basic/BasicScrollPaneUI$4.class | Bin 1343 -> 1343 bytes .../swing/plaf/basic/BasicScrollPaneUI$5.class | Bin 1342 -> 1342 bytes .../swing/plaf/basic/BasicScrollPaneUI$6.class | Bin 1344 -> 1344 bytes .../swing/plaf/basic/BasicScrollPaneUI$7.class | Bin 1359 -> 1359 bytes .../swing/plaf/basic/BasicScrollPaneUI$8.class | Bin 1342 -> 1342 bytes .../swing/plaf/basic/BasicScrollPaneUI$9.class | Bin 1341 -> 1341 bytes .../javax/swing/plaf/basic/BasicScrollPaneUI.class | Bin 10659 -> 10659 bytes .../javax/swing/plaf/basic/BasicSliderUI$1.class | Bin 1165 -> 1165 bytes .../javax/swing/plaf/basic/BasicSliderUI$2.class | Bin 1165 -> 1165 bytes .../javax/swing/plaf/basic/BasicSliderUI$3.class | Bin 1166 -> 1166 bytes .../javax/swing/plaf/basic/BasicSliderUI$4.class | Bin 1166 -> 1166 bytes .../javax/swing/plaf/basic/BasicSliderUI$5.class | Bin 1142 -> 1142 bytes .../javax/swing/plaf/basic/BasicSliderUI$6.class | Bin 1142 -> 1142 bytes .../plaf/basic/BasicSliderUI$ScrollListener.class | Bin 1574 -> 1598 bytes .../lib/javax/swing/plaf/basic/BasicSliderUI.class | Bin 25517 -> 25517 bytes .../javax/swing/plaf/basic/BasicSpinnerUI$1.class | Bin 1216 -> 1216 bytes .../javax/swing/plaf/basic/BasicSpinnerUI$2.class | Bin 1703 -> 1703 bytes .../javax/swing/plaf/basic/BasicSpinnerUI$3.class | Bin 784 -> 784 bytes .../javax/swing/plaf/basic/BasicSpinnerUI$4.class | Bin 1711 -> 1711 bytes .../javax/swing/plaf/basic/BasicSpinnerUI$5.class | Bin 784 -> 784 bytes .../javax/swing/plaf/basic/BasicSpinnerUI.class | Bin 4321 -> 4345 bytes .../basic/BasicSplitPaneDivider$MouseHandler.class | Bin 1691 -> 1749 bytes ...icSplitPaneDivider$VerticalDragController.class | Bin 1197 -> 1222 bytes .../swing/plaf/basic/BasicSplitPaneDivider.class | Bin 7162 -> 7162 bytes .../swing/plaf/basic/BasicSplitPaneUI$1.class | Bin 855 -> 855 bytes .../swing/plaf/basic/BasicSplitPaneUI$2.class | Bin 977 -> 977 bytes .../swing/plaf/basic/BasicSplitPaneUI$3.class | Bin 985 -> 985 bytes .../swing/plaf/basic/BasicSplitPaneUI$4.class | Bin 985 -> 985 bytes .../swing/plaf/basic/BasicSplitPaneUI$5.class | Bin 1182 -> 1182 bytes .../swing/plaf/basic/BasicSplitPaneUI$6.class | Bin 1182 -> 1182 bytes .../swing/plaf/basic/BasicSplitPaneUI$7.class | Bin 855 -> 855 bytes .../swing/plaf/basic/BasicSplitPaneUI$8.class | Bin 855 -> 855 bytes ...sicSplitPaneUI$BasicVerticalLayoutManager.class | Bin 701 -> 740 bytes .../basic/BasicSplitPaneUI$PropertyHandler.class | Bin 1987 -> 2026 bytes .../javax/swing/plaf/basic/BasicSplitPaneUI.class | Bin 14032 -> 14032 bytes .../basic/BasicTabbedPaneUI$FocusHandler.class | Bin 1350 -> 1436 bytes .../basic/BasicTabbedPaneUI$MouseHandler.class | Bin 4164 -> 4304 bytes .../BasicTabbedPaneUI$PropertyChangeHandler.class | Bin 2309 -> 2397 bytes .../BasicTabbedPaneUI$TabbedPaneScrollLayout.class | Bin 6417 -> 6498 bytes .../javax/swing/plaf/basic/BasicTabbedPaneUI.class | Bin 32391 -> 32391 bytes .../swing/plaf/basic/BasicTableHeaderUI$1.class | Bin 1270 -> 1270 bytes .../BasicTableHeaderUI$MouseInputHandler.class | Bin 5270 -> 5270 bytes .../lib/javax/swing/plaf/basic/BasicTableUI.class | Bin 11558 -> 11558 bytes .../swing/plaf/basic/BasicTextUI$Handler.class | Bin 2400 -> 2419 bytes .../swing/plaf/basic/BasicTextUI$RootView.class | Bin 4656 -> 4738 bytes .../lib/javax/swing/plaf/basic/BasicTextUI.class | Bin 17718 -> 17826 bytes .../basic/BasicToolBarUI$DockingListener.class | Bin 2955 -> 2976 bytes .../javax/swing/plaf/basic/BasicToolBarUI.class | Bin 16635 -> 16658 bytes .../lib/javax/swing/plaf/basic/BasicTreeUI$1.class | Bin 1001 -> 1001 bytes .../plaf/basic/BasicTreeUI$CellEditorHandler.class | Bin 901 -> 901 bytes .../plaf/basic/BasicTreeUI$ComponentHandler.class | Bin 2143 -> 2143 bytes .../plaf/basic/BasicTreeUI$FocusHandler.class | Bin 1242 -> 1242 bytes .../swing/plaf/basic/BasicTreeUI$KeyHandler.class | Bin 2114 -> 2114 bytes .../plaf/basic/BasicTreeUI$MouseHandler.class | Bin 2514 -> 2514 bytes .../plaf/basic/BasicTreeUI$MouseInputHandler.class | Bin 2338 -> 2338 bytes .../basic/BasicTreeUI$NodeDimensionsHandler.class | Bin 2351 -> 2418 bytes .../basic/BasicTreeUI$PropertyChangeHandler.class | Bin 2241 -> 2241 bytes ...reeUI$SelectionModelPropertyChangeHandler.class | Bin 966 -> 966 bytes .../BasicTreeUI$TreeCancelEditingAction.class | Bin 987 -> 987 bytes .../basic/BasicTreeUI$TreeExpansionHandler.class | Bin 1477 -> 1477 bytes .../plaf/basic/BasicTreeUI$TreeHomeAction.class | Bin 2637 -> 2637 bytes .../basic/BasicTreeUI$TreeIncrementAction.class | Bin 3035 -> 3035 bytes .../plaf/basic/BasicTreeUI$TreeModelHandler.class | Bin 1898 -> 1898 bytes .../plaf/basic/BasicTreeUI$TreePageAction.class | Bin 3700 -> 3700 bytes .../basic/BasicTreeUI$TreeSelectionHandler.class | Bin 1558 -> 1558 bytes .../basic/BasicTreeUI$TreeStartEditingAction.class | Bin 1115 -> 1115 bytes .../plaf/basic/BasicTreeUI$TreeToggleAction.class | Bin 1673 -> 1673 bytes .../basic/BasicTreeUI$TreeTraverseAction.class | Bin 2504 -> 2504 bytes .../lib/javax/swing/plaf/basic/BasicTreeUI.class | Bin 37315 -> 37502 bytes .../metal/MetalBorders$RolloverButtonBorder.class | Bin 760 -> 783 bytes .../plaf/metal/MetalBorders$TextFieldBorder.class | Bin 1378 -> 1402 bytes .../metal/MetalBorders$ToggleButtonBorder.class | Bin 2043 -> 2066 bytes .../lib/javax/swing/plaf/metal/MetalBorders.class | Bin 3427 -> 3565 bytes .../lib/javax/swing/plaf/metal/MetalButtonUI.class | Bin 4967 -> 4883 bytes .../javax/swing/plaf/metal/MetalCheckBoxIcon.class | Bin 2082 -> 2169 bytes .../swing/plaf/metal/MetalComboBoxEditor.class | Bin 1094 -> 1094 bytes ...etalComboBoxUI$MetalComboBoxLayoutManager.class | Bin 1060 -> 1136 bytes .../metal/MetalComboBoxUI$MetalComboPopup.class | Bin 866 -> 866 bytes ...talComboBoxUI$MetalPropertyChangeListener.class | Bin 2089 -> 2165 bytes .../javax/swing/plaf/metal/MetalComboBoxUI.class | Bin 5757 -> 5760 bytes ...etalFileChooserUI$DirectoryComboBoxAction.class | Bin 1224 -> 1257 bytes ...alFileChooserUI$DirectoryComboBoxRenderer.class | Bin 1992 -> 2046 bytes ...UI$MetalFileChooserPropertyChangeListener.class | Bin 7109 -> 7139 bytes .../swing/plaf/metal/MetalFileChooserUI.class | Bin 19113 -> 19114 bytes .../swing/plaf/metal/MetalIconFactory$1.class | Bin 1188 -> 1188 bytes .../swing/plaf/metal/MetalIconFactory$2.class | Bin 1192 -> 1192 bytes .../swing/plaf/metal/MetalIconFactory$3.class | Bin 1221 -> 1221 bytes .../MetalIconFactory$FileChooserUpFolderIcon.class | Bin 1204 -> 1239 bytes .../metal/MetalIconFactory$TreeFolderIcon.class | Bin 637 -> 660 bytes .../plaf/metal/MetalIconFactory$TreeLeafIcon.class | Bin 629 -> 650 bytes .../javax/swing/plaf/metal/MetalIconFactory.class | Bin 6422 -> 6422 bytes ...ternalFrameTitlePanePropertyChangeHandler.class | Bin 1838 -> 1926 bytes .../swing/plaf/metal/MetalInternalFrameUI$1.class | Bin 1205 -> 1205 bytes .../swing/plaf/metal/MetalInternalFrameUI.class | Bin 2982 -> 3077 bytes .../swing/plaf/metal/MetalLookAndFeel$1.class | Bin 916 -> 964 bytes .../javax/swing/plaf/metal/MetalLookAndFeel.class | Bin 30873 -> 31116 bytes .../javax/swing/plaf/metal/MetalMenuBarUI.class | Bin 1225 -> 1223 bytes .../metal/MetalRootPaneUI$MetalRootLayout.class | Bin 4344 -> 4369 bytes ...etalRootPaneUI$MetalTitlePane$CloseAction.class | Bin 1617 -> 1621 bytes .../metal/MetalRootPaneUI$MetalTitlePane.class | Bin 8217 -> 8217 bytes .../javax/swing/plaf/metal/MetalRootPaneUI.class | Bin 3207 -> 3207 bytes ...BarUI$MetalScrollBarPropertyChangeHandler.class | Bin 1557 -> 1634 bytes .../MetalSliderUI$MetalPropertyListener.class | Bin 1242 -> 1316 bytes .../metal/MetalTabbedPaneUI$TabbedPaneLayout.class | Bin 1097 -> 1151 bytes .../MetalToolBarUI$MetalContainerListener.class | Bin 662 -> 735 bytes .../MetalToolBarUI$MetalDockingListener.class | Bin 1188 -> 1257 bytes .../MetalToolBarUI$MetalRolloverListener.class | Bin 656 -> 726 bytes .../javax/swing/plaf/metal/MetalToolBarUI.class | Bin 3159 -> 3180 bytes .../lib/javax/swing/plaf/metal/MetalUtils.class | Bin 7703 -> 7774 bytes .../lib/javax/swing/plaf/metal/OceanTheme.class | Bin 5545 -> 5638 bytes .../lib/javax/swing/plaf/multi/MultiTextUI.class | Bin 7018 -> 7123 bytes .../lib/javax/swing/table/DefaultTableModel.class | Bin 7491 -> 7479 bytes .../JTableHeader$AccessibleJTableHeader.class | Bin 1638 -> 1697 bytes .../text/AbstractDocument$AbstractElement.class | Bin 7275 -> 7302 bytes .../swing/text/AbstractDocument$BidiElement.class | Bin 1170 -> 1192 bytes .../text/AbstractDocument$BidiRootElement.class | Bin 775 -> 799 bytes .../text/AbstractDocument$BranchElement.class | Bin 3805 -> 3831 bytes .../javax/swing/text/AbstractDocument$Bypass.class | Bin 1368 -> 1428 bytes .../AbstractDocument$DefaultDocumentEvent.class | Bin 2879 -> 2958 bytes .../swing/text/AbstractDocument$ElementEdit.class | Bin 1266 -> 1327 bytes .../swing/text/AbstractDocument$LeafElement.class | Bin 2890 -> 2916 bytes .../lib/javax/swing/text/AbstractDocument.class | Bin 19878 -> 20008 bytes .../swing/text/AsyncBoxView$ChildLocator.class | Bin 4547 -> 4614 bytes .../javax/swing/text/AsyncBoxView$ChildState.class | Bin 3896 -> 3919 bytes .../javax/swing/text/AsyncBoxView$FlushTask.class | Bin 1889 -> 1910 bytes .../lib/javax/swing/text/AsyncBoxView.class | Bin 10236 -> 10343 bytes .../classpath/lib/javax/swing/text/BoxView.class | Bin 13114 -> 13294 bytes .../lib/javax/swing/text/ComponentView$1.class | Bin 1200 -> 1200 bytes .../lib/javax/swing/text/ComponentView.class | Bin 4965 -> 5011 bytes .../lib/javax/swing/text/CompositeView.class | Bin 8179 -> 8248 bytes .../lib/javax/swing/text/DefaultCaret$Bypass.class | Bin 960 -> 1104 bytes .../lib/javax/swing/text/DefaultCaret.class | Bin 14143 -> 14460 bytes .../text/DefaultEditorKit$BackwardAction.class | Bin 750 -> 818 bytes .../swing/text/DefaultEditorKit$DownAction.class | Bin 731 -> 797 bytes .../text/DefaultEditorKit$ForwardAction.class | Bin 745 -> 813 bytes .../DefaultEditorKit$SelectionBackwardAction.class | Bin 782 -> 850 bytes .../DefaultEditorKit$SelectionDownAction.class | Bin 763 -> 829 bytes .../DefaultEditorKit$SelectionForwardAction.class | Bin 777 -> 845 bytes .../text/DefaultEditorKit$SelectionUpAction.class | Bin 755 -> 821 bytes .../swing/text/DefaultEditorKit$UpAction.class | Bin 723 -> 789 bytes .../lib/javax/swing/text/DefaultEditorKit.class | Bin 9767 -> 9767 bytes .../DefaultFormatter$FormatterDocumentFilter.class | Bin 2934 -> 3007 bytes .../lib/javax/swing/text/DefaultFormatter.class | Bin 3572 -> 3600 bytes .../javax/swing/text/DefaultFormatterFactory.class | Bin 2826 -> 2967 bytes ...efaultHighlighter$DefaultHighlightPainter.class | Bin 3060 -> 3170 bytes .../text/DefaultHighlighter$HighlightEntry.class | Bin 1259 -> 1391 bytes .../DefaultHighlighter$LayerHighlightEntry.class | Bin 2281 -> 2482 bytes .../lib/javax/swing/text/DefaultHighlighter.class | Bin 6755 -> 6859 bytes .../text/DefaultStyledDocument$ElementBuffer.class | Bin 18010 -> 18202 bytes .../DefaultStyledDocument$SectionElement.class | Bin 800 -> 863 bytes ...DefaultStyledDocument$StyleChangeListener.class | Bin 1181 -> 1181 bytes .../javax/swing/text/DefaultStyledDocument.class | Bin 15413 -> 15654 bytes .../lib/javax/swing/text/EmptyAttributeSet$1.class | Bin 891 -> 891 bytes .../lib/javax/swing/text/EmptyAttributeSet.class | Bin 1728 -> 1728 bytes .../lib/javax/swing/text/FieldView$1.class | Bin 813 -> 813 bytes .../classpath/lib/javax/swing/text/FieldView.class | Bin 6268 -> 6350 bytes .../javax/swing/text/FlowView$FlowStrategy.class | Bin 5963 -> 6009 bytes .../swing/text/GapContent$GapContentPosition.class | Bin 736 -> 751 bytes .../lib/javax/swing/text/GapContent$Mark.class | Bin 1400 -> 1429 bytes .../javax/swing/text/GapContent$UndoPosRef.class | Bin 908 -> 923 bytes .../lib/javax/swing/text/GapContent.class | Bin 12279 -> 12336 bytes .../swing/text/GlyphView$DefaultGlyphPainter.class | Bin 4860 -> 4929 bytes .../javax/swing/text/GlyphView$GlyphPainter.class | Bin 1753 -> 1835 bytes .../swing/text/GlyphView$J2DGlyphPainter.class | Bin 4332 -> 4401 bytes .../classpath/lib/javax/swing/text/GlyphView.class | Bin 12332 -> 12414 bytes .../javax/swing/text/Highlighter$Highlight.class | Bin 334 -> 412 bytes .../classpath/lib/javax/swing/text/IconView.class | Bin 2347 -> 2452 bytes .../javax/swing/text/InternationalFormatter.class | Bin 3849 -> 4035 bytes .../JTextComponent$AccessibleJTextComponent.class | Bin 10550 -> 10641 bytes .../lib/javax/swing/text/JTextComponent.class | Bin 18400 -> 18471 bytes .../text/LayeredHighlighter$LayerPainter.class | Bin 614 -> 675 bytes .../swing/text/NavigationFilter$FilterBypass.class | Bin 544 -> 626 bytes .../lib/javax/swing/text/NavigationFilter.class | Bin 1419 -> 1501 bytes .../lib/javax/swing/text/ParagraphView.class | Bin 6072 -> 6118 bytes .../lib/javax/swing/text/PasswordView.class | Bin 4121 -> 4226 bytes .../lib/javax/swing/text/PlainDocument.class | Bin 6235 -> 6434 bytes .../classpath/lib/javax/swing/text/PlainView.class | Bin 11774 -> 11887 bytes .../swing/text/StringContent$StickyPosition.class | Bin 1163 -> 1178 bytes .../swing/text/StringContent$UndoPosRef.class | Bin 815 -> 830 bytes .../lib/javax/swing/text/StringContent.class | Bin 5574 -> 5631 bytes .../text/StyleConstants$CharacterConstants.class | Bin 1428 -> 1541 bytes .../swing/text/StyleConstants$ColorConstants.class | Bin 776 -> 865 bytes .../swing/text/StyleConstants$FontConstants.class | Bin 858 -> 946 bytes .../text/StyleConstants$ParagraphConstants.class | Bin 1091 -> 1155 bytes .../lib/javax/swing/text/StyleContext$1.class | Bin 995 -> 995 bytes .../text/StyleContext$SmallAttributeSet.class | Bin 4021 -> 4021 bytes .../lib/javax/swing/text/StyleContext.class | Bin 11737 -> 11800 bytes .../text/StyledEditorKit$AlignmentAction.class | Bin 1181 -> 1208 bytes .../swing/text/StyledEditorKit$BoldAction.class | Bin 1692 -> 1719 bytes .../text/StyledEditorKit$FontFamilyAction.class | Bin 1220 -> 1247 bytes .../text/StyledEditorKit$FontSizeAction.class | Bin 1180 -> 1207 bytes .../text/StyledEditorKit$ForegroundAction.class | Bin 1231 -> 1258 bytes .../swing/text/StyledEditorKit$ItalicAction.class | Bin 1704 -> 1731 bytes .../text/StyledEditorKit$UnderlineAction.class | Bin 1722 -> 1749 bytes .../lib/javax/swing/text/StyledEditorKit.class | Bin 4297 -> 4297 bytes .../classpath/lib/javax/swing/text/TabStop.class | Bin 2174 -> 2178 bytes .../classpath/lib/javax/swing/text/TableView.class | Bin 3781 -> 3893 bytes .../classpath/lib/javax/swing/text/Utilities.class | Bin 8224 -> 8293 bytes libjava/classpath/lib/javax/swing/text/View.class | Bin 12065 -> 12178 bytes .../swing/text/WrappedPlainView$WrappedLine.class | Bin 5765 -> 5847 bytes .../text/WrappedPlainView$WrappedLineCreator.class | Bin 889 -> 911 bytes .../lib/javax/swing/text/WrappedPlainView.class | Bin 8465 -> 8489 bytes .../classpath/lib/javax/swing/text/ZoneView.class | Bin 5663 -> 5775 bytes .../lib/javax/swing/text/html/BlockView.class | Bin 9557 -> 9629 bytes .../lib/javax/swing/text/html/CSSBorder.class | Bin 7458 -> 7532 bytes .../lib/javax/swing/text/html/CSSParser.class | Bin 4348 -> 4348 bytes .../javax/swing/text/html/FormSubmitEvent.class | Bin 1362 -> 1468 bytes .../lib/javax/swing/text/html/FormView$1.class | Bin 1669 -> 1669 bytes .../swing/text/html/FormView$SubmitThread.class | Bin 5391 -> 5515 bytes .../lib/javax/swing/text/html/FormView.class | Bin 10767 -> 10801 bytes .../lib/javax/swing/text/html/FrameSetView.class | Bin 3609 -> 3661 bytes .../lib/javax/swing/text/html/FrameView.class | Bin 4334 -> 4429 bytes .../lib/javax/swing/text/html/HTML$Tag.class | Bin 6702 -> 6692 bytes .../javax/swing/text/html/HTML$UnknownTag.class | Bin 546 -> 560 bytes .../lib/javax/swing/text/html/HTMLDocument$1.class | Bin 1352 -> 1541 bytes .../text/html/HTMLDocument$BlockElement.class | Bin 1326 -> 1389 bytes .../html/HTMLDocument$HTMLReader$AreaAction.class | Bin 1106 -> 1208 bytes .../html/HTMLDocument$HTMLReader$BaseAction.class | Bin 1330 -> 1452 bytes .../html/HTMLDocument$HTMLReader$BlockAction.class | Bin 1103 -> 1205 bytes .../HTMLDocument$HTMLReader$CharacterAction.class | Bin 1544 -> 1630 bytes .../HTMLDocument$HTMLReader$ConvertAction.class | Bin 2417 -> 2542 bytes .../html/HTMLDocument$HTMLReader$FormAction.class | Bin 5253 -> 5311 bytes .../HTMLDocument$HTMLReader$FormTagAction.class | Bin 913 -> 1017 bytes .../html/HTMLDocument$HTMLReader$HeadAction.class | Bin 1714 -> 1818 bytes .../HTMLDocument$HTMLReader$HiddenAction.class | Bin 1106 -> 1208 bytes .../HTMLDocument$HTMLReader$IsindexAction.class | Bin 1202 -> 1268 bytes .../html/HTMLDocument$HTMLReader$LinkAction.class | Bin 2414 -> 2539 bytes .../html/HTMLDocument$HTMLReader$MapAction.class | Bin 1103 -> 1205 bytes .../html/HTMLDocument$HTMLReader$MetaAction.class | Bin 1106 -> 1208 bytes .../HTMLDocument$HTMLReader$ParagraphAction.class | Bin 1086 -> 1190 bytes .../html/HTMLDocument$HTMLReader$PreAction.class | Bin 1471 -> 1590 bytes .../HTMLDocument$HTMLReader$SpecialAction.class | Bin 971 -> 1073 bytes .../html/HTMLDocument$HTMLReader$StyleAction.class | Bin 1084 -> 1186 bytes .../html/HTMLDocument$HTMLReader$TagAction.class | Bin 993 -> 1075 bytes .../html/HTMLDocument$HTMLReader$TitleAction.class | Bin 1109 -> 1211 bytes .../swing/text/html/HTMLDocument$HTMLReader.class | Bin 15313 -> 15608 bytes .../swing/text/html/HTMLDocument$Iterator.class | Bin 612 -> 694 bytes .../text/html/HTMLDocument$LeafIterator.class | Bin 1732 -> 1833 bytes .../swing/text/html/HTMLDocument$RunElement.class | Bin 1364 -> 1425 bytes .../lib/javax/swing/text/html/HTMLDocument.class | Bin 14134 -> 14693 bytes .../text/html/HTMLEditorKit$HTMLFactory.class | Bin 3016 -> 3062 bytes .../text/html/HTMLEditorKit$HTMLTextAction.class | Bin 3248 -> 3359 bytes .../html/HTMLEditorKit$InsertHTMLTextAction.class | Bin 5648 -> 5755 bytes .../text/html/HTMLEditorKit$LinkController.class | Bin 5330 -> 5416 bytes .../swing/text/html/HTMLEditorKit$Parser.class | Bin 542 -> 623 bytes .../text/html/HTMLEditorKit$ParserCallback.class | Bin 1710 -> 1792 bytes .../lib/javax/swing/text/html/HTMLEditorKit.class | Bin 10381 -> 10427 bytes .../swing/text/html/HTMLFrameHyperlinkEvent.class | Bin 1753 -> 1844 bytes .../lib/javax/swing/text/html/HTMLWriter.class | Bin 13091 -> 13180 bytes .../lib/javax/swing/text/html/ImageView$1.class | Bin 842 -> 842 bytes .../lib/javax/swing/text/html/ImageView.class | Bin 8743 -> 8916 bytes .../lib/javax/swing/text/html/InlineView.class | Bin 4798 -> 4872 bytes .../lib/javax/swing/text/html/ListView.class | Bin 1920 -> 1965 bytes .../lib/javax/swing/text/html/NullView.class | Bin 1284 -> 1389 bytes .../lib/javax/swing/text/html/Option.class | Bin 1511 -> 1586 bytes .../lib/javax/swing/text/html/ParagraphView.class | Bin 4882 -> 4977 bytes .../text/html/ResetableToggleButtonModel.class | Bin 655 -> 737 bytes .../swing/text/html/StyleSheet$BoxPainter.class | Bin 3498 -> 3549 bytes .../StyleSheet$CSSStyleSheetParserCallback.class | Bin 2235 -> 2315 bytes .../swing/text/html/StyleSheet$ListPainter.class | Bin 2672 -> 2769 bytes .../lib/javax/swing/text/html/StyleSheet.class | Bin 17082 -> 17237 bytes .../javax/swing/text/html/TableView$CellView.class | Bin 1794 -> 1846 bytes .../javax/swing/text/html/TableView$RowView.class | Bin 3261 -> 3280 bytes .../lib/javax/swing/text/html/TableView.class | Bin 12518 -> 12636 bytes .../javax/swing/text/html/ViewAttributeSet.class | Bin 2824 -> 2944 bytes .../swing/text/html/parser/AttributeList$1.class | Bin 944 -> 944 bytes .../swing/text/html/parser/AttributeList.class | Bin 2576 -> 2576 bytes .../html/parser/DocumentParser$gnuParser.class | Bin 3356 -> 3504 bytes .../swing/text/html/parser/DocumentParser.class | Bin 2434 -> 2500 bytes .../javax/swing/text/html/parser/Element$1.class | Bin 653 -> 653 bytes .../lib/javax/swing/text/html/parser/Element.class | Bin 2752 -> 2752 bytes .../javax/swing/text/html/parser/Entity$1.class | Bin 783 -> 783 bytes .../lib/javax/swing/text/html/parser/Entity.class | Bin 1637 -> 1637 bytes .../javax/swing/text/html/parser/Parser$1.class | Bin 2671 -> 2671 bytes .../lib/javax/swing/text/html/parser/Parser.class | Bin 4563 -> 4563 bytes .../html/parser/ParserDelegator$gnuParser.class | Bin 3250 -> 3398 bytes .../swing/text/html/parser/ParserDelegator.class | Bin 2400 -> 2483 bytes .../javax/swing/text/html/parser/TagElement.class | Bin 1863 -> 1921 bytes ...faultMutableTreeNode$PostorderEnumeration.class | Bin 1720 -> 1717 bytes ...efaultMutableTreeNode$PreorderEnumeration.class | Bin 1623 -> 1617 bytes .../javax/swing/tree/DefaultMutableTreeNode.class | Bin 10962 -> 10962 bytes .../javax/swing/tree/DefaultTreeCellEditor.class | Bin 9819 -> 9819 bytes .../swing/tree/VariableHeightLayoutCache.class | Bin 8001 -> 8026 bytes .../lib/javax/xml/datatype/Duration.class | Bin 3881 -> 3968 bytes .../lib/javax/xml/validation/SchemaFactory.class | Bin 5071 -> 5068 bytes libjava/classpath/lib/jazzlib/index.html | 47 - libjava/classpath/lib/jazzlib/makeJazzlibDist.sh | 121 - libjava/classpath/lib/mkcollections.pl.in | 17 + libjava/classpath/lib/mkdep.pl.in | 336 - libjava/classpath/lib/org/omg/CORBA/DynAny.class | Bin 2088 -> 2107 bytes libjava/classpath/lib/org/omg/CORBA/DynArray.class | Bin 303 -> 322 bytes libjava/classpath/lib/org/omg/CORBA/DynEnum.class | Bin 264 -> 283 bytes libjava/classpath/lib/org/omg/CORBA/DynFixed.class | Bin 263 -> 282 bytes .../classpath/lib/org/omg/CORBA/DynSequence.class | Bin 347 -> 366 bytes .../classpath/lib/org/omg/CORBA/DynStruct.class | Bin 433 -> 452 bytes libjava/classpath/lib/org/omg/CORBA/DynUnion.class | Bin 408 -> 427 bytes libjava/classpath/lib/org/omg/CORBA/DynValue.class | Bin 459 -> 478 bytes libjava/classpath/lib/org/omg/CORBA/ORB.class | Bin 10975 -> 11017 bytes .../classpath/lib/org/omg/CORBA/_IDLTypeStub.class | Bin 2887 -> 2880 bytes .../classpath/lib/org/omg/CORBA/_PolicyStub.class | Bin 2534 -> 2527 bytes .../org/omg/CosNaming/_BindingIteratorStub.class | Bin 3449 -> 3442 bytes .../org/omg/CosNaming/_NamingContextExtStub.class | Bin 4329 -> 4329 bytes .../lib/org/omg/CosNaming/_NamingContextStub.class | Bin 8173 -> 8192 bytes .../_IORInterceptor_3_0Stub.class | Bin 4213 -> 4178 bytes .../DatatypeLibraryLoader$Service$Loader.class | Bin 1749 -> 1769 bytes .../DatatypeLibraryLoader$Service$Loader2.class | Bin 1756 -> 1793 bytes .../helpers/DatatypeLibraryLoader$Service.class | Bin 4546 -> 4546 bytes .../bootstrap/DOMImplementationRegistry$1.class | Bin 1248 -> 1248 bytes .../bootstrap/DOMImplementationRegistry$2.class | Bin 842 -> 842 bytes .../bootstrap/DOMImplementationRegistry$3.class | Bin 786 -> 786 bytes .../bootstrap/DOMImplementationRegistry$4.class | Bin 1067 -> 1067 bytes .../dom/bootstrap/DOMImplementationRegistry.class | Bin 5443 -> 5443 bytes .../annotation/AnnotationInvocationHandler.class | Bin 8487 -> 8486 bytes libjava/classpath/ltconfig | 4 +- libjava/classpath/ltmain.sh | 8 +- libjava/classpath/m4/acinclude.m4 | 80 +- .../classpath/m4/ax_func_which_gethostbyname_r.m4 | 165 + libjava/classpath/missing | 193 +- libjava/classpath/native/Makefile.in | 29 +- libjava/classpath/native/fdlibm/Makefile.in | 35 +- libjava/classpath/native/jawt/Makefile.am | 2 +- libjava/classpath/native/jawt/Makefile.in | 37 +- libjava/classpath/native/jni/Makefile.in | 29 +- libjava/classpath/native/jni/classpath/Makefile.in | 35 +- .../classpath/native/jni/gconf-peer/Makefile.am | 2 +- .../classpath/native/jni/gconf-peer/Makefile.in | 37 +- libjava/classpath/native/jni/gtk-peer/Makefile.am | 5 +- libjava/classpath/native/jni/gtk-peer/Makefile.in | 45 +- libjava/classpath/native/jni/gtk-peer/gdkfont.h | 2 + .../gnu_java_awt_peer_gtk_CairoGraphics2D.c | 48 +- .../gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c | 227 +- .../gnu_java_awt_peer_gtk_FreetypeGlyphVector.c | 139 +- ...u_java_awt_peer_gtk_GThreadNativeMethodRunner.c | 70 - .../gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c | 31 +- .../jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c | 5 +- .../gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c | 115 +- .../classpath/native/jni/gtk-peer/gthread-jni.c | 2592 -- .../classpath/native/jni/gtk-peer/gthread-jni.h | 48 - libjava/classpath/native/jni/java-io/Makefile.in | 35 +- .../classpath/native/jni/java-io/java_io_VMFile.c | 153 + libjava/classpath/native/jni/java-lang/Makefile.am | 6 +- libjava/classpath/native/jni/java-lang/Makefile.in | 57 +- ...a_lang_management_VMOperatingSystemMXBeanImpl.c | 60 + .../native/jni/java-lang/java_lang_VMDouble.c | 22 +- libjava/classpath/native/jni/java-net/Makefile.in | 35 +- .../jni/java-net/java_net_VMNetworkInterface.c | 7 +- libjava/classpath/native/jni/java-net/local.c | 9 +- libjava/classpath/native/jni/java-nio/Makefile.in | 35 +- .../native/jni/java-nio/gnu_java_nio_VMChannel.c | 19 +- .../gnu_java_nio_charset_iconv_IconvDecoder.c | 29 +- .../gnu_java_nio_charset_iconv_IconvEncoder.c | 29 +- libjava/classpath/native/jni/java-nio/javanio.c | 24 +- libjava/classpath/native/jni/java-util/Makefile.in | 35 +- libjava/classpath/native/jni/midi-alsa/Makefile.am | 2 +- libjava/classpath/native/jni/midi-alsa/Makefile.in | 37 +- libjava/classpath/native/jni/midi-dssi/Makefile.am | 2 +- libjava/classpath/native/jni/midi-dssi/Makefile.in | 37 +- .../classpath/native/jni/native-lib/Makefile.in | 35 +- libjava/classpath/native/jni/native-lib/cpio.c | 70 + libjava/classpath/native/jni/native-lib/cpio.h | 5 + libjava/classpath/native/jni/native-lib/cpnet.c | 65 +- libjava/classpath/native/jni/native-lib/cpnet.h | 2 + libjava/classpath/native/jni/native-lib/cpproc.c | 4 + libjava/classpath/native/jni/qt-peer/Makefile.am | 9 +- libjava/classpath/native/jni/qt-peer/Makefile.in | 50 +- libjava/classpath/native/jni/xmlj/Makefile.in | 35 +- libjava/classpath/native/plugin/Makefile.am | 2 +- libjava/classpath/native/plugin/Makefile.in | 43 +- libjava/classpath/org/omg/CORBA/DynAny.java | 4 +- libjava/classpath/org/omg/CORBA/DynArray.java | 4 +- libjava/classpath/org/omg/CORBA/DynEnum.java | 4 +- libjava/classpath/org/omg/CORBA/DynFixed.java | 4 +- libjava/classpath/org/omg/CORBA/DynSequence.java | 4 +- libjava/classpath/org/omg/CORBA/DynStruct.java | 4 +- libjava/classpath/org/omg/CORBA/DynUnion.java | 4 +- libjava/classpath/org/omg/CORBA/DynValue.java | 6 +- libjava/classpath/org/omg/CORBA/ORB.java | 25 +- .../services/java.util.prefs.PreferencesFactory | 1 + .../javax.xml.parsers.DocumentBuilderFactory | 1 - .../services/javax.xml.parsers.SAXParserFactory | 1 - .../services/javax.xml.parsers.TransformerFactory | 1 - .../org.relaxng.datatype.DatatypeLibraryFactory | 1 - .../resource/META-INF/services/org.xml.sax.driver | 1 - libjava/classpath/resource/Makefile.in | 29 +- libjava/classpath/scripts/Makefile.in | 29 +- libjava/classpath/scripts/build_mathnamespace | 6 - libjava/classpath/scripts/checkstyle-config.xml | 132 - libjava/classpath/scripts/checkstyle-header.regex | 38 - .../classpath/scripts/checkstyle-suppressions.xml | 34 - libjava/classpath/scripts/checkstyle.css | 42 - libjava/classpath/scripts/checkstyle2html.xsl | 102 - libjava/classpath/scripts/classpath-build | 68 - libjava/classpath/scripts/classpath-daily | 17 - libjava/classpath/scripts/eclipse-gnu.xml | 246 - libjava/classpath/scripts/jalopy-gnu.xml | 378 - libjava/classpath/scripts/japi | 135 - libjava/classpath/scripts/kissme-mauve | 346 - libjava/classpath/scripts/loc | 44 - libjava/classpath/scripts/math_symbols | 69 - libjava/classpath/scripts/patches.pl | 164 - libjava/classpath/scripts/sanitize-jsr166 | 6 - libjava/classpath/scripts/timezones.pl | 399 - libjava/classpath/scripts/tzabbrevs | 40 - libjava/classpath/scripts/unicode-blocks.pl | 364 - libjava/classpath/scripts/unicode-muncher.pl | 868 - libjava/classpath/tools/Makefile.am | 18 +- libjava/classpath/tools/Makefile.in | 48 +- .../tools/asm/org/objectweb/asm/ClassReader.class | Bin 22135 -> 22143 bytes .../asm/attrs/StackMapTableAttribute.class | Bin 10012 -> 10016 bytes .../org/objectweb/asm/commons/AdviceAdapter.class | Bin 7757 -> 7758 bytes .../asm/org/objectweb/asm/tree/MethodNode$1.class | Bin 803 -> 803 bytes .../asm/org/objectweb/asm/tree/MethodNode.class | Bin 8683 -> 8683 bytes .../ASMContentHandler$AnnotationDefaultRule.class | Bin 1399 -> 1414 bytes ...ASMContentHandler$AnnotationParameterRule.class | Bin 1849 -> 1864 bytes .../asm/xml/ASMContentHandler$AnnotationRule.class | Bin 1890 -> 1905 bytes ...tentHandler$AnnotationValueAnnotationRule.class | Bin 1576 -> 1591 bytes ...SMContentHandler$AnnotationValueArrayRule.class | Bin 1497 -> 1512 bytes ...ASMContentHandler$AnnotationValueEnumRule.class | Bin 1358 -> 1373 bytes .../ASMContentHandler$AnnotationValueRule.class | Bin 1393 -> 1408 bytes .../asm/xml/ASMContentHandler$ClassRule.class | Bin 1839 -> 1854 bytes .../asm/xml/ASMContentHandler$ExceptionRule.class | Bin 1267 -> 1279 bytes .../asm/xml/ASMContentHandler$ExceptionsRule.class | Bin 1802 -> 1814 bytes .../asm/xml/ASMContentHandler$FieldRule.class | Bin 1851 -> 1866 bytes .../asm/xml/ASMContentHandler$InnerClassRule.class | Bin 1433 -> 1448 bytes .../asm/xml/ASMContentHandler$InterfaceRule.class | Bin 1267 -> 1279 bytes .../asm/xml/ASMContentHandler$InterfacesRule.class | Bin 1867 -> 1879 bytes .../asm/xml/ASMContentHandler$LabelRule.class | Bin 1268 -> 1283 bytes .../asm/xml/ASMContentHandler$LineNumberRule.class | Bin 1457 -> 1472 bytes .../asm/xml/ASMContentHandler$LocalVarRule.class | Bin 1709 -> 1724 bytes .../ASMContentHandler$LookupSwitchLabelRule.class | Bin 1460 -> 1469 bytes .../xml/ASMContentHandler$LookupSwitchRule.class | Bin 2474 -> 2483 bytes .../asm/xml/ASMContentHandler$MaxRule.class | Bin 1312 -> 1327 bytes .../asm/xml/ASMContentHandler$MethodRule.class | Bin 1704 -> 1719 bytes .../asm/xml/ASMContentHandler$OpcodesRule.class | Bin 3082 -> 3114 bytes .../asm/xml/ASMContentHandler$OuterClassRule.class | Bin 1331 -> 1346 bytes .../asm/xml/ASMContentHandler$SourceRule.class | Bin 1254 -> 1269 bytes .../ASMContentHandler$TableSwitchLabelRule.class | Bin 1364 -> 1376 bytes .../xml/ASMContentHandler$TableSwitchRule.class | Bin 2394 -> 2406 bytes .../asm/xml/ASMContentHandler$TryCatchRule.class | Bin 1526 -> 1541 bytes .../org/objectweb/asm/xml/ASMContentHandler.class | Bin 16825 -> 16825 bytes .../xml/Processor$ASMContentHandlerFactory.class | Bin 839 -> 871 bytes .../asm/xml/Processor$InputSlicingHandler.class | Bin 2363 -> 2395 bytes .../asm/xml/Processor$OutputSlicingHandler.class | Bin 3077 -> 3132 bytes .../asm/xml/Processor$SAXWriterFactory.class | Bin 815 -> 867 bytes .../asm/xml/Processor$SingleDocElement.class | Bin 907 -> 930 bytes .../xml/Processor$SubdocumentHandlerFactory.class | Bin 749 -> 781 bytes .../xml/Processor$TransformerHandlerFactory.class | Bin 1724 -> 1756 bytes .../asm/xml/Processor$ZipEntryElement.class | Bin 1140 -> 1163 bytes .../asm/org/objectweb/asm/xml/Processor.class | Bin 11122 -> 11122 bytes .../gnu/classpath/tools/appletviewer/Main$1.class | Bin 828 -> 828 bytes .../gnu/classpath/tools/appletviewer/Main$10.class | Bin 801 -> 801 bytes .../gnu/classpath/tools/appletviewer/Main$2.class | Bin 828 -> 828 bytes .../gnu/classpath/tools/appletviewer/Main$3.class | Bin 828 -> 828 bytes .../gnu/classpath/tools/appletviewer/Main$4.class | Bin 973 -> 973 bytes .../gnu/classpath/tools/appletviewer/Main$5.class | Bin 974 -> 974 bytes .../gnu/classpath/tools/appletviewer/Main$6.class | Bin 915 -> 915 bytes .../gnu/classpath/tools/appletviewer/Main$7.class | Bin 1067 -> 1067 bytes .../gnu/classpath/tools/appletviewer/Main$8.class | Bin 831 -> 831 bytes .../gnu/classpath/tools/appletviewer/Main$9.class | Bin 799 -> 799 bytes .../gnu/classpath/tools/appletviewer/Main.class | Bin 8053 -> 8053 bytes .../appletviewer/StandaloneAppletWindow$1.class | Bin 1119 -> 1119 bytes .../appletviewer/StandaloneAppletWindow.class | Bin 11928 -> 11928 bytes .../tools/common/ClasspathToolParser$1.class | Bin 1028 -> 1028 bytes .../tools/common/ClasspathToolParser.class | Bin 1394 -> 1394 bytes .../classpath/tools/common/ProviderUtil$1.class | Bin 891 -> 891 bytes .../classpath/tools/common/ProviderUtil$2.class | Bin 705 -> 705 bytes .../gnu/classpath/tools/common/ProviderUtil.class | Bin 2879 -> 2879 bytes .../gnu/classpath/tools/getopt/Parser$1.class | Bin 1061 -> 1061 bytes .../gnu/classpath/tools/getopt/Parser$2.class | Bin 1119 -> 1119 bytes .../gnu/classpath/tools/getopt/Parser$3.class | Bin 904 -> 904 bytes .../gnu/classpath/tools/getopt/Parser.class | Bin 8099 -> 8099 bytes .../classes/gnu/classpath/tools/jar/Creator.class | Bin 6303 -> 6679 bytes .../classes/gnu/classpath/tools/jar/Indexer.class | Bin 4105 -> 4234 bytes .../classes/gnu/classpath/tools/jar/Main$1.class | Bin 964 -> 964 bytes .../classes/gnu/classpath/tools/jar/Main$2.class | Bin 903 -> 903 bytes .../classes/gnu/classpath/tools/jar/Main$3.class | Bin 899 -> 899 bytes .../classes/gnu/classpath/tools/jar/Main$4.class | Bin 904 -> 904 bytes .../classes/gnu/classpath/tools/jar/Main$5.class | Bin 1014 -> 1014 bytes .../classes/gnu/classpath/tools/jar/Main$6.class | Bin 966 -> 966 bytes .../classes/gnu/classpath/tools/jar/Main$7.class | Bin 910 -> 910 bytes .../classes/gnu/classpath/tools/jar/Main.class | Bin 5565 -> 5642 bytes .../classes/gnu/classpath/tools/jar/WorkSet.class | Bin 1498 -> 1560 bytes .../gnu/classpath/tools/jarsigner/HashUtils.class | Bin 2539 -> 2530 bytes .../classpath/tools/jarsigner/JarVerifier.class | Bin 9109 -> 9461 bytes .../gnu/classpath/tools/jarsigner/Main$1.class | Bin 1187 -> 1187 bytes .../gnu/classpath/tools/jarsigner/Main$10.class | Bin 1136 -> 1136 bytes .../gnu/classpath/tools/jarsigner/Main$11.class | Bin 1138 -> 1138 bytes .../gnu/classpath/tools/jarsigner/Main$12.class | Bin 1201 -> 1201 bytes .../gnu/classpath/tools/jarsigner/Main$2.class | Bin 1188 -> 1188 bytes .../gnu/classpath/tools/jarsigner/Main$3.class | Bin 1192 -> 1192 bytes .../gnu/classpath/tools/jarsigner/Main$4.class | Bin 1190 -> 1190 bytes .../gnu/classpath/tools/jarsigner/Main$5.class | Bin 1193 -> 1193 bytes .../gnu/classpath/tools/jarsigner/Main$6.class | Bin 1199 -> 1199 bytes .../gnu/classpath/tools/jarsigner/Main$7.class | Bin 1130 -> 1130 bytes .../gnu/classpath/tools/jarsigner/Main$8.class | Bin 1129 -> 1129 bytes .../gnu/classpath/tools/jarsigner/Main$9.class | Bin 1131 -> 1131 bytes .../tools/jarsigner/Main$ToolParser.class | Bin 3938 -> 3938 bytes .../tools/jarsigner/Main$ToolParserCallback.class | Bin 1000 -> 1000 bytes .../gnu/classpath/tools/jarsigner/Main.class | Bin 11988 -> 12108 bytes .../gnu/classpath/tools/jarsigner/Messages.class | Bin 2620 -> 2707 bytes .../gnu/classpath/tools/jarsigner/SFHelper.class | Bin 11138 -> 11445 bytes .../gnu/classpath/tools/javah/GcjhMain$1.class | Bin 1182 -> 1182 bytes .../gnu/classpath/tools/javah/GcjhMain$2.class | Bin 1182 -> 1182 bytes .../gnu/classpath/tools/javah/GcjhMain$3.class | Bin 1182 -> 1182 bytes .../gnu/classpath/tools/javah/GcjhMain$4.class | Bin 1182 -> 1182 bytes .../gnu/classpath/tools/javah/GcjhMain$5.class | Bin 977 -> 977 bytes .../gnu/classpath/tools/javah/GcjhMain$6.class | Bin 915 -> 915 bytes .../gnu/classpath/tools/javah/GcjhMain$7.class | Bin 915 -> 915 bytes .../gnu/classpath/tools/javah/GcjhMain$8.class | Bin 915 -> 915 bytes .../gnu/classpath/tools/javah/GcjhMain$9.class | Bin 915 -> 915 bytes .../gnu/classpath/tools/javah/GcjhMain.class | Bin 2981 -> 2981 bytes .../classes/gnu/classpath/tools/javah/Main$1.class | Bin 1002 -> 1002 bytes .../gnu/classpath/tools/javah/Main$10.class | Bin 928 -> 928 bytes .../classes/gnu/classpath/tools/javah/Main$2.class | Bin 1106 -> 1106 bytes .../classes/gnu/classpath/tools/javah/Main$3.class | Bin 1111 -> 1111 bytes .../classes/gnu/classpath/tools/javah/Main$4.class | Bin 994 -> 994 bytes .../classes/gnu/classpath/tools/javah/Main$5.class | Bin 1056 -> 1056 bytes .../classes/gnu/classpath/tools/javah/Main$6.class | Bin 926 -> 926 bytes .../classes/gnu/classpath/tools/javah/Main$7.class | Bin 1051 -> 1051 bytes .../classes/gnu/classpath/tools/javah/Main$8.class | Bin 1051 -> 1051 bytes .../classes/gnu/classpath/tools/javah/Main$9.class | Bin 960 -> 960 bytes .../classes/gnu/classpath/tools/javah/Main.class | Bin 10962 -> 10991 bytes .../classpath/tools/javah/PathOptionGroup$1.class | Bin 939 -> 939 bytes .../classpath/tools/javah/PathOptionGroup$2.class | Bin 1104 -> 1104 bytes .../classpath/tools/javah/PathOptionGroup$3.class | Bin 1103 -> 1104 bytes .../classpath/tools/javah/PathOptionGroup$4.class | Bin 1108 -> 1103 bytes .../classpath/tools/javah/PathOptionGroup$5.class | Bin 1107 -> 1108 bytes .../classpath/tools/javah/PathOptionGroup$6.class | Bin 0 -> 1107 bytes .../classpath/tools/javah/PathOptionGroup.class | Bin 3290 -> 3382 bytes .../gnu/classpath/tools/keytool/CACertCmd$1.class | Bin 1036 -> 1036 bytes .../gnu/classpath/tools/keytool/CACertCmd$2.class | Bin 1030 -> 1030 bytes .../gnu/classpath/tools/keytool/CACertCmd$3.class | Bin 1029 -> 1029 bytes .../gnu/classpath/tools/keytool/CACertCmd$4.class | Bin 1034 -> 1034 bytes .../gnu/classpath/tools/keytool/CACertCmd$5.class | Bin 1041 -> 1041 bytes .../gnu/classpath/tools/keytool/CACertCmd$6.class | Bin 972 -> 972 bytes .../gnu/classpath/tools/keytool/CACertCmd.class | Bin 6606 -> 6606 bytes .../gnu/classpath/tools/keytool/CertReqCmd$1.class | Bin 1035 -> 1035 bytes .../classpath/tools/keytool/CertReqCmd$10.class | Bin 987 -> 987 bytes .../gnu/classpath/tools/keytool/CertReqCmd$2.class | Bin 1042 -> 1042 bytes .../gnu/classpath/tools/keytool/CertReqCmd$3.class | Bin 1045 -> 1045 bytes .../gnu/classpath/tools/keytool/CertReqCmd$4.class | Bin 1038 -> 1038 bytes .../gnu/classpath/tools/keytool/CertReqCmd$5.class | Bin 1036 -> 1036 bytes .../gnu/classpath/tools/keytool/CertReqCmd$6.class | Bin 1035 -> 1035 bytes .../gnu/classpath/tools/keytool/CertReqCmd$7.class | Bin 1040 -> 1040 bytes .../gnu/classpath/tools/keytool/CertReqCmd$8.class | Bin 1047 -> 1047 bytes .../gnu/classpath/tools/keytool/CertReqCmd$9.class | Bin 978 -> 978 bytes .../gnu/classpath/tools/keytool/CertReqCmd.class | Bin 10386 -> 10372 bytes .../gnu/classpath/tools/keytool/DeleteCmd$1.class | Bin 1029 -> 1029 bytes .../gnu/classpath/tools/keytool/DeleteCmd$2.class | Bin 1030 -> 1030 bytes .../gnu/classpath/tools/keytool/DeleteCmd$3.class | Bin 1029 -> 1029 bytes .../gnu/classpath/tools/keytool/DeleteCmd$4.class | Bin 1034 -> 1034 bytes .../gnu/classpath/tools/keytool/DeleteCmd$5.class | Bin 1041 -> 1041 bytes .../gnu/classpath/tools/keytool/DeleteCmd$6.class | Bin 972 -> 972 bytes .../gnu/classpath/tools/keytool/DeleteCmd.class | Bin 5720 -> 5720 bytes .../gnu/classpath/tools/keytool/ExportCmd$1.class | Bin 1029 -> 1029 bytes .../gnu/classpath/tools/keytool/ExportCmd$2.class | Bin 1036 -> 1036 bytes .../gnu/classpath/tools/keytool/ExportCmd$3.class | Bin 1030 -> 1030 bytes .../gnu/classpath/tools/keytool/ExportCmd$4.class | Bin 1029 -> 1029 bytes .../gnu/classpath/tools/keytool/ExportCmd$5.class | Bin 1034 -> 1034 bytes .../gnu/classpath/tools/keytool/ExportCmd$6.class | Bin 1041 -> 1041 bytes .../gnu/classpath/tools/keytool/ExportCmd$7.class | Bin 968 -> 968 bytes .../gnu/classpath/tools/keytool/ExportCmd$8.class | Bin 972 -> 972 bytes .../gnu/classpath/tools/keytool/ExportCmd.class | Bin 6748 -> 6735 bytes .../gnu/classpath/tools/keytool/GenKeyCmd$1.class | Bin 1029 -> 1029 bytes .../gnu/classpath/tools/keytool/GenKeyCmd$10.class | Bin 1036 -> 1036 bytes .../gnu/classpath/tools/keytool/GenKeyCmd$11.class | Bin 1043 -> 1043 bytes .../gnu/classpath/tools/keytool/GenKeyCmd$12.class | Bin 974 -> 974 bytes .../gnu/classpath/tools/keytool/GenKeyCmd$2.class | Bin 1036 -> 1036 bytes .../gnu/classpath/tools/keytool/GenKeyCmd$3.class | Bin 1034 -> 1034 bytes .../gnu/classpath/tools/keytool/GenKeyCmd$4.class | Bin 1036 -> 1036 bytes .../gnu/classpath/tools/keytool/GenKeyCmd$5.class | Bin 1029 -> 1029 bytes .../gnu/classpath/tools/keytool/GenKeyCmd$6.class | Bin 1032 -> 1032 bytes .../gnu/classpath/tools/keytool/GenKeyCmd$7.class | Bin 1035 -> 1035 bytes .../gnu/classpath/tools/keytool/GenKeyCmd$8.class | Bin 1030 -> 1030 bytes .../gnu/classpath/tools/keytool/GenKeyCmd$9.class | Bin 1029 -> 1029 bytes .../gnu/classpath/tools/keytool/GenKeyCmd.class | Bin 12086 -> 12086 bytes .../classpath/tools/keytool/IdentityDBCmd$1.class | Bin 1059 -> 1059 bytes .../classpath/tools/keytool/IdentityDBCmd$2.class | Bin 1054 -> 1054 bytes .../classpath/tools/keytool/IdentityDBCmd$3.class | Bin 1053 -> 1053 bytes .../classpath/tools/keytool/IdentityDBCmd$4.class | Bin 1058 -> 1058 bytes .../classpath/tools/keytool/IdentityDBCmd$5.class | Bin 1065 -> 1065 bytes .../classpath/tools/keytool/IdentityDBCmd$6.class | Bin 996 -> 996 bytes .../classpath/tools/keytool/IdentityDBCmd.class | Bin 4563 -> 4563 bytes .../gnu/classpath/tools/keytool/ImportCmd$1.class | Bin 1029 -> 1029 bytes .../gnu/classpath/tools/keytool/ImportCmd$10.class | Bin 974 -> 974 bytes .../gnu/classpath/tools/keytool/ImportCmd$2.class | Bin 1036 -> 1036 bytes .../gnu/classpath/tools/keytool/ImportCmd$3.class | Bin 1032 -> 1032 bytes .../gnu/classpath/tools/keytool/ImportCmd$4.class | Bin 973 -> 973 bytes .../gnu/classpath/tools/keytool/ImportCmd$5.class | Bin 977 -> 977 bytes .../gnu/classpath/tools/keytool/ImportCmd$6.class | Bin 1030 -> 1030 bytes .../gnu/classpath/tools/keytool/ImportCmd$7.class | Bin 1029 -> 1029 bytes .../gnu/classpath/tools/keytool/ImportCmd$8.class | Bin 1034 -> 1034 bytes .../gnu/classpath/tools/keytool/ImportCmd$9.class | Bin 1041 -> 1041 bytes .../gnu/classpath/tools/keytool/ImportCmd.class | Bin 17535 -> 17528 bytes .../classpath/tools/keytool/KeyCloneCmd$1.class | Bin 1041 -> 1041 bytes .../classpath/tools/keytool/KeyCloneCmd$2.class | Bin 1045 -> 1045 bytes .../classpath/tools/keytool/KeyCloneCmd$3.class | Bin 1044 -> 1044 bytes .../classpath/tools/keytool/KeyCloneCmd$4.class | Bin 1047 -> 1047 bytes .../classpath/tools/keytool/KeyCloneCmd$5.class | Bin 1042 -> 1042 bytes .../classpath/tools/keytool/KeyCloneCmd$6.class | Bin 1041 -> 1041 bytes .../classpath/tools/keytool/KeyCloneCmd$7.class | Bin 1046 -> 1046 bytes .../classpath/tools/keytool/KeyCloneCmd$8.class | Bin 1053 -> 1053 bytes .../classpath/tools/keytool/KeyCloneCmd$9.class | Bin 984 -> 984 bytes .../gnu/classpath/tools/keytool/KeyCloneCmd.class | Bin 8733 -> 8733 bytes .../classpath/tools/keytool/KeyPasswdCmd$1.class | Bin 1047 -> 1047 bytes .../classpath/tools/keytool/KeyPasswdCmd$2.class | Bin 1050 -> 1050 bytes .../classpath/tools/keytool/KeyPasswdCmd$3.class | Bin 1053 -> 1053 bytes .../classpath/tools/keytool/KeyPasswdCmd$4.class | Bin 1048 -> 1048 bytes .../classpath/tools/keytool/KeyPasswdCmd$5.class | Bin 1047 -> 1047 bytes .../classpath/tools/keytool/KeyPasswdCmd$6.class | Bin 1052 -> 1052 bytes .../classpath/tools/keytool/KeyPasswdCmd$7.class | Bin 1059 -> 1059 bytes .../classpath/tools/keytool/KeyPasswdCmd$8.class | Bin 990 -> 990 bytes .../gnu/classpath/tools/keytool/KeyPasswdCmd.class | Bin 8305 -> 8305 bytes .../gnu/classpath/tools/keytool/ListCmd$1.class | Bin 1017 -> 1017 bytes .../gnu/classpath/tools/keytool/ListCmd$2.class | Bin 1018 -> 1018 bytes .../gnu/classpath/tools/keytool/ListCmd$3.class | Bin 1017 -> 1017 bytes .../gnu/classpath/tools/keytool/ListCmd$4.class | Bin 1022 -> 1022 bytes .../gnu/classpath/tools/keytool/ListCmd$5.class | Bin 1029 -> 1029 bytes .../gnu/classpath/tools/keytool/ListCmd$6.class | Bin 960 -> 960 bytes .../gnu/classpath/tools/keytool/ListCmd$7.class | Bin 956 -> 956 bytes .../gnu/classpath/tools/keytool/ListCmd.class | Bin 8719 -> 8706 bytes .../classes/gnu/classpath/tools/keytool/Main.class | Bin 8761 -> 8838 bytes .../classpath/tools/keytool/PrintCertCmd$1.class | Bin 1054 -> 1054 bytes .../classpath/tools/keytool/PrintCertCmd$2.class | Bin 990 -> 990 bytes .../gnu/classpath/tools/keytool/PrintCertCmd.class | Bin 3871 -> 3871 bytes .../classpath/tools/keytool/SelfCertCmd$1.class | Bin 1041 -> 1041 bytes .../classpath/tools/keytool/SelfCertCmd$10.class | Bin 986 -> 986 bytes .../classpath/tools/keytool/SelfCertCmd$2.class | Bin 1048 -> 1048 bytes .../classpath/tools/keytool/SelfCertCmd$3.class | Bin 1041 -> 1041 bytes .../classpath/tools/keytool/SelfCertCmd$4.class | Bin 1044 -> 1044 bytes .../classpath/tools/keytool/SelfCertCmd$5.class | Bin 1047 -> 1047 bytes .../classpath/tools/keytool/SelfCertCmd$6.class | Bin 1042 -> 1042 bytes .../classpath/tools/keytool/SelfCertCmd$7.class | Bin 1041 -> 1041 bytes .../classpath/tools/keytool/SelfCertCmd$8.class | Bin 1046 -> 1046 bytes .../classpath/tools/keytool/SelfCertCmd$9.class | Bin 1053 -> 1053 bytes .../gnu/classpath/tools/keytool/SelfCertCmd.class | Bin 8750 -> 8750 bytes .../classpath/tools/keytool/StorePasswdCmd$1.class | Bin 1065 -> 1065 bytes .../classpath/tools/keytool/StorePasswdCmd$2.class | Bin 1060 -> 1060 bytes .../classpath/tools/keytool/StorePasswdCmd$3.class | Bin 1059 -> 1059 bytes .../classpath/tools/keytool/StorePasswdCmd$4.class | Bin 1064 -> 1064 bytes .../classpath/tools/keytool/StorePasswdCmd$5.class | Bin 1071 -> 1071 bytes .../classpath/tools/keytool/StorePasswdCmd$6.class | Bin 1002 -> 1002 bytes .../classpath/tools/keytool/StorePasswdCmd.class | Bin 7050 -> 7050 bytes .../tools/native2ascii/Native2ASCII$1.class | Bin 1264 -> 1264 bytes .../tools/native2ascii/Native2ASCII$2.class | Bin 1019 -> 1019 bytes .../tools/native2ascii/Native2ASCII.class | Bin 4073 -> 4063 bytes .../classes/gnu/classpath/tools/orbd/Main$1.class | Bin 1106 -> 1106 bytes .../classes/gnu/classpath/tools/orbd/Main$2.class | Bin 1052 -> 1052 bytes .../classes/gnu/classpath/tools/orbd/Main$3.class | Bin 1048 -> 1048 bytes .../classes/gnu/classpath/tools/orbd/Main$4.class | Bin 969 -> 969 bytes .../classes/gnu/classpath/tools/orbd/Main$5.class | Bin 721 -> 721 bytes .../classes/gnu/classpath/tools/orbd/Main.class | Bin 5449 -> 5476 bytes .../gnu/classpath/tools/orbd/PersistentMap.class | Bin 5523 -> 5547 bytes .../tools/rmic/ClassRmicCompiler$MethodRef.class | Bin 2725 -> 2719 bytes .../classpath/tools/rmic/ClassRmicCompiler.class | Bin 30617 -> 30611 bytes .../classes/gnu/classpath/tools/rmic/Main$1.class | Bin 969 -> 969 bytes .../classes/gnu/classpath/tools/rmic/Main$10.class | Bin 971 -> 971 bytes .../classes/gnu/classpath/tools/rmic/Main$11.class | Bin 900 -> 900 bytes .../classes/gnu/classpath/tools/rmic/Main$12.class | Bin 971 -> 971 bytes .../classes/gnu/classpath/tools/rmic/Main$13.class | Bin 971 -> 971 bytes .../classes/gnu/classpath/tools/rmic/Main$14.class | Bin 971 -> 971 bytes .../classes/gnu/classpath/tools/rmic/Main$15.class | Bin 1039 -> 1039 bytes .../classes/gnu/classpath/tools/rmic/Main$16.class | Bin 972 -> 972 bytes .../classes/gnu/classpath/tools/rmic/Main$17.class | Bin 1039 -> 1039 bytes .../classes/gnu/classpath/tools/rmic/Main$18.class | Bin 900 -> 900 bytes .../classes/gnu/classpath/tools/rmic/Main$2.class | Bin 969 -> 969 bytes .../classes/gnu/classpath/tools/rmic/Main$3.class | Bin 969 -> 969 bytes .../classes/gnu/classpath/tools/rmic/Main$4.class | Bin 1048 -> 1048 bytes .../classes/gnu/classpath/tools/rmic/Main$5.class | Bin 1048 -> 1048 bytes .../classes/gnu/classpath/tools/rmic/Main$6.class | Bin 960 -> 960 bytes .../classes/gnu/classpath/tools/rmic/Main$7.class | Bin 960 -> 960 bytes .../classes/gnu/classpath/tools/rmic/Main$8.class | Bin 969 -> 969 bytes .../classes/gnu/classpath/tools/rmic/Main$9.class | Bin 969 -> 969 bytes .../classes/gnu/classpath/tools/rmic/Main.class | Bin 6058 -> 6058 bytes .../tools/rmic/SourceGiopRmicCompiler.class | Bin 12424 -> 12415 bytes .../tools/rmid/ActivationSystemImpl.class | Bin 5243 -> 5285 bytes .../classes/gnu/classpath/tools/rmid/Main$1.class | Bin 1084 -> 1084 bytes .../classes/gnu/classpath/tools/rmid/Main$2.class | Bin 969 -> 969 bytes .../classes/gnu/classpath/tools/rmid/Main$3.class | Bin 969 -> 969 bytes .../classes/gnu/classpath/tools/rmid/Main$4.class | Bin 969 -> 969 bytes .../classes/gnu/classpath/tools/rmid/Main$5.class | Bin 1048 -> 1048 bytes .../classes/gnu/classpath/tools/rmid/Main$6.class | Bin 983 -> 983 bytes .../classes/gnu/classpath/tools/rmid/Main.class | Bin 5921 -> 5921 bytes .../tools/rmid/PersistentBidiHashTable.class | Bin 4185 -> 4185 bytes .../gnu/classpath/tools/rmiregistry/Main$1.class | Bin 1011 -> 1011 bytes .../gnu/classpath/tools/rmiregistry/Main$2.class | Bin 1011 -> 1011 bytes .../gnu/classpath/tools/rmiregistry/Main$3.class | Bin 1011 -> 1011 bytes .../gnu/classpath/tools/rmiregistry/Main$4.class | Bin 1090 -> 1090 bytes .../gnu/classpath/tools/rmiregistry/Main$5.class | Bin 965 -> 965 bytes .../gnu/classpath/tools/rmiregistry/Main$6.class | Bin 883 -> 883 bytes .../gnu/classpath/tools/rmiregistry/Main.class | Bin 5715 -> 5715 bytes .../classpath/tools/rmiregistry/RegistryImpl.class | Bin 2942 -> 2984 bytes .../classpath/tools/serialver/SerialVer$1.class | Bin 1171 -> 1171 bytes .../classpath/tools/serialver/SerialVer$2.class | Bin 1197 -> 1197 bytes .../classpath/tools/serialver/SerialVer$3.class | Bin 950 -> 950 bytes .../gnu/classpath/tools/serialver/SerialVer.class | Bin 4402 -> 4636 bytes .../gnu/classpath/tools/tnameserv/Main$1.class | Bin 1136 -> 1136 bytes .../gnu/classpath/tools/tnameserv/Main$2.class | Bin 1082 -> 1082 bytes .../gnu/classpath/tools/tnameserv/Main.class | Bin 2391 -> 2391 bytes .../gcj/tools/gc_analyze/BlockMap$SizeKind.class | Bin 1004 -> 1004 bytes .../gnu/gcj/tools/gc_analyze/BlockMap.class | Bin 5408 -> 5443 bytes .../gnu/gcj/tools/gc_analyze/ItemList.class | Bin 3358 -> 3477 bytes .../tools/gc_analyze/MemoryAnalyze$1$Info.class | Bin 510 -> 510 bytes .../gnu/gcj/tools/gc_analyze/MemoryAnalyze$1.class | Bin 1109 -> 1109 bytes .../gnu/gcj/tools/gc_analyze/MemoryAnalyze$2.class | Bin 1109 -> 1109 bytes .../gnu/gcj/tools/gc_analyze/MemoryAnalyze$3.class | Bin 1073 -> 1073 bytes .../gnu/gcj/tools/gc_analyze/MemoryAnalyze$4.class | Bin 1086 -> 1086 bytes .../gc_analyze/MemoryAnalyze$OptionParser.class | Bin 2636 -> 2636 bytes .../MemoryAnalyze$SubstringComparator.class | Bin 1269 -> 1269 bytes .../gnu/gcj/tools/gc_analyze/MemoryAnalyze.class | Bin 10627 -> 10680 bytes .../gc_analyze/MemoryMap$RangeComparator.class | Bin 1064 -> 1080 bytes .../gnu/gcj/tools/gc_analyze/MemoryMap.class | Bin 7398 -> 7398 bytes .../gnu/gcj/tools/gc_analyze/ObjectMap.class | Bin 4105 -> 4140 bytes .../gnu/gcj/tools/gc_analyze/SymbolTable.class | Bin 5725 -> 5783 bytes libjava/classpath/tools/external/README | 9 - libjava/classpath/tools/external/asm/LICENSE.txt | 28 - .../asm/org/objectweb/asm/attrs/package.html | 48 - .../asm/org/objectweb/asm/commons/package.html | 33 - .../org/objectweb/asm/optimizer/shrink.properties | 225 - .../external/asm/org/objectweb/asm/package.html | 87 - .../asm/org/objectweb/asm/signature/package.html | 36 - .../org/objectweb/asm/tree/analysis/package.html | 36 - .../asm/org/objectweb/asm/tree/package.html | 149 - .../asm/org/objectweb/asm/util/attrs/package.html | 36 - .../asm/org/objectweb/asm/util/package.html | 40 - .../org/objectweb/asm/xml/ASMContentHandler.java | 2 +- .../external/asm/org/objectweb/asm/xml/asm-xml.dtd | 340 - .../asm/org/objectweb/asm/xml/package.html | 96 - libjava/classpath/tools/gnative2ascii.in | 2 +- .../classpath/tools/appletviewer/TagParser.java | 2 +- .../tools/gnu/classpath/tools/getopt/package.html | 49 - .../tools/gnu/classpath/tools/jar/Creator.java | 14 +- .../tools/gnu/classpath/tools/jar/Indexer.java | 2 +- .../tools/gnu/classpath/tools/jar/Main.java | 2 +- .../tools/gnu/classpath/tools/jar/WorkSet.java | 4 +- .../gnu/classpath/tools/jarsigner/HashUtils.java | 4 +- .../gnu/classpath/tools/jarsigner/JarVerifier.java | 29 +- .../tools/gnu/classpath/tools/jarsigner/Main.java | 8 +- .../gnu/classpath/tools/jarsigner/Messages.java | 11 +- .../gnu/classpath/tools/jarsigner/SFHelper.java | 28 +- .../gnu/classpath/tools/jarsigner/package.html | 60 - .../gnu/classpath/tools/javah/PathOptionGroup.java | 7 + .../gnu/classpath/tools/keytool/CertReqCmd.java | 6 +- .../gnu/classpath/tools/keytool/ExportCmd.java | 6 +- .../tools/gnu/classpath/tools/keytool/ListCmd.java | 6 +- .../tools/gnu/classpath/tools/keytool/package.html | 65 - .../classpath/tools/native2ascii/Native2ASCII.java | 5 +- .../gnu/classpath/tools/rmi/registry/package.html | 46 - .../classpath/tools/rmid/ActivationSystemImpl.java | 2 +- .../gnu/classpath/tools/serialver/SerialVer.java | 6 +- libjava/classpath/tools/gserialver.in | 2 +- libjava/classpath/tools/toolwrapper.c | 8 +- .../vm/reference/gnu/classpath/jdwp/VMFrame.java | 30 +- .../reference/gnu/classpath/jdwp/VMIdManager.java | 8 + .../gnu/classpath/jdwp/VMVirtualMachine.java | 149 +- .../management/VMOperatingSystemMXBeanImpl.java | 68 + .../java/lang/management/VMThreadMXBeanImpl.java | 29 + libjava/classpath/vm/reference/java/io/VMFile.java | 28 +- .../vm/reference/java/lang/reflect/Method.java | 15 +- .../vm/reference/java/net/VMNetworkInterface.java | 7 +- .../vm/reference/java/util/VMTimeZone.java | 219 +- libjava/gcj/javaprims.h | 29 + libjava/gnu/classpath/Configuration.java | 5 +- libjava/gnu/classpath/Pair.h | 37 + .../gnu/classpath/ServiceFactory$ServiceIterator.h | 3 +- libjava/gnu/classpath/ServiceFactory.h | 1 + libjava/gnu/classpath/jdwp/util/Value.h | 50 - libjava/gnu/java/awt/AWTUtilities.h | 1 + .../gnu/java/awt/ClasspathGraphicsEnvironment.h | 45 + libjava/gnu/java/awt/ClasspathToolkit.h | 5 + libjava/gnu/java/awt/font/FontDelegate.h | 8 +- libjava/gnu/java/awt/font/GNUGlyphVector.h | 2 + libjava/gnu/java/awt/font/autofit/AutoHinter.h | 59 + libjava/gnu/java/awt/font/autofit/AxisHints.h | 10 + libjava/gnu/java/awt/font/autofit/Constants.h | 5 + libjava/gnu/java/awt/font/autofit/Edge.h | 55 + libjava/gnu/java/awt/font/autofit/GlyphHints.h | 34 +- libjava/gnu/java/awt/font/autofit/HintScaler.h | 49 + libjava/gnu/java/awt/font/autofit/Latin.h | 58 +- libjava/gnu/java/awt/font/autofit/LatinAxis.h | 7 +- libjava/gnu/java/awt/font/autofit/LatinBlue.h | 48 + libjava/gnu/java/awt/font/autofit/LatinMetrics.h | 5 + libjava/gnu/java/awt/font/autofit/Scaler.h | 48 - libjava/gnu/java/awt/font/autofit/Script.h | 9 +- libjava/gnu/java/awt/font/autofit/ScriptMetrics.h | 4 +- libjava/gnu/java/awt/font/autofit/Segment.h | 31 +- libjava/gnu/java/awt/font/autofit/Utils.h | 60 + libjava/gnu/java/awt/font/autofit/Width.h | 4 +- libjava/gnu/java/awt/font/opentype/Hinter.h | 45 + libjava/gnu/java/awt/font/opentype/OpenTypeFont.h | 7 +- libjava/gnu/java/awt/font/opentype/Scaler.h | 3 +- .../gnu/java/awt/font/opentype/truetype/Fixed.h | 4 + .../java/awt/font/opentype/truetype/GlyphLoader.h | 11 +- .../gnu/java/awt/font/opentype/truetype/Point.h | 99 + .../awt/font/opentype/truetype/TrueTypeScaler.h | 3 +- libjava/gnu/java/awt/font/opentype/truetype/Zone.h | 22 +- .../awt/font/opentype/truetype/ZonePathIterator.h | 3 +- libjava/gnu/java/awt/java2d/AbstractGraphics2D.h | 14 +- libjava/gnu/java/awt/java2d/ActiveEdges.h | 52 + libjava/gnu/java/awt/java2d/PolyEdge.h | 26 +- libjava/gnu/java/awt/java2d/Scanline.h | 42 + libjava/gnu/java/awt/java2d/ScanlineConverter.h | 80 + libjava/gnu/java/awt/peer/ClasspathDesktopPeer.h | 86 + .../gnu/java/awt/peer/ClasspathFontPeer$LRUCache.h | 40 + libjava/gnu/java/awt/peer/ClasspathFontPeer.h | 3 + libjava/gnu/java/awt/peer/GnomeDesktopPeer.h | 55 + libjava/gnu/java/awt/peer/KDEDesktopPeer.h | 45 + .../gnu/java/awt/peer/gtk/BufferedImageGraphics.h | 1 - libjava/gnu/java/awt/peer/gtk/CairoGraphics2D.h | 13 +- .../awt/peer/gtk/CairoSurface$CairoDataBuffer.h | 44 - libjava/gnu/java/awt/peer/gtk/CairoSurface.h | 42 +- libjava/gnu/java/awt/peer/gtk/ComponentGraphics.h | 3 + .../gnu/java/awt/peer/gtk/FreetypeGlyphVector.h | 17 +- libjava/gnu/java/awt/peer/gtk/GThreadMutex.h | 41 - .../java/awt/peer/gtk/GThreadNativeMethodRunner.h | 58 - libjava/gnu/java/awt/peer/gtk/GdkFontMetrics.h | 74 - libjava/gnu/java/awt/peer/gtk/GdkFontPeer.h | 2 +- .../gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.h | 11 +- libjava/gnu/java/awt/peer/gtk/GtkToolkit$1.h | 40 - libjava/gnu/java/awt/peer/gtk/GtkToolkit.h | 8 +- libjava/gnu/java/lang/management/BeanImpl.h | 3 - .../management/MemoryMXBeanImpl$ListenerData.h | 55 - .../lang/management/OperatingSystemMXBeanImpl.h | 1 + .../gnu/java/lang/management/ThreadMXBeanImpl.h | 7 + .../lang/management/VMOperatingSystemMXBeanImpl.h | 37 + .../management/VMOperatingSystemMXBeanImpl.java | 68 + .../gnu/java/lang/management/VMThreadMXBeanImpl.h | 3 + .../java/lang/management/VMThreadMXBeanImpl.java | 29 + .../management/natVMOperatingSystemMXBeanImpl.cc | 18 + .../java/lang/management/natVMThreadMXBeanImpl.cc | 18 +- libjava/gnu/java/locale/LocaleHelper.h | 2 +- libjava/gnu/java/math/Fixed.h | 43 + libjava/gnu/java/net/BASE64.h | 41 - libjava/gnu/java/net/GetLocalHostAction.h | 8 + .../java/net/protocol/http/ChunkedInputStream.h | 3 - libjava/gnu/java/net/protocol/http/Headers.h | 2 - .../java/net/protocol/http/SimpleCookieManager.h | 2 +- libjava/gnu/java/nio/ChannelInputStream.h | 3 + libjava/gnu/java/nio/EpollSelectionKeyImpl.h | 63 - libjava/gnu/java/nio/KqueueSelectionKeyImpl.h | 71 - libjava/gnu/java/nio/SelectorProviderImpl.java | 1 + libjava/gnu/java/nio/charset/EncodingHelper.h | 1 + libjava/gnu/java/security/util/Base64.h | 53 - libjava/gnu/java/security/x509/X509Certificate.h | 1 + .../java/security/x509/ext/CertificatePolicies.h | 1 + .../gnu/java/security/x509/ext/GeneralName$Kind.h | 57 + libjava/gnu/java/security/x509/ext/GeneralName.h | 55 + libjava/gnu/java/security/x509/ext/GeneralNames.h | 9 - .../gnu/java/security/x509/ext/GeneralSubtree.h | 50 + .../gnu/java/security/x509/ext/NameConstraints.h | 49 + libjava/gnu/java/util/Base64.h | 42 + libjava/gnu/javax/management/Translator.h | 56 + libjava/gnu/javax/net/ssl/Base64.h | 43 - .../ssl/provider/CertificateRequest$ClientType.h | 53 - libjava/gnu/javax/net/ssl/provider/Context.h | 82 - .../gnu/javax/net/ssl/provider/DigestInputStream.h | 60 - .../javax/net/ssl/provider/DigestOutputStream.h | 60 - libjava/gnu/javax/net/ssl/provider/Enumerated.h | 42 - libjava/gnu/javax/net/ssl/provider/Extensions.h | 54 - .../javax/net/ssl/provider/GNUSecurityParameters.h | 98 - .../gnu/javax/net/ssl/provider/Handshake$buffer.h | 44 - .../javax/net/ssl/provider/JCESecurityParameters.h | 76 - .../javax/net/ssl/provider/JDBCSessionContext.h | 87 - .../javax/net/ssl/provider/JessieDHPrivateKey.h | 68 - .../gnu/javax/net/ssl/provider/JessieDHPublicKey.h | 68 - .../javax/net/ssl/provider/JessieRSAPrivateKey.h | 58 - .../javax/net/ssl/provider/JessieRSAPublicKey.h | 58 - libjava/gnu/javax/net/ssl/provider/KeyPool.h | 60 - .../gnu/javax/net/ssl/provider/OverflowException.h | 40 - libjava/gnu/javax/net/ssl/provider/RecordInput.h | 56 - .../gnu/javax/net/ssl/provider/RecordInputStream.h | 52 - .../javax/net/ssl/provider/RecordOutputStream.h | 54 - .../javax/net/ssl/provider/RecordingInputStream.h | 52 - .../gnu/javax/net/ssl/provider/SSLRSASignature.h | 79 - .../gnu/javax/net/ssl/provider/SSLServerSocket.h | 104 - .../net/ssl/provider/SSLServerSocketFactory.h | 81 - libjava/gnu/javax/net/ssl/provider/SSLSocket.h | 240 - .../gnu/javax/net/ssl/provider/SSLSocketFactory.h | 81 - .../javax/net/ssl/provider/SSLSocketInputStream.h | 52 - .../javax/net/ssl/provider/SSLSocketOutputStream.h | 51 - .../javax/net/ssl/provider/SecurityParameters.h | 54 - libjava/gnu/javax/net/ssl/provider/Session$ID.h | 49 - libjava/gnu/javax/net/ssl/provider/Session.h | 134 - .../gnu/javax/net/ssl/provider/SessionContext.h | 70 - .../javax/net/ssl/provider/SynchronizedRandom.h | 62 - .../ssl/provider/XMLSessionContext$SAXHandler.h | 102 - .../gnu/javax/net/ssl/provider/XMLSessionContext.h | 69 - .../javax/swing/text/html/parser/HTML_401Swing.h | 65 - libjava/gnu/xml/stream/XMLParser.h | 2 + libjava/java/awt/Canvas.h | 6 +- libjava/java/awt/Component.h | 1 - libjava/java/awt/Desktop$Action.h | 41 + libjava/java/awt/Desktop.h | 52 + libjava/java/awt/Frame.h | 3 + libjava/java/awt/GraphicsConfiguration.h | 1 + libjava/java/awt/Toolkit.h | 3 + libjava/java/awt/Window.h | 4 - libjava/java/awt/datatransfer/SystemFlavorMap$1.h | 38 + libjava/java/awt/datatransfer/SystemFlavorMap.h | 2 + libjava/java/awt/image/ComponentSampleModel.h | 4 - libjava/java/awt/image/IndexColorModel.h | 1 + .../java/awt/image/SinglePixelPackedSampleModel.h | 1 - libjava/java/awt/peer/DesktopPeer.h | 43 + libjava/java/awt/print/PrinterJob.h | 2 + libjava/java/beans/ConstructorProperties.h | 32 + libjava/java/io/File.h | 12 + libjava/java/io/File.java | 184 + libjava/java/io/ObjectInputStream.h | 12 +- libjava/java/io/ObjectOutputStream.h | 3 + libjava/java/io/natFilePosix.cc | 55 +- libjava/java/io/natFileWin32.cc | 25 +- libjava/java/lang/Character.java | 2 +- libjava/java/lang/Class$1.h | 24 + libjava/java/lang/Class.java | 22 +- libjava/java/lang/Enum.h | 3 + libjava/java/lang/SecurityContext.h | 23 - libjava/java/lang/System.h | 14 + libjava/java/lang/System.java | 22 + libjava/java/lang/management/LockInfo.h | 26 + ...ManagementFactory$ManagementInvocationHandler.h | 38 + libjava/java/lang/management/ManagementFactory.h | 2 + libjava/java/lang/management/MonitorInfo.h | 39 + .../java/lang/management/OperatingSystemMXBean.h | 1 + libjava/java/lang/management/ThreadInfo.h | 10 + libjava/java/lang/management/ThreadMXBean.h | 5 + libjava/java/net/MulticastSocket.java | 6 +- libjava/java/net/ServerSocket.h | 12 +- libjava/java/net/Socket.h | 1 + libjava/java/net/URL$1.h | 1 + libjava/java/net/URLClassLoader$1.h | 1 + libjava/java/net/URLClassLoader$2.h | 2 + libjava/java/net/URLClassLoader$CoreResource.h | 46 - libjava/java/net/URLClassLoader$CoreURLLoader.h | 36 - libjava/java/net/URLClassLoader$FileResource.h | 38 - libjava/java/net/URLClassLoader$FileURLLoader.h | 35 - libjava/java/net/URLClassLoader$JarURLLoader.h | 40 - libjava/java/net/URLClassLoader$JarURLResource.h | 48 - libjava/java/net/URLClassLoader$RemoteResource.h | 40 - libjava/java/net/URLClassLoader$RemoteURLLoader.h | 36 - libjava/java/net/URLClassLoader$Resource.h | 48 - libjava/java/net/URLClassLoader$SoResource.h | 38 - libjava/java/net/URLClassLoader$SoURLLoader.h | 47 - libjava/java/net/URLClassLoader$URLLoader.h | 45 - libjava/java/nio/channels/spi/SelectorProvider.h | 2 + libjava/java/security/cert/X509CertSelector.h | 83 +- libjava/java/text/Collator.java | 51 +- libjava/java/text/DateFormat.h | 1 + libjava/java/text/DateFormatSymbols.h | 3 + libjava/java/text/DateFormatSymbols.java | 103 +- libjava/java/text/DecimalFormatSymbols.h | 4 + libjava/java/text/DecimalFormatSymbols.java | 75 + libjava/java/text/spi/BreakIteratorProvider.h | 38 + libjava/java/text/spi/CollatorProvider.h | 35 + libjava/java/text/spi/DateFormatProvider.h | 37 + libjava/java/text/spi/DateFormatSymbolsProvider.h | 35 + .../java/text/spi/DecimalFormatSymbolsProvider.h | 35 + libjava/java/text/spi/NumberFormatProvider.h | 38 + libjava/java/util/AbstractMap$SimpleEntry.h | 2 + .../java/util/AbstractMap$SimpleImmutableEntry.h | 2 + libjava/java/util/Arrays.h | 29 + libjava/java/util/Calendar.h | 5 + libjava/java/util/Calendar.java | 250 +- libjava/java/util/Collections$LIFOQueue.h | 31 + libjava/java/util/Collections$MapSet.h | 30 + ...lections$UnmodifiableMap$UnmodifiableEntrySet.h | 3 +- libjava/java/util/Collections.h | 2 + libjava/java/util/LinkedList$1.h | 33 + libjava/java/util/LinkedList.h | 13 + libjava/java/util/Locale.h | 8 + libjava/java/util/Locale.java | 864 - libjava/java/util/ServiceConfigurationError.h | 23 + libjava/java/util/ServiceLoader$1.h | 28 + libjava/java/util/ServiceLoader.h | 37 + libjava/java/util/TreeMap$1.h | 15 +- libjava/java/util/TreeMap$2.h | 8 +- libjava/java/util/TreeMap$3.h | 5 +- libjava/java/util/TreeMap$4.h | 19 +- libjava/java/util/TreeMap$5.h | 19 +- libjava/java/util/TreeMap$6.h | 13 +- libjava/java/util/TreeMap$7.h | 26 + libjava/java/util/TreeMap$DescendingMap.h | 65 + libjava/java/util/TreeMap$DescendingSet.h | 57 + libjava/java/util/TreeMap$EntrySet.h | 28 + libjava/java/util/TreeMap$KeySet.h | 29 + libjava/java/util/TreeMap$NavigableEntrySet.h | 55 + libjava/java/util/TreeMap$NavigableKeySet.h | 40 + libjava/java/util/TreeMap$SubMap$EntrySet.h | 28 + libjava/java/util/TreeMap$SubMap$KeySet.h | 29 + .../java/util/TreeMap$SubMap$NavigableEntrySet.h | 55 + libjava/java/util/TreeMap$SubMap$NavigableKeySet.h | 40 + libjava/java/util/TreeMap$SubMap.h | 20 + libjava/java/util/TreeMap.h | 24 + libjava/java/util/TreeSet.h | 17 +- libjava/java/util/logging/Logger.java | 18 +- libjava/java/util/prefs/Preferences$1.h | 1 + libjava/java/util/regex/Pattern.h | 1 + libjava/java/util/spi/CurrencyNameProvider.h | 21 + libjava/java/util/spi/LocaleNameProvider.h | 23 + libjava/java/util/spi/LocaleServiceProvider.h | 23 + libjava/java/util/spi/TimeZoneNameProvider.h | 21 + .../javax/activity/ActivityCompletedException.h | 32 + libjava/javax/activity/ActivityRequiredException.h | 32 + libjava/javax/activity/InvalidActivityException.h | 32 + .../imageio/stream/FileCacheImageOutputStream.h | 10 +- .../javax/management/AttributeChangeNotification.h | 43 + .../management/AttributeChangeNotificationFilter.h | 39 + libjava/javax/management/AttributeValueExp.h | 44 + libjava/javax/management/DefaultLoaderRepository.h | 31 + libjava/javax/management/Descriptor.h | 41 + libjava/javax/management/DescriptorAccess.h | 31 + libjava/javax/management/DescriptorRead.h | 30 + libjava/javax/management/JMX.h | 45 + libjava/javax/management/MBeanAttributeInfo.h | 1 + libjava/javax/management/MBeanFeatureInfo.h | 1 + .../management/MBeanServerInvocationHandler.h | 46 + libjava/javax/management/MXBean.h | 30 + libjava/javax/management/Notification.h | 2 + .../NotificationBroadcasterSupport$DispatchTask.h | 48 + .../management/NotificationBroadcasterSupport.h | 51 + .../javax/management/NotificationFilterSupport.h | 39 + libjava/javax/management/PersistentMBean.h | 30 + libjava/javax/management/Query$AndQueryExp.h | 37 + libjava/javax/management/Query$BetweenQueryExp.h | 38 + libjava/javax/management/Query$BinaryOpValueExp.h | 39 + libjava/javax/management/Query$BinaryRelQueryExp.h | 39 + libjava/javax/management/Query$BooleanValueExp.h | 37 + .../management/Query$ClassAttributeValueExp.h | 37 + libjava/javax/management/Query$InQueryExp.h | 39 + .../javax/management/Query$InstanceOfQueryExp.h | 36 + libjava/javax/management/Query$MatchQueryExp.h | 37 + libjava/javax/management/Query$NotQueryExp.h | 36 + libjava/javax/management/Query$NumericValueExp.h | 42 + libjava/javax/management/Query$OrQueryExp.h | 37 + .../management/Query$QualifiedAttributeValueExp.h | 36 + libjava/javax/management/Query.h | 73 + libjava/javax/management/QueryEval.h | 36 + libjava/javax/management/StandardMBean.h | 1 + libjava/javax/management/StringValueExp.h | 41 + libjava/javax/management/openmbean/ArrayType.h | 15 +- .../openmbean/CompositeDataInvocationHandler.h | 40 + libjava/javax/management/openmbean/OpenType.h | 1 + libjava/javax/naming/directory/BasicAttributes$1.h | 47 + .../BasicAttributes$BasicAttributesEnumeration.h | 8 +- ...LServerSocketFactory$ErrorServerSocketFactory.h | 52 + .../net/ssl/SSLSocketFactory$ErrorSocketFactory.h | 54 + libjava/javax/sound/sampled/BooleanControl.h | 3 +- libjava/javax/swing/AbstractButton$2.h | 42 - libjava/javax/swing/AbstractButton$3.h | 45 - libjava/javax/swing/JComponent.h | 1 - .../TransferHandler$SwingDragGestureRecognizer.h | 50 + .../javax/swing/TransferHandler$SwingDragHandler.h | 53 + libjava/javax/swing/TransferHandler.h | 2 + libjava/javax/swing/plaf/basic/BasicComboPopup.h | 2 - libjava/javax/swing/plaf/basic/BasicLabelUI.h | 4 + .../javax/swing/plaf/basic/BasicRadioButtonUI.h | 3 + libjava/javax/swing/plaf/basic/BasicTextUI$1.h | 52 - .../swing/plaf/basic/BasicTextUI$DocumentHandler.h | 47 - .../plaf/basic/BasicTextUI$PropertyChangeHandler.h | 48 - libjava/javax/swing/plaf/basic/BasicTreeUI$2.h | 51 - libjava/javax/swing/plaf/metal/MetalLookAndFeel.h | 1 - .../MetalSplitPaneDivider$MetalDividerLayout.h | 59 - libjava/javax/swing/text/AbstractDocument$1.h | 38 - libjava/javax/swing/text/AbstractDocument$2.h | 38 - .../javax/swing/text/DefaultStyledDocument$Edit.h | 52 - libjava/javax/swing/text/InternationalFormatter.h | 1 + .../javax/swing/text/html/StyleSheet$CssParser.h | 69 - .../DefaultTreeCellEditor$RealEditorListener.h | 43 - libjava/scripts/classes.pl | 5 +- libjava/sources.am | 110 +- 2963 files changed, 81625 insertions(+), 69226 deletions(-) create mode 100644 libjava/classpath/ChangeLog-2006 create mode 100755 libjava/classpath/doc/texi2pod.pl create mode 100644 libjava/classpath/examples/gnu/classpath/examples/awt/HintingDemo.java delete mode 100644 libjava/classpath/examples/gnu/classpath/examples/awt/aicas.png delete mode 100644 libjava/classpath/examples/gnu/classpath/examples/awt/palme.gif create mode 100644 libjava/classpath/examples/gnu/classpath/examples/icons/aicas.png create mode 100644 libjava/classpath/examples/gnu/classpath/examples/icons/palme.gif delete mode 100644 libjava/classpath/examples/gnu/classpath/examples/java2d/aicas.png delete mode 100644 libjava/classpath/examples/gnu/classpath/examples/java2d/palme.gif delete mode 100644 libjava/classpath/examples/gnu/classpath/examples/swing/ClasspathSwingActivityBoard.launch delete mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/atomic/package.html delete mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/locks/package.html delete mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/package.html delete mode 100644 libjava/classpath/external/w3c_dom/COPYRIGHT.html create mode 100644 libjava/classpath/gnu/classpath/Pair.java delete mode 100644 libjava/classpath/gnu/classpath/jdwp/util/Value.java create mode 100644 libjava/classpath/gnu/java/awt/ClasspathGraphicsEnvironment.java create mode 100644 libjava/classpath/gnu/java/awt/font/autofit/AutoHinter.java create mode 100644 libjava/classpath/gnu/java/awt/font/autofit/Edge.java create mode 100644 libjava/classpath/gnu/java/awt/font/autofit/HintScaler.java create mode 100644 libjava/classpath/gnu/java/awt/font/autofit/LatinBlue.java delete mode 100644 libjava/classpath/gnu/java/awt/font/autofit/Scaler.java create mode 100644 libjava/classpath/gnu/java/awt/font/autofit/Utils.java create mode 100644 libjava/classpath/gnu/java/awt/font/opentype/Hinter.java create mode 100644 libjava/classpath/gnu/java/awt/font/opentype/truetype/Point.java create mode 100644 libjava/classpath/gnu/java/awt/java2d/ActiveEdges.java create mode 100644 libjava/classpath/gnu/java/awt/java2d/Scanline.java create mode 100644 libjava/classpath/gnu/java/awt/java2d/ScanlineConverter.java create mode 100644 libjava/classpath/gnu/java/awt/peer/ClasspathDesktopPeer.java create mode 100644 libjava/classpath/gnu/java/awt/peer/GnomeDesktopPeer.java create mode 100644 libjava/classpath/gnu/java/awt/peer/KDEDesktopPeer.java delete mode 100644 libjava/classpath/gnu/java/awt/peer/gtk/GThreadMutex.java delete mode 100644 libjava/classpath/gnu/java/awt/peer/gtk/GThreadNativeMethodRunner.java delete mode 100644 libjava/classpath/gnu/java/io/class-dependencies.conf create mode 100644 libjava/classpath/gnu/java/math/Fixed.java delete mode 100644 libjava/classpath/gnu/java/net/BASE64.java delete mode 100644 libjava/classpath/gnu/java/security/util/Base64.java create mode 100644 libjava/classpath/gnu/java/security/x509/ext/GeneralName.java create mode 100644 libjava/classpath/gnu/java/security/x509/ext/GeneralSubtree.java create mode 100644 libjava/classpath/gnu/java/security/x509/ext/NameConstraints.java create mode 100644 libjava/classpath/gnu/java/util/Base64.java create mode 100644 libjava/classpath/gnu/javax/management/Translator.java delete mode 100644 libjava/classpath/gnu/javax/net/ssl/Base64.java create mode 100644 libjava/classpath/include/config-int.h delete mode 100644 libjava/classpath/include/gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.h create mode 100644 libjava/classpath/include/gnu_java_lang_management_VMOperatingSystemMXBeanImpl.h create mode 100644 libjava/classpath/java/awt/Desktop.java create mode 100644 libjava/classpath/java/awt/peer/DesktopPeer.java create mode 100644 libjava/classpath/java/beans/ConstructorProperties.java delete mode 100644 libjava/classpath/java/io/class-dependencies.conf delete mode 100644 libjava/classpath/java/lang/class-dependencies.conf create mode 100644 libjava/classpath/java/lang/management/LockInfo.java create mode 100644 libjava/classpath/java/lang/management/MonitorInfo.java delete mode 100644 libjava/classpath/java/math/class-dependencies.conf delete mode 100644 libjava/classpath/java/net/class-dependencies.conf delete mode 100644 libjava/classpath/java/nio/class-dependencies.conf delete mode 100644 libjava/classpath/java/text/class-dependencies.conf create mode 100644 libjava/classpath/java/text/spi/BreakIteratorProvider.java create mode 100644 libjava/classpath/java/text/spi/CollatorProvider.java create mode 100644 libjava/classpath/java/text/spi/DateFormatProvider.java create mode 100644 libjava/classpath/java/text/spi/DateFormatSymbolsProvider.java create mode 100644 libjava/classpath/java/text/spi/DecimalFormatSymbolsProvider.java create mode 100644 libjava/classpath/java/text/spi/NumberFormatProvider.java create mode 100644 libjava/classpath/java/text/spi/package.html create mode 100644 libjava/classpath/java/util/ServiceConfigurationError.java create mode 100644 libjava/classpath/java/util/ServiceLoader.java delete mode 100644 libjava/classpath/java/util/class-dependencies.conf create mode 100644 libjava/classpath/java/util/spi/CurrencyNameProvider.java create mode 100644 libjava/classpath/java/util/spi/LocaleNameProvider.java create mode 100644 libjava/classpath/java/util/spi/LocaleServiceProvider.java create mode 100644 libjava/classpath/java/util/spi/TimeZoneNameProvider.java create mode 100644 libjava/classpath/java/util/spi/package.html create mode 100644 libjava/classpath/javax/activity/ActivityCompletedException.java create mode 100644 libjava/classpath/javax/activity/ActivityRequiredException.java create mode 100644 libjava/classpath/javax/activity/InvalidActivityException.java create mode 100644 libjava/classpath/javax/activity/package.html create mode 100644 libjava/classpath/javax/management/AttributeChangeNotification.java create mode 100644 libjava/classpath/javax/management/AttributeChangeNotificationFilter.java create mode 100644 libjava/classpath/javax/management/AttributeValueExp.java create mode 100644 libjava/classpath/javax/management/DefaultLoaderRepository.java create mode 100644 libjava/classpath/javax/management/Descriptor.java create mode 100644 libjava/classpath/javax/management/DescriptorAccess.java create mode 100644 libjava/classpath/javax/management/DescriptorRead.java create mode 100644 libjava/classpath/javax/management/JMX.java create mode 100644 libjava/classpath/javax/management/MBeanServerInvocationHandler.java create mode 100644 libjava/classpath/javax/management/MXBean.java create mode 100644 libjava/classpath/javax/management/NotificationBroadcasterSupport.java create mode 100644 libjava/classpath/javax/management/NotificationFilterSupport.java create mode 100644 libjava/classpath/javax/management/PersistentMBean.java create mode 100644 libjava/classpath/javax/management/Query.java create mode 100644 libjava/classpath/javax/management/QueryEval.java create mode 100644 libjava/classpath/javax/management/StringValueExp.java create mode 100644 libjava/classpath/javax/management/openmbean/CompositeDataInvocationHandler.java create mode 100644 libjava/classpath/lib/gnu/classpath/Pair.class delete mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/util/Value.class create mode 100644 libjava/classpath/lib/gnu/java/awt/ClasspathGraphicsEnvironment.class create mode 100644 libjava/classpath/lib/gnu/java/awt/font/autofit/AutoHinter.class create mode 100644 libjava/classpath/lib/gnu/java/awt/font/autofit/Edge.class create mode 100644 libjava/classpath/lib/gnu/java/awt/font/autofit/HintScaler.class create mode 100644 libjava/classpath/lib/gnu/java/awt/font/autofit/LatinBlue.class delete mode 100644 libjava/classpath/lib/gnu/java/awt/font/autofit/Scaler.class create mode 100644 libjava/classpath/lib/gnu/java/awt/font/autofit/Utils.class create mode 100644 libjava/classpath/lib/gnu/java/awt/font/opentype/Hinter.class create mode 100644 libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/Point.class create mode 100644 libjava/classpath/lib/gnu/java/awt/java2d/ActiveEdges.class create mode 100644 libjava/classpath/lib/gnu/java/awt/java2d/Scanline.class create mode 100644 libjava/classpath/lib/gnu/java/awt/java2d/ScanlineConverter.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/ClasspathDesktopPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/ClasspathFontPeer$LRUCache.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/GnomeDesktopPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/KDEDesktopPeer.class delete mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/CairoSurface$CairoDataBuffer.class delete mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/GThreadMutex.class delete mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/GThreadNativeMethodRunner.class create mode 100644 libjava/classpath/lib/gnu/java/lang/management/VMOperatingSystemMXBeanImpl.class create mode 100644 libjava/classpath/lib/gnu/java/math/Fixed.class delete mode 100644 libjava/classpath/lib/gnu/java/net/BASE64.class delete mode 100644 libjava/classpath/lib/gnu/java/security/util/Base64.class create mode 100644 libjava/classpath/lib/gnu/java/security/x509/ext/GeneralName$Kind.class create mode 100644 libjava/classpath/lib/gnu/java/security/x509/ext/GeneralName.class create mode 100644 libjava/classpath/lib/gnu/java/security/x509/ext/GeneralSubtree.class create mode 100644 libjava/classpath/lib/gnu/java/security/x509/ext/NameConstraints.class create mode 100644 libjava/classpath/lib/gnu/java/util/Base64.class create mode 100644 libjava/classpath/lib/gnu/javax/management/Translator.class delete mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/Base64.class create mode 100644 libjava/classpath/lib/java/awt/Desktop$Action.class create mode 100644 libjava/classpath/lib/java/awt/Desktop.class create mode 100644 libjava/classpath/lib/java/awt/datatransfer/SystemFlavorMap$1.class create mode 100644 libjava/classpath/lib/java/awt/peer/DesktopPeer.class create mode 100644 libjava/classpath/lib/java/beans/ConstructorProperties.class create mode 100644 libjava/classpath/lib/java/lang/Class$1.class create mode 100644 libjava/classpath/lib/java/lang/management/LockInfo.class create mode 100644 libjava/classpath/lib/java/lang/management/ManagementFactory$ManagementInvocationHandler.class create mode 100644 libjava/classpath/lib/java/lang/management/MonitorInfo.class create mode 100644 libjava/classpath/lib/java/text/spi/BreakIteratorProvider.class create mode 100644 libjava/classpath/lib/java/text/spi/CollatorProvider.class create mode 100644 libjava/classpath/lib/java/text/spi/DateFormatProvider.class create mode 100644 libjava/classpath/lib/java/text/spi/DateFormatSymbolsProvider.class create mode 100644 libjava/classpath/lib/java/text/spi/DecimalFormatSymbolsProvider.class create mode 100644 libjava/classpath/lib/java/text/spi/NumberFormatProvider.class create mode 100644 libjava/classpath/lib/java/util/Collections$LIFOQueue.class create mode 100644 libjava/classpath/lib/java/util/Collections$MapSet.class create mode 100644 libjava/classpath/lib/java/util/LinkedList$1.class create mode 100644 libjava/classpath/lib/java/util/ServiceConfigurationError.class create mode 100644 libjava/classpath/lib/java/util/ServiceLoader$1.class create mode 100644 libjava/classpath/lib/java/util/ServiceLoader.class create mode 100644 libjava/classpath/lib/java/util/TreeMap$7.class create mode 100644 libjava/classpath/lib/java/util/TreeMap$DescendingMap.class create mode 100644 libjava/classpath/lib/java/util/TreeMap$DescendingSet.class create mode 100644 libjava/classpath/lib/java/util/TreeMap$EntrySet.class create mode 100644 libjava/classpath/lib/java/util/TreeMap$KeySet.class create mode 100644 libjava/classpath/lib/java/util/TreeMap$NavigableEntrySet.class create mode 100644 libjava/classpath/lib/java/util/TreeMap$NavigableKeySet.class create mode 100644 libjava/classpath/lib/java/util/TreeMap$SubMap$EntrySet.class create mode 100644 libjava/classpath/lib/java/util/TreeMap$SubMap$KeySet.class create mode 100644 libjava/classpath/lib/java/util/TreeMap$SubMap$NavigableEntrySet.class create mode 100644 libjava/classpath/lib/java/util/TreeMap$SubMap$NavigableKeySet.class create mode 100644 libjava/classpath/lib/java/util/spi/CurrencyNameProvider.class create mode 100644 libjava/classpath/lib/java/util/spi/LocaleNameProvider.class create mode 100644 libjava/classpath/lib/java/util/spi/LocaleServiceProvider.class create mode 100644 libjava/classpath/lib/java/util/spi/TimeZoneNameProvider.class create mode 100644 libjava/classpath/lib/javax/activity/ActivityCompletedException.class create mode 100644 libjava/classpath/lib/javax/activity/ActivityRequiredException.class create mode 100644 libjava/classpath/lib/javax/activity/InvalidActivityException.class create mode 100644 libjava/classpath/lib/javax/management/AttributeChangeNotification.class create mode 100644 libjava/classpath/lib/javax/management/AttributeChangeNotificationFilter.class create mode 100644 libjava/classpath/lib/javax/management/AttributeValueExp.class create mode 100644 libjava/classpath/lib/javax/management/DefaultLoaderRepository.class create mode 100644 libjava/classpath/lib/javax/management/Descriptor.class create mode 100644 libjava/classpath/lib/javax/management/DescriptorAccess.class create mode 100644 libjava/classpath/lib/javax/management/DescriptorRead.class create mode 100644 libjava/classpath/lib/javax/management/JMX.class create mode 100644 libjava/classpath/lib/javax/management/MBeanServerInvocationHandler.class create mode 100644 libjava/classpath/lib/javax/management/MXBean.class create mode 100644 libjava/classpath/lib/javax/management/NotificationBroadcasterSupport$DispatchTask.class create mode 100644 libjava/classpath/lib/javax/management/NotificationBroadcasterSupport.class create mode 100644 libjava/classpath/lib/javax/management/NotificationFilterSupport.class create mode 100644 libjava/classpath/lib/javax/management/PersistentMBean.class create mode 100644 libjava/classpath/lib/javax/management/Query$AndQueryExp.class create mode 100644 libjava/classpath/lib/javax/management/Query$BetweenQueryExp.class create mode 100644 libjava/classpath/lib/javax/management/Query$BinaryOpValueExp.class create mode 100644 libjava/classpath/lib/javax/management/Query$BinaryRelQueryExp.class create mode 100644 libjava/classpath/lib/javax/management/Query$BooleanValueExp.class create mode 100644 libjava/classpath/lib/javax/management/Query$ClassAttributeValueExp.class create mode 100644 libjava/classpath/lib/javax/management/Query$InQueryExp.class create mode 100644 libjava/classpath/lib/javax/management/Query$InstanceOfQueryExp.class create mode 100644 libjava/classpath/lib/javax/management/Query$MatchQueryExp.class create mode 100644 libjava/classpath/lib/javax/management/Query$NotQueryExp.class create mode 100644 libjava/classpath/lib/javax/management/Query$NumericValueExp.class create mode 100644 libjava/classpath/lib/javax/management/Query$OrQueryExp.class create mode 100644 libjava/classpath/lib/javax/management/Query$QualifiedAttributeValueExp.class create mode 100644 libjava/classpath/lib/javax/management/Query.class create mode 100644 libjava/classpath/lib/javax/management/QueryEval.class create mode 100644 libjava/classpath/lib/javax/management/StringValueExp.class create mode 100644 libjava/classpath/lib/javax/management/openmbean/CompositeDataInvocationHandler.class create mode 100644 libjava/classpath/lib/javax/naming/directory/BasicAttributes$1.class create mode 100644 libjava/classpath/lib/javax/net/ssl/SSLServerSocketFactory$ErrorServerSocketFactory.class create mode 100644 libjava/classpath/lib/javax/net/ssl/SSLSocketFactory$ErrorSocketFactory.class create mode 100644 libjava/classpath/lib/javax/swing/TransferHandler$SwingDragGestureRecognizer.class create mode 100644 libjava/classpath/lib/javax/swing/TransferHandler$SwingDragHandler.class delete mode 100644 libjava/classpath/lib/jazzlib/index.html delete mode 100755 libjava/classpath/lib/jazzlib/makeJazzlibDist.sh delete mode 100755 libjava/classpath/lib/mkdep.pl.in create mode 100644 libjava/classpath/m4/ax_func_which_gethostbyname_r.m4 delete mode 100644 libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.c delete mode 100644 libjava/classpath/native/jni/gtk-peer/gthread-jni.c delete mode 100644 libjava/classpath/native/jni/gtk-peer/gthread-jni.h create mode 100644 libjava/classpath/native/jni/java-lang/gnu_java_lang_management_VMOperatingSystemMXBeanImpl.c create mode 100644 libjava/classpath/resource/META-INF/services/java.util.prefs.PreferencesFactory delete mode 100644 libjava/classpath/resource/META-INF/services/javax.xml.parsers.DocumentBuilderFactory delete mode 100644 libjava/classpath/resource/META-INF/services/javax.xml.parsers.SAXParserFactory delete mode 100644 libjava/classpath/resource/META-INF/services/javax.xml.parsers.TransformerFactory delete mode 100644 libjava/classpath/resource/META-INF/services/org.relaxng.datatype.DatatypeLibraryFactory delete mode 100644 libjava/classpath/resource/META-INF/services/org.xml.sax.driver delete mode 100644 libjava/classpath/scripts/build_mathnamespace delete mode 100644 libjava/classpath/scripts/checkstyle-config.xml delete mode 100644 libjava/classpath/scripts/checkstyle-header.regex delete mode 100644 libjava/classpath/scripts/checkstyle-suppressions.xml delete mode 100644 libjava/classpath/scripts/checkstyle.css delete mode 100644 libjava/classpath/scripts/checkstyle2html.xsl delete mode 100755 libjava/classpath/scripts/classpath-build delete mode 100755 libjava/classpath/scripts/classpath-daily delete mode 100644 libjava/classpath/scripts/eclipse-gnu.xml delete mode 100644 libjava/classpath/scripts/jalopy-gnu.xml delete mode 100755 libjava/classpath/scripts/japi delete mode 100755 libjava/classpath/scripts/kissme-mauve delete mode 100755 libjava/classpath/scripts/loc delete mode 100644 libjava/classpath/scripts/math_symbols delete mode 100755 libjava/classpath/scripts/patches.pl delete mode 100755 libjava/classpath/scripts/sanitize-jsr166 delete mode 100755 libjava/classpath/scripts/timezones.pl delete mode 100644 libjava/classpath/scripts/tzabbrevs delete mode 100755 libjava/classpath/scripts/unicode-blocks.pl delete mode 100755 libjava/classpath/scripts/unicode-muncher.pl create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup$6.class delete mode 100644 libjava/classpath/tools/external/README delete mode 100644 libjava/classpath/tools/external/asm/LICENSE.txt delete mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/attrs/package.html delete mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/commons/package.html delete mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/optimizer/shrink.properties delete mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/package.html delete mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/signature/package.html delete mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/package.html delete mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/tree/package.html delete mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/util/attrs/package.html delete mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/util/package.html delete mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/xml/asm-xml.dtd delete mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/xml/package.html delete mode 100644 libjava/classpath/tools/gnu/classpath/tools/getopt/package.html delete mode 100644 libjava/classpath/tools/gnu/classpath/tools/jarsigner/package.html delete mode 100644 libjava/classpath/tools/gnu/classpath/tools/keytool/package.html delete mode 100644 libjava/classpath/tools/gnu/classpath/tools/rmi/registry/package.html create mode 100644 libjava/classpath/vm/reference/gnu/java/lang/management/VMOperatingSystemMXBeanImpl.java create mode 100644 libjava/gnu/classpath/Pair.h delete mode 100644 libjava/gnu/classpath/jdwp/util/Value.h create mode 100644 libjava/gnu/java/awt/ClasspathGraphicsEnvironment.h create mode 100644 libjava/gnu/java/awt/font/autofit/AutoHinter.h create mode 100644 libjava/gnu/java/awt/font/autofit/Edge.h create mode 100644 libjava/gnu/java/awt/font/autofit/HintScaler.h create mode 100644 libjava/gnu/java/awt/font/autofit/LatinBlue.h delete mode 100644 libjava/gnu/java/awt/font/autofit/Scaler.h create mode 100644 libjava/gnu/java/awt/font/autofit/Utils.h create mode 100644 libjava/gnu/java/awt/font/opentype/Hinter.h create mode 100644 libjava/gnu/java/awt/font/opentype/truetype/Point.h create mode 100644 libjava/gnu/java/awt/java2d/ActiveEdges.h create mode 100644 libjava/gnu/java/awt/java2d/Scanline.h create mode 100644 libjava/gnu/java/awt/java2d/ScanlineConverter.h create mode 100644 libjava/gnu/java/awt/peer/ClasspathDesktopPeer.h create mode 100644 libjava/gnu/java/awt/peer/ClasspathFontPeer$LRUCache.h create mode 100644 libjava/gnu/java/awt/peer/GnomeDesktopPeer.h create mode 100644 libjava/gnu/java/awt/peer/KDEDesktopPeer.h delete mode 100644 libjava/gnu/java/awt/peer/gtk/CairoSurface$CairoDataBuffer.h delete mode 100644 libjava/gnu/java/awt/peer/gtk/GThreadMutex.h delete mode 100644 libjava/gnu/java/awt/peer/gtk/GThreadNativeMethodRunner.h delete mode 100644 libjava/gnu/java/awt/peer/gtk/GdkFontMetrics.h delete mode 100644 libjava/gnu/java/awt/peer/gtk/GtkToolkit$1.h delete mode 100644 libjava/gnu/java/lang/management/MemoryMXBeanImpl$ListenerData.h create mode 100644 libjava/gnu/java/lang/management/VMOperatingSystemMXBeanImpl.h create mode 100644 libjava/gnu/java/lang/management/VMOperatingSystemMXBeanImpl.java create mode 100644 libjava/gnu/java/lang/management/natVMOperatingSystemMXBeanImpl.cc create mode 100644 libjava/gnu/java/math/Fixed.h delete mode 100644 libjava/gnu/java/net/BASE64.h delete mode 100644 libjava/gnu/java/nio/EpollSelectionKeyImpl.h delete mode 100644 libjava/gnu/java/nio/KqueueSelectionKeyImpl.h delete mode 100644 libjava/gnu/java/security/util/Base64.h create mode 100644 libjava/gnu/java/security/x509/ext/GeneralName$Kind.h create mode 100644 libjava/gnu/java/security/x509/ext/GeneralName.h create mode 100644 libjava/gnu/java/security/x509/ext/GeneralSubtree.h create mode 100644 libjava/gnu/java/security/x509/ext/NameConstraints.h create mode 100644 libjava/gnu/java/util/Base64.h create mode 100644 libjava/gnu/javax/management/Translator.h delete mode 100644 libjava/gnu/javax/net/ssl/Base64.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/CertificateRequest$ClientType.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/Context.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/DigestInputStream.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/DigestOutputStream.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/Enumerated.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/Extensions.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/GNUSecurityParameters.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/Handshake$buffer.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/JCESecurityParameters.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/JDBCSessionContext.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/JessieDHPrivateKey.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/JessieDHPublicKey.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/JessieRSAPrivateKey.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/JessieRSAPublicKey.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/KeyPool.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/OverflowException.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/RecordInput.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/RecordInputStream.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/RecordOutputStream.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/RecordingInputStream.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/SSLRSASignature.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/SSLServerSocket.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/SSLServerSocketFactory.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/SSLSocket.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/SSLSocketFactory.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/SSLSocketInputStream.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/SSLSocketOutputStream.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/SecurityParameters.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/Session$ID.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/Session.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/SessionContext.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/SynchronizedRandom.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/XMLSessionContext$SAXHandler.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/XMLSessionContext.h delete mode 100644 libjava/gnu/javax/swing/text/html/parser/HTML_401Swing.h create mode 100644 libjava/java/awt/Desktop$Action.h create mode 100644 libjava/java/awt/Desktop.h create mode 100644 libjava/java/awt/datatransfer/SystemFlavorMap$1.h create mode 100644 libjava/java/awt/peer/DesktopPeer.h create mode 100644 libjava/java/beans/ConstructorProperties.h create mode 100644 libjava/java/lang/Class$1.h delete mode 100644 libjava/java/lang/SecurityContext.h create mode 100644 libjava/java/lang/management/LockInfo.h create mode 100644 libjava/java/lang/management/ManagementFactory$ManagementInvocationHandler.h create mode 100644 libjava/java/lang/management/MonitorInfo.h delete mode 100644 libjava/java/net/URLClassLoader$CoreResource.h delete mode 100644 libjava/java/net/URLClassLoader$CoreURLLoader.h delete mode 100644 libjava/java/net/URLClassLoader$FileResource.h delete mode 100644 libjava/java/net/URLClassLoader$FileURLLoader.h delete mode 100644 libjava/java/net/URLClassLoader$JarURLLoader.h delete mode 100644 libjava/java/net/URLClassLoader$JarURLResource.h delete mode 100644 libjava/java/net/URLClassLoader$RemoteResource.h delete mode 100644 libjava/java/net/URLClassLoader$RemoteURLLoader.h delete mode 100644 libjava/java/net/URLClassLoader$Resource.h delete mode 100644 libjava/java/net/URLClassLoader$SoResource.h delete mode 100644 libjava/java/net/URLClassLoader$SoURLLoader.h delete mode 100644 libjava/java/net/URLClassLoader$URLLoader.h create mode 100644 libjava/java/text/spi/BreakIteratorProvider.h create mode 100644 libjava/java/text/spi/CollatorProvider.h create mode 100644 libjava/java/text/spi/DateFormatProvider.h create mode 100644 libjava/java/text/spi/DateFormatSymbolsProvider.h create mode 100644 libjava/java/text/spi/DecimalFormatSymbolsProvider.h create mode 100644 libjava/java/text/spi/NumberFormatProvider.h create mode 100644 libjava/java/util/Collections$LIFOQueue.h create mode 100644 libjava/java/util/Collections$MapSet.h create mode 100644 libjava/java/util/LinkedList$1.h delete mode 100644 libjava/java/util/Locale.java create mode 100644 libjava/java/util/ServiceConfigurationError.h create mode 100644 libjava/java/util/ServiceLoader$1.h create mode 100644 libjava/java/util/ServiceLoader.h create mode 100644 libjava/java/util/TreeMap$7.h create mode 100644 libjava/java/util/TreeMap$DescendingMap.h create mode 100644 libjava/java/util/TreeMap$DescendingSet.h create mode 100644 libjava/java/util/TreeMap$EntrySet.h create mode 100644 libjava/java/util/TreeMap$KeySet.h create mode 100644 libjava/java/util/TreeMap$NavigableEntrySet.h create mode 100644 libjava/java/util/TreeMap$NavigableKeySet.h create mode 100644 libjava/java/util/TreeMap$SubMap$EntrySet.h create mode 100644 libjava/java/util/TreeMap$SubMap$KeySet.h create mode 100644 libjava/java/util/TreeMap$SubMap$NavigableEntrySet.h create mode 100644 libjava/java/util/TreeMap$SubMap$NavigableKeySet.h create mode 100644 libjava/java/util/spi/CurrencyNameProvider.h create mode 100644 libjava/java/util/spi/LocaleNameProvider.h create mode 100644 libjava/java/util/spi/LocaleServiceProvider.h create mode 100644 libjava/java/util/spi/TimeZoneNameProvider.h create mode 100644 libjava/javax/activity/ActivityCompletedException.h create mode 100644 libjava/javax/activity/ActivityRequiredException.h create mode 100644 libjava/javax/activity/InvalidActivityException.h create mode 100644 libjava/javax/management/AttributeChangeNotification.h create mode 100644 libjava/javax/management/AttributeChangeNotificationFilter.h create mode 100644 libjava/javax/management/AttributeValueExp.h create mode 100644 libjava/javax/management/DefaultLoaderRepository.h create mode 100644 libjava/javax/management/Descriptor.h create mode 100644 libjava/javax/management/DescriptorAccess.h create mode 100644 libjava/javax/management/DescriptorRead.h create mode 100644 libjava/javax/management/JMX.h create mode 100644 libjava/javax/management/MBeanServerInvocationHandler.h create mode 100644 libjava/javax/management/MXBean.h create mode 100644 libjava/javax/management/NotificationBroadcasterSupport$DispatchTask.h create mode 100644 libjava/javax/management/NotificationBroadcasterSupport.h create mode 100644 libjava/javax/management/NotificationFilterSupport.h create mode 100644 libjava/javax/management/PersistentMBean.h create mode 100644 libjava/javax/management/Query$AndQueryExp.h create mode 100644 libjava/javax/management/Query$BetweenQueryExp.h create mode 100644 libjava/javax/management/Query$BinaryOpValueExp.h create mode 100644 libjava/javax/management/Query$BinaryRelQueryExp.h create mode 100644 libjava/javax/management/Query$BooleanValueExp.h create mode 100644 libjava/javax/management/Query$ClassAttributeValueExp.h create mode 100644 libjava/javax/management/Query$InQueryExp.h create mode 100644 libjava/javax/management/Query$InstanceOfQueryExp.h create mode 100644 libjava/javax/management/Query$MatchQueryExp.h create mode 100644 libjava/javax/management/Query$NotQueryExp.h create mode 100644 libjava/javax/management/Query$NumericValueExp.h create mode 100644 libjava/javax/management/Query$OrQueryExp.h create mode 100644 libjava/javax/management/Query$QualifiedAttributeValueExp.h create mode 100644 libjava/javax/management/Query.h create mode 100644 libjava/javax/management/QueryEval.h create mode 100644 libjava/javax/management/StringValueExp.h create mode 100644 libjava/javax/management/openmbean/CompositeDataInvocationHandler.h create mode 100644 libjava/javax/naming/directory/BasicAttributes$1.h create mode 100644 libjava/javax/net/ssl/SSLServerSocketFactory$ErrorServerSocketFactory.h create mode 100644 libjava/javax/net/ssl/SSLSocketFactory$ErrorSocketFactory.h delete mode 100644 libjava/javax/swing/AbstractButton$2.h delete mode 100644 libjava/javax/swing/AbstractButton$3.h create mode 100644 libjava/javax/swing/TransferHandler$SwingDragGestureRecognizer.h create mode 100644 libjava/javax/swing/TransferHandler$SwingDragHandler.h delete mode 100644 libjava/javax/swing/plaf/basic/BasicTextUI$1.h delete mode 100644 libjava/javax/swing/plaf/basic/BasicTextUI$DocumentHandler.h delete mode 100644 libjava/javax/swing/plaf/basic/BasicTextUI$PropertyChangeHandler.h delete mode 100644 libjava/javax/swing/plaf/basic/BasicTreeUI$2.h delete mode 100644 libjava/javax/swing/plaf/metal/MetalSplitPaneDivider$MetalDividerLayout.h delete mode 100644 libjava/javax/swing/text/AbstractDocument$1.h delete mode 100644 libjava/javax/swing/text/AbstractDocument$2.h delete mode 100644 libjava/javax/swing/text/DefaultStyledDocument$Edit.h delete mode 100644 libjava/javax/swing/text/html/StyleSheet$CssParser.h delete mode 100644 libjava/javax/swing/tree/DefaultTreeCellEditor$RealEditorListener.h diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 6b8d139..357c157 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,91 @@ +2007-06-03 Matthias Klose + + * java/io/natFileWin32.cc (setFilePermissions): New (stub only). + _access: Handle EXEC query, stub only. + +2007-06-03 Matthias Klose + + Merged from classpath: + * gnu/java/nio/SelectorProviderImpl.java: Whitespace merge. + * java/lang/System.java(inheritedChannel): New. + * java/lang/Character.java: Remove stray`;'. + * java/net/MulticastSocket.java: Merged. + * java/text/DateFormatSymbols.java(getInstance): New, comment updates. + * java/text/Collator.java(getInstance): Merged. + * java/util/Calendar.java: New attributes ALL_STYLES, SHORT, LONG. + getDisplayName, getDisplayNames: New. + * java/util/logging/Logger.java: Merged. + * Regenerate .class and .h files. + +2007-06-03 Matthias Klose + + * java/io/File.java: Merge with classpath-0.95, new method + setFilePermissions, new attribute EXEC. + * java/io/natFilePosix.cc (setFilePermissions): New. + _access: Handle EXEC query. + * classpath/lib/java/io/File.class, java/io/File.h: Regenerate. + +2007-06-03 Matthias Klose + + Imported GNU Classpath 0.95. + + * classpath/Makefile.in, + classpath/native/jni/midi-dssi/Makefile.in, + classpath/native/jni/classpath/Makefile.in, + classpath/native/jni/Makefile.in, + classpath/native/jni/gconf-peer/Makefile.in, + classpath/native/jni/java-io/Makefile.in, + classpath/native/jni/native-lib/Makefile.in, + classpath/native/jni/java-util/Makefile.in, + classpath/native/jni/midi-alsa/Makefile.in, + classpath/native/jni/java-lang/Makefile.in, + classpath/native/jni/java-nio/Makefile.in, + classpath/native/jni/java-net/Makefile.in, + classpath/native/jni/xmlj/Makefile.in, + classpath/native/jni/qt-peer/Makefile.in, + classpath/native/jni/gtk-peer/Makefile.in, + classpath/native/Makefile.in, classpath/native/jawt/Makefile.in, + classpath/native/fdlibm/Makefile.in, + classpath/native/plugin/Makefile.in, + classpath/resource/Makefile.in, classpath/scripts/Makefile.in, + classpath/tools/Makefile.in, classpath/doc/Makefile.in, + classpath/doc/api/Makefile.in, classpath/lib/Makefile.in, + classpath/external/Makefile.in, classpath/external/jsr166/Makefile.in, + classpath/external/sax/Makefile.in, + classpath/external/w3c_dom/Makefile.in, + classpath/external/relaxngDatatype/Makefile.in, + classpath/include/Makefile.in, + classpath/examples/Makefile.in: Regenerate. + * classpath/config.guess, classpath/config.sub, + classpath/ltmain.sh : Update. + * classpath/configure, classpath/depcomp, classpath/missing, + classpath/aclocal.m4, classpath/install-sh: Regenerate. + + * gnu/classpath/Configuration.java (CLASSPATH_VERSION): Now 0.95. + * sources.am: Regenerate. + * Makefile.in: Regenerate. + + * Update the .class files and generated CNI header files, add new + .class and generated CNI header files. + * Remove generated files for removed java source files: + classpath/gnu/java/net/BASE64.java, + classpath/gnu/java/security/util/Base64.java, + classpath/gnu/java/awt/peer/gtk/GThreadMutex.java, + classpath/gnu/java/awt/peer/gtk/GThreadNativeMethodRunner.java, + classpath/gnu/java/awt/font/autofit/Scaler.java, + classpath/gnu/classpath/jdwp/util/Value.java, + classpath/gnu/javax/net/ssl/Base64.java. + * Remove empty directories. + + * Makefile.am(nat_source_files): Add natVMOperatingSystemMXBeanImpl.cc. + * java/lang/Class.java(setAccessible): Merge from classpath. + * java/util/Locale.java: Remove. + * gnu/java/lang/management/VMOperatingSystemMXBeanImpl.java, + gnu/java/lang/management/natVMOperatingSystemMXBeanImpl.cc: New. + * gcj/javaprims.h: Update class declarations. + * scripts/classes.pl: Update usage. + * HACKING: Mention to build all peers. + 2007-06-02 Paolo Bonzini * configure: Regenerate. diff --git a/libjava/HACKING b/libjava/HACKING index f32a3a5..dc5e144 100644 --- a/libjava/HACKING +++ b/libjava/HACKING @@ -89,6 +89,8 @@ To import a new release: scripts/makemake.tcl > sources.am automake - Build, fix, till everything works. + Be sure to build all peers (--enable-java-awt=gtk,xlib,qt + --enable-gconf-peer) Be sure to update gnu/classpath/Configuration.java to reflect the new version Possibly update the gcj/javaprims.h file with scripts/classes.pl diff --git a/libjava/Makefile.am b/libjava/Makefile.am index 3af6492..9cd5cbe 100644 --- a/libjava/Makefile.am +++ b/libjava/Makefile.am @@ -864,6 +864,7 @@ gnu/java/lang/management/natVMGarbageCollectorMXBeanImpl.cc \ gnu/java/lang/management/natVMMemoryMXBeanImpl.cc \ gnu/java/lang/management/natVMMemoryManagerMXBeanImpl.cc \ gnu/java/lang/management/natVMMemoryPoolMXBeanImpl.cc \ +gnu/java/lang/management/natVMOperatingSystemMXBeanImpl.cc \ gnu/java/lang/management/natVMRuntimeMXBeanImpl.cc \ gnu/java/lang/management/natVMThreadMXBeanImpl.cc \ gnu/java/net/natPlainDatagramSocketImpl.cc \ diff --git a/libjava/Makefile.in b/libjava/Makefile.in index 9465498..20f904b 100644 --- a/libjava/Makefile.in +++ b/libjava/Makefile.in @@ -244,11 +244,12 @@ am__DEPENDENCIES_1 = gnu/awt.lo gnu/awt/j2d.lo gnu/classpath.lo \ java/rmi/activation.lo java/rmi/dgc.lo java/rmi/registry.lo \ java/rmi/server.lo java/security.lo java/security/acl.lo \ java/security/cert.lo java/security/interfaces.lo \ - java/security/spec.lo java/sql.lo java/text.lo java/util.lo \ - java/util/concurrent.lo java/util/concurrent/atomic.lo \ - java/util/concurrent/locks.lo java/util/jar.lo \ - java/util/logging.lo java/util/prefs.lo java/util/regex.lo \ - java/util/zip.lo javax/accessibility.lo javax/crypto.lo \ + java/security/spec.lo java/sql.lo java/text.lo \ + java/text/spi.lo java/util.lo java/util/concurrent.lo \ + java/util/concurrent/atomic.lo java/util/concurrent/locks.lo \ + java/util/jar.lo java/util/logging.lo java/util/prefs.lo \ + java/util/regex.lo java/util/spi.lo java/util/zip.lo \ + javax/accessibility.lo javax/activity.lo javax/crypto.lo \ javax/crypto/interfaces.lo javax/crypto/spec.lo \ javax/management.lo javax/management/loading.lo \ javax/management/openmbean.lo javax/naming.lo \ @@ -314,6 +315,7 @@ am__libgcj_la_SOURCES_DIST = prims.cc jni.cc jvmti.cc exception.cc \ gnu/java/lang/management/natVMMemoryMXBeanImpl.cc \ gnu/java/lang/management/natVMMemoryManagerMXBeanImpl.cc \ gnu/java/lang/management/natVMMemoryPoolMXBeanImpl.cc \ + gnu/java/lang/management/natVMOperatingSystemMXBeanImpl.cc \ gnu/java/lang/management/natVMRuntimeMXBeanImpl.cc \ gnu/java/lang/management/natVMThreadMXBeanImpl.cc \ gnu/java/net/natPlainDatagramSocketImpl.cc \ @@ -376,6 +378,7 @@ am__objects_2 = gnu/classpath/jdwp/natVMFrame.lo \ gnu/java/lang/management/natVMMemoryMXBeanImpl.lo \ gnu/java/lang/management/natVMMemoryManagerMXBeanImpl.lo \ gnu/java/lang/management/natVMMemoryPoolMXBeanImpl.lo \ + gnu/java/lang/management/natVMOperatingSystemMXBeanImpl.lo \ gnu/java/lang/management/natVMRuntimeMXBeanImpl.lo \ gnu/java/lang/management/natVMThreadMXBeanImpl.lo \ gnu/java/net/natPlainDatagramSocketImpl.lo \ @@ -1152,6 +1155,7 @@ gnu_awt_xlib_header_files = $(patsubst %.java,%.h,$(gnu_awt_xlib_source_files)) gnu_classpath_source_files = \ gnu/classpath/Configuration.java \ classpath/gnu/classpath/NotImplementedException.java \ +classpath/gnu/classpath/Pair.java \ classpath/gnu/classpath/Pointer.java \ classpath/gnu/classpath/Pointer32.java \ classpath/gnu/classpath/Pointer64.java \ @@ -1294,7 +1298,6 @@ classpath/gnu/classpath/jdwp/util/MethodResult.java \ classpath/gnu/classpath/jdwp/util/MonitorInfo.java \ classpath/gnu/classpath/jdwp/util/NullObject.java \ classpath/gnu/classpath/jdwp/util/Signature.java \ -classpath/gnu/classpath/jdwp/util/Value.java \ classpath/gnu/classpath/jdwp/util/VariableTable.java gnu_classpath_jdwp_util_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_classpath_jdwp_util_source_files))) @@ -1412,6 +1415,7 @@ classpath/gnu/java/awt/AWTUtilities.java \ classpath/gnu/java/awt/BitMaskExtent.java \ classpath/gnu/java/awt/BitwiseXORComposite.java \ classpath/gnu/java/awt/Buffers.java \ +classpath/gnu/java/awt/ClasspathGraphicsEnvironment.java \ classpath/gnu/java/awt/ClasspathToolkit.java \ classpath/gnu/java/awt/ComponentDataBlitOp.java \ classpath/gnu/java/awt/ComponentReshapeEvent.java \ @@ -1453,22 +1457,27 @@ classpath/gnu/java/awt/font/GNUGlyphVector.java gnu_java_awt_font_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_java_awt_font_source_files))) gnu_java_awt_font_autofit_source_files = \ +classpath/gnu/java/awt/font/autofit/AutoHinter.java \ classpath/gnu/java/awt/font/autofit/AxisHints.java \ classpath/gnu/java/awt/font/autofit/Constants.java \ +classpath/gnu/java/awt/font/autofit/Edge.java \ classpath/gnu/java/awt/font/autofit/GlyphHints.java \ +classpath/gnu/java/awt/font/autofit/HintScaler.java \ classpath/gnu/java/awt/font/autofit/Latin.java \ classpath/gnu/java/awt/font/autofit/LatinAxis.java \ +classpath/gnu/java/awt/font/autofit/LatinBlue.java \ classpath/gnu/java/awt/font/autofit/LatinMetrics.java \ -classpath/gnu/java/awt/font/autofit/Scaler.java \ classpath/gnu/java/awt/font/autofit/Script.java \ classpath/gnu/java/awt/font/autofit/ScriptMetrics.java \ classpath/gnu/java/awt/font/autofit/Segment.java \ +classpath/gnu/java/awt/font/autofit/Utils.java \ classpath/gnu/java/awt/font/autofit/Width.java gnu_java_awt_font_autofit_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_java_awt_font_autofit_source_files))) gnu_java_awt_font_opentype_source_files = \ classpath/gnu/java/awt/font/opentype/CharGlyphMap.java \ classpath/gnu/java/awt/font/opentype/GlyphNamer.java \ +classpath/gnu/java/awt/font/opentype/Hinter.java \ classpath/gnu/java/awt/font/opentype/MacResourceFork.java \ classpath/gnu/java/awt/font/opentype/NameDecoder.java \ classpath/gnu/java/awt/font/opentype/OpenTypeFont.java \ @@ -1481,6 +1490,7 @@ classpath/gnu/java/awt/font/opentype/truetype/Fixed.java \ classpath/gnu/java/awt/font/opentype/truetype/GlyphLoader.java \ classpath/gnu/java/awt/font/opentype/truetype/GlyphLocator.java \ classpath/gnu/java/awt/font/opentype/truetype/GlyphMeasurer.java \ +classpath/gnu/java/awt/font/opentype/truetype/Point.java \ classpath/gnu/java/awt/font/opentype/truetype/TrueTypeScaler.java \ classpath/gnu/java/awt/font/opentype/truetype/VirtualMachine.java \ classpath/gnu/java/awt/font/opentype/truetype/Zone.java \ @@ -1494,6 +1504,7 @@ classpath/gnu/java/awt/image/XBMDecoder.java gnu_java_awt_image_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_java_awt_image_source_files))) gnu_java_awt_java2d_source_files = \ classpath/gnu/java/awt/java2d/AbstractGraphics2D.java \ +classpath/gnu/java/awt/java2d/ActiveEdges.java \ classpath/gnu/java/awt/java2d/AlphaCompositeContext.java \ classpath/gnu/java/awt/java2d/CubicSegment.java \ classpath/gnu/java/awt/java2d/ImagePaint.java \ @@ -1502,15 +1513,20 @@ classpath/gnu/java/awt/java2d/PolyEdge.java \ classpath/gnu/java/awt/java2d/PolyEdgeComparator.java \ classpath/gnu/java/awt/java2d/QuadSegment.java \ classpath/gnu/java/awt/java2d/RasterGraphics.java \ +classpath/gnu/java/awt/java2d/Scanline.java \ +classpath/gnu/java/awt/java2d/ScanlineConverter.java \ classpath/gnu/java/awt/java2d/Segment.java \ classpath/gnu/java/awt/java2d/ShapeCache.java \ classpath/gnu/java/awt/java2d/TexturePaintContext.java gnu_java_awt_java2d_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_java_awt_java2d_source_files))) gnu_java_awt_peer_source_files = \ +classpath/gnu/java/awt/peer/ClasspathDesktopPeer.java \ classpath/gnu/java/awt/peer/ClasspathFontPeer.java \ classpath/gnu/java/awt/peer/EmbeddedWindowPeer.java \ classpath/gnu/java/awt/peer/GLightweightPeer.java \ +classpath/gnu/java/awt/peer/GnomeDesktopPeer.java \ +classpath/gnu/java/awt/peer/KDEDesktopPeer.java \ classpath/gnu/java/awt/peer/NativeEventLoopRunningEvent.java gnu_java_awt_peer_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_java_awt_peer_source_files))) @@ -1523,8 +1539,6 @@ classpath/gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java \ classpath/gnu/java/awt/peer/gtk/ComponentGraphics.java \ classpath/gnu/java/awt/peer/gtk/ComponentGraphicsCopy.java \ classpath/gnu/java/awt/peer/gtk/FreetypeGlyphVector.java \ -classpath/gnu/java/awt/peer/gtk/GThreadMutex.java \ -classpath/gnu/java/awt/peer/gtk/GThreadNativeMethodRunner.java \ classpath/gnu/java/awt/peer/gtk/GdkFontPeer.java \ classpath/gnu/java/awt/peer/gtk/GdkGraphicsConfiguration.java \ classpath/gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java \ @@ -1782,6 +1796,7 @@ gnu/java/lang/management/VMGarbageCollectorMXBeanImpl.java \ gnu/java/lang/management/VMMemoryMXBeanImpl.java \ gnu/java/lang/management/VMMemoryManagerMXBeanImpl.java \ gnu/java/lang/management/VMMemoryPoolMXBeanImpl.java \ +gnu/java/lang/management/VMOperatingSystemMXBeanImpl.java \ gnu/java/lang/management/VMRuntimeMXBeanImpl.java \ gnu/java/lang/management/VMThreadMXBeanImpl.java @@ -1940,11 +1955,11 @@ gnu/java/locale/LocaleInformation_zh_TW.java gnu_java_locale_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_java_locale_source_files))) gnu_java_math_source_files = \ +classpath/gnu/java/math/Fixed.java \ classpath/gnu/java/math/MPN.java gnu_java_math_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_java_math_source_files))) gnu_java_net_source_files = \ -classpath/gnu/java/net/BASE64.java \ classpath/gnu/java/net/CRLFInputStream.java \ classpath/gnu/java/net/CRLFOutputStream.java \ classpath/gnu/java/net/DefaultContentHandlerFactory.java \ @@ -2371,7 +2386,6 @@ classpath/gnu/java/security/sig/rsa/RSASignatureFactory.java gnu_java_security_sig_rsa_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_java_security_sig_rsa_source_files))) gnu_java_security_util_source_files = \ -classpath/gnu/java/security/util/Base64.java \ classpath/gnu/java/security/util/ByteArray.java \ classpath/gnu/java/security/util/ByteBufferOutputStream.java \ classpath/gnu/java/security/util/DerUtil.java \ @@ -2405,9 +2419,12 @@ classpath/gnu/java/security/x509/ext/CRLNumber.java \ classpath/gnu/java/security/x509/ext/CertificatePolicies.java \ classpath/gnu/java/security/x509/ext/ExtendedKeyUsage.java \ classpath/gnu/java/security/x509/ext/Extension.java \ +classpath/gnu/java/security/x509/ext/GeneralName.java \ classpath/gnu/java/security/x509/ext/GeneralNames.java \ +classpath/gnu/java/security/x509/ext/GeneralSubtree.java \ classpath/gnu/java/security/x509/ext/IssuerAlternativeNames.java \ classpath/gnu/java/security/x509/ext/KeyUsage.java \ +classpath/gnu/java/security/x509/ext/NameConstraints.java \ classpath/gnu/java/security/x509/ext/PolicyConstraint.java \ classpath/gnu/java/security/x509/ext/PolicyMappings.java \ classpath/gnu/java/security/x509/ext/PrivateKeyUsagePeriod.java \ @@ -2429,6 +2446,7 @@ classpath/gnu/java/text/WordBreakIterator.java gnu_java_text_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_java_text_source_files))) gnu_java_util_source_files = \ +classpath/gnu/java/util/Base64.java \ classpath/gnu/java/util/DoubleEnumeration.java \ classpath/gnu/java/util/EmptyEnumeration.java \ classpath/gnu/java/util/WeakIdentityHashMap.java \ @@ -2914,7 +2932,8 @@ classpath/gnu/javax/imageio/png/PNGTime.java gnu_javax_imageio_png_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_javax_imageio_png_source_files))) gnu_javax_management_source_files = \ classpath/gnu/javax/management/ListenerData.java \ -classpath/gnu/javax/management/Server.java +classpath/gnu/javax/management/Server.java \ +classpath/gnu/javax/management/Translator.java gnu_javax_naming_giop_source_files = \ classpath/gnu/javax/naming/giop/ContextContinuation.java \ @@ -2946,7 +2965,6 @@ classpath/gnu/javax/naming/jndi/url/rmi/rmiURLContextFactory.java gnu_javax_naming_jndi_url_rmi_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_javax_naming_jndi_url_rmi_source_files))) gnu_javax_net_ssl_source_files = \ classpath/gnu/javax/net/ssl/AbstractSessionContext.java \ -classpath/gnu/javax/net/ssl/Base64.java \ classpath/gnu/javax/net/ssl/EntropySource.java \ classpath/gnu/javax/net/ssl/NullManagerParameters.java \ classpath/gnu/javax/net/ssl/PreSharedKeyManager.java \ @@ -3754,6 +3772,7 @@ classpath/java/awt/ContainerOrderFocusTraversalPolicy.java \ classpath/java/awt/Cursor.java \ classpath/java/awt/DefaultFocusTraversalPolicy.java \ classpath/java/awt/DefaultKeyboardFocusManager.java \ +classpath/java/awt/Desktop.java \ classpath/java/awt/Dialog.java \ classpath/java/awt/Dimension.java \ classpath/java/awt/DisplayMode.java \ @@ -4059,6 +4078,7 @@ classpath/java/awt/peer/CheckboxPeer.java \ classpath/java/awt/peer/ChoicePeer.java \ classpath/java/awt/peer/ComponentPeer.java \ classpath/java/awt/peer/ContainerPeer.java \ +classpath/java/awt/peer/DesktopPeer.java \ classpath/java/awt/peer/DialogPeer.java \ classpath/java/awt/peer/FileDialogPeer.java \ classpath/java/awt/peer/FontPeer.java \ @@ -4101,6 +4121,7 @@ classpath/java/beans/AppletInitializer.java \ classpath/java/beans/BeanDescriptor.java \ classpath/java/beans/BeanInfo.java \ classpath/java/beans/Beans.java \ +classpath/java/beans/ConstructorProperties.java \ classpath/java/beans/Customizer.java \ classpath/java/beans/DefaultPersistenceDelegate.java \ classpath/java/beans/DesignMode.java \ @@ -4367,6 +4388,7 @@ java_lang_management_source_files = \ classpath/java/lang/management/ClassLoadingMXBean.java \ classpath/java/lang/management/CompilationMXBean.java \ classpath/java/lang/management/GarbageCollectorMXBean.java \ +classpath/java/lang/management/LockInfo.java \ classpath/java/lang/management/ManagementFactory.java \ classpath/java/lang/management/ManagementPermission.java \ classpath/java/lang/management/MemoryMXBean.java \ @@ -4375,6 +4397,7 @@ classpath/java/lang/management/MemoryNotificationInfo.java \ classpath/java/lang/management/MemoryPoolMXBean.java \ classpath/java/lang/management/MemoryType.java \ classpath/java/lang/management/MemoryUsage.java \ +classpath/java/lang/management/MonitorInfo.java \ classpath/java/lang/management/OperatingSystemMXBean.java \ classpath/java/lang/management/RuntimeMXBean.java \ classpath/java/lang/management/ThreadInfo.java \ @@ -4878,6 +4901,15 @@ classpath/java/text/SimpleDateFormat.java \ classpath/java/text/StringCharacterIterator.java java_text_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(java_text_source_files))) +java_text_spi_source_files = \ +classpath/java/text/spi/BreakIteratorProvider.java \ +classpath/java/text/spi/CollatorProvider.java \ +classpath/java/text/spi/DateFormatProvider.java \ +classpath/java/text/spi/DateFormatSymbolsProvider.java \ +classpath/java/text/spi/DecimalFormatSymbolsProvider.java \ +classpath/java/text/spi/NumberFormatProvider.java + +java_text_spi_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(java_text_spi_source_files))) java_util_source_files = \ classpath/java/util/AbstractCollection.java \ classpath/java/util/AbstractList.java \ @@ -4931,7 +4963,7 @@ classpath/java/util/LinkedList.java \ classpath/java/util/List.java \ classpath/java/util/ListIterator.java \ classpath/java/util/ListResourceBundle.java \ -java/util/Locale.java \ +classpath/java/util/Locale.java \ classpath/java/util/Map.java \ classpath/java/util/MissingFormatArgumentException.java \ classpath/java/util/MissingFormatWidthException.java \ @@ -4950,6 +4982,8 @@ classpath/external/jsr166/java/util/Queue.java \ classpath/java/util/Random.java \ classpath/java/util/RandomAccess.java \ classpath/java/util/ResourceBundle.java \ +classpath/java/util/ServiceConfigurationError.java \ +classpath/java/util/ServiceLoader.java \ classpath/java/util/Set.java \ classpath/java/util/SimpleTimeZone.java \ classpath/java/util/SortedMap.java \ @@ -5093,6 +5127,13 @@ classpath/java/util/regex/Pattern.java \ classpath/java/util/regex/PatternSyntaxException.java java_util_regex_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(java_util_regex_source_files))) +java_util_spi_source_files = \ +classpath/java/util/spi/CurrencyNameProvider.java \ +classpath/java/util/spi/LocaleNameProvider.java \ +classpath/java/util/spi/LocaleServiceProvider.java \ +classpath/java/util/spi/TimeZoneNameProvider.java + +java_util_spi_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(java_util_spi_source_files))) java_util_zip_source_files = \ classpath/java/util/zip/Adler32.java \ classpath/java/util/zip/CRC32.java \ @@ -5144,6 +5185,12 @@ classpath/javax/accessibility/AccessibleTextSequence.java \ classpath/javax/accessibility/AccessibleValue.java javax_accessibility_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(javax_accessibility_source_files))) +javax_activity_source_files = \ +classpath/javax/activity/ActivityCompletedException.java \ +classpath/javax/activity/ActivityRequiredException.java \ +classpath/javax/activity/InvalidActivityException.java + +javax_activity_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(javax_activity_source_files))) javax_crypto_source_files = \ classpath/javax/crypto/BadPaddingException.java \ classpath/javax/crypto/Cipher.java \ @@ -5245,11 +5292,18 @@ classpath/javax/imageio/stream/MemoryCacheImageOutputStream.java javax_management_source_files = \ classpath/javax/management/Attribute.java \ +classpath/javax/management/AttributeChangeNotification.java \ +classpath/javax/management/AttributeChangeNotificationFilter.java \ classpath/javax/management/AttributeList.java \ classpath/javax/management/AttributeNotFoundException.java \ +classpath/javax/management/AttributeValueExp.java \ classpath/javax/management/BadAttributeValueExpException.java \ classpath/javax/management/BadBinaryOpValueExpException.java \ classpath/javax/management/BadStringOperationException.java \ +classpath/javax/management/DefaultLoaderRepository.java \ +classpath/javax/management/Descriptor.java \ +classpath/javax/management/DescriptorAccess.java \ +classpath/javax/management/DescriptorRead.java \ classpath/javax/management/DynamicMBean.java \ classpath/javax/management/InstanceAlreadyExistsException.java \ classpath/javax/management/InstanceNotFoundException.java \ @@ -5258,6 +5312,7 @@ classpath/javax/management/InvalidApplicationException.java \ classpath/javax/management/InvalidAttributeValueException.java \ classpath/javax/management/JMException.java \ classpath/javax/management/JMRuntimeException.java \ +classpath/javax/management/JMX.java \ classpath/javax/management/ListenerNotFoundException.java \ classpath/javax/management/MBeanAttributeInfo.java \ classpath/javax/management/MBeanConstructorInfo.java \ @@ -5276,19 +5331,26 @@ classpath/javax/management/MBeanServerConnection.java \ classpath/javax/management/MBeanServerDelegate.java \ classpath/javax/management/MBeanServerDelegateMBean.java \ classpath/javax/management/MBeanServerFactory.java \ +classpath/javax/management/MBeanServerInvocationHandler.java \ classpath/javax/management/MBeanServerNotification.java \ classpath/javax/management/MBeanServerPermission.java \ classpath/javax/management/MBeanTrustPermission.java \ +classpath/javax/management/MXBean.java \ classpath/javax/management/MalformedObjectNameException.java \ classpath/javax/management/NotCompliantMBeanException.java \ classpath/javax/management/Notification.java \ classpath/javax/management/NotificationBroadcaster.java \ +classpath/javax/management/NotificationBroadcasterSupport.java \ classpath/javax/management/NotificationEmitter.java \ classpath/javax/management/NotificationFilter.java \ +classpath/javax/management/NotificationFilterSupport.java \ classpath/javax/management/NotificationListener.java \ classpath/javax/management/ObjectInstance.java \ classpath/javax/management/ObjectName.java \ classpath/javax/management/OperationsException.java \ +classpath/javax/management/PersistentMBean.java \ +classpath/javax/management/Query.java \ +classpath/javax/management/QueryEval.java \ classpath/javax/management/QueryExp.java \ classpath/javax/management/ReflectionException.java \ classpath/javax/management/RuntimeErrorException.java \ @@ -5296,6 +5358,7 @@ classpath/javax/management/RuntimeMBeanException.java \ classpath/javax/management/RuntimeOperationsException.java \ classpath/javax/management/ServiceNotFoundException.java \ classpath/javax/management/StandardMBean.java \ +classpath/javax/management/StringValueExp.java \ classpath/javax/management/ValueExp.java javax_management_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(javax_management_source_files))) @@ -5306,6 +5369,7 @@ javax_management_loading_header_files = $(patsubst classpath/%,%,$(patsubst %.ja javax_management_openmbean_source_files = \ classpath/javax/management/openmbean/ArrayType.java \ classpath/javax/management/openmbean/CompositeData.java \ +classpath/javax/management/openmbean/CompositeDataInvocationHandler.java \ classpath/javax/management/openmbean/CompositeDataSupport.java \ classpath/javax/management/openmbean/CompositeType.java \ classpath/javax/management/openmbean/InvalidKeyException.java \ @@ -7423,6 +7487,7 @@ all_packages_source_files = \ java/security/spec.list \ java/sql.list \ java/text.list \ + java/text/spi.list \ java/util.list \ java/util/concurrent.list \ java/util/concurrent/atomic.list \ @@ -7431,8 +7496,10 @@ all_packages_source_files = \ java/util/logging.list \ java/util/prefs.list \ java/util/regex.list \ + java/util/spi.list \ java/util/zip.list \ javax/accessibility.list \ + javax/activity.list \ javax/crypto.list \ javax/crypto/interfaces.list \ javax/crypto/spec.list \ @@ -7670,6 +7737,7 @@ ordinary_header_files = \ $(java_security_spec_header_files) \ $(java_sql_header_files) \ $(java_text_header_files) \ + $(java_text_spi_header_files) \ $(java_util_header_files) \ $(java_util_concurrent_header_files) \ $(java_util_concurrent_atomic_header_files) \ @@ -7678,8 +7746,10 @@ ordinary_header_files = \ $(java_util_logging_header_files) \ $(java_util_prefs_header_files) \ $(java_util_regex_header_files) \ + $(java_util_spi_header_files) \ $(java_util_zip_header_files) \ $(javax_accessibility_header_files) \ + $(javax_activity_header_files) \ $(javax_crypto_header_files) \ $(javax_crypto_interfaces_header_files) \ $(javax_crypto_spec_header_files) \ @@ -7794,6 +7864,7 @@ property_files = \ classpath/resource/org/ietf/jgss/MessagesBundle.properties \ classpath/resource/sun/rmi/rmic/messages.properties \ classpath/resource/com/sun/tools/javac/messages.properties \ + classpath/resource/META-INF/services/java.util.prefs.PreferencesFactory \ classpath/resource/META-INF/services/java.util.prefs.PreferencesFactory.in \ classpath/resource/META-INF/services/javax.sound.midi.spi.MidiDeviceProvider \ classpath/resource/META-INF/services/javax.sound.midi.spi.MidiFileReader \ @@ -8002,6 +8073,7 @@ gnu/java/lang/management/natVMGarbageCollectorMXBeanImpl.cc \ gnu/java/lang/management/natVMMemoryMXBeanImpl.cc \ gnu/java/lang/management/natVMMemoryManagerMXBeanImpl.cc \ gnu/java/lang/management/natVMMemoryPoolMXBeanImpl.cc \ +gnu/java/lang/management/natVMOperatingSystemMXBeanImpl.cc \ gnu/java/lang/management/natVMRuntimeMXBeanImpl.cc \ gnu/java/lang/management/natVMThreadMXBeanImpl.cc \ gnu/java/net/natPlainDatagramSocketImpl.cc \ @@ -8443,6 +8515,9 @@ gnu/java/lang/management/natVMMemoryManagerMXBeanImpl.lo: \ gnu/java/lang/management/natVMMemoryPoolMXBeanImpl.lo: \ gnu/java/lang/management/$(am__dirstamp) \ gnu/java/lang/management/$(DEPDIR)/$(am__dirstamp) +gnu/java/lang/management/natVMOperatingSystemMXBeanImpl.lo: \ + gnu/java/lang/management/$(am__dirstamp) \ + gnu/java/lang/management/$(DEPDIR)/$(am__dirstamp) gnu/java/lang/management/natVMRuntimeMXBeanImpl.lo: \ gnu/java/lang/management/$(am__dirstamp) \ gnu/java/lang/management/$(DEPDIR)/$(am__dirstamp) @@ -8930,6 +9005,8 @@ mostlyclean-compile: -rm -f gnu/java/lang/management/natVMMemoryManagerMXBeanImpl.lo -rm -f gnu/java/lang/management/natVMMemoryPoolMXBeanImpl.$(OBJEXT) -rm -f gnu/java/lang/management/natVMMemoryPoolMXBeanImpl.lo + -rm -f gnu/java/lang/management/natVMOperatingSystemMXBeanImpl.$(OBJEXT) + -rm -f gnu/java/lang/management/natVMOperatingSystemMXBeanImpl.lo -rm -f gnu/java/lang/management/natVMRuntimeMXBeanImpl.$(OBJEXT) -rm -f gnu/java/lang/management/natVMRuntimeMXBeanImpl.lo -rm -f gnu/java/lang/management/natVMThreadMXBeanImpl.$(OBJEXT) @@ -9115,6 +9192,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@gnu/java/lang/management/$(DEPDIR)/natVMMemoryMXBeanImpl.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@gnu/java/lang/management/$(DEPDIR)/natVMMemoryManagerMXBeanImpl.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@gnu/java/lang/management/$(DEPDIR)/natVMMemoryPoolMXBeanImpl.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/lang/management/$(DEPDIR)/natVMOperatingSystemMXBeanImpl.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@gnu/java/lang/management/$(DEPDIR)/natVMRuntimeMXBeanImpl.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@gnu/java/lang/management/$(DEPDIR)/natVMThreadMXBeanImpl.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@gnu/java/net/$(DEPDIR)/natPlainDatagramSocketImpl.Plo@am__quote@ @@ -11254,6 +11332,12 @@ java/text.list: $(java_text_source_files) -include java/text.deps +java/text/spi.list: $(java_text_spi_source_files) + @$(mkinstalldirs) $(dir $@) + echo $(srcdir)/classpath/lib/java/text/spi/*.class > java/text/spi.list + +-include java/text/spi.deps + java/util.list: $(java_util_source_files) @$(mkinstalldirs) $(dir $@) echo $(srcdir)/classpath/lib/java/util/*.class > java/util.list @@ -11302,6 +11386,12 @@ java/util/regex.list: $(java_util_regex_source_files) -include java/util/regex.deps +java/util/spi.list: $(java_util_spi_source_files) + @$(mkinstalldirs) $(dir $@) + echo $(srcdir)/classpath/lib/java/util/spi/*.class > java/util/spi.list + +-include java/util/spi.deps + java/util/zip.list: $(java_util_zip_source_files) @$(mkinstalldirs) $(dir $@) echo $(srcdir)/classpath/lib/java/util/zip/*.class > java/util/zip.list @@ -11314,6 +11404,12 @@ javax/accessibility.list: $(javax_accessibility_source_files) -include javax/accessibility.deps +javax/activity.list: $(javax_activity_source_files) + @$(mkinstalldirs) $(dir $@) + echo $(srcdir)/classpath/lib/javax/activity/*.class > javax/activity.list + +-include javax/activity.deps + javax/crypto.list: $(javax_crypto_source_files) @$(mkinstalldirs) $(dir $@) echo $(srcdir)/classpath/lib/javax/crypto/*.class > javax/crypto.list diff --git a/libjava/classpath/ChangeLog b/libjava/classpath/ChangeLog index cf778b4..87a7956 100644 --- a/libjava/classpath/ChangeLog +++ b/libjava/classpath/ChangeLog @@ -29,234 +29,101 @@ (unregisterMBean): Likewise. (notify): New method. -2007-04-04 Francis Kung - - * gnu/java/awt/peer/gtk/ComponentGraphics.java - (cairoDrawGlyphVector): Removed method. - (cairoSetFont): Removed method. - (disposeNative): Removed method. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c - (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoDrawGlyphVector): Added - locking. - (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoSetFont): Added locking. - (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_disposeNative): Added locking. - -2007-04-27 Keith Seitz +2007-04-23 Mark Wielaard - * gnu/classpath/jdwp/event/EventManager.java - (getEventRequest): Rename to... - (getEventRequests): ...this. - Change return type to array of requests. - Construct a list of all matching events and return - them all. - * gnu/classpath/jdwp/Jdwp.java (notify): Use getEventRequests - and send event notifications for all matching requests. - -2007-04-27 Keith Seitz - - * gnu/classpath/jdwp/event/filters/LocationOnlyFilter.java - (matches): Use Location.equals to determine equality. - * gnu/classpath/jdwp/VMMethod.java (equals): - New method. - * gnu/classpath/jdwp/util/Location.java (equals): - New method. + * configure.ac (VERSION): Set to 0.95. -2007-03-16 Francis Kung +2007-04-23 Mark Wielaard - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (cairoArc): Make protected rather than private so it can be over-ridden. - (cairoClip): Likewise. - (cairoClosePath): Likewise. - (cairoCurveTo): Likewise. - (cairoDrawGlyphVector): Likewise. - (cairoFill): Likewise. - (cairoLineTo): Likewise. - (cairoMoveTo): Likewise. - (cairoNewPath): Likewise. - (cairoRectangle): Likewise. - (cairoResetClip): Likewise. - (cairoRestore): Likewise. - (cairoSave): Likewise. - (cairoScale): Likewise. - (cairoSetAntialias): Likewise. - (cairoSetDash): Likewise. - (cairoSetFillRule): Likewise. - (cairoSetFont): Likewise. - (cairoSetLine): Likewise. - (cairoSetMatrix): Likewise. - (cairoSetOperator): Likewise. - (cairoSetRGBAColor): Likewise. - (cairoStroke): Likewise. - (drawPixels): Likewise. - (init): Likewise. - (setGradient): Likewise. - (setPaintPixels): Likewise. - (cairoDrawLine): Removed. - (cairoDrawRect): Removed. - (cairoFillRect): Removed. - (cairoPreserveClip): Removed. - (cairoRelCurveTo): Removed. - (cairoRelLineTo): Removed. - (cairoRelMoveTo): Removed. - * gnu/java/awt/peer/gtk/ComponentGraphics.java - (cairoArc): New method wrapping superclass method in locks. - (cairoClip): Likewise. - (cairoClosePath): Likewise. - (cairoCurveTo): Likewise. - (cairoDrawGlyphVector): Likewise. - (cairoFill): Likewise. - (cairoLineTo): Likewise. - (cairoMoveTo): Likewise. - (cairoNewPath): Likewise. - (cairoRectangle): Likewise. - (cairoResetClip): Likewise. - (cairoRestore): Likewise. - (cairoSave): Likewise. - (cairoScale): Likewise. - (cairoSetAntialias): Likewise. - (cairoSetDash): Likewise. - (cairoSetFillRule): Likewise. - (cairoSetFont): Likewise. - (cairoSetLine): Likewise. - (cairoSetMatrix): Likewise. - (cairoSetOperator): Likewise. - (cairoSetRGBAColor): Likewise. - (cairoStroke): Likewise. - (disposeNative): Likewise. - (drawPixels): Likewise. - (init): Likewise. - (setGradient): Likewise. - (setPaintPixels): Likewise. - (draw): Do not lock, as locking is now done in the wrapped native methods. - (drawComposite): Likewise. - (drawGlyphVector): Likewise. - (drawImage): Likewise. - (drawRenderedImage): Likewise. - (fill): Likewise. - (setClip): Removed. - (lock): Added documentation. - (unlock): Added documentation. - * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h: Regenerated. - * include/gnu_java_awt_peer_gtk_ComponentGraphics.h: Regenerated. - * lib/gnu/java/awt/peer/gtk/ComponentGraphics.class: Regenerated. - * lib/gnu/java/awt/peer/gtk/CairoGraphics2D.class: Regenerated. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c - (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoDrawLine): Removed. - (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoDrawRect): Removed. - (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoFillRect): Removed. - (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoPreserveClip): Removed. - (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoRelCurveTo): Removed. - (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoRelLineTo): Removed. - (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoRelMoveTo): Removed. + * NEWS: Add new 0.95 features. 2007-04-23 Jeroen Frijters PR classpath/31646: * java/util/Arrays.java (qsort): Corrected initial median calculation. +2007-04-19 Andrew John Hughes + + * m4/acinclude.m4 + (CLASSPATH_FIND_JAVAC): Allow detected JAVAC. + 2007-04-19 Casey Marshall PR classpath/31626: * gnu/javax/net/ssl/provider/SSLSocketFactoryImpl.java (createSocket): New method. -2007-04-18 Tom Tromey +2007-04-17 Andrew John Hughes - * tools/gnu/classpath/tools/javah/MethodHelper.java (print): - Changed arguments. Directly print method name. - * tools/gnu/classpath/tools/javah/ClassWrapper.java - (methodNameMap): New field. - (makeVtable): Initialize it. - (printMethods): Compute name for bridge targets. - -2007-04-17 Andrew Haley + * native/jni/java-net/local.c: + Fix import of FIONREAD. + * native/jni/java-nio/gnu_java_nio_VMChannel.c, + * native/jni/native-lib/cpnet.c: + Likewise. - * gnu/java/rmi/server/UnicastConnectionManager.java - (UnicastConnectionManager(int port, RMIServerSocketFactory)): - Listen on "localhost", not localhost. +2007-04-16 Dalibor Topic -2007-04-17 Francis Kung + * configure.ac (AM_PROG_CC_C_O): Added to fix automake 1.10 + warning. - PR classpath/31311 - * gnu/java/awt/peer/gtk/ComponentGraphics.java - (dispose): Removed method. - (disposeSurface): Removed method. - * gnu_java_awt_peer_gtk_ComponentGraphics.h: Regenerated. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c - (Java_gnu_java_awt_peer_gtk_ComponentGraphics_disposeSurface): Removed. - (Java_gnu_java_awt_peer_gtk_ComponentGraphics_initState): Destroy surface - after it is used to create a cairo context. +2007-04-16 Dalibor Topic -2007-04-16 Tom Tromey + * native/plugin/Makefile.am (libgcjwebplugin_la_LDFLAGS): + Added AM_LDFLAGS for automake 1.10. - https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=236614 - * gnu/javax/net/ssl/provider/SSLSocketFactoryImpl.java - (createSocket): Change order of delegation. +2007-04-15 Dalibor Topic -2007-04-16 Andrew Haley + * depcomp, install-sh, missing, mkinstalldirs, + doc/texinfo.tex: Removed files generated by autogen.sh. - * java/io/ObjectInputStream.java: (parseContent): Call (String, - Object) version of dumpElementln. - (dumpElementln(String, Object)): New method. - * java/io/ObjectOutputStream.java (writeObject): Call (String, - Object) version of dumpElementln. - (dumpElementln(String, Object)): New method. + * .cvsignore: Ignore generated files depcomp, install-sh, + missing, mkinstalldirs. -2007-04-16 Andrew John Hughes + * doc/.cvsignore: Ignore generated file doc/texinfo.tex. - * javax/management/ObjectName.java: - (parse(String)): Catch multiple wildcards, - initialise with an empty string (so null isn't - appended), and emit comma even when wildcard - ends the list. - (checkComponents()): Catch newlines. - (quote(String)): Handle newlines and quotes - correctly. +2007-04-15 Dalibor Topic -2007-04-16 Andrew Haley + * native/jni/java-lang/Makefile.am (libjavalang_la_LIBADD): + Fix portability warnings from automake 1.10. - * org/omg/IOP/TaggedComponentHelper.java (read): Use - read_octet_array(), not read(). - (write): Use write_octet_array(), not write(). +2007-04-15 Dalibor Topic - * org/omg/PortableServer/Servant.java (_get_delegate): Throw if no - delegate has been set. + * Makefile.am (EXTRA_DIST): Add ChangeLog-2006. - * javax/management/ObjectName.java serialVersionUID: Declare. - Make all fields transient. - (parse): Break out from constructor. - (writeObject, readObject): New methods. +2007-04-15 Dalibor Topic -2007-04-02 Keith Seitz + * native/target/.cvsignore: Removed. - * gnu/classpath/jdwp/event/ThreadStartEvent.java (Event): - Event type is "THREAD_START" not "THREAD_END". +2007-04-15 Roman Kennke - * gnu/classpath/jdwp/transport/SocketTransport.java (ITransport): - Handle configure strings ":port" and "port". + * native/target/Linux/.cvsignore, + * native/target/generic/.cvsignore: Removed. -2007-03-30 Andrew Haley +2007-04-15 Dalibor Topic - * javax/management/ObjectName.java: Handle 0-length names. + * doc/Makefile.am: Fix portability warnings from + automake 1.10. -2007-03-27 Andrew Haley +2007-04-15 Dalibor Topic - * javax/management/MBeanServerFactory.java: Use the domain that - we've been passed, not the fixed string "DefaultDomain". + * doc/cp-hacking.texinfo: Updated with information from + INSTALL file. Removed duplicate and outdated information. + Updated compiler information. Fixed versioning information + where entries diverged. Turned command, option, file and + URL strings into proper texinfo elements. -2007-03-29 Tom Tromey +2007-04-15 Dalibor Topic - PR libgcj/29869: - * gnu/java/util/jar/JarUtils.java (log): Commented out. - (readSFManifest): Don't log. + * configure.ac: Added support for Iceape libraries as + a substitute for Mozilla for Debian. -2007-03-28 Casey Marshall +2007-04-17 Tom Tromey - * gnu/javax/net/ssl/provider/ClientHandshake.java (RSAGen.implRun): - check keyEncipherment bit of the certificate, and just pass the public - key to the cipher. + https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=236614 + * gnu/javax/net/ssl/provider/SSLSocketFactoryImpl.java + (createSocket): Change order of delegation. -2007-03-27 Casey Marshall +2007-04-17 Casey Marshall PR classpath/31302: * gnu/javax/net/ssl/provider/SSLSocketImpl.java (SSLSocketImpl): @@ -272,36558 +139,2248 @@ isInputShutdown, isOutputShutdown): Always use 'underlyingSocket'. -2007-03-27 Tom Tromey +2007-04-16 Mark Wielaard - PR classpath/31303: - * external/sax/org/xml/sax/helpers/XMLReaderFactory.java - (createXMLReader): Code in Classpath default. + Fixes bug #31590 + * java/net/URI.java (parseServerAuthority): Allow empty portStr. -2007-03-27 Keith Seitz +2007-04-16 Chris Burdess - Merged from upstream: - 2007-03-09 Kyle Galloway - * gnu/classpath/jdwp/exception/InvalidTagException.java: New file. - * gnu/classpath/jdwp/processor/ArrayReferenceCommandSet.java - (executeGetValues): Use Value type. - (exectureSetValues): Ditto. - * gnu/classpath/jdwp/processor/ClassTypeCommandSet.java - (executeGetValues): Use Value type. - (executeSetValues): Ditto. - (invokeMethod): Record method return type. - * gnu/classpath/jdwp/processor/ObjectReferenceCommandSet.java - (executeGetValues): Use Value type. - (executeSetValues): Ditto. - * gnu/classpath/jdwp/processor/ReferenceTypeCommandSet.java - (executeGetValues): Use Value type. - * gnu/classpath/jdwp/processor/StackFrameCommandSet.java - (executeGetValues): Use Value type. - (executeSetValues): Ditto. - * gnu/classpath/jdwp/util/MethodResult.java: Add resType to store - return type. - (getResultType): New Method. - (setResultType): Ditto. - * gnu/classpath/jdwp/util/Value.java: Remove. - * gnu/classpath/jdwp/value: New Package. - * gnu/classpath/jdwp/value/Value.java: New file. - * gnu/classpath/jdwp/value/BooleanValue.java: New file. - * gnu/classpath/jdwp/value/ByteValue.java: New file. - * gnu/classpath/jdwp/value/CharValue.java: New file. - * gnu/classpath/jdwp/value/DoubleValue.java: New file. - * gnu/classpath/jdwp/value/FloatValue.java: New file. - * gnu/classpath/jdwp/value/IntValue.java: New file. - * gnu/classpath/jdwp/value/LongValue.java: New file. - * gnu/classpath/jdwp/value/ObjectValue.java: New file. - * gnu/classpath/jdwp/value/ShortValue.java: New file. - * gnu/classpath/jdwp/value/StringValue.java: New file. - * gnu/classpath/jdwp/value/ValueFactory.java: New file. - * gnu/classpath/jdwp/value/VoidValue.java: New file. + * gnu/xml/stream/XMLParser.java: Work around a problem with + incorrectly formatted file URLs. - 2007-02-28 Keith Seitz - * gnu/classpath/jdwp/processor/EventRequestCommandSet.java - (executeSet): Check if VM has capability for field access - or modification events. - * gnu/classpath/jdwp/processor/MethodCommandSet.java - (executeByteCodes): Check if VM has capability and - implement. - * gnu/classpath/jdwp/processor/ObjectReferenceCommandSet.java - (executeMonitorInfo): Likewise. - * gnu/classpath/jdwp/processor/ReferenceTypeCommandSet.java - (executeSourceDebugExtension): Likewise. - * gnu/classpath/jdwp/processor/StackFrameCommandSet.java - (executePopFrames): Likewise. - * gnu/classpath/jdwp/processor/ThreadReferenceCommandSet.java - (executeOwnedMonitors): Likewise. - (executeCurrentContendedMonitor): Likewise. - * gnu/classpath/jdwp/processor/VirtualMachineCommandSet.java - (executeCapabilities): Rewrite using new VMVirtualMachine - capabilities. - (executeRedefineClasses): Check if VM has capability and - implement. - (executeSetDefaultStratum): Likewise. - * gnu/classpath/jdwp/util/MonitorInfo.java; New file. - * vm/reference/gnu/classpath/jdwp/VMVirtualMachine.java - (canWatchFieldModification): New class constant. - (canWatchFieldAccess): Likewise. - (canGetBytecodes): Likewise. - (canGetSyntheticAttribute): Likewise. - (canGetOwnedMonitorInfo): Likewise. - (canGetCurrentContendedMonitor): Likewise. - (canGetMonitorInfo): Likewise. - (canRedefineClasses): Likewise. - (canAddMethod): Likewise. - (canUnrestrictedlyRedefineClasses): Likewise. - (canPopFrames): Likewise. - (canUseInstanceFilters): Likewise. - (canGetSourceDebugExtension): Likewise. - (canRequestVMDeathEvent): Likewise. - (canSetDefaultStratum): Likewise. - (redefineClasses): New method. - (setDefaultStratum): Likewise. - (getSourceDebugExtension): Likewise. - (getBytecodes): Likewise. - (getMonitorInfo): Likewise. - (getOwnedMonitors): Likewise. - (getCurrentContendedMonitor): Likewise. - (popFrames): Likewise. +2007-04-11 Christian Thalinger - 2007-02-28 Keith Seitz - * gnu/classpath/jdwp/processor/MethodCommandSet.java - (executeLineTable): Use ReferenceTypeId instead of - ClassReferenceTypeId. - (executeVariableTable): Likewise. - (executeVariableTableWithGeneric): Fix error message. - * gnu/classpath/jdwp/processor/ReferenceTypeCommandSet.java - (executeSignatureWithGeneric): Fix error message. - (executeFieldWithGeneric): Likewise. - (executeMethodsWithGeneric): Likewise. - * gnu/classpath/jdwp/processor/StackFrameCommandSet.java - (executeGetValues): Use ThreadId instead of ObjectId. - (executeSetValues): Likewise. - (executeThisObject): Likewise. + * configure.ac: Added AC_C_INLINE. - 2007-02-28 Kyle Galloway - * gnu/classpath/jdwp/id/NullObjectId.java: New class. - * gnu/classpath/jdwp/util/NullObject.java: New class. - * vm/reference/gnu/classpath/jdwp/VMIdManager.java - (getObjectId): Handle null object. - (get): Handle objectId of 0. +2007-04-12 Christian Thalinger - 2007-02-22 Keith Seitz - * vm/reference/gnu/classpath/jdwp/VMVirtualMachine.java - (getAllLoadedClassesCount): Remove. - (getAllLoadedClasses): Return a Collection. - * gnu/classpath/jdwp/processor/VirtualMachineCommandSet.java - (executeClassesBySignature): VMVirtualMachine.getAllLoadedClasses - now returns Collection. - (executeAllClasses): Likewise. - Get size of return from Colleciton instead of calling - getAllLoadedClassesCount. + * LICENSE: Added m4/ax_func_which_gethostbyname_r.m4 license. + * configure.ac: Added AX_FUNC_WHICH_GETHOSTBYNAME_R check. + * m4/ax_func_which_gethostbyname_r.m4: New file. + * native/jni/native-lib/cpnet.c (cpnet_getHostByName): Check for + different number of arguments of gethostbyname_r. - 2007-02-22 Kyle Galloway - * gnu/classpath/jdwp/processor/StackFrameCommandSet.java - (executeGetValues): Pass a signature byte to VMFrame.getValue. - * vm/reference/gnu/classpath/jdwp/VMFrame.java (getValue): Add - signature parameter. +2007-04-11 Francis Kung - 2007-02-02 Kyle Galloway - * gnu/classpath/jdwp/processor/StackFrameCommandSet.java - (executeGetValues): Changed getFrame to use a jlong to pass frameID. - (executeSetValues): Ditto. - (executeThisObject): Ditto. - * vm/reference/gnu/classpath/jdwp/VMFrame.java: Added thread field - and a constructor used to create VMFrames. - (getThread): New method. - * vm/reference/gnu/classpath/jdwp/VMVirtualMachine.java(getFrame): - Changed to take a long instead of a ByteBuffer to pass the frameID. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c + (Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_getGlyphs): Avoid + unneeded object reference. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c + (Java_gnu_java_awt_peer_gtk_GdkFontPeer_getFontMetrics): Unlock font. + (Java_gnu_java_awt_peer_gtk_GdkFontPeer_setFont): Remove redundant + checks. - 2007-01-15 Kyle Galloway - * gnu/classpath/jdwp/exception/InvalidSlotException.java: New file. +2007-04-11 Christian Thalinger -2007-03-26 Tom Tromey + * native/jni/native-lib/cpproc.c (cpproc_forkAndExec): Fixed + warning on some compilers, e.g. MIPSpro. - * doc/cp-tools.texinfo (gcjh Tool): Added more text. - (rmid Tool): Likewise. +2007-04-11 Christian Thalinger -2007-03-25 Dalibor Topic + * native/jni/java-nio/javanio.c: Include fcntl.h instead of + sys/fcntl.h. - * doc/cp-tools.texinfo: Fix node ordering. +2007-04-12 Mark Wielaard -2007-03-19 Matthias Klose + * gnu/java/awt/peer/ClasspathFontPeer.java (LRUCache): New static + inner class. + (transCache): New static LRUChache field. + (copyTransformToAttrs): Check whether a TransformAttribute already + exists in the transCache for the given AffineTransform. - * doc/Makefile.am: Build a gcjh(1) man page. - * doc/cp-tools.texinfo: Add documentation for gcjh. +2007-04-12 Mark Wielaard -2007-03-26 Stepan Kasal + * configure.ac (COMPILE_GTK_PEER): Add check for cairo >= 1.1.8. - * tools/gnu/classpath/tools/javah/Main.java (cniOrJniSeen): New - field. - (getParser): Use new field. +2007-04-09 Andrew John Hughes -2007-03-17 Thomas Fitzsimmons + * javax/management/ObjectName.java: + (parse(String)): Catch multiple wildcards, + initialise with an empty string (so null isn't + appended), and emit comma even when wildcard + ends the list. + (checkComponents()): Catch newlines. + (quote(String)): Handle newlines and quotes + correctly. - * resource/com/sun/tools/javac/messages.properties - (Main.FailedToRead, Main.MalformedURL, Main.FailedToLoad): Clarify - messages for when --with-ecj-jar is not specified. - * configure.ac (FOUND_ECJ_JAR): Remove conditional. - * tools/Makefile.am: Build com.sun.tools.javac package - unconditionally. - * configure, doc/api/Makefile.in, doc/Makefile.in, - examples/Makefile.in, external/jsr166/Makefile.in, - external/Makefile.in, external/relaxngDatatype/Makefile.in, - external/sax/Makefile.in, external/w3c_dom/Makefile.in, - include/Makefile.in, lib/Makefile.in, Makefile.in, - native/fdlibm/Makefile.in, native/jawt/Makefile.in, - native/jni/classpath/Makefile.in, - native/jni/gconf-peer/Makefile.in, - native/jni/gtk-peer/Makefile.in, native/jni/java-io/Makefile.in, - native/jni/java-lang/Makefile.in, native/jni/java-net/Makefile.in, - native/jni/java-nio/Makefile.in, native/jni/java-util/Makefile.in, - native/jni/Makefile.in, native/jni/midi-alsa/Makefile.in, - native/jni/midi-dssi/Makefile.in, - native/jni/native-lib/Makefile.in, native/jni/qt-peer/Makefile.in, - native/jni/xmlj/Makefile.in, native/Makefile.in, - native/plugin/Makefile.in, resource/Makefile.in, - scripts/Makefile.in, tools/Makefile.in: Regenerate. - * tools/classes/com/sun/tools/javac: New directory. - * tools/classes/com/sun/tools/javac/Main.class, - tools/classes/com/sun/tools/javac/Messages.class: New files. +2007-04-10 Mark Wielaard -2007-03-16 Tom Tromey + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c + (Java_gnu_java_awt_peer_gtk_ComponentGraphics_initFromVolatile): + Destroy surface after it is used to create a cairo context. - * tools/gnu/classpath/tools/javah/Main.java (run): Use class' - name in File case. +2007-04-09 Francis Kung -2007-03-16 Tom Tromey + PR 31311 + * gnu/java/awt/peer/gtk/ComponentGraphics.java + (dispose): Removed method. + (disposeSurface): Removed method. + * gnu_java_awt_peer_gtk_ComponentGraphics.h: Regenerated. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c + (Java_gnu_java_awt_peer_gtk_ComponentGraphics_disposeSurface): Removed. + (Java_gnu_java_awt_peer_gtk_ComponentGraphics_initState): Destroy surfac +e + after it is used to create a cairo context. - * tools/gnu/classpath/tools/javah/JniStubPrinter.java - (printClass): Added filename argument. - * tools/gnu/classpath/tools/javah/JniIncludePrinter.java - (printClass): Added filename argument. - * tools/gnu/classpath/tools/javah/CniIncludePrinter.java - (printClass): Use user's file name. - * tools/gnu/classpath/tools/javah/CniStubPrinter.java - (printClass): Use user's file name. - * tools/gnu/classpath/tools/javah/Printer.java (printClass): Added - filename argument. - * tools/gnu/classpath/tools/javah/Main.java (getParser): Fix '-v' - argument order. - (writeHeaders): Use a HashMap. - (run): Put class name into HashMap for writeHeaders. -2007-03-02 Mario Torre +2007-04-07 Andrew John Hughes - PR classpath/31017: - committed for Petteri Räty - * configure.ac: fix broken build for gcj browser plugin + * javax/management/ObjectName.java: + (parse(String)): Fix result of getKeyPropertyListString(). -2007-02-20 Jakub Jelinek +2007-04-07 Mark Wielaard - * java/util/Date.java (parse): Properly parse 09:01:02 as - hours/minutes/seconds, not as hours/minutes/year. - * java/util/SimpleTimeZone.java (SimpleTimeZone): Simplify - {start,end}TimeMode constructor by calling shorter constructor, - set {start,end}TimeMode fields after it returns. - (setStartRule): Don't adjust startTime into WALL_TIME. Set - startTimeMode to WALL_TIME. - (endStartRule): Similarly. - (getOffset): Handle properly millis + dstOffset overflowing into the - next day. Adjust startTime resp. endTime based on startTimeMode - resp. endTimeMode. - * java/util/TimeZone.java (zoneinfo_dir, availableIDs, aliases0): New - static fields. - (timezones): Remove synchronized keyword. Set zoneinfo_dir. - If non-null, set up aliases0 and don't put anything into - timezones0. - (defaultZone): Call getTimeZone instead of timezones().get. - (getDefaultTimeZone): Fix parsing of EST5 or EST5EDT6. Use - getTimeZoneInternal instead of timezones().get. - (parseTime): Parse correctly hour:minute. - (getTimeZoneInternal): New private method. - (getTimeZone): Do the custom ID checking first, canonicalize - ID for custom IDs as required by documentation. Call - getTimeZoneInternal to handle the rest. - (getAvailableIDs(int)): Add locking. Handle zoneinfo_dir != null. - (getAvailableIDs(File,String,ArrayList)): New private method. - (getAvailableIDs()): Add locking. Handle zoneinfo_dir != null. - * gnu/java/util/ZoneInfo.java: New file. + * resource/META-INF/services/javax.xml.parsers.DocumentBuilderFactor, + resource/META-INF/services/javax.xml.parsers.SAXParserFactory, + resource/META-INF/services/javax.xml.parsers.TransformerFactory, + resource/META-INF/services/org.relaxng.datatype.DatatypeLibraryFactory, + resource/META-INF/services/org.w3c.dom.DOMImplementationSourceList, + resource/META-INF/services/org.xml.sax.driver: Removed. -2007-02-20 Matthias Klose +2007-04-07 Andrew John Hughes - * doc/Makefile.am: Add rules to build and install man pages - from texinfo docs. - * doc/hacking.texinfo doc/tools.texinfo, doc/vmintegration.texinfo: - Rename, prefix files with "cp-". - * doc/cp-tools.texinfo: Add markup for man page generation, - add documentation for command line options for gjar, gjavah, - gnative2ascii, gorbd, grmid, grmiregistry, gserialver, gtnameserv. - doc/texi2pod.pl: New, taken from the GCC sources. + * javax/management/ObjectName.java + (parse(String)): Fix parsing where the wildcard + is juxtaposed between other pairs. -2006-10-14 Edwin Steiner +2007-04-06 Mark Wielaard - PR classpath/28652: - * javax/management/MBeanInfo.java (MBeanInfo): - Use clone to duplicate the arrays in order to - preserve the array type. + * configure.ac (VERSION): Set to 0.95-rc. -2007-02-16 Andrew Haley +2007-04-06 Andrew John Hughes - * gnu/java/lang/management/MemoryMXBeanImpl.java, - javax/management/MBeanServerDelegate.java: Use - gnu.javax.management.ListenerData rather than - gnu.classpath.ListenerData. - * gnu/javax/management/ListenerData.java: Move here from - gnu/classpath/ListenerData.java. + * javax/management/MBeanAttributeInfo.java: + (serialVersionUID): Added. + * javax/management/MBeanFeatureInfo.java: + (writeObject(ObjectOutputStream)): Added for + later 1.6 support. + * javax/management/Notification.java: + (serialVersionUID): Added. + (Notification(String,Object,long,long)): Make + default message the empty string not null. + (Notification(String,Object,long,long,String)): + Set source explicitly. + (writeObject(ObjectOutputStream)): Added to match + Sun. + +2007-04-06 Andrew John Hughes -2007-02-14 Jakub Jelinek - Andrew Haley + * java/util/Hashtable.java: + (putAllInternal(Map)): Remove redundant semi-colon. + +2007-04-06 Mark Wielaard - * java/util/TimeZone.java (getDateParams): Negate dayOfWeek. + * lib/mkcollections.pl.in: Add externalclasses. + * java/util/Collections.java: Unroll enhanced for loops. + * java/util/HashMap.java: Likewise. + * java/util/Hashtable.java: Likewise. + * java/util/TreeMap.java: Likewise. -2007-02-09 Tom Tromey +2007-04-06 Andrew John Hughes - PR libgcj/30647: - * configure: Rebuilt. - * configure.ac: Also check for jack/jack.h. + * gnu/javax/management/Translator.java: + (getTypeName(type)): Move type name creation to its own method. + * javax/management/ObjectName.java: + (WILDCARD): Added. + +2007-04-04 Andrew Haley -2007-02-09 Jakub Jelinek + * javax/management/ObjectName.java: + (serialVersionUID): Declare. + Make all fields transient. + (parse): Break out from constructor. + (writeObject, readObject): New methods. + +2007-04-05 Francis Kung - * java/util/TimeZone.java: Handle default (one hour) daylight - savings. + * include/Makefile.am: Remove old entry. -2007-02-09 Jakub Jelinek +2007-04-05 Francis Kung - PR 23566 - * scripts/timezones.pl: Parse each file in 2 passes, in one parse - just Rule lines, in the other everything else. Pass 0 instead of - $savings as second argument to parseRule when parsing the start - rule. - * java/util/TimeZone.java (timezones): Regenerate from tzdata2007a. + * gnu/java/awt/peer/gtk/GtkToolkit.java + (createDragGestureRecognizer): Remove failing subClass call. -2007-02-07 Chris Burdess +2007-04-05 Gary Benson - Fixes PR 30718. - * gnu/xml/dom/ls/SAXEventSink.java: Add public accessor/mutators. - * gnu/xml/transform/XSLURIResolver.java: Add support for custom - SAXSources without a backing URL or stream. + * java/util/GregorianCalendar.java + (computeFields): Fix WEEK_OF_MONTH calculation. - Fixes PR 27710. - * gnu/xml/dom/DomDocumentBuilderFactory.java: Fall back to synchronous - LSParser if implementation does not support asynchronous. - * gnu/xml/stream/XMLParser.java, - gnu/xml/stream/XIncludeFilter.java: Use custom code instead of - java.net.URL to resolve to an an absolute URI, to avoid nonexistent - protocol handler problems. +2007-04-05 Christian Thalinger -2007-02-06 Tom Tromey + PR classpath/22800: + * native/jni/java-lang/java_lang_VMDouble.c (doubleToLongBits) + (doubleToRawLongBits, longBitsToDouble): Swap the byte + ordering for little-endian arms without VFP. - PR libgcj/30707: - * tools/gnu/classpath/tools/javah/JniIncludePrinter.java - (printClass): Always print a header. +2007-04-05 Christian Thalinger -2007-02-05 Andrew Haley + * native/jni/java-net/java_net_VMNetworkInterface.c + [HAVE_IFADDRS_H && HAVE_GETIFADDRS] (free_netif_list): Added + #ifdef. + (getVMInterfaces): Added UNUSED argument attribute. + +2007-04-05 Christian Thalinger + + * native/jni/java-nio/gnu_java_nio_charset_iconv_IconvDecoder.c, + native/jni/java-nio/gnu_java_nio_charset_iconv_IconvEncoder.c + [HAVE_ICONV] (createRawData, getData, infid, outfid): Added + #ifdef. + (openIconv): Added UNUSED argument attribute, so we can build with + -Werror. + (decode): Likewise. + (closeIconv): Likewise. + +2007-04-05 Mark Wielaard + + * autogen.sh: Recognize automake 1.10. + * configure.ac (AM_INIT_AUTOMAKE): Add -Wno-portability. + * native/jawt/Makefile.am (libjawt_la_LDFLAGS): Add AM_LDFLAGS. + * native/jni/gconf-peer/Makefile.am (libgconfpeer_la_LDFLAGS): Likewise. + * native/jni/gtk-peer/Makefile.am (libgtkpeer_la_LDFLAGS): Likewise. + * native/jni/midi-alsa/Makefile.am (libgjsmalsa_la_LDFLAGS): Likewise. + * native/jni/midi-dssi/Makefile.am (libgjsmdssi_la_LDFLAGS): Likewise. + * native/jni/qt-peer/Makefile.am (libqtpeer_la_LDFLAGS): Likewise. + +2007-04-04 Mark Wielaard - PR cp-tools/30706 - * tools/gnu/classpath/tools/javah/JniIncludePrinter.java: - (printClass): Replace '/' in filenames with '_'. - * tools/gnu/classpath/tools/javah/JniStubPrinter.java - (printClass): Likewise. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c + (cp_gtk_image_get_pixbuf): Return NULL when pointer is NULL. + * gnu/java/awt/peer/gtk/GtkImage.java (setImage): Set loaded and + call deliver() after pixels have been set. + * gnu/java/awt/peer/gtk/GtkFramePeer.java (setIconImage): Only + set icon when image has been properly loaded. -2007-02-05 Tom Tromey +2007-04-04 Francis Kung - * java/net/Proxy.java (equals): Handle case where address==null. - (hashCode): Likewise. - (toString): Likewise. + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (drawCairoSurface): Made protected. + * gnu/java/awt/peer/gtk/ComponentGraphics.java + (cairoDrawGlyphVector): Removed method. + (cairoSetFont): Removed method. + (disposeNative): Removed method. + (drawCairoSurface): New method. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c + (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoDrawGlyphVector): Added + locking. + (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoSetFont): Added locking. + (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_disposeNative): Added locking. -2007-01-31 Tom Tromey +2007-04-04 Gary Benson - * resource/gnu/classpath/tools/jar/messages.properties - (Main.Stdin): New message. - * tools/gnu/classpath/tools/jar/Main.java (initializeParser): Add - '-@' option. - (readNames): New method. - (run): Use it. + * java/util/GregorianCalendar.java + (GregorianCalendar(TimeZone, Locale)): Remove redundant complete(). -2007-01-26 Andrew Haley +2007-04-04 Roman Kennke - * java/lang/SecurityManager.java: Load and initialize - java.security.Security. + * java/nio/channels/spi/SelectorProvider.java + (inheritedChannel): Make method concrete and move default impl + to here. Perform security checks as mandated by the spec. + * gnu/java/nio/SelectorProviderImpl.java + (inheritedChannel): Removed. Default impl is in SelectorProvider. -2007-01-26 Tom Tromey +2007-04-04 Roman Kennke - * tools/gnu/classpath/tools/javah/FieldHelper.java (print): Print - 'volatile' after field type. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c + (init_glib_threads): Create global reference on lock object. -2007-01-23 Marco Trudel +2007-04-04 Roman Kennke - * java/util/Arrays.java (binarySearch): Change comparison order. + * java/awt/Frame.java + (weakFrames): Make private. + (weakFramesQueue): New field. A reference queue to collect + GCed references. + (getFrames): Only do one iterations to avoid collecting null + references. + (hasDisplayableFrames): New helper method. Checks if there + are any displayable frames. This is used by the event queue + shutdown check. + (noteFrame): Clean up GCed frames in the list. + * java/awt/EventQueue.java + (isShutdown): Move frame checking code into Frame. -2007-01-17 Tom Tromey +2007-04-03 Roman Kennke - * tools/gnu/classpath/tools/javah/PathOptionGroup.java - (PathOptionGroup): Set default boot class path. + * java/lang/System.java + (inheritedChannel): New method, wraps + SelectorProvider.inheritedChannel(). + * java/nio/channels/spi/SelectorProvider.java + (inheritedChannel): New abstract method. + * gnu/java/nio/SelectorProviderImpl.java + (inheritedChannel): New method, return null as default. -2006-12-14 Andrew Haley +2007-04-03 Roman Kennke - * tools/gnu/classpath/tools/jar/Creator.java: Close the - inputStream. + * java/nio/ByteOrder.java + (nativeByteOrder): Let this fail when the corresponding + property is not set properly. -2006-10-12 Andrew Haley +2007-04-03 Roman Kennke - * java/lang/InheritableThreadLocal.java: Rename NULL to sentinel. - * java/lang/ThreadLocal.java: Likewise. + * javax/swing/plaf/basic/BasicTreeUI.java + (getPathBounds): Consider the tree's insets. Added a bunch of + null checks. -2006-09-13 Andrew Haley +2007-04-03 Roman Kennke - * external/jsr166/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.java: - Revert previous gcj-specific disabling of checks. - * external/jsr166/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.java: - Likewise. - * classpath/external/jsr166/java/util/concurrent/atomic/AtomicLongFieldUpdater.java: - Likewise. + * javax/swing/plaf/basic/BasicLabelUI.java + (cachedInsets): New field. Used for reusing the insets instance. + (getFontMetrics): New helper method for fetching a suitable + FontMetrics object. + (getPreferredSize): Use new helper method for font metrics. + (paint): Only do something if we have an icon or text. + Use cached Insets instance and new font metrics helper. + (paintDisabledText): Don't restore the graphics' color. + (paintEnabledText): Don't restore the graphics' color. -2006-09-13 Andrew Haley +2007-04-03 Roman Kennke - * java/util/PriorityQueue.java: Throw IllegalArgumentException for - capacity < 1. - (Iterator.remove()): Decrement index after removing element. + * javax/swing/plaf/metal/MetalButtonUI.java + (paintButtonPressed): Fill the whole button not only visibleRect. + * javax/swing/plaf/metal/MetalLookAndFeel.java + (LAF_defaults): Removed. + (getDefaults): Always fetch super's defaults. + * javax/swing/plaf/metal/MetalMenuBarUI.java + (update): Don't leave 2 pixel gap. -2006-12-11 Jeroen Frijters +2007-04-03 Roman Kennke - * javax/net/ssl/SSLSocketFactory.java (getDefault): - Chain exception cause. + * native/target/.cvsignore, + * native/target/Linux/.cvsignore, + * native/target/generic/.cvsignore: Some new ignores. -2006-12-11 Roman Kennke +2007-04-03 Roman Kennke - * .classpath: Include ASM in Eclipse classpath. + * gnu/java/awt/peer/gtk/GThreadMutex.java, + * gnu/java/awt/peer/gtk/GThreadNativeMethodRunner.java, + * include/gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.h, + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.c, + * native/jni/gtk-peer/gthread-jni.c, + * native/jni/gtk-peer/gthread-jni.h: Removed. + * native/jni/gtk-peer/Makefile.am: Removed obsolete entries + for removed files. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c + Removed unused bits from gthread-jni.c. -2006-12-11 Andrew John Hughes +2007-04-03 Francis Kung - * gnu/java/lang/management/BeanImpl.java: - (translate(String)): Trim strings of whitespace. - * javax/management/MBeanAttributeInfo.java: - (MBeanAttributeInfo(String,String,Method,Method)): - Use Class.getName() for normal (non-parameterized) cases. - * javax/management/MBeanConstructorInfo.java: - (MBeanConstructorInfo(String, Constructor)): - Likewise. - * javax/management/MBeanOperationInfo.java: - (MBeanOperationInfo(String, Method)): - Likewise. + * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java + (getGlyphs(int[], int[], long[])): Return void. -2006-12-11 Andrew John Hughes - - * java/lang/Class.java: - (getClasses()): Return Class[]. - (internalGetClasses()): Likewise. - (getConstructor(Class...)): Add type parameter - to parameters. - (getDeclaredConstructor(Class...)): Likewise. - (getDeclaredClasses()): Return Class[]. - (getDeclaredClasses(boolean)): Likewise. - (getDeclaredConstructors()): Return Constructor[]. - (getDeclaredConstructors(boolean)): Likewise. - (getDeclaredMethod(String,Class...)): Add type - parameter to parameters. - (getInterfaces()): Return Class[]. - (getMethods(String,Class...)): Add type - parameter to parameters. - * java/text/CollationKey.java: - Make non-final. - * java/text/DecimalFormatSymbols.java: - Likewise. - -2006-12-11 Andrew John Hughes +2007-04-03 Kyle Galloway - * gnu/java/lang/management/BeanImpl.java: - (translate(String)): Handle Map and List as - Strings of the form "java.util.Map" and - "java.util.List" - * javax/management/MBeanAttributeInfo.java: - (MBeanAttributeInfo(String,String,Method,Method)): - Use generic parameter and return types. - * javax/management/MBeanConstructorInfo.java: - (MBeanConstructorInfo(String, Constructor)): - Use generic parameter types. - * javax/management/MBeanOperationInfo.java: - (MBeanOperationInfo(String, Method)): - Use generic parameter and return types. - -2006-12-10 Andrew John Hughes + * gnu/classpath/jdwp/value/ArrayValue.java: New file. - * gnu/java/lang/management/BeanImpl.java: - (translate(String)): Comment out code for using type - variables for Map and List. - * java/lang/Thread.java: - (Thread(ThreadGroup,Runnable,String,long)): Fix - incrementation of totalThreadsCreated to be prior to use. - -2006-12-10 Andrew John Hughes +2007-04-03 Roman Kennke - * javax/management/MBeanServerFactory.java: - (createMBeanServer(String)): Added security check. - (findMBeanServer(String)): Likewise. - (newMBeanServer(String)): Likewise. - (releaseMBeanServer(String)): Likewise. - * javax/management/MBeanServerPermission.java: - New file. - -2006-12-08 David Daney + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c + (global_lock): New global variable that holds the object reference + to the global GTK lock. + (init_glib_threads): Add lock argument. Use + gdk_threads_set_lock_functions to replace GTK's locking function + with two callbacks that allow reentrant locking, based on + JNI's MonitorEnter() and MonitorExit(). + (jni_lock_cb): New callback function for GTK locking. + (jni_unlock_cb): New callback function for GTK unlocking. + (Java_gnu_java_awt_peer_gtk_GtkToolkit_gtkInit): Add lock argument. + Call init_glib_threads() with lock object. + * include/gnu_java_awt_peer_gtk_GtkToolkit.h + Regenerated. + * gnu/java/awt/peer/gtk/GtkToolkit.java + (GTK_LOCK): New static field. This is used as the global lock for + GTK. + (gtkInit): Add lock parameter. + (static_init): Initialize global lock and call gtkInit() with + that lock. - * native/jni/java-nio/gnu_java_nio_VMChannel.c (is_non_blocking_fd): - Fix comment. +2007-04-02 Francis Kung -2006-12-08 David Daney + * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java + (fontSet): Initialize to null. + (FreetypeGlyphVector(Font, int[], FontRenderContext)): Populate fontSet + array with default font if needed. + (FreetypeGlyphVector(FreetypeGlyphVector)): Clone all fields. + (getNativeFontPointer): New native method. + * include/gnu_java_awt_peer_gtk_FreetypeGlyphVector.h: Regenerated. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c + (Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_getNativeFontPointer): + New function. - * NEWS: Mention URLConnection.[get|set]ReadTimeout. +2007-04-02 Francis Kung -2006-12-08 David Daney + * INSTALL: Document known bug in at-spi, atk, and gail packages prior to + version 1.18.0. - * gnu/java/net/protocol/http/HTTPConnection.java (imports): Add - SocketException. - (HTTPConnection): Handle NumberFormatException in properties parsing. - (Pool.get): Set timeout on reused sockets. - * gnu/java/net/protocol/http/HTTPURLConnection.java (proxyPort): - Initialize. - (HTTPURLConnection): Cleanup properties handling. - (getConnection): Use both connection and read timeouts. - (setConnectTimeout): Removed. - (setReadTimeout): New method. - * java/net/URLConnection.java (timeout): Renamed to... - (connectTimeout): ... connectTimeout throughout. - (readTimeout): New field. - (getReadTimeout): New method. - (setReadTimeout): New method. +2007-04-02 Francis Kung -2006-12-08 Tania Bento + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (cairoDrawGlyphVector): Added parameter. + (drawGlyphVector): Retrieve and pass fontset parameter. + * gnu/java/awt/peer/gtk/ComponentGraphics.java + (cairoDrawGlyphVector): Added parameter. + (lock): Removed unnecessary cast. + (unlock): Removed unnecessary cast and explicitly set to ONE variable. + * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java + (fontSet): New field. + (dispose): New native method. + (finalize): New method. + (getGlyphFonts): New method. + (getGlyphOutline): Pass fontSet parameter to native method. + (getGlyphOutlineNative): Added parameter. + (getGlyphs): Pass extra parameters to native method. + (getGlyphsNative): Added parameters. + (getKerning): Added fontSet parameter. + (getMetricsNative): Added fontSet parameter. + (performDefaultLayout): Only check kerning if glyphs use the same font. + (setupGlyphMetrics): Pass extra parameters to native methods. + * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h, + * include/gnu_java_awt_peer_gtk_FreetypGlyphVector.h: Regenerated. + * native/jni/gtk-peer/gdkfont.h: Enable pango engine. + (peerfont): Add variable for fontset. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c + (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoDrawGlyphVector): Accept + array of font pointers to use when drawing glyphs. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c + (getFontSet): New function. + (Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_dispose): New function. + (Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_getGlyphOutlineNative): + Added and use new fontSet parameter. + (Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_getGlyphs): Use pango + to retrieve glyphs and estimate font, if the current font does not contain + a requested glyph. + (Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_getKerning): Added and use + new fontSet parameter. + (Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_getMetricsNative): Added + and use new fontSet parameter. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c + (Java_gnu_java_awt_peer_gtk_GdkFontPeer_dispose): Free fontset. + (Java_gnu_java_awt_peer_gtk_GdkFontPeer_setFont): Load fontset. - * java/awt/ScrollPane.java - (doLayout): Change the location of the scrollpane's child - to (0, 0). +2007-04-02 Andrew Haley -2006-12-08 David Daney + * javax/management/ObjectName.java: Handle 0-length names. + * javax/management/MBeanServerFactory.java: Use the domain that + we've been passed, not the fixed string "DefaultDomain". - * native/jni/java-nio/gnu_java_nio_VMChannel.c (is_non_blocking_fd): - New method. - (Java_gnu_java_nio_VMChannel_read__ILjava_nio_ByteBuffer_2): Throw - SocketTimeoutException if a blocking socket timesout. - (Java_gnu_java_nio_VMChannel_readScattering): Same. - (Java_gnu_java_nio_VMChannel_read__I): Same. - (Java_gnu_java_nio_VMChannel_connect): Initialize the fd set. - (Java_gnu_java_nio_VMChannel_connect6): Same. - -2006-12-08 Mark Wielaard - - * configure.ac (VERSION): Set to 0.93-generics. - * NEWS: Add release date. - -2006-12-08 Tania Bento - - * java/awt/ScrollPane.java - (getScrollPosition): Throw NullPointerException if scrollpane - does have a child. - (setScrollPosition(int, int)): Throw NullPointerException if - scrollpane does have a child. Check that both ints are within - the allowed bounds; If they are not, scroll to the closest allowed - bound. - -2006-12-07 Roman Kennke - - * javax/swing/JEditorPane.java - (EditorKitMapping): New inner helper class. - (editorKits): New static field for caching editor kit instances. - (static_initiazer): Initialize static mappings here. - (createEditorKitForContentType): Try to use cached instance. - Use correct classloader for loading. - (getEditorKitClassNameForContentType): Make use of EditorKitMapping - class. - (getEditorKitForContentType): Store the fetched editor kit. - Fallback to createDefaultEditorKit(). - (init): Don't clean the static registry here. - (registerEditorKitForContentType(String,String,ClassLoader)): - Implemented. - (registerEditorKitForContentType(String,String)): Delegate to - the other version of this method with the thread's context - classloader. - -2006-12-07 Mark Wielaard - - * examples/gnu/classpath/examples/swing/HtmlDemo.java - (setPage): Don't convert URL to String for setPage(). - -2006-12-07 Mark Wielaard - - * tools/Makefile.am (clean-local): Remove iasm and asm.lst. - -2006-12-07 Mark Wielaard - - * tools/Makefile.am: Explicitly define and use bootclasspath as - GLIBJ_BOOTCLASSPATH - -2006-12-07 Mark Wielaard - - * javax/swing/JEditorPane.java (createEditorKitForContentType): - Always load from system class loader. - -2006-12-07 Mark Wielaard - - * java/net/URL.java (URL(URL,String,URLStreamHandler,boolean)): New - private constructor. - (URL(URL,String,URLStreamHandler)): Call new constructor. - (URL(URL,String)): Likewise. - (URL(String)): Likewise. - -2006-12-07 Tom Tromey - - * NEWS: Mention ASM. - * INSTALL: Don't mention --with-asm. - * tools/external/README: New file. - * tools/toolwrapper.c (main): Don't use ASM_JAR. - * tools/gjavah.in: Don't use PATH_TO_ASM. - * tools/grmic.in: Likewise. - * tools/Makefile.am (GLIBJ_CLASSPATH): Removed PATH_TO_ASM, added - 'asm'. - (javah, rmic): Removed variables. - (bin_PROGRAMS): Updated. - (gappletviewer_CFLAGS): Don't define ASM_JAR. - (gjarsigner_CFLAGS): Likewise. - (gkeytool_CFLAGS): Likewise. - (gjar_CFLAGS): Likewise. - (gnative2ascii_CFLAGS): Likewise. - (gserialver_CFLAGS): Likewise. - (grmiregistry_CFLAGS): Likewise. - (gtnameserv_CFLAGS): Likewise. - (gorbd_CFLAGS): Likewise. - (grmid_CFLAGS): Likewise. - (gjavah_CFLAGS): Likewise. - (grmic_CFLAGS): Likewise. - (bin_SCRIPTS): Updated. - (TOOLS_JAVA_FILES): Updated. - ($(TOOLS_ZIP)): Compile ASM sources. Copy resource files. - * configure.ac: Removed --with-asm. Always build gjavah. - -2006-12-06 Roman Kennke - - * examples/gnu/classpath/examples/swing/BrowserEditorKit.java: - New class. - * examples/gnu/classpath/examples/swing/HtmlDemo.java - (LoadActionListener): Call setPage() helper method. - (createContent): Register tweaked editor kit. For FormSubmitEvents - call submitForm(), otherwise setPage(). - (postData): Helper method for posting form data. - (setPage): Helper method for navigating to a new URL. - (submitForm): Helper method for submitting a form. - * examples/gnu/classpath/examples/swing/forms.html: - Added text/password fields and select boxes. - * examples/gnu/classpath/examples/swing/welcome.html: Fixed typo. - -2006-12-06 Roman Kennke - - * javax/swing/text/html/FormView.java - (SubmitThread.postData): Implemented. - (SubmitThread.run): Pass data to postData(). - (actionPerformed): Reset form when reset button is activated. - (createComponent): Add support for select lists and comboboxes. - Don't set value of text and password fields here, this is done - now in HTMLDocument for consistency. - (getElementFormData): Add support for fetching form data from - select lists and comboboxes as well as textareas. - (getSelectData): New helper method. Fetches form data from - select boxes. - (getTextAreaData): New helper method. Fetches form data from - textareas. - (resetForm): New helper method. Resets the entire form. - * javax/swing/text/html/HTMLDocument.java - (HTMLReader.FormAction.end): Handle SELECT and OPTION tags. - (HTMLReader.FormAction.start): Handle SELECT and OPTION tags. - (HTMLReader.FormAction.setModel): Initialize text and password - values here. Also, use the resetable special models. - Group radio buttons into ButtonGroup for exclusive selection. - (HTMLReader.FormTagAction): New class. Handles FORM tags. - (HTMLReader.buttonGroups): New field. - (HTMLReader.numOptions): New field. - (HTMLReader.option): New field. - (HTMLReader.selectModel): New field. - (HTMLReader.textAreaDocument): Make ResetablePlainDocument. - (HTMLReader.handleText): Handle OPTION text. - (HTMLReader.initTags): Map FORM tags to FormTagAction. - (HTMLReader.textAreaContent): Set initial content. - * javax/swing/text/html/Option.java - (Option): Make copy of attribute set. Initialize selected state. - (getValue): Fetch value from attribute set. - * javax/swing/text/html/ResetableModel.java: New interface. - * javax/swing/text/html/ResetablePlainDocument.java: New class. - Supports resetting the state. - * javax/swing/text/html/ResetableToggleButtonModel.java: Likewise. - * javax/swing/text/html/SelectComboBoxModel.java: Likewise. - * javax/swing/text/html/SelectListModel.java: Likewise. - -2006-12-06 Roman Kennke - - * javax/swing/text/DefaultCaret.java - (appear): Adjust visibility here. - (setDotImpl): Don't adjust visibility here. - (moveDotImpl): Don't adjust visibility here. - -2006-12-06 Roman Kennke - - * gnu/java/awt/peer/gtk/AsyncImage.java - (Loader.run): Synchronize on the AsyncImage to avoid threading - issues. - (addObservers): Check for obs==null outside and synchronize on - this inside to avoid locking issues. - (checkImage): New helper method. - (notifyObservers): Check that the correct lock is held and - remove actual locking. - * gnu/java/awt/peer/gtk/GtkToolkit.java - (checkImage): Added special handling for AsyncImages. +2007-04-01 Mark Wielaard + + * org/omg/CORBA/DynAny.java: Mark as deprecated. + * org/omg/CORBA/DynArray.java: Likewise. + * org/omg/CORBA/DynEnum.java: Likewise. + * org/omg/CORBA/DynFixed.java: Likewise. + * org/omg/CORBA/DynSequence.java: Likewise. + * org/omg/CORBA/DynStruct.java: Likewise. + * org/omg/CORBA/DynUnion.java: Likewise. + * org/omg/CORBA/DynValue.java: Likewise. + * org/omg/CORBA/ORB.java (create_basic_dyn_any): Likewise. + (create_dyn_any): Likewise. + (create_dyn_array): likewise. + (create_dyn_enum): Likewise. + (create_dyn_sequence): Likewise. + (create_dyn_struct): Likewise. + (create_dyn_union): Likewise. + +2007-04-01 Andrew John Hughes + + * gnu/javax/management/Translator.java: + (fromJava(Object[],Method)): Use the array from the + parameter not the newly created one... + (fromJava(Object, Type)): Support MXBeans. + * javax/management/JMX.java: + (newMXBeanProxy(MBeanServerConnection,ObjectName,Class)): + Call newMXBeanProxy rather than newMBeanProxy. + * javax/management/StandardMBean.java: + (setAttribute(Attribute)): Use InvocationTargetException + as cause. -2006-12-06 Roman Kennke - - * examples/gnu/classpath/examples/swing/Demo.java - (getIcon): Made package private. - * examples/gnu/classpath/examples/swing/HtmlDemo.java - (hyperlinkUpdate): Convert URL to string. - -2006-12-06 Mark Wielaard - - * gnu/java/awt/peer/gtk/AsyncImage.java (addObserver): Never notify - null Observer. - -2006-12-06 Roman Kennke - - * examples/gnu/classpath/examples/icons/back.png, - * examples/gnu/classpath/examples/icons/reload.png: - New icons for the HTML browser. - * examples/gnu/classpath/examples/swing/HtmlDemo.java - (history): New field. Manages the browsing history. - (HtmlDemo): Initialize history. - (createContent): Set location and add history. Add toolbar. - (createToolBar): New helper method. - (main): Make default size bigger. - * examples/gnu/classpath/examples/swing/frame1.html, - * examples/gnu/classpath/examples/swing/frame2.html, - * examples/gnu/classpath/examples/swing/frame3.html, - * examples/gnu/classpath/examples/swing/frame4.html, - * examples/gnu/classpath/examples/swing/frames.html, - * examples/gnu/classpath/examples/swing/tables.html: - New example pages. - * examples/gnu/classpath/examples/swing/welcome.html - Add a couple of links and new test pages. - -2006-12-06 Roman Kennke - - * javax/swing/JEditorPane.java - (getStream): Buffer the stream for efficiency. - (setPage): Don't scroll the view at this point. - * javax/swing/plaf/basic/BasicTextUI.java - (RootView.paint): Call RootView's setSize to get synchronization. - (RootView.setSize): Synchronize to prevent race in layout code. - * javax/swing/text/AbstractDocument.java - (notifyListeners): New field. - (fireChangedUpdate): Track notifyListener field. - (fireRemoveUpdate): Track notifyListener field. - (fireIndertUpdate): Track notifyListener field. - (writeLock): Check notifyListener and throw IllegalStateException. - * javax/swing/text/View.java - (preferenceChanged): Create local var for better thread safety and - more efficiency. - -2006-12-06 Thomas Fitzsimmons - - * java/awt/ScrollPane.java (addNotify): Add a parent panel for any - lightweight component, not just for non-Panel components. - (addImpl): Do not call doLayout. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c - (setNativeBounds): Ensure widget parent is a GtkFixed before - calling gtk_fixed_move. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c - (setNativeBounds): Likewise. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c - (setNativeBounds): Likewise. - -2006-12-06 Roman Kennke - - * javax/swing/text/html/TableView.java - (RowView.layoutMajorAxis): Check column index for invalid value. - (updateGrid): Check column index for invalid value. - -2006-12-06 Roman Kennke - - * javax/swing/text/html/BlockView.java - (getAlignment): Align blocks horizontally by the superclass. - * javax/swing/text/html/HTMLEditorKit.java - (HTMLFactory.create): Replace equals comparison by == for efficiency. - Add mapping for misplaced tr, td and th tags. Include object mapping. - * javax/swing/text/html/TableView.java - (RowView.replace): Invalidate grid early. - (gridValid): Initialize with false. - (create): Only create RowView and CellView for correctly placed - tags. Avoid unnecessary casts. - (getAlignment): Removed. - (replace): Invalidate grid early. - -2006-12-06 Francis Kung - - * java/awt/geom/RectangularShape.java - (getBounds): Remove empty rectangle check. - -2006-12-06 Ben Konrath - - Fixes PR 29853. - * gnu/xml/dom/DomAttr.java: Don't report mutation if oldValue and - newValue are the same. - * gnu/xml/dom/DomNode.java: Set parent if null during mutation. - -2006-12-06 Tania Bento - - * javax/swing/border/CompoundBorder.java: - (isBorderOpaque): If inside border is null, return true if outside - border is opaque, false otherwise; if outside border is null, return - true if inside border is opaque, false otherwise; if inside or - outside border are both not null, then return true only if both the - inside and outside border are opaque, false otherwise. - -2006-12-06 Tania Bento - - * javax/swing/border/CompoundBorder.java: - (isBorderOpaque): If inside and outside border both have a null - value, return true. - -2006-12-06 Chris Burdess - - Fixes PR 29272. - * javax/xml/parsers/DocumentBuilderFactory.java: Fix broken Javadoc. - * gnu/xml/stream/SAXParser.java: Fix file descriptor leak. - -2006-12-06 Chris Burdess - - Fixes PR 29264. - * gnu/xml/stream/XMLStreamWriterImpl.java: Allow arbitrary text in - writeDTD method. - -2006-12-06 Chris Burdess - - Fixes PR 28816. - * javax/xml/validation/SchemaFactory.java: Use correct algorithm to - discover schema factory implementation class. - -2006-12-05 Francis Kung - - * java/awt/BasicStroke.java - (capEnd): Prevent division by zero. - * java/awt/geom/Arc2D.java - (ArcIterator.ArcIterator): Do not shift the arc to make the extent positive. - (ArcIterator.currentSegment): Handle a negative extent. - -2006-12-05 Francis Kung - - * gnu/java/awt/peer/gtk/BufferedImageGraphics.java - (constructor): Handle translated subimages properly, ie, if the image's - 0,0 position is not the data buffer's first element. - -2006-12-05 Roman Kennke - - * gnu/java/awt/peer/gtk/AsyncImage.java - (Loader.run): Nullify observers after loading. - (observers): Made package private. - (addObserver): Check for null observers field. Create local - variable for thread safety. - (getHeight): Use addObserver() for checking state of field - and notifying observer when necessary. - (getWidth): Use addObserver() for checking state of field - and notifying observer when necessary. - (getProperty): Use addObserver() for checking state of field - and notifying observer when necessary. - (notifyObservers): Check for null observers field. Create local - variable for thread safety. - -2006-12-05 Roman Kennke - - * javax/swing/text/html/HTMLEditorKit.java - (HTMLFactory.create): Removed debug output. - * javax/swing/text/html/InlineView.java - (getBreakWeight): Likewise. - * javax/swing/text/html/StyleSheet.java - (addRule): Likewise. - (ListPainter.paint): Removed debug output. - -2006-12-05 Roman Kennke - - * javax/swing/text/html/BlockView.java - (painter): Made package visible. - * javax/swing/text/html/StyleSheet.java - (translateBorder): New helper method. - (translateHTMLToCSS): Add mappings for border attributes. - * javax/swing/text/html/TableView.java - Made class subclass of BlockView to get CSS goodness. - (CellView.rowSpan): New field. - (CellView.setPropertiesFromAttributes): Fetch rowspan. - (RowView.overlap): New field. - (RowView.rowIndex): New field. - (RowView.layoutMajorAxis): Skip overlapping cells. - (RowView.layoutMinorAxis): Layout cells that span more than 1 row. - (numColumns): New field. - (tmpRect): New field. - (TableView): Initialize tmpRect. - (calculateColumnRequirements): Adjusted and fixed for multirows. - (getAlignment): Overridden to center tables. - (paint): Overridden to fix clipping. - (getStyleSheet): Made protected. - (layoutMajorAxis): Invalidate rows. - (setPropertiesFromAttributes): Made protected and call super. - (updateGrid): Update the overlapping information for multirows. - -2006-12-05 Roman Kennke - - * gnu/java/awt/peer/gtk/AsyncImage.java - (addObserver): Check for null and ignore null observers. - (getWidth): Check for null and ignore null observers. - (getHeight): Check for null and ignore null observers. - (getProperty): Check for null and ignore null observers. - -2006-12-05 Francis Kung - - * java/awt/BasicStroke.java - (capEnd): Prevent division by zero. - * java/awt/geom/Arc2D.java - (ArcIterator.ArcIterator): Do not shift the arc to make the extent positive. - (ArcIterator.currentSegment): Handle a negative extent. - -2006-12-05 Francis Kung - - * gnu/java/awt/peer/gtk/BufferedImageGraphics.java - (constructor): Handle translated subimages properly, ie, if the image's - 0,0 position is not the data buffer's first element. - -2006-12-05 Roman Kennke - - * javax/swing/text/html/ImageView.java - (imageUpdate): Use spans field to determine if the CSS width/height - are set. Call safePreferenceChanged to protect view structure - from threading issues. - (spans): Made package private. - (ImageView): Initialize loadOnDemand with false. - (loadImage): Call Toolkit.prepareImage() to make sure we have - our Observer registered. - (safePreferenceChanged): New helper method. Calls preferenceChanged - in a thread safe environment. - -2006-12-05 Roman Kennke - - * NEWS: Add entry about improved HTML support. - -2006-12-05 Roman Kennke - - * javax/swing/text/html/ImageView.java - (ImageView): Initialize spans array here. - (setPropertiesFromAttributes): Moved init of spans array to - constructor. - -2006-12-05 Roman Kennke - - * javax/swing/text/html/BlockView.java - (painter): Made package visible. - * javax/swing/text/html/StyleSheet.java - (translateBorder): New helper method. - (translateHTMLToCSS): Add mappings for border attributes. - * javax/swing/text/html/TableView.java - Made class subclass of BlockView to get CSS goodness. - (CellView.rowSpan): New field. - (CellView.setPropertiesFromAttributes): Fetch rowspan. - (RowView.overlap): New field. - (RowView.rowIndex): New field. - (RowView.layoutMajorAxis): Skip overlapping cells. - (RowView.layoutMinorAxis): Layout cells that span more than 1 row. - (numColumns): New field. - (tmpRect): New field. - (TableView): Initialize tmpRect. - (calculateColumnRequirements): Adjusted and fixed for multirows. - (getAlignment): Overridden to center tables. - (paint): Overridden to fix clipping. - (getStyleSheet): Made protected. - (layoutMajorAxis): Invalidate rows. - (setPropertiesFromAttributes): Made protected and call super. - (updateGrid): Update the overlapping information for multirows. - -2006-12-05 Roman Kennke - - * javax/swing/text/html/HTMLEditorKit.java - (HTMLFactory.create): Removed debug output. - * javax/swing/text/html/InlineView.java - (getBreakWeight): Likewise. - * javax/swing/text/html/StyleSheet.java - (addRule): Likewise. - (ListPainter.paint): Removed debug output. - -2006-12-06 Roman Kennke - - * javax/swing/text/html/BlockView.java - (getAlignment): Align blocks horizontally by the superclass. - * javax/swing/text/html/HTMLEditorKit.java - (HTMLFactory.create): Replace equals comparison by == for efficiency. - Add mapping for misplaced tr, td and th tags. Include object mapping. - * javax/swing/text/html/TableView.java - (RowView.replace): Invalidate grid early. - (gridValid): Initialize with false. - (create): Only create RowView and CellView for correctly placed - tags. Avoid unnecessary casts. - (getAlignment): Removed. - (replace): Invalidate grid early. - - -2006-12-06 Roman Kennke - - * javax/swing/text/html/TableView.java - (RowView.layoutMajorAxis): Check column index for invalid value. - (updateGrid): Check column index for invalid value. - -2006-12-06 Roman Kennke - - * javax/swing/JEditorPane.java - (getStream): Buffer the stream for efficiency. - (setPage): Don't scroll the view at this point. - * javax/swing/plaf/basic/BasicTextUI.java - (RootView.paint): Call RootView's setSize to get synchronization. - (RootView.setSize): Synchronize to prevent race in layout code. - * javax/swing/text/AbstractDocument.java - (notifyListeners): New field. - (fireChangedUpdate): Track notifyListener field. - (fireRemoveUpdate): Track notifyListener field. - (fireIndertUpdate): Track notifyListener field. - (writeLock): Check notifyListener and throw IllegalStateException. - * javax/swing/text/View.java - (preferenceChanged): Create local var for better thread safety and - more efficiency. - -2006-12-06 Roman Kennke - - * examples/gnu/classpath/examples/icons/back.png, - * examples/gnu/classpath/examples/icons/reload.png: - New icons for the HTML browser. - * examples/gnu/classpath/examples/swing/HtmlDemo.java - (history): New field. Manages the browsing history. - (HtmlDemo): Initialize history. - (createContent): Set location and add history. Add toolbar. - (createToolBar): New helper method. - (main): Make default size bigger. - * examples/gnu/classpath/examples/swing/frame1.html, - * examples/gnu/classpath/examples/swing/frame2.html, - * examples/gnu/classpath/examples/swing/frame3.html, - * examples/gnu/classpath/examples/swing/frame4.html, - * examples/gnu/classpath/examples/swing/frames.html, - * examples/gnu/classpath/examples/swing/tables.html: - New example pages. - * examples/gnu/classpath/examples/swing/welcome.html - Add a couple of links and new test pages. - -2006-12-06 Roman Kennke - - * examples/gnu/classpath/examples/swing/Demo.java - (getIcon): Made package private. - * examples/gnu/classpath/examples/swing/HtmlDemo.java - (hyperlinkUpdate): Convert URL to string. - -2006-12-06 Roman Kennke - - * javax/swing/text/DefaultCaret.java - (appear): Adjust visibility here. - (setDotImpl): Don't adjust visibility here. - (moveDotImpl): Don't adjust visibility here. - -2006-12-06 Roman Kennke - - * javax/swing/text/html/FormView.java - (SubmitThread.postData): Implemented. - (SubmitThread.run): Pass data to postData(). - (actionPerformed): Reset form when reset button is activated. - (createComponent): Add support for select lists and comboboxes. - Don't set value of text and password fields here, this is done - now in HTMLDocument for consistency. - (getElementFormData): Add support for fetching form data from - select lists and comboboxes as well as textareas. - (getSelectData): New helper method. Fetches form data from - select boxes. - (getTextAreaData): New helper method. Fetches form data from - textareas. - (resetForm): New helper method. Resets the entire form. - * javax/swing/text/html/HTMLDocument.java - (HTMLReader.FormAction.end): Handle SELECT and OPTION tags. - (HTMLReader.FormAction.start): Handle SELECT and OPTION tags. - (HTMLReader.FormAction.setModel): Initialize text and password - values here. Also, use the resetable special models. - Group radio buttons into ButtonGroup for exclusive selection. - (HTMLReader.FormTagAction): New class. Handles FORM tags. - (HTMLReader.buttonGroups): New field. - (HTMLReader.numOptions): New field. - (HTMLReader.option): New field. - (HTMLReader.selectModel): New field. - (HTMLReader.textAreaDocument): Make ResetablePlainDocument. - (HTMLReader.handleText): Handle OPTION text. - (HTMLReader.initTags): Map FORM tags to FormTagAction. - (HTMLReader.textAreaContent): Set initial content. - * javax/swing/text/html/Option.java - (Option): Make copy of attribute set. Initialize selected state. - (getValue): Fetch value from attribute set. - * javax/swing/text/html/ResetableModel.java: New interface. - * javax/swing/text/html/ResetablePlainDocument.java: New class. - Supports resetting the state. - * javax/swing/text/html/ResetableToggleButtonModel.java: Likewise. - * javax/swing/text/html/SelectComboBoxModel.java: Likewise. - * javax/swing/text/html/SelectListModel.java: Likewise. - -2006-12-06 Roman Kennke - - * examples/gnu/classpath/examples/swing/BrowserEditorKit.java: - New class. - * examples/gnu/classpath/examples/swing/HtmlDemo.java - (LoadActionListener): Call setPage() helper method. - (createContent): Register tweaked editor kit. For FormSubmitEvents - call submitForm(), otherwise setPage(). - (postData): Helper method for posting form data. - (setPage): Helper method for navigating to a new URL. - (submitForm): Helper method for submitting a form. - * examples/gnu/classpath/examples/swing/forms.html: - Added text/password fields and select boxes. - * examples/gnu/classpath/examples/swing/welcome.html: Fixed typo. - -2006-12-07 Mark Wielaard - - * java/net/URL.java (URL(URL,String,URLStreamHandler,boolean)): New - private constructor. - (URL(URL,String,URLStreamHandler)): Call new constructor. - (URL(URL,String)): Likewise. - (URL(String)): Likewise. - -2006-12-07 Mark Wielaard - - * javax/swing/JEditorPane.java (createEditorKitForContentType): - Always load from system class loader. - -2006-12-06 Ben Konrath - - Fixes PR 29853. - * gnu/xml/dom/DomAttr.java: Don't report mutation if oldValue and - newValue are the same. - * gnu/xml/dom/DomNode.java: Set parent if null during mutation. - -2006-12-06 Chris Burdess - - Fixes PR 29272. - * javax/xml/parsers/DocumentBuilderFactory.java: Fix broken Javadoc. - * gnu/xml/stream/SAXParser.java: Fix file descriptor leak. - -2006-12-06 Chris Burdess - - Fixes PR 29264. - * gnu/xml/stream/XMLStreamWriterImpl.java: Allow arbitrary text in - writeDTD method. - -2006-12-056 Chris Burdess - - Fixes PR 28816. - * javax/xml/validation/SchemaFactory.java: Use correct algorithm to - discover schema factory implementation class. - -2006-12-05 Roman Kennke - - * gnu/java/awt/peer/gtk/AsyncImage.java: New class. Supports - asynchronous loading of images. - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (drawImage): Fetch real image from possibly AsyncImage. - * gnu/java/awt/peer/gtk/ComponentGraphics.java - (drawImage): Fetch real image from possibly AsyncImage. - * gnu/java/awt/peer/gtk/GtkToolkit.java - (createImage(URL)): Create async image. - (imageOrError): Made method static for easy access from AsyncImage. - (prepareImage): For async images, register the observer to the - image. +2007-03-31 Jeroen Frijters -2006-12-05 Roman Kennke - - (paintComponent): Include paint area from event. - (updateComponent): Include paint area from event. + PR classpath/31402: + * java/util/concurrent/CopyOnWriteArrayList.java + (remove): Fixed ArrayIndexOutOfBoundsException when index == 0. -2006-12-06 Thomas Fitzsimmons +2007-03-30 Andrew John Hughes - * java/awt/ScrollPane.java (addNotify): Add a parent panel for any - lightweight component, not just for non-Panel components. - (addImpl): Do not call doLayout. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c - (setNativeBounds): Ensure widget parent is a GtkFixed before - calling gtk_fixed_move. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c - (setNativeBounds): Likewise. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c - (setNativeBounds): Likewise. + * javax/management/openmbean/CompositeDataInvocationHandler.java: + New file. + +2007-03-30 Kyle Galloway -2006-12-04 Thomas Fitzsimmons + * gnu/classpath/jdwp/util/VariableTable.java: Make argCnt and slots ints. + (write): Replace writeLong with writeInt for above. - * java/awt/Component.java (getFontImpl): Return a default font if - topmost parent's font is null. +2007-03-30 Tom Tromey -2006-12-04 Mark Wielaard + PR libgcj/29869: + * gnu/java/util/jar/JarUtils.java (log): Commented out. + (readSFManifest): Don't log. - * javax/swing/text/html/CSS.java (parseMarginShorthand): - Remove debug output. +2007-03-29 Tom Tromey -2006-12-04 Roman Kennke + PR libgcj/29869: + * java/util/logging/LogManager.java (readConfiguration): Handle + comma-separated 'handlers'. Don't try to add a non-existing + handler. - * java/awt/font/TextLayout.java - (hitTestChar): Fixed conditions for inclusion of range. - Use layout information in the run for more efficiency. +2007-03-29 Keith Seitz -2006-12-04 Roman Kennke + * gnu/classpath/jdwp/event/ThreadStartEvent.java (Event): + Event type is "THREAD_START" not "THERAD_END". - * javax/swing/text/GlyphView.java - (J2DGlyphPainter): New inner class. - (checkPainter): For Java2D capable environments create - a J2DGlyphPainter. + * gnu/classpath/jdwp/transport/SocketTransport.java (ITransport): + Handle configure strings ":port" and "port". -2006-12-04 Roman Kennke +2007-03-29 Francis Kung - * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java - (FreeTypeGlyphVector): Don't filter control chars here. - (getGlyphs): Filter control chars and replace them by - hair space char. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c + (Java_gnu_java_awt_peer_gtk_GtkToolkit_gtkInit): Revert last patch. -2006-12-04 Roman Kennke +2007-03-29 Mark Wielaard - * native/jni/java-nio/gnu_java_nio_VMChannel.c - (Java_gnu_java_nio_VMChannel_connect): Retry on EINTR. + * native/jni/java-nio/Makefile.am (LIBADD): Add libclasspathnative. -2006-12-04 Andrew John Hughes +2007-03-28 Andrew John Hughes - * gnu/java/lang/management/BeanImpl.java: - (translate(String)): Don't assume the list uses "E", - just use the first and only type variable. - * java/lang/management/ManagementFactory.java: - (getPlatformMBeanServer()): Register logging bean. - * javax/management/openmbean/OpenType.java: - (OpenType(String,String,String)): Actually use - the string created to handle arrays. + * javax/management/StandardMBean.java: + (setAttribute(Attribute)): Add handling of primitive + types and subtype parameters. + (getMutator(String,Class)): New helper method to + return the mutator. -2006-12-04 Mark Wielaard +2007-03-28 Roman Kennke - * native/jni/java-nio/gnu_java_nio_VMChannel.c - (JCL_thread_interrupted): Use CallStaticBooleanMethod. + * java/io/OutputStreamWriter.java, + * java/io/InputStreamReader.java: Revert big stream patch due to + problems. -2006-12-04 Mark Wielaard +2007-03-28 Tom Tromey - * vm/reference/gnu/java/nio/VMChannel.java (isThreadInterrupted): - Make static. - * native/jni/java-nio/gnu_java_nio_VMChannel.c - (JCL_thread_interrupted): Only take JNIEnv. - (vm_channel_class): New static variable. - (initID): Set vm_channel_class. - Wrap all reads() and writes() in do-while blocks that check - interrupted status. - -2006-12-04 Andrew John Hughes - - * gnu/javax/management/Server.java: - Make map final and initialise it. - (unregisterMBean(ObjectName)): Match against - delegate's object name and not the instance. - * java/lang/management/ManagementFactory.java: - Added constant fields. - (getPlatformMBeanServer()): Implemented. - * javax/management/MBeanServerFactory.java: New file. - -2006-12-04 Roman Kennke - - * javax/swing/text/BoxView.java - (paint): Replaced painting algorithm with more simple and more - reliable painting of the box. - * javax/swing/text/html/BlockView.java - (PositionInfo): New inner class. Stores additional CSS - positioning information. - (positionInfo): New field. - (BlockView): Initialize positionInfo field. - (fetchLayoutInfo): New helper method. Fetches additional - CSS positioning information. - (layoutMajorAxis): Perform additional CSS layout. - (layoutMinorAxis): Perform additional CSS layout. - (positionView): New helper method. - (replace): Overridden to fetch additional layout information. - * javax/swing/text/html/CSS.java - (Attribute.POSITION): New field. - (Attribute.LEFT): New field. - (Attribute.RIGHT): New field. - (Attribute.TOP): New field. - (Attribute.BOTTOM): New field. - (getValue): Create Length for left, right, top and bottom - attributes. - -2006-12-04 Roman Kennke - - * gnu/javax/swing/text/html/parser/support/Parser.java - (Sgml): Consume any whitespace that immediately follows - and sgml insertion. - (parseDocument): Consume any initial whitespace. - -2006-12-03 Mark Wielaard - - * gnu/javax/management/Server.java (beans): Initialize. - (registerMBean): Don't initialize beans. - -2006-12-03 Mark Wielaard - - * java/util/logging/LogManager.java (getLevelProperty): Check - whether value is null before passing to Level.parse(). - -2006-12-04 Robert Lougher - - * java/lang/management/ThreadInfo.java (ThreadInfo): Check - whether given a null lock and lockOwner. - -2006-12-03 Mark Wielaard - - * javax/swing/JEditorPane.java (PageLoader.in): Made a PageStream. - (PageLoader.page): Made package local. - (PageLoader.run): Don't reset loader. - (PageLoader.cancel): New method. - (loading): Renamed to loader. - (getPage): Return loader.page. - (setPage): Always set loader. Never reset to null. - -2006-12-03 Mark Wielaard - - * javax/swing/plaf/basic/BasicTreeUI.java (paint): Check whether - path[k] is null. - (isLastChild): Return false when path is null. - -2006-12-03 Mark Wielaard - - * gnu/java/awt/peer/gtk/GtkComponentPeer.java (paintArea): Renamed - to currentPaintArea. - (paintComponent): Work with local reference to currentPaintArea. - (updateComponent): Likewise. - (coalescePaintEvent): Set currentPaintArea. - -2006-12-02 Andrew John Hughes - - * javax/management/MBeanServerBuilder.java: New file. - -2006-12-01 Mark Wielaard - - * java/text/DecimalFormat.java (parse): Always increment parsing - index and adjust pos result. - -2006-12-01 Roman Kennke - - * javax/swing/text/html/HTML.java - (Attribute.DYNAMIC_CLASS): New field. - (Attribute.PSEUDO_CLASS): New field. - * javax/swing/text/html/HTMLDocument.java - (HTMLReader.CharacterAction.start): Initialize anchor with link - pseudo attribute. - (updateSpecialClass): New helper method. Updates the dynamic - or pseudo class for anchor tags. - * javax/swing/text/html/HTMLEditorKit.java - (LinkController.lastAnchorElement): New field. For tracking - enter/exit of anchors. - (LinkController.activateLink): Set pseudo class to 'visited'. - (LinkController.mouseMoved): Added support for tracking - the 'hover' dynamic class. - * javax/swing/text/html/InlineView.java - (changedUpdate): Fetch new properties. - * javax/swing/text/html/StyleSheet.java - (attributeSetToMap): New helper method. - (getRule): Also append dynamic and pseudo class to key. - (resolveStyle): Resolve style based generally on all attributes. - * javax/swing/text/html/TableView.java - (RowView.layoutMajorAxis): Make sure the grid is valid. - (updateGrid): Made package private. - * gnu/javax/swing/text/html/css/Selector.java - (calculateSpecificity): Added support for dynamic and pseudo classes. - (matches): Changed to operate on general attributes. - Added support for dynamic and pseudo classes. - -2006-12-01 Mario Torre - - * java/text/DecimalFormat.java (formatInternal): move the formatting of - fractional portion in a separate method. - Also fixes the handling of decimal separator and its associated field. - (handleFractionalPart): new method, needed to relax a bit - formatInternal. - -2006-12-01 Andrew John Hughes - - * java/beans/beancontext/BeanContextServicesSupport.java: - (BCSSProxyServiceProvider.getCurrentServiceSelectors(BeanContextServices, - Class)): Implemented. - (BCSSProxyServiceProvider.getService(BeanContextServices, Object, - Class, Object)): Implemented. - (BCSSProxyServiceProvider.releaseService(BeanContextServices, - Object, Object)): Implemented. - (BCSSProxyServiceProvider.serviceRevoked(BeanContextServiceRevokedEvent)): - Implemented. - (initialiseBeanContextResources()): Implemented. - (releaseBeanContextResoures()): Implemented. - -2006-12-01 Mark Wielaard - - * include/gnu_java_awt_peer_gtk_GdkFontPeer.h: Regenerated. - -2006-12-01 Roman Kennke - - * gnu/javax/swing/text/html/css/BorderStyle.java: New class for - handling border styles. - * gnu/javax/swing/text/html/css/BorderWidth.java - (isValid): New method. - * gnu/javax/swing/text/html/css/Length.java - (isValid): New method. - * javax/swing/text/html/CSS.java - (addInternal): Added shorthand parsing for border, padding and - margin. - (parseBackgroundShorthand): Added API docs. - (parsePaddingShorthand): New method. Handles padding shorthand - values. - (parseMarginShorthand): New method. Handles margin shorthand - values. - (parseBorderShorthand): New method. Handles border shorthand - values. - * javax/swing/text/html/StyleSheet.java - (translateHTMLToCSS): Set specific padding attributes. - (BoxPainter.BoxPainter): Don't handle PADDING and MARGIN here. - These shorthands are now handled in CSS. - (BoxPainter.paint): Exclude the outer margin. - -2006-12-01 Roman Kennke - - * gnu/javax/swing/text/html/css/Length.java - (emBase): New field. - (exBase): New field. - (isFontEMRelative): New field. - (isFontEXRelative): New field. - (Length): Recognize and setup EM and EX relative values. - (getValue): Handle EM and EX relative values. - (isEMRelative): New method. - (isEXRelative): New method. - (setEMBase): New method. - (setEXBase): New method. - (setFontBases): New method. - * gnu/javax/swing/text/html/parser/support/Parser.java - (_handleEmptyTag): Use new isBlock() helper method. - (_handleEndTag_remaining): Use new isBlock() helper method. - (_handleStartTag): Consume whitespace after block start tag. - (Comment): Consume whitespace after a comment. - (isBlock): New helper method. - (readAttributes): Consider all characters in unquoted attribute - values. - * javax/swing/text/html/BlockView.java - (layoutMinorAxis): Use cached span value. - (paint): Added debug code (commented out). - (setPropertiesFromAttributes): Set the EM and EX base on lengths. - * javax/swing/text/html/CSSBorder.java - (CSSBorder): Take StyleSheet as argument. Call getBorderWidth() - with stylesheet. - (getBorderWidth): Set the EM and EX base on the length values. - * javax/swing/text/html/HTMLDocument.java - (HTMLReader.ParagraphAction.end): Do not set the inParagraph field. - (HTMLReader.ParagraphAction.start): Do not set the inParagraph field. - (HTMLReader.inImpliedParagraph): Removed. - (HTMLReader.inParagraph): Removed. - (HTMLReader.parseStack): New field. - (HTMLReader.addContent): Use new paragraph handling. - (HTMLReader.addSpecialElement): Use new paragraph handling. - (HTMLReader.blockClose): Use new paragraph handling. - (HTMLReader.blockOpen): Use new paragraph handling. - (HTMLReader.inImpliedParagraph): New helper method. - (HTMLReader.inParagraph): New helper method. - * javax/swing/text/html/ImageView.java - (attributes): New field. Caches view attributes. - (spans): New field. Caches CSS spans. - (getAttributes): Correctly setup CSS view attributes. - (getPreferredSpan): Use caches spans. - (getStyleSheet): Use the view's getDocument() method. - (setPropertiesFromAttributes): Cache spans and setup EM and EX. - (updateSize): Use cached spans. - * javax/swing/text/html/ParagraphView.java - (setPropertiesFromAttributes): Setup EM and EX. - * javax/swing/text/html/StyleSheet.java - (BoxPainter.BoxPainter): Setup EM and EX correctly. - (getEMBase): New helper method. - (getEXBase): New helper method. - * javax/swing/text/html/TableView.java - (width): New field. Caches the table width. - (calculateMinorAxisRequirements): Use caches span. - (setPropertiesFromAttributes): Cache span and setup EM/EX. - (updateGrid): Correctly setup EM/EX. - -2006-11-30 Roman Kennke - - * javax/swing/text/html/FormSubmitEvent.java: New class. - * javax/swing/text/html/FormView.java - (SubmitThread): New class for submitting data in a separate thread. - (actionPerformed): Fetch the actual for data. - (addData): New helper method. - (getElementFormData): New helper method. - (getFormData): New helper method. - (getInputFormData): New helper method. - (submitData): Implemented. - * javax/swing/text/html/FrameView.java - (createComponent): Add this as hyperlink listener. - Set the target document as frame document. - (getTopEditorPane): New helper method. - (hyperlinkUpdate): Implementation of the HyperlinkListener interface. - (handleHyperlinkEvent): New helper method. - (handleFormSubmitEvent): New helper method. - * javax/swing/text/html/HTMLDocument.java - (HTMLReader.BaseAction.start): Track the base target. - (HTMLReader.BaseAction.end): Removed. - (baseTarget): New field. - (frameDocument): New field. - (getBaseTarget): New property accessor. - (isFrameDocument): New property accessor. - (processHTMLFrameHyperlinkEvent): Implemented. - (setFrameDocument): New property accessor. - (updateFrame): New helper method. - (updateFrameSet): New helper method. - * javax/swing/text/html/HTMLEditorKit.java - (LinkController.createHyperlinkEvent): Handle frame documents. - (autoFormSubmission): New field. - (HTMLEditorKit): Set autoFormSubmission to true. - (isAutoFormSubmission): New property accessor. - (setAutoFormSubmission): New property accessor. - -2006-11-30 Roman Kennke - - * javax/swing/text/ElementIterator.java - (ElementRef): New inner class. - (currentDepth): Removed. - (currentElement): Removed. - (previousItem): Removed. - (stack): New field. Holds the iteration stack. - (state): Removed. - (ElementIterator(Document)): Removed init of removed fields. - (ElementIterator(Element)): Removed init of removed fields. - (current): Changed to stack based algorithm. - (deepestLeaf): New helper method. - (depth): Changed to stack based algorithm. - (first): Changed to stack based algorithm. - (next): Changed to stack based algorithm. - (previous): Changed to stack based algorithm. - -2006-11-30 Francis Kung - - * .settings/org.eclipse.jdt.core.prefs: Set compilar compliance to 1.4. - * .externalToolBuilders/ClasspathJar.launch: Include sun.* classses. - -2006-11-30 Francis Kung - - * gnu/java/awt/peer/gtk/BufferedImageGraphics.java - (draw): Set transform in buffered composite. - (drawComposite): Do not transform bounds; round bounds. - (drawGlyphVector): Set transform in buffered composite. - (drawRenderedImage): Set transform in buffered composite. - (fill): Set transform in buffered composite. - (updateBufferedImage): Fix scanline & height calculations. - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (createPath): Simplify width & height calculation. - (drawImage): Also transform width & height. + PR classpath/31303: + * external/sax/org/xml/sax/helpers/XMLReaderFactory.java + (createXMLReader): Code in Classpath default. -2006-11-30 Roman Kennke +2007-03-28 Tom Tromey - * javax/swing/text/html/FrameSetView.java: New class. Implements - HTML framesets. - * javax/swing/text/html/FrameView.java: New class. Implements - HTML frames. - * javax/swing/text/html/HTMLDocument.java: - (HTMLReader.addSpecialElement): Only add one artificial space. - * javax/swing/text/html/HTMLEditorKit.java - (HTMLFactory.create): Uncomment code for FrameSetView and FrameView. - * gnu/javax/swing/text/html/parser/support/Parser.java - (_handleEmptyTag): Also consume whitespace after frame tags. + PR classpath/31276: + * native/jni/java-lang/java_lang_VMDouble.c + (parseDoubleFromChars): Use %p, not %i. -2006-11-30 Gary Benson +2007-03-28 Mark Wielaard - * java/lang/Thread.java: Javadoc fixes. + * native/jni/java-nio/Makefile.am (LIBADD): Don't add + libclasspathnative. + * native/jni/java-nio/gnu_java_nio_VMChannel.c + (Java_gnu_java_nio_VMChannel_open): Don't set and reset umask. -2006-11-29 Tom Tromey +2007-03-27 Francis Kung - PR classpath/28203: - * java/lang/Class.java (getAnnotations): Rewrote. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c + (Java_gnu_java_awt_peer_gtk_GtkToolkit_gtkInit): Prevent loading of + accessibility modules as temporary workaround for Gnome bug. -2006-11-29 Tania Bento +2007-03-27 Kyle Galloway - * tools/gnu/classpath/tools/appletviewer/TagParser.java: - (parseParams): Unescape 'val' before putting it into the Map. - (unescapeString): New private method. + * gnu/classpth/jdwp/processor/ThreadReferenceCommandSet.java + (executeResume): Change to call VMVirtualMachine.resumeThread. -2006-11-29 Tom Tromey +2007-03-27 Roman Kennke - * tools/gnu/classpath/tools/getopt/package.html: New file. + * java/io/InputStreamReader.java + (BUFFER_SIZE): New constant. + (bytesCache): Removed. + (cacheLock): Removed. + (hasSavedSurrogate): Removed. + (lastArray): New field. Used for caching CharBuffers. + (lastBuffer): New field. Used for caching CharBuffers. + (maxBytesPerChar): Removed. + (oneChar): New field. Caches a char array for read(). + (savedSurrogate): New field. + (InputStreamReader): (all constructors) Cleaned up. + Use initDecoderAndBuffer() method. Check for null parameters. + Use new EncodingHelper.getDefaultCharset() for fetching the + default charset. + (decode): New helper method. Decodes using the NIO decoder or + using a raw Latin1 decoding. + (getCharBuffer): New helper method. Implements caching of + CharBuffers for output arrays. + (initDecoderAndBuffer): New helper method. Initializes the decoder + and input buffer. + (read): Use cached array. + (read(char[],int,int)): Reworked using a cleaner NIO based + implementation. This decodes the incoming data in bigger chunks + rather then calling the decoder for each character. + (ready): Also check the input buffer. + (refillInputBuffer): New helper methods. Refills the input buffer + when it runs out of data. + * java/io/OutputStreamWriter.java + (lastArray): Implements caching of the output array buffer. + (lastBuffer): Implements caching of the output array buffer. + (oneChar): New field. Caches a char array for write(). + (outputBuffer): Make this a ByteBuffer. + (OutputStreamWriter): (all constructors) Cleaned up. + Use initEncoderAndBuffer() method. Check for null parameters. + Use new EncodingHelper.getDefaultCharset() for fetching the + default charset. + (encode): New helper method. Encodes the input buffer to the output + buffer using either the NIO encoder or a raw Latin1 encoding. + (encodeChars): New helper method. The encoding loop. + (flush): Directly use the array of the output buffer. + (getCharBuffer): New helper method. Implements caching of the + output buffer. + (initEncoderAndBuffer): New helper method for initialization. + (write(char[],int,int)): Reworked to make better use of the NIO + encoders. + (write): Use cached array. + (write(String,int,int)): Don't copy the string but rather wrap it + and handle it the same as the wrapped char array. + (writeConvert): Removed. + * gnu/java/nio/charset/EncodingHelper.java + (getDefaultCharset): New method. Returns the default charset for + the case when the file.encoding charset is not valid. This + always returns an UTF8 codec. + +2007-03-27 Roman Kennke -2006-11-29 David Gilbert + * java/awt/Frame.java + (weakFrames): Make this generic and package private. + (noteFrame): Use generic WeakReference. + * java/awt/EventQueue.java + (isShutdown): Iterate over the weakFrames directly, rather than + using Frame.getFrames(). The latter iterates several times over + weakFrames completely and creates a new array on each call. The + former iterates only once and aborts when it finds a frame which + is displayable. - * javax/swing/plaf/metal/MetalIconFactory.java - (HorizontalSliderThumbIcon.paintIcon()): Commented out gradient paint, - (VerticalSliderThumbIcon.paintIcon()): Likewise. +2007-03-27 Roman Kennke -2006-11-29 Mario Torre + * javax/swing/JScrollBar.java + (getUnitIncrement(int)): Don't multiply direction parameter. + (getBlockIncrement(int)): Don't multiply direction parameter. - * java/text/NumberFormat.java (getCurrencyInstance): Replaced dollar sign - with the default international currency sign \u00A4. - * java/text/DecimalFormat.java (scanFix): Fix to use the localized symbol - table for string formatting. - (formatInternal): likewise. - (scanNegativePattern): likewise. - (applyPattern): likewise. - * java/text/DecimalFormatSymbols.java (clone): Revert to old version as - Locale is immutable and does not need clone. +2007-03-26 Tom Tromey -2006-11-29 Francis Kung + * doc/cp-tools.texinfo (gcjh Tool): Added more text. + (rmid Tool): Likewise. - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (drawLine): Remove hard-coded pixel shifting. +2007-03-26 Stepan Kasal -2006-11-29 Roman Kennke + * tools/gnu/classpath/tools/javah/Main.java (cniOrJniSeen): New + field. + (getParser): Use new field. - * java/awt/Component.java - (isShowing): Simplified condition code and avoid unnecessary - if-codepaths. - (coalesceEvents): Always coalesce paint events and let the peer - figure out the expanding of the repaint area. - * gnu/java/awt/peer/swing/SwingComponentPeer.java - (currentPaintEvents): Removed. Replaced by paintArea. - (paintArea): New field. Tracks the dirty area. - (SwingComponentPeer): Removed init of currentPaintEvents. - (coalescePaintEvent): Simplified to only union the dirty regions. - (handleEvent): Paint dirty region that was tracked in paintArea. - * gnu/java/awt/peer/gtk/GtkComponentPeer.java - (paintArea): New field. Tracks the dirty region. - (coalescePaintEvent): Implemented to track the dirty region. - (paintComponent): Use the dirty region in paintArea. Protect - state by putting the paint and dispose code in a try-finally. - (updateComponent): Use the dirty region in paintArea. Protect - state by putting the paint and dispose code in a try-finally. - -2006-11-29 Roman Kennke - - * java/awt/font/TextLayout.java - (getVisualHighlightShape): Removed debug output. - -2006-11-28 Andrew Haley - - * vm/reference/sun/reflect/misc/ReflectUtil.java - (checkPackageAccess): Implement. - -2006-11-28 Dalibor Topic - - * native/jni/java-lang/java_lang_VMDouble.c: - (parseDoubleFromChars) New function. Factored out from ... - (Java_java_lang_VMDouble_parseDouble): Factored out the parsing. - (dtoa_toString): New function. Factored out from ... - (Java_java_lang_VMDouble_toString) : Factored out the conversion. - Changed conversion mode to 2, as modes 0 and 1 don't round - as the API spec demands. Invoke conversion function as often - as necessary with growing precision until a reversible - representation of the double in form of a string is reached. - -2006-11-28 Roman Kennke - - * javax/swing/JComponent.java - (putClientProperty): Do not fire event when both old and new - value are == null. - -2006-11-27 Andrew John Hughes - - * java/lang/Enum.java: - Make name and ordinal final. - -2006-11-27 Casey Marshall - - * java/util/jar/JarEntry.java (certs): removed. - (jarfile): new field. - (getCertificates): read the certificates from the containing JarFile. - * java/util/jar/JarFile.java (JarEnumeration.nextElement): don't - fill in 'certs,' fill in 'jarfile' for the entry. - (getEntry): likewise. - -2006-11-27 Francis Kung - - * java/awt/image/WritableRaster.java - (createChild): Implemented. - -2006-11-27 Roman Kennke - - * java/awt/font/TextLayout.java - (TextLayout(TextLayout,int,int)): Also layout the new runs. - (getVisualHighlightShape): Implemented. - (layoutRuns): Fixed boundary so that the last run is also laid out. - (left): New helper method. - (right): New helper method. - -2006-11-27 Roman Kennke - - * java/awt/font/TextLayout.java - (getCaretShape(TextHitInfo,Rectangle2D)): Implemented. - (getCaretShape(TextHitInfo)): Use natural bounds. - (getCaretShapes(int,Rectangle2D,CaretPolicy)): New API method. - (getCaretShapes(int,Rectangle2D)): Delegate to new method - above with DEFAULT_CARET_POLICY. - (getCaretShapes(int)): Use natural bounds. - -2006-11-27 Roman Kennke - - * java/awt/font/TextLayout.java - (Run.font): New field. - (Run.location): New field. - (Run.Run): Initialize font. - (font): Removed field. This is moved into Run as the actual font - is something run-specific. - (TextLayout(String,Font,FontRenderContext)): Set font on the - single runs. Layout the runs here. - (TextLayout(TextLayout,int,int)): Copy over the run fonts. - (findRunAtIndex): New helper method. - (getCaretInfo): Implemented. - (layoutRuns): New helper method. - (toString): Don't put font in output string. - -2006-11-27 Raif S. Naffah - - * AUTHORS: Added Jeroen Fritjers. - -2006-11-27 neugens - - * java/text/DecimalFormat.java (formatInternal): Add an explicit test - for FieldPosition to be null. - Check if the factional part is just 0 and can be omitted from the - result. - (scanNegativePattern): Fixed index out of bound exception when searching - for international currency symbol in negative pattern. - -2006-11-27 Andrew John Hughes - - * java/beans/beancontext/BeanContextSupport.java: - (readObject(ObjectInputStream)): Implemented. - (writeObject(ObjectOutputStream)): Likewise. - (BCSChild.getTargetChild()): Added. - (bcsPreDeserializationHook()): Implemented. - (bcsPreSerializationHook()): Likewise. - (childDeserializedHook(Object,BCSChild)): Likewise. - (isSerializing()): Likewise. - (readChildren(ObjectInputStream)): Likewise. - (writeChildren(ObjectOutputStream)): Likewise. - -2006-11-26 Roger Sayle eyesopen.com> - Ian Lance Taylor airs.com> - Paolo Bonzini gnu.org> +2007-03-25 Dalibor Topic - Fixes bug #25557. + * doc/cp-tools.texinfo: Fix node ordering. - * lib/gen-classlist.sh.in: Avoid using test's -ef operator for - increased portability. Likewise, use -f instead of -e. +2007-03-19 Matthias Klose -2006-11-26 Mark Wielaard + * doc/Makefile.am: Build a gcjh(1) man page. + * doc/cp-tools.texinfo: Add documentation for gcjh. - * lib/Makefile.am (propertydirs): Removed. - (resources): Explicitly create all dirs. +2007-03-23 Jeroen Frijters -2006-11-26 Mark Wielaard + * java/net/ServerSocket.java (implAccept): set implCreated flag on + socket. + * java/net/Socket.java (implCreated): Make package accessible for + ServerSocket. - * gnu/java/net/PlainSocketImpl.java (accept): Reset timeout on Socket. +2007-03-22 Casey Marshall -2006-11-26 Dalibor Topic + * gnu/javax/net/ssl/provider/ClientHandshake.java (RSAGen.implRun): + check keyEncipherment bit of the certificate, and just pass the public + key to the cipher. - * native/target/.cvsignore, - native/target/generic/.cvsignore, - native/target/Linux/.cvsignore: - Removed no longer used files. +2007-03-20 Mario Torre - * native/target: Removed no longer used directory. + * configure.ac: GConf requirement for building the java.util.prefs backend + are relaxed down to version 2.6.0 (instead of 2.11.2). -2006-11-26 Dalibor Topic +2007-03-19 Mario Torre - Fixes bug #29133. + * gnu/java/awt/peer/KDEDesktopPeer.java: + (mail): Fixed error dialog in KDE when the mail method is called without + argument; now opens the default mailer with a blank window. + (getCommand): Handle the use of kprinter as default print command for KDE. + (supportCommand): Enable the print command when a KDE desktop is detected. - * libraries/clib/nio/gnu_java_nio_VMSelector.c - (Java_gnu_java_nio_VMSelector_select): - Use strerror if strerror_r is not available. +2007-03-19 Jeroen Frijters - Reported by: Michael Franz , - Riccardo Mottola + * java/net/Socket.java + (implCreated): New field. + (getImpl): Call impl.create() if it hasn't been called yet. + (bind): Removed explicit impl.create() call. -2006-11-26 Dalibor Topic +2007-03-18 Mark Wielaard - Fixes bug #26756. - - * native/jni/midi-dssi/Makefile.am (AM_CFLAGS): Removed - STRICT_WARNING_CFLAGS since it caused the build to fail - on GNU/Linux. + * javax/crypto/CipherOutputStream.java (write): Use out.write() + not super.write(). -2006-11-26 Ian Rogers +2007-03-18 Mark Wielaard - * doc/vmintegration.texinfo: Update VM Threading Model section. + * configure.ac (COMPILE_PLUGIN): Check for gtk+-2.0 >= 2.8 + gthread-2.0 >= 2.2 and gdk-pixbuf-2.0 -2006-11-26 Tom Tromey +2007-03-16 Tom Tromey - * native/jni/java-net/java_net_VMNetworkInterface.c: Conditionally - include ifaddrs.h. - (Java_java_net_VMNetworkInterface_getVMInterfaces): Updated - conditional. - * native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c: - Conditionally include ifaddrs.h. - (getif_address): Updated conditional. - (getif_index): Likewise. - * configure.ac: Check for ifaddrs.h. + * tools/gnu/classpath/tools/javah/Main.java (run): Use class' + name in File case. -2006-11-25 Mark Wielaard +2007-03-16 Thomas Fitzsimmons - * java/io/File.java (list): Return empty list for unreadable dirs. + * resource/com/sun/tools/javac/messages.properties + (Main.FailedToRead, Main.MalformedURL, Main.FailedToLoad): Clarify + messages for when --with-ecj-jar is not specified. -2006-11-25 Mark Wielaard + * configure.ac (FOUND_ECJ_JAR): Remove conditional. + * tools/Makefile.am: Build com.sun.tools.javac package + unconditionally. - * gnu/java/awt/peer/gtk/CairoGraphics2D.java (drawGlyphVector): - Synchronize on font peer. - (setFont): Likewise. - * gnu/java/awt/peer/gtk/GdkFontPeer.java (getFontMetrics): Mark - synchronized. - (getTextMetrics): Likewise. +2007-03-16 Mark Wielaard -2006-11-25 Roman Kennke + * configure.ac (COMPILE_PLUGIN): Stop when no plugin headers found. + Also check for gtk+ dependency. - * javax/swing/text/GapContent.java - (getPositionsInRange): Rewritten to use the more efficient - binary search searchFirst() and avoid an NPE that was caused - by GC'ed positions. +2007-03-16 Tom Tromey -2006-11-25 Mark Wielaard + * tools/gnu/classpath/tools/javah/JniStubPrinter.java + (printClass): Added filename argument. + * tools/gnu/classpath/tools/javah/JniIncludePrinter.java + (printClass): Added filename argument. + * tools/gnu/classpath/tools/javah/CniIncludePrinter.java + (printClass): Use user's file name. + * tools/gnu/classpath/tools/javah/CniStubPrinter.java + (printClass): Use user's file name. + * tools/gnu/classpath/tools/javah/Printer.java (printClass): Added + filename argument. + * tools/gnu/classpath/tools/javah/Main.java (getParser): Fix '-v' + argument order. + (writeHeaders): Use a HashMap. + (run): Put class name into HashMap for writeHeaders. - * javax/swing/text/CompositeView.java (modelToView): Never return - null. +2007-03-16 Francis Kung -2006-11-25 Mark Wielaard + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (cairoArc): Make protected rather than private so it can be over-ridden. + (cairoClip): Likewise. + (cairoClosePath): Likewise. + (cairoCurveTo): Likewise. + (cairoDrawGlyphVector): Likewise. + (cairoFill): Likewise. + (cairoLineTo): Likewise. + (cairoMoveTo): Likewise. + (cairoNewPath): Likewise. + (cairoRectangle): Likewise. + (cairoResetClip): Likewise. + (cairoRestore): Likewise. + (cairoSave): Likewise. + (cairoScale): Likewise. + (cairoSetAntialias): Likewise. + (cairoSetDash): Likewise. + (cairoSetFillRule): Likewise. + (cairoSetFont): Likewise. + (cairoSetLine): Likewise. + (cairoSetMatrix): Likewise. + (cairoSetOperator): Likewise. + (cairoSetRGBAColor): Likewise. + (cairoStroke): Likewise. + (drawPixels): Likewise. + (init): Likewise. + (setGradient): Likewise. + (setPaintPixels): Likewise. + (cairoDrawLine): Removed. + (cairoDrawRect): Removed. + (cairoFillRect): Removed. + (cairoPreserveClip): Removed. + (cairoRelCurveTo): Removed. + (cairoRelLineTo): Removed. + (cairoRelMoveTo): Removed. + * gnu/java/awt/peer/gtk/ComponentGraphics.java + (cairoArc): New method wrapping superclass method in locks. + (cairoClip): Likewise. + (cairoClosePath): Likewise. + (cairoCurveTo): Likewise. + (cairoDrawGlyphVector): Likewise. + (cairoFill): Likewise. + (cairoLineTo): Likewise. + (cairoMoveTo): Likewise. + (cairoNewPath): Likewise. + (cairoRectangle): Likewise. + (cairoResetClip): Likewise. + (cairoRestore): Likewise. + (cairoSave): Likewise. + (cairoScale): Likewise. + (cairoSetAntialias): Likewise. + (cairoSetDash): Likewise. + (cairoSetFillRule): Likewise. + (cairoSetFont): Likewise. + (cairoSetLine): Likewise. + (cairoSetMatrix): Likewise. + (cairoSetOperator): Likewise. + (cairoSetRGBAColor): Likewise. + (cairoStroke): Likewise. + (disposeNative): Likewise. + (drawPixels): Likewise. + (init): Likewise. + (setGradient): Likewise. + (setPaintPixels): Likewise. + (draw): Do not lock, as locking is now done in the wrapped native methods. + (drawComposite): Likewise. + (drawGlyphVector): Likewise. + (drawImage): Likewise. + (drawRenderedImage): Likewise. + (fill): Likewise. + (setClip): Removed. + (lock): Added documentation. + (unlock): Added documentation. + * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h: Regenerated. + * include/gnu_java_awt_peer_gtk_CairoSurface.h: Regenerated. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c + (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoDrawLine): Removed. + (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoDrawRect): Removed. + (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoFillRect): Removed. + (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoPreserveClip): Removed. + (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoRelCurveTo): Removed. + (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoRelLineTo): Removed. + (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoRelMoveTo): Removed. - * javax/swing/text/html/TableView.java (calculateColumnRequirements): - Check whether rowView instanceof RowView. - (updateGrid): Likewise. +2007-03-11 Andrew John Hughes -2006-11-25 Mario Torre + * javax/management/openmbean/ArrayType.java: + (getArrayClassName(String, int)): Replaced by... + (getArrayClassName(OpenType, int, boolean)): + Returns appropriate class name for the array. + (getDimensions(OpenType, int)): New method. + (getPrimitiveType(Class)): Likewise. + (getPrimitiveTypeClass(OpenType)): Likewise. + (getElementType(OpenType)): Likewise. + (getElementTypeName(OpenType)): Likewise. + (ArrayType(int, OpenType)): Rewritten + to handle ArrayTypes as input. + (ArrayType(SimpleType, boolean)): New constructor. + (equals(Object)): Handle primitiveArray flag. + (hashCode()): Likewise. + (getArrayType(OpenType)): New method. + (getPrimitiveArrayType(Class)): Likewise. + (isPrimitiveArray()): Likewise. + (toString()): Updated to list primitiveArray + flag. + * javax/management/openmbean/OpenType.java: + (OpenType(String,String,String)): Use Class.forName() + and methods of Class to validate arrays. + * javax/management/openmbean/SimpleType.java: + Include causal exception when creating pre-defined types + throws an exception. + +2007-03-09 Andreas Tobler - PR28462 - * java/text/DecimalFormat.java: Almost new rewrite, and update to 1.5. - * java/text/NumberFormat.java (format): all format methods, fixed - FieldPosition argument should never be null. - (format(Object, StringBuffer, FieldPosition)): fixed signature, - method is not final. - * java/text/DecimalFormatSymbols.java (clone): fixed to also clone - locale. - * AUTHORS: added my name to the file. + Port change from gcc: -2006-11-25 Mark Wielaard + 2007-03-06 Matthias Klose - * javax/swing/text/html/StyleSheet.java (paint): Guard against - getChildAllocation() returning null. + * doc/Makefile.am(gkeytool.pod): Don't use sed -i. -2006-11-25 Mark Wielaard +2007-03-09 Kyle Galloway - * gnu/javax/swing/text/html/css/Selector.java (calculateSpecificity): - Use clazzIndex for id substring. + * gnu/classpath/jdwp/exception/InvalidTagException.java: New file. + * gnu/classpath/jdwp/processor/ArrayReferenceCommandSet.java + (executeGetValues): Use Value type. + (exectureSetValues): Ditto. + * gnu/classpath/jdwp/processor/ClassTypeCommandSet.java + (executeGetValues): Use Value type. + (executeSetValues): Ditto. + (invokeMethod): Record method return type. + * gnu/classpath/jdwp/processor/ObjectReferenceCommandSet.java + (executeGetValues): Use Value type. + (executeSetValues): Ditto. + * gnu/classpath/jdwp/processor/ReferenceTypeCommandSet.java + (executeGetValues): Use Value type. + * gnu/classpath/jdwp/processor/StackFrameCommandSet.java + (executeGetValues): Use Value type. + (executeSetValues): Ditto. + * gnu/classpath/jdwp/util/MethodResult.java: Add resType to store return + type. + (getResultType): New Method. + (setResultType): Ditto. + * gnu/classpath/jdwp/util/Value.java: Remove. + * gnu/classpath/jdwp/value: New Package. + * gnu/classpath/jdwp/value/Value.java: New file. + * gnu/classpath/jdwp/value/BooleanValue.java: New file. + * gnu/classpath/jdwp/value/ByteValue.java: New file. + * gnu/classpath/jdwp/value/CharValue.java: New file. + * gnu/classpath/jdwp/value/DoubleValue.java: New file. + * gnu/classpath/jdwp/value/FloatValue.java: New file. + * gnu/classpath/jdwp/value/IntValue.java: New file. + * gnu/classpath/jdwp/value/LongValue.java: New file. + * gnu/classpath/jdwp/value/ObjectValue.java: New file. + * gnu/classpath/jdwp/value/ShortValue.java: New file. + * gnu/classpath/jdwp/value/StringValue.java: New file. + * gnu/classpath/jdwp/value/ValueFactory.java: New file. + * gnu/classpath/jdwp/value/VoidValue.java: New file. -2006-11-25 Mark Wielaard +2007-03-09 Roman Kennke - * java/awt/EventQueue.java (pop): Only terminate dispatchThread when - it is still running. + * java/awt/image/SinglePixelPackageSampleModel.java + (createDataBuffer): Avoid use of Buffers class and create + DataBuffer directly in place. -2006-11-25 Mark Wielaard +2007-03-09 Roman Kennke - Fixes bug #28822 - * doc/api/Makefile.am (create_html): Guard GJDOC invocation with - CREATE_API_DOCS + * java/awt/image/ComponentSampleModel.java + (tightPixelPacking): Removed. + (ComponentSampleModel): Removed unnecessary 'optimization' code. + (createDataBuffer): Avoid use of Buffers helper class. + (getDataElements(int,int,int,int,Object,DataBuffer): Removed. + (getDataElements(int,int,Object,DataBuffer): Do not use Buffers + helper class and instead fetch the values directly. Don't expect + any specific DataBuffer subclass. + (setDataElements(int,int,int,int,Object,DataBuffer): Removed. + (setDataElements(int,int,Object,DataBuffer): Do not use Buffers + helper class and instead set the values directly. Don't expect + any specific DataBuffer subclass. -2006-11-24 Tania Bento +2007-03-08 Tom Tromey - * java/awt/font/TextHitInfo.java - (equals(TextHitInfo)): If TextHitInfo parameter is null, return false. - (beforeOffset): Decreased first parameter by 1. + PR libgcj/31093: + * java/net/MulticastSocket.java (setTimeToLive): Allow ttl==0. -2006-11-24 Francis Kung +2007-03-08 Gary Benson - * gnu/java/awt/peer/gtk/BufferedImageGraphics.java - (constructor): Check sample model when setting fastCM flag. - (updateBufferedImage): Check scanline and sample model offsets before - copying data directly into the image data buffer. + PR classpath/30983: + * gnu/xml/dom/ls/DomLSParser.java (getInputSource): + Do not use the entity resolver to resolve the top-level document. -2006-11-24 Francis Kung +2007-03-07 Tom Tromey - * gnu/java/awt/java2d/QuadSegment.java - (offsetSubdivided): Handle special straight-line cases. + PR classpath/31057: + * java/util/regex/Pattern.java (toString): New method. -2006-11-24 Roman Kennke +2007-03-07 Gary Benson - * java/awt/dnd/DropTarget.java - (DropTargetAutoScroller.HYSTERESIS): New constant. - (DropTargetAutoScroller.DELAY): New constant. - (DropTargetAutoScroller.inner): New field. A cached - Rectangle instance. - (DropTargetAutoScroller.outer): New field. A cached - Rectangle instance. - (DropTargetAutoScroller.timer): New field. The actual timer. - (DropTargetAutoScroller.DropTargetAutoScroller): - Initialize timer. - (DropTargetAutoScroller.actionPerformed): Implemented. - (DropTargetAutoScroller.stop): Implemented. - (DropTargetAutoScroller.updateLocation): Implemented. - (clearAutoscroll): Stop the autoscroller before nullifying it. - (createDropTargetAutoScroller): Don't set the field here, - only return a new instance. - (dragEnter): Only do something when active. Initialize - auto scrolling. - (dragExit): Only do something when active. Stop auto scrolling. - (dragOver): Only do something when active. Update auto scrolling. - (drop): Only do something when active. Update auto scrolling. - (dropActionChanged): Only do something when active. Update - auto scrolling. - (initializeAutoScrolling): Check if component is an instance - of Autoscroll, otherwise do nothing. - (setActive): Disable autoscrolling when deactivating. - (setComponent): When component is set to null, disable autoscrolling. + PR classpath/30906: + * resource/META-INF/services/org.w3c.dom.DOMImplementationSourceList: + New file. -2006-11-24 David Gilbert - - * java/beans/beancontext/BeanContextServicesSupport.java - (getChildBeanContextServicesListener): Implemented. - -2006-11-23 Roman Kennke +2007-03-06 Andrew John Hughes - * gnu/java/awt/peer/headless/HeadlessGraphicsEnvironment.java - (createGraphics): Use constructor to create new instance of - BufferedImageGraphics. - * java/awt/Toolkit.java - (getDefaultToolkit): Really try to get a real toolkit. Only - use HeadlessToolkit if no other is available. - * gnu/java/awt/peer/gtk/GtkToolkit.java - (checkHeadless): New helper method. Checks for headless environment - and throws HeadlessException if appropriate. - (createButton): Check for headless. - (createCanvas): Check for headless. - (createCheckbox): Check for headless. - (createCheckboxMenuItem): Check for headless. - (createChoice): Check for headless. - (createDialog): Check for headless. - (createDragGestureRecognizer): Check for headless. - (createDragSourceContextPeer): Check for headless. - (createEmbeddedWindow): Check for headless. - (createFileDialog): Check for headless. - (createFrame): Check for headless. - (createCheckbox): Check for headless. - (createLabel): Check for headless. - (createList): Check for headless. - (createMenu): Check for headless. - (createMenuBar): Check for headless. - (createMenuItem): Check for headless. - (createPanel): Check for headless. - (createPopupMenu): Check for headless. - (createScrollbar): Check for headless. - (createScrollPane): Check for headless. - (createTextArea): Check for headless. - (createTextField): Check for headless. - (createWindow): Check for headless. - -2006-11-23 David Gilbert - - * java/beans/beancontext/BeanContextSupport.java - (deserialize): Implemented, - (serialize): Implemented. - -2006-11-23 Roman Kennke - - * gnu/java/awt/peer/headless/HeadlessGraphicsEnvironment.java - (createGraphics): Try to use Cairo graphics if available. - -2006-11-22 David Gilbert - - * java/beans/beancontext/BeanContextSupport.java - (toArray): Added API docs, - (toArray(Object[])): Added API docs, removed NotImplementedException. - -2006-11-22 Tania Bento - - * javax/swing/JRootPane.java - (setLayeredPane): Added documentation; throw - IllegalComponentStateException if layered pane parameter is null. - -2006-11-22 David Gilbert - - * java/beans/beancontext/BeanContextSupport.java - (avoidingGui): Removed NotImplementedException. - -2006-11-22 Francis Kung - - * gnu/java/awt/peer/gtk/BufferedImageGraphics.java - (drawGlyphVector): Clip updated area to glyph bounds. - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (createPath): Eliminate distortion when pixel-shifting rectangles; separate - x-coordinate and y-coordinate pixel shifting. - (shifted): Removed method. - (shiftX): New method, recognising scaling transforms. - (shiftY): New method, recognising scaling transforms. - (walkPath): Separate x-coordinate and y-coordinate pixel shifting. - -2006-11-22 Roman Kennke - - * java/awt/font/TextLayout.java - (hash): New field. Caches the hash code. - (hashCode): Implemented. - -2006-11-22 Roman Kennke - - * java/awt/image/ImageFilter.java - Reformat whole class. - (getFilterInstance): Don't touch the consumer field. Don't check - consumer. - (imageComplete): Don't check consumer. - (setColorModel): Don't check consumer. - (setDimensions): Don't check consumer. - (setHints): Don't check consumer. - (setPixels): Don't check consumer. - (setProperties): Pass the original property too. - * java/awt/image/IndexColorModel.java - (IndexColorModel(int,int,byte[],byte[],byte[],int)): Set the - transparent pixel by calling the new helper method. - (IndexColorModel(int,int,byte[],int,boolean,int)): Set the - transparent pixel by calling the new helper method. - (IndexColorModel(int,int,int[],int,boolean,int,int)): Set the - transparent pixel by calling the new helper method. - (coerceData): Removed. This is not needed. - (getAlpha): Simply return value from color map. The transparent - pixel has to be there. - (setTransparentPixel): New helper method. Inserts the transparent - pixel. - * java/awt/image/RGBImageFilter.java - Reformat whole class. - (convertColorModelToDefault): Removed. No longer needed. - (filterIndexColorModel): Don't handle transparent pixels - separately. - (filterRGBPixels): Set pixels on consumer already. - (makeColor): Removed. No longer needed. - * java/awt/image/ReplicateScaleFilter.java - (replicatePixels): Removed. - (setDimension): Correctly compute destination size, avoid double - calculations. - (setPixels): Avoid double calculations. Fixed some boundary cases. - (setupSources): New helper method. - * java/awt/image/SampleModel.java - (setDataElements): Also handle TYPE_SHORT, TYPE_FLOAT - and TYPE_DOUBLE. - * java/awt/image/SinglePixelPackedSampleModel.java - (setDataElements(int,int,int,int,Object,DataBuffer)): Removed. - This is not needed as the superclass already copies line - by line. - (setDataElements(int,int,Object,DataBuffer)): Simplified code, - removed some checks that the RI also doesn't perform. Call - DataBuffer.setElem(). - -2006-11-22 Roman Kennke - - * java/awt/text/TextLayout.java - (getLogicalRangesForVisualSelection): Implemented. - -2006-11-21 Andrew John Hughes - - * sun/reflect/annotation/AnnotationParser.java, - * sun/reflect/annotation/AnnotationType.java, - * sun/reflect/annotation/EnumConstantNotPresentExceptionProxy.java, - * sun/reflect/annotation/ExceptionProxy.java: - Stubbed. - * sun/misc/ServiceConfigurationError.java, - * sun/misc/Service.java: - Implemented. - -2006-11-21 Roman Kennke - - * java/awt/text/TextLayout.java - (Run.isLeftToRight): New helper method. - (logicalToVisual): New field. Maps logical indices to visual - indices. - (visualToLogical): New field. Maps visual indices to logical - indices. - (TextLayout): Setup mappings. - (setupMappings): New method for setting up the mappings. - (getCharacterLevel): Reorganized code. - (getNextLeftHit(int)): Implemented. - (getNextLeftHit(int,CaretPolicy)): New method. - (getNextLeftHit(TextHitInfo)): Implemented. - (getNextRightHit(int)): Implemented. - (getNextRightHit(int,CaretPolicy)): New method. - (getNextRightHit(TextHitInfo)): New method. - (getVisualOtherHit): Implemented. - (checkHitInfo): New helper methods for checking parameters. - (hitToCaret): New helper method. Maps hit infos to caret locations. - (caretToHit): New helper method. Maps caret locations to hit infos. - (isCharacterLTR): New helper method. - (CaretPolicy.getStrongCaret): Implemented. - -2006-11-21 Francis Kung - - * gnu/java/awt/peer/gtk/BufferedImageGraphics.java - (draw): Include stroke width when calculating bounds. - (updateBufferedImage): Round bounds more generously, handle negative - height/width values, and clip more intelligently. - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (createPath): Add shortcut optimization for lines. - (draw): Include stroke width when calculating bounds. - (drawLine): Delegate to main draw() method. - (drawRect): Likewise. - (fillRect): Delegate to main fill() method. - (findStrokedBounds): New method. - (setCustomPaint): Round bounds more generously. - * gnu/java/awt/peer/gtk/ComponentGraphics.java - (drawLine): Removed. - (drawRect): Removed. - (fillRect): Removed. + * gnu/java/lang/management/BeanImpl.java: + (translate(String)): Add horrible generics hacks + to make things work with the new type signatures. + * javax/management/loading/ClassLoaderRepository.java: + Added generic types. + * javax/management/openmbean/CompositeDataSupport.java: + Likewise. + * javax/management/openmbean/OpenMBeanOperationInfo.java: + Likewise. + * javax/management/openmbean/OpenMBeanParameterInfo.java: + Likewise. -2006-11-21 Francis Kung +2007-03-06 Francis Kung - * gnu/java/awt/java2d/TexturePaintContext.java - (getRaster): Handle negative coordinate values. - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (setPaint): Moved custom paint processing to a new method. - (setPaintPixels): Added x, y parameters. - (getRealBounds): Added documentation. - (copy): Copy clipping information. - (drawLine): Process custom paints. - (setCustomPaint): New method. - (fill): Process custom paints. - (drawGlyphVector): Process custom paints. - (drawRect): Process custom paints. - (draw): Process custom paints. - * gnu/java/awt/peer/gtk/CairoSurface.java - (cairoCM_opaque): New constant. - * gnu/java/awt/peer/gtk/BufferedImageGraphics.java - (argb32): Removed constant. - (rgb32): Removed constant. - (BufferedImageGraphics(BufferedImage)): Updated constant names. - (BufferedImageGraphics(BufferedImageGraphics)): Copy color model flags. - (updateBufferedImage): Transform to device-space before updating. - * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h - (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_setPaintPixels): Added x, y - parameters. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c - (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_setPaintPixels): Set pattern - source at designated x, y origin. - -2006-11-21 Roman Kennke - - * java/awt/text/TextLayout.java - (Run): New inner helper class. - (length): New field. - (naturalBounds): New field. - (offset): New field. - (runIndices): Removed. This is now encapsulate in a Run object. - (runs): Changed to Run[]. - (string): Changed to char[]. - (totalAdvance): New field. Caches advance value. - (TextLayout(String,Font,FontRenderContext)): Change to store - string as char[] and run layout as Run[]. Clean out empty - run items. - (TextLayout(TextLayout,int,int)): Change to store - string as char[] and run layout as Run[]. - (clone): Call private constructor for maximum efficiency. - (determineWhitespace): Adapted to use char[] data. - (draw): Adapted to use Run objects. - (getAdvance): Cache computed total advance. - (getBlackBoxBounds): Adapted to use Run objects. - (getCaretInfo): Use natural layout bounds. - (getCharacterCount): Return length field. - (getLogicalHighlightShape): Adapted to use Run objects. - (getNaturalBounds): New helper method. Calculates and returns the - natural bounds of this text layout. - (getOutline): Adapted to use Run objects. - (getStringProperties): Adapted to use char[] data. - (getVisibleAdvance): Adapted to use char[] and Run data. - (handleJustify): Adapted to use char[] and Run data. - (hitTestChar(float,float,Rectangle2D)): Implemented. - (hitTestChar(float,float)): Use natural bounds. - (setCharIndices): Adapted to use char[] and Run data. - (toString): Adapted to use char[] and Run data. - * java/text/Bidi.java - (requiresBidi): Exclude paragraph separators from bidi-triggers. - -2006-11-21 Roman Kennke - - * gnu/java/awt/peer/gtk/GdkFontMetrics.java: - Removed. This is now an inner class in GdkFontPeer. - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (drawString(float,float)): Use text layout cache from - GdkFontPeer. - (getFontMetrics): Delegate to GdkFontPeer. * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java - (getGlyphCodes): Also check array size. - (getGlyphPositions): Also check array size. - * gnu/java/awt/peer/gtk/GdkFontPeer.java - (GdkFontLineMetrics.fm): Removed. - (GdkFontLineMetrics.strikeThroughOffset): Removed. - (GdkFontLineMetrics.strikeThroughThickness): Removed. - (GdkFontLineMetrics.underlineOffset): Removed. - (GdkFontLineMetrics.underlineThickness): Removed. - (GdkFontLineMetrics.GdkFontLineMetrics): Don't take - FontMetrics argument. Don't init removed fields. - (GdkFontLineMetrics.getAscent): Return font peer's field. - (GdkFontLineMetrics.getDescent): Return font peer's field. - (GdkFontLineMetrics.getHeight): Return font peer's field. - (GdkFontLineMetrics.getLeading): Return font peer's field. - (GdkFontLineMetrics.getNumChars): Reformat. - (GdkFontLineMetrics.getStrikeThroughOffset): Return half ascent. - (GdkFontLineMetrics.getStrikeThroughThickness): Return 1. - (GdkFontLineMetrics.getUnderlineOffset): Return font peer's field. - (GdkFontLineMetrics.getUnderlineThickness): Return font peer's field. - (GdkFontMetrics): Moved class in here as inner class. - Make it use the font peer's fields and for the char(s) width - and string width method, use TextLayout to measure the actual widths. - (ascent): New field. - (bundle): Removed. - (DEFAULT_CTX): New constant field. - (descent): New field. - (FONT_METRICS_ASCENT): New constant. - (FONT_METRICS_DESCENT): New constant. - (FONT_METRICS_HEIGHT): New constant. - (FONT_METRICS_MAX_ADVANCE): New constant. - (FONT_METRICS_MAX_ASCENT): New constant. - (FONT_METRICS_MAX_DESCENT): New constant. - (FONT_METRICS_UNDERLINE_OFFSET): New constant. - (FONT_METRICS_UNDERLINE_THICKNESS): New constant. - (height): New field. - (maxAdvance): New field. - (maxAscent): New field. - (maxDescent): New field. - (metrics): New field. Stores a FontMetrics for this font. - (textLayoutCache): New field. Caches TextLayout instances. - (underlineOffset): New field. - (underlineThickness): New field. - (cinit): Don't initialize resource bundle. - (GdkFontPeer): Setup the metrics. - (getFontMetrics): Return stored metrics if possible. - (getLineMetrics): Adapt to new constructor. - (initFont): New helper method. - (setupMetrics): New helper method. - * gnu/java/awt/peer/gtk/GtkToolkit.java - (LRUCache): Made class a static class. - (getFontMetrics): Delegate to GdkFontPeer. - * native/jni/gtk-peer/gdkfont.h - Added new constant defines. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c - (getFontMetrics): Rewritten to fetch the font metrics from - FreeType. - -2006-11-20 Tania Bento - - * javax/swing/ButtonGroup.java: - (setSelected): Select the ButtonModel if all conditions - are met. - -2006-11-20 Tania Bento - - * javax/swing/JSlider.java: - (updateLabelUIs): Removed casting. - -2006-11-20 Mark Wielaard - - * gnu/java/util/regex/RE.java (messages): Don't initialize. - (bundle): New static final String field. - (getLocalizedMessage): Initialize messages when still null. - * gnu/java/util/regex/RESyntax.java (SYNTAX_IS_FINAL): Removed. - (set): Use RE.getLocalizedMessage(). - (clear): Likewise. - (setLineSeparator): Likewise. - -2006-11-20 Roman Kennke - - * javax/swing/text/html/StyleSheet.java - (linked): New field. - (styleSheet): Replaced by linked. - (addStyleSheet): Use an arraylist for simplicity. - (getRule): Removed useless instantiation. - (getStyleSheets): Convert array list to array. - (removeStyleSheet): Use an arraylist for simplicity. - (resolveStyle): Include styles from linked lists. - -2006-11-20 Roman Kennke - - * javax/swing/text/BoxView.java - (BoxView): Initialize with invalid req's. - (forwardUpdate): Trigger repaint when children changed the - major axis. - (getResizeWeight): Return resizable when the pref differs from - the min or the pref differs from the max size. - (layoutMajorAxis): Actually sum up the preferred sizes. - (paint): Made binary search more robust. - (replace): Let arrays shrink when needed. - (replaceLayoutArray): Let arrays shrink when needed. - (setAxis): Trigger preferenceChanged. - * javax/swing/text/CompositeView.java - (getInsideAllocation): Call insets method to take account - of overriding subclasses. - * javax/swing/text/DefaultStyledDocument.java - (ElementBuffer.finishEdit): Clear the stack and edits buffer. - (ElementBuffer.insertUpdate): Only remove the found element, not - all. - * javax/swing/text/GlyphView.java - (insertUpdate): Pass null in preferenceChanged. - (removeUpdate): Pass null in preferenceChanged. - (changedUpdate): Pass null in preferenceChanged. - * javax/swing/text/Utilities.java - (drawTabbedText): Avoid single calls to charWidth() and instead - call charsWidth() on whole chunks. - * javax/swing/text/html/HTMLDocument.java - (BlockElement.getName): Fall back to super when necessary. - (RunElement.getName): Fall back to super when necessary. - (HTMLReader.MAX_THRESHOLD): New constant field. - (HTMLReader.GROW_THRESHOLD): New constant field. - (HTMLReader.theshold): New field. - (HTMLReader.HTMLReader): Fetch threshold from document. - (HTMLReader.addContent): Sucessivly grow the threshold. - (createLeafElement): Don't create two elemens and don't set - attribute. - * javax/swing/text/html/TableView.java - (RowView.replace): Invalidate grid. - (gridValid): Made package private. - (layoutMinorAxis): Mark all rows as invalid. - (replace): Invalidate grid. - -2006-11-20 Roman Kennke - - * javax/swing/text/AbstractDocument.java - (DefaultDocumentEvent.changes): Changed to be a HashMap. - (DefaultDocumentEvent.modified): Made private. - (DefaultDocumentEvent.THRESHOLD): New constant field. - (DefaultDocumentEvent.DefaultDocumentEvent): Don't initialize - changes table. - (DefaultDocumentEvent.addEdit): Switch to hashmap only when - exceeding threshold. - (DefaultDocumentEvent.getChange): Use iterative approach - when we have no hashmap yet. - (documentCV): Removed. - (numWriters): Renamed from numWritersWaiting. - (createPosition): Reformat. - (getCurrentWriter): Synchronized. - (readLock): Implement more straightforward. - (readUnlock): Implement more straightforward. - (writeLock): Implement more straightforward. - (writeUnlock): Implement more straightforward. - (remove): Write-lock here. - (removeImpl): Don't write-lock here. - -2006-11-20 Roman Kennke - - * javax/swing/JEditorPane.java - (setPage): Set priority on loading thread. - -2006-11-20 Roman Kennke - - * javax/swing/plaf/basic/BasicTextUI.java - (RootView.paint): Avoid allocation. - (cachedInsets): New field. Caches an Insets instance. - (getNextVisualPositionFrom): Read-lock the document to avoid - thread nastiness. Push allocation. - (getPreferredSize): Push fake allocation when not yet laid out. - (getVisibleEditorRect): Use cached insets. - (viewToModel): Read-lock the document to avoid - thread nastiness. Push allocation. - -2006-11-20 Roman Kennke - - * javax/swing/text/StyleContext.java - (attributeSetPool): Synchronize this map. - (addAttribute): Synchronize this method. - (addAttributes: Synchronize this method. - (readObject): Install synchronized map on target object. - (removeAttribute): Synchronize this method. - (removeAttributes): Synchronize this method. - (removeAttributes): Synchronize this method. - -2006-11-20 Roman Kennke - - * javax/swing/text/GapContent.java - (GapContentPosition.GapContentPosition): Removed constructor. - (Mark): Made subclass of WeakReference to refer directly to - the associated position. - (Mark.refCount): Removed. - (Mark.Mark(int,GapContentPosition,ReferenceQueue): - New constructor. Used to reference a position and register the - reference queue. - (Mark.Mark(index)): Call super and don't adjust mark offset. - (Mark.compareTo): Removed. - (Mark.equals): Removed. - (Mark.getOffset): Return at least null. Removed assert. - (Mark.getPosition): New helper method. - (garbageMarks): New field. - (positions): Removed. - (searchMark): New field. - (GapContent): Removed init of positions map. - (addImpl): New helper method. - (adjustPositionsInRange): Removed. - (compare): New helper method. - (createPosition): Rewritten for new datastructures. This now - performs a much more efficient binary search for finding - a position at the requested offste. - (garbageCollect): Rewritten to collect unused marks. - (getPositionsInRange): Adjusted for new data structures. - (removeImpl): New helper method. - (replace): Use new addImpl() and removeImpl() helper method for - correctly adjusting the positions and gap. - (search): Rewritten. Implements a more suitable binary search. - (searchFirst): New helper method. - (setPositionsInRange): Removed. - (shiftEnd): Update the marks here. - (shiftGap): Update the marks here. - (shiftGapEndUp): Update the marks here. - (shiftGapStartDown): Update the marks here. - -2006-11-20 Marco Trudel - - * java/util/jar/JarFile.java (digestAlgorithms): New field used to cache - digest algorithm implementations. - (readSignatures): Parse the manifest once and reuse that data. - Add support for line breaks. - (verifyHashes): Use the parsed manifest entry. - (readManifestEntry): Removed. - -2006-11-20 Andrew John Hughes - - * java/beans/beancontext/BeanContextServicesSupport.java: - Added more documentation. - (addService(Class,BeanContextServiceProvider,boolean)): - Synchronized over global hierarchy lock. - (bcsPreDeserializationHook(ObjectInputStream)): Implemented. - (bcsPreSerializationHook(ObjectOutputStream)): Implemented. - (childJustRemovedHook(Object,BCSChild)): Implemented. - (createBCSSServiceProvider(Class,BeanContextServiceProvider)): - Implemented. - (fireServiceRevoked(BeanContextServiceRevokedEvent)): - Added revocation-only listeners. - (getBeanContextServicesPeer()): Implemented. - (getCurrentServiceClasses(Class)): Synchronized over global - hierarchy lock. - (getCurrentServiceSelectors(Class)): Synchronized over global - hierarchy lock, and fixed FIXME. - (getService(BeanContextChild,Object,Class,Object, - BeanContextServiceRevokedListener)): Implemented. - (hasService(Class)): Synchronized over global hierarchy lock. - (releaseService(BeanContextChild,Object,Object)): Implemented. - (revokeService(Class,BeanContextServiceProvider,boolean)): Implemented. - * java/beans/beancontext/BeanContextSupport.java: - (remove(Object, boolean)): Documentation correction. - -2006-11-19 Roman Kennke - - * javax/swing/JEditorPane.java - (PageStream): New inner class. - (PageLoader): New inner class. - (loading): New field. - (setPage): Implemented asynchronous loading. - * javax/swing/text/DefaultStyledDocument.java - (ElementBuffer.create): New helper method. - (create): Use new ElementBuffer method instead of hack. - * javax/swing/text/html/HTMLDocument.java - (HTMLReader.flushImpl): New helper method. - (HTMLReader.addContent): Use flushImpl(). - (HTMLReader.blockClose): Added null check. - (HTMLReader.flush): Use flushImpl(). - * javax/swing/text/html/HTMLEditorKit.java - (createDefaultDocument): Set load priority to 4 and token threshold - to 100. - * javax/swing/text/html/TableView.java - (insertUpdate): Overridden to provide correct view factory. - (removeUpdate): Overridden to provide correct view factory. - (changedUpdate): Overridden to provide correct view factory. - -2006-11-19 Roman Kennke - - * javax/swing/text/BoxView.java - (clipRect): New field. - (tmpRect): New field. - (layout): Reorganized code. Now uses layoutAxis() helper method. - (layoutAxis): New helper method. - (paint): Optimized by using cached Rectangle objects and - a binary search for child views inside the clip. - * javax/swing/text/CompositeView.java - (insideAllocation): Made private and initialized in constructor. - (getInsideAllocation): Removed initialization block for - insideAllocation field. Avoid unnecessary allocations. - * javax/swing/text/GlyphView.java - (DefaultGlyphPainter.paint): Only paint the actual glyphs here - The remaining stuff (background, underline and striking) is - done in the GlpyhView itself. Avoid unnecessary allocations. - (cached): A cached Segment instance. - (getText): Return cached segment. - (paint): Paint underline, strike and background here. Avoid - unecessary allocs. - -2006-11-19 Roman Kennke - - * javax/swing/text/html/StyleSheet.java - (getFontSize): Removed debug output. - (ListPainter.tmpRect): New field. - (ListPainter.paint): Align bullet vertically centered to - the first line of the paragraph. - -2006-11-17 Roman Kennke - - * gnu/javax/swing/text/html/css/CSSParser.java - (parseDeclaration): Trim string before reporting. - * gnu/javax/swing/text/html/css/FontSize.java - (size): New field. - (isRelative): New field. - (sizeIndex): New field. - (FontSize): Initialize new fields. - (getValue): Changed to call getValue(int). - (getValue(int)): New method. Implements relative font sizes. - (isRelative): New method. - (mapAbsolute): Store index. - (mapEM): New helper method. - (mapLarger): New helper method. - (mapPercent): New helper method. - (mapRelative): New helper method. - (mapSmaller): New helper method. - (mapValue): New helper method. - * javax/swing/text/html/CSS.java - (parseBackgroundShorthand): Create CSSColor directly. - * javax/swing/text/html/StyleSheet.java - (addRule): Invalidate resolved styles. - (getFont): Call new getFontSize() method to resolve relative - font sizes. - (getFontSize): New helper method. Resolves relative font sizes. - (translateHTMLToCSS): Create CSS objects directly. - -2006-11-13 Andrew John Hughes - - * gnu/java/util/regex/RETokenNamedProperty.java: - (getHandler(String)): Add support for 'all'. - -2006-11-18 Andrew John Hughes - - * gnu/javax/management/Server.java: - Initial implementation of a GNU management server. - * javax/management/MBeanPermission.java, - * javax/management/MBeanRegistration.java, - * javax/management/MBeanTrustPermission.java: - Implemented. - -2006-11-17 Mark Wielaard - - * docs/www.gnu.org/newsitems.txt: Add Sun GPL news announcement. - -2006-11-17 Gary Benson - - * java/net/DatagramSocket.java (getLocalAddress, connect, - receive): Perform security check on address not hostname. - -2006-11-16 Roman Kennke - - * gnu/javax/swing/text/html/parser/support/Parser.java - (_handleText): Fixed condition for consuming whitespace. - Removed validator check, this is superfluous now. - -2006-11-16 Roman Kennke - - * gnu/javax/swing/text/html/css/CSSParser.java - (parseRuleset): Support 'combined' selectors. - (main): Adapt callback for combined selectors support. - * gnu/javax/swing/text/html/css/CSSParserCallback.java - (startStatement): Take selector array as argument, to - support combined selectors. - * javax/swing/text/html/BlockView.java - (calculateMinorAxisRequirements): Fetch and apply alignment. - * javax/swing/text/html/StyleSheet.java - (CSSStyle): Inverted the constants for correct precedence. - (CSSStyleSheetParserCallback.styles): New field. Stores the current - styles. - (CSSStyleSheetParserCallback.style): Removed. - (CSSStyleSheetParserCallback.declaration): Update multiple styles. - (CSSStyleSheetParserCallback.end): Push multiple styles. - (CSSStyleSheetParserCallback.start): Initialize multiple styles. - -2006-11-16 Roman Kennke - - * javax/swing/text/FlowView.java - (LogicalView.getPreferredSpan): Calculate maximum correctly. - * javax/swing/text/GlyphView.java - (tabExpander): New field. - (tabX): New field. - (breakView): Set tabX on broken view. - (getPartialSpan): Let the painter fetch the span. - (getTabbedSpan): Update the tab expander field. Maybe trigger - relayout. - (getTabExpander): Simply return the stored expander. - * javax/swing/text/Utilities.java - (getTabbedTextOffset): Made algoritm a little smarter and more - efficient. - (getTabbedTextWidth): Don't add single char widths, instead add - chunks of characters. - * javax/swing/text/html/ParagraphView.java - (calculateMinorAxisRequirements): Adjust margin only when the - CSS span is not fixed. - -2006-11-16 David Gilbert - - * java/beans/beancontext/BeanContextSupport.java - (getChildBeanContextMembershipListener): Implemented, - (getChildPropertyChangeListener): Implemented, - (getChildSerializable): Implemented, - (getChildVetoableChangeListener): Implemented, - (getChildVisibility): Implemented, - (setDesignTime): Use same property name as Sun's implementation. - -2006-11-16 David Gilbert - - * java/beans/DesignMode.java: Reformatted and removed a FIXME, - * java/beans/Statement.java - (toString): Updated to match reference implementation. - -2006-11-15 Roman Kennke - - * javax/swing/text/html/HTMLEditorKit.java - (InsertHTMLTextAction.actionPerformed): Also try inserting - the alternate tag. Adjust the selection accordingly. - (InsertHTMLTextAction.adjustSelection): New helper method. - Adjusts the selection after an insertion. - (insertAtBoundary): Delegate to deprecated method. - (insertAtBoundry): Implemented missing method. - (tryInsert): New helper method. - (defaultActions): Implemented to fill the array with - a couple of InsertHTMLTextActions. - -2006-11-15 Roman Kennke - - * javax/swing/text/html/ImageView.java - (Observer): New class. Observes image loading. - (haveHeight): New field. - (haveWidth): New field. - (height): New field. - (width): New field. - (image): New field. - (imageIcon): New field. - (loading): New field. - (observer): New field. - (reloadImage): New field. - (reloadProperties): New field. - (ImageView): Initialize observer and some flags. - (getImage): Update the image state and return the image. - (loadImage): New helper method. Actually starts loading. - (paint): Rewritten to paint the image directly, not via Icon. - (reloadImage): Rewritten. Loads the image and its properties. - (renderIcon): Removed. No more necessary. - (setPropertiesFromAttributes): Don't nullify image here. - Added comment about missing impl. - (setSize): Added comment about missing impl. - (updateSize): New helper method. Updates the size attributes. - (updateState): New helper method. Makes sure the image - and its properties are valid. - -2006-11-15 Roman Kennke - - * gnu/javax/swing/text/html/parser/support/Parser.java - (_handleEndTag_remaining): Consume whitespace after a closing - block like tag. - -2006-11-15 Roman Kennke - - * javax/swing/text/html/HTMLDocument.java - (HTMLReader.ParagraphAction.end): Call super instead of blockClose() - directly. - (HTMLReader.ParagraphAction.start): Call super instead of blockOpen() - directly. - (HTMLReader.parseStack): Removed. - (HTMLReader.blockClose): Simply call addContent() with ' ' - instead of doing more complicated stuff. Removed parseStack - handling. - (HTMLReader.blockOpen): Removed parseStack handling. - (getInsertingReader): Removed parseStack init. - * gnu/javax/swing/text/html/parser/htmlValidator.java - (closeTag): Return true only when the tag actually should be - closed. - * gnu/javax/swing/text/html/parser/support/Parser.java - (_handleEndTag): Only actually close the tag when the validator - allows it. - -2006-11-15 Roman Kennke - - * javax/swing/text/html/CSS.java - (Attribute.BORDER_SPACING): New field for the CSS border-spacing - attribute. - * javax/swing/text/html/StyleSheet.java - (BoxPainter.bottomPadding): New field. - (BoxPainter.leftPadding): New field. - (BoxPainter.rightPadding): New field. - (BoxPainter.topPadding): New field. - (BoxPainter.BoxPainter): Fetch the MARGIN and PADDING* attributes - too. - (BoxPainter.getInset): Recognize and include the padding. - (translateHTMLToCSS): Added mapping for CELLPADDING and CELLSPACING. - javax/swing/text/html/TableView.java - (RowView.calculateMajorAxisRequirements): Adjust req's for - cellSpacing. - (RowView.layoutMajorAxis): Adjust multi-column span for cellSpacing. - (cellSpacing): New field. - (columnRequirements): Made package private to avoid accessor method. - (calculateMinorAxisRequirements): Include cellSpacing. - (calculateMajorAxisRequirements): Overridden to include cellSpacing. - (layoutMajorAxis): Likewise. - (layoutColumns): Respect cellSpacing. - (setParent): Overridden to fetch the CSS attributes when view gets - connected. - (setPropertiesFromAttributes): New method. Fetches the cell - spacing from the CSS attributes. - -2006-11-15 Roman Kennke - - * gnu/javax/swing/text/html/parser/support/Parser.java - (_handleText): Consume whitespace directly before a closing tag. - (restOfTag): Consume whitespace directly after opening. - * gnu/javax/swing/text/html/parser/support/textPreProcessor.java - (preprocess): Don't perform array boundary checking by - catch AIOOBE, instead check the boundary in loop condition. - * gnu/javax/swing/text/html/parser/support/low/Constants.java - (TAG_CLOSE): New constants. Describes the token pattern for - a closing tag. - -2006-11-14 Roman Kennke - - * javax/swing/text/html/ImageView.java - (getPreferredSpan): Use CSS length values. - * javax/swing/text/html/TableView.java - (CellView.calculateMajorAxisRequirements): Overridden to - set the maximum reqs to maximum. - (RowView.getMaximumSize): For the X_AXIS, set the maximum - span to maximum. - (RowView.getMinimumSpan): Overridden. For the X_AXIS, return - the total column reqs. - (RowView.getPreferredSpan): Overridden. For the X_AXIS, return - the total column reqs. - * gnu/javax/swing/text/html/css/CSSColor.java - (convertValue): Catch NumberFormatExceptions for more robustness. - * gnu/javax/swing/text/html/css/FontSize.java - (mapPixels): Actually map px values. Catch NFE for more robustness. - -2006-11-14 Roman Kennke - - * gnu/java/awt/font/autofit/AxisHints.java, - * gnu/java/awt/font/autofit/Constants.java, - * gnu/java/awt/font/autofit/GlyphHints.java, - * nu/java/awt/font/autofit/Latin.java, - * nu/java/awt/font/autofit/LatinAxis.java, - * gnu/java/awt/font/autofit/LatinMetrics.java, - * gnu/java/awt/font/autofit/Scaler.java, - * gnu/java/awt/font/autofit/Script.java, - * gnu/java/awt/font/autofit/ScriptMetrics.java, - * gnu/java/awt/font/autofit/Segment.java, - * gnu/java/awt/font/autofit/Width.java: - New classes. This is some skeleton stuff for the FreeType-alike - auto-gridfitter. - * gnu/java/awt/font/opentype/CharGlyphMap.java: Made class public. - * gnu/java/awt/font/opentype/OpenTypeFont.java - (unitsPerEm): Made field public. - (getRawGlyphOutline): New method. Fetches the raw outline. - * gnu/java/awt/font/opentype/Scaler.java - (getRawGlyphOutline): New method. Fetches the raw outline. - * gnu/java/awt/font/opentype/truetype/GlyphLoader.java - (loadGlyph): New method. This is used to load raw outlines. - * gnu/java/awt/font/opentype/truetype/TrueTypeScaler.java - (getRawOutline): New method. Fetches the raw outline. - * gnu/java/awt/font/opentype/truetype/Zone.java: - Made class public. - -2006-11-14 Roman Kennke - - * javax/swing/RepaintManager.java - (RepaintManager): Fetch the default state for the double buffering - from a system property gnu.swing.doublebuffering. - -2006-11-14 Roman Kennke - - * javax/swing/plaf/basic/BasicLabelUI.java - (cachedInsets): New field. - (getFontMetrics): New helper method. Fetches the font metrics - from the component or the toolkit. - (getPreferredSize): Use getFontMetrics() helper method for - fetching the font metrics. - (paint): Use getFontMetrics() helper method for - fetching the font metrics. Only paint if icon or text - are != null. Use cached insets. - (paintDisabledText): Don't store/restore color object. The - JComponent painting mechanism takes care of this by calling - create(). - (paintEnabledText): Don't store/restore color object. The - JComponent painting mechanism takes care of this by calling - create(). - -2006-11-14 Roman Kennke - - * gnu/java/awt/peer/GLightweightPeer.java - (handleEvent): Try to do something reasonable and trigger painting - for the lightweight component. - (getFontMetrics): Fetch and return a font metrics object from - the Toolkit. - -2006-11-13 Andrew John Hughes - - * gnu/java/util/regex/RETokenNamedProperty.java: - (getHandler(String)): Add support for 'all'. - -2006-11-13 Andreas Tobler - - * AUTHORS: Add myself. - -2006-11-13 Thomas Fitzsimmons + (getGlyphOutline): Apply glyph position translation. + (getOutline): Do not apply glyph position translation. - * AUTHORS: Add Tania Bento, Thomas Fitzsimmons, Francis Kung and - Dalibor Topic. Re-order 'K' section. Remove trailing space from - Roman Kennke's entry. +2007-03-06 Tom Tromey -2006-11-13 Roman Kennke - - * java/awt/image/IndexColorModel.java - (createCompatibleSampleModel): Implemented missing method. - -2006-11-11 Andreas Tobler - - * gnu/java/awt/peer/gtk/GtkImageConsumer.java (setPixels): Handle data - from big endian systems correctly. - -2006-11-11 Roman Kennke - - * gnu/javax/swing/text/html/css/CSSColor.java - (isValidColor): New helper method. Checks strings if they - form a valid color value. - * gnu/javax/swing/text/html/css/Length.java - (Length): Catch number format exceptions. - * javax/swing/text/html/CSS.java - (addInternal): New method. Checks for shorthand CSS attributes - and parses them. - (parseBackgroundShorthand): New method. Parses the background - shorthand attribute. - * javax/swing/text/html/HTMLDocument.java - (HTMLReader.LinkAction): Made class a subclass of HiddenAction. - (HTMLReader.LinkAction.start): Implemented to load the linked - stylesheet. - (HTMLReader.LinkAction.end): Removed. This is not needed. - * javax/swing/text/html/StyleSheet.java - (CSSStyleSheetParserCallback.declaration): Push declaration - through CSS.addInternal() to parse shorthand attributes. - (addCSSAttribute): Push declaration through CSS.addInternal() - to parse shorthand attributes. - (importStyleSheet): Implemented. This adds a stylesheet from - an URL. - * javax/swing/text/html/TableView.java - (calculateColumnRequirements): Increase column index for - non CellView children to avoid endless loop. - * javax/swing/text/CompositeView.java - (setParent): Comparen with numChildren not with real arraylength. - -2006-11-11 David Gilbert - - * java/beans/beancontext/BeanContextSupport.java - (getChildBeanContextChild): Implemented. - -2006-11-10 Roman Kennke - - * javax/swing/text/View.java - (updateLayout): Only repaint when needed. - -2006-11-10 David Gilbert - - * java/util/Collections.java - (sort(List)): Minor API doc addition, - (sort(List, Comparator)): Likewise. - -2006-11-10 David Fu - - * javax/swing/text/html/HTMLWriter.java - (traverse): Removed Classpath specific handling of implied - tags. - (traverseHtmlFragment): Removed Classpath specific handling of - implied tags. - -2006-11-10 Roman Kennke - - * javax/swing/text/ParagraphView.java - (Row.getMaximumSize): Removed. This method is not necessary. - * javax/swing/text/html/TableView.java - (CellView): Moved attribute init to setPropertiesFromAttributes(). - (setPropertiesFromAttributes): Fetch attributes here. - (RowView.RowView): Documented. - (RowView.getMaximumSpan): Overridden to restrict the max span - in the Y direction. - (RowView.layoutMajorAxis): Correctly layout the spans. - (columnWidths): New field. Stores the width attributes of - the columns. - (calculateColumnRequirements): Added support for relative - (== percent) width attributes. - (calculateMajorAxisRequirements): Removed. - (calculateMinorAxisRequirements): Removed unnecessary code. - (getMaximumSpan): Overridden to restrict the table's width. - (layoutColumns): Documented. Implement more clever table layout, - i.e. for relative columns etc. - (layoutMinorAxis): Don't mark rows invalid. - (updateGrid): Added docs. Initialize column widths. - -2006-11-09 Roman Kennke - - * gnu/java/awt/peer/headless/HeadlessGraphicsEnvironment, - * gnu/java/awt/peer/headless/HeadlessToolkit: New classes. - Implement basic headless toolkit. - * java/awt/Toolkit.java - (getDefaultToolkit): Check headless property and create - headless toolkit when true. - -2006-11-09 Ingo Proetel -2006-11-09 Roman Kennke - - * gnu/java/awt/peer/swing/SwingButtonPeer.java - (SwingButton.button): New field. - (SwingButton.SwingButton): Added constructor. - (SwingButton.isShowing): Access button field instead of - the surrounding class. - (SwingButton.getParent): Access button field instead of - the surrounding class. - (SwingButtonPeer): Call new SwingButton constructor. - * gnu/java/awt/peer/swing/SwingComponent.java: - Several documentation updates. - * gnu/java/awt/peer/swing/SwingComponentPeer.java - (currentPaintEvents): New field. - (peerFont): New field. - (SwingComponentPeer): Initialize currentPaintEvents fields. - (coalescePaintEvents): Implemented. - (dispose): Unregister peer from heavyweight list of its container. - (getGraphics): Fetch graphics from parent component. - (handleEvent): Discard paint event if its coalesced. - (init): Register component with its container for proper painting. - (paint): Call peerPaint(). - (peerPaint): Added argument that indicates if we should update. - Call paint or update on the actual AWT component. - (peerPaintComponent): New method. Paints the peer (Swing) component. - (setFont): Set peerFont field. - * gnu/java/awt/peer/swing/SwingContainerPeer.java - (backbuffer): New field. - (focusOwner): New field. - (heavyweightDescendents): New field. - (SwingContainerPeer): Take Container as argument. Don't call init - yet. - (addHeavyweightDescendent): New method. - (getFocusOwner): New helper method. - (getInsets): Delegate to insets(). - (handleKeyEvent): Dispatch event to focus owner. - (handleMouseEvent): Dispatch to child component. - (isDoubleBuffering): New helper method. - (peerPaint): Overridden to implement container painting with - double buffering. - (peerPaintChildren): New method. Paints the descendents of this - container. - (removeHeavyweightDescendent): New helper method. - * gnu/java/awt/peer/swing/SwingFramePeer.java - (peerPaint): Removed. - (peerPaintComponent): Overridden to paint the menu bar. - * gnu/java/awt/peer/swing/SwingLabelPeer.java - (SwingLabel.label): New field. - (SwingLabel.SwingLabel): Added constructor with Label argument. - (SwingLabel.getGraphics): Implemented to fetch the graphics from - the actual AWT component. - (SwingLabel.getParent): Implemented to fetch the parent from - the AWT component. - (SwingLabel.isShowing): Access the label field. - (SwingLabelPeer): Set alignment from label. - * gnu/java/awt/peer/swing/SwingListPeer.java: New class. - * gnu/java/awt/peer/swing/SwingMenuBarPeer.java: Documentation - fixlet. - * gnu/java/awt/peer/swing/SwingPanelPeer.java: - Don't be a lighweight peer. - (SwingPanelPeer): Call init. - * gnu/java/awt/peer/swing/SwingTextAreaPeer.java: New class. - * gnu/java/awt/peer/swing/SwingTextFieldPeer.java - (SwingTextField.textField): New field. - (SwingTextField.SwingTextField): New constructor. - (SwingTextField.isShowing): Access field not enclosing class. - (SwingTextField.getGraphics): New method. - (SwingTextField.getParent): New method. - (SwingTextFieldPeer): Call new constructor. - (select): Renamed arguments. - * gnu/java/awt/peer/swing/SwingWindowPeer.java - (SwingWindowPeer): Call init. - -2006-11-09 Tania Bento - - * javax/swing/JLabel.java - (JLabel(Icon)): Changed documentation; Changed text to null. - (JLabel(Icon,int)): Likewise. - (JLabel(text)): Changed documenation. - (JLabel(text,int)): Likewise. - (JLabel(text,Icon,int)): Changed documentation; Throw - IllegalArgumentException if int is not one of LEFT, RIGHT, - CENTER, LEADING or TRAILING. - -2006-11-09 David Gilbert - - * java/beans/beancontext/BeanContextSupport.java - (BeanContextSupport): Use correct dtime default, - (BeanContextSupport(BeanContext)): Likewise, - (BeanContextSupport(BeanContext, Locale)): Likewise, plus renamed - locale argument, - (BeanContextSupport(BeanContext, Locale, boolean)): Likewise, - (BeanContextSupport(BeanContext, Locale, boolean, boolean)): Likewise. - -2006-11-09 David Gilbert - - * java/beans/beancontext/BeanContextSupport.java - (getBeanContextPeer): Implemented. - -2006-11-09 Roman Kennke - - * javax/swing/text/html/BlockView.java - (cssHeight): Removed. - (cssWidth): Removed. - (cssSpans): New field. Replaces the two fields above. - (BlockView): Allocate cssSpans array. - (layoutMinorAxis): Fetch and use child span, not this view's span. - (setCSSSpan): Adjusted to use cssSpans array. - (setPropertiesFromAttributes): Adjusted to use cssSpans array. - -2006-11-09 Roman Kennke - - * javax/swing/text/html/InlineView.java - (nowrap): New field. - (getBreakWeight): Add support for nowrap. - (setPropertiesFromAttributes): Fetch the nowrap setting. - -2006-11-09 Roman Kennke - - * gnu/javax/swing/text/html/css/CSSParser.java - (parseRuleset): Use new Selector class. - (parseValue): Parse multiple anys, not only one. - (main): Allow stylesheet be specified on the command line. - Use new Selector class. - * gnu/javax/swing/text/html/css/CSSParserCallback.java - (startStatement): Use Selector class. - * gnu/javax/swing/text/html/css/CSSScanner.java - (readName): Actually read a character in the loop to avoid - endless loop. - * gnu/javax/swing/text/html/css/Length.java - (getValue): Only multiply when we have a percentage value. - * gnu/javax/swing/text/html/css/Selector.java: - New class. Provides handling of CSS selectors. - * javax/swing/text/html/StyleSheet.java - (CSSStyle.PREC_AUTHOR_IMPORTANT): New constant field. - (CSSStyle.PREC_AUTHOR_NORMAL): New constant field. - (CSSStyle.PREC_NORM): New constant field. - (CSSStyle.PREC_UA): New constant field. - (CSSStyle.PREC_USER_IMPORTANT): New constant field. - (CSSStyle.precedence): New field. - (CSSStyle.priority): Removed. - (CSSStyle.selector): New field. - (CSSStyle.CSSStyle(int,Selector)): Initialize with Selector - and precendence. - (CSSStyle.compareTo): Adjusted to use the precedence and - specificity of the selector. - (CSSStyleSheetParserCallback.precedence): New field. - (CSSStyleSheetParserCallback.selector): Removed. - (CSSStyleSheetParserCallback.style): New field. - (CSSStyleSheetParserCallback.CSSStyleSheetParserCallback): - Initialize with precedence. - (CSSStyleSheetParserCallback.declaration): Don't look up - existing rule, simply create new one. - (CSSStyleSheetParserCallback.endStatement): Append style - to stylesheet. - (CSSStyleSheetParserCallback.startStatement): Use new Selector - class. - (css): Changed to be ArrayList. - (addRule): Create parser with author-normal precendence. - (getRule): Fixed implementation. - (loadRules): Create parser with UA precendence. - (resolveStyle): Use Selector class for resolving and matching - stylesheet rules. - (translateHTMLToCSS): Added mappings for a couple of HTML - attributes. - -2006-11-09 David Gilbert - - Fixes bug #29770 - * java/beans/SimpleBeanInfo.java - (loadImage): Check for nulls. + * tools/gnu/classpath/tools/javah/Main.java (getName): New + method. + (getParser): Now protected. Use getName. Add '-v' alias for + --verbose. + (postParse): New method. + (run): Now protected. Use postParse. + * tools/gnu/classpath/tools/javah/GcjhMain.java: New file. -2006-11-09 Robert Schuster +2007-03-05 Andrew John Hughes - * native/jni/java-nio/gnu_java_nio_VMChannel.c: - (getpeername): Added 16 byte offset to memcpy operation. + * gnu/javax/management/Translator.java: + (translate(String)): Use a Boolean array to + comply with the new typing. + * javax/management/openmbean/ArrayType.java: + Added generic types and updated copyright headers. + * javax/management/openmbean/CompositeData.java: + Likewise. + * javax/management/openmbean/CompositeDataSupport.java: + Likewise. + * javax/management/openmbean/CompositeType.java: + Likewise. + * javax/management/openmbean/OpenMBeanAttributeInfoSupport.java: + Likewise. + * javax/management/openmbean/OpenMBeanOperationInfoSupport.java: + Likewise. + * javax/management/openmbean/OpenMBeanParameterInfoSupport.java: + Likewise. + * javax/management/openmbean/OpenType.java: + Updated copyright header. + * javax/management/openmbean/SimpleType.java: + Added generic types and updated copyright headers. + * javax/management/openmbean/TabularData.java: + Likewise. + * javax/management/openmbean/TabularDataSupport.java: + Likewise. + * javax/management/openmbean/TabularType.java: + Likewise. + +2007-03-05 Andrew John Hughes -2006-11-09 Robert Schuster + * gnu/java/lang/management/BeanImpl.java: + Reference the new Translator class. + (translate(String)): Moved to Translator. + * gnu/javax/management/Translator.java: + New file. + * javax/management/JMX.java: + Likewise. + * javax/management/MBeanServerInvocationHandler.java: + Likewise. + * javax/management/MXBean.java: + Likewise. + * javax/management/ObjectName.java: + (ObjectName(String)): Catch a key without a value. + * javax/management/StandardMBean.java: + (StandardMBean(Class)): Handle MXBeans. + (StandardMBean(Object, Class)): Likewise. + (invoke(String,Object[],String[])): Disallow + calling attribute methods and handle null signatures. + (setAttribute(Attribute)): Search for mutators + with the appropriate signature. + * javax/management/openmbean/OpenType.java: + Add generic typing. + (ALLOWED_CLASSNAMES_LIST): New field. + +2007-03-02 Mario Torre - * native/jni/java-nio/gnu_java_nio_VMChannel.c: - (getsockname): Added 16 byte offset to memcpy operation. + PR classpath/31017: + committed for Petteri Räty + * configure.ac: fix broken build for gcj browser plugin + +2007-03-02 Mario Torre -2006-11-08 Mark Wielaard + * java/awt/Desktop.java: new java 1.6 class. + * java/awt/peer/DesktopPeer.java: new inteface. + * gnu/java/awt/peer/GnomeDesktopPeer.java: new class. + * gnu/java/awt/peer/ClasspathDesktopPeer.java: new class. + * gnu/java/awt/peer/KDEDesktopPeer.java: new class. + * java/awt/Toolkit.java (createDesktopPeer): new method to support the + creation of DesktopPeer instances. + * gnu/java/awt/peer/qt/QtToolkit.java: update copyright notice and + organize import. + * gnu/java/awt/ClasspathToolkit.java (createDesktopPeer): new method. - Fixes bug #29754 - * java/io/OutputStreamWriter.java - (OutputStreamWriter(OutputStream,Charset)): Set encodingName. - (OutputStreamWriter(OutputStream,CharsetEncoder)): Likewise. - -2006-11-08 Roman Kennke - - * javax/swing/text/html/HTMLEditorKit.java - (getParser): Use plain HTML_401F DTD. - * javax/swing/text/html/HTMLDocument.java - (HTMLReader.print): Removed method and all calls to it. - (HTMLReader.printBuffer): Removed method and all calls to it. - (HTMLReader.inImpliedParagraph): New field. - (HTMLReader.inParagraph): New field. - (HTMLReader.addContent): Create implied p-tag if necessary. - (HTMLReader.addSpecialElement): Create implied p-tag if necessary. - (HTMLReader.blockClose): Close implied p-tag if necessary. - (HTMLReader.blockOpen): Close implied p-tag if necessary. - * gnu/javax/swing/text/html/parser/HTML_401Swing.java: Removed. - -2006-11-08 Roman Kennke - - * javax/swing/text/html/HTMLEditorKit.java - (HTMLFactory.create): Removed mapping for TD tag. This - is done in TableView. - * javax/swing/text/html/TableView.java: - Implemented from scratch. - -2006-11-07 Roman Kennke - - * gnu/javax/swing/text/html/parser/support/Parser.java - (_handleText): Check if text content is actually allowed before - passing empty text fragments on to the parser callbacks. - -2006-11-07 Mark Wielaard - - * gnu/java/net/protocol/jar/Handler.java (parseURL): Flatten jar - path. - (flat): New method. - -2006-11-07 Tania Bento - - * java/awt/FlowLayout.java - (getSize): If parent does not have a component, then a - different formula is used to calcuate the width. - -2006-11-07 Roman Kennke - - * javax/swing/text/html/HTMLEditorKit.java - (HTMLFactory.create): Include ListView. - * javax/swing/text/html/ListView.java - (paint): Removed comment. - * javax/swing/text/html/StyleSheet.java - (CSSStyle.priority): New field. - (CSSStyle.CSSStyle(int)): New constructor with priority. - (CSSStyle.compareTo): New method. Used for sorting the styles. - (CSSStyleSheetParserCallback.declaration): Store the style - with the complete selector. - (ListPainter.attributes): Renamed as field. - (ListPainter.styleSheet): New field. - (ListPainter.type): New field. - (ListPainter.ListPainter): Pass StyleSheet to constructor. - (ListPainter.paint): Provide simplistic implementation. - (getListPainter): Pass StyleSheet to constructor. - (resolveStyle): Fixed CSS style resolving. - -2006-11-07 Roman Kennke - - * gnu/javax/swing/text/html/css/BorderWidth.java: - New class. Handles CSS border width values. - * gnu/javax/swing/text/html/css/Length.java - (floatValue): Made protected so that BorderWidth can access it. - * javax/swing/text/html/CSS.java - (Attribute.BORDER_BOTTOM_COLOR): New static field. - (Attribute.BORDER_BOTTOM_STYLE): New static field. - (Attribute.BORDER_LEFT_COLOR): New static field. - (Attribute.BORDER_LEFT_STYLE): New static field. - (Attribute.BORDER_RIGHT_COLOR): New static field. - (Attribute.BORDER_RIGHT_STYLE): New static field. - (Attribute.BORDER_TOP_COLOR): New static field. - (Attribute.BORDER_TOP_STYLE): New static field. - (getValue): Added some mappings for the border color and - border width values. - * javax/swing/text/html/CSSBorder.java: New class. Implements - CSS borders. - * javax/swing/text/html/StyleSheet.java - (BoxPainter.background): New field. - (BoxPainter.border): New field. - (BoxPainter.bottomInset): Documented. - (BoxPainter.leftInset): Documented. - (BoxPainter.rightInset): Documented. - (BoxPainter.topInset): Documented. - (BoxPainter.BoxPainter): Added support for borders and background. - (BoxPainter.getInset): Add border insets. - (BoxPainter.paint): Implemented. Paints the background and the - CSS border. - (addRule): Be less picky about parse and IO exceptions. - (getBoxPainter): Adjust to new BoxPainter constructor. - -2006-11-07 Andreas - - * examples/Makefile.am: Add rule to install the *.html files we use - in the Swing Demo. - -2006-11-06 Francis Kung - - * gnu/java/awt/peer/gtk/ComponentGraphics.java - (fillRect): Handle custom composites. - (drawRenderedImage): Handle custom composites. - (drawImage): Handle custom composites. - (createBuffer): New method. - (drawLine): Handle custom composites. - (drawComposite): New method. - (fill): Handle custom composites. - (getNativeCM): New method. - (drawGlyphVector): Handle custom composites. - (drawRect): Handle custom composites. - (draw): Handle custom composites. - * gnu/java/awt/peer/gtk/VolatileImageGraphics.java - (drawComposite): Unset composite during draw call, to prevent parent - from handling composite again. - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (getBufferCM): Added comments. - (getNativeCM): Made abstract. - (setComposite): Removed comments. - -2006-11-06 Roman Kennke - - * examples/gnu/classpath/examples/swing/HtmlDemo.java: - Fixed initial window size and start document. - -2006-11-06 Roman Kennke - - * javax/swing/text/html/HTMLDocument.java - (HTMLReader.addSpecialElement): Removed comment about - htmlAttributeSet. - (HTMLReader.handleComment): Create SimpleAttributeSet instead - of htmlAttributeSet. - * javax/swing/text/html/parser/DocumentParser.java - (gnuParser.handleStartTag): Use SimpleAttributeSet instead - of htmlAttributeSet. - * javax/swing/text/html/parser/ParserDelegator.java - (gnuParser.handleStartTag): Use SimpleAttributeSet instead - of htmlAttributeSet. - * gnu/javax/swing/text/html/parser/GnuParserDelegator.java - (gnuParser.handleStartTag): Use SimpleAttributeSet instead - of htmlAttributeSet. - * gnu/javax/swing/text/html/parser/support/Parser.java - (getAttributes): Return a SimpleAttributeSet. - (restOfTag): Don't set resolving parent here. - -2006-11-06 Tania Bento - - * java/awt/TextComponent.java - (setSelectionStart): Added check. - -2006-11-06 Tania Bento - - * java/awt/TextField.java - (minimumSize(int)): Check if minimum size has been previously - set and changed values of Dimension returned if peer == null. - (preferredSize(int)): Check if preferred size has been previously - set and changed values of Dimension returned if peer == null. - -2006-11-06 Roman Kennke - - * javax/swing/JTree.java - (TreeModelHandler.treeNodesRemoved): Implemented. - (TreeModelHandler.treeStructureChanged): Implemented. - (nodeStates): Made package private. - -2006-11-06 Francis Kung - - PR 29420 - * javax/swing/JTree.java - (clearSelectionPathStates): New private method to clean up nodeStates. - (removeSelectionPath): Call clearSelectionPathStates(). - (removeSelectionPaths): Call clearSelectionPathStates(). - (removeSelectionRow): Call clearSelectionPathStates(). - (setSelectionPath): Call clearSelectionPathStates(). - (setSelectionPaths): Call clearSelectionPathStates(). - (setSelectionRow): Call clearSelectionPathStates(). - -2006-11-06 Ito Kazumitsu - - Fixes bug #29703 - * java/util/regex/Matcher.java(reset): Reset inputCharIndexed. - -2006-11-06 Roman Kennke - - * examples/gnu/classpath/examples/swing/HtmlDemo.java: - Changed to implement a minimalistic browser. - * examples/gnu/classpath/examples/swing/forms.html, - * examples/gnu/classpath/examples/swing/textstyles.html, - * examples/gnu/classpath/examples/swing/welcome.html: - Some example content. - -2006-11-06 Roman Kennke - - * javax/swing/text/ComponentView.java - (setParent): Lock the document and repaint the hosting - container. - * javax/swing/text/FlowView.java - (FlowStrategy.createView): Removed comment. - (FlowView): Initialize span with Short.MAX_VALUE. - (getFlowStart): Return 0 unconditionally. - (layout): Moved code around to make it more readable. - (loadChildren): Always set the parent. - * javax/swing/text/GlyphView.java - (DefaultGlyphPainter.fontMetrics): New field. - (DefaultGlyphPainter.getAscent): Use new helper method to - synchronize the font metrics. - (DefaultGlyphPainter.getBoundedPosition): Use new helper method - to synchronize the font metrics. - (DefaultGlyphPainter.getDescent): Use new helper method to - synchronize the font metrics. - (DefaultGlyphPainter.getHeight): Use new helper method to - synchronize the font metrics. - (DefaultGlyphPainter.getSpan): Use new helper method to - synchronize the font metrics. - (DefaultGlyphPainter.modelToView): Use new helper method to - synchronize the font metrics. - (DefaultGlyphPainter.updateFontMetrics): New helper method for - font metrics caching. - (DefaultGlyphPainter.viewToModel): Use new helper method to - synchronize the font metrics. Fixed view to model mapping. - * javax/swing/text/View.java - (removeAll): Pass null to replace(). - (setParent): Only reparent children that have this view as parent. - -2006-11-05 Mark Wielaard - - * include/gnu_java_net_VMPlainDatagramSocketImpl.h: Removed. - * include/gnu_java_nio_channels_FileChannelImpl.h: Removed. - * native/jni/java-net/gnu_java_net_VMPlainDatagramSocketImpl.c: - Removed. - * native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c: - Removed. - * native/jni/java-nio/Makefile.am (libjavanio_la_SOURCES): - Remove gnu_java_nio_channels_FileChannelImpl.c. - -2006-11-03 Roman Kennke - - * javax/swing/text/html/BlockView.java - (attributes): New field. - (cssHeight): New field. - (cssWidth): New field. - (painter): New field. - (calculateMajorAxisRequirements): Overridden to account for - CSS settings. - (calculateMinorAxisRequirements): Overridden to account for - CSS settings. - (layoutMinorAxis): Overridden to account for CSS settings. - (changedUpdate): Formatting fixlet. - (constrainSize): New helper method. - (getAlignment): Fix alignment. - (getAttributes): Cache attributes for better performance. - (getStyleSheet): Fetch stylesheet from document rather than creating - a new one. - (paint): Remove comment. - (setCSSSpan): New helper method. - (setPropertiesFromAttributes): Implemented to fetch the - recognized properties. - * javax/swing/text/html/CSS.java - (getValue): Added mapping for width and height attributes. - * javax/swing/text/html/InlineView.java - (longestWord): New field. - (getLongestWord): New helper method. - (calculateLongestWord): New helper method. - (getMinimumSpan): Overridden to constrain the minimum span by the - longest word. - * javax/swing/text/html/ParagraphView.java - (cssHeight): New field. - (cssWidth): New field. - (calculateMinorAxisRequirements): Overridden to account for - CSS settings. - (setCSSSpan): New helper method. - (setPropertiesFromAttributes): Fetch CSS width and height. Added - null check. - * gnu/javax/swing/text/html/css/Length.java - (percentage): New field. - (Length): Determine percentage values. - (getValue(float)): New method for handling percentage values. - (isPercentage): New method. - -2006-11-03 Tania Bento - - * java/awt/TextArea.java - (getMinimumSize): Changed documentation. - (getPreferredSize): Changed documentation. - (getMinimumSize(int,int)): Changed documenation. - (getPreferredSize(int,int)): Changed documenation. - (minimumSize): Changed documentation. - (preferredSize): Changed documenation. - (minimumSize(int,int)): Changed documentation. Checked if - minimum size had been previously set and changed values of - Dimension returned if peer == null. - (preferredSize(int, int)): Checked if preferred size had been - previously set and changed values of Dimension returned if - peer = null. - -2006-11-03 Tania Bento - - * java/awt/event/ComponentEvent.java - (paramString): Changed format of string representation returned. - -2006-11-03 Roman Kennke - - * javax/swing/text/html/HTMLDocument.java - (HTMLReader.FormAction.start): Added support for textarea. - (HTMLReader.FormAction.end): Added support for textarea. - (HTMLReader.HeadAction.end): Call super to actually close the - block. - (HTMLReader.inTextArea): New field. - (HTMLReader.textAreaDocument): New field. - (HTMLReader.handleText): Call textAreaContent when inside - a textarea tag. - (HTMLReader.textAreaContent): Implemented to initialize - the text area's model. - * javax/swing/text/html/FormView.java - (createComponent): Added support for textarea tag. - -2006-11-03 Roman Kennke - - * javax/swing/text/html/HTMLDocument.java - (HTMLReader.IsindexAction.start): Implemented. - -2006-11-03 Roman Kennke - - * javax/swing/text/html/StyleSheet.java - (addRule): Implemented. - * javax/swing/text/html/HTMLDocument.java - (HTMLReader.inStyleTag): New field. - (HTMLReader.styles): New field. - (HTMLReader.HeadAction.end): Implemented to read all stylesheets, - if any. - (HTMLReader.StyleAction.start): Set inStyleTag flag. - (HTMLReader.StyleAction.end): Set inStyleTag flag. - (HTMLReader.handleText): When inside a style tag, add - content to the styles array. - -2006-11-02 Roman Kennke - - * javax/swing/text/html/FormView.java - (maxIsPreferred): New field. - (createComponent): Initialize components correctly. - (getMaximumSpan): Return the preferred span for components - that need this. The maxIsPreferred flag is set accordingly - in createComponent. - * javax/swing/text/html/HTMLDocument.java - (HTMLReader.FormAction.start): Implemented to set the - correct model as attribute. - (HTMLReader.FormAction.setModel): New helper method. - (HTMLReader.FormAction.end): Call super to finish the element. - Added TODO about things left to do. - (HTMLReader.handleComment): Use SimpleAttributeSet rather - than htmlAttributeSet. - * javax/swing/text/html/HTMLEditorKit.java - (HTMLFactory.create): Create BlockView for FORM tags. - Create FormView for INPUT, TEXTAREA and SELECT tags. - -2006-11-02 David Gilbert - - * java/awt/geom/GeneralPath.java: API doc fixes. - -2006-11-02 Roman Kennke - - * javax/swing/text/html/ImageView.java - (getImageURL): Fetch attribute from element. Consider the - base URL for relative image locations. - -2006-11-02 Roman Kennke - - * javax/swing/JEditorPane.java - (setContentType): Strip off attributes. - * javax/swing/text/html/HTMLEditorKit.java - (LinkController.activateLink(int,JEditorPane,int,int): New - method. Implements activation of a hyperlink. - (LinkController.activateLinke(int,JEditorPane)): Delegate - to the other activateLink() method. - (LinkController.createHyperlinkEvent): New helper method. - (LinkController.mouseClicked): Implemented to activate the link. - (LinkController.mouseDragged): Added comment that this - method does nothing. - (LinkController.mouseMoved): Update cursor for hyperlinks. - (mouseHandler): Renamed field to linkController. - (HTMLEditorKit): Create a link controller. - (clone): Give the clone a new link controller. - (deinstall): De-install link controller as mouseMotionListener too. - (install): Install link controller as mouseMotionListener too. - -2006-11-02 Roman Kennke - - PR 29644 - * javax/swing/text/FlowView.java - (FlowStrategy.changedUpdate): Reversed condition. This caused - wrong layout and bad performance. - (FlowStrategy.insertUpdate): Reversed condition. This caused - wrong layout and bad performance. - (FlowStrategy.removeUpdate): Reversed condition. This caused - wrong layout and bad performance. - (LogicalView): Changed to be a subclass of CompositeView. - (LogicalView()): Only take one Element argument. - (LogicalView.childAllocation): New method for implementing - the abstract CompositeView method. - (LogicalView.forwardUpdateToView): Overridden for correct - reparenting. - (getMinimumSpan): Overridden to handle line breaking correctly. - (getPreferredSpan): Implemented to handle line breaking correctly. - (getViewAtPoint): New method for implementing - the abstract CompositeView method. - (getViewIndexAtPosition): Overridden to handle leaf elements - correctly. - (isAfter): New method for implementing - the abstract CompositeView method. - (isBefore): New method for implementing - the abstract CompositeView method. - (loadChildren): Overridden to handle leaf elements - correctly. - (paint): New method for implementing - the abstract CompositeView method. - (calculateMinorAxisRequirements): Use preferredSpan in calculation. - (loadChildren): Initialize flow layout by sending a synthetic - insertUpdate() to the layout strategy. - * javax/swing/text/GlyphView.java - (DefaultGlyphPainter.getBoundedPosition): Fall back to Toolkit's - font metrics if component is not available. Add initial offset - to result. - (breakView): Be more clever when breaking the view. - (getBreakLocation): New helper method to determine a good - break location. - (getBreakWeight): Be more clever when breaking the view. - (getTabbedSpan): Make sure we have a painter. Use view's - start and end offset rather than the element's. - * javax/swing/text/Utilities.java - (drawTabbedText): Avoid useless add and sub with the y offset. - -2006-11-02 Roman Kennke - - PR 29644 - * gnu/java/awt/peer/ClasspathFontPeer.java - (getStringBounds): Removed abstract method. This is replaced - in java.awt.Font to use a TextLayout. - * gnu/java/awt/peer/gtk/GtkWindowPeer.java - (GtkWindowPeer): Set a font on the window object. - * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java - (FreetypeGlyphVector(Font,String,FontRenderContext,int)): - Changed to take char,int,int instead of String. Filter - control characters. - (FreetypeGlyphVector(Font,String,FontRenderContext)): - Create char array out of string. - (getLogicalBounds): Don't translate bounds. They already are - translated. - * gnu/java/awt/peer/gtk/GdkFontMetrics.java - (stringWidth): Filter out control characters. - * gnu/java/awt/peer/gtk/GdkFontPeer.java - (getStringBounds): Removed unneeded method. - (layoutGlyphVector): Pass char array directly to FreetypeGlyphVector - constructor. - * gnu/java/awt/peer/qt/QtFontPeer.java - (getStringBounds): Removed unneeded method. - * gnu/java/awt/peer/x/XFontPeer.java - (getStringBounds): Removed unneeded method. - * gnu/java/awt/peer/x/XFontPeer2.java - (getStringBounds): Removed unneeded method. - * java/awt/Font.java - (getStringBounds(char[],int,int,FontRenderContext)): - Use TextLayout to determine the bounds. - (getStringBounds(CharacterIterator,int,int,FontRenderContext)): - Delegate to the char[] version of this method. - (getStringBounds(String,FontRenderContext)): - Delegate to the char[] version of this method. - (getStringBounds(String,int,int,FontRenderContext)): - Delegate to the String version of this method. - -2006-11-01 Tania Bento - - * java/awt/ScrollPaneAdjustable.java - (paramString): Changed format of string representation returned. - (paramStringHelper): New private method. - -2006-11-01 Tania Bento - - * java/awt/GridBagLayout.java - (toString): Implemented method. - -2006-10-30 Thomas Fitzsimmons - - * native/plugin/gcjwebplugin.cc (GCJ_New): Move GLib threading - initialization to NP_Initialize. - (NP_Initialize): Initialize GLib threading. - -2006-10-31 Tania Bento - - * javax/swing/JTextField.java - (fireActionPerformed): When creating the new event, if - actionCommand == null, then getText() is used. - -2006-10-31 Francis Kung - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (fillArc): Corrected arc type to Arc2D.PIE. - -2006-10-31 Roman Kennke - - * javax/swing/text/html/HTMLDocument.java - (HTMLReader.PreAction.end): Implemented. - (HTMLReader.PreAction.start): Implemented. - (HTMLReader.inPreTag): New field. - (HTMLReader.handleTag): When inside a pre tag, call preContent(). - (HTMLReader.preContent): Implemented. - -2006-10-31 Tania Bento - - * javax/swing/JTextField.java - (fireActionPerformed): When creating the new event, - actionCommand should be used as the command, not - getText(). - -2006-10-31 Roman Kennke - - * javax/swing/text/html/HTMLEditorKit.java - (write): Use HTMLWriter or MinimalHTMLWriter for writing - HTML or Styled documents. - -2006-10-31 David Fu - - * javax/swing/text/html/HTMLWriter.java: New class. - -2006-10-30 Roman Kennke - - * java/awt/dnd/DragSourceContext.java - (dragExit): Use constant fields instead of 0. - (updateCurrentCursor): Completed implementation. - -2006-10-30 Roman Kennke - - * java/awt/dnd/DragGestureRecognizer.java - (resetRecognizer): Added API docs. Do not replace the events object - but rather clear() it. Removed not implemented tag. - -2006-10-30 Roman Kennke - - * java/awt/datatransfer/DataFlavor.java - (writeExternal): Remove not implemented tag. - -2006-10-30 Roman Kennke - - * java/awt/datatransfer/DataFlavor.java - (javaFileListFlavor): Don't explicitly specify class. - (plainTextFlavor): Don't explicitly specify class. - (mimeType): Changed to type MimeType. Remove final. - (representationClass): Remove final. - (DataFlavor): Don't do anything here. - (DataFlavor(Class,String,String)): Removed. - (DataFlavor(Class,String)): Initialize here. - (DataFlavor(String,String,ClassLoader)): Initialize in init(). - (DataFlavor(String,String)): Initialize in init(). - (DataFlavor(String)): Initialize in init(). - (init): New initialization method. - (getMimeType): Delegate to MimeType.toString(). - (getParameter(String,String)): Removed. Is now done in MimeType. - (getParameter(String)): Delegate to MimeType. - (getPrimaryType): Delegate to MimeType. - (getRepresentationClassFromMime): Removed. - (getRepresentationClassFromMimeThrows): Removed. - (getSubType): Delegate to MimeType. - (hashCode): Take MimeType.toString() for the hashCode. - (isFlavorRemoveObjectType): Return true only when representation - class is remove and serializable and the mime type is remote. - (isFlavorSerializedObjectType): Return true only when representation - class is serializable and the mime type is serialized. - (isMimeTypeEqual): Rewritten to delegate to MimeType.matches(). - (isMimeTypeSerializedObject): Delegate to isMimeTypeEqual(). - (readExternal): Implemented stub method. - (writeExternal): Implemented stub method. - * java/awt/datatransfer/MimeType.java: New helper class. - -2006-10-28 Roman Kennke - - * javax/swing/TransferHandler.java - (importData): Implemented stub method. Added API docs. - -2006-10-26 Christian Elias Naur - - * native/jni/gtk-peer/gtk_jawt.c (classpath_jawt_get_depth): New - function. - * native/jni/classpath/classpath_jawt.h: Likewise. - * native/jawt/jawt.c (_Jv_GetDrawingSurfaceInfo): Added - initializer for surface_info_x11->depth. - -2006-10-26 Tania Bento - - * java/awt/FileDialog.java: - (setFile): Changed if-clause condition. - -2006-10-25 Francis Kung - - * include/gnu_java_nio_VMChannel.h, - * include/java_net_VMNetworkInterface.h, - * include/gnu_java_nio_EpollSelectorImpl.h, - * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h, - * include/gnu_java_nio_FileChannelImpl.h, - * include/gnu_java_nio_KqueueSelectorImpl.h, - * include/gnu_java_nio_VMPipe.h, - * include/gnu_java_net_VMPlainSocketImpl.h: Regenerated. - -2006-10-25 Tania Bento - - * java/awt/Dialog.java: Created new private variable - next_dialog_number. - (Dialog(Frame, String, boolean, GraphicsConfiguration)): - Set cursor to default cursor. - (Dialog(Dialog, STring, boolean, GraphicsConfiguration)): - Same. - (generateName): New method. - (getUniqueLong): New private method. - * java/awt/FileDialog.java: Created new private variable - next_file_dialog_number. - (setFile): If file == "", set it to null. - (generateName): New method. - (getUniqueLong): New private method. - -2006-10-25 Robert Schuster - - * java/net/MulticastSocket.java: - (setNetworkInterface): Rewritten. - -2006-10-25 Robert Schuster - - * native/jni/java-net/javanet.h: Added declaration for - _javanet_create_inetaddress. - * native/jni/java-net/javanet.c: - (_javanet_create_inetaddress): Removed static keyword. - -2006-10-25 Robert Schuster - - * gnu/java/net/PlainDatagramSocketImpl.java: - (connect): Use VMChannel instance for connect call. - (getTimeToLive): Call VMPlainSocketImpl.getTimeToLive. - (setTimeToLive): Call VMPlainSocketImpl.setTimeToLive. - (setOption): Handle multicast options. - (getOption): Handle multicast options. - * gnu/java/net/PlainSocketImpl.java: - (getTimeToLive): Call VMPlainSocketImpl.getTimeToLive. - (setTimeToLive): Call VMPlainSocketImpl.setTimeToLive. - (setOption): Filter unappropriate options. - (getOption): Filter unappropriate options. - (connect): Use given SocketAddress. - (close): Reset address and port. - (getInetAddress): - * include/Makefile.am: Removed all occurences of - gnu_java_net_VMPlainDatagramSocketImpl.h. - * include/gnu_java_net_VMPlainDatagramSocketImpl.h: Removed. - * native/jni/java-net/Makefile.am: Removed - gnu_java_net_VMPlainDatagramSocketImpl.c from sources. - * native/jni/java-net/gnu_java_net_VMPlainDatagramSocketImpl.c: - Removed. - as SocketException, declare to throw SocketException. - * native/jni/java-nio/gnu_java_nio_VMChannel.c: Added definitions - for SocketException and ConnectException. - (Java_gnu_java_nio_VMChannel_connect): Throw SocketException instead - of IOException. - (Java_gnu_java_nio_VMChannel_connect6): Throw SocketException instead - of IOException. - (Java_gnu_java_nio_VMChannel_accept): Rewritten. - (JCL_thread_interrupted): New function. - (initIDs): Added initialisation for isThreadInterrupted method id. - * native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c: Added - CPNET_IP_TTL to java_sockopt enum. - (Java_gnu_java_net_VMPlainSocketImpl_setOption): Handle CPNET_IP_TTL - case, handle SO_LINGER case properly. - (Java_gnu_java_net_VMPlainSocketImpl_getOption): Handle CPNET_IP_TTL - case, handle SO_LINGER case properly. - (Java_gnu_java_net_VMPlainSocketImpl_getMulticastInterface): New - function. - (Java_gnu_java_net_VMPlainSocketImpl_setMulticastInterface): New - function. - (Java_gnu_java_net_VMPlainSocketImpl_setMulticastInterface6): New - function. - (Java_gnu_java_net_VMPlainSocketImpl_leave6): Fixed constant to be - IPV6_LEAVE_GROUP. - * vm/reference/gnu/java/net/VMPlainDatagramSocketImpl.java: Removed. - * vm/reference/gnu/java/nio/VMChannel.java: - (connect(int, byte[], int, int)): Declare to throw SocketException. - (connect6): Declare to throw SocketException. - (connect(InetSocketAddress, int)): Catch IOException and rethrow - (isThreadInterrupted): New method. - * vm/reference/gnu/java/net/VMPlainSocketImpl.java: Added CP_IP_TTL - field. - (setTimeToLive): New method. - (getTimeToLive): New method. - (setMulticastInterface(int, InetAddress)): New method. - (setMulticastInterface(int, int, Inet4Address): New method. - (setMulticastInterface6(int, int, Inet6Address): New method. - (setOptions): Handle SO_LINGER case. - (getOptions): Add missing SO_REUSEADDR case. - * java/net/Socket.java: - (Socket(InetAddress, int, InetAddress, int, boolean)): Close socket - when exception was thrown out of connect(). - (setSoLinger): Replaced instantiations with valueOf calls, replaced - Boolean.FALSE with Integer.valueOf(-1). - * native/jni/native-lib/cpio.h: Added cpio_closeOnExec declaration. - * native/jni/native-lib/cpio.c: Added cpio_closeOnExec implementation. - * NEWS: Documented VM interface changes. - -2006-10-25 Robert Schuster - - * java/net/Inet6Address.java: - (isMulticastAddress): Fixed check. - -2006-10-25 Robert Schuster - - Fixes PR29576 - * java/net/MulticastSocket.java: - (getNetworkInterface): Return a special NetworkInterface instance - if the socket's multicast interface is set to any. - -2006-10-25 Robert Schuster - - Fixes PR29576 - * java/net/NetworkInterface.java: - (createAnyInterface): New method. - (equals): Added if-statement to handle case where netif.name is null. - * vm/reference/java/net/VMNetworkInterface.java: - (hashCode): Rewritten. - (VMNetworkInterface): New constructor. - -2006-10-24 Thomas Fitzsimmons - - * tools/Makefile.am: Add ASM_JAR define to each tool's CFLAGS. - * tools/toolwrapper.c (main): Set bootclasspath, not classpath. - Add ASM_JAR to bootclasspath. - -2006-10-24 Tania Bento - - * java/awt/Scrollbar.java: - (setLineIncrement): Removed unnecessary if-clause and if - lineIncrement == 0, then it should be set to 1, not 0. - (setPageIncrement): Removed unnecessary if-clause and if - pageIncrement == 0, then it should be set to 1, not 0. - (setValues): If visibleAmount <= 0, it should be set to 1, not 0. - If maximum <= minimum, maximum should be set to mininum + 1. The - actual value of maximum is maximum - visibleAmount, so I made - this change to the appropriate if-check. Remove the two unneccessary - if-clauses. - -2006-10-23 Francis Kung - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (cairoSetFont): New method. - (copy): Set font using setFont method. - (setFont): Call cairoSetFont. - (setup): Set font using setFont method. - * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h: Added method. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c - (install_font_peer): Removed. - (cairoDrawGlyphVector): Removed call to install_font_peer. - (cairoSetFont): New method. - -2006-10-23 Thomas Fitzsimmons - - * gnu/java/awt/peer/NativeEventLoopRunningEvent.java: New file. - * gnu/java/awt/peer/gtk/GtkMainThread.java: Post - NativeEventLoopRunningEvent after GTK main loop start and stop. - * java/awt/EventQueue.java (isShutdown): Check nativeLoopRunning. - (getNextEvent): Set dispatchThread to null. - (postEventImpl): Set nativeLoopRunning. - (pop): Interrupt event dispatch thread. - * java/awt/Frame.java (noteFrame): Synchronize on weakFrames. - -2006-10-22 Christian Thalinger - - * native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c (config-int.h): - Added include. - * native/jni/java-nio/gnu_java_nio_VMChannel.c (config-int.h): - Likewise. - -2006-10-23 Marco Trudel - - * gnu/javax/crypto/pad/PKCS7.java (unpad): Removed an unnecessary test. - * javax/crypto/CipherOutputStream.java: Re-implemented. - * gnu/javax/crypto/jce/cipher/CipherAdapter.java - (engineUpdate(byte[], int, int)): Always keep data for unpadding in padded - decryption mode and check if it is a complete block. - (engineUpdate(byte[], int, int, byte[], int)): Likewise. - (engineDoFinal(byte[], int, int)): In padded decryption mode, take - partially processed data into account. - -2006-10-21 Tom Tromey - - PR classpath/29086: - * java/util/AbstractCollection.java (toArray): Removed cast. - -2006-10-20 Tom Tromey - - * tools/gnu/classpath/tools/javah/JniIncludePrinter.java (printClass): - Don't use mangled class name for .h file. - * tools/gnu/classpath/tools/javah/JniStubPrinter.java (printClass): - Don't use mangled class name for .c file. - * tools/gnu/classpath/tools/javah/CniPrintStream.java (writeClass): - Handle classes from the default package. - -2006-10-20 Francis Kung - - * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h: Added missing constants. - -2006-10-19 Francis Kung - - PR 29510 - * java/awt/image/BufferedImage.java - (constructor): Updated some properties of default image types. - * gnu/java/awt/peer/gtk/BufferedImageGraphics.java - (argb32): Updated field to match default in BufferedImage. - -2006-10-18 Roman Kennke - - PR 29419 - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (copyArea): Changed size comparison to return when size == 0 - too. - * javax/swing/JViewport.java - (paintBackingStore): Check width and height of blitted area - and only do blit if its > 0. - (paintBlit): Check width and height of blitted area - and only do blit if its > 0. - -2006-10-18 Roman Kennke - - PR 27091 - * gnu/java/awt/peer/gtk/GtkFramePeer.java - (maximize): New native method. - (unmaximize): New native method. - (iconify): New native method. - (deiconify): New native method. - (getState): Implemented. - (setState): Implemented. - * gnu/java/awt/peer/gtk/GtkWindowPeer.java - (oldState): Rename to windowState and made protected, so that - the FramePeer can access it. - (postWindowEvent): Handle state change events more gently and - correctly. - * java/awt/Frame.java - (getState): Fetch state from getExtendedState(). - (setExtendedState): Update the peer. Check if the state change - is actually supported. - (getExtendedState): Update the state from the peer. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFramePeer.c - (maximize): New method. - (unmaximize): New method. - (iconify): New method. - (deiconify): New method. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c - (AWT_FRAME_NORMAL): New macro. - (AWT_FRAME_ICONIFIED): New macro. - (AWT_FRAME_MAXIMIZED_BOTH): New macro. - (window_window_state_cb): Rewritten to handle window state changes - more gently (mostly on the java side of the world). - * include/gnu_java_awt_peer_gtk_GtkFramePeer.h: Regenerated. - -2006-10-18 Tania Bento - - * java/awt/CardLayout.java: - (maximumLayoutSize): Return a new Dimension with Integer.MAX_VALUE as - its height and width if Container passed as argument is null. - (gotoComponent): Consider the case where the component is not visible. - -2006-10-18 Thomas Fitzsimmons - - * resource/gnu/classpath/tools/appletviewer/MessagesBundle.properties: - Rename file... - * resource/gnu/classpath/tools/appletviewer/messages.properties: - New file. - * resource/gnu/classpath/tools/appletviewer/MessagesBundle_de.properties: - Remove file. - * tools/gnu/classpath/tools/appletviewer/AppletWarning.java: - Remove file. - * tools/gnu/classpath/tools/appletviewer/ConsoleDialog.java: - Likewise. - * tools/gnu/classpath/tools/appletviewer/Messages.java: New file. - * tools/gnu/classpath/tools/appletviewer/CommonAppletStub.java: - Retrieve user-visible strings through Messages.getString. - * tools/gnu/classpath/tools/appletviewer/Main.java: Likewise. - * tools/gnu/classpath/tools/appletviewer/PluginAppletContext.java: - Likewise. - * tools/gnu/classpath/tools/appletviewer/PluginAppletViewer.java: - Likewise. - * tools/gnu/classpath/tools/appletviewer/PluginAppletWindow.java: - Likewise. - * tools/gnu/classpath/tools/appletviewer/StandaloneAppletContext.java: - Likewise. - * tools/gnu/classpath/tools/appletviewer/StandaloneAppletViewer.java: - Likewise. - * tools/gnu/classpath/tools/appletviewer/StandaloneAppletWindow.java: - Likewise. - -2006-10-18 Roman Kennke - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c - (AWT_WINDOW_OPENED): Remove unnecessary macro. - (window_show_cb): Removed unnecessary function. - (connect_signals): Don't connect signal for show. * - gnu/java/awt/peer/gtk/GtkWindowPeer.java - (hasBeenShown): Removed. This is handled in java.awt.Window. - (postWindowEvent): Removed handling of WINDOW_OPENED. This is done - in java.awt.Window. * java/awt/Window.java - (dispose): Post WINDOW_CLOSED here, not WINDOW_OPENED. - -2006-10-18 Francis Kung - - * gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java - (drawRenderedImage): New method. - (drawImage): New method. - (CairoSurfaceGraphics): Set clip. - (createBuffer): New method. - (getBufferCM): New method. - (drawComposite): New method. - (fill): New method. - (getNativeCM): New method. - (drawGlyphVector): New method. - (draw): New method. - * gnu/java/awt/peer/gtk/VolatileImageGraphics.java - (getNativeCM): Reflect renamed field. - * gnu/java/awt/peer/gtk/CairoSurface.java - (cairoCM_pre): Renamed from cairoColorModel. - (cairoColorModel): Set premultiplication to false. - -2006-10-18 Roman Kennke - - PR 28769 - * javax/swing/JScrollPane.java - (viewportBorder): Made field private. - (wheelScrollingEnabled): Made field private. - (JScrollPane): Enabled wheel scrolling by default. - * javax/swing/JTree.java - (TreeSelectionRedirector.valueChanged): Don't repaint anything - here. - (getScrollableUnitIncrement): Fixed thinko. - * javax/swing/plaf/basic/BasicScrollBarUI.java - (static scrollByBlock): New static method to avoid code duplication - for the BasicScrollPane wheel scrolling. - (static scrollByUnits): New static method to avoid code duplication - for the BasicScrollPane wheel scrolling. - (scrollByBlock): Delegate to static helper method. - (scrollByUnit): Delegate to static helper method. - * javax/swing/plaf/basic/BasicScrollPaneUI.java - (MouseWheelHandler.mouseWheelMoved): Delegate to BasicScrollBarUI - static helper methods to avoid code duplication. - (MouseWheelHandler.bounds): Removed. - (MouseWheelHandler.getValue): Removed. - (MouseWheelHandler.scroll): Removed. - -2006-10-18 Roman Kennke - - PR 29502 - * gnu/java/awt/peer/gtk/GtkWindowPeer.java - (updateComponent): Don't override this here. - * java/awt/Window.java - (addWindowListener): Ignore null listener. Set newEventsOnly flag. - (addWindowFocusListener): Ignore null listener. Set newEventsOnly - flag. - (addWindowStateListener): Ignore null listener. Set newEventsOnly - flag. - -2006-10-18 Roman Kennke - - * javax/swing/JEditorPane.java - (getStream): Try to detect and set the content type of the - connection stream. - -2006-10-18 Roman Kennke - - * javax/swing/RepaintManager.java - (RepaintWorkerEvent): Pass full set of params to super. - (RepaintWorker.dispatch): Overridden to allow apps to call this - via reflection. - (addDirtyRegion): Synchronize a little more to protect the - dirtyComponents field and avoid NPEs. - (invokeLater): Pass full set of params to RepaintWorkerEvent - constructor. - -2006-10-18 Roman Kennke - - * javax/swing/JEditorPane.java - (page): Removed field. The page is now stored in the correct - document property. - (getPage): Fetch page URL from document property. - (read): Set the document for this JEditorPane. Use a Reader - for reading in the document. - (setPage): Call getStream() to get the stream from which we read. - Fire property change. Store page in document property. - -2006-10-18 Roman Kennke - - * java/awt/datatransfer/DataFlavor.java - (DataFlavor(String)): Removed check for space in mime string. - -2006-10-18 Roman Kennke - - * java/awt/Container.java - (validateTree): Call ContainerPeer.begin|endLayout() rather than - begin|endValidate(). - (validate): Call ContainerPeer.begin|endValidate() here. - Added some local vars to avoid NPEs. - -2006-10-18 Roman Kennke - - * native/target/.cvsignore - * native/target/Linux/.cvsignore - * native/target/generic/.cvsignore: - Added to let CVS ignore the generated Makefile and Makefile.in - files. - -2006-10-18 Roman Kennke - - PR 29448 - * java/awt/Window.java - (eventTypeEnabled): Overridden to handle WindowEvents. - (processEvent): Switch between processWindowEvent(), - processWindowFocusEvent() and processWindowStateEvent() here, - rather than simply calling processWindowEvent(). - (processWindowEvent): Only dispatch event to listener, do not - switch to processWindowFocusEvent() or processWindowStateEvent() - here. - * javax/swing/JFrame.java - (frameInit): Explicitly enable window and key events here. - (processWindowEvent): Throw out some unnecessary code. - * javax/swing/JWindow.java - (windowInit): Explicitly enable key events here. - * javax/swing/JDialog.java - (close_action): Renamed to closeAction. - (dialogInit): Explicitly enable window events here. - (getDefaultCloseOperation): Renamed close_action to closeAction. - (processWindowEvent): Throw out some unnecessary code. - Renamed close_action to closeAction. - (setDefaultCloseOperation): Renamed close_action to closeAction. - -2006-10-17 Thomas Fitzsimmons - - * gnu/java/awt/peer/gtk/GtkMainThread.java: Introduce running flag - to track native GTK event loop status. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c: Set and - clear running flag when native GTK event loop starts and stops. - -2006-10-17 Roman Kennke - - * javax/swing/TransferHandler.java - (exportToClipboard): Implemented. - -2006-10-17 Francis Kung - - * gnu/java/awt/peer/gtk/BufferedImageGraphics.java (draw): Extend updated - region to account for pixel-shifting. - * gnu/java/awt/peer/gtk/CairoGraphics2D.java (shiftDrawCalls): Made - proctected. - -2006-10-17 Francis Kung - - PR 29450 - * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java - (getLogicalBounds): Translate individual glyphs before appending bounds. - (getOutline): Translate individual glyphs before appending outline. - -2006-10-17 Cameron McCormack - - PR 29014 - * java/awt/font/TextLayout.java - (bidi): New field. - (constructor): Store bidi in field. - (getCharacterLevel): Implemented. - -2006-10-17 Roman Kennke - - * javax/swing/TransferHandler.java - (PropertyTransferable): New inner class. Handles transfers - from component properties. - (createTransferable): Implemented. - -2006-10-17 Francis Kung - - * gnu/java/awt/peer/gtk/BufferedImageGraphics.java - (drawComposite): Ensure composite does not extend beyond buffer - bounds. - * java/awt/image/Raster.java - (createChild): Ensure child does not extend beyond parent's - bounds. - * java/awt/image/WritableRaster.java - (createWritableChild): Ensure child does not extend beyond - parent's bounds. - -2006-10-17 Jeroen Frijters - - * native/jni/classpath/jcl.c - (JNI_OnLoad): Corrected calling convention. - -2006-10-16 Roman Kennke - - * javax/swing/TransferHandler.java - (propertyName): New field. - (TransferHandler(String)): Store property name in field. - (canImport): Implemented stub method. - (exportDone): This is a no-op. Removed not-implemented mark. - (getPropertyDataFlavor): New helper method. - (getPropertyDescriptor): New helper method. - -2006-10-16 Roman Kennke - - * javax/swing/AbstractButton.java - (AccessibleJButton.getAfterIndex): Implemented. - (AccessibleJButton.getAtIndex): Implemented. - (AccessibleJButton.getBeforeIndex): Implemented. - (AccessibleJButton.getCharacterAttribute): Completed incomplete - method implementation. - -2006-10-16 Roman Kennke - - * javax/swing/JLabel.java - (AccessibleJLabel.getIndexAtPoint): Implemented. - (AccessibleJLabel.getCharacterBounds): Implemented. - (AccessibleJLabel.getTextRectangle): New helper method. - -2006-10-16 Roman Kennke - - * javax/swing/filechooser/FileSystemView.java - (getFileSystemView): Mark as implemented. - -2006-10-14 Roman Kennke - - PR 27957 - * javax/swing/JComponent.java - (toolTipText): Removed field. - (createToolTip): Don't set tooltip text here. This is done - in the ToolTipManager. - (setToolTipText): Set tooltip text as client property. - (getToolTipText): Get tooltip text from client property. - * javax/swing/ToolTipManager.java - (currentComponent): Made field non-static and of type JComponent. - (currentPoint): Made field non-static. - (currentTip): Made field non-static. - (popup): Made field non-static. - (toolTipText): New field. Stores the current tooltip text. - (checkTipUpdate): New helper method. Checks for updates of - the tooltip text and triggers the appropriate actions. - (getContentPaneDeepestComponent): Removed unneeded casts. - (mouseEntered): Removed unneeded cast. Initially fetch tooltip - text from component. - (mouseMoved): Check for tooltip text updates. - (showTip): Set tooltip text from current setting. - -2006-10-14 Roman Kennke - - PR 27956 - * javax/swing/JSlider.java - (setPaintLabels): Call setLabelTable() instead of setting - the field directly. This also updates the label's size. - -2006-10-13 Tom Tromey - - * tools/gnu/classpath/tools/javah/ClassWrapper.java (toString): New - method. - -2006-10-13 Tania Bento - - * java/awt/ScrollPane.java - (setLayout): Should throw AWTError whenever called. - -2006-10-13 Roman Kennke - - PR 29448 - * java/awt/Component.java - (dispatchEventImpl): Special handle ComponentReshapeEvents to - update the AWT's knowledge about a component's size. - * gnu/java/awt/ComponentReshapeEvent.java: New class. - * gnu/java/awt/peer/gtk/GtkWindowPeer.java - (postConfigureEvent): Directly dispatch a ComponentReshapeEvent - to update the AWT's knowledge about the component bounds. - -2006-10-13 Tania Bento - - * java/awt/ScrollPaneAdjustable.java - (setMaximum): Should throw AWTError whenever called. - (setMinimum): Same. - (setVisibleAmount): Same. - -2006-10-13 Tania Bento - - * java/awt/ScrollPane.java - (addImpl): When calling super, index should be value passed, - not -1. - (getIsValidString): New helper method for paramString(). - (getScrollbarDisplayString): New helper method for paramString(). - (paramString): Changed format of outputted string. - -2006-10-13 David Gilbert - - * javax/swing/tree/DefaultTreeSelectionModel.java - (clone): Added cast to TreePath[]. - -2006-10-13 Roman Kennke - - PR 27780 - * javax/swing/JMenuItem.java - (isDragging): New field. Indicates if we are inside a mouse - drag. - (createMenuDragMouseEvent): Removed unneeded method. - (processMenuDragMouseEvent): Track if we are dragging. - (processMouseEvent): Simply forward to processMenuDragMouseEvent(). - * javax/swing/plaf/basic/BasicMenuItemUI.java - (MenuDragMouseHandler.menuDragMouseDragged): Fetch - MenuSelectionManager from event. - (MenuDragMouseHandler.menuDragMouseEntered): Fetch - MenuSelectionManager from event. - (MenuDragMouseHandler.menuDragMouseExited): Fetch - MenuSelectionManager from event. - (MenuDragMouseHandler.menuDragMouseReleased): Click on mouse - release inside menu item, otherwise clear selection. - (MenuInputHandler.mouseReleased): Avoid multiple calls to getX() - and getY(). Call doClick() rather than the doClick() of JMenuItem. - (doClick): Perform an immediate click. - -2006-10-13 Thomas Fitzsimmons - - * javax/swing/DefaultComboBoxModel.java (setSelectedItem): Simply - return if object is not in the list. - -2006-10-12 Andrew Haley - - * java/lang/InheritableThreadLocal.java: Rename NULL to sentinel. - * java/lang/ThreadLocal.java: Likewise. - -2006-10-12 Roman Kennke - - PR 27956 - * javax/swing/JSlider.java - (LabelUIResource): New inner class. A JLabel as UIResource. - (createStandardLabels): Don't set label bounds here. - Create LabelUIResource instances. - (setInverted): Repaint. - (setLabelTable): Update the label UIs. Revalidate and repaint. - (setMajorTickSpacing): Update the label table. Repaint if - necessary. - (setMinorTickSpacing): Repaint if necessary. - (setOrientation): Revalidate. - (setPaintLabels): Revalidate and repaint. - (setPaintTicks): Revalidate and repaint. - (setPaintTrack): Repaint. - (updateLabelUIs): Set the label sizes here. - (updateUI): Also update the label UIs. - * javax/swing/plaf/basic/BasicSliderUI.java - (ComponentHandler.componentResized): Don't revalidate. - (FocusHandler.focusGained): Don't set field. - (FocusHandler.focusLost): Don't set field. - (PropertyChangeHandler.propertyChange): Calculate geometry - and repaint for a couple more properties. - (TrackListener.mouseReleased): Repaint. - (hasFocus): Removed unneeded field. - (calculateContentRect): No need to check for content size < 0. - (calculateFocusRect): Use insets from insetCache. - (calculateLabelRect): Fixed calculation of label rectangle. - It is relative to the tick rectangle, rather than the content - rectangle. - (calculateTickRect): Small restructuring to avoid unnecessary - comparisons. - (calculateTrackRect): Fixed calculation of track rectangle. - (getMaximumSize): Fixed. Fetch preferred size and set - the height of width to Short.MAX_VALUE. - (getMinimumHorizontalSize): Fixed to return UIManager value. - (getMinimumVerticalSize): Fixed to return UIManager value. - (getPreferredHorizontalSize): Fixed to return UIManager value. - (getPreferredVerticalSize): Fixed to return UIManager value. - (getMinimumSize): Fixed to return the UIManager value plus - insets added. - (getPreferredSize): Fixed to return the UIManager value plus - insets added. - (getWidthOfWidestLabel): Restructured for more cleanness and - efficiency. - (hitClip): New helper method. - (paintHorizontalLabel): Replaced by more efficient and clean - implementation. - (paintVerticalLabel): Replaced by more efficient and clean - implementation. - (paintLabels): Replaced by more efficient and clean - implementation. - (paint): Check if rectangles intersect with clip for maximum - efficiency. - (recalculateIfInsetsChanged): Fixed. This method should - recalculate only when the insets changed. - (setThumbLocation): Repaint with a reasonable clip. - (xPositionForValue): Made more clean and efficient. - (yPositionForValue): Made more clean and efficient. - * javax/swing/plaf/basic/BasicLookAndFeel.java - (initComponenDefaults): Added Slider.horizontalSize, - Slider.verticalSize, Slider.minimumHorizontalSize and - Slider.minimumVerticalSize properties. - * javax/swing/plaf/metal/MetalSliderUI.java - (getTickLength): Add 1 for horizontal sliders and 3 for - vertical sliders. - (paintMajorTickForHorizSlider): Fix colors. Fix line locations. - (paintMinorTickForHorizSlider): Fix colors. Fix line locations. - (paintMajorTickForVertSlider): Fix colors. Fix line locations. - (paintMinorTickForVertSlider): Fix colors. Fix line locations. - -2006-10-12 Roman Kennke - - PR 28696 - * javax/swing/text/FlowView.java - (FlowStrategy.layout): Preserve logical views from getting lost. - (FlowStrategy.layoutRow): Fix line breaking. - (FlowStrategy.adjustRow): Fix line breaking. - (FlowStrategy.changedUpdate): Mark layout invalid, or repaint. - (FlowStrategy.insertUpdate): Mark layout invalid, or repaint. - (FlowStrategy.removeUpdate): Mark layout invalid, or repaint. - (createView): Don't check index. - (contains): New helper method. - (reparent): New helper method. - (layoutDirty): Removed unneeded field. - (FlowView): Removed layoutDirty field init. - (changedUpdate): Removed layoutDirty handling. - (insertUpdate): Removed layoutDirty handling. - (removeUpdate): Removed layoutDirty handling. - (layout): Use isLayoutValid() rather than the layoutDirty field. - * javax/swing/text/GlyphView.java - (startOffset): Removed. - (endOffset): Removed. - (offset): New field. - (length): New field. - (GlyphView): Initialize new fields. Removed old fields. - (createFragment): Create fragment with new relative offsets. - (getEndOffset): Work with new relative offsets. - (getStartOffset): Work with new relative offsets. - * javax/swing/text/ParagraphView.java - (Row.getStartOffset): Overidden to determine the minimum start - offset from the children. - (Row.getEndOffset): Overidden to determine the maximum end - offset from the children. - * javax/swing/text/html/BRView.java - Make subclass of InlineView. - (getBreakWeight): Fall back to super for Y_AXIS. - -2006-10-12 Roman Kennke - - PR 28733 - * javax/swing/plaf/basic/BasicTabbedPaneUI.java - (TabPaneLayout.normalizeTabRuns): Replaced algorithm with - one that avoids faulty state that could cause division by zero - error. - -2006-10-12 Roman Kennke - - PR 28057 - * javax/swing/plaf/basic/BasicRadioButtonUI.java - (paint): Determine correct icon. Added support for HTML label. - Added small optimizations. - (getPreferredSize): Only consider the buttons iconTextGap, and - only when the text is not null. - * javax/swing/plaf/basic/BasicLookAndFeel.java - (initComponentDefaults): Fetch border for RadioButton from - BasicButtons.getRadioButtonBorder(). - * javax/swing/plaf/metal/MetalRadioButtonUI.java - (paintFocus): Paint focus rectangle one pixel smaller. - -2006-10-12 Roman Kennke - - PR 29418 - * javax/swing/tree/AbstractLayoutCache.java - (getNodeDimensions): Don't throw InternalError, but instead - return null. - (getRowsForPaths): Check for null here. - (isFixedRowHeight): Returns true when rowHeight > 0. - (setSelectionModel): Set this as the row mapper for the selection - model. - * javax/swing/tree/VariableHeightLayoutCache.java - (NodeRecord.NodeRecord): Initialize bounds field. - (getBounds): Simply return the bounds field. - (row2Node): Changed to be an ArrayList. - (RECT_CACHE): New field. Caches a Rectangle instance. - (countRows): Added y parameter and return value. The method - now takes the current y position as parameter, and returns - the updated y position. - (getBounds): Fixed to return the correct bounds. - (getPathForRow): Replaced by fixed implementation. - (getPreferredHeight): Replaced by more efficient implementation. - This simply fetches the last node record and returns its lower - bounds. - (getPreferredWidth): Added null check. - (getVisibleChildCount): Added null check. - (getVisiblePathsFrom): Added null check. - (setExpandedState): Also expand the ancestors of the node - to be expanded. - (setModel): Set dirty flag rather than updating for real. - (setNodeDimensions): Overridden to set the dirty flag. - (setRowHeight): Overridden to set the dirty flag. - (update): Don't special case the root here, this is done now - in countRows(). - -2006-10-12 Roman Kennke - - * javax/swing/JComponent.java - (paintImmediately2): Added support for components which need - to force themselves as paint root. - (isPaintRoot): New method. This should be overridden by components - which need to force themselves as paint root. - * javax/swing/JViewport.java - (isPaintRoot): Overridden to force the viewport as paint root - when running in backingstore mode. - -2006-10-12 Roman Kennke - - * javax/swing/tree/DefaultTreeSelectionModel.java - (PathPlaceHolder): New inner class. Wraps a path and its status - wrt to its newness. - (selectedPaths): New field. A supporting datastructure. - (tmpPaths): New field. A supporting datastructure. - (DefaultTreeSelectionModel): Initialize the list selection model, - the leadIndex and the supporting datastructures. - (addPropertyChangeListener): Create changeSupport object lazily. - (addSelectionPaths): Mostly rewritten to handle the different - selection modes correctly. - (addSelectionPath): Delegate to addSelectionPaths(). - (arePathsContiguous): Replaced with more efficient implementation - using BitSet - (canPathBeAdded): Removed unneeded method. - (canPathsBeAdded): Replaced with more efficient implementation. - (clearSelection): Create correct event. Clear the fields correctly, - including the supporting datastructures. - (clone): Also clone the supporting datastructures and nullify - changeSupport field. - (getMaxSelectionRow): Delegate to list selection model. - (getMinSelectionRow): Delegate to list selection model. - (getPath): Removed unneeded method. - (getPropertyChangeListeners): Handle null changeSupport field - correctly. - (getRow): Handle null rowMapper field correctly. - (getSelectionRows): Handle invisible rows correctly. - (insureRowContinuity): Replaced by more efficient and correct - implementation. - (isRowSelected): Delegate to list selection model. - (notifyPathChange): Made more efficient by use of PathPlaceHolder - class. - (removePropertyChangeListener): Handle null changeSupport field. - (removeSelectionPaths): Mostly rewritten to handle the different - selection modes correctly. - (removeSelectionPath): Delegate to removeSelectionPaths(). - (resetRowSelection): Handle list selection model. - (selectOne): Removed unneeded field. - (setRowMapper): Reset the row selection. - (setSelectionMode): Check for invalid mode and set to - DISCONTINUOUS_TREE_SELECTION in this case. Fire property change. - (setSelectionPaths): Mostly rewritten to handle the different - selection modes correctly. - (setSelectionPath): Delegate to setSelectionPaths(). - (updateLeadIndex): Made more efficient. - -2006-10-11 Francis Kung - - * gnu/java/awt/peer/gtk/BufferedImageGraphics.java - (buffer, locked): New fields. - (constructors): Initialize new variables. - (createBuffer): New method. - (draw): Implement custom composites. - (drawComposite): New method. - (drawGlyphVector): Implement custom composites. - (drawImage): Implement custom composites. - (drawRenderedImage): Implement custom composites. - (fill): Implement custom composites. - (getBufferCM): New method. - (getNativeCM): New method. - (updateBufferedImage): Fix premultiplication. - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (copy): Copy composite. - (drawImage): Set background properly. - (getBufferCM): New method. - (setComposite): Reset alpha composite when using custom composite. - * gnu/java/awt/peer/gtk/CairoSurface.java - (cairoColorModel): New field. - (nativeColorModel): Renamed. - (constructor): Use renamed createCairoSampleModel method. - (createCairoSampleModel): New method. - (createNativeSampleModel): Renamed. - (getBufferedImage): Use renamed cairoColorModel field. - * gnu/java/awt/peer/gtk/GtkVolatileImage.java - (gdkColorModel): New field. - (createGdkSampleModel): New method. - (getPixels): Added comments. - (getSnapshot): Use GDK colour and sample models. - * gnu/java/awt/peer/gtk/VolatileImageGraphics.java - (createBuffer): Use GDK colour and sample models. - (getNativeCM): Added comments. - * java/awt/image/BufferedImage.java - (constructor): Set premultiplied flag properly. - -2006-10-11 Edwin Steiner - - * native/jni/java-nio/gnu_java_nio_VMChannel.c - (Java_gnu_java_nio_VMChannel_lock): Special case Long.MAX_VALUE. - -2006-10-10 Francis Kung - - PR 29372 - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (createPath): Added isDraw parameter. - (draw): Updated createPath call. - (fill): Updated createPath call. - -2006-10-10 Tom Tromey - - PR classpath/29362: - * gnu/xml/transform/TransformerImpl.java (transform): Only strip if - there is a stylesheet. - -2006-10-10 Roman Kennke - - * java/awt/Toolkit.java - (getDefaultTookit): Make method synchronized to avoid - accidentally creating more than one toolkits from different - threads. - -2006-10-10 Roman Kennke - - * java/awt/LightweightDispatcher.java - (handleMouseEvent): Redispatch MOUSE_WHEEL events too. - (redispatch): Transfer the button to the redispatched event. - -2006-10-10 Francis Kung - - * java/awt/image/ColorModel.java (coerceData): Implemented. - -2006-10-09 Christian Elias Naur - - * vm/reference/java/lang/VMClassLoader.java: - (defineClassWithTransformers): Use proper class name format. - -2006-10-09 Gary Benson - - * java/net/ServerSocket.java - (implAccept): Add security check. - (accept): Close socket if security check fails. - (setSocketFactory): Add security check and already-set check. - -2006-10-09 Roman Kennke - - PR 29325 - * javax/swing/JSplitPane.java - (dividerLocation): New field. Stores the divider location. - (JSplitPane): Initialize dividerLocation with -1. - (addImpl): Removed unneeded local variables. - (getDividerLocation): Manage dividerLocation in the JSplitPane - class, not in the UI. - (setDividerLocation): Manage dividerLocation in the JSplitPane - class, not in the UI. Only call the UI method for notification. - * javax/swing/plaf/basic/BasicSplitPaneUI.java - (BasicHorizontalLayoutManager.layoutContainer): Fetch divider - location from the JSplitPane. Honour the minimumSize, but only - if the divider location hasn't been set explicitly. - (BasicHorizontalLayoutManager.minimumLayoutSize): Removed unneeded - statement. - (BasicHorizontalLayoutManager.preferredLayoutSize): Removed unneeded - statement. - (BasicHorizontalLayoutManager.resetToPreferredSizes): Don't touch - the divider location. - (dividerLocationSet): New field. - (dividerLocation): Removed field. - (createActionMap): Fetch and set divider location on the JSplitPane. - (getDividerLocation): Return the actual real divider location. - (getMaximumSize): Removed unneeded cast. - (getPreferredSize): Removed unneeded cast. - (getMinimumSize): Removed unneeded cast. - (installUI): Initialize dividerLocationSet with false. - (uninstallUI): Initialize dividerLocationSet with false. - (setDividerLocation): Set dividerLocationSet to true. - -2006-10-09 Robert Schuster - - * native/jni/java-net/gnu_java_net/VMPlainSocketImpl.c: - (Java_gnu_java_net_VMPlainSocketImpl_joinGroup): Properly - convert jstring into char *. - (Java_gnu_java_net_VMPlainSocketImpl_joinGroup6): Dito. - (Java_gnu_java_net_VMPlainSocketImpl_leaveGroup): Dito. - (Java_gnu_java_net_VMPlainSocketImpl_leaveGroup6): Dito. - (getif_address): Added const modifier to second argument. - (getif_index): Dito. - -2006-10-09 Roman Kennke - - * javax/swing/JTree.java - (isSelected): Added API docs. - -2006-10-09 Roman Kennke - - * javax/swing/JTree.java - (isSelected): Delegate to the selection model directly. - -2006-10-09 Robert Schuster - - * gnu/java/nio/KqueueSelectorImpl.java: Renamed field - sizeof_struct_kevent to _sizeof_struct_kevent. - -2006-10-07 Audrius Meskauskas - - * tools/gnu/classpath/tools/rmic/RMICException.java: - javadoc corrections, reformatted. - -2006-10-07 Christian Elias Naur - - * gnu/java/lang/InstrumentationImpl.java: - Made constructor package visible. - -2006-10-05 Gary Benson - - * java/net/Socket.java - (Socket): Perform security check on address not hostname. - -2006-10-04 Roman Kennke - - * javax/swing/tree/VariableHeightLayoutCache.java - (getBounds): When rect is null, create a new Rectangle. - -2006-10-04 Christian Thalinger - - * native/jni/java-nio/javanio.c (cpnio_read, cpnio_readv) - (cpnio_write, cpnio_writev, cpnio_socket, cpnio_connect) - (cpnio_accept, cpnio_sendto, cpnio_recvfrom, cpnio_fcntl) - (cpnio_select): Use CPNIO_EXPORT. - * native/jni/java-nio/javanio.h (CPNIO_EXPORT): Define to static - inline instead of extern inline, as newer GCCs changed their - behavior. - -2006-10-04 Gary Benson - - * java/net/InetAddress.java: Updated javadoc. - (, getByLiteral): Throw InternalError on failures. - -2006-10-03 Francis Kung - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (compCtx): New field for composite context. - (copy): Copy composite. - (dispose): Dispose of composite context. - (getNativeCM): New method. - (setComposite): Discard old composite context and set up new context. - (setRenderingHints): Update composite context. - * gnu/java/awt/peer/gtk/CairoSurface.java - (nativeColorModel): New field, renamed from nativeModel. - (nativeModel): Renamed field to nativeColorModel. - (CairoSurface(int, int)): Call new method to create sample model. - (createNativeSampleModel): New method. - (getBufferedImage): Updated variable name. - * gnu/java/awt/peer/gtk/VolatileImageGraphics.java - (buffer): New field. - (createBuffer): New method. - (draw): New method. - (drawComposite): New method. - (drawGlyphVector): New method. - (drawImage(Image, AffineTransform, Color, ImageObserver)): New method. - (drawImage(Image, int, int, ImageObserver)): Check composite. - (drawImage(Image, int, int, int, int, ImageObserver)): Check composite. - (fill): New method. - (getNativeCM): New method. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkVolatileImage.c - (Java_gnu_java_awt_peer_gtk_GtkVolatileImage_nativeGetPixels): Use - intermediary pixbuf to grab on-screen pixels. - -2006-10-03 Tom Tromey - - PR classpath/28987: - * java/util/IdentityHashMap.java (tombstone): Removed. - (emptyslot): Removed. - (nullslot): New field. - (IdentityHashMap): Don't fill array. - (clear): Fill with null. - (hash): Now final. Use linear probing. - (xform): New method. - (unxform): Likewise. - (removeAtIndex): Likewise. - (clone, containsKey, containsValue, entrySet, get, hashCode, - keySet, put, remove, values): Updated. - (IdentityIterator, IdentityEntry): Likewise. - (writeObject): Likewise. - -2006-10-03 Tom Tromey - - * java/util/Locale.java (hashcode): Updated javadoc. - (hashcodeCache): Removed. - (Locale): Updated. - (hashCode): Updated. - (writeObject): New method. - (readObject): Updated. - -2006-10-02 Francis Kung - - * gnu/java/awt/peer/gtk/BufferedImageGraphics.java - (updateBufferedImage): Recognise that raw data is alpha-premultiplied. - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (clearRect): Paint background colour with AlphaComposite.SRC rule. - (drawImage(Image, AffineTransform, Color, ImageObserver)): Alpha - pre-multiply data before drawing. - (fillRect): Draw using regular fill() method. - (setComposite): Handle null case with AlphaComposite.SrcOver default. - * gnu/java/awt/peer/gtk/CairoSurface.java - (nativeModel): Use correct value for alpha premultiplication (true). - * java/awt/image/BufferedImage.java - (coerceData): Update isPremultiplied field. - -2006-10-02 Andrew John Hughes - - * gnu/classpath/ListenerData.java: - New class for holding listener data. - * gnu/java/lang/management/MemoryMXBeanImpl.java: - ListenerData class moved to its own file. - * javax/management/MBeanServerDelegate.java, - * javax/management/MBeanServerDelegateMBean.java, - * javax/management/MBeanServerNotification.java: - Implemented. - -2006-10-02 Tania Bento - - * java/ast/Rectangle.java: - (Rectangle(Rectangle)): Do not throw NPE. - (Rectangle(Point, Dimension)): Same. - (Rectangle(Point)): Same. - (Rectangle(Dimension)): Same. - -2006-09-29 Casey Marshall - - PR 29190 - * gnu/java/nio/EpollSelectionKeyImpl.java: extend - `AbstractSelectionKey.' - (cancel, isValid): removed. - * gnu/java/nio/EpollSelectorImpl.java (cancelledKeys): removed. - (events): new field. - (INITIAL_CAPACITY, MAX_DOUBLING_CAPACITY, CAPACITY_INCREMENT): new - fields. - (): initialize those constants. - (): don't initialize `cancelledKeys;' initialize `events.' - (doSelect): deregister cancelled keys; remove keys attached to - closed channels; wrap `epoll_wait' in `begin' and `end' calls; use - `events' buffer; reallocate `events' buffer if needed. - (register): reallocate `events' buffer if needed. - (reallocateBuffer): new method. - (cancel): removed. - -2006-09-29 Roman Kennke - - PR 28929 - * javax/swing/JViewport.java - (cinit): Renamed system property to gnu.swing.scrollmode - to avoid bloat. Default to BACKINGSTORE, this is much - more reliable. - (repaint): Forward repaint() to parent as is specified. - -2006-09-29 Tania Bento - - * javax/swing/plaf/basic/BasicTableUI.java - (getPreferredSize): The number of iterations for the for-loop should be - the number of columns in the table's column model, not the number of - columns of the table. - * javax/swing/JTable.java - (JTable(TableModel, TableColumnModel, ListSelectionModel): Removed 4 - lines that are not needed. - (initializeLocalVars): dragEnabled should be set to false, not true. - (getCellRenderer): Added a check to prevent an - ArrayIndexOutOfBoundsException. - (doLayout): The number of iterations for the for-loops should be the - number of columns in the table's column model, not the number of columns - of the table. - -2006-09-29 Roman Kennke - - * gnu/java/awt/java2d/AbstractGraphics2D.java: Updated - API docs. - (isOptimized): Initialize with true. - (paintRaster): Removed unneeded field. - (shapeCache): New static field. Caches certain shapes for reuse. - (computeIntersection): Removed unneeded casts. - (drawArc): Use shape cache. - (drawImage): Removed unneeded statement. - (drawLine): Use shape cache. Pass untranslated coordinates - to rawDrawLine(). - (drawOval): Use shape cache. - (drawPolygon): Use shape cache. - (drawRect): Overridden to provide accelerated rectangle drawing - if possible and to use the shape cache. - (drawRoundRect): Use shape cache. - (fillArc): Use shape cache. - (fillOval): Use shape cache. - (fillPolygon): Use shape cache. - (fillRect): Pass untranslated coordinates to rawFillRect(). - Use shape cache. - (fillRoundRect): Use shape cache. - (fillScanlineAA): Removed unneeded statement. - (fillScanline): Updated API docs. - (fillShapeAntialias): Removed unnecessary cast. - (fillShapeImpl): Update API docs. Removed unnecessary cast. - (fillShape): Updated API docs. - (getShapeCache): New helper method. - * gnu/java/awt/java2d/ShapeCache.java: New class. Caches - certain shapes for reuse in AbstractGraphics2D. - -2006-09-28 Andrew John Hughes - - * javax/management/BadBinaryOpValueExpException.java: - (getExp()): Implemented. - * javax/management/MBeanConnection.java: - Renamed to MBeanServerConnection. - * javax/management/MBeanServer.java: - (setAttribute(Attribute)): Fixed... - (setAttribute(ObjectName,Attribute)): to this. - * javax/management/MBeanServerConnection.java: - Renamed from MBeanConnection. - * javax/management/QueryExp.java: - Extend Serializable. - * javax/management/ValueExp.java: - Likewise. - * javax/management/loading/ClassLoaderRepository.java: - (loadClass(String)): Throw ClassNotFoundException. - (loadClassBefore(ClassLoader,String)): Likewise. - (loadClassWithout(String, ClassLoader): Fixed... - (loadClassWithout(ClassLoader,String)): to this. - -2006-09-28 Roman Kennke - - * javax/swing/tree/DefaultTreeCellRenderer.java - (DefaultTreeCellRenderer): Fetch drawsFocusBorderAroundIcon - property from UIManager. - (paint): Rewritten to use super's implementation and only paint - background and focus indicator before. - (paintFocus): New helper method. - (getXOffset): New helper method. - -2006-09-28 Andrew John Hughes - - * javax/management/BadBinaryOpValueExpException.java, - * javax/management/MBeanConnection.java, - * javax/management/MBeanServer.java, - * javax/management/ObjectInstance.java: - Implemented. - * javax/management/ObjectName.java: - (setMBeanServer(MBeanServer)): Implemented. - * javax/management/QueryExp.java, - * javax/management/ValueExp.java, - * javax/management/loading/ClassLoaderRepository.java: - Implemented. - -2006-09-27 Robert Schuster - - * gnu/java/nio/VMChannelOwner.java: Removed unneeded imports. - -2006-09-27 Robert Schuster - - * vm/reference/gnu/java/nio/VMChannel.java: Removed unneeded imports. - * vm/reference/gnu/java/nio/VMPipe.java: Removed unneeded imports. - * gnu/java/nio/EpollSelectorImpl.java: - (doSelect): Use Integer.valueOf() instead of constructor call. - (register): Use Integer.valueOf() instead of constructor call. - -2006-09-27 Roman Kennke - - * java/awt/Container.java - (addContainerListener): Activate newEventsOnly for the component. - Ignore null listeners. - -2006-09-27 Roman Kennke - - * java/awt/EventQueue.java - (Queue): New inner class. Implements the actual queue. - (LOW_PRIORITY): New constant field. - (NORM_PRIORITY): New constant field. - (queueHead): Removed. Moved into Queue. - (queueTail): Removed. Moved into Queue. - (queues): New field. - (EventQueue): Initialize two internal queues, one for - normal events, one for low priority events. - (getNextEventImpl): New helper method, fetches the next event. - (getNextEvent): Use getNextEventImpl() for fetching the event. - (peekEvent): Use getNextEventImpl() for fetching the event. - (peekEvent(int)): Search for event in all queues. - (postEventImpl(AWTEvent)): Moved actual posting into - postEventImpl(AWTEvent,int). Prioritize events here. - (postEventImpl(AWTEvent,int)): Take priority parameter and insert - event into correct queue. Re-enable event coalescing. - * gnu/java/awt/LowPriorityEvent.java: New marker interface. - * javax/swing/RepaintManager.java - (RepaintWorkerEvent): New internal class. This is a low priority - event for the repaint worker. - (addDirtyRegion): Use new internal invokeLater() for sending - a low priority event. - (addInvalidComponent): Use new internal invokeLater() for sending - a low priority event. - (commitBuffer): Added some null checks. - (invokeLater): New helper method. Sends a low priority - repaint worker event on the event queue. - -2006-09-27 Roman Kennke - - PR 29036 - PR 29161 - * javax/swing/plaf/basic/BasicButtonUI.java - (cachedInsets): New field. - (installListeners): Fire synthetic property change to initialize - TEXT_LAYOUT_CACHE for the button because the font has been - installed before. - (uninstallUI): Clear the TEXT_LAYOUT_CACHE for the button. - (paint): Use cached insets. - (paintText): Let new method forward to old one, not vice versa. - * javax/swing/plaf/basic/BasicMenuItemUI.java - (defaultAcceleratorLabelGap): Removed unused field. - (MenuGap): Removed unused field. - (propertyChangeListener): Made private. - (getAcceleratorRect): Removed unused method. - (getAcceleratorText): Removed unused method. - (getPath): Removed unnecessary cast. - (installListeners): Fire synthetic property change to initialize - TEXT_LAYOUT_CACHE for the button because the font has been - installed before. - (uninstallUI): Clear the TEXT_LAYOUT_CACHE for the button. - (layoutMenuItem): Removed unused statements. - -2006-09-27 Roman Kennke - - PR 29218 - * javax/swing/tree/DefaultTreeModel.java - (isLeaf): Check if the node allows children when - asksAllowsChildren is true, otherwise fall back - to return the node's leaf property. - -2006-09-27 Mario Torre - - * scripts/check_jni_methods.sh: removed methods from the - ignore list: - Java_gnu_java_util_prefs_gconf_GConfNativePeer_finalize_1class - Java_gnu_java_util_prefs_gconf_GConfNativePeer_init_1id_1cache - Java_gnu_java_util_prefs_gconf_GConfNativePeer_init_1class - Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1escape_1key - Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1unescape_1key - * native/jni/gconf-peer/GConfNativePeer.c: fixed coding style - to better follow the GNU style. - * include/gnu_java_util_prefs_gconf_GConfNativePeer.h. - regenerated header file for GConfNativePeer. - -2006-09-27 Robert Schuster - - * INSTALL: Added information about grmic being built when ASM - is available, added information about gconf dependency, indented - Qt4 dependency section. - * configure.ac: Added information about grmic being built when ASM - is available. - -2006-09-27 Ian Rogers - - * native/jni/classpath/jcl.c (JNI_OnLoad): Don't call - DeleteGlobalRef on a local ref. - -2006-09-24 Mario Torre - - * scripts/check_jni_methods.sh: added two new methods in the - ignore list: - Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1escape_1key - and - Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1unescape_1key - * native/jni/gconf-peer/GConfNativePeer.c: - (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1all_1keys): - refacored method name, renamed from - Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1gconf_1client_1all_1keys. - Added code to unescape escaped GConf key names. - (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1all_1nodes): - refacored method name, renamed from - Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1gconf_1client_1all_1nodes. - Added code to unescape escaped GConf key names. - (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1escape_1key): - new function. - (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1unescape_1key): - new function. - * gnu/java/util/prefs/gconf/GConfNativePeer.java: removed - version javadoc tag. - (escapeString): new method. - (unescapeString): likewise. - (gconf_escape_key): new native method. - (gconf_unescape_key): likewise. - (gconf_client_suggest_sync): update native method signature, now - explicity throws BackingStoreException. - (gconf_client_all_nodes): update native method signature, now - explicity throws BackingStoreException. Refactored method name, - renamed from gconf_client_gconf_client_all_nodes. - (gconf_client_all_keys): update native method signature, now - explicity throws BackingStoreException. Refactored method name, - renamed from gconf_client_gconf_client_all_keys. - (getKeys): refactored to use the new method name - gconf_client_all_keys. - (getChildrenNodes): refactored to use the new method name - gconf_client_all_nodes. - * gnu/java/util/prefs/GConfBasedPreferences.java: removed - version javadoc tag. - (GConfBasedPreferences): Added code to escape node names from - invalid characters so that GConf now accept invalid node names. - (GConfBasedPreferences): Moved code to register the current - node to the list of nodes watched by GConf outside the constructor. - (childSpi): Added code to register the current node to the - list of nodes watched by GConf. - (getGConfKey): Added code to escape key names from - invalid characters so that GConf now accept invalid key names. - -2006-09-26 Tom Tromey - - * tools/gnu/classpath/tools/javah/Printer.java (Printer): Don't - call mkdirs in output-directory case. - (getPrintStream): Create output directory. - * tools/gnu/classpath/tools/javah/Main.java (makeOutputDirectory): - Don't call mkdirs. - -2006-09-27 Raif S. Naffah - - * tools/gnu/classpath/tools/javah/CniIncludePrinter.java (CniIncludePrinter): - Accept three additional arguments. - (writePreambleImpl): New method. - (getPrintStreamImpl): Likewise. - (printClass): Adapted to use new methods in Printer superclass. - * tools/gnu/classpath/tools/javah/CniStubPrinter.java: Likewise. - * tools/gnu/classpath/tools/javah/JniIncludePrinter.java: Likewise. - * tools/gnu/classpath/tools/javah/JniStubPrinter.java: Likewise. - * tools/gnu/classpath/tools/javah/Main.java (outFileName): New field. - (force): Likewise. - (getParser): Add support for -o option. - Check that only one of -d or -o is defined. - Add support for -jni option. - Add support for -force option. - (makeOutputFile): New method. - (writeHeaders): Removed File argument from signature. - (run): Take into account newly added fields. - Invoke concrete PrintStream implementations with augmented constructors. - * tools/gnu/classpath/tools/javah/Printer.java (outputFileObject): New field. - (isDirectory): Likewise. - (force): Likewise. - (wrotePreamble): Likewise. - (Printer): Changed ctor to accept three additional arguments. - (printClass): Changed signature to accept one ClassWrapper argument. - (writePreambleImpl): New abstract method. - (getPrintStreamImpl): Likewise. - (getPrintStream): New method. - (writePreamble): Likewise. - -2006-09-26 Tania Bento - - * java/awt/GridLayout.java - (toString): There is no common before hgap. - * java/awt/Rectangle.java - (Rectangle(Rectangle)): Throw NPE if Rectangle is null. - (Rectangle(Point, Rectangle)): Throw NPE if either Point or - Rectangle is null. - (Rectangle(Point)): Throw NPE if Point is null. - (Rectangle(Dimension)): Throw NPE if Dimension is null. - -2006-09-26 David Gilbert - - * javax/swing/plaf/metal/MetalIconFactory.java - (FileIcon16.paintIcon): Apply vertical shift by the number of pixels - returned by getShift(), - (FileIcon16.getShift): Updated API docs, - (FolderIcon16.paintIcon): Apply vertical shift by the number of pixels - returned by getShift(), - (FolderIcon16.getShift): Updated API docs, - (TreeFolderIcon.getShift): Likewise, - (TreeLeafIcon.getShift): Likewise. - -2006-09-26 David Gilbert - - * javax/swing/plaf/metal/MetalIconFactory.java - (FileIcon16.paintIcon): Fetch colors from look and feel, - (FolderIcon16.paintIcon): Likewise. - -2006-09-25 Casey Marshall - - * gnu/java/nio/FileChannelImpl.java (read): revert back to using - `readScattering.' - (write): revert back to using `writeGathering.' - * vm/reference/gnu/java/nio/VMChannel.java (writeGathering): find - the first buffer that has data remaining, and start at that one. - -2006-09-25 Tom Tromey - - * native/jni/gconf-peer/Makefile.am (libgconfpeer_la_LDFLAGS): New - variable. - -2006-09-25 Tom Tromey - - * tools/.cvsignore: Updated. - -2006-09-25 Tom Tromey - - PR libgcj/29178: - * gnu/java/nio/charset/US_ASCII.java (Encoder.canEncode): New method. - (Encoder.canEncode): Likewise. - (Encoder.encodeLoop): Return unmappable for all non-ASCII characters. - * gnu/java/nio/charset/ByteCharset.java (Encoder.canEncode): New - method. - (Encoder.canEncode): Likewise. - * gnu/java/nio/charset/ISO_8859_1.java (Encoder.canEncode): New - method. - (Encoder.canEncode): Likewise. - -2006-09-25 Tom Tromey - - * native/fdlibm/mprec.c (mprec_calloc): Renamed. - (Balloc): Updated. - -2006-09-25 Francis Kung - - * java/awt/image/ColorModel.java - (coerceData): Made abstract. - (coerceDataWorker): New protected method. - * java/awt/image/ComponentColorModel.java - (coerceData): Return new instance of proper ColorModel. - * java/awt/image/DirectColorModel.java - (coerceData): Return new instance of proper ColorModel. - * java/awt/image/IndexColorModel.java - (coerceData): New method. - -2006-09-24 Casey Marshall - - * gnu/java/nio/FileChannelImpl.java - (read): call `read' in a loop, don't use `readScattering.' - (write): call `write' in a loop, don't use `writeGathering.' - -2006-09-24 Mark Wielaard - - * configure.ac: Move -pedantic from WARNING to STRICT flags. - -2006-09-24 Jeroen Frijters - - * java/nio/channels/spi/AbstractSelectableChannel.java - (register): Set interestOps and attachment when the key already - exists. - -2006-09-24 Jeroen Frijters - - * java/net/ServerSocket.java - (bind(SocketAddress,int)): Added support for null address. - Throw proper exception if already bound. - Handle unresolved addresses correctly. Ignore exceptions that - happen during close in error path (to prevent losing the original - exception.) - -2006-09-24 Mark Wielaard - - Suggested by Aaron M. Ucko - Fixes bug #29203 - * native/fdlibm/mprec.c (ulp): Define L as int32_t. - -2006-09-24 Jeroen Frijters - - * java/nio/channels/spi/AbstractSelectableChannel.java - (implCloseChannel): Cancel all keys after closing the channel. - -2006-09-22 Casey Marshall - - * gnu/java/nio/EpollSelectorImpl.java (doSelect): remove keys - after we delete them. - (selectedKeys): return an empty set if nothing's been selected. - * native/jni/java-nio/gnu_java_nio_EpollSelectorImpl.c - (Java_gnu_java_nio_EpollSelectorImpl_epoll_1delete): don't - throw an exception on EBADF. - (Java_gnu_java_nio_EpollSelectorImpl_epoll_1wait): don't - throw exception on EINTR, just return 0. - -2006-09-22 Casey Marshall - - * native/jni/java-io/java_io_VMFile.c (Java_java_io_VMFile_list): - remove `const' from `filename.' - * native/jni/native-lib/cpio.c (cpio_readDir): remove `const' from - `filename.' - * native/jni/native-lib/cpio.h (cpio_readDir): likewise. - -2006-09-22 Casey Marshall - - * configure.ac (AC_CHECK_FUNCS): check for `readdir_r.' - * native/jni/java-io/java_io_VMFile.c (Java_java_io_VMFile_list): - allocate `filename,' and handle changes to `cpio_readDir.' - * native/jni/native-lib/cpio.c (cpio_readDir): use `readdir_r' if - available; copy the filename into the destination buffer; return - an error code if readdir returns NULL, but errno is 0. - * native/jni/native-lib/cpio.h (cpio_readDir): change second - parameter to `const char *.' - -2006-09-23 Andrew John Hughes - - * javax/management/ObjectName.java: - Implemented. - -2006-09-22 Thomas Fitzsimmons - - * resource/gnu/classpath/tools/orbd: New directory. - * resource/gnu/classpath/tools/rmic: Likewise. - * resource/gnu/classpath/tools/rmid: Likewise. - * resource/gnu/classpath/tools/rmiregistry: Likewise. - * resource/gnu/classpath/tools/tnameserv: Likewise. - * tools/gnu/classpath/tools/giop: Move contents to... - * tools/gnu/classpath/tools/orbd, - tools/gnu/classpath/tools/tnameserv: New directories. - * tools/gnu/classpath/tools/rmi/rmic: Move contents to... - * tools/gnu/classpath/tools/rmic: New directory. - * tools/gnu/classpath/tools/rmi/rmid: Move contents to... - * tools/gnu/classpath/tools/rmid: New directory. - * tools/gnu/classpath/tools/rmi/registry: Move contents to... - * tools/gnu/classpath/tools/rmiregistry: New directory. - * resource/gnu/classpath/tools/orbd/messages.properties: New file. - * resource/gnu/classpath/tools/rmic/messages.properties: Likewise. - * resource/gnu/classpath/tools/rmid/messages.properties: Likewise. - * resource/gnu/classpath/tools/rmiregistry/messages.properties: - Likewise. - * resource/gnu/classpath/tools/tnameserv/messages.properties: - Likewise. - * tools/gnu/classpath/tools/orbd/Main.java, - tools/gnu/classpath/tools/orbd/Messages.java, - tools/gnu/classpath/tools/orbd/PersistentContext.java, - tools/gnu/classpath/tools/orbd/PersistentContextMap.java, - tools/gnu/classpath/tools/orbd/PersistentMap.java, - tools/gnu/classpath/tools/rmic/AbstractMethodGenerator.java, - tools/gnu/classpath/tools/rmic/CompilationError.java, - tools/gnu/classpath/tools/rmic/Generator.java, - tools/gnu/classpath/tools/rmic/GiopIo.java, - tools/gnu/classpath/tools/rmic/HashFinder.java, - tools/gnu/classpath/tools/rmic/Main.java, - tools/gnu/classpath/tools/rmic/Messages.java, - tools/gnu/classpath/tools/rmic/MethodGenerator.java, - tools/gnu/classpath/tools/rmic/RMICException.java, - tools/gnu/classpath/tools/rmic/RmiMethodGenerator.java, - tools/gnu/classpath/tools/rmic/RmicBackend.java, - tools/gnu/classpath/tools/rmic/SourceGiopRmicCompiler.java, - tools/gnu/classpath/tools/rmic/SourceRmicCompiler.java, - tools/gnu/classpath/tools/rmic/Variables.java, - tools/gnu/classpath/tools/rmic/WrapUnWrapper.java, - tools/gnu/classpath/tools/rmic/templates, - tools/gnu/classpath/tools/rmid/ActivationSystemImpl.java, - tools/gnu/classpath/tools/rmid/ActivationSystemImpl_Stub.java, - tools/gnu/classpath/tools/rmid/Main.java, - tools/gnu/classpath/tools/rmid/Messages.java, - tools/gnu/classpath/tools/rmid/PersistentBidiHashTable.java, - tools/gnu/classpath/tools/rmiregistry/Main.java, - tools/gnu/classpath/tools/rmiregistry/Messages.java, - tools/gnu/classpath/tools/rmiregistry/PersistentHashTable.java, - tools/gnu/classpath/tools/rmiregistry/RegistryImpl.java, - tools/gnu/classpath/tools/rmiregistry/RegistryImpl_Skel.java, - tools/gnu/classpath/tools/rmiregistry/RegistryImpl_Stub.java, - tools/gnu/classpath/tools/tnameserv/Main.java, - tools/gnu/classpath/tools/tnameserv/Messages.java: New files. - * tools/gnu/classpath/tools/rmic/ClassRmicCompiler.java: Import - RMIC.java from cp-tools. - * configure.ac (AC_CONFIG_FILES): Add tools/grmiregistry, - tools/gtnameserv, tools/gorbd, tools/grmid and tools/grmic. - (AC_CONFIG_COMMANDS): Add grmiregistry, gtnameserv, gorbd, grmid - and grmic. - * examples/Makefile.am (GLIBJ_CLASSPATH): Add tools.zip. - * gnu/CORBA/NamingService/NamingServiceTransient.java (main): - Rename... - (start): New method. - * tools/Makefile.am: Add build support for new tool wrappers. - * tools/gorbd.in: New file. - * tools/grmic.in: Likewise. - * tools/grmid.in: Likewise. - * tools/grmiregistry.in: Likewise. - * tools/gtnameserv.in: Likewise. - * tools/gnu/classpath/tools/AbstractMethodGenerator.java: Move to... - * tools/gnu/classpath/tools/rmic/AbstractMethodGenerator.java: New - file. - * tools/gnu/classpath/tools/HelpPrinter.java: Remove file. - * tools/gnu/classpath/tools/rmi/Persistent.java: Move to... - * tools/gnu/classpath/tools/common/Persistent.java: New file. - -2006-09-22 Ito Kazumitsu - - Fixes bug #29047 - * gnu/java/util/regex/RETokenRepeated.java - (findMatch): Rewriten without using recursive calls, - (FindMatchControlStack): New class, - (FindMatchControl): New class, - (TryAnotherResult): New class, - (tryAnother): New method. - -2006-09-22 Gary Benson - - * java/net/SocketPermission.java - (processHostport): Cope with IPv6 addresses with a - one-digit first component. - -2006-09-22 Roman Kennke - - * java/awt/Component.java - (enableEvents): Set newEventsOnly flag. - * java/awt/Container.java - (dispatchEventImpl): Consume event if lightweight dispatcher - dispatched the event. Don't call processEvent() here, this - is already done in Component.dispatchEventImpl(). For - heavyweights or when the lightweight dispatcher could - not dispatch, fall back to calling super. - (dispatchNoLightweight): New helper method to avoid - recursivly calling the lightweight dispatcher. - * java/awt/LightweightDispatcher.java - (dragButton): Removed field. - (dragTarget): Removed field. - (mouseEventTarget): New field. - (convertPointToChild): Removed method. - (dispatchEvent): Don't depend on component beeing - a window. - (findTarget): Improved algorithm for finding a target. - Before we went down to the deepest component and went - up again to find a suitable target. Now we go - down only once, without going up. - (handleMouseEvent): Broke method down into some smaller - helper methods. - (isDragging): New helper method. - (isMouseListening): New helper method. - (redispatch): New helper method. - (trackEnterExit): New helper method. - -2006-09-22 David Gilbert - - * javax/swing/SizeSequence.java - (getSize): Return 0 if index is out of bounds. - -2006-09-21 Tom Tromey - - * tools/gnu/classpath/tools/javah/PathOptionGroup.java - (PathOptionGroup): Make -I a joined option. - * tools/gnu/classpath/tools/keytool/CACertCmd.java: Updated. - * tools/gnu/classpath/tools/keytool/CertReqCmd.java: Updated. - * tools/gnu/classpath/tools/keytool/DeleteCmd.java: Updated. - * tools/gnu/classpath/tools/keytool/ExportCmd.java: Updated. - * tools/gnu/classpath/tools/keytool/GenKeyCmd.java: Updated. - * tools/gnu/classpath/tools/keytool/IdentityDBCmd.java: Updated. - * tools/gnu/classpath/tools/keytool/ImportCmd.java: Updated. - * tools/gnu/classpath/tools/keytool/KeyCloneCmd.java: Updated. - * tools/gnu/classpath/tools/keytool/KeyPasswdCmd.java: Updated. - * tools/gnu/classpath/tools/keytool/ListCmd.java: Updated. - * tools/gnu/classpath/tools/keytool/MainCmd.java: Updated. - * tools/gnu/classpath/tools/keytool/PrintCertCmd.java: Updated. - * tools/gnu/classpath/tools/keytool/SelfCertCmd.java: Updated. - * tools/gnu/classpath/tools/keytool/StorePasswdCmd.java: Updated. - * tools/gnu/classpath/tools/appletviewer/Main.java: Updated. - * tools/gnu/classpath/tools/jar/Main.java: Updated. - * tools/gnu/classpath/tools/jarsigner/Main.java: Updated. - * tools/gnu/classpath/tools/javah/Main.java: Updated. - * tools/gnu/classpath/tools/native2ascii/Main.java: Updated. - * tools/gnu/classpath/tools/serialver/SerialVer.java: Updated. - * resource/gnu/classpath/tools/getopt/Messages.properties: Removed - unused entries. - * resource/gnu/classpath/tools/common/Messages.properties: New file. - * tools/gnu/classpath/tools/common/Messages.java: New file. - * tools/gnu/classpath/tools/getopt/Messages.java: Now package-private. - * tools/gnu/classpath/tools/common/ClasspathToolParser.java: Moved - from getopt. - (ClasspathToolParser): Add -J option here. - (ClasspathToolParser): Call other constructor in this class. - * tools/gnu/classpath/tools/getopt/Parser.java (handleLongOption): - Handle joined options. - (handleShortOptions): Likewise. - (handleShortOption): Removed. - (finalGroup): New field. - (Parser): Initialize new field. Don't add -J option. - (addFinal): New method. - * tools/gnu/classpath/tools/getopt/OptionGroup.java (printHelp): Use - isJoined. - * tools/gnu/classpath/tools/getopt/Option.java (isJoined): New method. - (Option): Check short option for validity. - (Option): New constructors. - (joined): New field. - -2006-09-21 csm - - * gnu/java/net/PlainDatagramSocketImpl.java (send): ignore - `InterruptedIOException;' try again if it gets thrown. - (receive): likewise, but re-throw `SocketTimeoutException.' - * gnu/java/nio/EpollSelectorImpl.java (doSelect): just return 0 - if we have nothing to select. - -2006-09-21 Francis Kung - - * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java: - (getLogicalBounds): Respect glyph transformations. - (getGlyphOutline): Added null pointer check. - (getGlyphTransform): Do not generate identity transform (API permits null). - (setGlyphPosition): Do not invalidate transform. - (setGlyphTransform): Do not modify glyph position. - -2006-09-21 Francis Kung - - * java/awt/image/ColorModel.java (coerceData): Set alpha premultiplied flag. - -2006-09-21 Francis Kung - - * java/awt/image/ColorModel.java (coerceData): Return proper colour model. - * java/awt/image/ComponentColorModel.java (coerceData): Likewise. - * java/awt/image/DirectColorModel.java (coerceData): Likewise. - -2006-09-21 Tania Bento - - * javax/swing/JTabbedPane.java: - (insertTab): Notify ChangeListeners if the tab inserted is selected. - (setModel): A ChangeListener should be created only if there does not - currently exist one. - -2006-09-21 David Gilbert - - * javax/swing/plaf/basic/BasicInternalFrameTitlePane.java - (MaximizeAction.actionPerformed): Change icon on maxButton. - -2006-09-21 Roman Kennke - - * javax/swing/plaf/basic/BasicScrollPaneUI.java - (syncScrollPaneWithViewport): Fixed typo (hsb vs. vsb). - Use more efficient getViewPosition() and getViewSize() methods - to avoid creating a rectangle. - (HSBChangeListener.stateChanged): Update the view position - unconditionally. Let the Viewport figure out if something - changed. - (VSBChangeListener.stateChanged): Update the view position - unconditionally. Let the Viewport figure out if something - changed. - * javax/swing/JViewport.java - (ViewListener.componentResized): Fire state change, because - the extentSize changes. - (extentSize): Removed unneeded field. - (viewSize): Removed unneeded field. - (getExtentSize): Return the viewport's size here. - (getViewRect): Reformatted. - (getViewSize): Reordered for only one return statement. - (paintImmediately2): Fixed up javadoc. - (paint): Removed unneeded statement. - (setExtentSize): Set viewport size and check for actual change - of value. - (setViewPosition): Simplified condition. Set scrollUnderway - true and don't set isViewSizeSet. Avoid creating one Point - object. - (setViewSize): Fixed != comparison with equals(). Set scrollUnderway - to false. - * javax/swing/JScrollBar.java - (ScrollBarListener): New class. Forwards change events from - the model as adjustment events. - (sbChangeListener): New field. - (JScrollBar): Install listener on new model. - (fireAdjustmentValueChanged(int,int,int)): Delegate to new helper - method. - (fireAdjustmentValueChanged(int,int,int,boolean)): New helper - method to allow custom isAdjusting value. - (setMaximum): Only forward to model. - (setMinimum): Only forward to model. - (setValue): Only forward to model. - (setVisibleAmount): Only forward to model. - (setValues): Only forward to model. - (setModel): Update the change listener. - -2006-09-20 Christian Thalinger - - * java/util/Formatter.java (basicIntegralConversion): Removed - check for ZERO && !LEFT_JUSTIFY. - -2006-09-20 Roman Kennke - - PR 29036 - * javax/swing/plaf/metal/DefaultMetalTheme.java - (PLAIN_CONTROL_TEXT_FONT): New constant field. - (BOLD_CONTROL_TEXT_FONT): New constant field. - (PLAIN_MENU_TEXT_FONT): New constant field. - (BOLD_MENU_TEXT_FONT): New constant field. - (controlTextFont): Removed. - (menuTextFont): Removed. - (CONTROL_TEXT_FONT): New constant field. - (MENU_TEXT_FONT): New constant field. - (getControlTextFont): Use getFont() helper method for fetching - the correct font. - (getMenuTextFont): Use getFont() helper method for fetching - the correct font. - (getFont): New helper method. - (isBoldMetal): New helper method. - -2006-09-20 Casey Marshall - - * NEWS: mention epoll selector along with the kqueue one. - -2006-09-20 Casey Marshall - - * native/jni/java-nio/gnu_java_nio_EpollSelectorImpl.c - (Java_gnu_java_nio_EpollSelectorImpl_epoll_1delete): ignore ENOENT. - -2006-09-20 Francis Kung - - PR 29011 - * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java: - (getGlyphTransform): Use translation instead of scale. - (performDefaultLayout): Increment position values instead of resetting, and - pre-increment instead of post-increment. - (setGlyphTransform): Handle null case with identity transform. - -2006-09-20 Casey Marshall - - * configure.ac (AC_CHECK_HEADERS): check for `sys/epoll.h.' - (AC_CHECK_FUNCS): check for `epoll_create.' - * gnu/java/nio/EpollSelectionKeyImpl.java: new file. - * gnu/java/nio/EpollSelectorImpl.java: new file. - * gnu/java/nio/SelectorProviderImpl.java (epoll_failed): new class - field. - (openSelector): return epoll selector if requested and available. - * include/Makefile.am (H_FILES): add gnu_java_nio_EpollSelectorImpl.h. - (gnu_java_nio_EpollSelectorImpl.h): new target. - * include/gnu_java_nio_EpollSelectorImpl.h: new file. - * native/jni/java-nio/Makefile.am (libjavanio_la_SOURCES): add - gnu_java_nio_EpollSelectorImpl.c. - * native/jni/java-nio/gnu_java_nio_EpollSelectorImpl.c: new file. - -2006-09-20 Casey Marshall - - * gnu/java/nio/SocketChannelImpl.java (finishConnect): don't - call `isConnected.' - (isConnected): return false if `connectionPending' is true. - -2006-09-20 Francis Kung - - PR 29011 - * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java: - (constructor): Expanded glyphPositions array to accomodate Y-coordinates. - (getGlyphOutline): Call getGylphTransform to generate transform. - (getGylphPosition): Read position directly out of array. - (getGlyphPositions): Read positions directly out of array. - (getGlyphTransform): Generate transform based on gylphPositions array. - (performDefaultLayout): Populate glyphPositions array instead of transforms. - (setGlyphPosition): Set position directly into array. - (setGlyphTransform): Update positions array as well. - -2006-09-20 David Daney - - PR classpath/28661 - * gnu/java/net/protocol/http/HTTPURLConnection.java (connect): Add - default content-type for POST method. - -2006-09-20 David Gilbert - - * javax/swing/plaf/basic/BasicRadioButtonUI.java - (BasicRadioButtonUI): Don't fetch icon here, - (installDefaults): Initialise icon here, - (getDefaultIcon): Just return icon. - -2006-09-20 Mark Wielaard - - * native/jni/java-nio/Makefile.am (libjavanio_la_SOURCES): - Add gnu_java_nio_channels_FileChannelImpl.c and javanio.h. - (EXTRA_DIST): Include javanio.c. - -2006-09-20 David Gilbert - - * java/awt/geom/RoundRectangle2D.java: - (getPathIterator): Reimplemented, - and updated various API doc comments. - -2006-09-20 Roman Kennke - - * java/awt/Container.java - (addImpl): Set the new component's parent after it has been - added to the array. Call addNotify() and invalidate() - after the component has been added, so that the peer - gets to know about the component structure when it is created. - * java/awt/Window.java - (dispatchEventImpl): Only revalidate when window is resized, - let the other stuff be processed by the superclass. - (dispose): Post WINDOW_CLOSED event only when some listener - is registered or event is explicitly enabled. - (show): Post WINDOW_OPENED event when appropriate. - -2006-09-20 Roman Kennke - - * java/awt/Component.java - (addNotify): Invalidate here. Fetch peer font. - (getFont): Delegate to helper method, to protect from - overriding client code. Lock the tree while fetching the font. - (getFontImpl): New helper method. Moved code from getFont() in - here. - (removeNotify): Nullify peerFont too. - (setFont): Synchronize on tree and component to avoid threading - issues. Update the peerFont correctly. - (validate): Update the peer font if necessary, before validating. - (getGraphics): Revert to recursive graphics fetching. - Set component font on the Graphics object. - (translateEvent): Removed unnecessary cast. - * java/awt/Container.java - (invalidateTree): Made final and private. Made implementation - slightly more efficient. - (setFont): Get old and new font via getFont() to account for - the real font, and only invalidate the tree when they are not - the same and not equal. - (visitChild): Set the font of the child on the component graphics. - * java/awt/Frame.java - (setMenuBar): Create local reference of peer for thread safety. - Only call simple invalidate, not invalidateTree(). - -2006-09-19 Cameron McCormack - - PR 29012 - * gnu/java/awt/peer/gtk/BufferedImageGraphics.java: - (constructor): Copy image field. - -2006-09-19 David Gilbert - - * javax/swing/JMenuBar.java - (getHelpMenu): Implemented to throw an Error, and added API docs, - (getMargin): Added API docs, - (setMargin): Likewise. - -2006-09-19 David Gilbert - - * javax/swing/AbstractButton.java - (AbstractButton): Don't call updateUI(), - * javax/swing/JButton.java - (JButton(String, Icon)): Call setModel() before init(), - * javax/swing/JMenuItem.java - (JMenuItem()): Delegate to another constructor, - (JMenuItem(Icon)): Likewise, - (JMenuItem(Action)): Set model, - (JMenuItem(String, Icon)): Likewise, - * javax/swing/JToggleButton.java - (init): Call setModel() before init(). - -2006-09-19 Mark Wielaard - - Fixes bug #29137 - * java/util/logging/LogManager.java (addLogger): Always check for - existing children of a new Logger. - -2006-09-19 Roman Kennke - - * javax/swing/plaf/basic/BasicScrollPaneUI.java - (HSBChangeListener.stateChanged): Moved handling of header to - syncScrollPaneWithViewport(). - (VSBChangeListener.stateChanged): Moved handling of header to - syncScrollPaneWithViewport(). - (ViewportChangedHandler.stateChanged): Removed unused statements. - (syncScrollPaneWithViewport): Added null checks. Use setValues - rather then the single setter methods to avoid multiple - adjustments and side effects. Also snyc the headers here. - (updateScrollBarDisplayPolicy): Revalidate and repaint here. - (uninstallUI): Removed unnecessary cast and this qualifier as well - as the call to super. - -2006-09-19 Gary Benson - - * java/net/ResolverCache.java: New class (a DNS cache). - * java/net/InetAddress.java - (internalGetCanonicalHostName, getAllByName): Use the above. - -2006-09-19 Jeroen Frijters - - * gnu/java/nio/SocketChannelImpl.java: Removed unused import. - * java/net/ServerSocket.java - (port): New field. - (bind): Set port field. - (close): Set impl to null. - (isClosed): Check impl and channel instead of using VMChannel. - (toString): Use port field and getLocalPort() method. - * java/net/Socket.java - (isClosed): Check impl and channel instead of using VMChannel. - -2006-09-18 Tom Tromey - - * java/util/concurrent/CopyOnWriteArrayList.java - (CopyOnWriteArrayList): New constructor. - -2006-09-18 Casey Marshall - - * native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c - (Java_gnu_java_net_VMPlainSocketImpl_listen): remove debug printf. - -2006-09-18 Tom Tromey - - * gnu/javax/net/ssl/provider/SSLSocket.java (isBound, isClosed, - isConnected): Removed old comment. - (getRemoteSocketAddress): Uncommented. - (setOOBInline, getOOBInline, setKeepAlive, getKeepAlive, - setTrafficClass, getTrafficClass, setReuseAddress, - getReuseAddress, shutdownInput, shutdownOutput, isInputShutdown, - isOutputShutdown): Uncommented. - -2006-09-18 David Pirkle - - Fixes PR 28589 - * gnu/xml/transform/XSLURIResolver.java: Test SAXSource for specific - input stream during resolution. - -2006-09-18 Roman Kennke - - * java/awt/LightweightDispatcher.java - (findTarget): Correctly translate child coordinates. - Use Component.eventTypeEnabled() for checking if a component - has a certain event enabled. - (handleMouseEvent): Find the correct mouse event target. - Use Component.eventTypeEnabled() for checking if a component - has a certain event enabled. - -2006-09-18 Roman Kennke - - * java/awt/Component.java - (show): Test for the peer beeing lightweight directly. - (paintAll): Validate before painting. Don't paint when not - showing. Call peer.paint() when the component is heavyweight. - (repaint): Delegate to the parent when lightweight, rather - than skipping to the nearest heavyweight. - (createImage): Added null check to prevent NPE. - (dispatchEvent): Moved old event dispatching and toolkit - event dispatching to dispatchEventImpl. - (addComponentListener): Don't enable event. Only add listener - when not null. Switch to new event dispatching only. - (addFocusListener): Likewise. - (addHierarchyListener): Likewise. - (addHierarchyBoundsListener): Likewise. - (addKeyListener): Likewise. - (addMouseListener): Likewise. - (addMouseMotionListener): Likewise. - (addMouseWheelListener): Likewise. - (addInputMethodListener): Likewise. - (coalesceEvents): For mouse events coalesce them only when - their modifiers are equal. For paint events coalesce the events - when one contains the other, without going through complicated - heuristics. - (dispatchEventImpl): Moved old event dispatching and toolkit - event dispatching to dispatchEventImpl. - (coalescePaintEvents): Removed. - (HeavyweightInLightweightListener.componentHidden): - Fixed condition. - * java/awt/Container.java - (addImpl): Don't enable events on lightweights. - (remove): Reordered operations. Don't remove any listeners. - Throw ArrayIndexOutOfBoundsException when index >= ncomponents. - Only removeNotify() when peer is != null. Only invalidate if - not already invalid. Only fire ContainerEvent if there is - an interested listener or the event is enabled. Dispatch this - event directly without the event queue. - (removeAll): Likewise. - (paintComponents): Only paint when showing. Also paint heavyweights. - Don't paint the container itself. - (removeNotify): Create local variables for improved thread safety. - (addNotifyContainerChildren): Don't enable events for lightweights. - -2006-09-18 Roman Kennke - - * java/awt/EventQueue.java - (INITIAL_QUEUE_DEPTH): Removed obsolete field. - (next_in): Removed obsolete field. - (next_out): Removed obsolete field. - (queueHead): New field. Markes the head of the queue. - (queueTail): New field. Markes the tail of the queue. - (queue): Removed obsolete field. - (EventQueue): Documented empty block. - (getNextEvent): Changed array based implementation to single-linked - list based implementation. - (invokeAndWait): Use an Object as synchronization object rather - than the current thread. - (peekEvent(int)): Changed array based implementation to single-linked - list based implementation. - (peekEvent()): Changed array based implementation to single-linked - list based implementation. - (pop()): Changed array based implementation to single-linked - list based implementation. - (postEvent): Foward to postEventImpl. - (postEventImpl): Changed array based implementation to single-linked - list based implementation. - (push): Changed array based implementation to single-linked - list based implementation. - * java/awt/AWTEvent.java - (queueNext): New field. Implements a single-linked list for - the EventQueue. - -2006-09-17 Mark Wielaard - - * javax/swing/text/html/HTMLEditorKit (getStyleSheet): Load - resource from HTMLEditorKit.class. - -2006-09-17 Mark Wielaard - - * javax/swing/plaf/basic/BasicToolBarUI.java - (setBorderToNonRollover): Check whether border is null. - (setBorderToRollover): Likewise. - -2006-09-17 Mark Wielaard - - * javax/swing/JTree.java (setLeadSelectionPath): Handle null path. - -2006-09-17 Mark Wielaard - - * native/jni/java-nio/javanio.c (cpnio_fcntl): Last argument is long. - * native/jni/java-nio/javanio.h (cpnio_fcntl): Likewise. - * native/jni/java-nio/gnu_java_nio_VMChannel.c - (Java_gnu_java_nio_VMChannel_lock): Likewise. - (Java_gnu_java_nio_VMChannel_unlock): Likewise. - -2006-09-17 Casey Marshall - - * native/jni/classpath/jcl.c (JNI_OnLoad): mark `reserved' as - unused. - -2006-09-17 Chris Burdess - - Fixes PR 27610 27687. - * gnu/xml/dom/ls/SAXEventSink.java: Permit limited subclassing. - * gnu/xml/transform/SAXTemplatesHandler.java, - * gnu/xml/transform/SAXTransformerHandler.java: New files. - * gnu/xml/transform/TransformerFactoryImpl.java: Implement - SAXTransformerFactory. - -2006-09-16 Casey Marshall - - * NEWS: updated. - * configure.ac (AC_CHECK_HEADERS): check for `sys/event.h'. - (AC_CHECK_FUNCS): add checks for readv, writev, getifaddrs, - kqueue, and kevent. - (HAVE_INET6): define if IPv6 is supported. - * gnu/java/net/PlainDatagramSocketImpl.java (channel): new field. - (native_fd): removed. - (impl): new field. - (): throw IOException; initialize fields. - (finalize): removed. - (getNativeFD): removed. - (bind): use `PlainSocketImpl.bind.' - (create): use `PlainSocketImpl.initSocket.' - (disconnect): use `PlainSocketImpl.disconnect.' - (getLocalPort): new method. - (send): use `VMChannel.send.' - (receive): use `VMChannel.receive.' - (setOption): use `PlainSocketImpl.setOption.' - (getOption): use `PlainSocketImpl.getOption.' - (close): use `VMChannel.State.close.' - (join): use `PlainSocketImpl.join.' - (leave): use `PlainSocketImpl.leave.' - (joinGroup, leaveGroup): implemented. - * gnu/java/net/PlainSocketImpl.java: make non-final. - (native_fd): removed. - (impl): new field. - (channel): new field. - (): initialize `impl.' - (finalize, getNativeFD): removed. - (setOption): use `PlainSocketImpl.setOption.' - (getOption): use `PlainSocketImpl.getOption.' - (shutdownInput): use `PlainSocketImpl.shutdownInput.' - (shutdownOutput): use `PlainSocketImpl.shutdownOutput.' - (create): create `channel,' initialize `impl's native state. - (connect): use `connect(SocketAddress, int).' - (connect): use `SocketChannelImpl.connect;' initialize `address' - and `port.' - (bind): use `VMPlainSocketImpl.bind.' - (listen): use `VMPlainSocketImpl.listen.' - (accept): use `SocketChannelImpl.accept.' - (available): use `VMChannel.available.' - (close): use `PlainSocketImpl.close.' - (sendUrgentData): use `PlainSocketImpl.sendUrgentData.' - (getVMChannel, getInetAddress, getLocalPort, getLocalAddress, - getPort): new methods. - (SocketInputStream.read): use `VMChannel.read.' - (SocketInputStream.read): use `SocketChannel.read.' - (SocketOutputStream.write): use `VMChannel.write.' - (SocketOutputStream.write): use `SocketChannel.write.' - * gnu/java/nio/DatagramChannelImpl.java: implement VMChannel. - (channel): new field. - (): initialize `channel.' - (implCloseSelectableChannel): use `VMChannel.close.' - (implConfigureBlocking): use `VMChannel.setBlocking.' - (connect): use `VMChannel.connect.' - (disconnect): use `VMChannel.disconnect.' - (isConnected): use `VMChannel.getPeerAddress.' - (write): use `VMChannel.write.' - (write): use `VMChannel.writeGathering.' - (read): use `VMChannel.read.' - (read): use `VMChannel.readScattering.' - (receive): use `VMChannel.receive.' - (send): use `VMChannel.send.' - (getVMChannel): new method. - * gnu/java/nio/DatagramChannelSelectionKey.java (getNativeFD): - access native FD through VMChannel.State. - * gnu/java/nio/FileChannelImpl.java: moved from - gnu/java/nio/channels/FileChannelImpl.java. - * gnu/java/nio/FileLockImpl.java: fix imports. - * gnu/java/nio/KqueueSelectionKeyImpl.java: new file. - * gnu/java/nio/KqueueSelectorImpl.java: new file. - * gnu/java/nio/NIOSocket.java (impl): removed. - (channel): new field. - (): init superclass with a `NIOSocketImpl;' init `channel.' - (getPlainSocketImpl, setChannel): removed. - (isConnected): new method. - * gnu/java/nio/NIOSocketImpl.java: new file. - * gnu/java/nio/PipeImpl.java (SourceChannelImpl): implement - `VMChannelOwner.' - (SourceChannelImpl.native_fd): removed. - (SourceChannelImpl.): init with a `VMChannel.' - (SourceChannelImpl.getNativeFD): removed. - (SourceChannelImpl.getVMChannel): new method. - (SourceChannelImpl.implCloseSelectableChannel): implement. - (SinkChannelImpl): implement `VMChannelOwner.' - (SinkChannelImpl.native_fd): removed. - (SinkChannelImpl.): init with a `VMChannel.' - (SinkChannelImpl.implCloseSelectableChannel): implement. - (SinkChannelImpl.getNativeFD): removed. - (SinkChannelImpl.getVMChannel): new method. - * gnu/java/nio/SelectionKeyImpl.java (getNativeFD): mark - deprecated. - * gnu/java/nio/SelectorProviderImpl.java (SELECTOR_IMPL_KQUEUE, - SELECTOR_IMPL_EPOLL, SELECTOR_IMPL): new constants. - (openSelector): return kqueue selector if available. - * gnu/java/nio/ServerSocketChannelImpl.java: implement - `VMChannelOwner.' - (channel): new field. - (): init `channel.' - (finalizer): check if the `VMChannel.State' is valid. - (implCloseSelectableChannel): use `VMChannel.close.' - (implConfigureBlocking): use `VMChannel.setBlocking.' - (accept): use `VMChannel.accept.' - (getVMChannel): new method. - * gnu/java/nio/ServerSocketChannelSelectionKey.java (getNativeFD): - access native FD through `VMChannel.State.' - * gnu/java/nio/SocketChannelImpl.java: implement `VMChannelOwner.' - (impl): removed. - (channel, connected, connectAddress): new field. - (): new constructors. - (getPlainSocketImpl): removed. - (implCloseSelectableChannel): use `VMChannel.close.' - (implConfigureBlocking): use `VMChannel.setBlocking.' - (connect): use `connect(SocketAddress,int).' - (connect): use `VMChannel.connect.' - (finishConnect): don't use a selector. - (isConnected): use `VMChannel.getPeerAddress.' - (read): use `VMChannel.read.' - (read): use `VMChannel.readScattering.' - (write): use `VMChannel.write.' - (write): use `VMChannel.writeGathering.' - (getVMChannel): new method. - * gnu/java/nio/SocketChannelSelectionKey.java (getNativeFD): get - native FD from `VMChannel.State.' - * gnu/java/nio/SocketChannelSelectionKeyImpl.java (getNativeFD): - get native FD from `VMChannel.State.' - * gnu/java/nio/VMChannelOwner.java: new file. - * gnu/java/nio/channels/FileChannelImpl.java: removed. - * include/Makefile.am: generate `gnu_java_nio_FileChannelImpl.h' - and `gnu_java_nio_KqueueSelectorImpl.h;' don't generate - `gnu_java_nio_channels_FileChannelImpl.h.' - * include/gnu_java_net_VMPlainSocketImpl.h: regenerated. - * include/gnu_java_nio_FileChannelImpl.h: new file. - * include/gnu_java_nio_KqueueSelectorImpl.h: new file. - * include/gnu_java_nio_VMChannel.h: regenerated. - * include/gnu_java_nio_VMPipe.h: regenerated. - * include/java_net_VMNetworkInterface.h: regenerated. - * java/io/FileDescriptor.java: fix imports. - * java/io/FileInputStream.java (): handle exceptions. - (read): wrap the destination arary. - * java/io/FileOutputStream.java (): handle exceptions. - (write): wrap the source array. - * java/io/RandomAccessFile.java (): handle exceptions. - * java/net/DatagramSocket.java (): handle exceptions. - (receive): handle length/port setting. - (connect): bind to any address/port if the argument is null. - * java/net/NetworkInterface.java (name, inetAddress): removed. - (netif): new field. - (): make private. - (getName): return `netif.name.' - (getInetAddresses): access `netif.addresses.' - (getDisplayName): return `netif.name.' - (getByName, getByAddress): handle changes to `VMNetworkInterface.' - (condense): removed. - (getNetworkInterfaces): handle changes to `VMNetworkInterface.' - (equals): compare `netif' fields. - (hashCode): get hash codes from `netif.' - (toString): use a StringBuffer. - * java/net/ServerSocket.java (close): don't set `impl' to null. - (isClosed): use `VMChannel.State.isClosed.' - * java/net/Socket.java (getLocalAddress): don't use `getOption' if - the `SocketImpl' is a `PlainSocketImpl.' - (close): just close the `impl.' - (toString): use `super.toString' in the value we return. - (isConnected): just access `impl,' not `getImpl.' - (isBound): use `PlainSocketImpl' methods if we can. - (isClosed): look at `VMChannel.State.' - * native/jni/classpath/jcl.c (JNI_OnLoad): new function. - (JCL_NewRawDataObject): don't initialize cached fields here; throw - an exception if they were not. - (JCL_GetRawData): throw an exception if cached fields weren't - created. - * native/jni/java-lang/java_lang_VMProcess.c: handle - FileChannelImpl move. - * native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c - (IO_EXCEPTION, SOCKET_EXCEPTION, BIND_EXCEPTION, - THROW_NO_NETWORK): new macros. - (Java_gnu_java_net_VMPlainSocketImpl_bind): reipmlemented. - (Java_gnu_java_net_VMPlainSocketImpl_bind6): new function. - (Java_gnu_java_net_VMPlainSocketImpl_listen): reimplemented. - (java_sockopt): new enum. - (Java_gnu_java_net_VMPlainSocketImpl_setOption): reimplemented. - (Java_gnu_java_net_VMPlainSocketImpl_getOption): reimplemented. - (Java_gnu_java_net_VMPlainSocketImpl_shutdownInput): - reimplemented. - (Java_gnu_java_net_VMPlainSocketImpl_shutdownOutput): - reimplemented. - (Java_gnu_java_net_VMPlainSocketImpl_sendUrgentData): new - function. - (Java_gnu_java_net_VMPlainSocketImpl_join): new function. - (Java_gnu_java_net_VMPlainSocketImpl_join6): new function. - (Java_gnu_java_net_VMPlainSocketImpl_read): removed. - (Java_gnu_java_net_VMPlainSocketImpl_leave): new function. - (Java_gnu_java_net_VMPlainSocketImpl_leave6): new function. - (Java_gnu_java_net_VMPlainSocketImpl_joinGroup): new function. - (Java_gnu_java_net_VMPlainSocketImpl_write): removed. - (Java_gnu_java_net_VMPlainSocketImpl_joinGroup6): new function. - (Java_gnu_java_net_VMPlainSocketImpl_leaveGroup): new function. - (Java_gnu_java_net_VMPlainSocketImpl_leaveGroup6): new function. - (getif_address): new function. - (getif_index): new function. - * native/jni/java-net/java_net_VMNetworkInterface.c - (java_net_VMNetworkInterface_init, - java_net_VMNetworkInterface_addAddress): new file-scope globals. - (Java_java_net_VMNetworkInterface_initIds): new function. - (struct netif_entry): new struct. - (free_netif_list): new function. - (Java_java_net_VMNetworkInterface_getInterfaces): removed. - (Java_java_net_VMNetworkInterface_getVMInterfaces): new function. - * native/jni/java-nio/Makefile.am (libjavanio_la_SOURCES): remove - gnu_java_nio_channels_FileChannelImpl.c, add - gnu_java_nio_KqueueSelectorImpl.c. - * native/jni/java-nio/gnu_java_nio_KqueueSelectorImpl.c: new file. - * native/jni/java-nio/gnu_java_nio_VMChannel.c - (INTERRUPTED_IO_EXCEPTION, SOCKET_TIMEOUT_EXCEPTION, ALIGN_UP, - ALIGN_DOWN): new macros. - (JCL_init_buffer): get the address through GetDirectBufferAddress - if possible. - (Java_gnu_java_nio_VMChannel_stdin_1fd, - Java_gnu_java_nio_VMChannel_stdout_1fd, - Java_gnu_java_nio_VMChannel_stderr_1fd): new functions. - (Java_gnu_java_nio_VMChannel_setBlocking): fix setting blocking - value. - (Java_gnu_java_nio_VMChannel_read): renamed... - (Java_gnu_java_nio_VMChannel_read__ILjava_nio_ByteBuffer_2): to - this; handle interrupted IO; add HAVE_READ check. - (Java_gnu_java_nio_VMChannel_write): renamed... - (Java_gnu_java_nio_VMChannel_write__ILjava_nio_ByteBuffer_2): to - this; handle zero-length write; add HAVE_WRITE check. - (Java_gnu_java_nio_VMChannel_receive): new function. - (Java_gnu_java_nio_VMChannel_send): new function. - (Java_gnu_java_nio_VMChannel_send6): new function. - (Java_gnu_java_nio_VMChannel_read__I): new function. - (Java_gnu_java_nio_VMChannel_write__II): new function. - (Java_gnu_java_nio_VMChannel_socket): new function. - (Java_gnu_java_nio_VMChannel_connect): new function. - (Java_gnu_java_nio_VMChannel_connect6): new function. - (Java_gnu_java_nio_VMChannel_getsockname): new function. - (Java_gnu_java_nio_VMChannel_getpeername): new function. - (Java_gnu_java_nio_VMChannel_accept): new function. - (Java_gnu_java_nio_VMChannel_disconnect): new function. - (Java_gnu_java_nio_VMChannel_close): new function. - (Java_gnu_java_nio_VMChannel_available): new function. - (FileChannel_mode): new enum. - (Java_gnu_java_nio_VMChannel_open): new function. - (Java_gnu_java_nio_VMChannel_position): new function. - (Java_gnu_java_nio_VMChannel_seek): new function. - (Java_gnu_java_nio_VMChannel_truncate): new funciton. - (Java_gnu_java_nio_VMChannel_lock): new function. - (Java_gnu_java_nio_VMChannel_unlock): new function. - (Java_gnu_java_nio_VMChannel_size): new function. - (Java_gnu_java_nio_VMChannel_map): new function. - (Java_gnu_java_nio_VMChannel_flush): new function. - * native/jni/java-nio/gnu_java_nio_VMPipe.c - (Java_gnu_java_nio_VMPipe_init): removed. - (Java_gnu_java_nio_VMPipe_pipe0): new function. - * native/jni/java-nio/javanio.c: new file. - * native/jni/java-nio/javanio.h: new file. - * native/jni/native-lib/cpnet.c (cpnet_getHostByName): fix for - systems without `gethostbyname_r.' - * vm/reference/gnu/java/net/VMPlainSocketImpl.java (nfd): new - field. - (, ): new constructors. - (setOption, getOption): make instance methods; defer to native - implementation. - (connect): removed. - (bind): make an instance method; defer to native methods. - (accept): removed. - (available): removed. - (listen): make an instance method; defer to native method. - (read): removed. - (join, leave): new methods. - (write): removed. - (joinGroup, leaveGroup): new methods. - (shutdownInput, shutdownOutput): make instance methods. - (sendUrgentData): removed. - (State): new class. - * vm/reference/gnu/java/nio/VMChannel.java: make final. - (fd): removed. - (nfd): new field. - (): new, public constructors. - (getVMChannel): methods removed. - (getState, getStdin, getStdout, getStderr, stdin_fd, stdout_fd, - stderr_fd): new methods. - (setBlocking): make an instance method. - (available): new method. - (read): get native fd from `nfd.' - (read): new single-byte read method. - (readScattering): get native fd from `nfd.' - (receive): new method. - (write, writeGathering): get native fd from `nfd.' - (send): new method. - (write): new single-byte write method. - (initSocket): new method. - (connect): new method. - (disconnect): new method. - (getLocalAddress): new method. - (getPeerAddress): new method. - (accept): new method. - (openFile): new method. - (position): new method. - (seek): new method. - (truncate): new method. - (lock): new method. - (unlock): new method. - (size): new method. - (map): new method. - (flush): new method. - (close): new method. - (State): new class. - (Kind): new class. - * vm/reference/gnu/java/nio/VMPipe.java (init): removed. - (pipe, pipe0): new method. - * vm/reference/java/net/VMNetworkInterface.java (name, addresses): - new fields. - (): call `initIds.' - (initIds): new method. - (getInterfaces): removed. - (getVMInterfaces): new method. - (addAddress): new method. - * vm/reference/java/nio/channels/VMChannels.java: fix imports. - -2006-09-16 Chris Burdess - - Fixes PR 28572. - * gnu/xml/transform/StreamSerializer.java: Don't escape XML entities - when in text output mode. - -2006-09-16 Chris Burdess - - Fixes PR 27293. - * gnu/xml/dom/DomNode.java: Increment length of node during insert. - -2006-09-14 Michael Koch - - * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h: Recreated. - -2006-09-15 Chistian Elias Naur - - * java/io/ObjectStreamClass.java (setClass(Class, ObjectStreamClass)): - Added !cl.isArray() to serialVersionUID mismatch check. - -2006-09-14 Francis Kung - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c - (gnu_java_awt_peer_gtk_CairoGraphics2D_setGradient): Updated constants to - be compatibe with Cairo 1.2.x. - -2006-09-14 Francis Kung - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java: Added interpolation constants. - (cairoSurfaceSetFilter): Removed method. - (drawImage): Pass interpolation type as argument to drawing methods. - (drawPixels): Added interpolation parameter. - (drawRaster): Pass interpolation type as argument to drawing method. - (getInterpolation): New method. - (setRenderingHint): Store hints, but do not set interpolation in cairo. - (setRenderingHints): Store hints, but do not set interpolation in cairo. - * gnu/java/awt/peer/gtk/CairoSurface.java - (drawSurface): Added interpolation parameter. - (nativeDrawSurface): Added interpolation parameter. - * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h - (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_drawPixels): Added interpolation - parameter. - (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoSurfaceSetFilter): Removed. - * native/jni/gtk-peer/cairographics2d.h - (java_awt_rendering_hints_filter): Added bicubic interpolation constant. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c - (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_drawPixels): Added interpolation - parameter. - (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoSurfaceSetFilter): Removed. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c - (Java_gnu_java_awt_peer_gtk_CairoSurface_nativeDrawSurface): Added - interpolation parameter. - -2006-09-14 Gary Benson - - * java/net/InetAddress.java - (internalGetCanonicalHostName): New method. - (getCanonicalHostName): Use internalGetCanonicalHostName. - (getByLiteral): New method. - (getAllByName): Use getByLiteral. - * java/net/SocketPermission.java - (host): Replaced with... - (hostname, address): New fields. - (equals, hashcode): Reflect the above. - (setHostPort): Parse host into hostname or address. - (implies): Rewrite host checks. - -2006-09-14 David Gilbert - - Fixes PR28699 - * java/awt/Menu.java - (insert(MenuItem, int)): Fixed loop range, - (insert(String, int)): Updated API docs. - -2006-09-14 Christian Thalinger - - Fixes PR22800 - * native/fdlibm/mprec.h (Storeinc): Define correctly for LE - architectures (like Arm). - * native/jni/java-lang/java_lang_VMDouble.c (doubleToLongBits): - Reverted SWAP_DOUBLE patch. - (doubleToRawLongBits): Likewise. - (longBitsToDouble): Likewise. - -2006-09-14 David Gilbert - - * java/awt/Menu.java: Reformatted source file. - -2006-09-14 Jeroen Frijters - - * gnu/java/rmi/server/ActivatableRef.java - (readExternal, writeExternal): Partial fix for serialization format. - -2006-09-14 Jeroen Frijters - - PR classpath/28984 - * java/io/InputStreamReader.java - (read(char[],int,int)): Fixed bug. - -2006-09-13 Francis Kung - - * java/awt/image/BandCombineOp.java: Updated documentation. - (filter(Raster, WritableRaster)): Use int arrays, and added simple cache. - -2006-09-13 Tom Tromey - - PR classpath/29034: - * java/io/PipedReader.java (read): Return early if len==0. - * java/io/PipedInputStream.java (read): Return early if len==0. - -2006-09-13 Francis Kung - - * java/awt/image/ConvolveOp.java (filter(Raster, WritableRaster)): - Removed hard-coded max sample value. - * java/awt/image/RescaleOp.java (filter(Raster, WritableRaster)): - Fixed finding of max sample value. - -2006-09-12 David Gilbert - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (setPaint): Check null argument ('p'). - -2006-09-12 Francis Kung - - PR 27940 - * gnu/java/awt/java2d/TexturePaintContext.java - (constructor): Fixed typo, getMinY instead of getMaxX. - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (setPaint): Implemented support for custom Paint classes. - (setPaintPixels): Renamed from setTexturePixels, added repeat parameter. - (setTexturePixels): Renamed to setPaintPixels, added repeat parameter. - * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h: Renamed setTexturePixels - to setPaintPixels, and added repeat parameter. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c: - Renamed setTexturePixels to setPaintPixels, and added repeat parameter. - -2006-09-12 Gary Benson - - * java/net/NetworkInterface.java (getInetAddresses): - Fix port used in security check. - -2006-09-12 David Gilbert - - * javax/swing/plaf/metal/DefaultMetalTheme.java - (CONTROL_TEXT_FONT): Renamed 'controlTextFont', - (MENU_TEXT_FONT): Renamed 'menuTextFont', - (getControlTextFont): Check 'swing.boldMetal' setting before - initialising font, - (getMenuTextFont): Likewise. - -2006-09-12 David Gilbert - - * javax/swing/plaf/metal/OceanTheme.java - (addCustomEntriesToTable): Added 'List.focusCellHighlightBorder' entry. - -2006-09-12 David Gilbert - - * javax/swing/plaf/metal/MetalIconFactory.java - (InternalFrameDefaultMenuIcon.paintIcon): Use theme colors. - -2006-09-12 David Gilbert - - * javax/swing/AbstractSpinnerModel.java: API doc updates. - -2006-09-12 David Gilbert - - * javax/swing/AbstractButton.java - (AbstractButton): Initialise textIconGap field. - -2006-09-11 Tom Tromey - - * tools/gnu/classpath/tools/javah/FieldHelper.java (print): Print - "volatile" when needed. - -2006-09-11 David Gilbert - - * java/text/AttributedCharacterIterator.java - (LANGUAGE): Initialise with lower case string, - (INPUT_METHOD_SEGMENT): Likewise, - (READING): Likewise, - * java/text/AttributedStringIterator.java - (getRunLimit): Check all attributes for changes. - -2006-09-11 David Gilbert - - * java/text/AttributedCharacterIterator.java: Added @since tag, - renamed some variables (no underscores) and removed some spaces to - match the common style, - * java/text/AttributedString.java: Likewise, - * java/text/AttributedStringIterator.java: Likewise. - -2006-09-11 Gary Benson - - * java/net/Inet4Address.java - (FAMILY): Renamed back to AF_INET. - (, writeReplace): Reflect the above. - * java/net/Inet6Address.java - (FAMILY): Renamed back to AF_INET6. - (): Reflect the above. - -2006-09-11 Cameron McCormack - - Fixes PR29010 - * java/text/AttributedString.java - (AttributedString(AttributedCharacterIterator, int, int, - AttributedCharacterIterator.Attribute[])): Fixed check for defined - attribute. - -2006-09-11 Gary Benson - - * java/net/Inet4Address.java - (AF_INET): Renamed to FAMILY. - (, writeReplace): Reflect the above. - * java/net/Inet6Address.java - (AF_INET6): Renamed to FAMILY. - (): Reflect the above. - -2006-09-10 Ito Kazumitsu - - Fixes bug #28867 - Originally in Kaffe: 2004-04-16 Helmer Kraemer - * java/net/ServerSocket.java(implAccept): Deleted socket.implCreated. - * java/net/Socket.java: Avoid creating a redundant file descriptor. - (implCreated): Deleted, (getImpl): Don't check impleCreated, - (bind): Call getImpl().create(true). - -2006-09-09 Chris Burdess - - * gnu/xml/xpath/Expr.java: Ensure that node-set evaluation returns - an instance of org.w3c.dom.NodeList. - -2006-09-08 Thomas Fitzsimmons - - * tools/gnu/classpath/tools/appletviewer/Main.java: Warn about - missing security manager when run in standalone mode. - -2006-09-08 Francis Kung - - * java/awt/image/AffineTransformOp.java: Updated documentation. - (createCompatibleDestRaster): Updated formatting. - (filter(BufferedImage, BufferedImage)): Updated formatting. - (filter(Raster, WritableRaster)): Delegated processing to native peers for - if colour model is compatible. - (filterBicubic): Get entire pixel at once, and use appropriate array type. - (filterBilinear): Get entire pixel at once, and use appropriate array type. - -2006-09-08 Gary Benson - - * java/net/InetAddress.java - (family): Updated javadoc and made private. - (): Add an address family argument. - (readObject): Don't overwrite family. - * java/net/Inet4Address.java - (AF_INET): New constant. - (): Use AF_INET as the family. - (writeReplace): Likewise. - * java/net/Inet6Address.java - (AF_INET6): New constant. - (): Use AF_INET6 as the family. - -2006-09-08 Gary Benson - - * java/net/InetAddress.java - (getHostName): Move lookup into getCanonicalHostName. - (getCanonicalHostName): Move lookup from getHostName, - Perform security check on canonical name (ie after lookup). - -2006-09-08 Gary Benson - - * java/net/Inet4Address.java (isMulticastAddress, - isLoopbackAddress, isAnyLocalAddress, isLinkLocalAddress, - isSiteLocalAddress, isMCGlobal, isMCNodeLocal, isMCLinkLocal, - isMCSiteLocal, isMCOrgLocal, getHostAddress): Moved - implementations from InetAddress. - * java/net/InetAddress.java (isMulticastAddress, - isLoopbackAddress, isAnyLocalAddress, isLinkLocalAddress, - isSiteLocalAddress, isMCGlobal, isMCNodeLocal, isMCLinkLocal, - isMCSiteLocal, isMCOrgLocal, getHostAddress): Replace - implementations with UnsupportedOperationExceptions. - -2006-09-08 Gary Benson - - * java/net/InetAddress.java - (inaddr_any): Removed. - (ANY_IF, LOCALHOST): Create using getByAddress. - (): Updated javadoc. - (getHostName): Cache hostname even if the lookup failed. - (getByAddress): Create Inet4Address objects when passed - IPv4-mapped IPv6 addresses. - (aton): Removed. - (getAllByName): Create address objects using getByAddress. - Do not perform security checks unless actually required. - Do not strip whitespace from the hostname. - (getInaddrAny): Removed. - (getLocalHost): Return the loopback address if getByName - throws a SecurityException. - (readResolve): Updated javadoc. - * vm/reference/java/net/VMInetAddress.java (aton): Declared. - * include/java_net_VMInetAddress.h - (Java_java_net_VMInetAddress_aton): Likewise. - * native/jni/java-net/java_net_VMInetAddress.c - (Java_java_net_VMInetAddress_aton): New method. - * native/jni/native-lib/cpnet.h (cpnet_aton): Declared. - * native/jni/native-lib/cpnet.c (cpnet_aton): New method. - * configure.ac (AC_CHECK_FUNCS): Checks for cpnet_aton. - * java/net/Inet4Address.java (writeReplace): Updated javadoc. - * NEWS: Added note about updated VM interface. - -2006-09-07 David Gilbert - - * javax/swing/plaf/basic/BasicInternalFrameUI.java - (setNorthPane): Assign component to titlePane. - -2006-09-07 Audrius Meskauskas - - * gnu/CORBA/NamingService/NameParser.java (corbaloc): - Remove unused variable alt_addr. - * gnu/CORBA/NamingService/NameTransformer.java (toName): - Remove unused variables. - -2006-09-07 David Gilbert - - * javax/swing/plaf/metal/MetalScrollBarUI.java - (installDefaults): Initialise scrollBarWidth from UI defaults here, - (createDecreaseButton): Don't fetch scrollBarWidth here, - (createIncreaseButton): Likewise. - -2006-09-07 David Gilbert - - * java/awt/image/MemoryImageSource.java: Added API docs. - -2006-09-06 David Gilbert - - * javax/swing/plaf/basic/BasicScrollBarUI.java - (installDefaults): Call configureScrollBarColors(). - -2006-09-06 Francis Kung - - * java/awt/image/RescaleOp.java: Updated documentation and formatting. - (constructor): Make copy of arrays. - (createCompatibleDestImage): Changed treatment of null ColorModel. - (filter(BufferedImage, BufferedImage)): Re-implemented. - (filter(Raster, WritableRaster, boolean[])): New method. - (filter(Raster, WritableRaster)): Re-implemented. - (getOffsets): Prevent ArrayIndexOutOfBoundsException. - (getPoint2D): Cleaned up formatting. - (getScaleFactors): Prevent ArrayIndexOutOfBoundsException. - -2006-09-06 David Gilbert - - * javax/swing/UIManager.java - (getBoolean(Object)): Reimplemented, - (getBoolean(Object, Locale)): Likewise, - (getBorder(Object)): Likewise, - (getBorder(Object, Locale)): Likewise, - (getColor(Object)): Likewise, - (getColor(Object, Locale)): Likewise, - (getDimension(Object)): Likewise, - (getDimension(Object, Locale)): Likewise, - (getFont(Object)): Likewise, - (getFont(Object, Locale)): Likewise, - (getIcon(Object)): Likewise, - (getIcon(Object, Locale)): Likewise, - (getInsets(Object)): Updated API docs, - (getInsets(Object, Locale)): Likewise, - (getInt(Object)): Reimplemented, - (getInt(Object, Locale)): Likewise, - (getString(Object)): Likewise, - (getString(Object, Locale)): Likewise. - -2006-09-06 David Gilbert - - * javax/swing/UIManager.java - (MultiplexUIDefaults.MultiplexUIDefaults()): Don't allow null fallback, - (getDefaults): Initialise MultiplexUIDefaults with empty fallback. - -2006-09-06 David Gilbert - - * javax/swing/plaf/metal/MetalLookAndFeel.java - (initComponentDefaults): Corrected various font defaults. - -2006-09-05 David Gilbert - - * java/awt/List.java: Added @since to various methods. - -2006-09-05 Andrew John Hughes - - * native/jni/native-lib/cpprocess.c: - (forkAndExec(char*,char*,int,int,pid_t,char*)): - Add redirection of stdout to stderr. - * native/jni/native-lib/cpprocess.h: - Added redirect argument. - * native/jni/java-lang/java_lang_VMProcess.c - (Java_java_lang_VMProcess_nativeSpawn): Readd redirect argument. - * vm/reference/java/lang/VMProcess.java: Likewise. - * include/java_lang_VMProcess.h: Regenerated. - -2006-09-05 Andreas Tobler - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkVolatileImage.c: Adjust - __attribute to __attribute__. - - * native/jni/java-nio/java_nio_MappedByteBufferImpl.c: Remove duplicate - header include. - -2006-09-05 David Gilbert - - * java/awt/List.java: Source code reformatted. - -2006-09-05 Audrius Meskauskas - - * gnu/CORBA/CollocatedOrbs.java, - gnu/CORBA/SafeForDirectCalls.java: New files. - * gnu/CORBA/NamingService/Binding_iterator_impl.java: - Implement gnu.CORBA.SafeForDirectCalls. - * gnu/CORBA/NamingService/Ext.java: Likewise. - * gnu/CORBA/NamingService/TransientContext.java: Likewise. - * gnu/CORBA/OrbFunctional.java (createIor):Cache the address - of the local host. (ior_to_object): Return the local object - where possible. (run): Register/unregister this ORB. - * gnu/CORBA/Poa/LocalRequest.java (v_invoke): Call gnuPOA.checkDiscarding. - * gnu/CORBA/Poa/gnuPOA.java (checkDiscarding): Made package private. - * gnu/CORBA/Poa/gnuServantObject.java (noRetain): New field. - (constructors): Initialize noRetain. (_invoke): Drop servant - if noRetain is true. (getHandler): Always seach for the new servant - if noRetain is true. - * gnu/CORBA/SimpleDelegate.java (create_request): Implemented. - * NEWS: Added note about the new feature. - -2006-09-05 David Gilbert - - * java/awt/Choice.java - (addItem): Fixed API doc glitch. - -2006-09-05 Francis Kung - - * java/awt/image/LookupOp.java: Updated documentation & formatting. - (createCompatibleDestImage): Re-implemented. - (filter(BufferedImage, BufferedImage)): Added check for src/dest image - compatibility, and use ColorConvertOp for color conversion if needed. - (filter(Raster, WritableRaster)): Made exceptions more descriptive. - -2006-09-05 Audrius Meskauskas - - gnu/CORBA/CDR/Vio.java, - org/omg/CORBA_2_3/ORB.java, - org/omg/CORBA_2_3/portable/InputStream.java, - org/omg/CORBA_2_3/portable/OutputStream.java, - org/omg/CosNaming/BindingIteratorHelper.java, - org/omg/CosNaming/BindingTypeHelper.java, - org/omg/CosNaming/NameComponentHelper.java, - org/omg/CosNaming/NameHelper.java, - org/omg/CosNaming/NamingContextExtHelper.java, - org/omg/CosNaming/NamingContextExtPackage/AddressHelper.java, - org/omg/CosNaming/NamingContextExtPackage/InvalidAddressHelper.java, - org/omg/CosNaming/NamingContextExtPackage/InvalidAddressHolder.java, - org/omg/CosNaming/NamingContextExtPackage/StringNameHelper.java, - org/omg/CosNaming/NamingContextExtPackage/URLStringHelper.java, - org/omg/CosNaming/NamingContextHelper.java, - org/omg/CosNaming/NamingContextPackage/AlreadyBoundHelper.java, - org/omg/CosNaming/NamingContextPackage/InvalidName.java, - org/omg/CosNaming/NamingContextPackage/InvalidNameHelper.java, - org/omg/CosNaming/NamingContextPackage/NotEmptyHelper.java, - org/omg/CosNaming/NamingContextPackage/NotFoundReasonHelper.java, - org/omg/CosNaming/NamingContextPackage/NotFoundReasonHolder.java, - org/omg/DynamicAny/AnySeqHelper.java, - org/omg/DynamicAny/DynAnyFactoryHelper.java, - org/omg/DynamicAny/DynAnyFactoryOperations.java, - org/omg/DynamicAny/DynAnyFactoryPackage/InconsistentTypeCodeHelper.java, - org/omg/DynamicAny/DynAnyHelper.java, - org/omg/DynamicAny/DynAnyOperations.java, - org/omg/DynamicAny/DynAnyPackage/InvalidValueHelper.java, - org/omg/DynamicAny/DynAnyPackage/TypeMismatchHelper.java, - org/omg/DynamicAny/DynAnySeqHelper.java, - org/omg/DynamicAny/DynArrayHelper.java, - org/omg/DynamicAny/DynEnumHelper.java, - org/omg/DynamicAny/DynFixedHelper.java, - org/omg/DynamicAny/DynSequenceHelper.java, - org/omg/DynamicAny/DynStructHelper.java, - org/omg/DynamicAny/DynStructOperations.java, - org/omg/DynamicAny/DynUnionHelper.java, - org/omg/DynamicAny/DynValueHelper.java, - org/omg/DynamicAny/NameDynAnyPairHelper.java, - org/omg/DynamicAny/NameDynAnyPairSeqHelper.java, - org/omg/IOP/CodecFactoryHelper.java, - org/omg/IOP/CodecFactoryPackage/UnknownEncodingHelper.java, - org/omg/IOP/CodecOperations.java, - org/omg/IOP/CodecPackage/FormatMismatchHelper.java, - org/omg/IOP/CodecPackage/InvalidTypeForEncodingHelper.java, - org/omg/IOP/CodecPackage/TypeMismatchHelper.java, - org/omg/IOP/ComponentIdHelper.java, - org/omg/IOP/ExceptionDetailMessage.java, - org/omg/IOP/MultipleComponentProfileHelper.java, - org/omg/IOP/ProfileIdHelper.java, - org/omg/IOP/ServiceContextListHelper.java, - org/omg/IOP/ServiceIdHelper.java, - org/omg/IOP/TAG_CODE_SETS.java, - org/omg/PortableInterceptor/ClientRequestInfoOperations.java, - org/omg/PortableInterceptor/ClientRequestInterceptorOperations.java, - org/omg/PortableInterceptor/CurrentHelper.java, - org/omg/PortableInterceptor/IORInfo.java, - org/omg/PortableInterceptor/IORInterceptor_3_0Helper.java, - org/omg/PortableInterceptor/ORBIdHelper.java, - org/omg/PortableInterceptor/ORBInitInfoOperations.java, - org/omg/PortableInterceptor/ORBInitInfoPackage/InvalidNameHelper.java, - org/omg/PortableInterceptor/ORBInitializerOperations.java, - org/omg/PortableInterceptor/ObjectReferenceFactoryHelper.java, - org/omg/PortableInterceptor/ObjectReferenceTemplateHelper.java, - org/omg/PortableInterceptor/RequestInfoOperations.java, - org/omg/PortableInterceptor/ServerIdHelper.java, - org/omg/PortableInterceptor/ServerRequestInfoOperations.java, - org/omg/PortableInterceptor/ServerRequestInterceptorOperations.java, - org/omg/PortableServer/AdapterActivatorOperations.java, - org/omg/PortableServer/CurrentHelper.java, - org/omg/PortableServer/CurrentPackage/NoContextHelper.java, - org/omg/PortableServer/ForwardRequestHelper.java, - org/omg/PortableServer/IdAssignmentPolicyValue.java, - org/omg/PortableServer/IdUniquenessPolicyValue.java, - org/omg/PortableServer/ImplicitActivationPolicyValue.java, - org/omg/PortableServer/LifespanPolicyValue.java, - org/omg/PortableServer/POA.java, - org/omg/PortableServer/POAHelper.java, - org/omg/PortableServer/POAManagerPackage/AdapterInactiveHelper.java, - org/omg/PortableServer/POAManagerPackage/State.java, - org/omg/PortableServer/POAOperations.java, - org/omg/PortableServer/POAPackage/AdapterAlreadyExistsHelper.java, - org/omg/PortableServer/POAPackage/AdapterNonExistentHelper.java, - org/omg/PortableServer/POAPackage/InvalidPolicy.java, - org/omg/PortableServer/POAPackage/NoServantHelper.java, - org/omg/PortableServer/POAPackage/ObjectAlreadyActiveHelper.java, - org/omg/PortableServer/POAPackage/ObjectNotActiveHelper.java, - org/omg/PortableServer/POAPackage/ServantAlreadyActiveHelper.java, - org/omg/PortableServer/POAPackage/ServantNotActiveHelper.java, - org/omg/PortableServer/POAPackage/WrongAdapterHelper.java, - org/omg/PortableServer/POAPackage/WrongPolicyHelper.java, - org/omg/PortableServer/RequestProcessingPolicyValue.java, - org/omg/PortableServer/ServantActivatorHelper.java, - org/omg/PortableServer/ServantLocatorHelper.java, - org/omg/PortableServer/ServantLocatorOperations.java, - org/omg/PortableServer/ServantRetentionPolicyValue.java, - org/omg/PortableServer/ThreadPolicyValue.java, - org/omg/PortableServer/_ServantActivatorStub.java, - org/omg/PortableServer/_ServantLocatorStub.java, - org/omg/PortableServer/portable/Delegate.java: Documentation fixes. - -2006-09-05 Audrius Meskauskas - - * javax/rmi/CORBA/Tie.java, - org/omg/CORBA/AnyHolder.java, - org/omg/CORBA/AnySeqHelper.java, - org/omg/CORBA/AnySeqHolder.java, - org/omg/CORBA/BooleanHolder.java, - org/omg/CORBA/BooleanSeqHelper.java, - org/omg/CORBA/BooleanSeqHolder.java, - org/omg/CORBA/ByteHolder.java, - org/omg/CORBA/CharHolder.java, - org/omg/CORBA/CharSeqHelper.java, - org/omg/CORBA/CharSeqHolder.java, - org/omg/CORBA/Context.java, - org/omg/CORBA/CurrentHelper.java, - org/omg/CORBA/CustomValue.java, - org/omg/CORBA/DataOutputStream.java, - org/omg/CORBA/DefinitionKindHelper.java, - org/omg/CORBA/DomainManagerOperations.java, - org/omg/CORBA/DoubleHolder.java, - org/omg/CORBA/DoubleSeqHelper.java, - org/omg/CORBA/DoubleSeqHolder.java, - org/omg/CORBA/DynAny.java, - org/omg/CORBA/DynSequence.java, - org/omg/CORBA/DynValue.java, - org/omg/CORBA/DynamicImplementation.java, - org/omg/CORBA/FieldNameHelper.java, - org/omg/CORBA/FixedHolder.java, - org/omg/CORBA/FloatHolder.java, - org/omg/CORBA/FloatSeqHelper.java, - org/omg/CORBA/FloatSeqHolder.java, - org/omg/CORBA/IdentifierHelper.java, - org/omg/CORBA/IntHolder.java, - org/omg/CORBA/LocalObject.java, - org/omg/CORBA/LongHolder.java, - org/omg/CORBA/LongLongSeqHelper.java, - org/omg/CORBA/LongLongSeqHolder.java, - org/omg/CORBA/LongSeqHelper.java, - org/omg/CORBA/LongSeqHolder.java, - org/omg/CORBA/ORB.java, - org/omg/CORBA/ObjectHelper.java, - org/omg/CORBA/ObjectHolder.java, - org/omg/CORBA/OctetSeqHelper.java, - org/omg/CORBA/OctetSeqHolder.java, - org/omg/CORBA/PolicyErrorCodeHelper.java, - org/omg/CORBA/PolicyErrorHelper.java, - org/omg/CORBA/PolicyHelper.java, - org/omg/CORBA/PolicyListHelper.java, - org/omg/CORBA/PolicyTypeHelper.java, - org/omg/CORBA/PrincipalHolder.java, - org/omg/CORBA/RepositoryIdHelper.java, - org/omg/CORBA/Request.java, - org/omg/CORBA/ShortHolder.java, - org/omg/CORBA/ShortSeqHelper.java, - org/omg/CORBA/ShortSeqHolder.java, - org/omg/CORBA/StringSeqHelper.java, - org/omg/CORBA/StringSeqHolder.java, - org/omg/CORBA/ULongLongSeqHelper.java, - org/omg/CORBA/ULongLongSeqHolder.java, - org/omg/CORBA/ULongSeqHelper.java, - org/omg/CORBA/ULongSeqHolder.java, - org/omg/CORBA/UShortSeqHelper.java, - org/omg/CORBA/UShortSeqHolder.java, - org/omg/CORBA/ValueBaseHelper.java, - org/omg/CORBA/ValueBaseHolder.java, - org/omg/CORBA/VersionSpecHelper.java, - org/omg/CORBA/WCharSeqHelper.java, - org/omg/CORBA/WCharSeqHolder.java, - org/omg/CORBA/WStringSeqHelper.java, - org/omg/CORBA/WStringSeqHolder.java, - org/omg/CORBA/WrongTransactionHelper.java, - org/omg/CORBA/_IDLTypeStub.java, - org/omg/CORBA/_PolicyStub.java, - org/omg/CORBA/portable/BoxedValueHelper.java, - org/omg/CORBA/portable/Delegate.java, - org/omg/CORBA/portable/ObjectImpl.java, - org/omg/CORBA/portable/ServantObject.java, - org/omg/CORBA/portable/StreamableValue.java, - org/omg/CosNaming/BindingType.java, - org/omg/CosNaming/IstringHelper.java, - org/omg/DynamicAny/FieldNameHelper.java, - org/omg/PortableServer/Servant.java: Documentation fixes. - -2006-09-04 David Gilbert - - * java/awt/Rectangle.java - (setRect(double, double, double, double)): Modified rounding of input - values. - -2006-09-03 Audrius Meskauskas - - * gnu/javax/swing/text/html/parser/HTML_401F.java (defineElements): - Disallow H1 - H6 in the paragraphs. - * gnu/javax/swing/text/html/parser/support/textPreProcessor.java - (preprocess): Leave at most one leading and/or trailing space. - * javax/swing/text/html/HTMLDocument.java (HTMLReader.handleText): - Do not add any text after closing the HTML tag. - -2006-09-02 Roman Kennke - - PR 28928 - * javax/swing/plaf/basic/BasicTextUI.java - (RootView.getPreferredSpan): Default to 10 when there is no - real view. - (RootView.getMinimumSpan): Forward to view and default to 10 - when there is no real view. - (RootView.getMaximumSpan): Return Integer.MAX_VALUE. - (getMaximumSize): Check for overflow. - * javax/swing/text/FieldView.java - (getResizeWeight): Removed unneeded assignment. - -2006-09-01 Francis Kung - * java/awt/image/ColorConvertOp.java - (copyImage): Updated javadoc and comments. - (copyRaster): Add javadoc. - (createCompatibleColorModel): Add javadocs and comments. - (createCompatibleDestImage): Use correct transfer type. - (createCompatibleDestRaster): Add new parameter for transfer type. - (filter): Use correct transfer type. - * java/awt/image/ConvolveOp.java: Updated javadocs. - (createCompatibleDestImage): Set new image properties correctly. - (filter(BufferedImage, BufferedImage): Correct handling of premultiplication. - (filter(WritableRaster, Raster): Clip sample values to [0-255]. - -2006-09-01 Robert Schuster - - * javax/swing/table/DefaultTableModel.java: - (checkSize): Added null check for dataVector. - -2006-09-01 Robert Schuster - - * javax/swing/plaf/basic/BasicSplitPaneUI.java: - (BasicHorizontalLayout.getAlignmentX): Return fixed value. - (BasicHorizontalLayout.getAlignmentY): Return fixed value. - -2006-09-01 Robert Schuster - - * javax/swing/plaf/metal/MetalCheckBoxIcon.java: - (paintIcon): Removed unused import statements, lowered cast requirement - from JCheckBox to AbstractButton. - -2006-09-01 Robert Schuster - - * javax/swing/plaf/basic/BasicLookAndFeel.java: - (initComponentDefaults): Added, changed and removed some - tabbed pane properties. - -2006-09-01 Robert Schuster - - * examples/gnu/classpath/examples/swing/TabbedPaneDemo.java: - (createContent): Changed menu item name and tab naming. - -2006-09-01 Roman Kennke - - PR 28922 - * javax/swing/plaf/basic/BasicHTML.java - (HTMLRootView.getAttributes): Overridden to return null. - (HTMLRootView.getElement): Overridden to return the view's - element. - -2006-09-01 Robert Schuster - - * javax/swing/plaf/basic/BasicTabbedPaneUI.java: - (calculateTabAreaHeight): Use getTabRunOverlay method instead - of accessing variable directly. - (calculateTabAreaWidth): Dito. - -2006-08-31 Keith Seitz - - * include/jvmti.h: Include jvmti_md.h. - -2006-08-31 Keith Seitz - - From Martin Platter : - * Makefile.am (include_HEADERS): Include jvmti.h. - * include/jvmti.h (jvmtiEnv) [!__cplusplus]: Add missing '*'. - (jvmtiError): Remove superfluous comma after last entry. - (jvmtiEvent): It's "BREAKPOINT" not "BERAKPOINT". - (_Jv_jvmtiEnv.StopThread): Add missing exception parameter. - (_Jv_jvmtiEnv.RawMonitorWait): Add missing millis parameter. - (_Jv_jvmtiEnv.GetSourceFileName): source_name_ptr is pointer to - character pointer. - (_Jv_JVMTIEnv::StopThread): Add missing exception parameter. - (_Jv_JVMTIEnv::RawMonitorWait): Add missing millis parameter. - (_Jv_JVMTIEnv::GetSourceFileName): source_name_ptr is pointer to - character pointer. - -2006-08-31 Roman Kennke - - * javax/swing/text/BoxView.java - (getWidth): Return the width with insets added, not with one - added and one removed. - (getHeight): Return the height with insets added, not with one - added and one removed. - * javax/swing/text/GlyphView.java - (DefaultGlyphPainter.viewToModel): Need to add the start offset. - * javax/swing/text/ParagraphView.java - (Row.getAlignment): Adjust alignment with respect to - the justification attribute. - (Row.getLeftInset): Overridden to adjust for firstLineIndent - attribute. - * javax/swing/text/html/CSS.java - (getValue): Convert length values. - * javax/swing/text/html/Paragraph.java - (painter): New field. - (paint): Implemented to delegate painting to the BoxPainter too. - (setPropertiesFromAttributes): Implemented to load attributes - from CSS. - * javax/swing/text/html/StyleSheet.java - (BoxPainter.as): Removed field. - (BoxPainter.leftInset): New field. - (BoxPainter.bottomInset): New field. - (BoxPainter.rightInset): New field. - (BoxPainter.topInset): New field. - (BoxPainter.BoxPainter): Implemented to load the insets from - CSS. - (BoxPainter.getInset): Implemented. - * gnu/javax/swing/text/html/Length.java: New class. - Converts CSS length units to usable values. - -2006-08-31 Andreas Tobler - - * configure.ac: Add check for gethostbyname_r. - Add check for MSG_NOSIGNAL and SO_NOSIGPIPE. - * native/jni/native-lib/cpnet.c (SOCKET_NOSIGNAL): Define - SOCKET_NOSIGNAL according to the configure check. - (cpnet_send): Use SOCKET_NOSIGNAL. - (cpnet_sendTo): Likewise. - (cpnet_getHostByName): Use gethostbyname in case gethostbyname_r is not - defined. - * native/jni/native-lib/cpio.c: Define O_SYNC and O_DSYNC in case they - are not available. - - * lib/Makefile.am (cssfiles): Add new rule to install css files. - -2006-08-31 Roman Kennke - - * javax/swing/JEditorPane.java - (getPreferredSize): Replace preferred size with minimum - UI size only if the scrollable does _not_ track the viewport - size and only if the viewport's size is smaller than the - scrollable's size. - (getScrollableTracksViewportWidth): Avoid unnecessary multiple - method calls. - * javax/swing/plaf/basic/BasicTextUI.java - (getPreferredSize): Read-lock the document to avoid - concurrency problems. - (getMaximumSize): Return maximum size of the view. - Read-lock the document to avoid concurrency problems. - (getMinimumSize): Return minimum size of the view. - Read-lock the document to avoid concurrency problems. - -2006-08-31 Gary Benson - - * java/net/SocketPermission.java - (maybeBracketIPv6Address): Renamed to processHostport. - (processHostport): Also translate "" to "localhost". - (setHostPort): Remove special cases for empty hostport and for - extra colons in hostport (processHostport handles these now). - -2006-08-31 Mark Wielaard - - * javax/swing/text/ZoneView.java (Zone): Make static class. - Constructor takes axis parameter. - (createZone): Create Zone with getAxis() as major axis. - -2006-08-30 Roman Kennke - - * javax/swing/text/ZoneView.java - (loadChildren): Implemented. - (getViewIndexAtPosition): Implemented. - (checkZoneAt): New helper method. - (splitZone): New helper method. - (getPreferredZoneEnd): New helper method. - -2006-08-30 Roman Kennke - - * javax/swing/text/ZoneView.java: New class. - -2006-08-30 Roman Kennke - - * javax/swing/JMenu.java - (getMenu): Removed unneeded cast. - (getPopupMenuOrigin): Made positioning algorithm better respect - the screen bounds. - (setMenuLocation): Also set the location on the popup if it's - not null. - (setModel): Use menuChangeListener so that we don't override - the changeListener field from AbstractButton. - (setPopupMenuVisible): Use custom location if set, otherwise - fallback to getPopupMenuOrigin(). - -2006-08-29 Roman Kennke - - * javax/swing/text/InternationalFormatter.java - (stringToValue): Fixed bounds check. - * javax/swing/text/MaskFormatter.java - (MaskFormatter): Don't explicitly set allosInvalid property. - (convertStringToValue): New helper method. - (convertValueToString): New helper method. - (convertValue): Removed. Replaced by the 2 convert* methods - above. - (getPadCharAt): Removed. - (isCharValid): Removed. - (pad): Removed. - (stringToValue): Fixed stringToValue conversion. - (stripLiterals): Removed. - (valueToString): Fixed valueToString conversion. - * javax/swing/text/DefaultFormatter.java - (DefaultFormatter): Default to commitsOnValidEdit = false. - -2006-08-29 Roman Kennke - - * javax/swing/text/TextAction.java - (getTextComponent): Check event for null and return null in - this case. - (augmentList): Augment Actions based on their names. - * javax/swing/text/DefaultEditorKit.java - (BeginAction.actionPerformed): Check target for null. - (BeginLineAction.actionPerformed): Check target for null. - (CopyAction.actionPerformed): Check target for null. - (CutAction.actionPerformed): Check target for null. - (EndAction.actionPerformed): Check target for null. - (EndLineAction.actionPerformed): Check target for null. - (InsertBreakAction.actionPerformed): Check target for null. - (InsertTabAction.actionPerformed): Check target for null. - (PasteAction.actionPerformed): Check target for null. - (SelectAllAction.actionPerformed): Check target for null. - (SelectionBeginAction.actionPerformed): Check target for null. - (SelectionBeginLineAction.actionPerformed): Check target for null. - (SelectionEndAction.actionPerformed): Check target for null. - (SelectionEndLineAction.actionPerformed): Check target for null. - (SelectLineAction.actionPerformed): Check target for null. - (SelectWordAction.actionPerformed): Check target for null. - -2006-08-29 Roman Kennke - - * javax/swing/plaf/basic/BasicTextUI.java - (FocusHandler): New class. This is moved from the anonymous - inner focus listener class to a static member class, and - is now shared between components. - (DocumentHandler): This class is combined with the PropertyHandler - into the Handler class. - (PropertyChangeHandler): This class is combined with the - DocumentHandler into the Handler class. - (Handler): New class. This combines the Property and Document - handler into one class. - (RootView.changedUpdate): Only forward if real view != null. - (RootView.insertUpdate): Only forward if real view != null. - (RootView.removeUpdate): Only forward if real view != null. - (documentHandler): Removed field and replaced by handler. - (focuslistener): Made field static and renamed to focusListener. - (handler): New field. - (kit): Lazily initialize field. - (rootView): Lazily initialize field. - (updateHandler): Removed and replaced by handler. - (getEditorKit): Lazily instantiate field. - (installDefaults): Don't set margin twice. Install correct - property for disabledTextColor. Moved caret and highlighter - initialization to installFixedDefaults. - (installFixedDefaults): New method. Installs defaults that - can't be overridden by subclasses. - (installListeners): Only install focus handler when new - system property gnu.swing.text.no-xlike-clipboard is not set. - Lazily initialize focus handler. - (installUI): Lazily initialize rootView. Install handler - both for property and document changes. - (uninstallDefaults): Uninstall the UI defaults. - (uninstallFixedDefaults): New method. Uninstalls the fixed - defaults. - (installListeners): Only uninstall focus handler when not null. - (uninstallUI): Uninstall property and document listener here. - -2006-08-29 Gary Benson - - * java/net/SocketPermission.java - (maybeBracketIPv6Address): New method. - (): Pass the hostport argument through the above. - - * java/net/NetworkInterface.java (getInetAddresses): - Don't bracket IPv6 addresses. - -2006-08-28 Roman Kennke - - * javax/swing/text/BoxView.java - (calculateMinorAxisRequirements): Initialize max size - with Integer.MAX_VALUE. - * javax/swing/text/Utilities.java - (getBreakLocation): For simple chars, scan the text directly. - * javax/swing/text/WrappedPlainView.java - (tabBase): New field. - (tabSize): New field. - (calculateBreakPosition): Use Utilities. Fixed for correct - break calculation. - (changedUpdate): Update children directly. - (insertUpdate): Update children directly. Notify children. - (removeUpdate): Update children directly. Notify children. - (updateChildren): New helper method. - (nextTabStop): Fixed to return correct results. - (paint): Update tabBase. - (updateMetrics): Update tab size. - -2006-08-28 Roman Kennke - - * javax/swing/text/Position.java - (Bias.Forward): Initialize with 'Forward' rather then 'forward'. - (Bias.Backward): Initialize with 'Backward' rather then 'backward'. - -2006-08-28 Roman Kennke - - * javax/swing/text/View.java - (height): Removed unneeded field. - (width): Removed unneeded field. - (getBreakWeight): Return GoodBreakWeight when pos is after - the view's span. - (getToolTipText): Check view index more carefully. Avoid - Rectangle creation. - (insertUpdate): Only execute method body if view count > 0. - When updateChildren returns false, clear the ec variable. - (updateChildren): Added null checks. - (viewToModel): Initialize bias array correctly. - * javax/swing/text/CompositeView.java - (children): Made private. - (numChildren): New field. - (loadChildren): Check factory for null. Don't load children - when factory is null. - (replace): Removed null check. Nullify removed children. Made - growing the array more efficient. - (getViewCount): Return numChildren rather then the real array - size. - * javax/swing/text/BoxView.java - (getViewAtPoint): Fixed algorithm for finding the view. - (replace): Made array growing more efficient. - (replaceLayoutArray): New helper method for growing/patching - the layout arrays. - (viewToModel): Make sure we have a valid layout. - -2006-08-28 Tania Bento - - * java/awt/MenuShortcut.java - (MenuShortcut (int, boolean)): Set keyName. - (toString): Modified string output. - (setKeyName): New private method. - -2006-08-28 Roman Kennke - - * javax/swing/text/GapContent.java - (Mark.getOffset): Made assert less strict, include boundary. - (search): Made package private to avoid accessor method. - -2006-08-28 Roman Kennke - - * javax/swing/text/StringContent.java - (InsertUndo.positions): New field. - (InsertUndo.redo): Update the undo positions. - (InsertUndo.undo): Fetch the undo positions. - (Mark): New class. Layer of indirection to allow Positions - to be GC'ed while we still hold references to the Mark. - (RemoveUndo.len): New field. - (RemoveUndo.positions): New field. - (RemoveUndo.RemoveUndo): Fetch undo positions. - (RemoveUndo.redo): Re-fetch positions and string. - (RemoveUndo.undo): Update undo positions. - (StickyPosition.mark): New field. - (StickyPosition.offset): Removed field. - (StickyPosition.StickyPosition): Create new Mark. Register - Position in queueOfDeath. Update reference count on mark. - (StickyPosition.getOffset): Return offset stored in mark. - (StickyPosition.setOffset): Removed unneeded method. - (UndoPosRef): New class. Handles undo/redo on positions/marks. - (EMPTY): New field. - (marks): New field. Stores the marks. - (positions): Removed field. - (queueOfDeath): New field. Used for GCing the positions. - (StringContent): Initialize queueOfDeath. - (createPosition): Lazily create marks vector. - (garbageCollect): New helper method. Collects positions - to be GCed and updates their marks. - (getChars): Fixed bounds check. - (getPositionsInRange): When v == null, create new Vector, - otherwise use v. Store UndoPosRefs in vector. - (getString): Added comment about bug in RI. - (insertString): Use new helper method for replacing the array. - Correctly update positions. - (length): Removed this qualifier. - (remove): Use new helper method for replacing the array. - Correctly update positions. - (replace): New helper method for growing or patching the array. - (updateUndoPositions): Implemented. Updates the positions - for undo/redo operations. - -2006-08-27 Roman Kennke - - * javax/swing/text/StyleContext.java - (NamedStyle.attributes): Made field transient. - (NamedStyle.changeEvent): Made field transient. - (NamedStyle.name): Removed field. The name is stored as - attribute. - (NamedStyle.NamedStyle(String,Style)): Call setName() for - storing the name and check for null name and resolveParent. - Don't initialize changeEvent. - (NamedStyle.copyAttributes): Return a new NamedStyle, - rather than a plain copy of the attributes field. - (NamedStyle.fireStateChange): Lazily create changeEvent - field. - (NamedStyle.getName): Fetch name from attributes. - (NamedStyle.setName): Store name from attributes. - (NamedStyle.readObject): Implemented for correct - deserialization. - (NamedStyle.writeObject): Implemented for correct - serialization. - (NamedStyle.setResolveParent): When new parent is null, - remove resolveParent attribute. Use addAttribute() method - rather than StyleContext addAttribute(). - (NamedStyle.toString): Fixed to produce output equal to the - RI. - (SmallAttributeSet.resolveParent): New field. - (SmallAttributeSet.SmallAttributeSet(AttributeSet)): Update - the resolveParent field correctly. - (SmallAttributeSet.SmallAttributeSet(Object[])): Don't copy - array but store it directly. Update - the resolveParent field correctly. - (SmallAttributeSet.clone): Return this as the object is - immutable. - (SmallAttributeSet.containsAttributes): Make sure that keys - and values are the same. - (SmallAttributeSet.containsAttribute): Make sure that keys - and values are the same. - (SmallAttributeSet.copyAttributes): Return this as the object is - immutable. - (SmallAttributeSet.equals): Fixed comparison. Two AttributeSet - are equal if they have the same number of attributes and - one contains the other. - (SmallAttributeSet.getAttribute): Improved lookup of - resolveParent. - (SmallAttributeSet.getResolveParent): Improved lookup of - resolveParent. - (SmallAttributeSet.isEqual): When comparing object is a - SmallAttributeSet, consider them equal only if they are the - same object. - (SmallAttributeSet.toString): Fixed to produce output equal to the - RI. - (attributeSetPool): New field. - (defaultStyleContext): Initialize lazily. - (defaultStyle): Removed field. This is stored in the style context - as attribute. - (listenerList): Removed field. The NamedStyle stores the - listeners. - (readAttributeKeys): New static field. Used for looking up - the serialization mappings when reading. - (search): New field. Used as search key. - (staticAttributeKeys): Replaced by read/writeAttributeKeys. - (styles): New field. Stores the styles and listeners. - (styleTable): Removed field. Replaced by styles field. - (writeAttributeKeys): New static field. Used for looking up - the serialization mappings when writing. - (static_initializer): Register mappings for all keys in - StyleConstants. - (StyleContext): Initialize styles correctly. - (addAttributes): Fixed caching of immutable attributes. - (addAttribute): Fixed caching of immutable attributes. - (removeAttributes): Fixed caching of immutable attributes. - (removeAttribute): Fixed caching of immutable attributes. - (addChangeListener): Add listener to styles field. - (removeChangeListener): Remove listener from styles field. - (getChangeListeners): Fetch listeners from styles field. - (addStyle): Add style to styles field. - (cleanupPool): New method. - (getDefaultStyleContext): Lazily create context. - (getEmptySet): Simply return SimpleAttributeSet.EMPTY. - (getMutableAttributeSet): New helper method. Used for - caching. - (getStaticAttribute): Fetch key from readAttributeKeys. - (getStyleNames): Return names from styles field. - (getStyle): Lookup style in styles field. - (removeStyle): Remove style from styles field. - (readAttributeSet): Fixed deserialization. - (writeAttributeSet): Fixed serialization. - (readObject): Fixed deserialization. - (writeObject): Fixed serialization. - (reclaim): Simply cleanup the pool. - (registerStaticAttributeKey): Store mapping in both ways. - (searchImmutableSet): New helper method for caching. - (toString): Fixed for output like the RI. - * javax/swing/text/StyleConstants.java - (keys): New field. Stores all known keys. - (StyleConstants): Store created key in keys list. - * javax/swing/event/EventListenerList.java - (readObject): Fixed deserialization. - (writeObject): Fixed serialization. - -2006-08-25 Roman Kennke - - * javax/swing/text/CompositeView.java - (insets): Removed. Replaced by single short fields. - (top): New field. Replaces insets. - (bottom): New field. Replaces insets. - (left): New field. Replaces insets. - (right): New field. Replaces insets. - (CompositeView): Initialize insets fields. - (createDefaultLocation): Removed unneeded method. - (getBottomInset): Return field directly. - (getTopInset): Return field directly. - (getLeftInset): Return field directly. - (getRightInset): Return field directly. - (getInsideAllocation): Adjusted to work on new insets fields. - (getViewIndex): Fixed check. - (loadChildren): Don't replace the old children. - (replace): Make sure that there is an array to operate on. - Only set parent to null, when it is this View. - (setInsets): Adjusted to work with new insets fields. - (setParagraphInsets): Fixed to pull insets directly from - StyleConstants. - -2006-08-25 Roman Kennke - - * javax/swing/text/ComponentView.java - (Interceptor): New inner helper class. Used to propagate - invalidate requests and cache component layout sizes. - (interceptor): New field. - (getAlignment): Fetch alignment from interceptor container. - (getComponent): Don't create component here. This is done - in setParent(). - (getMaximumSpan): Fetch layout info from interceptor. Check - for illegal axis. - (getMinimumSpan): Fetch layout info from interceptor. Check - for illegal axis. - (getPreferredSpan): Fetch layout info from interceptor. Check - for illegal axis. - (modelToView): Fixed model to view mapping. - (viewToModel): Fixed view to model mapping. - (paint): Check for null. Set bounds on interceptor rather - then component. - (setParentImpl): Install interceptor between component - and hosting container. - (setParent): Call super.setParent() immediately. - -2006-08-25 Roman Kennke - - * javax/swing/text/LabelView.java - (setPropertiesFromAttributes): Only set background when - the corresponding attribute is actually defined, otherwise - set to null, as the StyleConstants would return black. - * javax/swing/text/DefaultStyledDocument.java - (ElementBuffer.documentEvent): Removed obsolete field. - (ElementBuffer.change): Do prepareEdits() and finishEdits() - to correctly update the element structure. - (ElementBuffer.insertContentTag): Removed unused statement. - (ElementBuffer.recreateAfterFracture): Removed - unused obsolete method. - (setCharacterAttributes): Removed unused statement. - -2006-08-25 Roman Kennke - - * examples/gnu/classpath/examples/swing/Demo.java - (LaterMain.run): Removed unused local variable. - (Demo): Don't put desktop in scrollpane. - (addChildren): Removed unused method. - (mkButtonBar): Added HTML demo. - (mkMenuBar): Added HTML demo. - (mkPanel): Removed unused method. - (mkScrollPane): Removed unused method. - (mkTree): Removed unused method. - (valign2str): Removed unused method. - * examples/gnu/classpath/examples/swing/HtmlDemo.java: - Initialize text field with some HTML that already works. - (DEBUG): New field. Set to true for debugging output. - (createContent): Dump element tree after parsing. - -2006-08-25 Roman Kennke - - * javax/swing/text/html/CSS.java - (getValue): Added color value conversion. - * javax/swing/text/html/HTMLDocument.java - (HTMLReader.ConvertAction): New class, converts HTML style tags - to CSS attributes. - (HTMLReader.initTags): Register ConvertAction for tag. - * javax/swing/text/html/InlineView.java - (setPropertiesFromAttributes): Implemented to fetch - CSS character attributes. - * javax/swing/text/html/StyleSheet.java - (addCSSAttribute): Convert value. - (getBackground): Implemented to fetch CSS background color - attribute. - (getForeground): Implemented to fetch CSS color - attribute. - (getFont): Adjust font size for superscript and subscript. - (translateHTMLToCSS): Rudimentary implementation that - copies the original attributes, so that any CSS attributes in - there are preserved. - (stringToColor): Use CSSColor for conversion. - * gnu/javax/swing/text/html/css/CSSColor.java: - New class. Converts CSS color values to RGB color values. - * gnu/javax/swing/text/html/CharacterAttributeTranslator.java: - Removed. This is more or less replaced by CSSColor and the - ConvertAction in HTMLReader. - -2006-08-25 Roman Kennke - - * javax/swing/text/BoxView.java - (childReqs): Removed obsolete field. - (baselineLayout): Reimplemented for correct baseline layout. - (baselineRequirements): Reimplemented for correct baseline - layout. - (updateChildRequirements): Removed obsolete method. - * javax/swing/text/GlyphView.java - (DefaultGlyphPainter.getSpan): Removed unused statement. - (DefaultGlyphPainter.paint): Dont paint subscript/superscript - specially. The subscript/superscript layout is performed - via the alignment, the font is supplied by the StyleContext. - (breakView): Removed unused statements. - (getAlignment): Adjust alignment according to the - superscript/subscript setting. - (getFont): Reimplemented to fetch the font from the style - context, or from the document if the stylecontext is not - available. - (getPreferredSpan): Adjust span for superscript. Use switch - instead of if-else. - * javax/swing/text/LabelView.java - (setPropertiesFromAttributes): Fetch background and foreground - from document / style context. - (isSubscript): Resync properties if needed. - * javax/swing/text/ParagraphView.java - (Row.calculateMinorAxisRequirements): Overridden to perform - a baseline layout. - (Row.layoutMinorAxis): Overridden to perform a baseline layout. - -2006-08-24 Roman Kennke - - * javax/swing/text/Utilities.java - (BUF_LENGTH): Removed unused field. - (drawTabbedText): Removed unneeded cast. - (getBreakLocation): Removed unneeded cast. - Fixed offset to account for Segments not starting at 0. - -2006-08-24 Roman Kennke - - * javax/swing/plaf/basic/BasicTabbedPaneUI.java - (TabbedPaneLayout.normalizeTabRuns): Removed unused statement. - (TabbedPaneScrollLayout.layoutContainer): Likewise. - (ScrollingPane.updateUI): Likewise. - (calculateTabWidth): Rewritten to correctly and efficiently - layout the tab width. - (layoutLabel): Call SwingUtilities method with the tabPane - as argument. - (paintContentBorderLeftEdge): Removed unused statement. - (paintContentBorderRightEdge): Removed unused statement. - (paintContentBorder): Removed unused statement. - -2006-08-24 Roman Kennke - - * javax/swing/plaf/basic/BasicTextUI.java - (RootView.getAttributes): Overridden to return null, - as the RootView has no parent. - -2006-08-24 Roman Kennke - - * javax/swing/text/html/CSSParser.java: Removed. - * javax/swing/text/html/CSS.java - (getValue): New helper method. Returns special converter - instances for certain kinds of property values. - * javax/swing/text/html/HTMLDocument.java - (HTMLReader.CharacterAction.start): Don't translate tags - here. Instead, store the attributes directly with the tag - as key. - (content): Removed field. The Content object is handled - by AbstractDocument. - (styleSheet): Removed field. The styleSheet is the styleContext - of this document and handled by the DefaultStyledDocument already. - (HTMLDocument(Content,StyleSheet): Simply call super here. - The super classes already handle the content and styleContext. - (HTMLDocument()): Call this() with a default GapContent and - StyleSheet. - (getStyleSheet): Return the styleContext here. - (insertUpdate): New method. Overridden to add the - CONTENT dummy tag to the element's attributes. - (setBase): Set the base on the styleContext. - * javax/swing/text/html/HTMLEditorKit.java - (styleContext): Removed unneeded field. - (styleSheet): Made field private. - (HTMLEditorKit): Do nothing here. The StyleSheet is - created lazily in getStyleSheet(). A styleContext is not - needed here. - (getStyleSheet): Create StyleSheet correctly. - (insertHTML): Removed unneeded cast. - * javax/swing/text/html/InlineView.java - (attributes): New field. - (changedUpdate): Reload attributes. Trigger preferenceChanged. - (getAttributes): Implemented to fetch the attributes from - the stylesheet. - * javax/swing/text/html/MultiAttributeSet.java: New class. - Multiplexes between several AttributeSets. - * javax/swing/text/html/MultiStyle.java: New class. - Multiplexes between several Styles. - * javax/swing/text/html/ParagraphView.java - (attributes): New field. - (getAttributes): Implemented to fetch the attributes from - the stylesheet. - * javax/swing/text/html/StyleSheet.java - (CssParser): Removed inner class. - (CSSStyle): New inner class. Represents a style defined - by a CSS rule. - (CSSStyleSheetParserCallback): New class, for parsing - CSS stylesheets. - (css): New field. Stores the CSS rules. - (resolvedStyles): New field. Stores resolved styles. - (StyleSheet): Initialize resolvedStyles map. - (addRule): Removed bogus impl. - (getFont): Implemented to fetch font, based on CSS rules. - (getResolvedStyle): New helper method. Looks up resolved - styles, and resolves a style if necessary. - (resolveStyle): New pair of helper methods. Resolves - CSS style rules. - (getRule(String)): Provide rudimentary implementation. - (getRule(Tag,Element)): Implemented. - (getViewAttributes): Implemented. - (loadRules): Implemented. - (translateHTMLToCSS): Tagged as not implemented. - * javax/swing/text/html/ViewAttributeSet.java: New class. - -2006-08-24 Roman Kennke - - * javax/swing/text/FlowView.java: - (LogicalView.getAttributes): New method. Overrides super - impl to return the attributes of the FlowView instance. - * javax/swing/text/LabelView.java: - (setPropertiesFromAttributes): Fetch attributes from - View, rather then from the Element. (In the HTML - package the getAttributes() method is overridden to - return different attributes). Fetch font from the StyledDocument. - -2006-08-24 Roman Kennke - - * javax/swing/text/DefaultEditorKit.java: - (DefaultKeyTypedAction.actionPerform): Also filter - ALT and CTRL modifiers. - -2006-08-24 Roman Kennke - - * gnu/javax/swing/text/html/css/FontSize.java, - * gnu/javax/swing/text/html/css/FontStyle.java, - * gnu/javax/swing/text/html/css/FontWeight.java: - New classes. Used to convert CSS font attributes to AWT/Swing - Font constants. - -2006-08-24 Francis Kung - * gnu/java/awt/color/PyccConverter.java: Throw UnsupportedOperationExceptions. - * java/awt/image/ColorConvertOp.java: Updated javadocs. - (srccs, dstcs, rasterValid): Variables removed. - (ColorConvertOp(RenderingHints)): Initialize spaces to empty array. - (copyRaster): Check for null rendering hints - (createCompatibleColorModel): New private method. - (createCompatibleDestImage): Re-implemented. - (createCompatibleDestRaster(Raster, ColorSpace, boolean)): New private method. - (createCompatibleDestRaster(Raster)): Re-implemented. - (filter(BufferedImage, BufferedImage)): Add checks; fix temp image creation. - (filter(Raster, WritableRaster)): Add checks; fix temp raster creation. - (getPoint2D): Clean up formatting. - * java/awt/image/ComponentColorModel.java - (constructor): use findBits method instead of passing null. - (findBits): New method. - -2006-08-24 Gary Benson - - * java/net/NetworkInterface.java (getInetAddresses): Bracket IPv6 - addresses. - -2006-08-24 Jeroen Frijters - - * java/lang/ref/Reference.java - (queue, nextOnQueue): Made volatile. - (enqueue): Made thread safe. - * java/lang/ref/ReferenceQueue.java - (lock): New field. - (poll): Removed synchronized. - (enqueue): Changed to synchronize on lock object, to update Reference - state and return success status. - (dequeue, remove): Synchronize on lock object. - -2006-08-24 Jeroen Frijters - - * java/security/SecureClassLoader.java - (protectionDomainCache): Changed to HashMap. - (SecureClassLoader): Removed redundant security check. - (defineClass(String,byte[],int,int,CodeSource): Moved - protection domain lookup/construction to new method. - (defineClass(String,ByteBuffer,CodeSource): New method. - (getProtectionDomain): New method. - -2006-08-23 Roman Kennke - - * javax/swing/JComponent.java - (isRepainting): Made package private. - (paintChild): New field. - (findOpaqueParent): Removed method. This is now in - paintImmediately(). - (findOverlapFreeParent): Removed method. This is now - in paintImmediately2(). - (findPaintRoot): Removed method. This is now - in paintImmediately2(). - (isCompletelyObscured): Changed to take rectangle as single - ints as argument. - (isPaintingDoubleBuffered): Removed method. This is now - in paintImmediately2(). - (isPartiallyObscured): New helper method. - (onTop): New helper method for optimization. - (paintChildren): Paint only to specific child when - requested like this from paintImmediately2(). - (paintDoubleBuffered): Changed to take rectangle as single int - arguments. - (paintImmediately2): Changed to take rectangle as single int - arguments. Optimized determination of paint root. - (paintImmediately(Rectangle)): Change to delegate to - paintImmediately(int,int,int,int). - (paintImmediately(int,int,int,int)): Look for opaque ancestor - and start painting there. - (paint): Call paintDoubleBuffered() with int arguments. Only - paint component, when not completely occupied by opaque child. - (processKeyBinding): Removed unnecessary cast. - (isOccupiedByChild): New helper method. - * javax/swing/RepaintManager.java - (repaintUnderway): Removed obsolete field. - (commitRequests): Removed obsolete field. - (RepaintManager): Removed initialization of obsolete fields. - (addDirtyRegion): Removed unused statement. - (commitBuffer): Changed to take plain ints as argument. - (compileRepaintRoots): Optimized to avoid use of Rectangle. - Compute offsets in place, rather than using SwingUtilities. - (paintDirtyRegions): Removed unused field. - * javax/swing/JMenuItem.java - (onTop): Return true when not descendant of JInternalFrame. - * javax/swing/JPopupMenu.java - (onTop): Return true. - * javax/swing/JToolTip.java - (onTop): Return true. - * javax/swing/JViewport.java - (paintImmediately2): Change signature to match the - corresponding JComponent method. - -2006-08-23 Tania Bento - - * java/awt/Color.java - (brighter): Modified algorithm to correctly determine the - new brighter colour. - -2006-08-23 Roman Kennke - - * java/awt/Container.java - (maxSize): Removed field. This is already declared in Component. - (validateTree): Check for ContainerPeer. Don't addNotify here. - Only validate Component instances if they are invalid. - -2006-08-22 Roman Kennke - - * javax/swing/JComponent.java - (preferredSize): Removed field. - (maximumSize): Removed field. - (minimumSize): Removed field. - (getMaximumSize): Adjusted to delegate to Component, rather - then managing the size in JComponent. - (getMinimumSize): Adjusted to delegate to Component, rather - then managing the size in JComponent. - (getPreferredSize): Adjusted to delegate to Component, rather - then managing the size in JComponent. - (isMaximumSizeSet): Removed. - (isMinimumSizeSet): Removed. - (isPreferredSizeSet): Removed. - (setMaximumSize): Removed. - (setMinimumSize): Removed - (setPreferredSize): Removed. - -2006-08-22 Roman Kennke - - * javax/swing/AbstractButton.java - (ButtonChangeListener.stateChanged): Delegate to combined - handler. - (EventHandler): New inner class. Handles all three types - of events on the model. - (eventHandler): New field. Stores the combined event - handler. - (AbstractButton): Moved listener initialization to - setModel(). - (createActionListener): Return combined handler. - (createChangeListener): Return combined handler. - (createItemListener): Return combined handler. - (getEventHandler): New helper method for creating the combined - handler. - (setModel): Initialize listeners here. - * javax/swing/plaf/basic/BasicButtonListener.java - (ButtonAction): New class. Implements the keyboard action - for buttons. - (checkOpacity): Implemented. - (createDefaultActionMap): New helper method. - (installKeyboardActions): Rewritten to install InputMap - and ActionMap according to 'new' keyboard input method. - (mouseClicked): Commented as no-op. - (mouseDragged): Commented as no-op. - (mouseMoved): Commented as no-op. - (propertyChange): Check for contentAreaFilled change and - update opacity. Pull handling of HTLM in font and text handler. - (stateChanged): Repaint button. - (uninstallKeyboardActions): Properly uninstall keyboard actions. - * javax/swing/plaf/basic/BasicButtonUI.java - (listener): Removed. - (sharedListener): New static field. Stores the shared listener. - (sharedUI): New static field. Stores the shared UI. - (createButtonListener): Return shared instance here. - (createUI): Return shared instance here. - (getButtonListener): New helper method. Looks for the - BasicButtonListener installed on a button and returns it. - (installDefaults): Correctly install rollover property here. - Fetch defaultTextShiftOffset. Initialize opaqueness correctly. - (installKeyboardActions): Fetch listener with new helper method. - (installListeners): Don't use removed field. Check for null. - (installUI): Added comment about order of method invocations. - (uninstallDefaults): Don't uninstall non-uninstallable properties. - (uninstallKeyboardActions): Fetch listener with new helper method. - (uninstallListeners): Fetch listener with new helper method. - (paintIcon): Paint icon offset when pressed and armed. - * javax/swing/plaf/metal/MetalButtonListener.java: Removed. - * javax/swing/plaf/metal/MetalButtonUI.java - (sharedUI): New field. Stores the shared UI. - (MetalButtonUI): Don't initialize fields here. - (createButtonListener): Removed method. Use super impl. - (createUI): Return shared instance. - (getDisabledTextColor): Update field here. - (getFocusColor): Update field here. - (getSelectColor): Update field here. - (installDefaults): Don't handle rollover property here. - (uninstallDefaults): Don't handle rollover property here. - (paintButtonPressed): Use accessor method to update the - field value. - -2006-08-21 Mark Wielaard - - Merge NATIVE_LAYER branch. - - 2006-08-20 Mark Wielaard - - * doc/tools.texinfo: Add file from trunk. - * native/jni/Makefile.am (DIST_SUBDIRS): Add native-lib. - * native/jni/java-io/java_io_VMFile.c: Include lstat and readlink - headers. - * native/jni/java-lang/java_lang_VMProcess.c - (Java_java_lang_VMProcess_nativeSpawn): Remove redirect argument. - * native/jni/java-net/java_net_VMInetAddress.c - (Java_java_net_VMInetAddress_getHostByName): Remove unused variable. - * native/jni/native-lib/Makefile.am: Remove empty and nonexisting - files. - * native/jni/native-lib/cpio.c (cpio_setFileReadonly): Use correct - mask. - * native/jni/native-lib/cpnet.c (cpnet_connect): Removed unused - theaddr. - * native/jni/native-lib/cpnet.h (cpnet_freeAddresses): Moved from - cpnet.h. - * native/jni/native-lib/cpnet.h (cpnet_freeAddresses): Declare, - don't implement. - * vm/reference/java/lang/VMProcess.java: Removed unused redirect - argument. - * include/java_lang_VMProcess.h: Regenerated. - - 2006-07-09 Guilhem Lavaux - - * native/jni/java-net/gnu_java_net_VMPlainDatagramSocketImpl.c - (nativeReceive): Fixed the type of the arrays (use java types). - (nativeSendTo): Force throwing an exception if port is 0. - - * native/jni/java-net/javanet.c: - (_javanet_accept): Throw SocketTimeoutException if ETIMEDOUT is - returned. - (_javanet_recvfrom): Likewise. - (_javanet_sendto): Throw a NullPointerException if the socket is - not connected and no address is given. - - * native/jni/java-net/javanet.h - (NULL_EXCEPTION): Defined. - - 2006-06-16 Guilhem Lavaux - - * native/jni/java-net/java_net_VMInetAddress.c - (Java_java_net_VMInetAddress_getHostByName): Fix detection of - error. - - * native/jni/java-net/javanet.c - (_javanet_accept): Fixed bogus call to TARGET. - (_javanet_create_inetaddress): Fixed address generation. Fixed - bogus memory free. - (_javanet_bind): set "Reuse address" flag. - - * native/jni/native-lib/cpio.c - (cpio_getModificationTime): Fixed type. - (cpio_removeFile): Use rmdir too. - - * native/jni/native-lib/cpnet.c - (cpnet_getHostByName): Fixed error detection. - - * native/jni/native-lib/cpnet.h - (cpnet_newIPV4address, cpnet_newIPV6address): Put zero in the - memory. - (cpnet_IPV4AddressToBytes): Fixed types. - - 2006-06-10 Guilhem Lavaux - - * native/jni/native-lib/cpio.c - (cpio_openDir, cpio_closeDir, cpio_readDir): Implemented. - - * native/jni/native-lib/cpnet.h: - (cpnet_bytesToIPV4Address): Fixed type casting to avoid being - messed by signs in jbyte. - - * native/jni/native-lib/cpproc.h - (CPIO_EXEC_NUM_PIPES): Compilation fix. - - 2006-05-09 Guilhem Lavaux - - * native/jni/native-lib/cpnet.c - (cpnet_getSocketTimeout, cpnet_setSocketTimeout): Reimplemented. - (waitForWritable, waitForReadable): New functions. - (socketTimeouts): New static global table to hold timeouts for all - socket fds. - (cpnet_accept,cpnet_bind,cpnet_sendTo,cpnet_recv,cpnet_recvFrom): - Added waitForXXXX safeguards to handle socket timeouts. - - * native/jni/java-net/javanet.c - (_javanet_accept): Check for the right error value when a timeout - occurs. - - 2006-03-25 Guilhem Lavaux - - * native/jni/java-io/Makefile.am, - native/jni/java-lang/Makefile.am, - native/jni/java-net/Makefile.am, - native/jni/java-nio/Makefile.am: Link to libclasspathnative.la now. - - * native/jni/native-lib/Makefile.am: Added cpproc.c - - * native/jni/native-lib/cpio.c: Implemented missing functions for - CPIO. - - * native/jni/native-lib/cpnet.c - (cpnet_getHostByName): Fixed address array initialization. - - * native/jni/native-lib/cpproc.c: Implemented. - - 2006-02-19 Guilhem Lavaux - - * configure.ac: Invoke GCC_ATTRIBUTE_UNUSED. - - * m4/gcc_attribute.m4: New file from ac_archive. - - * native/jni/java-net/javanet.c: Adapted to cpnet API - modification. - - * native/jni/native-lib/cpnet.c: Implemented. - - * native/jni/native-lib/cpnet.h - (cpnet_openSocketDatagram, - cpnet_openSocketStream): These calls need an address family now. - (cpnet_IPV4AddressToBytes, - cpnet_bytesToIPV4Address): Convert the address to network order. - - 2006-02-19 Guilhem Lavaux - - * native/jni/java-io/java_io_VMFile.c, - native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c, - native/jni/midi-dssi/dssi_data.h, - native/jni/native-lib/cpio.c, - native/jni/native-lib/cpmath.h: Removed cpmath - dependency. Fixed coding style. - - 2006-02-18 Guilhem Lavaux - - * native/jni/java-lang/java_lang_VMProcess.c: Removed TARGET - dependency. Simplified the JNI code by moving some part into the - native layer. - - * native/jni/native-lib/cpproc.h: New interface to handle processes. - - 2006-02-18 Guilhem Lavaux - - * native/jni/java-net/java_net_VMInetAddress.c: Fixed compilation - errors. Removed any remaining TARGET invocations. - - * native/jni/java-net/javanet.c - (_javanet_create_inetaddress): Removed spurious arr and - octets. Fixed compilation errors. - - * native/jni/native-lib/cpnet.h - (cpnet_getHostname, cpnet_getHostByName, cpnet_getHostByAddr, - cpnet_setIPV4Any, cpnet_freeAddresses, cpnet_isIPV6Address, - cpnet_isIPV4Address): New functions. - (cpnet_bytesToIPV4Address): Fixed interface to be consistent with - the rest. - - 2006-01-28 Guilhem Lavaux - - * native/jni/java-io/java_io_VMFile.c, - native/jni/java-net/gnu_java_net_VMPlainDatagramSocketImpl.c, - native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c, - native/jni/java-net/javanet.c, - native/jni/java-net/javanet.h: Adapted the VM layer code - to the new native layer. - - * native/jni/native-lib/cpnet.h - (cpnet_addMembership, - cpnet_dropMembership, - cpnet_getAvailableBytes): Added the declarations of - some new functions. - (cpnet_newIPV6Address, - cpnet_IPV6AddressToBytes, - cpnet_bytesToIPV6Address): Implemented. - (cpnet_newIPV4Address): Initialize the sin_family field. - - 2006-01-28 Guilhem Lavaux - - * native/target: Removed. - - * configure.ac: Removed target from CLASSPATH_INCLUDES and - Makefile generation. - - * native/jni/native-lib/Makefile.am, - native/jni/native-lib/cpnet.h, - native/jni/native-lib/cpnet.c - native/jni/native-lib/cpio.h, - native/jni/native-lib/cpio.c, - native/jni/native-lib/cpmath.h: Imported new native compatibility - layer. - -2006-08-21 Roman Kennke - - * gnu/javax/swing/text/html/css/CSSParser.java: - New class. - * gnu/javax/swing/text/html/css/CSSParserCallback.java: - New interface. - * gnu/javax/swing/text/html/css/CSSParserException.java: - New exception. - * gnu/javax/swing/text/html/css/CSSScanner.java: - Adjusted API comments. Made all constants package private. - (EOF): New constant field. - (parseBuffer): Made package private. - (tokenEnd): Made package private. - (CSSScanner): Initialize lookahead buffer with -1. - (main): Print out to System.out rather then System.err. - (nextToken): Push back character after IDENT. - -2006-08-21 Jeroen Frijters - - * java/io/File.java (normalizePath): Fixed handling of "//" and "\\". - -2006-08-21 Roman Kennke - - * gnu/javax/swing/text/html/css/CSSScanner.java - (main): Use buffered input stream. - (nextToken): Removed 65536 workaround. Use int value directly - without cast to char. - (readComment): Use int value directly without cast to char. - Cast to char only when putting the character into the buffer. - (readEscape): Likewise. - (readIdent): Likewise. - (readName): Likewise. - (readNum): Likewise. - (readString): Likewise. - (readWhitespace): Likewise. - -2006-08-21 Ingo Proetel - - * java/io/InputStreamReader.java - (bytesCache): New field. - (cacheLock): New field. - (read(byte[],int,int): Avoid allocations of new byte - array on every call and reuse cached byte array if possible. - -2006-08-21 Roman Kennke - - * gnu/java/net/local/LocalSocketImpl.java - Only load native lib if this is supported by runtime. - * native/jni/java-net/local.c - Include config.h unconditionally. - * native/jni/java-net/gnu_java_net_local_LocalSocketImpl.c - Include config.h unconditionally. - -2006-08-21 Friedjof Siebert - - * java/io/ObjectInputStream.java - (objectLookupTable): Changed to be a Vector. - (ObjectInputStream): Initialize objectLookupTable as Vector. - (assignNewHandle): Store Object using handle index rather than - Hashtable, using the new rememberHandle() method. - (hierarchy): New method. This replaces inputGetObjectStreamClasses() - with a caching in ObjectStreamClass. - (inputGetObjectStreamClass): Replaced by hierarchy(). - (lookupHandle): New method. Looks up an object by it's handle - index. - (parseContent): Avoid creating of Integer objects. Use - hierarchy() method for looking up the class hierarchy. - (processResolution): Use rememberHandle() to store - handle per index, rather than Hashtabling the object. - (readFields): - (rememberHandle): New method. - * java/io/ObjectOutputStream.java - (OIDLookupTable): Use ObjectIdentityMap2Int instead of - Hashtable for improved lookup performance. - (ObjectOutputStream): Initialize OIDLookupTable as - ObjectIdentityMap2Int. - (assignNewHandle): Change to use ObjectIdentityMap2Int. - (findHandle): Change to use ObjectIdentityMap2Int. - (getBooleanField): Removed. - (getByteField): Removed. - (getCharField): Removed. - (getDoubleField): Removed. - (getField): Removed. - (getFloatField): Removed. - (getIntField): Removed. - (getLongField): Removed. - (getObjectField): Removed. - (writeFields(Object,ObjectStreamClass)): Use new helper method. - (writeFields(Object,ObjectStreamField)): New helper method. - Use switch rather then if-else cascade. - (writeObject): Use int handle, rather then Integer. - * java/io/ObjectStreamClass.java - (hierarchy): New field. Caches the class hierarchy. - (methodCache): New field. Caches methods. - (readObjectSignature): New field. Stores the read signature. - (uidCache): New field. Caches UIDs. - (writeObjectSignature): New field. Stores the write signature. - (cacheMethods): Cache methods in methodCache. - (calculateClassID): Outsourced from getClassUID() - for computing the UIDs. - (getClassUIDFromField): Outsourced from getClassUID() for - fetching the UID from the class field. - (getClassUID): Use cached uid if possible. Use new helper - methods for fetching the UID from the field or computing - from scratch. - (getObjectStreamClasses): Removed. Replaced by more - efficient hierarchy() method, that also caches the result. - (hierarchy): Replaces getObjectStreamClasses() for caching - the result. - (loadedByBootOrApplicationClassLoader): New helper method. - (setClass): Invalidate hierarchy cache. - (setSuperclass): Invalidate hierarchy cache. - * java/io/ObjectStreamField.java - (field): Made field package private for access from other - classes. - * gnu/java/io/ObjectIdentityWrapper.java: Removed. - * gnu/java/io/ObjectIdentityMap2Int.java: Efficient - hashtable for mapping objects to ints. - -2006-08-21 Roman Kennke - - * java/io/File.java - (getAbsolutePath): Fetch absolute path from - VMFile.getAbsolutePath(). Moved actual impl to there. - (isAbsolute): Let VMFile determine the absoluteness. - (toURL): Let VMFile convert the filename. - * vm/reference/java/io/VMFile.java - (getAbsolutePath): New method. - (isAbsolute): New method. - (toURL): New method. - -2006-08-21 Jeroen Frijters - - * NEWS: Added note about updated VM interface. - -2006-08-20 Andrew John Hughes - - * java/lang/management/ManagementFactory.java: - Updated documentation. - -2006-08-20 Ito Kazumitsu - - Fixes bug #28412 - * gnu/java/util/regex/CharIndexed.java(move1, setHitEnd, hitEnd): - New methods. - * gnu/java/util/regex/CharIndexedCharSequence.java, - gnu/java/util/regex/CharIndexedInputStream.java: Implemented the - new methods above. - * gnu/java/util/regex/RE.java(REG_FIX_STARTING_POSITION): New flag, - (match): call the new method setHitEnd of the input, - (getMatchImpl): Handle the new flag REG_FIX_STARTING_POSITION, - Some optimization commented out, Use CharIndexed#move1 instead of move. - * gnu/java/util/regex/REMatch.java: Made some debugging methods public. - * gnu/java/util/regex/REToken.java(match): The method body has been - moved to an internal private method, (matchFake): New method, - (setHitEnd): New method. - * gnu/java/util/regex/RETokenChar.java(matchThis): Call setHitEnd - if the match is not complete, (matchOneString): Count the number of - characters which matched the pattern. - * gnu/java/util/regex/RETokenEnd.java(fake): New field, - (setFake): New method, (match): Call super.match or super.matchFake. - * gnu/java/util/regex/RETokenEndSub.java(setHitEnd): New method. - * gnu/java/util/regex/RETokenOneOf.java(match): call the new method - setHitEnd of the input, - * gnu/java/util/regex/RETokenRepeated.java(match): Likewise. - * java/util/regex/Matcher.java(lookingAt, match): Use the new flag - RE.REG_FIX_STARTING_POSITION, (hitEnd, toString): New methods. - -2006-08-18 Tom Tromey - - * gnu/javax/swing/text/html/css/CSSScanner.java (readWhitespace): Push - the 'int', not the cast char. - -2006-08-18 Roger Sayle - - * scripts/check_jni_methods.sh: Don't use the "set -C" command - which isn't available in all shells. - -2006-08-18 Roger Sayle - - * lib/Makefile.am (resources): Fix some shell portability issues. - -2006-08-18 Thomas Fitzsimmons - - * configure.ac (tool-wrappers): Check for ltdl support when tool - wrapper binaries are enabled. - * tools/Makefile.am (LIBJVM): Remove variable. - (AM_CPPFLAGS): Add LIBJVM define. - (gappletviewer_LDFLAGS, gjarsigner_LDFLAGS, gkeytool_LDFLAGS, - gjar_LDFLAGS, gnative2ascii_LDFLAGS, gserialver_LDFLAGS, - gjavah_LDFLAGS): Remove variables. - * tools/toolwrapper.c (main): Use dlopen to load libjvm library. - -2006-08-18 Tom Tromey - - * gnu/java/util/prefs/NodeWriter.java (writeParents): Removed - debugging prints. - * gnu/java/util/prefs/NodeReader.java (readNodes): Removed debugging - print. - (readEntries): Likewise. - -2006-08-17 Roman Kennke - - * javax/swing/plaf/basic/BasicTabbedPaneUI.java - (layoutLabel): Reset the text and icon rectangles. - -2006-08-17 Thomas Fitzsimmons - - PR classpath/28537 - * native/plugin/Makefile.am (libgcjwebplugin_la_CXXFLAGS): - Transform gappletviewer name using program_transform_name. - -2006-08-17 Jeroen Frijters - - * javax/swing/filechooser/FileSystemView.java - (getFileSystemView): Always return UnixFileSystemView, since - that's the only one we got. Marked with NotImplementedException. - * javax/swing/plaf/basic/BasicFileChooserUI.java - (mouseClicked, installUI): Don't parse path by hand. - -2006-08-17 Roman Kennke - - * javax/swing/JComponent.java - (scrollRectToVisible): Handle intermediate non-JComponents - more gracefully. - -2006-08-17 Roman Kennke - - * javax/swing/RepaintManager.java - (blitBuffer): Removed. This is now done in commitBuffer(). - (commitBuffer): Always paint on the root window or applet. - No need to look for intermediate heavyweights. Optimized - rectangle translation. - (commitRemainingBuffers): Removed. Not needed anymore. - (getHeavyweightParent): Removed. Not needed anymore. - (getOffscreenBuffer): Fetch offscreen image from the - actual root component. - (paintDirtyRegions): Don't call commitRemainingBuffers(). - -2006-08-17 Roman Kennke - - * javax/swing/SwingUtilities.java - (clipString): New helper method for trimming strings. - (layoutCompoundLabelImpl): Fixed algorithm to conform - testsuites. Trim text if it's too long. Avoid creating - new Rectangles. Optimized for performance. - (layoutCompoundLabel): Use switch rather then if-else-chain. - * javax/swing/plaf/basic/BasicButtonUI.java - (viewR): New field. - (iconR): New field. - (textR): New field. - (paint): Reset and use cached rectangles. Only call paintIcon() - if icon is not null. Don't call paintButtonPressed() when - button is selected, only when it is both armed and pressed. - * javax/swing/plaf/basic/BasicGraphicsUtils.java - (getPreferredButtonSize): Reused cached rectangles rather - then creating new ones. Don't create new Rectangle via - Rectangle.union(). - * javax/swing/plaf/basic/BasicLabelUI.java - (getPreferredSize): Correctly reset cached rectangles. Especially - the view rect must have a big size to give it room for layouting. - Short cut layout when text == null. - (paint): Correctly reset cached rectangles. - * javax/swing/plaf/basic/BasicMenuItemUI.java - (resetRectangles): New helper method. - (getPreferredMenuItemSize): Correctly reset the cached rectangles. - (paintMenuItem): Correctly reset the cached rectangles. - * javax/swing/plaf/basic/BasicRadioButtonUI.java - (getPreferredSize): Use cached Rectangle objects and initialize - them correctly. - (paint): Use cached Rectangle objects and initialize - them correctly. - -2006-08-17 David Gilbert - - * java/util/Calendar.java: API doc additions. - -2006-08-17 Robert Schuster - - * javax/swing/DefaultButtonModel.java: - (setRollover): Simplified statement. - -2006-08-17 Jeroen Frijters - - * gnu/java/rmi/server/RMIClassLoaderImpl.java - (loadClass): Rewritten to use getClassLoader. - (loadProxyClass): Implemented. - (getClassLoader): Fixed support for null or empty codebase. - * gnu/java/rmi/server/RMIObjectInputStream.java - (resolveClass): Use user class loader as default class loader. - (resolveProxyClass): Delegate to RMIClassLoader.loadProxyClass. - * gnu/javax/rmi/CORBA/UtilDelegateImpl.java - (loadClass): Simplified and use user class loader instead of - context class loader as default. - * java/io/ObjectInputStream.java - (currentLoader): Use VMStackWalker.firstNonNullClassLoader(). - * vm/reference/gnu/classpath/VMStackWalker.java - (firstNonNullClassLoader): New method. - * vm/reference/java/io/VMObjectInputStream.java - (loaderAction, currentClassLoader): Removed. - -2006-08-17 Robert Schuster - - * javax/swing/plaf/basic/BasicTabbedPaneUI.java: - (getTabBounds(JTabbedPane, int)): Added code to shift rectangle - by current scroll offset, added method documention. - (getTabBounds(int, Rectangle)): Added method documentation. - * javax/swing/plaf/metal/MetalTabbedPaneUI.java: - (paintContentBorderLeftEdge): Changed y to 1. - -2006-08-17 Robert Schuster - - * javax/swing/plaf/basic/BasicTabbedPaneUI.java: - (MouseHandler.mouseReleased): Implemented. - (MouseHandler.mousePressed): Added delegation to tabbed pane. - (MouseHandler.mouseEntered): Dito. - (MouseHandler.mouseExited): Dito. - (MouseHandler.mouseMoved): Dito. - (MouseHandler.redispatchEvent): New method. - (PropertyChangeHandler.propertyChange): Added extra block level, - added code to handle tab placement changes, added comment. - (updateViewPosition): Set unneeded coordinate to 0, added comment. - -2006-08-16 Roman Kennke - - * gnu/javax/swing/text/html/css/CSSScanner.java: New file. - * gnu/javax/swing/text/html/css/CSSLexicalException.java: - New file. - -2006-08-16 Mark Wielaard - - * java/awt/Component.java (orientation): Renamed to - componentOrientation. - (setComponentOrientation): Use new field name. - (getComponentOrientation): Likewise. - -2006-08-16 Roman Kennke - - PR 28750 - * javax/swing/plaf/basic/BasicTreeUI.java - (CellEditorHandler.editingCancelled): Call completeEditing - directly. - (CellEditorHandler.editingStopped): Call completeEditing - directly. - (NodeDimensionHandler.getNodeDimensions): Rewritten - to use the preferred sizes of the renderer and editor. - (TreeExpansionHandler.treeCollapsed): Complete editing - here. - (TreeSelectionHandler.valueChanged): Complete editing - here. - (cancelEditing): Call completeEditing with false, false and - false. Don't call finish (removed method). - (completeEditing(boolean,boolean,boolean): Only do something when - stopEditingInCompleteEditing is true. Nullify editingComponent - and editingPath. Remove editingComponent from tree. Update - the layout when necessary and repaint. - (completeEditing): Stop editing when necessary. - (editorRequestFocus): New helper method. Request focus - on the actual editor. - (finish) Removed. This is now done in completeEditing(). - (prepareForUIInstall): Set stopEditingInCompleteEditing to true. - (setLargeModel): Complete editing here. - (setRootVisible): Complete editing here. - (setRowHeight): Complete editing here. - (setSelectionModel): Complete editing here. - (startEditing): Correctly initialize and start editing. - (updateExpandedDescendants): Complete editing here. - * javax/swing/tree/DefaultTreeCellEditor.java - (DefaultTextField): Fetch size from super and use renderer's height - if appropriate. - (EditorContainer.EditorContainer): Set layout to null, just - to make sure. - (EditorContainer.doLayout): Layout so that the editor - is offset to the right of the icon. - (EditorContainer.getPreferredSize): Implemented to - provide a reasonable preferred size. - (EditorContainer.paint): Position icon in the middle. - Also paint border if appropriate. - (EditorContainer.setBounds): Removed. - (RealEditorListener): Removed. - (DefaultTreeCellEditor): Set correct border. - (cancelCellEditing): Message real editor. Call finish(). - (createCellEditor): Don't add listener. - (determineOffset): Correctly determine offset, and update - the icon. - (finish): New helper method. - (getTreeCellEditorComponent): Set correct font. Call - prepareForEditing() and determineOffset() to correctly initialize - the state. - (stopCellEditing): Messsage realEditor to stop editing. Call - finish to clean up. - (stopEditingTimer): Removed. - (valueChanged): Correctly reset lastPath. - * javax/swing/tree/DefaultTreeCellRenderer.java - (getPreferredSize): Return super plus some extra space for - better readability. - -2006-08-16 Roman Kennke - - * javax/swing/plaf/metal/MetalTreeUI.java - (LineStyleListener): New property listener, that updates - the line style setting if the corresponding property - changes. - (lineStyleListener): New field. - (lineStyle): New field. - (LINE_STYLE_ANGLED): New constant field. - (LINE_STYLE_HORIZONTAL): New constant field. - (LINE_STYLE_NONE): New constant field. - (LINE_STYLE_VALUE_ANGLED): New constant field. - (LINE_STYLE_VALUE_HORIZONTAL): New constant field. - (LINE_STYLE_VALUE_NONE): New constant field. - (LINE_STYLE_PROPERTY): New constant field. - (decodeLineStyle): Implemented. - (installUI): Install line style listener. Set initial - lineStyle. - (uninstallUI): Uninstall line style listener. - (paintHorizontalPartOfLeg): Only call super for angled - lineStyle. - (paintVerticalPartOfLeg): Only call super for angled - lineStyle. - (paintHorizontalSeparators): Implemented. - (paint): If lineStyle==HORIZONTAL, call - paintHorizontalSeparators(). - * examples/gnu/classpath/examples/swing/TreeDemo.java - (createContent): Add panel for selecting line styles. - -2006-08-16 Robert Schuster - - * examples/gnu/classpath/demo/swing/TabbedPaneDemo.java: - (createContent): Rewritten. - (createPlacementChangingMenuItem): New method. - (createLayoutPolicyChangingMenuItem): New method. - (createTabbedPane): New method. - (createTabContent): New method. - -2006-08-16 Robert Schuster - - * javax/swing/plaf/basic/BasicTabbedPaneUI.java: - (MouseHandler.mousePressed): Fixed indentation, intercept clicks on - disabled tabs, do proper revalidation in WRAP_TAB_LAYOUT mode. - -2006-08-16 Robert Schuster - - * javax/swing/text/WrappedPlainView.java: - (WrappedLine.modelToView): Provide variable pos as argument and not a fixed value. - (calculateBreakPosition): Add p0 to return value. - -2006-08-15 Roman Kennke - - * javax/swing/plaf/basic/BasicTreeUI.java - (MouseHandler.selectedOnPress): New field. - (MouseHandler.handleEvent): New helper method for handling - selection and start/stop editing for mouse events. - (MouseHandler.mouseDragged): Commented as no-op method. - (MouseHandler.mouseMoved): Commented as no-op method. - (MouseHandler.mousePressed): Use handleEvent() to handle - selection and editing handling. - (MouseHandler.mouseReleased): Use handleEvent() to handle - selection and editing handling. - (MouseInputHandler.MouseInputHandler): Register itself - as mouse listener on source. Redispatch event to - destination. - (MouseInputHandler.dispatch): New helper method. - (MouseInputHandler.mouseClicked): Dispatch event. - (MouseInputHandler.mouseDragged): Dispatch event. - (MouseInputHandler.mouseEntered): Stop dispatching - if dragging stopped. - (MouseInputHandler.mouseExited): Stop dispatching - if dragging stopped. - (MouseInputHandler.mouseMoved): Stop dispatching. - (MouseInputHandler.mousePressed): Marked as no-op. - (MouseInputHandler.mouseReleased): Dispatch and stop - dispatching afterwards. - (MouseInputHandler.removeFromSource): Implemented. - (PropertyChangeHandler.propertyChange): Also handle - editable property changes by calling setEditable(). - (SelectionModelPropertyChangeHandler.propertyChange): - Reset row selection. - (startEditTimer): Removed. - (setCellEditor): Call updateEditor(). - (setEditable): Call updateEditor(). - (startEditingAtPath): Make path fully visible before starting - editing. - (startEditing): Maybe cancel previous edit session. Add - editing component itself, not its parent container. - Register MouseInputHandler for correctly redispatching - initial events. - (stopEditing): Message cellEditor and only completeEditing() - when approved by cell editor. - (updateCellEditor): Complete editing before updating - the cell editor. Get cell editor from JTree if possible, - otherwise create default editor. Update the listeners - on the editor. - * javax/swing/tree/DefaultTreeCellEditor.java - (CLICK_COUNT_TO_START): Removed. - (DefaultTreeCellEditor): Install correct border. Let setTree() - update the listeners. Don't initialize lastPath and font yet. - (actionPerformed): Implemented to start editing. - (createTreeCellEditor): Set click count to start to 1, rather than - 3. - (isCellEditable): Prepare editor here. Determine if we can - start immediately, or if we trigger a timer to do so. - (prepareForEditing): Don't removeAll() (not necessary), - check editingComponent to be non-null. - (setTree): Update listeners. - (shouldStartEditingTimer): Check for left mouse button. - (startEditingTimer): Lazily create timer. - -2006-08-15 Lillian Angel - - * java/awt/dnd/DropTargetDragEvent.java - (getTransferable): Implemented. - -2006-08-15 Roman Kennke - - * java/util/Vector.java - (removeAll): Added comment about NPE. - (retainAll): Added comment about NPE. - -2006-08-15 Roman Kennke - - * java/util/zip/ZipFile.java - (UTF8DECODER): Removed. - (UTF8CHARSET): New constant field. Stores the UTF8 charset. - (utf8Decoder): New instance field. - (decodeChars): Lazily create UTF8 decoder. Use instance - field rather than a static field to avoid corruption. - -2006-08-15 Roman Kennke - - * java/io/PrintStream.java - (line_separator): Provide default for system property. - * java/io/FileDescriptor.java - (valid): Create local copy of channel field for better - threading safetly. - -2006-08-15 Ingo Proetel - - * java/util/zip/ZipFile.java - (PartialInputStream.UTF8DECODER): New constant field, used - for decoding UTF8 strings. - (readLeShort): Access buffer directly if it has enough bytes - available. - (readLeInt): Access buffer directly if it has enough bytes - available. - (decodeChars): New helper method for decoding UTF8 strings. - (readString): Avoid NIO charset decoder if possible. - -2006-08-15 Roman Kennke - - * java/util/Vector.java - (removeAll): Don't explicitly null-check here. The RI allows - null arguments when Vector is empty. In other cases we - implicitly throw an NPE. - (retainAll): Don't explicitly null-check here. The RI allows - null arguments when Vector is empty. In other cases we - implicitly throw an NPE. - -2006-08-14 Casey Marshall - - Merge in ssl-nio-branch work. See `ChangeLog-ssl-nio' for a record - of changes made on this branch. - Files modified: - * gnu/classpath/debug/Component.java - * gnu/classpath/debug/SystemLogger.java - * gnu/java/security/action/GetPropertyAction.java - * gnu/java/security/action/GetSecurityPropertyAction.java - * gnu/javax/crypto/RSACipherImpl.java - * gnu/javax/net/ssl/PrivateCredentials.java - * gnu/javax/net/ssl/provider/Alert.java - * gnu/javax/net/ssl/provider/AlertException.java - * gnu/javax/net/ssl/provider/Certificate.java - * gnu/javax/net/ssl/provider/CertificateRequest.java - * gnu/javax/net/ssl/provider/CertificateType.java - * gnu/javax/net/ssl/provider/CertificateVerify.java - * gnu/javax/net/ssl/provider/CipherSuite.java - * gnu/javax/net/ssl/provider/ClientHello.java - * gnu/javax/net/ssl/provider/ClientKeyExchange.java - * gnu/javax/net/ssl/provider/CompressionMethod.java - * gnu/javax/net/ssl/provider/Constructed.java - * gnu/javax/net/ssl/provider/ContentType.java - * gnu/javax/net/ssl/provider/DiffieHellman.java - * gnu/javax/net/ssl/provider/Extension.java - * gnu/javax/net/ssl/provider/Finished.java - * gnu/javax/net/ssl/provider/Handshake.java - * gnu/javax/net/ssl/provider/Jessie.java - * gnu/javax/net/ssl/provider/ProtocolVersion.java - * gnu/javax/net/ssl/provider/Random.java - * gnu/javax/net/ssl/provider/ServerHello.java - * gnu/javax/net/ssl/provider/ServerKeyExchange.java - * gnu/javax/net/ssl/provider/Signature.java - * gnu/javax/net/ssl/provider/Util.java - * gnu/javax/net/ssl/provider/X509KeyManagerFactory.java - * gnu/javax/net/ssl/provider/X509TrustManagerFactory.java - * java/security/MessageDigest.java - * java/security/MessageDigestSpi.java - * java/security/Signature.java - * java/security/SignatureSpi.java - * javax/crypto/Mac.java - * javax/crypto/MacSpi.java - * javax/net/ssl/HandshakeCompletedEvent.java - * javax/net/ssl/HttpsURLConnection.java - * javax/net/ssl/SSLContext.java - * javax/net/ssl/SSLContextSpi.java - * javax/net/ssl/SSLSession.java - Files added: - * gnu/javax/net/ssl/provider/ServerKeyExchangeBuilder.java - * gnu/javax/net/ssl/provider/SSLv3HMacSHAImpl.java - * gnu/javax/net/ssl/provider/SimpleSessionContext.java - * gnu/javax/net/ssl/provider/ServerRSAParams.java - * gnu/javax/net/ssl/provider/SSLContextImpl.java - * gnu/javax/net/ssl/provider/ServerDHParams.java - * gnu/javax/net/ssl/provider/ClientHelloBuilder.java - * gnu/javax/net/ssl/provider/ClientDHE_PSKParameters.java - * gnu/javax/net/ssl/provider/SignatureAlgorithm.java - * gnu/javax/net/ssl/provider/CipherSuiteList.java - * gnu/javax/net/ssl/provider/ServerNameList.java - * gnu/javax/net/ssl/provider/SSLServerSocketImpl.java - * gnu/javax/net/ssl/provider/CompressionMethodList.java - * gnu/javax/net/ssl/provider/ServerRSA_PSKParameters.java - * gnu/javax/net/ssl/provider/ClientKeyExchangeBuilder.java - * gnu/javax/net/ssl/provider/TrustedAuthorities.java - * gnu/javax/net/ssl/provider/CertificateStatusRequest.java - * gnu/javax/net/ssl/provider/ServerHelloDone.java - * gnu/javax/net/ssl/provider/ServerDHE_PSKParameters.java - * gnu/javax/net/ssl/provider/SSLSocketImpl.java - * gnu/javax/net/ssl/provider/ServerHelloBuilder.java - * gnu/javax/net/ssl/provider/Record.java - * gnu/javax/net/ssl/provider/SSLRSASignatureImpl.java - * gnu/javax/net/ssl/provider/EncryptedPreMasterSecret.java - * gnu/javax/net/ssl/provider/PreSharedKeyManagerFactoryImpl.java - * gnu/javax/net/ssl/provider/KeyExchangeAlgorithm.java - * gnu/javax/net/ssl/provider/SSLServerSocketFactoryImpl.java - * gnu/javax/net/ssl/provider/CertificateBuilder.java - * gnu/javax/net/ssl/provider/ClientRSA_PSKParameters.java - * gnu/javax/net/ssl/provider/CertificateStatusType.java - * gnu/javax/net/ssl/provider/ExtensionList.java - * gnu/javax/net/ssl/provider/ClientCertificateTypeList.java - * gnu/javax/net/ssl/provider/ClientPSKParameters.java - * gnu/javax/net/ssl/provider/X500PrincipalList.java - * gnu/javax/net/ssl/provider/ServerHandshake.java - * gnu/javax/net/ssl/provider/ClientDiffieHellmanPublic.java - * gnu/javax/net/ssl/provider/SessionImpl.java - * gnu/javax/net/ssl/provider/SSLSocketFactoryImpl.java - * gnu/javax/net/ssl/provider/ServerPSKParameters.java - * gnu/javax/net/ssl/provider/TruncatedHMAC.java - * gnu/javax/net/ssl/provider/MaxFragmentLength.java - * gnu/javax/net/ssl/provider/HelloRequest.java - * gnu/javax/net/ssl/provider/ServerKeyExchangeParams.java - * gnu/javax/net/ssl/provider/UnresolvedExtensionValue.java - * gnu/javax/net/ssl/provider/CipherAlgorithm.java - * gnu/javax/net/ssl/provider/ClientHandshake.java - * gnu/javax/net/ssl/provider/ExchangeKeys.java - * gnu/javax/net/ssl/provider/CertificateURL.java - * gnu/javax/net/ssl/provider/EmptyExchangeKeys.java - * gnu/javax/net/ssl/provider/CertificateRequestBuilder.java - * gnu/javax/net/ssl/provider/SSLv3HMacMD5Impl.java - * gnu/javax/net/ssl/provider/Builder.java - * gnu/javax/net/ssl/provider/Debug.java - * gnu/javax/net/ssl/provider/SSLEngineImpl.java - * gnu/javax/net/ssl/provider/MacAlgorithm.java - * gnu/javax/net/ssl/provider/DelegatedTask.java - * gnu/javax/net/ssl/provider/InputSecurityParameters.java - * gnu/javax/net/ssl/provider/ClientHelloV2.java - * gnu/javax/net/ssl/provider/OutputSecurityParameters.java - * gnu/javax/net/ssl/provider/AbstractHandshake.java - * javax/net/ssl/SSLEngine.java - * javax/net/ssl/CertPathTrustManagerParameters.java - * javax/net/ssl/KeyStoreBuilderParameters.java - * javax/net/ssl/X509ExtendedKeyManager.java - * javax/net/ssl/SSLEngineResult.java - * gnu/javax/net/ssl/PreSharedKeyManager.java - * gnu/javax/net/ssl/Session.java - * gnu/javax/net/ssl/PreSharedKeyManagerParameters.java - * gnu/javax/net/ssl/SSLCipherSuite.java - * gnu/javax/net/ssl/AbstractSessionContext.java - * gnu/javax/net/ssl/SessionStoreException.java - * gnu/javax/net/ssl/SSLRecordHandler.java - * gnu/javax/net/ssl/SSLProtocolVersion.java - * gnu/javax/crypto/key/GnuPBEKey.java - * gnu/java/security/util/ByteBufferOutputStream.java - * gnu/java/security/Requires.java - * gnu/javax/security/auth/callback/CertificateCallback.java - Files removed: - * gnu/javax/net/ssl/provider/Context.java - * gnu/javax/net/ssl/provider/DigestInputStream.java - * gnu/javax/net/ssl/provider/DigestOutputStream.java - * gnu/javax/net/ssl/provider/Enumerated.java - * gnu/javax/net/ssl/provider/Extensions.java - * gnu/javax/net/ssl/provider/GNUSecurityParameters.java - * gnu/javax/net/ssl/provider/JCESecurityParameters.java - * gnu/javax/net/ssl/provider/JDBCSessionContext.java - * gnu/javax/net/ssl/provider/JessieDHPrivateKey.java - * gnu/javax/net/ssl/provider/JessieDHPublicKey.java - * gnu/javax/net/ssl/provider/JessieRSAPrivateKey.java - * gnu/javax/net/ssl/provider/JessieRSAPublicKey.java - * gnu/javax/net/ssl/provider/KeyPool.java - * gnu/javax/net/ssl/provider/OverflowException.java - * gnu/javax/net/ssl/provider/RecordInput.java - * gnu/javax/net/ssl/provider/RecordInputStream.java - * gnu/javax/net/ssl/provider/RecordOutputStream.java - * gnu/javax/net/ssl/provider/RecordingInputStream.java - * gnu/javax/net/ssl/provider/SSLRSASignature.java - * gnu/javax/net/ssl/provider/SSLServerSocket.java - * gnu/javax/net/ssl/provider/SSLServerSocketFactory.java - * gnu/javax/net/ssl/provider/SSLSocket.java - * gnu/javax/net/ssl/provider/SSLSocketFactory.java - * gnu/javax/net/ssl/provider/SSLSocketInputStream.java - * gnu/javax/net/ssl/provider/SSLSocketOutputStream.java - * gnu/javax/net/ssl/provider/SecurityParameters.java - * gnu/javax/net/ssl/provider/Session.java - * gnu/javax/net/ssl/provider/SessionContext.java - * gnu/javax/net/ssl/provider/SynchronizedRandom.java - * gnu/javax/net/ssl/provider/XMLSessionContext.java - -2006-08-14 Roman Kennke - - * javax/swing/plaf/basic/BasicSplitPaneDivider.java - (DividerLayout.layoutContainer): Removed debug output. - * javax/swing/plaf/basic/BasicSplitPaneUI.java - (BasicHorizontalLayoutManager.axis): New field. - (BasicHorizontalLayoutManager.BasicHorizontalLayoutManager(int)): - New constructor. - (BasicHorizontalLayoutManager.BasicHorizontalLayoutManager()): - Call new axis constructor. - (BasicHorizontalLayoutManager.getAvailableSize): Refactored to - handle direction. - (BasicHorizontalLayoutManager.getInitialLocation): Refactored to - handle direction. - (BasicHorizontalLayoutManager.getPreferredSizeOfComponent): - Refactored to handle direction. - (BasicHorizontalLayoutManager.getSizeOfComponent): Refactored - to handle direction. - (BasicHorizontalLayoutManager.minimumLayoutSize): Refactored to - handle direction. - (BasicHorizontalLayoutManager.preferredLayoutSize): Refactored - to handle direction. - (BasicHorizontalLayoutManager.minimumSizeOfComponent): Refactored - to handle direction. - (BasicHorizontalLayoutManager.setComponentToSize): Refactored - to handle direction. - (BasicHorizontalLayoutManager.updateComponents): Don't reset - divider size. - (BasicVerticalLayoutManager.BasicVerticalLayoutManager): - New explicit constructor. Calls super with vertical axis. - (BasicVerticalLayoutManager.getAvailableSize): Functionality moved - to BasicHorizontalLayoutManager. - (BasicVerticalLayoutManager.getInitialLocation): Functionality - moved to BasicHorizontalLayoutManager. - (BasicVerticalLayoutManager.getPreferredSizeOfComponent): - Functionality moved to BasicHorizontalLayoutManager. - (BasicVerticalLayoutManager.getSizeOfComponent): Functionality - moved to BasicHorizontalLayoutManager. - (BasicVerticalLayoutManager.minimumLayoutSize): Functionality - moved to BasicHorizontalLayoutManager. - (BasicVerticalLayoutManager.minimumSizeOfComponent): - Functionality moved to BasicHorizontalLayoutManager. - (BasicVerticalLayoutManager.preferredLayoutSize): Functionality - moved to BasicHorizontalLayoutManager. - (BasicVerticalLayoutManager.setComponentToSize): Functionality - moved to BasicHorizontalLayoutManager. - * javax/swing/plaf/metal/MetalSplitPaneDivider.java - (BUTTON_SPRITE): Renamed to BUTTON_SPRITE_L. - (BUTTON_SPRITE_R): New constant field. - (MetalOneTouchButton.paint): Paint R sprite for right buttons, - L sprite for left buttons. - -2006-08-14 Andreas Tobler - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkPixbufDecoder.c - (query_formats): g_free 'name' after usage. - g_strfreev 'ch', the gdk_pixbuf_format_get_extensions instance. - g_strfreev 'ch', the gdk_pixbuf_format_get_mime_types instance. - -2006-08-14 Thomas Fitzsimmons - - PR classpath/27723 - * configure.ac (MOZILLA_FOUND): Add pkg-config check for - seamonkey-plugin. - -2006-08-14 Francis Kung - - PR 28694 - * java/awt/image/ColorModel.java - (coerceData): Added check for non-transparent images. - -2006-08-14 Francis Kung - - * java/awt/image/BandCombineOp.java - (BandCombineOp): Perform checks on validity of matrix. - (createCompatibleDestRaster): Add checks and choose raster type dynamically. - (filter): Updated to work with new matrix storage. - (getMatrix): Updated javadoc. - (getPoint2D): Formatting change. - -2006-08-14 Francis Kung - - * java/awt/image/AffineTransformOp.java - (AffineTransformOp): Updated javadoc. - (createCompatibleDestImage): Match behaviour of reference implementation. - (createCompatibleDestRaster): Formatting changes. - (filter(BufferedImage, BufferedImage)): Create compatible destination image. - (filter(Raster, WritableRaster)): Re-implemented. - (filterBicubic): New private method. - (filterBilinear): New private method. - (filterNearest): New private method. - (getBounds2D): No longer fixed around one point for rotations. - (getInterpolationType): Add support for bicubic interpolation. - -2006-08-14 Roman Kennke - - * javax/swing/plaf/metal/MetalLookAndFeel.java - (MetalLookAndFeel): Moved theme initialization to - getDefaults(). - (createDefaultTheme): Forward to getCurrentTheme(). - (getDefaults): Initialize theme before doing anything else. - (getCurrentTheme): Recognize swing.metalTheme property. - -2006-08-14 Roman Kennke - - * javax/swing/JTable - (getScrollableUnitIncrement): Expose partially exposed - row in scrolling direction. - -2006-08-14 Audrius Meskauskas - - * javax/swing/JTable (getScrollableUnitIncrement): - Removing my name as the whole method body have been - recently completely replaced. - -2006-08-14 Roman Kennke - - PR 28028 - * javax/swing/text/Utilities.java - (getTabbedTextOffset): Don't add p0 here. - -2006-08-14 Roman Kennke - - PR 28719 - * javax/swing/plaf/basic/BasicScrollPaneUI.java - (MouseWheelHandler.mouseWheelMoved): Scroll negative delta - when wheel is going up. - -2006-08-14 Roman Kennke - - PR 28693 - * javax/swing/plaf/basic/BasicSplitPaneDivider.java - (BasicOneTouchButton): New inner class. - (DividerLayout.changeButtonOrientation): Removed. - (DividerLayout.positionButtons): Moved into layoutContainer. - (DividerLayout.layoutContainer): Reworked for correct layout. - (OneTouchAction): New inner class. - (centerOneTouchButtons): New field. - (BasicSplitPaneDivider): Initialize centerOneTouchButton from - UIManager. - (createLeftOneTouchButton): Reimplemented to return - BasicOneTouchButton. - (createRightOneTouchButton): Reimplemented to return - BasicOneTouchButton. - (getPreferredSize): Reimplemented to return fixed preferredSize. - (oneTouchExpandableChanged): Add OneTouchAction action to - buttons. Don't install mouse listeners. - (MouseHandler.mousePressed): Removed handling of one touch buttons. - (paint): Don't trigger extra paint for buttons. - (propertyChange): Revalidate splitPane when orientation is changed. - (setBasicSplitPaneUI): Call oneTouchExpandableChanged only when - oneTouchExpandable is true. - * javax/swing/plaf/basic/BasicSplitPaneUI.java - (installDefaults): Install dividerSize on the divider too. - * javax/swing/plaf/metal/MetalSplitPaneDivider.java - (MetalDividerLayout): Removed. Functionality is already - in BasicSplitPaneDivider.DividerLayout. - (MetalOneTouchButton): New inner class. - (BUTTON_SPRITE): New constant field. - (MetalSplitPaneDivider): Don't change layout. - (createLeftOneTouchButton): Overridden to return custom button - for Metal. - (createRightOneTouchButton): Overridden to return custom button - for Metal. - (paint): Don't trigger button painting. Call super instead. - -2006-08-13 Roman Kennke - - * javax/swing/plaf/basic/BasicTableHeaderUI.java - (installKeyboardAction): Unmarked as stub. Added comment - explaining that the RI seems to do nothing here. - (uninstallKeyboardAction): Unmarked as stub. Added comment - explaining that the RI seems to do nothing here. - -2006-08-13 Roman Kennke - - PR 28135 - * javax/swing/ScrollPaneLayout.java - (layoutContainer): Consider the viewportBorder of the - JScrollPane. - (minimumLayoutSize): Consider the viewportBorder of the - JScrollPane. - (preferredLayoutSize): Consider the viewportBorder of the - JScrollPane. - * javax/swing/plaf/basic/BasicScrollPaneUI.java - (installDefaults): Also install viewportBorder if specified. - (paint): Paint viewportBorder if present. - (uninstallDefaults): Uninstall viewportBorder if appropriate. - Don't nullify foreground, background and font. Uninstall - border via LookAndFeel helper method to avoid uninstall - user set border. - -2006-08-13 Roman Kennke - - PR 28696 - * javax/swing/plaf/basic/BasicHTML.java - (HTMLRootView.HTMLRootView): Trigger initial layout. - (HTMLRootView.setSize): Overridden to forward to real view. - * javax/swing/plaf/basic/BasicToolTipUI.java - (PropertyChangeHandler): New inner class. Updates the HTML - renderer. - (propertyChangeHandler): New field. - (getMaximumSize): Add HTML width delta. - (getMinimumSize): Add HTML width delta. - (getPreferredSize): Reimplemented to use HTML view for size - calculation if appropriate, otherwise use simple stringWidth() - measurement. - (installListeners): Install propertyChangeHandler. - (uninstallListeners): Uninstall propertyChangeHandler. - (installUI): Update HTML renderer. - (uninstallUI): Update HTML renderer. - (paint): Reimplemented to use HTML view for rendering if - appropriate, simple drawString otherwise. - * javax/swing/plaf/metal/MetalToolTipUI.java - (getPreferredSize): Call super and add accelerator delta. - (paint): Simply call super. - -2006-08-13 Roman Kennke - - * javax/swing/JMenu.java - (changeListener): Renamed to menuChangeListener to avoid - shadowing changeListener field from AbstractButton. - -2006-08-13 Roman Kennke - - * javax/swing/JTree.java - (getScrollableUnitIncrement): Fixed direction. - (getScrollableBlockIncrement): Implemented to scroll one - page. - * javax/swing/tree/VariableHeightLayoutCache.java - (distance): Consider y + height already outside the node. - -2006-08-13 Roman Kennke - - * javax/swing/JTable.java - (getScrollableUnitIncrement): Fixed direction. Make it behave - like the RI. - (getScrollableBlockIncrement): Fixed direction. Make it behave - like the RI. - -2006-08-13 Roman Kennke - - * javax/swing/JList.java - (getScrollableUnitIncrement): Fixed direction. Implemented - horizontal scrolling. Improved usability. - (getScrollableBlockIncrement): Fixed direction. Improved usability. - -2006-08-13 Roman Kennke - - * javax/swing/plaf/basic/BasicScrollBarUI.java - (scrollByUnit): Scroll by -unit when direction is not positive - and +unit otherwise. - (scrollByBlock): Scroll by -unit when direction is not positive - and +unit otherwise. - -2006-08-13 Roman Kennke - - PR 28028 - * javax/swing/text/PlainView.java - (paint): Limit painted area to the lines inside the clip - and allocation. - -2006-08-13 Roman Kennke - - * javax/swing/plaf/basic/BasicTextUI.java - (uninstallListeners): Unregister document listener. - -2006-08-13 Sven de Marothy - - * java/util/Locale.java - (hashcodeCache): New field. - (hashCode): use the above field instead of the serialized one - (writeObject): Removed method. - (readObject): Intern strings. - (equals): Revert to previous method. - -2006-08-13 Roman Kennke - - * javax/swing/JTabbedPane.java - (JTabbedPane): Call setModel() here and let this install the - change listener correctly. - (setModel): Correctly uninstall and reinstall ChangeListener when - model changes. - -2006-08-13 Raif S. Naffah - - PR Classpath/23952 - * java/util/ResourceBundle.java (CACHE_SIZE): New constant. - (bundleCache): Replaced with an LRU of CACHE_SIZE elements. - (lastDefaultLocale): Removed. - (emptyLocale): Likewise. - (BundleKey.defaultLocale): New field. - (BundleKey.BundleKey): Add a Locale (as a 1st positional) argument. - (BundleKey.set): Likewise. - (BundleKey.equals): Take defaultLocal field into consideration. - (getBundle(String, Locale, ClassLoader)): Use updated BundleKey and LRU. - -2006-08-13 Roman Kennke - - * javax/swing/JMenu.java - (MenuChangeListener): New inner class, helps firing menu events. - (changeListener): New field. - (add(text)): Create new JMenuItem here and call add(JMenuItem). - (add(Action)): Create Action using createActionComponent() - and add via add(Component). - (setModel): Install and uninstall MenuChangeListener here. - -2006-08-13 Raif S. Naffah - - PR Classpath/27372 - * java/math/BigInteger.java: Updated copyright year. - (init): Consume as little bytes as possible. - (BigInteger(int, int, Random)): Ensure bitLength bits are used. - (valueOf(String, int)): Throw NumberFormatException for malformed strings - as per RI's documentation. - -2006-08-13 Sven de Marothy - - * java/util/Locale.java - (hashcode): Is a serialized field, not transient. - (equals): Should NOT compare strings by reference. - (readObject/writeObject): Use the default methods and handle the hash - seperately. - -2006-08-13 Raif S. Naffah - - PR Classpath/28678 - * gnu/java/security/Engine.java (getInstance(String, String, Provider)): - Updated documentation. - Formatting. - (getInstance(String, String, Provider, Object[])): Likewise. - Separate checks for null and empty string arguments. - Include as much information as possible in the exception's message. - Do not swallow original exception; instead use it as the cause of the - resulting exception. - * gnu/javax/security/auth/callback/AbstractCallbackHandler.java - (getInstance(String)): Updated documentation. - Formatting. - Store last exception caught when iterating through all providers. - If no implementation found, raise last exception if one was caught. - (getInstance(String, String)): Updated documentation. - Formatting. - Check for null or empty provider as per RI-5's documentation. - (getInstance(String, Provider)): Updated documentation. - Formatting. - Use as much information as possible in the exception message. - Do not swallow original exception; instead use it as the cause for the - ultimate raised exception(s). - * java/security/cert/CertificateFactory.java: Likewise. - * java/security/cert/CertPathBuilder.java: Likewise. - * java/security/cert/CertPathValidator.java: Likewise. - * java/security/cert/CertStore.java: Likewise. - * java/security/AlgorithmParameterGenerator.java: Likewise. - * java/security/AlgorithmParameters.java: Likewise. - * java/security/KeyFactory.java: Likewise. - * java/security/KeyPairGenerator.java: Likewise. - * java/security/KeyStore.java: Likewise. - * java/security/MessageDigest.java: Likewise. - * java/security/SecureRandom.java: Likewise. - * java/security/Signature.java: Likewise. - * javax/crypto/Cipher.java: Likewise. - * javax/crypto/ExemptionMechanism.java: Likewise. - * javax/crypto/KeyAgreement.java: Likewise. - * javax/crypto/KeyGenerator.java: Likewise. - * javax/crypto/Mac.java: Likewise. - * javax/crypto/SecretKeyFactory.java: Likewise. - * javax/net/ssl/KeyManagerFactory.java: Likewise. - * javax/net/ssl/SSLContext.java: Likewise. - * javax/net/ssl/TrustManagerFactory.java: Likewise. - -2006-08-13 Roman Kennke - - * javax/swing/JEditorPane.java - (getScrollableTracksViewportHeight): Also check maximum size. - * javax/swing/JTextPane.java - (insertIcon): Use input attributes for adding the icon - attribute. - * javax/swing/plaf/basic/BasicTextUI.java - (RootView.setSize): Overridden to forward to real view. - (getPreferredSize): Trigger setSize() on the view. - (viewToModel(JTextComponent,Point)): Pass Position.Bias array - to viewToModel() call, rather then null. - * javax/swing/text/ParagraphView.java - (changedUpdate): Invalide layout. Call super. - * javax/swing/text/SimpleAttributeSet.java - (clone): Use super's clone method to create clone. - * javax/swing/text/StyleConstants.java - (setIcon): Also set element name attribute. - * javax/swing/text/StyledEditorKit.java - (BoldAction.actionPerformed): Actually set the bold attribute, - not italic. - (setCharacterAttributes): Replaced with more straightforward - impl. - * javax/swing/text/TextAction.java - (getFocusedComponent): Implemented. - * javax/swing/text/Utilities.java - (getNextVisualPositionFrom): Pass Position.Bias arrays instead - of null. - * javax/swing/text/View.java - (changedUpdate): Nullify element change when updateChildren - says so. - -2006-08-11 Andrew John Hughes - - * vm/reference/gnu/java/lang/management/VMMemoryMXBeanImpl.java: - Fix documentation typos. - -2006-08-11 David Daney - - PR classpath/28580 - * gnu/java/net/protocol/http/Request.java (readResponse): Call - createResponseBodyStream in more cases and with new parameter. - (createResponseBodyStream): Added new parameter mayHaveBody. Handle - HEAD and !mayHaveBody responses specially. - -2006-08-11 Roman Kennke - - * javax/swing/text/GlyphView.java - (DefaultGlyphPainter.modelToView): Fixed model->view mapping. - * javax/swing/text/LabelView.java - (valid): New flag indicating if the text attributes are valid. - (LabelView): Initialize valid field with false. - (setPropertiesFromAttributes): Call setter methods instead - of setting properties directly. Set valid to true. - (changedUpdate): Invalidate attributes. Call super. - (getBackground): Sync attributes if necessary. - (getForeground): Sync attributes if necessary. - (getFont): Sync attributes if necessary. - (isUnderline): Sync attributes if necessary. - (isSuperscript): Sync attributes if necessary. - (isStrikeThrough): Sync attributes if necessary. - (getFontMetrics): Sync attributes if necessary. Fetch font metrics - from toolkit if Container is not available yet. - -2006-08-11 Roman Kennke - - * javax/swing/text/PlainView.java - (tabBase): New field. - (tabSize): New field. - (updateMetrics): Update tabSize. - (lineToRect): Only allocate when really necessary. - (modelToView): Use tabBase for offset calculations. - (paint): Only allocate when really necessary. Update tabBase. - (nextTabStop): Fixed tab calculation. - (viewToModel): Correctly handle multiline text and locations - outside the view's bounds. Set bias. - (getLineLength): Use tabBase. - * javax/swing/text/Utilities.java - (drawTabbedText): Don't special case newlines. The views - must take care of this. - -2006-08-11 Roman Kennke - - * javax/swing/text/GapContent.java - (UndoPosRef): New inner class. Used for resetting positions - after undo/redo operations. - (InsertUndo.positions): New field. - (InsertUndo.undo): Store positions in removed range. - (InsertUndo.redo): Restore positions in re-inserted range. - (UndoRemove.positions): New field. - (UndoRemove.UndoRemove): Store positions in removed range. - (UndoRemove.undo): Restore positions in re-inserted range. - (UndoRemove.redo): Store positions in removed range. - (insertString): Create InsertUndo instance before actually - inserting the string. - (remove): Create UndoRemove instance before actually - removing. - (getPositionsInRange): Don't clear the Vector. Return Vector - of UndoPosRefs. - (updateUndoPositions): Implemented to reset all UndoPosRefs - in the vector. - -2006-08-11 Jeroen Frijters - - * java/io/ObjectInputStream.java (readClassDescriptor): - Use class's class loader to resolve field types. - * java/io/ObjectStreamField.java - (ObjectStreamField(String,String,ClassLoader)): Removed. - (ObjectStreamField(String,String)): Don't try to resolve typename. - (resolveType): New method. - -2006-08-10 Roman Kennke - - * javax/swing/text/BoxView.java - (calculateMajorAxisRequirements): Sum up the preferred and - maximum sizes. - (isAfter): Also add in the rectangle's with/height. - (childAllocation): Don't trigger layout here. - (layoutMinorAxis): Removed debug output. - (getWidth): Consider the insets. - (getHeight): Consider the insets. - (setSize): Consider the insets. - (updateRequirements): Check axis and throw - IllegalArgumentException. - -2006-08-10 Roman Kennke - - * javax/swing/text/AbstractDocument.java - (BidiRootName): New constant field, denotes the element name - for bidi root elements. - (AsyncLoadPriority): New constant field, denotes the property - to store the asynchronousLoadPriority. - (I18N): New constant field, denotes the property for - I18N support. - (bidiRoot): Made field type BidiRootElement. - (AbstractDocument): Build initial element structure for - bidi. - (getAsynchronousLoadPriority): Implemented. Returns the - value stored in the document properties. - (setAsynchronousLoadPriority): Implemented. Sets the - value stored in the document properties. - (getEndPosition): Implemented to use a Position from the - content. - (getStartPosition): Implemented to use a Position from the - content. - (insertStringImpl): Update the I18N setting if necessary. - (insertUpdate): Update the bidi structure if necessary. - (postRemoveUpdate): Update the bidi structure if necessary. - (putProperty): Update the I18N setting and bidi structure - if necessary. - (updateBidi): New helper method for updating the bidi - structure. - (getBidis): New helper method. Fetches the Bidi analysers - for the paragraphs of the range to check. - (dump): Also dump the bidi structure. - (AbstractElement.dump): Indent the '>' correctly. - (AbstractElement.children): Check numChildren rather then - children.length. - (BidiRootElement): New inner class. - (BidiElement): New inner class. - -2006-08-10 Roman Kennke - - * javax/swing/text/GapContent.java - (getChars): Optimized to only copy array when really necessary. - Respect the partialReturn property. - -2006-08-10 Lillian Angel - - * gnu/java/awt/dnd/peer/gtk/GtkDragSourceContextPeer.java - (getComponentPeer): Added check to prevent NPE. - -2006-08-10 Gary Benson - - * java/security/AccessControlContext.java (): - Avoid a duplicated AccessController.getContext() call. - -2006-08-09 Mark Wielaard - - * doc/www.gnu.org/newsitems.txt: Add 0.92. - * doc/www.gnu.org/downloads/downloads.wml: Likewise. - * doc/www.gnu.org/announce/20060809.wml: New file. - -2006-08-09 Mark Wielaard - - * configure.ac (VERSION): Set to 0.92-generics. - * NEWS: Add updates for 0.92 release. - -2006-08-09 Tom Tromey - - PR classpath/28658: - * java/text/SimpleDateFormat.java (parse): Let an unquoted space in - the pattern match any number of spaces in the text. - -2006-08-09 Sven de Marothy - - * java/awt/image/BufferedImage.java - (BufferedImage): Reimplement predefined-type constructor. - (observers/tileObservers): Field renamed to tileObservers. - (createDefaultIndexedColorModel): New method. - -2006-08-09 Tom Tromey - - PR classpath/28666: - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkScreenGraphicsDevice.c - (Java_gnu_java_awt_peer_gtk_GdkScreenGraphicsDevice_nativeGetDisplayModes): - Create a 'short' array. - -2006-08-09 Tom Tromey - - * tools/gnu/classpath/tools/javah/JniHelper.java (getName): Properly - handle arrays. - * tools/gnu/classpath/tools/javah/JniIncludePrinter.java - (writeFields): Print "L" after int constant. Don't mangle the field - name. Only print int/long fields. - -2006-08-09 Tom Tromey - - * tools/gnu/classpath/tools/javah/Main.java (getParser): Name program - "javah". - -2006-08-09 Sven de Marothy - - * javax/swing/JTree.java - (JTree): Default SelectionModel should be DefaultTreeSelectionModel. - (setSelectionModel): Null parameter should create an EmptySelectionM. - -2006-08-09 Roman Kennke - - * javax/swing/text/AbstractDocument.java - (insertString): Perform modifications inside a write lock. - (insertStringImpl): Don't lock here. This is already done - in insertString(). - (replace): Perform modifications inside a write lock. - (AbstractElement.AbstractElement): Call addAttributes() to - add the attributes. - (AbstractElement.getName): Fetch name from the ElementNameAttibute. - (BranchElement.lastIndex): New field. Optimizes getElementIndex(). - (BranchElement.BranchElement): Set lastIndex to -1. - (BranchElement.getElementIndex): Implemented more efficient - search. - -2006-08-09 Roman Kennke - - * javax/swing/text/DefaultStyledDocument.java - (Edit): Moved this inner class into ElementBuffer where it - is actually needed. - (edits): Moved this field into ElementBuffer. - (getEditForParagraphAndIndex): Removed obsolete method. - (insertUpdate): Added some optimizations and fixes. Split - out handling insertion after newlines. - (insertAfterNewline): New helper method. Handles insertions - after a newline. - (ElementBuffer.Edit): New inner class. Moved here from - DefaultStyledDocument. - (ElementBuffer.createdFracture): New field. - (ElementBuffer.documentEvent): Made private. - (ElementBuffer.edits): New field. Moved here from - DefaultStyledDocument. - (ElementBuffer.fracNotCreated): Replaced by createdFracture. - (ElementBuffer.fracturedChild): New field. - (ElementBuffer.fracturedParent): New field. - (ElementBuffer.insertPath): New field. - (ElementBuffer.lastFractured): Removed. Replaced by fracturedChild and - fracturedParent. - (ElementBuffer.offsetLastIndex): New field. - (ElementBuffer.offsetLastIndexReplace): New field. - (ElementBuffer.recreateLeafs): New field. - (ElementBuffer.ElementBuffer): Don't initialize stack here. - (ElementBuffer.canJoin): New helper method. - (ElementBuffer.changeUpdate): Changed to use elementStack with - Edits rather than Elements. Let the split method do the work. - (ElementBuffer.cloneAsNecessary): New helper method. - (ElementBuffer.createFracture): Changed to fracture the bottommost - child in the stack. - (ElementBuffer.finishEdit): New helper method. Moved out - from insertUpdate to perform the actual changes and update - the event. - (fracture): New helper method. - (insertContentTag): Fixed some bugs and changed to use Edit - instances in the stack, rather then Elements. - (insertElement): New helper method. Moved out from insertUpdate() - to process the ElementSpecs. - (insertFirstContentTag): Fixed some problems and changed to use Edit - instances in the stack, rather then Elements. - (insertFracture): Removed. Basically moved into createFracture() - and fracture(). - (insertParagraph): Removed. - (insertUpdate): Split out the ElementSpec processing into - insertElement(). Use Edit instances in the stack. Fixed some - problems. - (insert): Split out the preparation and finishing code into - prepareEdit() and finishEdit(). - (join): New helper method. - (pop): New helper method. - (prepareEdit): New helper method. - (recreateFracturedElement): New helper method. - (recreateLeaves): Removed. - (recreate): New helper method. - (removeElements): New helper method. Split out from removeUpdate(). - (removeUpdate): Split out the actual removal. Use the - Edit stack to perform removal and perform the remove actions - and event updates afterwards, just like in insertImpl(). - (remove): Use prepareEdit() and finishEdit(). - (split): Replaced with more flexible impl. - -2006-08-09 Sven de Marothy - - * gnu/java/awt/peer/gtk/CairoSurface.java - Change class to extend WritableRaster and not DataBuffer. - (CairoDataBuffer): New inner class. - * gnu/java/awt/peer/gtk/BufferedImageGraphics.java - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - * gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java - Accomodate the above change. - -2006-08-09 Sven de Marothy - - * gnu/java/awt/peer/gtk/GtkMainThread.java - New file. - * gnu/java/awt/peer/gtk/GtkChoicePeer.java - * gnu/java/awt/peer/gtk/GtkComponentPeer.java - Replace GtkToolkit.mainThread with GtkMainThread.mainThread. - * gnu/java/awt/peer/gtk/GtkToolkit.java - Minor style fixes; removed unused fields, - set fields to private where possible. - (createDialog, createFrame, createWindow, createEmbeddedWindow): - Call GtkMainThread.createWindow(). - * gnu/java/awt/peer/gtk/GtkWindowPeer.java - (dispose): New method. - * include/gnu_java_awt_peer_gtk_GtkToolkit.h - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c - (gtkQuit): New native method. - -2006-08-08 Lillian Angel - - * java/awt/Component.java - (setDropTarget): Added check. - -2006-08-08 Lillian Angel - - * gnu/java/awt/dnd/peer/gtk/GtkDragSourceContextPeer.java - (GtkDragSourceContextPeer): Added FIXME. Changed call - to setTarget. - * gnu/java/awt/dnd/peer/gtk/GtkDropTargetContextPeer.java - (GtkDropTargetContextPeer): Removed target initialization. - * java/awt/Component.java - (setTarget): Removed commented out code. - -2006-08-08 Mark Wielaard - - * javax/swing/text/DefaultHighlighter.java: Qualify - Highlighter.HighlightPainter class name for gcj. - -2006-08-05 Roman Kennke - - * javax/swing/plaf/basic/BasicTableUI.java - (MouseInputHandler.mousePressed): Request focus on list - component. - -2006-08-05 Roman Kennke - - * javax/swing/plaf/basic/BasicListUI.java - (MouseInputHandler.mousePressed): Request focus on list - component. - -2006-08-05 Roman Kennke - - PR 28650 - * javax/swing/plaf/basic/BasicMenuBarUI.java - (getActionMap): Store ActionMap in MenuBar.actionMap, rather - than Tree.actionMap. - * javax/swing/plaf/basic/BasicTreeUI.java - (action): Removed obsolete field. - (uninstallKeyboardActions): Removed action field handling. - (installKeyboardActions): Removed action field handling. - (createDefaultActions): Don't install removed TreeAction. - (TreeAction): Removed obsolete inner class. - (ActionListenerProxy): Removed obsolete inner class. - (MouseHandler.mousePressed): Request focus on JTree component - on mouse press. - -2006-08-08 Roman Kennke - - * javax/swing/plaf/basic/BasicListUI.java - (MouseInputHandler.mousePressed): Request focus on list - component. - -2006-08-08 Roman Kennke - - * javax/swing/plaf/basic/BasicTableUI.java - (MouseInputHandler.mousePressed): Request focus on list - component. - -2006-08-08 Roman Kennke - - * javax/swing/plaf/basic/BasicTextUI.java - (damageRange(JTextComponent,int,int)): Call damageRange() with - correct biases, rather than null. - (damageRange(JTextComponent,int,int,Bias,Bias)): Rewritten - to use simpler modelToView() approach without much special - casing. This seems not worth the effort and actually - caused problems. Added locking of the document. - * javax/swing/text/BoxView.java - (requirementsValid): New field. - (calculateMajorAxisRequirements): Rewritten without using - SizeRequirements. The SizeRequirements algorithms are slightly - different and too inefficient. - (calculateMinorAxisRequirements): Rewritten without using - SizeRequirements. The SizeRequirements algorithms are slightly - different and too inefficient. - (getAlignment): Simply return the alignment of the cached - requirements. - (getMaximumSpan): Add insets. - (getMinimumSpan): Add insets. - (getPreferredSpan): Add insets. - (layoutMajorAxis): Rewritten without using - SizeRequirements. The SizeRequirements algorithms are slightly - different and too inefficient. - (layoutMinorAxis): Rewritten without using - SizeRequirements. The SizeRequirements algorithms are slightly - different and too inefficient. - (modelToView): Call setSize() rather than layout(). - (paint): Check clip for more efficient painting. - (preferenceChanged): Invalidate requirements here. - (replace): Invalidate requirements here. - (updateRequirements): Update requirements only when requirements - are marked invalid. - * javax/swing/text/CompositeView.java - (modelToView): Added some more checks and handling of corner cases. - * javax/swing/text/FlowView.java - (calculateMinorAxisRequirements): Set aligment to 0.5 and maximum - span to Integer.MAX_VALUE. Limit preferredSize to minimumSize. - * javax/swing/text/IconView.java - (getAlignment): Implemented to return 1.0 for vertical alignment. - * javax/swing/text/ParagraphView.java - (Row.getMaximumSpan): Implemented to let Rows span the whole - ParagraphView. - (getAlignment): Fixed horizontal alignment and vertical alignment - for empty paragraphs to be 0.5. - -2006-08-08 Roman Kennke - - * javax/swing/text/View.java - (modelToView): Added special handling for corner case at the end - of the view and for multiline views. - -2006-08-08 Roman Kennke - - * javax/swing/plaf/basic/BasicTextUI.java - (modelToView): Read-lock the document. Set size of the - root view before fetching the model-to-view mapping. - (getViewIndex): Check of the position is inside the range and - return -1 if this is not the case. - (getViewAtPosition(int,Rectangle): Update child allocation for valid - view index. - (getViewIndexAtPosition(int)): Delegate the index search to - the element since we have a 1:1 mapping between elements and - views here. - * javax/swing/text/DefaultCaret.java - (appear): Ignore BadLocationException. - (paint): Ignore BadLocationException. - * javax/swing/text/FlowView.java - (changedUpdate): Also notify the layoutPool view. - (removeUpdate): Also notify the layoutPool view. - * javax/swing/text/ParagraphView.java - (Row.getViewIndexAtPosition): Overridden to search linearily - through the view instead of relying on a 1:1 model to view - mapping. - * javax/swing/text/View.java - (removeUpdate): Clear ElementChange object if updateChildren - returns false. - (forwardUpdate): Special handle some boundary cases. - -2006-08-07 Raif S. Naffah - - * gnu/java/security/key/dss/DSSKey.java: Updated documentation. - (hasInheritedParameters): New method. - (equals): Updated documentation. - Take into consideration the outcome of hasInheritedParameters invocation. - (toString): Call hasInheritedParameters and adjust the result accordingly. - * gnu/java/security/key/dss/DSSKeyPairX509Codec.java (encodePublicKey): - Updated documentation. - Handle case of public keys with null p, q, and g MPIs. - (decodePublicKey): Handle case of absent or NULL p, q and g MPIs. - -2006-08-07 Tom Tromey - - PR libgcj/23682: - * java/nio/channels/SelectionKey.java (attach): Now synchronized. - (attachment): Likewise. - * java/nio/channels/spi/AbstractSelectionKey.java (cancel): Now - synchronized. - (isValid): Likewise. - * gnu/java/nio/SelectionKeyImpl.java (impl): Now final - (ch): Likewise. - (interestOps): Synchronize. - (readyOps): Likewise. - * gnu/java/nio/SelectorImpl.java (register): Synchronize around - interestOps call. - -2006-08-07 C. Scott Marshall - - Fixes PR 28608. - * java/nio/DirectByteBufferImpl.java (duplicate): only reset if - the mark has been set. - * native/jni/java-nio/java_nio_VMDirectByteBuffer.c - (Java_java_nio_VMDirectByteBuffer_allocate): zero out the - allocated data. - -2006-08-07 Sven de Marothy - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (drawGlyphVector): Synchronize against font object when drawing. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c - (nativeDrawGlyphVector): Use pango locking when drawing. - (install_font_peer): Use pango locking when creating the cairo face. - -2006-08-06 Roman Kennke - - PR 28571 - * gnu/java/awt/peer/gtk/GtkCanvasPeer.java - (getPreferredSize): Renamed method to preferredSize(). That's - the one that gets called from java.awt.*. - * java/awt/peer/ComponentPeer.java - (getPreferredSize): Added specnote about this method never - beeing called in the RI. - (getMinimumSize): Added specnote about this method never - beeing called in the RI. - -2006-08-03 Sven de Marothy - - * gnu/java/awt/peer/gtk/ComponentGraphics.java - (grab, nativeGrab): New methods. - * include/gnu_java_awt_peer_gtk_ComponentGraphics.h - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c - (nativeGrab): New method. - * gnu/java/awt/peer/gtk/GtkComponentPeer.java - (print): Implement. - * java/awt/Component.java - (printAll): Should call peer print method. - -2006-08-06 Thomas Minor <1nocentrabidlamb@sexMagnet.com> - - * java/net/URL.java (getContent(Class[])): Implement. - -2006-08-06 Mark Wielaard - - PR 28555 - Suggested by Matthew Burgess - * gnu/xml/transform/ApplyTemplatesNode.java (clone): Check whether - withParams is null. - * gnu/xml/transform/ForEachNode.java (clone): Check whether - sortKeys is null. - -2006-08-06 Roman Kennke - - * NEWS: Added note about the X peers. - * INSTALL: Added install notes about the X peers. - -2006-08-06 Raif S. Naffah - Paul Jenner - - * README: Update bug, patches and cvs instructions plus new URLs of - various external projects. - -2006-08-06 Thomas Fitzsimmons - - * configure.ac (MOZILLA_FOUND): Fall back to - mozilla-firefox-plugin. - -2006-08-06 Mario Torre - - Reported by Raif S. Naffah - * native/jni/gconf-peer/GConfNativePeer.c (init_gconf_client): - g_type_init earlier in function to correctly initialize the - type system used by the backend. - -2006-08-05 Roman Kennke - - * javax/swing/text/DefaultHighlight.java - (DefaultHighlightPainter.paintHighlight): Removed method. - (DefaultHighlightPainter.paintLayer): Implemented. - (DefaultHighlightPainter.paint): Implemented more efficient - painting for multiline-highlights. - (HighlightEntry.p0): Changed to be a Position. - (HighlightEntry.p1): Changed to be a Position. - (HighlightEntry.HighlightEntry): Changed to take Position - arfuments. - (HighlightEntry.getStartOffset): Changed to return p0.getOffset(); - (HighlightEntry.getEndOffset): Changed to return p1.getOffset(); - (LayerHighlightEntry): New inner class. Extends HighlightEntry - and tracks the painted rectangle for efficient repainting. - (addHighlight): Handle layered highlight. - (changeHighlight): Handle layered highlight. - (paintLayeredHighlights): Implemented. - (paint): Paint only non-layered highlights here. - (removeAllHighlights): Trigger correct repaint. - (removeHighlight): Handle layered highlight here for - more efficient repainting. - * javax/swing/text/GlyphView.java - (paint): Handle layered highlights. - * javax/swing/text/PlainView.java - (paint): Handle layered highlights. - * javax/swing/text/WrappedPlainView.java - (WrappedLine.paint): Handle layered highlights. - -2006-08-07 Audrius Meskauskas - - PR 26972 - * NEWS: As suggested by Paul Jennier, added note about the fix of - the InitialContext. - -2006-08-07 Audrius Meskauskas - - * NEWS: Added entry about the context factories for JNDI. - -2006-08-07 Audrius Meskauskas - - PR 27383 - * gnu/CORBA/Connected_objects.java (size): New method. - * gnu/CORBA/OrbFunctional.java (countConnectedObjects): - New method. - * javax/naming/spi/NamingManager.java (getURLContext): - Also search for the URL context factories in - gnu/javax/naming/jndi/url. - * gnu/javax/naming/giop/ContextContinuation.java, - gnu/javax/naming/giop/CorbalocParser.java, - gnu/javax/naming/giop/GiopNamingEnumeration.java, - gnu/javax/naming/giop/GiopNamingServiceFactory.java, - gnu/javax/naming/giop/GiopNamingServiceURLContext.java, - gnu/javax/naming/giop/ListBindingsEnumeration.java, - gnu/javax/naming/giop/ListEnumeration.java, - gnu/javax/naming/jndi/url/corbaname/corbanameURLContextFactory.java, - gnu/javax/naming/jndi/url/rmi/ContextContinuation.java, - gnu/javax/naming/jndi/url/rmi/ListBindingsEnumeration.java, - gnu/javax/naming/jndi/url/rmi/ListEnumeration.java, - gnu/javax/naming/jndi/url/rmi/RmiContinuation.java, - gnu/javax/naming/jndi/url/rmi/RmiNamingEnumeration.java, - gnu/javax/naming/jndi/url/rmi/rmiURLContext.java, - gnu/javax/naming/jndi/url/rmi/rmiURLContextFactory.java: New files. - -2006-08-06 Sven de Marothy - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (drawGlyphVector): Synchronize against font object when drawing. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c - (nativeDrawGlyphVector): Use pango locking when drawing. - (install_font_peer): Use pango locking when creating the cairo face. - -2006-08-06 C. Scott Marshall - - Fixes PR 28608. - * java/nio/DirectByteBufferImpl.java (duplicate): only reset if - the mark has been set. - * native/jni/java-nio/java_nio_VMDirectByteBuffer.c - (Java_java_nio_VMDirectByteBuffer_allocate): zero out the - allocated data. - -2006-08-06 Mark Wielaard - - PR 28555 - Suggested by Matthew Burgess - * gnu/xml/transform/ApplyTemplatesNode.java (clone): Check whether - withParams is null. - * gnu/xml/transform/ForEachNode.java (clone): Check whether - sortKeys is null. - -2006-08-06 Raif S. Naffah - Paul Jenner - - * README: Update bug, patches and cvs instructions plus new URLs of - various external projects. - -2006-08-05 Andrew John Hughes - - * gnu/java/lang/management/BeanImpl.java: - (cacheMBeanInfo(MBeanInfo)): Override given MBeanInfo - with open variant. - (getCachedMBeanInfo()): Return open variant. - (getMBeanInfo()): Likewise. - (getTypeFromClass(Class)): Implemented. - (translateSignature(MBeanParameterInfo)): Likewise. - (translate(String)): Likewise. - * javax/management/StandardMBean.java: - (getMBeanInfo()): Return attribute names with capital letters, - as in docs for java.lang.management.ManagementFactory, and - ensure descriptions are not "". - * javax/management/openmbean/OpenMBeanConstructorInfoSupport.java, - * javax/management/openmbean/OpenMBeanInfoSupport.java, - * javax/management/openmbean/OpenMBeanOperationInfoSupport.java: - (toString()): Use Arrays.toString(). - * javax/management/openmbean/OpenMBeanParameterInfoSupport.java: - (OpenMBeanParameterInfoSupport(String, String, OpenType)): - Set open type here rather than in other constructors. - -2006-08-05 Andrew John Hughes - - * javax/management/MBeanFeatureInfo.java: - Make string variable package-private. - * javax/management/StandardMBean.java: - (getMBeanInterface()): Made final. - * javax/management/openmbean/SimpleType.java: - Made final. - -2006-08-05 Jeroen Frijters - - * java/awt/Component.java (setDropTarget): Commented out GTK specific - code. - -2006-08-05 Andrew John Hughes - - * examples/gnu/classpath/examples/swing/FillRect.java, - * gnu/CORBA/Focused_ORB.java, - * gnu/CORBA/interfaces/gnuSocketFactory.java, - * gnu/classpath/ByteArray.java, - * gnu/classpath/ObjectPool.java, - * gnu/java/awt/peer/ClasspathTextLayoutPeer.java, - * gnu/java/awt/peer/x/fonts.properties, - * gnu/java/security/util/Prime2.java, - * gnu/javax/imageio/gif/GIFStream.java, - * javax/swing/text/html/HTMLTableView.java, - * native/cni/Makefile.am, - * org/omg/CORBA/SendingContext/RunTimeOperations.java, - * org/omg/CORBA/SendingContext/Runtime.java, - * resource/gnu/regexp/MessagesBundle.properties, - * resource/gnu/regexp/MessagesBundle_fr.properties, - * resource/gnu/regexp/MessagesBundle_it.properties, - * tools/appletviewer.in, - * tools/jarsigner.in, - * tools/keytool.in, - * vm/reference/java/lang/management/VMThreadInfo.java: - Removed. - * examples/gnu/classpath/examples/awt/aicas.png, - * examples/gnu/classpath/examples/awt/palme.gif, - * examples/gnu/classpath/examples/java2d/aicas.png, - * examples/gnu/classpath/examples/java2d/palme.gif, - * gnu/java/awt/font/opentype/truetype/doc-files/ZonePathIterator-1.dia, - * gnu/java/awt/font/opentype/truetype/doc-files/ZonePathIterator-1.png, - * java/awt/doc-files/capjoin.png, - * java/awt/geom/doc-files/Area-1.png, - * java/awt/geom/doc-files/Ellipse-1.png, - * java/awt/geom/doc-files/GeneralPath-1.png: - Added. - -2006-08-05 Andrew John Hughes - - * configdiag.jnlp: - Removed. - -2006-08-05 Andrew John Hughes - - * gnu/java/lang/management/BeanImpl.java: - (getAttribute(String)): Implemented. - -2006-08-05 Roman Kennke - - * javax/swing/text/JTextComponent.java - (AccessibleJTextComponent.dot): Renamed field into caretDot. - (AccessibleJTextComponent.textComp): Removed field - and replace with JTextComponent.this construct. - (AccessibleJTextComponent.AccessibleJTextComponent): - Fetch caret position. - (caretUpdate): Implemented. Fires property change events and - updates the caretDot field. - (changedUpdate): Implemented. Fires property change events. - (insertUpdate): Implemented. Fires property change events. - (removeUpdate): Implemented. Fires property change events. - (cut): Replaced textComp with JTextComponent.this construct. - (paste): Replaced textComp with JTextComponent.this construct. - (replaceText): Replaced textComp with JTextComponent.this construct. - (selectText): Replaced textComp with JTextComponent.this construct. - (getCaretPosition): Replaced textComp with JTextComponent.this - construct. - (getCharCount): Replaced textComp with JTextComponent.this construct. - (getSelectedText): Replaced textComp with JTextComponent.this - construct. - (getSelectionEnd): Replaced textComp with JTextComponent.this - construct. - (getSelectionStart): Replaced textComp with JTextComponent.this - construct. - (getTextRange): Replaced textComp with JTextComponent.this - construct. - (doAccessibleAction): Implemented. - (getAccessibleActionCount): Implemented. - (getAccessibleActionDescription): Implemented. - (getAccessibleStateSet): Implemented. - (getAfterIndex): Implemented. - (getBeforeIndex): Implemented. - (getAtIndex): Implemented. - (getAtIndexImpl): New helper method. - (getCharacterAttribute): Implemented. - (getCharacterBounds): Implemented. - (getIndexAtPoint): Implemented. - (insertTextAtIndex): Implemented. - (setAttributes): Implemented. - (setTextContents): Implemented. - -2006-08-05 Raif S. Naffah - - * configure.ac: Better handling of default-preferences-peer option. - -2006-08-04 Andreas Tobler - - * java/awt/BasicStroke.java (dashedStroke): Cast coords.clone to - double[]. - -2006-08-04 Andrew John Hughes - - * javax/management/openmbean/TabularData.java: - Documentation corrections. - * javax/management/openmbean/TabularDataSupport.java: - New file. - -2006-08-04 Francis Kung - - * java/awt/BasicStroke.java - (dashedStroke): Implemented. - -2006-08-04 Andrew John Hughes - - * javax/management/BadAttributeValueExpException.java, - * javax/management/BadStringOperationException.java, - * javax/management/InstanceAlreadyExistsException.java, - * javax/management/InstanceNotFoundException.java, - * javax/management/InvalidApplicationException.java, - * javax/management/MBeanRegistrationException.java, - * javax/management/MalformedObjectNameException.java, - * javax/management/RuntimeErrorException.java, - * javax/management/RuntimeMBeanException.java, - * javax/management/ServiceNotFoundException.java: - New files. - -2006-08-04 Roman Kennke - - * javax/swing/SwingUtilities.java - (layoutCompoundLabel(JComponent,FontMetrics,String,Icon,int,int,int, - int,Rectangle,Rectangle,Rectangle,int)): Delegate to new - layoutCompoundLabelImpl(). - (layoutCompoundLabel(FontMetrics,String,Icon,int,int,int,int, - Rectangle,Rectangle,Rectangle,int)): Delegate to new - layoutCompoundLabelImpl(). - (layoutCompoundLabelImpl): New helper method. Moved impl from - layoutCompoundLabel() to here and added handling of HTML. - * javax/swing/plaf/basic/BasicButtonUI.java - (installUI): Update HTML view if appropriate. - (uninstallUI): New method. Do the usual uninstallUI things - and uninstall HTML view. - (getMinimumSize): New method. Adjusts the minimum size - by the HTML view minimum size. - (getMaximumSize): New method. Adjusts the maximum size - by the HTML view maximum size. - (getPreferredSize): Pass the button's iconTextGap to the - BasicGraphicsUtils method. - (paint): Let HTML view paint the text, if present. - * javax/swing/plaf/basic/BasicButtonListener.java - (propertyChange): Update the HTML view when the button's - text is changed. - -2006-08-04 Mario Torre - - Reported by Raif S. Naffah - * native/jni/gconf-peer/GConfNativePeer.c (init_gconf_client): - g_type_init earlier in function to correctly initialize the - type system used by the backend. - -2006-08-04 Audrius Meskauskas - - PR 26972 - * javax/naming/Name.java (addAll, getPrefix, getSuffix): - Documented. - * gnu/javax/naming/ictxImpl/trans/GnuName.java: New file. - -2006-08-04 Robert Schuster - - Reported by Henrik Gulbrandsen - Fixes PR27864. - * gnu/xml/dom/DomIterator.java: - (successor): Added if-statement. - -2006-08-04 Mark Wielaard - - * scripts/Makefile.am (EXTRA_DIST): Add import-cacerts.sh. - -2006-08-04 Robert Schuster - - * javax/swing/plaf/metal/MetalMenuBarUI.java: - (update): Check size and paint smaller gradient. - * javax/swing/plaf/metal/MetalBorders.java: - (MenuBarBorder): Removed borderColor field. - (MenuBarBorder.paintBorder): Added note, fetch color from UIManager or - MetalLookAndFeel. - -2006-08-03 Roman Kennke - - PR 27637 - * javax/swing/plaf/basic/BasicInternalFrameUI.java - (ComponentHandler.componentResized): Reimplemented to handle - arbitrary parents. - (InternalFramePropertyChangeHandler.propertyChange): (Un)install - component listener on changed ancestor. - (installListeners): Install componentListener. - (uninstallListeners): Uninstall componentListener. - -2006-08-03 Carsten Neumann - - * StrictMath.java (cbrt): Return argument if it is a NaN. - (cosh): Likewise. - (expm1): Likewise. - (sinh): Likewise. - -2006-08-03 Carsten Neumann - - * java/lang/StrictMath.java (tanh): New method. - -2006-08-03 Raif S. Naffah - - * scripts/import-cacerts.sh: Batch CA certificates import script. - -2006-08-03 Roman Kennke - - PR 27606 - * javax/swing/plaf/basic/BasicListUI.java - (paintCell): Pass row index to cell renderer. - * javax/swing/plaf/basic/MetalFileChooserUI.java - (DirectoryComboBoxRenderer.indentIcon): New field. - (DirectoryComboBoxRenderer.DirectoryComboBoxRenderer): - Initialize indentIcon. - (DirectoryComboBoxRenderer.getListCellRendererComponent): - Fall back to super and removed standard functionality. - Handle indentation. - (IndentIcon): New class. Wraps and indents another icon. - -2006-08-02 Andrew John Hughes - - * javax/management/MBeanConstructorInfo.java: - (MBeanConstructorInfo(String,String,MBeanParameterInfo[]): - Copy array rather than directly assigning. - * javax/management/MBeanInfo.java: - (MBeanInfo(String,String,MBeanAttributeInfo[], - MBeanConstructorInfo[], MBeanOperationInfo[], - MBeanNotificationInfo[])): Likewise. - * javax/management/MBeanOperationInfo.java: - (MBeanOperationInfo(String,String,MBeanParameterInfo[],String,int)): - Likewise. - * javax/management/openmbean/OpenMBeanAttributeInfoSupport.java, - * javax/management/openmbean/OpenMBeanConstructorInfoSupport.java: - New files. - * javax/management/openmbean/OpenMBeanInfo.java: - Corrected documentation. - * javax/management/openmbean/OpenMBeanInfoSupport.java: - New file. - * javax/management/openmbean/OpenMBeanOperationInfo.java: - Corrected documentation. - * javax/management/openmbean/OpenMBeanOperationInfoSupport.java: - New file. - * javax/management/openmbean/OpenMBeanParameterInfoSupport.java: - (MBeanParameterInfo(String,String,OpenType,Object,Object[])): - Call other constructor rather than reimplementing. - -2006-08-02 Lillian Angel - - * java/awt/dnd/DragSource.java - (isDragImageSupported): Implemented. - (getDragThreshold): Changed default value. - * java/awt/dnd/DropTarget.java - (DropTarget): Default action is changed to ACTION_COPY_OR_MOVE. - (DropTarget): Likewise. - (DropTarget): If FlavorMap passed in is null, we should use the system default. - (addDropTargetListener): Added check to determine if new DropTargetListener - is this class. If so, an IllegalArgumentException is thrown. If the - new listener is null, nothing happens. - -2006-08-02 Thomas Fitzsimmons - - * configure.ac (MOZILLA_FOUND): Fall back to - mozilla-firefox-plugin. - -2006-08-02 Sven de Marothy - - * java/awt/geom/AffineTransform.java - (hashCode): Tweak impl. - * java/awt/font/FontRenderContext.java - (hashCode): Implement. - -2006-08-02 Carsten Neumann - - * java/lang/StrictMath.java (sinh): New method. - -2006-08-02 Roman Kennke - - PR 27605 - * javax/swing/JComboBox.java - (setSelectedItem): Fire ActionEvent here. - * javax/swing/plaf/basic/BasicDirectoryModel.java - (directories): Changed to type Vector. - (files): New field. - (loadThread): New field. - (DirectoryLoadThread): New inner class. This loads the contents - of directories asynchronously. - (getDirectories): Return cached Vector. - (getFiles): Return cached Vector. - (getSize): Return plain size of contents Vector. - (propertyChange): Reread directory also for DIRECTORY_CHANGED, - FILE_FILTER_CHANGED, FILE_HIDING_CHANGED and FILE_VIEW_CHANGED. - (sort): Don't store sorted list in contents. This must be done - asynchronously from the EventThread. - (validateFileCache): Rewritten for asynchronous reading - of directory contents. - * javax/swing/plaf/basic/BasicFileChooserUI.java - (installListeners): Install model as PropertyChangeListener. - (uninstallListeners): Uninstall model as PropertyChangeListener. - (createPropertyChangeListener): Return null just like the - RI. - -2006-08-02 Sven de Marothy - - * gnu/java/awt/peer/gtk/GtkChoicePeer.java - (remove): Force event on removing item 0 when it's selected. - (handleEvent): Always call Choice.selected(). - * java/awt/Choice.java: - (remove): Simplify and correct. - -2006-08-02 Mark Wielaard - - PR 28535 - * configure.ac (gconf-peer): Check for gdk-2.0. - * native/jni/gconf-peer/Makefile.am - (AM_LDFLAGS): Use GDK_LIBS. - (AM_CFLAGS): Use GDK_CFLAGS. - -2006-08-02 Thomas Minor <1nocentrabidlamb@sexMagnet.com> - - * java/net/URL.java (getContent(Class[])): Implement. - -2006-08-02 Roman Kennke - - PR 27624 - * javax/swing/JMenu.java - (JMenu()): Removed setting of delay. - (JMenu(String)): Removed setting of delay. - (JMenu(Action)): Removed setting of delay. - (JMenu(String,boolean)): Removed setting of delay. - (setSelectedHelper): Removed unneeded method. - (setSelected): Simply set the model state. - (setPopupMenuVisible): Recognize the popup location - determined by getPopupMenuOrigin(). - (getPopupMenuOrigin): Recognize the UI properties for - X and Y offset. - (menuSelectionChanged): Call setSelected() directly. - * javax/swing/JPopupMenu.java - (menuSelectionChanged): If invoker is a JMenu, then delegate - to that to get the position right. - * javax/swing/Popup.java - (LightweightPopup.show): Insert the popup as first component - in the layer, so that it overlaps it's caller. - * javax/swing/plaf/basic/BasicMenuItemUI.java - (getPath): Don't include the popup. - * javax/swing/plaf/basic/BasicMenuUI.java - (SelectMenuAction): New class. This invokes the popup when - a menu is selected. - (installDefaults): Install delay of 200 ms. - (setupPostTimer): Implemented. - (MouseInputHandler.mouseClicked): Do nothing here. - (MouseInputHandler.mouseEntered): Use MenuSelectionManager - magic to handle the selection. Open the menu via a timer. - (MouseInputHandler.mousePressed): Use MenuSelectionManager - magic to handle the selection. Open the menu via a timer. - (MenuDragMouseHandler.menuMouseDragged): Probably use - timer. - (menuDragMouseEntered): Do nothing here. - -2006-08-02 Andrew John Hughes - - * javax/management/openmbean/InvalidOpenTypeException.java, - * javax/management/openmbean/KeyAlreadyExistsException.java: - New files. - -2006-08-02 Roman Kennke - - PR 27604 - * javax/swing/plaf/basic/BasicChooserUI.java - (BasicFileView.getName): Fetch the real name from the - file chooser's FileSystemView. - * javax/swing/plaf/metal/MetalChooserUI.java - (DirectoryComboBoxRenderer.getListCellRendererComponent): - Set the text fetched from the JFileChooser.getName(). - * javax/swing/FileSystemView.java - (createFileObject): When file is a filesystem root, - create a filesystem root object first. - (getSystemDisplayName): Return the filename. Added specnote - about ShellFolder class that is mentioned in the spec. - * javax/swing/UnixFileSystemView.java - (getSystemDisplayName): Implemented to return the real name - of a file, special handling files like '.' or '..'. - -2006-08-03 Mark Wielaard - - * examples/gnu/classpath/examples/icons/badge.png: Add file. - -2006-08-03 Roman Kennke - - PR 28562 - * javax/swing/plaf/basic/BasicOptionPaneUI.java - (PropertyChangeHandler.propertyChange): Cleanly reinstall - components when visual property chanegs. - -2006-08-03 Roman Kennke - - PR 28562 - * javax/swing/plaf/basic/BasicOptionPaneUI.java - (PropertyChangeHandler.propertyChange): Uninstall and reinstall - component when visual properties change. - -2006-08-03 Roman Kennke - - PR 28534 - * javax/swing/JTree.java - (JTree(TreeModel)): Set cell renderer to null. - * javax/swing/plaf/basic/BasicTreeUI.java - (setCellRenderer): Finish editing before setting the - cell renderer. Refresh the layout. Don't set the - currentCellRenderer field here (that's done in updateRenderer). - (updateRenderer): Handle createdRenderer field here too. - Set renderer to a default handler when the current renderer - in the JTree is null. - -2006-08-02 Raif S. Naffah - - PR Classpath/23899 - * java/security/SecureRandom.java (next): Call nextBytes as per specs. - -2006-08-02 Raif S. Naffah - - PR Classpath/28556 - * gnu/java/security/key/rsa/RSAKeyPairPKCS8Codec.java (encodePrivateKey): - Updated documentation to clarify that RFC-2459 states that the parameters - field of the AlgorithmIdentifier element MUST be NULL if present. - Amended the code to reflect the specs. - (decodePrivateKey): Handle case of NULL AlgorithmIdentifier.parameters. - -2006-08-01 Andrew John Hughes - - * javax/management/openmbean/OpenMBeanParameterInfoSupport.java: - Call parameter 'defaultValue' not 'defValue'. - -2006-08-01 Andrew John Hughes - - * javax/management/openmbean/OpenMBeanParameterInfoSupport.java: - New file. - -2006-08-01 Roman Kennke - - PR 28562 - * javax/swing/plaf/basic/BasicOptionPaneUI.java - (PropertyChangeHandler.propertyChange): Cleanly reinstall - components when visual property chanegs. - -2006-08-01 Andrew John Hughes - - * javax/management/openmbean/OpenMBeanAttributeInfo.java: - (toString()): Corrected documentation. - * javax/management/openmbean/OpenMBeanConstructorInfo.java, - * javax/management/openmbean/OpenMBeanInfo.java, - * javax/management/openmbean/OpenMBeanOperationInfo.java: - New files. - * javax/management/openmbean/OpenMBeanParameterInfo.java: - (toString()): Corrected documentation. - -2006-08-01 Tania Bento - - * java/awt/Choice.java - (remove(int)): Added documentation. - -2006-08-01 Tania Bento - - * java/awt/Choice.java - (remove(int)): An IllegalArgumentException should not be thrown - if int is invalid. Update selectedIndex and peer selection. - -2006-08-01 Tania Bento - - * java/awt/CardLayout.java - (toString): Changed format of string outputted. - (goToComponent): Changed the order of the if-clause. - -2006-07-31 Tom Tromey - - * INSTALL: Updated for ASM. - -2006-07-31 Tom Tromey - - PR libgcj/23682: - * java/nio/channels/SelectionKey.java (attach): Now synchronized. - (attachment): Likewise. - * java/nio/channels/spi/AbstractSelectionKey.java (cancel): Now - synchronized. - (isValid): Likewise. - * gnu/java/nio/SelectionKeyImpl.java (impl): Now final - (ch): Likewise. - (interestOps): Synchronize. - (readyOps): Likewise. - * gnu/java/nio/SelectorImpl.java (register): Synchronize around - interestOps call. - -2006-07-31 Roman Kennke - - * NEWS: Added note about the X peers. - * INSTALL: Added install notes about the X peers. - -2006-07-31 Carsten Neumann - - * StrictMath.java (getLowDWord): Return long instead of int. - (getHighDWord): Likewise. - (buildDouble): Take two long arguments. - (cbrt): Adapted to int -> long change. - (expm1): Likewise. - (cosh): Likewise. - -2006-07-31 Thomas Fitzsimmons - - * native/jni/qt-peer/Makefile.am (libqtpeer_la_LDFLAGS): Add - -avoid-version. - -2006-07-31 Raif S. Naffah - - * java/security/Provider.java: Updated copyright year. - Updated documentation. - Formatting. - (put): Updated documentation. - Added security manager check. - Canonicalize the key before adding its mapping. - (get): Override superclass implementation to use canonicalized keys. - (remove): Updated documentation. - Added security manager check. - Canonicalize the key before removing its mapping. - (clear): Updated documentation. - Added security manager check. - (toCanonicalKey): New method. - -2006-07-30 Matt Wringe - - * gnu/java/security/Engine.java - (getInstance): Ignore self referencing aliases. - -2006-07-30 Mark Wielaard - - * javax/swing/JComponent.java (getListeners): Revert - un-genericization. - -2006-07-30 Mark Wielaard - - * resource/java/security/classpath.security: Add /dev/urandom as - default securerandom.source. - -2006-07-30 Mark Wielaard - - * java/util/GregorianCalendar.java (maximums): Months can have up to - 6 weeks. - (nonLeniencyCheck): weeks is either 5 or 6. - -2006-07-30 Andrew John Hughes - - * javax/management/openmbean/OpenMBeanAttributeInfo.java, - * javax/management/openmbean/OpenMBeanParameterInfo.java: - New files. - -2006-07-30 Matt Wringe - - * gnu/java/security/Engine.java - (getInstance): Ignore self referencing aliases. - -2006-07-30 Sven de Marothy - - * java/awt/Choice.java: - (accessibleAction): Call select() directly. - (add, insert, remove): Reimplement. - (dispatchEventImpl): Always call super. - (processItemEvent): Does not set the index. - * include/gnu_java_awt_peer_gtk_GtkChoicePeer.h - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.c - (append): removed. - (nativeAdd): Name changed to add. - (selection_changed_cb): Simplify callback. - * gnu/java/awt/peer/gtk/GtkChoicePeer.java - (selected): New field. - (add): Replaced with native impl. - (handleEvent): New method. - -2006-07-30 Sven de Marothy - - * java/awt/Choice.java: - Reformat, fix copyright year. - -2006-07-29 Mark Wielaard - - * javax/swing/JComponent.java (paintingDoubleBuffered): Renamed - static field isPaintingDoubleBuffered to not have the same name - as a method. - -2006-07-29 Andrew John Hughes - - * examples/gnu/classpath/examples/management/TestBeans.java: - New file. - * javax/management/MBeanAttributeInfo.java: - (toString()): Implemented. - * javax/management/MBeanConstructorInfo.java: - (toString()): Implemented. - * javax/management/MBeanFeatureInfo.java: - (toString()): Implemented. - * javax/management/MBeanInfo.java: - (toString()): Implemented. - * javax/management/MBeanNotificationInfo.java: - (toString()): Implemented. - * javax/management/MBeanOperationInfo.java: - (toString()): Implemented. - * javax/management/MBeanParameterInfo.java: - (toString()): Implemented. - * javax/management/StandardMBean.java: - (getMBeanInfo()): Fix attribute naming. - -2006-07-29 Andrew John Hughes - - * gnu/java/lang/management/BeanImpl.java: - Extended javax.management.StandardMBean. - * gnu/java/lang/management/ClassLoadingMXBeanImpl.java, - * gnu/java/lang/management/CompilationMXBeanImpl.java, - * gnu/java/lang/management/GarbageCollectorMXBeanImpl.java, - * gnu/java/lang/management/MemoryMXBeanImpl.java, - * gnu/java/lang/management/MemoryManagerMXBeanImpl.java, - * gnu/java/lang/management/MemoryPoolMXBeanImpl.java, - * gnu/java/lang/management/OperatingSystemMXBeanImpl.java, - * gnu/java/lang/management/RuntimeMXBeanImpl.java, - * gnu/java/lang/management/ThreadMXBeanImpl.java: - Call the superclass with the appropriate class. - * java/lang/management/ManagementFactory.java: - (getOperatingSystemMXBean()): Catch exception from - StandardMBean. - (getRuntimeMXBean()): Likewise. - (getClassLoadingMXBean()): Likewise. - (getThreadMXBean()): Likewise. - (getMemoryMXBean()): Likewise. - (getCompilationMXBean()): Likewise. - (getMemoryPoolMXBeans()): Likewise. - (getMemoryManagerMXBeans()): Likewise. - (getGarbageCollectorMXBeans()): Likewise. - * javax/management/MBeanFeatureInfo.java: - hashCode()): Fixed to check for null values. - -2006-07-29 Matt Wringe - - * gnu/java/security/Engine.java - (getInstance): Add case insentivity to algorithm names - * java/security/Provider.java - (put): Stop using canonical key naming - (remove): Likewise - (toCanonicalKey): Method removed - (get): Method removed, no longer needs to overwrite - parent implementation - -2006-07-29 Mark Wielaard - - * gnu/java/awt/peer/gtk/GdkTextLayout.java: Removed. - * gnu/java/awt/peer/gtk/GtkCheckboxGroupPeer.java: Removed. - * include/gnu_java_awt_peer_gtk_GdkTextLayout.h: Removed. - * include/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.h: Removed. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkTextLayout.c: Removed. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.c: - Removed. - -2006-07-29 Sven de Marothy - - * java/math/BigDecimal.java - Adjust copyright date. - (divide(BigDecimal): Implement. - (precision): Reimplement. - (numDigitsInBigInteger, numDigitsInLong): Removed. - (toString): Get exponent from string length, - fix negative values with exponential form. - (toEngineeringString): Same as for toString. - (setScale): Throw ArithmeticException if scale < 0. - -2006-07-27 Francis Kung - - * gnu/java/awt/java2d/CubicSegment.java: Added import. - (cp1): Renamed from first(). - (c2): Renamed from last(). - (first): Renamed to cp1(). - (getDisplacedSegments): Implemented. - (last): Renamed to cp2(). - * gnu/java/awt/java2d/LineSegment.java - (cp1): Renamed from first(). - (c2): Renamed from last(). - (first): Renamed to cp1(). - (last): Renamed to cp2(). - * gnu/java/awt/java2d/QuadSegment.java - (cp1): Renamed from first(). - (c2): Renamed from last(). - (first): Renamed to cp1(). - (last): Renamed to cp2(). - * gnu/java/awt/java2d/Segment.java: Added comments. - (first): New field. - (Segment): Keep track of first element in list. - (add): Update first & last element variables. - (cp1): Renamed from first(). - (c2): Renamed from last(). - (first()): Renamed to cp1() to reduce ambiguity. - (last()): Renamed to cp2() to reduce ambiguity. - (reverseAll): Update first element variable.. - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (draw): Remove flattening path iterator. - * java/awt/BasicStroke.java: Clarified comments. - (addSegments): Refactored some code into joinSegments and - joinInnerSegments. - (capEnd): Rename of Segment.first() and Segment.end(). - (joinInnerSegments): New method. - (joinOuterSegments): New method. - (joinSegments): Refactored some code into joinOuterSegments. - (solidStroke): Connect segments together properly. - -2006-07-28 Thomas Fitzsimmons - - * native/jawt/Makefile.am (libjawt_la_LDFLAGS): Add - -avoid-version. - * native/jni/gtk-peer/Makefile.am (libgtkpeer_la_LDFLAGS): - Likewise. - * native/jni/midi-alsa/Makefile.am (libgjsmalsa_la_LDFLAGS): - Likewise. - * native/jni/midi-dssi/Makefile.am (libgjsmdssi_la_LDFLAGS): - Likewise. - -2006-07-28 Tom Tromey - - * configure.ac: Enable -Werror by default on Linux-with-gcc. - -2006-07-28 Lillian Angel - - * native/jni/gtk-peer/GtkDragSourceContextPeer.c: - Removed function declarations. - (connect_signals_for_widget): Removed implementation because - stub functions have been removed. - (drag_begin_cb): Removed function. - (drag_motion_cb): Likewise. - (drag_data_get_cb): Likewise. - (drag_data_delete_cb): Likewise. - (drag_drop_cb): Likewise. - (drag_end_cb): Likewise. - (drag_data_received_cb): Likewise. - -2006-07-28 Mark Wielaard - - * configure.ac: Set version to 0.93-pre. - -2006-07-29 Raif S. Naffah - - * tools/Makefile.am: Added source 1.4 compliance option when ECJ is used. - -2006-07-29 Raif S. Naffah - - * tools/gnu/classpath/tools/keytool/Command.java: Removed unused import. - (getCallbackHandler): Fully qualify linked class in javadoc. - * tools/gnu/classpath/tools/keytool/GenKeyCmd.java (cmdOptionsParser): Removed. - * tools/gnu/classpath/tools/keytool/ImportCmd.java (imported): Likewise. - * tools/gnu/classpath/tools/keytool/Main.java (printHelp): Likewise. - -2006-07-27 Tom Tromey - - PR classpath/28486: - * java/net/URLStreamHandler.java (equals): Properly handle default - port. Rewrote javadoc. Don't compare 'authority' parts of URLs. - -2006-07-27 Roman Kennke - - * javax/swing/text/AbstractDocument.java - (documentCV): Made field private. - (bypass): Made field private. - (bidiRoot): New field. - (AbstractDocument): Initialize bidiRoot. - (getBidiRootElement): Return bidiRoot. - (getRootElements): Adjusted to also return the bidiRoot element. - (BranchElement.startOffset): Removed unneeded field. - (BranchElement.endOffset): Removed unneeded field. - (BranchElement.BranchElement): Removed unneeded fields. - (BranchElement.getEndOffset): Don't explicitly throw NPE here. This is - done automatically when there's no element left in the array. - (BranchElement.getStartOffset): Likewise. - (BranchElement.replace): Reordered calculations to avoid double - calculations. - (removeImpl): Silently ignore requests with length <= 0. - * javax/swing/text/GapContent.java - (createPosition): Removed explicit check for correct offset. - This class can deal with offsets outside the document. - (shiftEnd): Update all positions, even those outside the - document. - (adjustPositionsInRange): Fixed to also adjust positions outside - the document boundary. - -2006-07-18 Kyle Galloway - - * gnu/classpath/jdwp/event/ExceptionEvent.java: Added _klass field to hold - defining class. - (getParameter): Returns _klass field instead of determining - class from _instance. - (setCatchLoc): New method. - (writeData): Now assumes Location deals with empty locations instead of - using null. - * gnu/classpath/jdwp/util/Location.java (write): Check for empty - locations and write out accordingly. - (getEmptyLocation): New method. - -2006-07-27 Roman Kennke - - * javax/swing/text/SimpleAttributeSet.java - (EMPTY): Use EmptyAttributeSet for this field rather than - SimpleAttributeSet. - * javax/swing/text/EmptyAttributeSet.java: New class. Implements - an empty and immutable AttributeSet. - -2006-07-27 Roman Kennke - - * java/awt/Component.java - (reshape): Invalidate the component itself only when the - size has changed. Invalidate the parent always. Fixed - repainting. Pulled out the notification into - notifyReshape(). - (notifyReshape): New helper method. Notify interested listeners - about a reshape. - (update): Simply call paint() without clearing the background. - This is done in Container.update() if appropriate. - (repaint): Delagate the repaint to the nearest heavyweight - parent (for lightweights) and send an UPDATE event, rather than - calling ComponentPeer.repaint(). - * java/awt/Container.java - (backCleared): Removed field. - (paint): Removed handling of backCleared flag. - (update): Only paint if the container is actually - showing. Removed handling of backCleared flag. - -2006-07-27 Robert Schuster - - * javax/swing/plaf/basic/BasicTabbedPaneUI.java: Fixed copyright and - authorship. - (NavigateAction): New inner class. - (NavigatePageDownAction): New inner class. - (NavigatePageUpAction): New inner class. - (RequestFocusAction): New inner class. - (RequestFocusForVisibleComponentAction): New inner class. - (FocusHandler.focusGained): Implemented. - (FocusHandler.focusLost): Implemented. - (MouseHandler.mouseReleased): Implemented. - (MouseHandler.mousePressed): Rewritten. - (PropertyChangeHandler.propertyChange): Reset currentScrollOffset and - currentScrollLocation to 0. - (TabbedPaneLayout.calculateSize): Stored tab count in local variable, - removed local variables, fixed indentation to stay under 80 column - limit. - (TabbedPaneLayout.calculateTabRects): Decrease tab area position by - one, set selectedIndex to 0 if its negative, corrected start values - for normalization, suppressed padding when only one tab run, - (TabbedPaneLayout.minimumLayoutSize): Toggled argument value. - (TabbedPaneLayout.normalizeTabRuns): Fixed indentation to stay under - 80 column limit, corrected the starting value for the bounds fixing - phase. - (TabbedPaneLayout.preferredTabAreaWidth): Fixed indentation. - (TabbedPaneLayout.rotateTabInRuns): Corrected comparison value for - selectedRun, set start index for loop to 0. - (TabbedPaneScrollLayout.preferredLayoutSize): Toggled argument value. - (TabbedPaneScrollLayout.calculateTabRects): Rewritten. - (TabbedPaneScrollLayout.layoutContainer): Added scrolling button - alignment and visibility handling. - (TabSelectionHandler.stateChanged): Do revalidation only in wrap tab - layout mode. - (ScrollingPanel.ScrollingPanelUI.paint): Rewritten. - (currentScrollOffset): New field. - (tabRuns): Rewritten documentation. - (selectedColor): New field. - (tempTextRect): New field. - (tempIconRect): New field. - (scrollTab): New method. - (updateButtons): New method. - (updateViewPosition): New method. - (createLayoutManager): Reordered method calls, predefine new fields, - register proper listeners. - (uninstallComponents): Implemented. - (installDefaults): Corrected property names, fixed indentation,. - (uninstallDefaults): Set new fields to null. - (uninstallListeners): Remove listeners from components neccessary for - scrolling tab layout. - (installKeyboardActions): Implemented. - (uninstallKeyboardActions): Implemented. - (paint): Paint tab area background. - (paintTabArea): Fixed indentation, removed usage of local Rectangle - objects. - (getTabLabelShiftX): Rewritten. - (getTabLabelShiftY): Rewritten. - (paintFocusIndicator): Reindented. - (paintTabBorder): Rewritten. - (paintTabBackground): Corrected color usage, rewritten background - rectangle painting. - (paintContentBorderTopEdge): Rewritten. - (paintContentBorderBottomEdge): Rewritten. - (paintContentBorderLeftEdge): Rewritten. - (paintContentBorderRightEdge): Rewritten. - (tabForCoordinate): Return selected index when no tab could be - found, removed FIXME note. - (getRunForTab): Changed return value for first if-statement. - (navigateSelectedTab): Fixed last argument for both - getTabRunOffset() calls. - (selectedNextTabInRun): Added scrolling code. - (selectedPreviousTabInRun): Added scrolling code. - (selectedNextTab): Added scrolling code. - (selectedPreviousTab): Added scrolling code. - (selectAdjacentRunTab): Added scrolling code. - (getTextViewForTab): Added FIXME note. - (calculateTabHeight): Changed FIXME note. - (getTabRunOffset): Fixed indentation. - (getNextTabIndexInRun): Corrected return value. - (rotateInsets): Make TOP case the default in switch-statement. - (getActionMap): New method. - (createActionMap): New method. - * javax/swing/plaf/metal/MetalTabbedPaneUI.java: - (createLayoutManager): Rewritten. - (paintLeftTabBorder): Do not paint left line when previous tab - is selected but current tab is the first in its run, do not paint - left line when current tab is selected and is first in its run. - (paintRightTabBorder): Added missing setColor() call, fixed color - usage, do not paint right line if previous tab is selected but - current tab is the first in its run. - (paintBottomTabBorder): Do not paint left line if tab is selected - and is the first tab in the last run. - (paintFocusIndicator): New method. - (getLabelShiftX): New method. - (getLabelShiftY): New method. - -2006-07-27 Andreas Tobler - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c - (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoSetMatrix): Remove - g_assert from unused obj. - (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoDrawGlyphVector): Mark - obj as unused and remove g_assert on it. - -2006-07-26 Roman Kennke - - * javax/swing/RepaintManager.java - (markCompletelyDirty): Add dirty region with Integer.MAX_VALUE - for the component. - (isCompletelyDirty): Consider a component completely dirty - when it has a dirty region with Integer.MAX_VALUE. - -2006-07-26 Roman Kennke - - * java/awt/KeyboardFocusManager.java - (getGlobalFocusOwner): Explicitly check for thread security. - (getGlobalPermanentFocusOwner): Explicitly check for thread security. - (getGlobalFocusedWindow): Explicitly check for thread security. - (getGlobalActiveWindow): Explicitly check for thread security. - (getGlobalCurrentFocusCycleRoot): Explicitly check for thread security. - (getGlobalObject): Added new argument for specifying if - a security check should be performed or not. - (setGlobalObject): Don't check for thread security when - calling getGlobalObject. - -2006-07-26 Andrew John Hughes - - * javax/management/MBeanConstructorInfo.java: - Documentation fix. - * javax/management/MBeanInfo.java: - (MBeanInfo(String,String,MBeanAttributeInfo[], - MBeanConstructorInfo[], MBeanOperationInfo[], - MBeanNotificationInfo[])): Implemented. - (equals(Object)): Likewise. - (getAttributes()): Likewise. - (getConstructors()): Likewise. - (getOperations()): Likewise. - (hashCode()): Likewise. - * javax/management/MBeanOperationInfo.java, - * javax/management/NotCompliantMBeanException.java, - * javax/management/StandardMBean.java: - New files. - -2006-07-26 Sven de Marothy - - * java/awt/geom/GeneralPath.java: Fix severe typo. - -2006-07-26 Sven de Marothy - - * include/java_lang_VMSystem.h - * vm/reference/java/lang/VMSystem.java - * native/jni/java-lang/java_lang_VMSystem.c - (nanoTime, currentTimeMillis): Switch the former to native code and - the latter to java. - -2006-07-26 Andreas Tobler - - * gnu/java/awt/peer/qt/QtCheckboxPeer.java: Removed unneeded imports. - * gnu/java/awt/peer/qt/QtComponentGraphics.java: Likewise. - * gnu/java/awt/peer/qt/QtComponentPeer.java: Likewise. - * gnu/java/awt/peer/qt/QtContainerPeer.java: Likewise. - * gnu/java/awt/peer/qt/QtDialogPeer.java: Likewise. - * gnu/java/awt/peer/qt/QtEmbeddedWindowPeer.java: Likewise. - * gnu/java/awt/peer/qt/QtFontMetrics.java: Likewise. - * gnu/java/awt/peer/qt/QtFontPeer.java: Likewise. - * gnu/java/awt/peer/qt/QtGraphics.java: Likewise. - * gnu/java/awt/peer/qt/QtGraphicsEnvironment.java: Likewise. - * gnu/java/awt/peer/qt/QtImage.java: Likewise. - * gnu/java/awt/peer/qt/QtImageConsumer.java: Likewise. - * gnu/java/awt/peer/qt/QtImageDirectGraphics.java: Likewise. - * gnu/java/awt/peer/qt/QtImageGraphics.java: Likewise. - * gnu/java/awt/peer/qt/QtMenuBarPeer.java: Likewise. - * gnu/java/awt/peer/qt/QtMenuItemPeer.java: Likewise. - * gnu/java/awt/peer/qt/QtPopupMenuPeer.java: Likewise. - * gnu/java/awt/peer/qt/QtScreenDeviceConfiguration.java: Likewise. - * gnu/java/awt/peer/qt/QtScrollPanePeer.java: Likewise. - * gnu/java/awt/peer/qt/QtToolkit.java: Likewise. - * gnu/java/awt/peer/qt/QtVolatileImage.java: Likewise. - -2006-07-26 Roman Kennke - - * java/awt/KeyboardFocusManager.java - (getFocusOwner): Don't check permanent owner. - (getGlobalFocusOwner): Don't check permanent owner. - -2006-07-26 Carsten Neumann - - * StrictMath.java (cosh): New method. - (expm1): New method. - (EXPM1_Q1): New field. - (EXPM1_Q2): Likewise. - (EXPM1_Q3): Likewise. - (EXPM1_Q4): Likewise. - (EXPM1_Q6): Likewise. - -2006-07-26 Roman Kennke - - * javax/swing/plaf/basic/BasicButtonListener.java - (mousePressed): Request focus if appropriate. - * javax/swing/text/DefaultCaret.java - (mousePressed): Also handle the focus of the text component - as specified. Don't consume events. - -2006-07-26 Roman Kennke - - * gnu/java/awt/peer/gtk/GtkComponentPeer.java - (focusRequest): Removed field. - (postFocusEvent(int,boolean,Component)): Removed. - (postFocusEvent(int,boolean)): Reverted to post event using - the heavyweight component. - (requestFocus): Post focus event using the heavyweight - component. - * gnu/java/awt/peer/gtk/GtkWindowPeer.java - (requestFocus): Post focus event using the heavyweight - component. - * java/awt/AWTEvent.java - (isFocusManagerEvent): New field, indicating if this is - an event that is redispatched by the KeyboardFocusManager. - * java/awt/Component.java - (requestFocusImpl): Register component for - heavyweight->lightweight mapping. - (dispatchEventImpl): Retarget focus events before dispatching - to the KeyboardFocusManager. Use new AWTEvent flag instead - of locking hack. Dispatch all events through the - KeyboardFocusManager. Don't request focus on lightweight - components. - * java/awt/DefaultKeyboardFocusManager.java - (dispatchEvent): Pulled out handling of FOCUS_GAINED and - FOCUS_LOST. - (handleFocusGained): Fixed handling of temporary vs permanent - focus changes. Added some checks. - (handleFocusLost): Fixed handling of temporary vs permanent - focus changes. Added some checks. - * java/awt/EventDispatchThread.java - (run): Don't dispatch to KeyboardFocusManager here. This - is done in Component.dispatchEventImpl(). - * java/awt/KeyboardFocusManager.java - (redispatchEvent): Use new AWTEvent flag instead of locking hack. - (focusRequests): New field. - (retargetFocusEvent): New method. Retargets focus events - that come from heavyweights to the correct lightweight component. - (addLightweightFocusRequest): New method. Stores a mapping - for later retargetting of heavyweight focus events. - * java/awt/Window.java - (addFocusListener): Removed bogus method. If at all, this - should be performed in the KeyboardFocusManager. - (Window): Don't install a focus listener on the Window. - -2006-07-26 Robert Schuster - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java: - (drawLine): Apply shift to line coordinates. - -2006-07-26 Robert Schuster - - * java/awt/image/ColorConvertOp.java: Fixed copyright header. - (copyimage): Do not call setRenderingHints() when the respective map - does not exist. - (filter): Removed code to clone the ColorModel instance. - * java/awt/image/ColorModel.java: - (cloneColorModel): Removed. - -2006-07-26 Robert Schuster - - * javax/swing/JTabbedPane.java: - (setSelectedIndex): Removed updating of component visibility status, - added note. - (remove(Component)): Use indexOfComponent() to find whether we have - to use super.remove(int) or removeTabAt(). - -2006-07-26 Roman Kennke - - * javax/swing/JOptionPane.java - (createDialog): Add property change handler for closing - the dialog when the value property changes. - (ValuePropertyHandler): New inner helper class. - * javax/swing/plaf/basic/BasicOptionPaneUI.java - (OptionPaneCloseAction): New class. - (messageForeground): Removed field. - (messageBorder): Removed field. - (buttonBorder): Removed field. - (addIcon): Configure the new label. - (addMessageComponents): Configure newly created labels. - (burstStringInto): Likewise. - (createButtonArea): Install border here. - (createMessageArea): Install border and foreground here. - (createSeparator): Added comment and removed - NotImplementedException. - (installComponents): Don't install the UI defaults for the - message and button area here. This is moved to the - corresponding create* methods. Adjusted comment about - separator. - (installDefaults): Removed initialization of removed fields. - (installKeyboardActions): Implemented. - (getActionMap): New helper method. - (createDefaultActions): New helper method. - (uninstallDefaults): Removed de-initialization of removed fields. - (uninstallKeyboardActions): Implemented. - (configureLabel): New helper method. - * javax/swing/plaf/basic/BasicTableUI.java - (getActionMap): Fixed the UI property names. - * javax/swing/plaf/basic/BasicToolBarUI.java - (getActionMap): Fixed the UI property names. - -2006-07-26 David Gilbert - - * java/awt/image/BandedSampleModel.java - (getDataElements): Check for negative x or y, - (getPixels): Likewise, - (getSamples): Likewise, - (setSamples): Likewise. - -2006-07-26 Roman Kennke - - * javax/swing/plaf/basic/BasicToolBarUI.java - (ToolBarAction): New inner class for handling keyboard - actions. - (installKeyboardActions): Implemented. - (getActionMap): New helper method. - (createDefaultActions): New helper method. - (installListeners): Install focus listener on toolbar's - children, rather than the toolbar itself. - (navigateFocusedComp): Implemented. - (uninstallKeyboardActions): Implemented. - (uninstallListeners): Uninstall focus listener from - toolbar's children, rather than the toolbar itself. - (ToolBarContListener.componentAdded): Install focus - listener on added child. - (ToolBarContListener.componentRemoved): Uninstall focus - listener from removed child. - (ToolBarFocusListener.ToolBarFocusListener): Nothing to do here. - (ToolBarFocusListener.focusGained): Implemented. - (ToolBarFocusListener.focusLost): Implemented. - -2006-07-26 Roman Kennke - - * java/awt/DefaultKeyboardFocusManager.java - (dispatchEvent): Notify old focus owner when it has lost - focus. - -2006-07-26 Roman Kennke - - * javax/swing/plaf/basic/BasicTableUI.java - (FocusHandler.focusGained): Implemented to refresh the - lead cell. - (FocusHandler.focusLost): Implemented to refresh the - lead cell. - (FocusHandler.repaintLeadCell): New helper method. - (MouseInputHandler.mouseEntered): Do nothing here. - (MouseInputHandler.mouseExited): Do nothing here. - (MouseInputHandler.mouseMoved): Do nothing here. - (installKeyboardActions): Rewritten to use a shared InputMap - and ActionMap and correctly install the maps via SwingUtilities - methods. - (getActionMap): New helper method. - (createDefaultActions): New helper method. - (ActionListenerProxy): Removed unneeded class. - (TableAction): Made class static. - (TableAction.actionPerformed): Determine table by fetching - the event source. Pass the table to helper methods. - Use __command__ hack to determine the action command. - (TableAction.getFirstVisibleColumnIndex): Get table as argument. - (TableAction.getLastVisibleColumnIndex): Get table as argument. - (TableAction.getFirstVisibleRowIndex): Get table as argument. - (TableAction.getLastVisibleRowIndex): Get table as argument. - (TableAction.advanceMultipleSelection): Get table as argument. - (uninstallDefaults): Do nothing here. - (uninstallKeyboardActions): Uninstall the keyboard actions. - -2006-07-26 Roman Kennke - - * javax/swing/JComponent.java - (processKeyBinding): Store the action command as property - in the Action instance that we call. This allows for - improvement on the side of the Action. - -2006-07-26 Roman Kennke - - * javax/swing/plaf/metal/MetalUtils.java - (fillMetalPattern): Use fillRect() instead of drawLine() to - fill single pixels. - -2006-07-26 Roman Kennke - - * javax/swing/text/GapContent.java - (getChars): Check for negative length and throw - BadLocationException. - -2006-07-26 Roman Kennke - - * javax/swing/plaf/basic/BasicMenuBarUI.java - (FocusAction): Made class static. - -2006-07-26 Roman Kennke - - * javax/swing/plaf/basic/BasicLookAndFeel.java - (initComponentDefaults): Add keyboard bindings for - PopupMenu. - -2006-07-26 Roman Kennke - - * javax/swing/UIManager.java - (getLookAndFeelDefaults): Return the look and feel defaults. - (setLookAndFeel): Improved exception messsage. - -2006-07-26 David Gilbert - - * javax/swing/text/StringContent.java - (StringContent): Changed initialLength to 10. - -2006-07-26 David Gilbert - - * java/util/Vector.java: Fixed API doc typo. - -2006-07-26 David Gilbert - - * java/awt/image/BandedSampleModel.java - (createCompatibleSampleModel): Fixed typo in loop increment, set - correct scanlineStride, and updated API docs. - -2006-07-25 Roman Kennke - - * javax/swing/plaf/basic/BasicPopupMenuUI.java - (NavigateAction): New inner class. This is responsible for - keyboard navigation through menus. - (KeyboardHelper): New inner class. This manages the - keyboard mappings and focus when a popup opens or closes. - (keyboardHelper): New static field. - (numPopups): New static field. - (installUI): Create KeyboardHelper for first popup. - Call installKeyboardActions(). - (installKeyboardActions): Removed NotImplementedException. - This method is a no-op. - (installKeyboardActionsImpl): New method. Installs keyboard - mapping when a popup is opened. - (getActionMap): New helper method. - (createDefaultActions): New helper method. - (uninstallUI): Uninstall KeyboardHelper when last Popup is - uninstalled. Call uninstallKeyboardActions(). - (uninstallKeyboardActions): Removed NotImplementedException. - This method is a no-op. - (uninstallKeyboardActionsImpl): New method. Uninstalls keyboard - mapping when a popup is closed. - -2006-07-25 Roman Kennke - - * java/awt/Component.java - (requestFocus()): Reimplemented to use requestFocusImpl(). - (requestFocus(boolean)): Reimplemented to use requestFocusImpl(). - (requestFocusInWindow()): Reimplemented to use requestFocusImpl(). - (requestFocusInWindow(boolean)): Reimplemented to use - requestFocusImpl(). - (requestFocusImpl): Reimplemented focus request to use - new peer method. Also added some obvious additional checks - for rejecting focus requests early. - * java/awt/ComponentPeer.java - (requestFocus(Component,boolean,boolean,long)): Documented - this method. - * gnu/java/awt/peer/gtk/GtkComponentPeer.java - (requestFocus): New field. - (gtkWidgetHasFocus): New native method. - (gtkWidgetCanFocus): New native method. - (requestFocus): Replaced with assert false to prevent - usage of obsolete method. - (postFocusEvent(int,boolean,Component)): New overloaded method - for posting the focus event to a specific target. - (postFocusEvent(int,boolean)): Post event to requestFocus - component. - (requestFocus(Component,boolean,boolean,long)): Implemented. - (getWindowFor): New helper method. - (isLightweightDescendant): New helper method. - * gnu/java/awt/peer/gtk/GtkWindowPeer.java - (gtkWindowHasFocus): New native method. - (requestFocus(Component,boolean,boolean,long)): New method. - Overrides GtkComponentPeer method to specially handly the - case when a Window receives a focus request for a lightweight - child. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c - (gtkWidgetHasFocus): New native method. - (gtkWidgetCanFocus): New native method. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c - (gtkWindowHasFocus): New native method. - * include/gnu_java_awt_peer_gtk_GtkComponentPeer.h, - * include/gnu_java_awt_peer_gtk_GtkWindowPeer.h: - Regenerated. - -2006-07-25 Francis Kung - - * java/awt/DefaultKeyboardFocusManager.java - (dispatchEvent): Add check for valid component. - -2006-07-25 Andrew John Hughes - - * javax/management/MBeanConstructorInfo.java: - New file. - * javax/management/MBeanNotificationInfo.java: - Documentation fix. - * javax/management/MBeanParameterInfo.java: - New file. - -2006-07-25 Robert Schuster - - * java/awt/peer/gtk/CairoGraphics.java: - (drawLine): Added special case for 1 pixel lines. - -2006-07-25 Robert Schuster - - Fixes PR27844. - * java/awt/peer/gtk/CairoGraphics.java: - (drawLine): Removed calls to shifted(). - -2006-07-25 Robert Schuster - - * javax/swing/JTabbedPane.java: - (remove(Component)): Rewritten. - (setSelectedIndex): Implemented updating of component visibility state. - -2006-07-25 Sven de Marothy - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkVolatileImage.c - (init): Default to the actual depth in the worst case. - - * java/awt/Font.java - (createFont(int, File)): New method. - -2006-07-25 Ito Kazumitsu - - Fixes bug #28413 - * gnu/java/util/regex/RETokenEnd.java(check_java_line_terminators): - New field. - (RETokenEnd): New constructer to set check_java_line_terminators. - (matchThis): Checck line terminators if check_java_line_terminators. - * gnu/java/util/regex/RETokenStart.java: Likewise. - * gnu/regexp/RE.java(initialize): Use the new constructors for - RETokenEnd and RETokenStart if REG_MULTILINE is set. - * java/util/regex/Pattern.java(Patteren): Changed so that - gnu/regexp/RE.java may use the new the new constructors. - -2006-07-25 Roman Kennke - - * java/awt/Container.java - (focusTraversalPolicyProvider): New field. - (isFocusTraversalPolicyProvider): New method. - (setFocusTraversalPolicyProvider): New method. - * java/awt/ContainerOrderFocusTraversalPolicy.java - (getFirstComponent): Use accept() instead of lengthy checks. - Don't fetch getComponents() to avoid copying of array. - Traverse down the hierarchy to find the first focused component. - * java/awt/DefaultKeyboardFocusManager.java - (dispatchEvent): Let the initial component request focus. - -2006-07-25 David Gilbert - - * javax/swing/text/Segment.java - (last): Update current index before returning DONE for zero count. - -2006-07-24 Mark Wielaard - - * javax/swing/tree/TreePath.java (equals): Swap path equals call. - -2006-07-25 Roman Kennke - - * javax/swing/plaf/basic/BasicMenuBarUI.java - (FocusAction): New inner class. Used to grab focus. - (installKeyboardActions): Implemented. - (uninstallKeyboardActions): Implemented. - (getActionMap): New helper method. - (createDefaultActions): New helper method. - -2006-07-25 Robert Schuster - - * examples/gnu/classpath/examples/swing/Demo.java: - (mkMenuBar): Install instantiable basic look and feel. - (InstantiableBasicLookAndFeel): New inner class. - -2006-07-25 Roman Kennke - - * javax/swing/plaf/basic/BasicInternalFrameUI.java - (GlassPaneDispatcher.dragTarget): New field. - (GlassPaneDispatcher.isDragging): New field. - (GlassPaneDispatcher.pressedComponent): Removed field. - (GlassPaneDispatcher.tempComponent): Removed field. - (GlassPaneDispatcher.pressCount): Removed field. - (GlassPaneDispatcher.mousePressed): Call - borderListener.mousePressed() to activate the frame. - (acquireComponentForMouseEvent): Removed method. - (handleEvent): Rewritten. - (redispatch): New method. - (InternalFramePropertyChangeListener.propertyChange): - Make glasspane invisible when frame is selected, and visible - if it gets deselected. - -2006-07-25 Roman Kennke - - * java/awt/LightweightDispatcher.java - (handleMouseEvent): Dispatch event to real target if - the dragTarget has become invisible in the meantime. - -2006-07-25 David Gilbert - - * javax/swing/text/TabSet.java - (equals): New method override for 1.5, - (hashCode): Likewise, - (toString): Added spaces to match reference implementation. - -2006-07-24 Andrew John Hughes - - * javax/management/IntrospectionException.java, - * javax/management/MBeanAttributeInfo.java: - New files. - * javax/management/MBeanNotificationInfo.java: - Documentation cleanups. - -2006-07-24 David Gilbert - - * javax/swing/text/TabSet.java - (TabSet): Check for null argument, - (getTab): Throw IllegalArgumentException for index out of bounds, - (getTabIndexAfter): Changed test to '<=', - and updated API docs all over, - * javax/swing/text/TabStop.java: Updated API docs. - -2006-07-24 David Gilbert - - * javax/swing/text/TabStop.java - (toString): Don't use 'left ' prefix, and added space between tab - location and '(w/leader)' suffix. - -2006-07-24 Francis Kung - - * javax/swing/JComboBox.java - (DefaultKeySelectionManager): Implemented. - (createDefaultKeySelectionManager): Implemented. - (getKeySelectionManager): Implemented. - (processKeyEvent): Removed duplicate code. - * javax/swing/JPopupMenu.java - (selectionModel): Changed visibility. - * javax/swing/plaf/basic/BasicComboBoxUI.java - (KeyHandler.keyPressed): Added navigation keys. - (configureEditor): Add key listener. - (installListeners): Install focus listener to combo box. - (isNavigationKey): Added enter, escape, and tab. - (selectPreviousPossibleValue): Added out of bounds check. - (unconfigureEditor): Remove key listener. - * javax/swing/plaf/metal/MetalComboBoxButton.java - (paintComponent): Highlight combo box when in focus. - -2006-07-24 Roman Kennke - - * javax/swing/SwingUtilities.java - (isLeftMouseButton): Fixed condition. - * java/awt/LightweightDispatcher.java - (handleMouseEvent): Dispatch MOUSE_ENTERED even when mouse - is dragged. - -2006-07-24 Roman Kennke - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (setPaint): Fixed scaleX and scaleY. - -2006-07-24 Roman Kennke - - * javax/swing/JTable.java - (handleInsert): Repaint the whole table for variable row - height tables and an optimized region otherwise. - (handleDelete): Likewise. - (handleUpdate): Likewise. - -2006-07-24 Mario Torre - - * gnu/java/awt/peer/gtk/GtkToolkit.java (createDragGestureRecognizer): - now explicity registerListeners on GtkMouseDragGestureRecognizer - instance. - * gnu/java/awt/dnd/GtkMouseDragGestureRecognizer.java - (unregisterListeners): new method, overrided from base class - to rise visibility (from protected to public). - (registerListeners): Likewise. - (GtkMouseDragGestureRecognizer): fixed potential threading issue: - removed call to registerListeners from the constructor. - -2006-07-23 Andrew John Hughes - - * gnu/java/lang/management/MemoryPoolMXBeanImpl.java, - * java/lang/management/MemoryPoolMXBean.java: - (getType()): Changed return type to MemoryType. - * java/lang/management/MemoryType.java: - New file. - -2006-07-23 Mark Wielaard - - * configure.ac: Check for moc and moc-qt4. - -2006-07-23 David Gilbert - - * java/awt/image/Kernel.java: API doc updates. - -2006-07-22 Andreas Tobler - - * gnu/java/awt/peer/gtk/CairoSurface.java: Optimize pixel swap code a - bit more. - -2006-07-22 Mark Wielaard - - * java/lang/Iterable.java: Import all of java.util. - * lib/mkcollections.pl.in (javautilclasses): Add Iterable. - * lib/Makefile.am: Only search for .java files in COLLECTIONS_PREFIX. - -2006-07-22 Andrew John Hughes - - * doc/vmintegration.texinfo: - Document getType(String). - * gnu/java/lang/management/MemoryPoolMXBeanImpl.java, - * java/lang/management/MemoryPoolMXBean.java: - (getType()): Implemented. - * vm/reference/gnu/java/lang/management/VMMemoryPoolMXBeanImpl.java - (getType(String)): Implemented. - -2006-07-22 Andrew John Hughes - - * doc/vmintegration.texinfo: - Move end of itemization block. - -2006-07-22 Robert Schuster - - * javax/swing/plaf/metal/MetalLookAndFeel.java: - (initComponentDefaults): Added new properties, added comments. - -2006-07-22 Andrew John Hughes - - * doc/vmintegration.texinfo: - Mention callback methods. - * gnu/java/lang/management/MemoryMXBeanImpl.java: - (fireNotification(String,String,long,long,long,long,long)): - Made package-private. - (fireThresholdExceededNotification(String,long,long,long, - long,long)): Likewise. - (fireCollectionThresholdExceededNotification(String,long, - long,long,long,long)): Likewise. - * java/lang/management/MemoryMXBean.java: - Document notifications. - -2006-07-22 Andrew John Hughes - - * gnu/java/lang/management/MemoryMXBeanImpl.java: - (fireNotification(String,String,long,long,long,long,long)): - Implemented. - (fireThresholdExceededNotification(String,long,long,long, - long,long)): Likewise. - (fireCollectionThresholdExceededNotification(String,long, - long,long,long,long)): Likewise. - * java/lang/management/MemoryNotificationInfo.java: - Use composite type from MemoryMXBeanImpl. - * javax/management/openmbean/CompositeData.java: - Correct documentation. - * javax/management/openmbean/CompositeDataSupport.java, - * javax/management/openmbean/InvalidKeyException.java: - New files. - -2006-07-22 Raif S. Naffah - - * gnu/java/security/util/IntegerUtil.java: New file. - -2006-07-22 Raif S. Naffah - - PR Classpath/28100 - * gnu/javax/crypto/cipher/TripleDES.java: Updated documentation. - (KEY_SIZE): Likewise. - (adjustParity(int,byte[],int): New method. - (adjustParity(byte[],int): Call above method with 3 as 1st argument. - (isParityAdjusted(int,byte[],int)): New method. - (isParityAdjusted): Call above method with 3 as 1st argument. - (keySizes): Add 8 and 16 as other valid key sizes. - (makeKey): Amended to cater for 1, 2 and 3 independent DES keys. - -2006-07-22 Andreas Tobler - - * gnu/java/awt/peer/gtk/CairoSurface.java (CairoSurface): Rearrange - code for the pixel swap routine to be more efficient. - -2006-07-21 Carsten Neumann - - * java/util/CopyOnWriteArrayList.java (indexOf(E, int)): New method. - (lastIndexOf(E, int)): Likewise. - (add(E)): Increase the size of newData array by one. - (add(int, E)): Likewise. - -2006-07-20 Lillian Angel - - * gnu/java/awt/dnd/GtkMouseDragGestureRecognizer.java: - Removed unused fields. - (GtkMouseDragGestureRecognizer): Removed initializations. - -2006-07-20 Lillian Angel - - * gnu/java/awt/dnd/GtkMouseDragGestureRecognizer.java - (GtkMouseDragGestureRecognizer): New constructor. - (GtkMouseDragGestureRecognizer): New constructor. - (GtkMouseDragGestureRecognizer): New constructor. - (mouseClicked): Removed FIXME. - (mousePressed): Implemented. - (mouseReleased): Implemented. - (mouseEntered): Implemented. - (mouseDragged): Implemented to check mouse point and trigger origin. - (mouseMoved): Removed FIXME. - (getDropActionFromEvent): New helper function used to convert mouse event - modifiers to a drop action. - * java/awt/dnd/DragSource.java - (getDragThreshold): Changed to return some arbitrary value for testing - purposes. - -2006-07-20 Roman Kennke - - * java/awt/LightweightDispatcher.java - (findTarget): Also consider components that have their eventMask - set, for compatibility with stonage AWT. Optimized check - for MouseListener. - (handleMouseEvent): Likewise. - -2006-07-20 Roman Kennke - - * javax/swing/JTable.java - (tableChanged): Split out handling of the event into multiple - subroutines. - (handleCompleteChange): New method. Clear the selection and - check the lead/anchor indices. - (handleInsert): New method. Check the lead/anchor indices. - Optimized repainting. - (handleDelete): New method. Check the lead/anchor indices. - Optimized repainting. - (handleUpdate): New method. Optimized repainting. - (checkSelection): New helper method. - (setSelectionModel): Update lead/anchor indices. - -2006-07-20 Lillian Angel - - PR 28440 - * gnu/java/awt/peer/gtk/GtkCheckboxPeer.java - (dispose): Reset all fields. - -2006-07-20 Roman Kennke - - * gnu/java/awt/peer/x/XToolkit.java - (createImage(InputStream)): Only copy image to Pixmap if - it's actually opaque. Transparent images are left as - BufferedImage and composited later onto the screen. - * gnu/java/awt/peer/x/XGraphics.java - (XGraphics): Fetch some parameters for image rendering. - (drawImage): Added special handling of transparent images. - (getRGB): New helper method. - (setRGB): New helper method. - -2006-07-20 Roman Kennke - - * gnu/javax/imageio/IIOInputStream.java: New class. Wraps - ImageInputStreams as normal InputStreams. - * gnu/javax/imageio/gif/GIFStream.java: - Moved to gnu/javax/imageio/IIOInputStream.java. - * gnu/javax/imageio/gif/GIFImageReader.java - (readImage): Use IIOInputStream. - * gnu/javax/imageio/gif/GIFImageReaderSpi.java - (canDecodeInput): Use IIOInputStream. - * gnu/javax/imageio/png/PNGException.java: Make subclass - of IOException. - * gnu/javax/imageio/png/PNGImageReader.java: New class. - Implements the ImageIO ImageReader for PNG. - * gnu/javax/imageio/png/PNGImageReaderSpi.java: New class. - Implements the ImageIO ImageReaderSpi for PNG. - * javax/imageio/spi/IIORegistry.java: - (IIORegistry): Add PNGImageReaderSpi. - -2006-07-20 David Gilbert - - * java/awt/image/ComponentSampleModel.java - (getPixel): Added argument check, - (getSample): Modified exception message. - -2006-07-20 David Gilbert - - PR Classpath/28422 - * java/awt/image/ConvolveOp.java - (filter(Raster, WritableRaster)): Reimplemented, - (fillEdge): New private method. - -2006-07-19 Keith Seitz - - * include/jvmti.h (JVMTI_VERSION_1_0): Define. - (JVMTI_VERSION): Define. - -2006-07-19 Roman Kennke - - * resource/gnu/regexp/MessagesBundle.properties, - * resource/gnu/regexp/MessagesBundle_fr.properties, - * resource/gnu/regexp/MessagesBundle_it.properties: - Moved to resource/gnu/java/util/regex. - * resource/gnu/java/util/regex/MessagesBundle.properties, - * resource/gnu/java/util/regex/MessagesBundle_fr.properties, - * resource/gnu/java/util/regex/MessagesBundle_it.properties: - New files. - * gnu/java/util/regex/RE.java - Use new resource bundle location. - -2006-07-19 Roman Kennke - - * javax/swing/JComponent.java - (paintChildren): Refactored. The paintChildrenOptimized method - has been moved back in here. Added locking of the tree and - only check for completely obscured child components - when not optimized drawing enabled. Use Graphics.create() to - protect from irreversible changes. - (isCompletelyObscured): New helper method. - (paintComponent): Also use Graphics.create() for Graphics2D, - to protect from irreverible changes. - (clipAndTranslateGraphics): Refactored to use more efficient - iterative (vs recursive) approach. - * javax/swing/RepaintManager.java - (getOffscreenBuffer): Create image from root component. - -2006-07-19 Roman Kennke - - * gnu/java/awt/peer/x/XGraphics.java - (translate): Don't set the clip on the X server. - (clipRect): Use setXClip() to set the clip on the X server. - (hitClip): More efficient and correct implementation. - (setClip): Use setXClip() to set the clip on the X server. - (setClip(Shape)): Use setXClip() to set the clip on the X server. - (copyArea): Translate and clip the source rectangle correctly. - (dispose): Only flush when object is not yet disposed. - (clone): Use setXClip() to set the clip on the X server. - -2006-07-19 Sven de Marothy - - * gnu/javax/imageio/png/PNGChunk.java, - * gnu/javax/imageio/png/PNGData.java, - * gnu/javax/imageio/png/PNGDecoder.java, - * gnu/javax/imageio/png/PNGEncoder.java, - * gnu/javax/imageio/png/PNGException.java, - * gnu/javax/imageio/png/PNGFile.java, - * gnu/javax/imageio/png/PNGFilter.java, - * gnu/javax/imageio/png/PNGGamma.java, - * gnu/javax/imageio/png/PNGHeader.java, - * gnu/javax/imageio/png/PNGICCProfile.java, - * gnu/javax/imageio/png/PNGPalette.java, - * gnu/javax/imageio/png/PNGPhys.java, - * gnu/javax/imageio/png/PNGTime.java: - New files. - -2006-07-19 Sven de Marothy - - * java/net/Inet6Address.java: - (getScopedId, getScopedInterface): New methods. - -2006-07-19 Lillian Angel - - * examples/gnu/classpath/examples/awt/Demo.java - (DragDropWindow): Fixed typo in Label text. - * gnu/java/awt/dnd/peer/gtk/GtkDragSourceContextPeer.java - (GtkDragSourceContextPeer): Removed unneeded initialization for field. - (startDrag): Initialized context field. - (transferablesFlavorsChanged): Removed FIXME. Nothing is done in this - function. - (dragEnter): New function. - (dragExit): Likewise. - (dragDropEnd): Likewise. - (dragMouseMoved): Likewise. - (dragOver): Likewise. - (dragActionChanged): Likewise. - -2006-07-19 Raif S. Naffah - - PR Classpath/26302 - * resource/java/security/classpath.security: Updated copyright year. - (auth.login.defaultCallbackHandler): New property; set to our default - callback handler. This is needed by the LoginContext when no callback - handler was specified. - * javax/security/auth/login/LoginContext.java: Updated copyright year. - (LoginContext(4)): Assign passed parameters to local fields before invoking - lookup method. - -2006-07-19 Roman Kennke - - * gnu/java/awt/peer/x/XGraphics.java - (drawImage(Image,int,int,int,int,int,int,int,int,ImageObserver)): - Fixed ordering of parameters. - -2006-07-18 Andrew John Hughes - - * gnu/java/lang/management/MemoryMXBeanImpl.java: - (MemoryMXBeanImpl()): Implemented. - (ListenerData): New private class. - (addNotificationListener(NotificationListener, - NotificationFilter, Object)): Implemented. - (getNotificationInfo()): Likewise. - (removeNotificationListener(NotificationListener)): - Likewise. - (removeNotificationListener(NotificationListener, - NotificationFilter, Object)): Likewise. - -2006-07-18 Roman Kennke - - * gnu/java/awt/peer/x/XFontPeer.java - (encodeFont): Be more flexible with font sizes. - (validSize): New helper method. - * gnu/java/awt/peer/x/XGraphics.java - (drawImage(Image,int,int,int,int,int,int,int,int,ImageObserver)): - Implemented. - (drawImage(Image,int,int,int,int,int,int,int,int,Color,ImageObserver)): - Implemented. - * gnu/java/awt/peer/x/XImage.java - (properties): New field. - (getProperty): Implemented. - * resource/gnu/java/awt/peer/x/fonts.properties: - Added copyright header. Fixed font size field. - -2006-07-18 David Gilbert - - * java/awt/image/BandedSampleModel.java - (createDataBuffer): New method override, - * java/awt/image/ByteLookupTable.java - (ByteLookupTable(int, byte[][])): Create new array to hold references, - (ByteLookuptable(int, byte[])): Check for null array, - * java/awt/image/ComponentSampleModel.java - (createDataBuffer): Removed unnecessary braces, - (getSample): Check (x, y) is within bounds, - * java/awt/image/ShortLookupTable.java - (ShortLookupTable(int, short[][])): Create new array to hold references, - (ShortLookupTable(int, short[])): Check for null array, - (getTable): Added API docs, - (lookupPixel): Source reformatting. - -2006-07-18 Tania Bento - - * java/awt/GridLayout.java - (setHgap): Illegal Argument Exception should not be thrown if - hgap < 0. - (setVgap): Illegal Argument Exception should not be thrown if - vgap < 0. - (toString): Opening square braket ([) should appear before hgap - value, not the name of the class. - -2006-07-18 Roman Kennke - - * lib/copy-vmresources.sh.in: Reverted. - * gnu/java/awt/peer/x/fonts.properties: Moved to resource/ - * resource/gnu/java/awt/peer/x/fonts.properties: New file. - -2006-07-18 Roman Kennke - - * lib/copy-vmresources.sh.in: Include properties from X peers. - -2006-07-18 Raif S. Naffah - - PR Classpath/27205 - * tools/gnu/classpath/tools/jarsigner/SFHelper.java (writeDSA): Check - certificate validity. - (getIssuerName): New method. - (getSubjectName): Likewise. - (getNotAfterDate): Likewise. - (getNotBeforeDate): Likewise. - * resource/gnu/classpath/tools/jarsigner/messages.properties: Added - messages for newly added messages in SFHelper. - -2006-07-18 Roman Kennke - - * gnu/java/awt/peer/x/XDialogPeer.java: New class. - * gnu/java/awt/peer/x/XEventPump.java - (handleEvent): Cast to XWindowPeer rather than XFramePeer. - * gnu/java/awt/peer/x/XFramePeer.java - Made a subclass of XWindowPeer, rather than SwingFramePeer. - * gnu/java/awt/peer/x/XGraphics.java - Made subclass of Graphics rather than Graphics2D. Removed - all Graphics2D specific method stubs. - (setColor): Map colors using the X color map that is - stored in XToolkit. - * gnu/java/awt/peer/x/XToolkit.java - (colorMap): New field. - (getLocalGraphicsEnvironment): Return new XGraphicsEnvironment - instance. - (createDialog): Implemented. - (createImage(ImageProducer)): Implemented. - (createImage(InputStream)): Use createImage(ImageProducer) - to convert the BufferedImage to an XImage. - * gnu/java/awt/peer/x/XWindowPeer.java - (XWindowPeer): Removed debug output. - -2006-07-18 David Gilbert - - * java/awt/image/BufferedImageOp.java: API docs added, - * java/awt/image/RasterOp.java: Likewise. - -2006-07-18 David Gilbert - - * java/awt/Graphics2D.java: API docs updated. - -2006-07-18 David Gilbert - - * java/awt/image/WritableRaster.java: Added API docs and reformatted - source code. - -2006-07-18 Sven de Marothy - - * java/net/Inet6Address.java: - Add 1.5 serialized fields. - (getByAddress): New methods. - (readObject, writeObject): New methods. - (equals): Reimplement. - -2006-07-18 David Gilbert - - * java/awt/image/Raster.java: Added API docs and reformatted source - code. - -2006-07-18 Andreas Tobler - - * gnu/java/awt/peer/gtk/BufferedImageGraphics.java: Remove unneeded - imports. - * gnu/java/awt/peer/gtk/CairoSurface.java: Likewise. - * gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java: Likewise. - * gnu/java/awt/peer/gtk/ComponentGraphicsCopy.java: Likewise. - * gnu/java/awt/peer/gtk/GdkFontPeer.java: Likewise. - * gnu/java/awt/peer/gtk/GdkPixbufDecoder.java: Likewise. - * gnu/java/awt/peer/gtk/GtkButtonPeer.java: Likewise. - * gnu/java/awt/peer/gtk/GtkClipboardNotifier.java: Likewise. - * gnu/java/awt/peer/gtk/GtkComponentPeer.java: Likewise. - * gnu/java/awt/peer/gtk/GtkContainerPeer.java: Likewise. - * gnu/java/awt/peer/gtk/GtkDialogPeer.java: Likewise. - * gnu/java/awt/peer/gtk/GtkFramePeer.java: Likewise. - * gnu/java/awt/peer/gtk/GtkImage.java: Likewise. - * gnu/java/awt/peer/gtk/GtkImageConsumer.java: Likewise. - * gnu/java/awt/peer/gtk/GtkMenuBarPeer.java: Likewise. - * gnu/java/awt/peer/gtk/GtkMenuItemPeer.java: Likewise. - * gnu/java/awt/peer/gtk/GtkMouseInfoPeer.java: Likewise. - * gnu/java/awt/peer/gtk/GtkPanelPeer.java: Likewise. - * gnu/java/awt/peer/gtk/GtkPopupMenuPeer.java: Likewise. - * gnu/java/awt/peer/gtk/GtkScrollbarPeer.java: Likewise. - * gnu/java/awt/peer/gtk/GtkWindowPeer.java: Likewise. - * gnu/java/awt/peer/gtk/VolatileImageGraphics.java: Likewise. - -2006-07-17 Andreas Tobler - - * javax/swing/text/html/HTMLEditorKit.java: Rearrange import statements - to make it compile again under jikes. Note added. - -2006-07-17 Lillian Angel - - * examples/gnu/classpath/examples/awt/Demo.java - (Demo): Added new window for DnD demo. - (DragDropWindow): New class. - * gnu/java/awt/dnd/peer/gtk/GtkDragSourceContextPeer.java: - Added new fields and declarations for native functions. - (GtkDragSourceContextPeer): Implemented. - (getComponentPeer): New function. - (startDrag): Partially implemented. - (getCursor): Implemented. - (setCursor): Implemented. - * include/GtkDragSourceContextPeer.h: New file. - * include/Makefile.am: Added new header file. - * java/awt/Component.java - (addNotify): Added call to the dropTarget's addNotify. - * java/awt/dnd/DragSource.java - (startDrag): Fixed code to use shared instances of peer and - context. - (getDragThreshold): Added stub. - * java/awt/dnd/DropTarget.java - (DropTarget): Implemented fully. - (addNotify): Added code to get the peer of the parent that is - not lightweight. - * java/awt/dnd/DropTargetDragEvent.java - (getTransferable): Added stub. - * native/jni/gtk-peer/GtkDragSourceContextPeer.c: New file. - * native/jni/gtk-peer/Makefile.am: Added new c file. - * gnu/java/awt/dnd/peer/gtk/GtkDropTargetContextPeer.java: - Changed to extend GtkGenericPeer. - (GtkDropTargetContextPeer): New constructor. - * gnu/java/awt/dnd/peer/gtk/GtkDropTargetPeer.java: - Changed to extend GtkGenericPeer. - (GtkDropTargetContextPeer): New constructor. - -2006-07-17 David Gilbert - - * java/awt/image/SinglePixelPackedSampleModel.java - (createSubsetSampleModel): Added argument check and API docs. - -2006-07-17 Roman Kennke - - * gnu/java/awt/peer/x/XGraphics.java - (copyArea): Implemented. - -2006-07-17 David Gilbert - - * java/awt/image/SinglePixelPackedSampleModel.java - (getSampleSize): Return copy of array, - (getOffset): Added API docs, - (getScanlineStride): Likewise, - (hashCode): Implemented. - -2006-07-17 David Gilbert - - * java/awt/image/MultiPixelPackedSampleModel.java - (getOffset): Updated API docs and source reformatting, - (getBitOffset): Source reformatting only, - (getDataElements): Likewise, - (getPixel): Likewise, - (getPixels): Removed method override, - (setDataElements): Reimplemented. - -2006-07-17 Gary Benson - - * resource/META-INF/services/.cvsignore: New file. - * lib/.cvsignore: Updated. - -2006-07-17 Roman Kennke - - * javax/swing/plaf/basic/BasicButtonListener.java - (propertyChange): Only do the text layout caching as long - as the noGraphics2D property isn't set. - * javax/swing/plaf/basic/BasicMenuItemUI.java - (PropertyChangeHandler.propertyChange): Only do the text layout - caching as long as the noGraphics2D property isn't set. - -2006-07-17 Roman Kennke - - * gnu/java/awt/peer/x/XGraphicsEnvironment.java - (XGraphicsEnvironment): Make constructor public so that it - can be called via Class.forName().newInstance(). - * gnu/java/awt/peer/x/XImage.java - (XImage): Fetch GraphicsEnvironment via - GraphicsEnvironment.getLocalGraphicsEnvironment() rather - than the XToolkit method, to avoid double instantiation - of the XGraphicsEnvironment. - * gnu/java/awt/peer/x/XToolkit.java - (env): Removed field. - (getLocalGraphicsEnvironment): Removed impl. This method - should not be called since we set the graphicsenv property - in the constructor. - -2006-07-16 Andrew John Hughes - - * java/util/UUID.java: - (compareTo(Object)): Call compareTo(UUID). - (compareTo(UUID)): Implemented. - -2006-07-16 Tom Tromey - - * java/lang/StrictMath.java (cbrt): Added '@since'. - -2006-07-16 Carsten Neumann - - * java/lang/StrictMath.java (cbrt): New method. - (getLowDWord): New helper method. - (getHighDWord): Likewise. - (buildDouble): Likewise. - (CBRT_B1): New field. - (CBRT_B2): Likewise. - (CBRT_C): Likewise. - (CBRT_D): Likewise. - (CBRT_E): Likewise. - (CBRT_F): Likewise. - (CBRT_G): Likewise. - -2006-07-16 Andrew John Hughes - - * javax/management/MBeanInfo.java: - (getNotifications()): Implemented. - * javax/management/NotificationBroadcaster.java: - (removeNotificationListener(NotificationListener)): - Renamed from removeListener. - * javax/management/NotificationEmitter.java: - (removeNotificationListener(NotificationListener, - NotificationFilter, Object)): Likewise. - * javax/management/NotificationFilter.java: - Implement Serializable. - * javax/management/NotificationListener.java: - Implement java.util.EventListener. - * javax/rmi/ssl/SslRMIClientSocketFactory.java: - Implement Serializable. - -2006-07-16 Andrew John Hughes - - * java/lang/management/MemoryNotificationInfo.java: - New file. - -2006-07-16 Audrius Meskauskas - - PR 28392 - * gnu/javax/swing/text/html/parser/htmlValidator.java - (tagIsValidForContext): If it is not possible to insert any tag, but - is possible to insert a P, insert a P. - * gnu/javax/swing/text/html/parser/HTML_401Swing.java - (newInstance): Removed print statement. (getBodyElements): - Removed ABBR, ACRONYM, BDO, Q, S, SUB, SUP and ADDRESS from the - valid body level tags (will be enclosed into P's). - -2006-07-17 Raif S. Naffah - - * tools/gnu/classpath/tools/keytool/Command.java (setKeystoreURLParam): - Condition the creation of .keystore (a default keystore) based on the - createIfNotFound argument as well. - -2006-07-16 Audrius Meskauskas - - PR 28392 - * examples/gnu/classpath/examples/swing/HtmlDemo.java: - Removed heading p tag from the parsing example. - * gnu/javax/swing/text/html/parser/HTML_401F.java: - (createHtmlContentModel): Explained. - (defineElements): Call getBodyElements to get the body - elements. (getBodyElements): New method. (model): - Made protected from private. - * gnu/javax/swing/text/html/parser/htmlValidator.java - (openTag): Mind that current content model may be null. - (tagIsValidForContext): If the tag is PCDATA, and it is not - valid for context, but the paragraph (P) is valid for context, - suggest to insert the P tag here. - * javax/swing/text/html/HTMLDocument.java (HTMLReader.addContent, - HTMLReader.blockOpen, HTMLReader.blockClose): Do not handle - implied P tags here. - * javax/swing/text/html/HTMLEditorKit.java (getParser): - Get the custom parser, using HTML_401Swing.java DTD. - * javax/swing/text/html/parser/ParserDelegator.java: - Removed the obsolete note that HTMLEditorKit does not exist. - * gnu/javax/swing/text/html/parser/GnuParserDelegator.java, - gnu/javax/swing/text/html/parser/HTML_401Swing.java: New files. - -2006-07-16 Andrew John Hughes - - * javax/management/ListenerNotFoundException.java: - New file. - * javax/management/MBeanFeatureInfo.java: - (hashCode()): Use summation instead of multiplication - for consistency with other classes. - * javax/management/MBeanNotificationInfo.java, - * javax/management/Notification.java, - * javax/management/NotificationBroadcaster.java, - * javax/management/NotificationEmitter.java, - * javax/management/NotificationFilter.java, - * javax/management/NotificationListener.java: - New files. - * javax/management/OperationsException.java: - (serialVersionUID): Added. - -2006-07-16 Thomas Minor <1nocentrabidlamb@sexMagnet.com> - Mark Wielaard - - * java/io/PrintStream.java: Added four constructors, for File and - String describing a filename with or without explicit encoding. - -2006-07-16 Sven de Marothy - - * javax/rmi/ssl/SslRMIServerSocketFactory.java, - * javax/rmi/ssl/SslRMIClientSocketFactory.java: - New files. - -2006-07-16 Raif S. Naffah - - PR Classpath/28391 - * tools/gnu/classpath/tools/keytool/Command.java (setKeyStoreParams(5)): - New method. - (setKeyStoreParams(4)): Call the above method with false as its 1st arg. - (setProviderClassNameParam): Made private. - (setKeystoreTypeParam): Likewise. - (setKeyPasswordParam): Likewise - (setKeystorePasswordParam): Likewise. - (setKeystoreURLParam): Now accepts 2 more arguments; the first a boolean to - create or not the keystore if it's not there, and the second is the store's - password to process before loading the keystore. Amended the code - accordingly. - * tools/gnu/classpath/tools/keytool/GenKeyCmd.java (setup): Call super's - setKeyStoreParams(5) with true as its first argument. - * tools/gnu/classpath/tools/keytool/IdentityDBCmd.java (setup): Likewise. - * tools/gnu/classpath/tools/keytool/ImportCmd.java (setup): Likewise. - -2006-07-16 Sven de Marothy - - * java/util/UUID.java: New file. - -2006-07-16 Raif S. Naffah - - * gnu/javax/crypto/jce/cipher/KeyWrappingAlgorithmAdapter.java: New file. - * gnu/javax/crypto/jce/cipher/AESKeyWrapSpi.java: New file. - * gnu/javax/crypto/jce/cipher/AES128KeyWrapSpi.java: Likewise. - * gnu/javax/crypto/jce/cipher/AES192KeyWrapSpi.java: Likewise. - * gnu/javax/crypto/jce/cipher/AES256KeyWrapSpi.java: Likewise. - * gnu/javax/crypto/jce/cipher/TripleDESKeyWrapSpi.java: Likewise. - * gnu/javax/crypto/jce/GnuCrypto.java (.run): Added mappings for newly - added Key Wrapping Algorithm SPIs. - -2006-07-16 Raif S. Naffah - - * javax/crypto/Cipher.java (getOutputSize): Allow SPIs initialised for key - wrapping/unwrapping to invoke their engineGetOutputSize. - -2006-07-16 Raif S. Naffah - - * gnu/javax/crypto/kwa/TripleDESKeyWrap.java (rnd): New field. - (engineInit): If a SecureRandom was specified then use it. - (nextRandomBytes): New method. - (engineWrap): Use above method. - * gnu/javax/crypto/kwa/BaseKeyWrappingAlgorithm.java (prng): New field. - (getDefaultPRNG): New method. - * gnu/javax/crypto/kwa/AESKeyWrap.java (engineInit): Reset underlying AES. - * gnu/javax/crypto/kwa/IKeyWrappingAlgorithm.java (SOURCE_OF_RANDOMNESS): - New constant. - -2006-07-16 Raif S. Naffah - - * gnu/javax/crypto/jce/params/BlockCipherParameters.java - (engineGetParameterSpec): Should be able to return an IvParameterSpec. - -2006-07-16 Raif S. Naffah - - * gnu/javax/crypto/cipher/DES.java (adjustParity): Index limit now takes - offset into consideration. - -2006-07-16 Mario Torre - - * native/jni/gconf-peer/GConfNativePeer.c (init_gconf_client): - Fixed comment. This functions now requires to be called - with gdk lock held, the comment states that. - (Java_gnu_java_util_prefs_gconf_GConfNativePeer_init_1id_1cache): - Introduces gdk locks around critical regions of code. - (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1gconf_1client_1all_1keys): - Likewise. - (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1gconf_1client_1all_1nodes): - Likewise. - (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1suggest_1sync): - Likewise. - (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1unset): - Likewise. - (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1get_1string): - Likewise. - (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1set_1string): - Likewise. - (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1remove_1dir): - Likewise. - (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1add_1dir): - Likewise. - (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1dir_1exists): - Likewise. - (Java_gnu_java_util_prefs_gconf_GConfNativePeer_finalize_1class): - * native/jni/gconf-peer/Makefile.am: The GConf peer now depends on GTK. - -2006-07-15 Sven de Marothy - - * javax/swing/JFileChooser.java - Change default selection mode to FILES_ONLY. - * javax/swing/plaf/basic/BasicDirectoryModel.java - Document, fix selection mode filtering. - (renameFile): Implement - * javax/swing/plaf/basic/BasicFileChooserUI.java - (selectedDir): New field to handle selected directories, - disallow selecting of directories in FILES_ONLY mode. - * javax/swing/plaf/metal/MetalFileChooserUI.java: - (EditingActionListener.actionPerformed): - Stop editing on all actions (e.g. return-key press) - -2006-07-15 Mark Wielaard - - * doc/vmintegration.texinfo (gnu.java.lang.management): Change xref - to code. - (JNI Implementation): Mark JVMTI Implementation as next. - (JVMTI Implementation): Mark JNI Implementation as prev. - -2006-07-15 Mark Wielaard - - * include/Makefile.am: Remove - include/gnu_java_awt_peer_gtk_GdkTextLayout.h. - * include/gnu_java_awt_peer_gtk_GdkTextLayout.h: Removed. - * native/jni/gtk-peer/Makefile.am: Remove - gnu_java_awt_peer_gtk_GdkTextLayout.c - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkTextLayout.c: - Removed. - - * include/gnu_java_awt_peer_gtk_GtkWindowPeer.h: Regenerated. - -2006-07-15 Mark Wielaard - - * autogen.sh: Recognize autoconf 2.60. - -2006-07-15 Keith Seitz - - * NEWS: Update for JVMTI and jvmti.h. - * doc/vmintegration.texinfo: Likewise. - * include/jvmti.h: New file. - -2006-07-15 Mark Wielaard - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c: - Removed C++ style comment. - -2006-07-15 Sven de Marothy - - * gnu/java/awt/peer/gtk/GtkMouseInfoPeer.java, - * java/awt/MouseInfo.java, - * java/awt/PointerInfo.java, - * java/awt/peer/MouseInfoPeer.java: - New files. - - * java/awt/Image.java - (accelerationPriority): New field. - (setAccelerationPriority, getAccelerationPriority): New methods.. - - * include/gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.h, - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.c, - * gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java: - (getMouseCoordinates): New method. - - * gnu/java/awt/peer/gtk/GtkFramePeer.java - (updateAlwaysOnTop): Remove stub overload. - - * gnu/java/awt/ClasspathToolkit.java, - * gnu/java/awt/peer/gtk/GtkToolkit.java, - * include/gnu_java_awt_peer_gtk_GtkToolkit.h, - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c: - (getMouseInfoPeer): New method. - (getMouseNumberOfButtons): New method. - - * gnu/java/awt/peer/gtk/GtkWindowPeer.java - * include/gnu_java_awt_peer_gtk_GtkWindowPeer.h - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c - (gtkWindowSetAlwaysOnTop): New method. - (updateAlwaysOnTop): Implement. - - * java/awt/Toolkit.java, - (getMouseInfoPeer): New method. - - * java/awt/Window.java - (alwaysOnTop): New field. - (isAlwaysOnTop, setAlwaysOnTop): New methods. - - * java/awt/peer/WindowPeer.java: Doc fix. - -2006-07-14 Sven de Marothy - - * java/awt/font/TextLayout.java: - (hitTestChar): Stub method. - * java/awt/font/TextMeasurer.java: - (getLayout): Throw exception on invalid argument. - -2006-07-14 Sven de Marothy - - * java/awt/image/DataBuffer.java - (DataBuffer): Call constructors in the correct order, - -2006-07-14 Mark Wielaard - - Revert to previous implementation. - * java/awt/GridBagLayout.java (AdjustForGravity): Only adjust for - constraints insets. - -2006-07-14 Roman Kennke - - * gnu/java/awt/peer/x/XToolkit.java - (XToolkit): Install properties to SystemProperties - rather than System, to avoid SecurityManager. - (getImage(String)): Return error image when string is invalid. - (createImage(URL)): Moved image loading to helper method. - (createImage(ImageProducer)): Implemented. - (createImage(byte[],int,int)): Implemented. - (createImage(InputStream)): New helper method. - -2006-07-14 Tania Bento - - * java/awt/FlowLayout.java - (setHgap): No Excpetion should be thrown if hgap has - a negative value. - (setVgap): No Exception should be thrown if vgap has - a negative value. - -2006-07-14 David Gilbert - - * java/awt/image/MultiPixelPackedSampleModel.java: - Added API docs all over. - -2006-07-14 Matt Wringe - - * gnu/javax/crypto/jce/cipher/CipherAdapter.java - (engineInit): Throw InvalidAlgorithmParameterException - for invalid IVParameterSpec IV length. - -2006-07-14 David Gilbert - - * java/awt/image/MultiPixelPackedSampleModel.java - (createDataBuffer): Include dataBitOffset in calculating the size for - the data buffer. - -2006-07-14 David Gilbert - - * java/awt/image/MultiPixelPackedSampleModel.java - (getSampleSize()): Return a copy of the array, - (getTransferType()): New method override. - -2006-07-14 Roman Kennke - - * java/awt/CardLayout.java - (show): Validate parent to make sure that the layout is - valid. - -2006-07-14 Roman Kennke - - * java/awt/Component.java - (enable): Added tree locking. - (disable): Added tree locking. - (show): Added tree locking. - (hide): Added tree locking. - (getLocationOnScreen): Added tree locking. - (reshape): Added tree locking. - (addHierarchyListener): Added tree locking. - (removeHierarchyListener): Added tree locking. - (addHierarchyBoundsListener): Added tree locking. - (removeHierarchyBoundsListener): Added tree locking. - (addNotify): Added tree locking. - (removeNotify): Added tree locking. - * java/awt/Container.java - (invalidateTree): Added tree locking. - (getAlignmentX): Added tree locking. - (getAlignmentY): Added tree locking. - (addNotify): Added tree locking. - (setComponentZOrder): Added tree locking. - (getComponentZOrder): Added tree locking. - -2006-07-14 David Gilbert - - * java/awt/image/MultiPixelPackedSampleModel.java - (createSubsetSampleModel): Restored argument check, but let null - through. - -2006-07-14 David Gilbert - - * java/awt/image/MultiPixelPackedSampleModel.java - (createSubsetSampleModel): Removed argument check. - -2006-07-14 Roman Kennke - - * java/awt/Component.java - (numHierarchyListeners): New field. - (numHierarchyBoundsListeners): New field. - (show): Fire hierarchy events here. Only fire component event - if there is actually a listener for it. - (hide): Fire hierarchy events here. Only fire component event - if there is actually a listener for it. - (reshape): Fire hierarchy events here. Only fire component event - if there is actually a listener for it. - (addHierarchyListeners): Update listener counters. - (removeHierarchyListeners): Update listener counters. - (addHierarchyBoundsListeners): Update listener counters. - (removeHierarchyBoundsListeners): Update listener counters. - (fireHierarchyEvent): New helper method for firing hierarchy - events. - * java/awt/Container.java - (addImpl): Update listener counters. Fire hierarchy event. - (remove): Update listener counters. Fire hierarchy event. - (fireHierarchyEvent): New helper method for firing hierarchy - events. - (updateHierarchyListenerCount): New helper method for - updating the listener counters. - -2006-07-14 David Gilbert - - * java/awt/image/MultiPixelPackedSampleModel.java - (equals): New method override, - (hashCode): Likewise. - -2006-07-14 David Gilbert - - * java/awt/image/MultiPixelPackedSampleModel.java - (MultiPixelPackedSampleModel(int, int, int, int, int, int)): - Corrected scanlineStride calculation. - -2006-07-14 Raif S. Naffah - - * gnu/java/security/Registry.java (KWA_PREFIX): New constant. - (AES_KWA): Likewise. - (AES128_KWA): Likewise. - (AES192_KWA): Likewise. - (AES256_KWA): Likewise. - (RIJNDAEL_KWA): Likewise. - (TRIPLEDES_KWA): Likewise. - (DESEDE_KWA): Likewise. - * gnu/javax/crypto/kwa/AESKeyWrap.java: New file - * gnu/javax/crypto/kwa/BaseKeyWrappingAlgorithm.java: Likewise. - * gnu/javax/crypto/kwa/IKeyWrappingAlgorithm.java: Likewise. - * gnu/javax/crypto/kwa/KeyUnwrappingException.java: Likewise. - * gnu/javax/crypto/kwa/KeyWrappingAlgorithmFactory.java: Likewise. - * gnu/javax/crypto/kwa/TripleDESKeyWrap.java: Likewise. - -2006-07-14 Raif S. Naffah - - * gnu/javax/crypto/pad/IPad.java: Updated class documentation. - (PADDING_BLOCK_SIZE): New constant. - (init(Map attributes)): New method. - * gnu/javax/crypto/pad/BasePad.java (init): New method. - -2006-07-14 Mario Torre - - * gnu/java/security/OID.java (OID): Private Constructor removed as - it is not needed anymore. - (clone): Fixed. Now uses super.clone instead of the private - constructor as per specification of clone method. - (serialVersionUID): added new field to allow serialization. - -2006-07-13 Sven de Marothy - - * gnu/javax/imageio/gif/GIFImageReader.java - (read): Remove old debugging trace. - -2006-07-13 Andreas Tobler - - PR awt/28369: - * gnu/java/awt/peer/gtk/CairoSurface.java (ColorModel): Swap red and - blue mask. - -2006-07-13 Roman Kennke - - * java/awt/Component.java - (DEFAULT_MAX_SIZE): New static constant. - (preferredSize): Return copy of the actual value computed - by new helper method. - (preferredSizeImpl): New helper method. Adds locking and - correct handling of cached value. - (minimumSize): Return copy of the actual value computed - by new helper method. - (minimumSizeImpl): New helper method. Adds locking and - correct handling of cached value. - (getMaximumSize): Return copy of the actual value computed - by new helper method. - (maximumSizeImpl): New helper method. Adds locking and - correct handling of cached value. - (invalidate): Correct handling of cached layout information. - Added locking. - * java/awt/Container.java - (preferredSize): Minimized locking. Corrected handling of cached - values. Return copy of real value. - (minimumSize): Minimized locking. Corrected handling of cached - values. Return copy of real value. - (getMaximumSize): Minimized locking. Corrected handling of cached - values. Return copy of real value. - -2006-07-13 Tania Bento - - * gnu/java/awt/peer/ClasspathFontPeer.java - (isLogicalFontName): Return true if name == default. - (logicalFontNameToFaceName): Check if name == default, - and if so, return "Dialog.plain". - (setStandardAttributes(String, Map)): If name == null, - it should be set to "Default", not "SansSerif". - * java/awt/Canvas.java - (generateName): Fixed documentation. - * java/awt/CheckboxMenuItem.java - Added static variable "next_chkmenuitem_number". - (generateName): Added and implemented method. - (getUniqueLong): Likewise. - * java/awt/Choice.java - Added static variable "next_choice_number". - (generateName): Added and implemented method. - (getUniqueLong): Likewise. - * java/awt/Cursor.java - (Cursor(int)): Set name depending on the type passed. - * java/awt/List.java - Added static variable "next_list_number". - (generateName): Added and implemented method. - (getUniqueLong): Likewise. - * java/awt/Menu.java - Added static variable "next_menu_number". - (generateName): Added and implemented method. - (getUniqueLong): Likewise. - * java/awt/MenuBar.java - Added static variable "next_menubar_number". - (generateName): Added and implemented method. - (getUniqueLong): Likewise. - * java/awt/MenuComponent.java - (getName): Before returning name, check if name == null - and name is not explicity set. If this is the case, - name will be generated. - (generateName): Added and implemented method. - * java/awt/MenuItem.java - Added static variable "next_menuitem_number". - (generateName): Added and implemented method. - (getUniqueLong): Likewise. - * java/awt/PopupMenu.java - Added static variable "next_popup_number". - (generateName): Added and implemented method. - (getUniqueLong): Likewise. - * java/awt/ScrollPane.java - Added static variable "next_scrollpane_number". - (generateName): Added and implemented method. - (getUniqueLong): Likewise. - * java/awt/TextField.java - Added static variable "next_textfield_number". - (generateName): Added and implemented method. - (getUniqueLong): Likewise. - - -2006-07-13 David Gilbert - - * java/awt/image/SinglePixelPackedSampleModel.java - (SinglePixelPackageSampleModel(int, int, int, int, int[])): Convert - mask correctly as an unsigned integer, - (equals): New method override. - -2006-07-13 Audrius Meskauskas - - * javax/swing/text/html/HTMLDocument.java (insertAfterEnd, - insertAfterStart, insertBeforeEnd): Removed stub markings. - -2006-07-13 David Gilbert - - * java/awt/image/BandedSampleModel.java: API doc updates and source - code reformatting, - * java/awt/image/SinglePixelPackageSampleModel.java: Likewise. - -2006-07-13 David Gilbert - - * java/awt/image/BandedSampleModel.java: API doc updates. - -2006-07-13 Audrius Meskauskas - - * javax/swing/text/html/HTMLDocument.java (HTMLReader.parseStack): - Made package private. (HTMLReader.charAttr, HTMLReader.charAttrStack, - HTMLReader.insertTag, HTMLReader.insertTagEncountered, - HTMLReader.pushDepth, HTMLReader.popDepth): Documented. - (HRMLReader.blockClose): Mind that parser stack may be empty. - (HTMLReader.handeComment, HTMLReader.handleStartTag, - HTMLReader.handleEndTag, HTMLReader.handleSimpleTag): Rewritten. - (HTMLReader.shouldInsert): New method. (getElement(String)): - Pass HTML.Atrribute.ID. (insertAfterEnd, insertBeforeEnd, - insertAfterStart, insertBeforeStart, setInnerHTML, setOuterHTML): - Implemented. (getInsertingReader): New method. - * examples/gnu/classpath/examples/swing/HtmlDemo.java: - Added buttons to demonstrate the work of the insert actions. - -2006-07-13 David Gilbert - - * java/awt/image/SampleModel.java: API doc updates and additions, - * java/awt/image/SinglePixelPackedSampleModel.java: Likewise. - -2006-07-12 Sven de Marothy - - * javax/swing/JFileChooser.java: - (createDialog): Close operation should cause a cancel. - -2006-07-12 Francis Kung - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java: Organized imports. - (cairoArc): New native method. - (cairoRestore): New native method. - (cairoSave): New native method. - (cairoScale): New native method. - (createPath): New method to centralize code from draw and fill. - (draw): Modified to use createPath method. - (fill): Modified to use createPath method. - * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h: Added - function declarations. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c - (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoScale): New - method. - (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoSave): New - method. - (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoArc): New - method. - -2006-07-12 Tom Tromey - - PR libgcj/27271: - * java/util/zip/ZipFile.java (getInputStream): Call addDummyByte - on PartialInputStream. - (PartialInputStream.dummyByteCount): New field. - (PartialInputStream.fillBuffer): Handle dummy byte. - (PartialInputStream.read): Likewise. - (PartialInputStream.addDummyByte): New method. - -2006-07-12 Mario Torre - - * native/jni/gconf-peer/GConfNativePeer.c - (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1get_1string): - Fixed C++ style comment. - -2006-07-12 David Gilbert - - * java/util/Arrays.java - (asList): Updated API docs. - -2006-07-11 Robert Schuster - - Fixes PR28350. - * native/jni/gconf-peer/GConfNativePeer.c: - (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1set_1string): - Changed if-expression. - (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1get_1string): - Added check for _value not being NULL. - -2006-07-11 Roman Kennke - - * native/jni/java-net/gnu_java_net_local_LocalSocketImpl.c - (read): Use fd when local sockets are disabled to make the - compiler quite. - (write): Likewise. - -2006-07-11 Roman Kennke - - * java/awt/image/MultiPixelPackedSampleModel.java - (MultiPixelPackedSampleModel): Substract -1 so that the integer - division gets rounded up. - -2006-07-11 Andrew John Hughes - - * java/lang/management/ManageFactory.java: - (getMemoryManagerMXBeans()): Use addAll, not add. - -2006-07-11 Vivek Lakshmanan - - PR 27649: - * gnu/classpath/ByteArray.java: Removed (moved). - * gnu/java/security/util/ByteArray.java: New File. - * gnu/javax/crypto/RSACipherImpl.java: Reference - gnu.java.security.util.ByteArray instead of gnu.classpath.ByteArray. - -2006-07-11 Roman Kennke - - * native/jni/java-net/gnu_java_net_local_LocalSocketImpl.c - (available): Pass fd as argument and avoid JNI class/field - lookup. - (read): Likewise. - (write): Likewise. - * include/gnu_java_net_local_LocalSocketImpl.h: - Regenerated. - * gnu/java/net/local/LocalSocketImpl.h - (available): Pass fd as argument and avoid JNI class/field - lookup. - (read): Likewise. - (write): Likewise. - -2006-07-11 Sven de Marothy - - * gnu/javax/sound/sampled/AU/AUReader.java: - Correct file extension from .as to .au. - -2006-07-11 Sven de Marothy - - * gnu/javax/sound/sampled/AU/AUReader.java: - New file. - * resource/META-INF/services/javax.sound.sampled.spi.AudioFileReader: - Added new provider. - -2006-07-11 David Gilbert - - * javax/swing/JTable.java - (setRowSelectionAllowed): Fire required PropertyChangeEvent, - (setColumnSelectionAllowed): Likewise. - -2006-07-10 Vivek Lakshmanan - - PR 27649: - * gnu/classpath/debug/Simple1LineFormatter.java: Use - AccessController.doPrivileged instead of SystemProperties.getProperty. - * gnu/classpath/debug/SystemLogger.java: Likewise. - * gnu/java/security/PolicyFile.java: Likewise and cut unnecessary - repeated getProperty calls for "file.seperator". - (refresh): Since already in privileged block, call System.getProperty - instead of SystemProperties.getProperty. - * gnu/java/security/key/dss/DSSKey.java - (toString): Use AccessController.doPrivileged instead of - SystemProperties.getProperty. - * gnu/java/security/key/dss/DSSPrivateKey.java - (toString): Likewise. - * gnu/java/security/key/dss/DSSPublicKey.java - (toString): Likewise. - * gnu/java/security/key/rsa/GnuRSAKey.java - (toString): Likewise. - * gnu/java/security/key/rsa/GnuRSAPrivateKey.java - (toString): Likewise. - * gnu/java/security/key/rsa/GnuRSAPublicKey.java - (toString): Likewise. - * gnu/javax/crypto/sasl/plain/PasswordFile.java: Likewise. - * gnu/javax/crypto/key/dh/GnuDHKey.java - (toString): Likewise. - * gnu/javax/crypto/key/dh/GnuDHPrivateKey.java - (toString): Likewise. - * gnu/javax/crypto/key/dh/GnuDHPublicKey.java - (toString): Likewise. - -2006-07-11 David Gilbert - - * javax/swing/AbstractButton.java - (disabledIcon): Fixed name (was 'disabeldIcon'), - (getDisabledIcon): Updated for corrected field name, - (setDisabledIcon): Fire a PropertyChangeEvent. - -2006-07-11 David Gilbert - - * javax/swing/DefaultBoundedRangeModel.java - (readObject): New private method, - (writeObject): Likewise. - -2006-07-11 David Gilbert - - * javax/swing/ButtonGroup.java - (add): Ignore null argument, - (remove): Ignore null argument. If removing selected button, clear the - sel field, - (findButton): Changed case for method name, and documented, - (setSelected): Updated for modification to findButton() method name, - (isSelected): Updated API docs. - -2006-07-11 David Gilbert - - * java/awt/image/BufferedImage.java - (BufferedImage(int, int, int)): Use correct color space for - TYPE_BYTE_GRAY and TYPE_USHORT_GRAY, and throw an - IllegalArgumentException for an unrecognised type. - -2006-07-10 Andrew John Hughes - - * java/lang/management/ManagementFactory.java: - (getMemoryPoolMXBeans): Genericized fully. - (getMemoryManagerMXBeans): Likewise. - (getGarbageCollectorMXBeans): Likewise. - -2006-07-10 Tom Tromey - - * java/lang/management/ManagementFactory.java (getMemoryPoolMXBeans): - Genericized. - (getMemoryManagerMXBeans): Likewise. - (getGarbageCollectorMXBeans): Likewise. - -2006-07-10 Mario Torre - - * java/awt/BasicStroke.java: Removed unused import. - * gnu/java/awt/java2d/CubicSegment.java (clone): Fixed. - * gnu/java/awt/java2d/LineSegment.java (clone): Fixed. - * gnu/java/awt/java2d/QuadSegment.java (clone): Fixed. - -2006-07-10 Matt Wringe - - PR classpath/28212: - * javax/crypto/spec/SecretKeySpec.java - (equals): Check object type. - -2006-07-10 Audrius Meskauskas - - * examples/gnu/classpath/examples/CORBA/SimpleCommunication/ - communication/StructureToPassHelper.java, - examples/gnu/classpath/examples/CORBA/SimpleCommunication/ - communication/StructureToReturnHelper.java, - examples/gnu/classpath/examples/CORBA/SimpleCommunication/ - communication/TreeNodeHelper.java, - examples/gnu/classpath/examples/CORBA/SimpleCommunication/ - communication/WeThrowThisExceptionHelper.java, - gnu/CORBA/ForwardRequestHelper.java, - org/omg/CORBA/CompletionStatusHelper.java, - org/omg/CORBA/CurrentHelper.java, - org/omg/CORBA/DefinitionKindHelper.java, - org/omg/CORBA/IDLTypeHelper.java, - org/omg/CORBA/NameValuePairHelper.java, - org/omg/CORBA/ObjectHelper.java, - org/omg/CORBA/ParameterModeHelper.java, - org/omg/CORBA/PolicyErrorCodeHelper.java, - org/omg/CORBA/PolicyErrorHelper.java, - org/omg/CORBA/PolicyHelper.java, - org/omg/CORBA/PolicyListHelper.java, - org/omg/CORBA/PolicyTypeHelper.java, - org/omg/CORBA/ServiceDetailHelper.java, - org/omg/CORBA/ServiceInformationHelper.java, - org/omg/CORBA/SetOverrideTypeHelper.java, - org/omg/CORBA/StringValueHelper.java, - org/omg/CORBA/UnionMemberHelper.java, - org/omg/CORBA/UnknownUserExceptionHelper.java, - org/omg/CORBA/VisibilityHelper.java, - org/omg/CORBA/WStringValueHelper.java, - org/omg/CORBA/WrongTransactionHelper.java, - org/omg/CosNaming/BindingHelper.java, - org/omg/CosNaming/BindingIteratorHelper.java, - org/omg/CosNaming/BindingListHelper.java, - org/omg/CosNaming/BindingTypeHelper.java, - org/omg/CosNaming/NameComponentHelper.java, - org/omg/CosNaming/NameHelper.java, - org/omg/CosNaming/NamingContextExtHelper.java, - org/omg/CosNaming/NamingContextExtPackage/AddressHelper.java, - org/omg/CosNaming/NamingContextExtPackage/InvalidAddressHelper.java, - org/omg/CosNaming/NamingContextExtPackage/StringNameHelper.java, - org/omg/CosNaming/NamingContextExtPackage/URLStringHelper.java, - org/omg/CosNaming/NamingContextHelper.java, - org/omg/CosNaming/NamingContextPackage/AlreadyBoundHelper.java, - org/omg/CosNaming/NamingContextPackage/CannotProceedHelper.java, - org/omg/CosNaming/NamingContextPackage/InvalidNameHelper.java, - org/omg/CosNaming/NamingContextPackage/NotEmptyHelper.java, - org/omg/CosNaming/NamingContextPackage/NotFoundHelper.java, - org/omg/CosNaming/NamingContextPackage/NotFoundReasonHelper.java, - org/omg/DynamicAny/AnySeqHelper.java, - org/omg/DynamicAny/DynAnyFactoryHelper.java, - org/omg/DynamicAny/DynAnyFactoryPackage/InconsistentTypeCodeHelper.java, - org/omg/DynamicAny/DynAnyHelper.java, - org/omg/DynamicAny/DynAnyPackage/InvalidValueHelper.java, - org/omg/DynamicAny/DynAnyPackage/TypeMismatchHelper.java, - org/omg/DynamicAny/DynAnySeqHelper.java, - org/omg/DynamicAny/DynArrayHelper.java, - org/omg/DynamicAny/DynEnumHelper.java, - org/omg/DynamicAny/DynFixedHelper.java, - org/omg/DynamicAny/DynSequenceHelper.java, - org/omg/DynamicAny/DynStructHelper.java, - org/omg/DynamicAny/DynUnionHelper.java, - org/omg/DynamicAny/DynValueHelper.java, - org/omg/DynamicAny/NameDynAnyPairHelper.java, - org/omg/DynamicAny/NameDynAnyPairSeqHelper.java, - org/omg/DynamicAny/NameValuePairHelper.java, - org/omg/DynamicAny/NameValuePairSeqHelper.java, - org/omg/IOP/CodecFactoryHelper.java, - org/omg/IOP/CodecFactoryPackage/UnknownEncodingHelper.java, - org/omg/IOP/CodecPackage/FormatMismatchHelper.java, - org/omg/IOP/CodecPackage/InvalidTypeForEncodingHelper.java, - org/omg/IOP/CodecPackage/TypeMismatchHelper.java, - org/omg/IOP/ComponentIdHelper.java, - org/omg/IOP/IORHelper.java, - org/omg/IOP/MultipleComponentProfileHelper.java, - org/omg/IOP/ProfileIdHelper.java, - org/omg/IOP/ServiceContextHelper.java, - org/omg/IOP/ServiceContextListHelper.java, - org/omg/IOP/ServiceIdHelper.java, - org/omg/IOP/TaggedComponentHelper.java, - org/omg/IOP/TaggedProfileHelper.java, - org/omg/PortableInterceptor/AdapterManagerIdHelper.java, - org/omg/PortableInterceptor/AdapterNameHelper.java, - org/omg/PortableInterceptor/AdapterStateHelper.java, - org/omg/PortableInterceptor/CurrentHelper.java, - org/omg/PortableInterceptor/ForwardRequestHelper.java, - org/omg/PortableInterceptor/IORInterceptor_3_0Helper.java, - org/omg/PortableInterceptor/InvalidSlotHelper.java, - org/omg/PortableInterceptor/ORBInitInfoPackage/DuplicateNameHelper.java, - org/omg/PortableInterceptor/ORBInitInfoPackage/InvalidNameHelper.java, - org/omg/PortableInterceptor/ObjectReferenceFactoryHelper.java, - org/omg/PortableInterceptor/ObjectReferenceTemplateHelper.java, - org/omg/PortableInterceptor/ObjectReferenceTemplateSeqHelper.java, - org/omg/PortableServer/CurrentHelper.java, - org/omg/PortableServer/CurrentPackage/NoContextHelper.java, - org/omg/PortableServer/ForwardRequestHelper.java, - org/omg/PortableServer/POAHelper.java, - org/omg/PortableServer/POAManagerPackage/AdapterInactiveHelper.java, - org/omg/PortableServer/POAPackage/AdapterAlreadyExistsHelper.java, - org/omg/PortableServer/POAPackage/AdapterNonExistentHelper.java, - org/omg/PortableServer/POAPackage/InvalidPolicyHelper.java, - org/omg/PortableServer/POAPackage/NoServantHelper.java, - org/omg/PortableServer/POAPackage/ObjectAlreadyActiveHelper.java, - org/omg/PortableServer/POAPackage/ObjectNotActiveHelper.java, - org/omg/PortableServer/POAPackage/ServantAlreadyActiveHelper.java, - org/omg/PortableServer/POAPackage/ServantNotActiveHelper.java, - org/omg/PortableServer/POAPackage/WrongAdapterHelper.java, - org/omg/PortableServer/POAPackage/WrongPolicyHelper.java, - org/omg/PortableServer/ServantActivatorHelper.java, - org/omg/PortableServer/ServantLocatorHelper.java: Remove the - typecode caching and always use OrbRestricted.Singleton. - -2006-07-09 Tom Tromey - - * java/util/logging/LoggingMXBean.java (getLoggerNames): Genericized. - -2006-07-09 Mark Wielaard - - * gnu/java/awt/peer/gtk/ComponentGraphics.java (hasXRenderExtension): - New static final boolean field. - (getComponentGraphics): Use hasXRenderExtension. - (setClip): Override method for locking. - -2006-07-09 David Gilbert - - * javax/swing/AbstractButton.java - (setHorizontalTextPosition): Added check for illegal argument, - (setVerticalTextPosition): Likewise. - -2006-07-09 David Gilbert - - * javax/swing/Timer.java - (setDelay): Throw IllegalArgumentException for negative delay, - (setInitialDelay): Likewise, - * javax/swing/ToolTipManager.java - (setInitialDelay): Document IllegalArgumentException, - (setDismissDelay): Likewise, - (setReshowDelay): Likewise. - -2006-07-09 Andrew John Hughes - - * java/lang/management/MemoryUsage.java: - (from(javax.management.openmbean.CompositeData)): - Implemented. - * java/lang/management/ThreadInfo.java: - Changed to use open types throughout for the state. - (ThreadInfo(long,String,String,long,long,String, - long,String,long,long,boolean,StackTraceElement[])): - New constructor. - (checkAttribute(javax.management.openmbean.CompositeType, - String, javax.management.openmbean.OpenType)): New method. - (from(javax.management.openmbean.CompositeData)): - Implemented. - (getLockName()): Fixed to use new variable. - (getLockOwnerId()): Likewise. - (getLockOwnerName()): Likewise. - (getThreadId()): Likewise. - (getThreadName()): Likewise. - (getThreadState()): Likewise. - (toString()): Refactored to use new variables. - * javax/management/openmbean/ArrayType.java: - New file. - * javax/management/openmbean/CompositeType.java: - Variables should be transient, not volatile. - * javax/management/openmbean/OpenDataException.java: - (serialVersionUID): Added. - * javax/management/openmbean/SimpleType.java: - New file. - * javax/management/openmbean/TabularType.java - Variables should be transient, not volatile. - -2006-07-09 Tom Tromey - - * tools/.cvsignore: Updated for new tools. - -2006-07-09 Andrew John Hughes - - * javax/management/openmbean/CompositeData.java, - * javax/management/openmbean/CompositeType.java, - * javax/management/openmbean/OpenDataException.java, - * javax/management/openmbean/OpenType.java, - * javax/management/openmbean/TabularData.java, - * javax/management/openmbean/TabularType.java, - * javax/management/openmbean/package.html: - New files. - -2006-07-09 Mark Wielaard - - * gnu/javax/print/ipp/IppRequest.java: Remove double assignment. - * gnu/java/rmi/server/UnicastServerRef.java: Likewise. - * gnu/java/rmi/server/ActivatableServerRef.java: Likewise. - -2006-07-08 Anthony Green - - * gnu/javax/sound/sampled/WAV/WAVReader.java, - resource/META-INF/services/javax.sound.sampled.spi.AudioFileReader: - New files. - -2006-07-09 Mario Torre - - * native/jni/gconf-peer/GConfNativePeer.c: - Fixed indentation to be more compliant to the GNU coding - guidelines. - (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1unset): - Added explicit test for errors in the GConf backend. - (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1get_1string): - Added explicit test for errors in the GConf backend. - Fixed Segmentation Fault when non valid key names are given as input. - (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1set_1string): - likewise. - (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1dir_1exists): - Added explicit test for errors in the GConf backend. - * gnu/java/util/prefs/gconf/GConfNativePeer.java: - Added javadoc comments for all native methods. - (nodeExist): removed test to check for valid absolute path name - for nodes. - (startWatchingNode): likewise. - (stopWatchingNode): likewise. - (setString): likewise, plus fixed javadoc comments. - (unset): likekwise. - (getKey): likewise. - (getKeys): likewise, also fixed javadoc comments. - (getChildrenNodes): likewise. - * gnu/java/util/prefs/GConfBasedPreferences.java: - changed DEFAULT_USER_ROOT to /apps/classpath. - (constructor): Test to check for a valid absolute path for nodes - is now in the contructor for that node, instead of being on - each method of the backend. - (getGConfKey): removed empty new line. - -2006-07-08 Mark Wielaard - - * .classpath: Add gnu/java/awt/peer/x/ to excludes. - -2006-07-08 Audrius Meskauskas - - * javax/swing/text/FlowView.java (FlowStrategy.layoutRow): - Handle the forced break in the same way as exceeding the - available row space. - * javax/swing/text/html/HRuleView.java: Rewritten. - * javax/swing/text/html/HTMLDocument.java - (HTMLReader.addSpecialElement):Reserve two characters for - the special elements. - * examples/gnu/classpath/examples/swing/HtmlDemo.java - (text): Extended the HTML example to parse. - -2006-07-07 David Gilbert - - * javax/swing/AbstractButton.java - (setHorizontalAlignment): Check for illegal argument, - (setVerticalAlignment): Likewise. - -2006-07-07 Audrius Meskauskas - - * javax/swing/text/html/TableView.java - (getStyleSheet): New method. (RowView.getStyleSheet): - New method. - -2006-07-07 David Gilbert - - * javax/swing/AbstractButton.java - (setRolloverIcon): Call setRolloverEnabled(true), - (setRolloverSelectedIcon): Likewise. - -2006-07-07 David Gilbert - - * javax/swing/border/TitledBorder.java - (setTitlePosition): Added message to exception, - (setTitleJustification): Likewise. - -2006-07-07 David Gilbert - - * javax/swing/plaf/metal/MetalLookAndFeel.java - (createDefaultTheme): Corrected API docs, - (initComponentDefaults): Added entry for 'TitledBorder.border', - (getCurrentTheme): Initialise theme if it is null. - -2006-07-07 Roman Kennke - - * java/awt/Component.java - (isValid): Return false when component has no peer, - don't query the showing state. - -2006-07-07 Audrius Meskauskas - - * javax/swing/text/FlowView.java (FlowStrategy.layoutRow): - Advance the offset also in the case of the enforced break. - -2006-07-07 David Gilbert - - * javax/swing/plaf/basic/BasicArrowButton.java - (MAXIMUM_SIZE): Removed field, - (MINIMUM_SIZE): Likewise, - (PREFERRED_SIZE): Likewise, - (getMaximumSize): Return new instance every time, - (getMinimumSize): Likewise, - (getPreferredSize): Likewise. - -2006-07-07 Roman Kennke - - * java/awt/LightweightDispatcher.java - (findTarget): Avoid array copying in - Container.getComponents(). - -2006-07-07 Roman Kennke - - * javax/swing/JComponent.java - (paintChildrenWithOverlap): Avoid array copying in - Container.getComponents(). - (paintChildrenOptimized): Avoid array copying in - Container.getComponents(). - (fireAncestorEvent): Avoid array copying in - Container.getComponents(). - (findOverlapFreeParent): Avoid array copying in - Container.getComponents(). - -2006-07-07 Matt Wringe - - * javax/crypto/spec/PBEKeySpec.java: Updated copyright year. - (passwordValid): New field. - (setPassword): New method. - (setSalt): Likewise. - (setIterationCount): Likewise. - (setKeyLength): Likewise. - (PBEKeySpec(char[])): Use new setter methods. - (PBEKeySpec(char[], byte[], int)): Likewise. - (PBEKeySpec(char[], byte[], int, int)): Likewise. - (clearPassword): Set passwordValid to false. - (getPassword): Check that clearPassword() was not called earlier. - Return a clone of the password. - (getSalt): Return a clone of the salt if it was not null. - -2006-07-07 Roman Kennke - - * java/awt/Component.java - (isValid): Always return false when component is - not showing. - (setFont): Always set font, even when setting - the same or equal font again. - -2006-07-07 David Gilbert - - * javax/swing/plaf/metal/MetalIconFactory.java - (CheckBoxMenuItemIcon): Implement UIResource, - (FileChooserDetailViewIcon): Likewise, - (FileChooserHomeFolderIcon): Likewise, - (FileChooserListViewIcon): Likewise, - (FileChooserNewFolderIcon): Likewise, - (FileChooserUpFolderIcon): Removed redundant 'implements', - (RadioButtonMenuItemIcon): Implement UIResource, - (HorizontalSliderThumbIcon): Likewise, - (InternalFrameCloseIcon): Likewise, - (InternalFrameDefaultMenuIcon): Likewise, - (InternalFrameAltMaximizeIcon): Likewise, - (InternalFrameMaximizeIcon): Likewise, - (InternalFrameMinimizeIcon): Likewise, - (VerticalSliderThumbIcon): Likewise, - (TreeHardDriveIcon): Likewise, - (TreeFloppyDriveIcon): Likewise, - (TreeComputerIcon): Likewise, - (horizontalSliderThumbIcon): New field, - (verticalSliderThumbIcon): New field, - (getHorizontalSliderThumbIcon): Cache icon, - (getVerticalSliderThumbIcon): Likewise. - -2006-07-06 Mark Wielaard - - * lib/Makefile.am (CLEANFILES): Add Makefile.deps. - (DISTCLEANFILES): Add standard.omit. - (clean-local): Remove Makefile.deps, only remove dirs. - -2006-07-06 Roman Kennke - - * java/awt/Component.java - (setFont): Only invalidate when component is valid. - * java/awt/Container.java - (setLayout): Only invalidate when component is valid. - -2006-07-06 Lillian Angel - - * gnu/java/awt/dnd/GtkMouseDragGestureRecognizer.java: - New class not fully implemented. - * gnu/java/awt/dnd/peer/gtk/GtkDragSourceContextPeer.java: - New class not fully implemented. - * gnu/java/awt/dnd/peer/gtk/GtkDropTargetPeer.java: - New class not fully implemented. - * gnu/java/awt/dnd/peer/gtk/GtkDropTargetContextPeer.java: - New class not fully implemented. - * nu/java/awt/peer/gtk/GtkToolkit.java: - Fixed Imports. - (createDragSourceContextPeer): Implemented. - (createDragGestureRecognizer): New function to override - java.awt.Toolkit.createDragGestureRecognizer. - * java/awt/dnd/DragSource.java - (NoDragGestureRecognizer): Removed inner class. - (createDragGestureRecognizer): Re-Implemented to - call Toolkit's createDragGestureRecognizer. - (createDefaultDragGestureRecognizer): Re-Implemented to - call Toolkit's createDragGestureRecognizer. - * java/awt/dnd/DropTarget.java - (addNotify): Added check to determine type of peer and call - addDropTarget. - (removeNotify): Added call to removeDropTarget. - -2006-07-06 Tom Tromey - - * gnu/java/util/prefs/EventDispatcher.java (dispatch): Notify - 'queue'. - (run): Wait on queue, not 'this'. - -2006-07-06 Lillian Angel - - * java/awt/dnd/DragSource.java - (startDrag): Implemented. Added comments describing - what the function should do. Removed FIXME. - -2006-07-06 Tania Bento - - * gnu/java/awt/Canvas.java - Added new private variable 'next_canvas_number'. - (generateName): Added. - (getUniqueLong): Added. - -2006-07-06 Audrius Meskauskas - - * gnu/javax/swing/text/html/CharacterAttributeTranslator.java - (getColor): Made public. - * javax/swing/text/html/StyleSheet.java (stringToColor): - Use CharacterAttributeTranslator.getColor(String) - -2006-07-06 Audrius Meskauskas - - * javax/swing/text/html/HTMLEditorKit.java: - (HTMLFactory.createElement): Update reference to the html table view. - * javax/swing/text/html/HTMLTableView.java: Removed (renamed). - * javax/swing/text/html/TableView.java: New file. - -2006-07-06 Audrius Meskauskas - - * javax/swing/text/html/HTMLEditorKit.java: - (HTMLFactory.createElement): Uncomment - code for BRView and HRuleView. - * javax/swing/text/html/BRView.java, - javax/swing/text/html/HRuleView.java: New files. - -2006-07-05 Andrew John Hughes - - * java/lang/Thread.java: - (getAllStackTraces(Map)): - Added generic type signature. - -2006-07-05 Andrew John Hughes - - * NEWS: Updated. - * doc/vmintegration.texinfo: Likewise. - * examples/gnu/classpath/examples/management/TestGarbageCollector.java, - * examples/gnu/classpath/examples/management/TestMemoryManager.java, - * gnu/java/lang/management/GarbageCollectorMXBeanImpl.java, - * gnu/java/lang/management/MemoryManagerMXBeanImpl.java, - * java/lang/management/GarbageCollectorMXBean.java: - New files. - * java/lang/management/ManagementFactory.java: - (getGarbageCollectorMXBeans()): Implemented. - (getMemoryManagerMXBeans()): Likewise. - * vm/reference/gnu/java/lang/management/VMGarbageCollectorMXBeanImpl.java, - * vm/reference/gnu/java/lang/management/VMMemoryManagerMXBeanImpl.java: - New files. - * vm/reference/java/lang/management/VMManagementFactory.java: - (getMemoryManagerNames()): Added. - (getGarbageCollectorNames()): Added. - -2006-07-05 Thomas Fitzsimmons - - * native/plugin/Makefile.am (nativeexeclib_LTLIBRARIES): Rename - from lib_LTLIBRARIES. - (install-plugin): Depend on nativeexeclib_LTLIBRARIES. - -2006-07-05 Lillian Angel - - * java/awt/dnd/DragGestureEvent.java: - Added new fields. - (DragGestureEvent): Initialized new fields, added to check and - added documentation. - (getSourceAsDragGestureRecognizer): Added documentation and - changed to use getSource. - (getComponent): Added documentation and fixed to return the proper - value. - (getDragSource): Likewise. - (getDragOrigin): Added documentation. - (iterator): Implemented and added documentation. - (toArray): Likewise. - (toArray): Likewise. - (getDragAction): Likewise. - (getTriggerEvent): Likewise. - (startDrag): Likewise. - * java/awt/dnd/DragGestureRecognizer.java - (resetRecognizer): Added FIXME. - * java/awt/dnd/DragSource.java: - Added new field. - (DragSource): Set ds to be null if headless. - (getDefaultDragSource): Added documentation and implemented. - (isDragImageSupported): Marked as unimplemented. - (startDrag): Likewise. - (createDragSourceContext): Implemented. - (NoDragGestureRecognizer): Formatted inner class. - * java/awt/dnd/DropTarget.java - (stop): Marked as unimplemented. - (actionPerformed): Likewise. - (addDropTargetListener): Added code to throw exception. - (removeDropTargetListener): Added check, removed FIXME. - (dragEnter): Implemented. - (dragOver): Implemented. - (dropActionChanged): Implemented. - (dragExit): Implemented. - (drop): Implemented. - (addNotify): Implemented. - (removeNotify): Implemented. - (createDropTargetContext): Implemented. - (createDropTargetAutoScroller): Implemented. - (initializeAutoscrolling): Implemented. - (updateAutoscroll): Implemented. - (clearAutoscroll): Implemented. - * java/awt/dnd/DropTargetContext.java - (dropComplete): Implemented. - (acceptDrag): Implemented. - (rejectDrag): Implemented. - (acceptDrop): Implemented. - (rejectDrop): Implemented. - (getCurrentDataFlavors): Implemented. - (getTransferable): Partially implemented. - * java/awt/dnd/DropTargetDragEvent.java - (getDropAction): Uncommented correct code. - * java/awt/dnd/DropTargetDropEvent.java - (dropComplete) :Implemented. - * java/awt/dnd/InvalidDnDOperationException.java - (InvalidDnDOperationException): Added call to super. - -2006-07-05 Robert Schuster - - * javax/swing/plaf/basic/BasicArrowButton.java: - (paint): Removed getBounds() call, changed center point - calculation. - -2006-07-05 David Gilbert - - * javax/swing/InputMap.java - (inputMap): Don't initialize yet, - (InputMap): Removed TODO, - (get): Check for null inputMap, - (put): Return immediately for null keyStroke, check for null inputMap - and initialize if necessary, - (remove): Check for null inputMap, - (size): Likewise, - (clear): Likewise, - (keys): Likewise, - (allKeys): Likewise, - (writeObject): Removed, - (readObject): Removed. - -2006-07-05 David Gilbert - - * gnu/classpath/examples/swing/TabbedPaneDemo.java - (createContent): Use different labels for buttons. - -2006-07-04 Andrew John Hughes - - * NEWS: Updated. - * doc/vmintegration.texinfo: Likewise. - * examples/gnu/classpath/examples/management/TestMemoryPool.java, - * gnu/java/lang/management/MemoryPoolMXBeanImpl.java: - New files. - * java/lang/management/ManagementFactory.java: - (getMemoryPoolMXBeans()): Implemented. - * vm/reference/gnu/java/lang/management/VMMemoryPoolMXBeanImpl.java, - * vm/reference/java/lang/management/VMManagementFactory.java: - New files. - -2006-07-04 Lillian Angel - - * java/awt/dnd/DragSourceContext.java: - Removed FIXMEs from fields. - (DragSourceContext): Added code to initialize cursor and sourceActions. - (getDragSource): Added documentation. - (getComponent): Likewise. - (getTrigger): Likewise. - (getSourceActions): Added documentation and implemented. - (setCursor): Implemented. Added documentation. - (getCursor): Implemented. Added documentation. - (dragEnter): Added code to notify DragSource's listeners. - (dragOver): Likewise. - (dragExit): Likewise. - (dropActionChanged): Likewise. - (dragDropEnd): Likewise. - (dragMouseMoved): Implemented. - (getTransferable): Added API documentation. - (updateCurrentCursor): Added API documentation and partially implemented. - -2006-07-04 Audrius Meskauskas - - * javax/swing/plaf/basic/BasicTreeUI.java (KeyHandler): Implemented. - -2006-07-04 Lillian Angel - - * java/awt/dnd/DragSourceContext.java - (DragSourceContext): Implemented fully. Fixed API docs. - (transferablesFlavorsChanged): Implemented. - (dragEnter): Implemented. - (dragOver): Implemented. - (dragExit): Implemented. - (dropActionChanged): Implemented. - (dragDropEnd): Implemented. - -2006-07-04 Lillian Angel - - * javax/swing/plaf/basic/BasicOptionPaneUI.java: - Fixed name of constant. - (getIconWidth): Changed name of constant returned. - (getIconHeight): Likewise. - (paint): Likewise. - (createSeparator): Marked as unimplemented. - * javax/swing/plaf/basic/BasicTableUI.java - (focusGained): Marked as unimplemented. - (focusLost): Marked as unimplemented. - (mouseEntered): Likewise. - (mouseMoved): Likewise. - (uninstallDefaults): Likewise. - * javax/swing/plaf/basic/BasicToolBarUI.java - (mouseClicked): Changed comment. - (mouseEntered): Likewise. - (mouseExited): Likewise. - (mouseMoved): Likewise. - (setOrientation): Implemented. - (ToolBarFocusListener): Marked as unimplemented. - (focusGained): Marked as unimplemented. - (focusLost): Marked as unimplemented. - -2006-07-04 Audrius Meskauskas - - PR 28061 - * javax/swing/plaf/basic/BasicTreeUI.java (isLocationInExpandControl): - Mind the effect of the root visibility on the position of the control. - Quess icon width 18. (paintVerticalPartOfLeg): Do no paint the - vertical line over first level nodes. - -2006-07-04 Lillian Angel - - * javax/swing/plaf/basic/BasicMenuUI.java - (installKeyboardActions): Implemented to call super. Nothing else - needs to be done here. - (setupPostTimer): Marked as unimplemented. - (uninstallKeyboardActions): Implemented to call super. Nothing else - needs to be done here. - (mouseMoved): Removed TODO. Nothing to be done here. - (ChangeHandler): Implemented. - (menuDragMouseExited): Removed TODO. Nothing to be done here. - (menuDragMouseReleased): Removed TODO. Nothing to be done here. - (menuKeyReleased): Removed TODO. Nothing to be done here. - (menuKeyTyped): Marked as unimplemented. - -2006-07-04 Audrius Meskauskas - - PR 28061 - * gnu/javax/swing/plaf/gnu/GNULookAndFeel.java - (getDefaults): Set hash color to black. - * javax/swing/plaf/basic/BasicLookAndFeel.java - (initComponentDefaults): Set hash color to grey blue. - * javax/swing/plaf/basic/BasicTreeUI.java - (instellDefaults): Set hash color. - * javax/swing/plaf/metal/MetalIconFactory.java - (TreeControlIcon.paint): Rewritten. - -2006-07-04 Audrius Meskauskas - - PR 28061 - * javax/swing/plaf/basic/BasicTreeUI.java (MouseHandler.mousePressed): - Always cancel the current editing session before doing anything else, - return immediately if this fails. - (TreeHomeAction): Ensure that the lead selection path is visible after - the action is performed. TreeIncrementAction: Likewise. TreeToggleAction: - Likewise. TreeTraverseAction: Likewise. - -2006-07-04 Audrius Meskauskas - - PR 28061 - * javax/swing/plaf/basic/BasicTreeUI.java (MouseHandler.mousePressed): - Returned back the code to handle the start of the click-pause-click - editing initiation, explained about this code. - (TreeStartEditingAction): New inner class. - (stopEditingInCompleteEditing): Explained about this field. - (completeEditing(boolean, boolean, boolean): Only return early - if there is no current editing session. - (createDefaultActions): Install TreeStartEditingAction and - TreeCancelEditingAction. - -2006-07-04 Mario Torre - - * configure.ac: Added new option --enable-default-preferences-peer - to pass user specified default preference backend. - If the GConf peer is built, GConf become the default backend. - * resource/META-INF/services/java.util.prefs.PreferencesFactory.in: - new file. - * lib/Makefile.am: excludes files terminating in 'in' from - the metafiles list. - * lib/copy-vmresources.sh.in: excludes files terminating in 'in' - from copy into META-INF. - * java/util/prefs/Preferences.java: added two new import - classes gnu.classpath.ServiceFactory and java.util.Iterator. - (getFactory): Now try to check for - a system defined default preference backend before to fall back on - FileBasedPreference. - -2006-07-04 Audrius Meskauskas - - PR 28061 - * javax/swing/JTree.java (COLLAPSED): Initialise to Boolean.FALSE. - (EXPANDED): Initialise to Boolean.TRUE. - * javax/swing/plaf/basic/BasicTreeUI.java (completeUIInstall): - First configure layout cache and then set the assigned value - as row mapper. Set the root visibility property. - (toggleExpandState): Obtains expansion state from the layout cache. - -2006-07-03 Andrew John Hughes - - * java/lang/management/MemoryPoolMXBean.java: - New file. - -2006-07-03 Raif S. Naffah - - * gnu/javax/crypto/RSACipherImpl.java: Source formatting. - -2006-07-03 Raif S. Naffah - - * gnu/javax/crypto/sasl/anonymous/AnonymousClient.java: Source formatting. - * gnu/javax/crypto/sasl/anonymous/AnonymousServer.java: Likewise. - * gnu/javax/crypto/sasl/anonymous/AnonymousUtil.java: Likewise. - * gnu/javax/crypto/sasl/crammd5/CramMD5AuthInfoProvider.java: Likewise. - * gnu/javax/crypto/sasl/crammd5/CramMD5Client.java: Likewise. - * gnu/javax/crypto/sasl/crammd5/CramMD5Registry.java: Likewise. - * gnu/javax/crypto/sasl/crammd5/CramMD5Server.java: Likewise. - * gnu/javax/crypto/sasl/crammd5/CramMD5Util.java: Likewise. - * gnu/javax/crypto/sasl/crammd5/PasswordFile.java: Likewise. - * gnu/javax/crypto/sasl/plain/PasswordFile.java: Likewise. - * gnu/javax/crypto/sasl/plain/PlainAuthInfoProvider.java: Likewise. - * gnu/javax/crypto/sasl/plain/PlainClient.java: Likewise. - * gnu/javax/crypto/sasl/plain/PlainRegistry.java: Likewise. - * gnu/javax/crypto/sasl/plain/PlainServer.java: Likewise. - * gnu/javax/crypto/sasl/srp/CALG.java: Likewise. - * gnu/javax/crypto/sasl/srp/ClientStore.java: Likewise. - * gnu/javax/crypto/sasl/srp/IALG.java: Likewise. - * gnu/javax/crypto/sasl/srp/KDF.java: Likewise. - * gnu/javax/crypto/sasl/srp/PasswordFile.java: Likewise. - * gnu/javax/crypto/sasl/srp/SecurityContext.java: Likewise. - * gnu/javax/crypto/sasl/srp/ServerStore.java: Likewise. - * gnu/javax/crypto/sasl/srp/SRP.java: Likewise. - * gnu/javax/crypto/sasl/srp/SRPAuthInfoProvider.java: Likewise. - * gnu/javax/crypto/sasl/srp/SRPClient.java: Likewise. - * gnu/javax/crypto/sasl/srp/SRPRegistry.java: Likewise. - * gnu/javax/crypto/sasl/srp/SRPServer.java: Likewise. - * gnu/javax/crypto/sasl/srp/StoreEntry.java: Likewise. - * gnu/javax/crypto/sasl/AuthInfo.java: Likewise. - * gnu/javax/crypto/sasl/AuthInfoProviderFactory.java: Likewise. - * gnu/javax/crypto/sasl/ClientFactory.java: Likewise. - * gnu/javax/crypto/sasl/ClientMechanism.java: Likewise. - * gnu/javax/crypto/sasl/ConfidentialityException.java: Likewise. - * gnu/javax/crypto/sasl/IAuthInfoProvider.java: Likewise. - * gnu/javax/crypto/sasl/IAuthInfoProviderFactory.java: Likewise. - * gnu/javax/crypto/sasl/IllegalMechanismStateException.java: Likewise. - * gnu/javax/crypto/sasl/InputBuffer.java: Likewise. - * gnu/javax/crypto/sasl/IntegrityException.java: Likewise. - * gnu/javax/crypto/sasl/NoSuchMechanismException.java: Likewise. - * gnu/javax/crypto/sasl/NoSuchUserException.java: Likewise. - * gnu/javax/crypto/sasl/OutputBuffer.java: Likewise. - * gnu/javax/crypto/sasl/SaslEncodingException.java: Likewise. - * gnu/javax/crypto/sasl/SaslInputStream.java: Likewise. - * gnu/javax/crypto/sasl/SaslOutputStream.java: Likewise. - * gnu/javax/crypto/sasl/SaslUtil.java: Likewise. - * gnu/javax/crypto/sasl/ServerFactory.java: Likewise. - * gnu/javax/crypto/sasl/ServerMechanism.java: Likewise. - * gnu/javax/crypto/sasl/UserAlreadyExistsException.java: Likewise. - -2006-07-02 Anthony Green - - * gnu/javax/sound/midi/file/MidiFileWriter.java (writeTrack): Make - sure that every track written ends with an End Of Track meta - message. - -2006-07-02 Andrew John Hughes - - * java/lang/management/MemoryUsage.java: - (toString()): Fix missing MB for maximum memory usage. - -2006-07-02 Andrew John Hughes - - * NEWS: - Updated to include VMCompilationMXBeanImpl. - * doc/vmintegration.texinfo: - Likewise, along with update to VMMemoryMXBeanImpl - as below. - * examples/gnu/classpath/examples/management/TestCompilation.java, - * gnu/java/lang/management/CompilationMXBeanImpl.java, - * java/lang/management/CompilationMXBeanImpl.java: - New files. - * java/lang/management/ManagementFactory.java: - (getCompilationMXBean()): Implemented. - * vm/reference/gnu/java/lang/management/VMCompilationMXBeanImpl.java: - New file. - * vm/reference/gnu/java/lang/management/VMMemoryMXBeanImpl.java: - (getHeapMemoryUsage()): Added default implementation. - -2006-07-02 Anthony Green - - * NEWS: Mention MIDI file reader/writer providers. - -2006-07-02 Anthony Green - - * resource/META-INF/services/javax.sound.midi.spi.MidiFileWriter, - gnu/javax/sound/midi/file/MidiFileWriter.java, - gnu/javax/sound/midi/file/MidiDataOutputStream.java: New files. - -2006-07-01 Andrew John Hughes - - * NEWS: - Updated to include VMMemoryMXBeanImpl. - * doc/vmintegration.texinfo: Likewise. - * examples/gnu/classpath/examples/management/TestMemory.java: - New file. - * gnu/java/lang/management/ClassLoadingMXBeanImpl.java: - Remove redundant import. - * gnu/java/lang/management/MemoryMXBeanImpl.java: - New file. - * gnu/java/lang/management/ThreadMXBeanImpl.java: - Remove redundant import. - * java/lang/management/ManagementFactory.java: - (getMemoryMXBean()): Implemented. - * java/lang/management/MemoryMXBean.java, - * java/lang/management/MemoryUsage.java: - New files. - * java/lang/management/ThreadInfo.java: - (toString()): Updated documentation. - * vm/reference/gnu/java/lang/management/VMMemoryMXBeanImpl.java: - New file. - -2006-07-01 Anthony Green - - * resource/META-INF/services/javax.sound.midi.spi.MidiFileReader, - gnu/javax/sound/midi/file/MidiFileReader.java, - gnu/javax/sound/midi/file/ExtendedMidiFileFormat.java, - gnu/javax/sound/midi/file/MidiDataInputStream.java: New files. - -2006-07-02 Raif S. Naffah - - * gnu/javax/crypto/prng/ARCFour.java: Source formatting. - * gnu/javax/crypto/prng/CSPRNG.java: Likewise. - * gnu/javax/crypto/prng/Fortuna.java: Likewise. - * gnu/javax/crypto/prng/ICMGenerator.java: Likewise. - * gnu/javax/crypto/prng/PBKDF2.java: Likewise. - * gnu/javax/crypto/prng/PRNGFactory.java: Likewise. - * gnu/javax/crypto/prng/UMacGenerator.java: Likewise. - -2006-07-02 Raif S. Naffah - - * gnu/javax/crypto/pad/BasePad.java: Source formatting. - * gnu/javax/crypto/pad/IPad.java: Likewise. - * gnu/javax/crypto/pad/PadFactory.java: Likewise. - * gnu/javax/crypto/pad/PKCS1_V1_5.java: Likewise. - * gnu/javax/crypto/pad/PKCS7.java: Likewise. - * gnu/javax/crypto/pad/SSL3.java: Likewise. - * gnu/javax/crypto/pad/TBC.java: Likewise. - * gnu/javax/crypto/pad/TLS1.java: Likewise. - * gnu/javax/crypto/pad/WrongPaddingException.java: Likewise. - -2006-07-01 Anthony Green - - * javax/sound/midi/SysexMessage.java (setMessage): Fix sysex - status byte test. - (setMessage): Fix it again, in a different setMessage method. - -2006-07-02 Raif S. Naffah - - * gnu/javax/crypto/mode/BaseMode.java: Source formatting. - * gnu/javax/crypto/mode/CBC.java: Likewise. - * gnu/javax/crypto/mode/CFB.java: Likewise. - * gnu/javax/crypto/mode/CTR.java: Likewise. - * gnu/javax/crypto/mode/EAX.java: Likewise. - * gnu/javax/crypto/mode/ECB.java: Likewise. - * gnu/javax/crypto/mode/IAuthenticatedMode.java: Likewise. - * gnu/javax/crypto/mode/ICM.java: Likewise. - * gnu/javax/crypto/mode/IMode.java: Likewise. - * gnu/javax/crypto/mode/ModeFactory.java: Likewise. - * gnu/javax/crypto/mode/OFB.java: Likewise. - -2006-07-02 Raif S. Naffah - - * gnu/javax/crypto/mac/BaseMac.java: Source formatting. - * gnu/javax/crypto/mac/HMac.java: Likewise. - * gnu/javax/crypto/mac/HMacFactory.java: Likewise. - * gnu/javax/crypto/mac/IMac.java: Likewise. - * gnu/javax/crypto/mac/MacFactory.java: Likewise. - * gnu/javax/crypto/mac/MacInputStream.java: Likewise. - * gnu/javax/crypto/mac/MacOutputStream.java: Likewise. - * gnu/javax/crypto/mac/OMAC.java: Likewise. - * gnu/javax/crypto/mac/TMMH16.java: Likewise. - * gnu/javax/crypto/mac/UHash32.java: Likewise. - * gnu/javax/crypto/mac/UMac32.java: Likewise. - -2006-07-01 Anthony Green - - * javax/sound/midi/Track.java (vector, eventSet): Initialize. - -2006-07-02 Raif S. Naffah - - * gnu/javax/crypto/keyring/AuthenticatedEntry.java: Source formatting. - * gnu/javax/crypto/keyring/BaseKeyring.java: Likewise. - * gnu/javax/crypto/keyring/BinaryDataEntry.java: Likewise. - * gnu/javax/crypto/keyring/CertificateEntry.java: Likewise. - * gnu/javax/crypto/keyring/CertPathEntry.java: Likewise. - * gnu/javax/crypto/keyring/CompressedEntry.java: Likewise. - * gnu/javax/crypto/keyring/EncryptedEntry.java: Likewise. - * gnu/javax/crypto/keyring/Entry.java: Likewise. - * gnu/javax/crypto/keyring/EnvelopeEntry.java: Likewise. - * gnu/javax/crypto/keyring/GnuPrivateKeyring.java: Likewise. - * gnu/javax/crypto/keyring/GnuPublicKeyring.java: Likewise. - * gnu/javax/crypto/keyring/IKeyring.java: Likewise. - * gnu/javax/crypto/keyring/IPrivateKeyring.java: Likewise. - * gnu/javax/crypto/keyring/IPublicKeyring.java: Likewise. - * gnu/javax/crypto/keyring/MalformedKeyringException.java: Likewise. - * gnu/javax/crypto/keyring/MaskableEnvelopeEntry.java: Likewise. - * gnu/javax/crypto/keyring/MeteredInputStream.java: Likewise. - * gnu/javax/crypto/keyring/PasswordAuthenticatedEntry.java: Likewise. - * gnu/javax/crypto/keyring/PasswordEncryptedEntry.java: Likewise. - * gnu/javax/crypto/keyring/PasswordProtectedEntry.java: Likewise. - * gnu/javax/crypto/keyring/PrimitiveEntry.java: Likewise. - * gnu/javax/crypto/keyring/PrivateKeyEntry.java: Likewise. - * gnu/javax/crypto/keyring/Properties.java: Likewise. - * gnu/javax/crypto/keyring/PublicKeyEntry.java: Likewise. - -2006-07-01 David Gilbert - - * javax/swing/AbstractCellEditor.java: Source code formatting, - * javax/swing/AbstractSpinnerModel.java: Likewise, - * javax/swing/Box.java: Likewise, - * javax/swing/BoxLayout.java: Likewise, - * javax/swing/DefaultListModel.java: Likewise, - * javax/swing/GrayFilter.java: Likewise, - * javax/swing/LookAndFeel.java: Likewise, - * javax/swing/ProgressMonitor.java: Likewise, - * javax/swing/ProgressMonitorInputStream.java: Likewise, - * javax/swing/ScrollPaneLayout.java: Likewise, - * javax/swing/SpringLayout.java: Likewise, - * javax/swing/event/EventListenerList.java: Likewise, - * javax/swing/event/MenuEvent.java: Likewise, - * javax/swing/event/TreeExpansionListener.java: Likewise. - -2006-07-01 Andrew John Hughes - - * NEWS: - Mention threading bean and getState(). - * doc/vmintegration.texinfo: - Update documentation for threading bean and new - method of VMThread. - -2006-07-01 Andrew John Hughes - - * examples/gnu/classpath/examples/management/TestClassLoading.java, - * examples/gnu/classpath/examples/management/TestOS.java, - * examples/gnu/classpath/examples/management/TestRuntime.java, - * examples/gnu/classpath/examples/management/TestThread.java: - New files. - -2006-07-01 Jeroen Frijters - - * java/lang/ThreadGroup.java - (getThreadFromId, getThreadFromIdImpl): New methods. - -2006-07-01 Jeroen Frijters - - * java/lang/Thread.java: - Make thread IDs start from 1 in a more efficient way. - -2006-07-01 Andrew John Hughes - - * java/lang/Thread.java: - Make thread IDs start from 1. - -2006-07-01 Andrew John Hughes - - * gnu/java/lang/management/BeanImpl.java: - New superclass for all bean implementations. - * gnu/java/lang/management/ClassLoadingMXBeanImpl.java: - Extend BeanImpl and call permission code there. - * gnu/java/lang/management/OperatingSystemMXBeanImpl.java: - Extend BeanImpl. - * gnu/java/lang/management/RuntimeMXBeanImpl.java: - Extend BeanImpl and call permission code there. - * gnu/java/lang/management/ThreadMXBeanImpl.java: - New file. - * java/lang/management/ManagementFactory.java: - (getThreadMXBean()): Implemented. - * java/lang/management/ThreadInfo.java: - (ThreadInfo(Thread,int)): Replaced... - (ThreadInfo(Thread,long,long,Object,Thread,long,long, - boolean, boolean, StackTraceElement[])): with this. - (getBlockedCount()): Refactored to use local variables. - (getBlockedTime()): Likewise. - (getLockName()): Likewise. - (getLockOwnerId()): Likewise. - (getLockOwnerName()): Likewise. - (getStackTrace()): Likewise. - (getWaitedCount()): Likewise. - (getWaitedTime()): Likewise. - (isInNative()): Likewise. - (isSuspended()): Likewise. - (toString()): Changed to use new local variables. - * java/lang/management/ThreadMXBean.java: - (getThreadInfo(long, int)): Corrected documentation. - (getThreadInfo(long[], int)): Likewise. - * vm/reference/gnu/java/lang/management/VMThreadMXBeanImpl.java: - New file. - * vm/reference/java/lang/management/VMThreadInfo.java: - Removed. - -2006-07-01 Raif S. Naffah - - * gnu/javax/crypto/key/dh/DHKeyPairRawCodec.java: Source formatting. - * gnu/javax/crypto/key/dh/DiffieHellmanKeyAgreement.java: Likewise. - * gnu/javax/crypto/key/dh/DiffieHellmanReceiver.java: Likewise. - * gnu/javax/crypto/key/dh/DiffieHellmanSender.java: Likewise. - * gnu/javax/crypto/key/dh/ElGamalKeyAgreement.java: Likewise. - * gnu/javax/crypto/key/dh/ElGamalReceiver.java: Likewise. - * gnu/javax/crypto/key/dh/ElGamalSender.java: Likewise. - * gnu/javax/crypto/key/dh/GnuDHKey.java: Likewise. - * gnu/javax/crypto/key/dh/GnuDHKeyPairGenerator.java: Likewise. - * gnu/javax/crypto/key/dh/GnuDHPrivateKey.java: Likewise. - * gnu/javax/crypto/key/dh/GnuDHPublicKey.java: Likewise. - * gnu/javax/crypto/key/dh/RFC2631.java: Likewise. - * gnu/javax/crypto/key/srp6/SRP6Host.java: Likewise. - * gnu/javax/crypto/key/srp6/SRP6KeyAgreement.java: Likewise. - * gnu/javax/crypto/key/srp6/SRP6SaslClient.java: Likewise. - * gnu/javax/crypto/key/srp6/SRP6SaslServer.java: Likewise. - * gnu/javax/crypto/key/srp6/SRP6TLSClient.java: Likewise. - * gnu/javax/crypto/key/srp6/SRP6TLSServer.java: Likewise. - * gnu/javax/crypto/key/srp6/SRP6User.java: Likewise. - * gnu/javax/crypto/key/srp6/SRPAlgorithm.java: Likewise. - * gnu/javax/crypto/key/srp6/SRPKey.java: Likewise. - * gnu/javax/crypto/key/srp6/SRPKeyPairGenerator.java: Likewise. - * gnu/javax/crypto/key/srp6/SRPKeyPairRawCodec.java: Likewise. - * gnu/javax/crypto/key/srp6/SRPPrivateKey.java: Likewise. - * gnu/javax/crypto/key/srp6/SRPPublicKey.java: Likewise. - * gnu/javax/crypto/key/BaseKeyAgreementParty.java: Likewise. - * gnu/javax/crypto/key/GnuSecretKey.java: Likewise. - * gnu/javax/crypto/key/IKeyAgreementParty.java: Likewise. - * gnu/javax/crypto/key/IncomingMessage.java: Likewise. - * gnu/javax/crypto/key/KeyAgreementException.java: Likewise. - * gnu/javax/crypto/key/KeyAgreementFactory.java: Likewise. - * gnu/javax/crypto/key/OutgoingMessage.java: Likewise. - -2006-07-01 Roman Kennke - - * gnu/java/awt/java2d/AbstractGraphics2D.java - (transform): Make field protected. - (getDestinationRaster): Provide default implementation for - previously abstract method. - -2006-06-30 Tania Bento - - * java/awt/TextArea.java - (TextArea(String, int, int, int)): No longer throws - IllegalArgumentException if rows, columns, or scrollbarVisibility - values are invalid. - (TextArea(String, int, int, int)): If rows or columns are < 0, - they get set to 0. If scrollbarVisibility is < 0 or > 4, it - gets set to the default value of 0 (SCROLLBARS_BOTH). - (appendText): Added case when peer = null. - (insertText): Added case when peer == null. - (replaceText): Added case when peer == null. - * java/awt/TextComponent.java - (TextComponent(String)): If text == null, set it to "". - -2006-06-30 Lillian Angel - - * gnu/java/awt/peer/gtk/GtkCheckboxPeer.java - (create): Added synchronized block around groupMap.get calls. - (setCheckboxGroup): Likewise. - -2006-06-30 Lillian Angel - - * gnu/java/awt/peer/gtk/GtkCheckboxPeer.java - (create): Changed to be non-synchronized. - (setLabel): Likewise. - (setCheckboxGroup): Likewise. - (addToGroupMap): Likewise. Added synchronized block around - code. - (dispose): Changed to be non-synchronized. - -2006-06-30 Lillian Angel - - * gnu/java/awt/peer/gtk/GtkCheckboxPeer.java: - Changed all return values of native functions to void. - (create): Changed function to be synchronized. Removed - call to put value in groupMap, this is now done from - the native code. - (setState): Changed function to be synchronized. - (setLabel): Changed function to be synchronized. - (setCheckboxGroup): Changed function to be synchronized. Removed - call to put value in groupMap, this is now done from - the native code. - (postItemEvent): Changed function to be synchronized. - (addToGroupMap): New function. Called by native code to add - new value to the group. - (dispose): Changed function to be synchronized. - * include/gnu_java_awt_peer_gtk_GtkCheckboxPeer.h: Updated - all functions. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c - (cp_gtk_checkbox_init_jni): Added code to link to - java function. - (Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_createRadioButton): - Changed return value to void. Added call - to java function to set pointer in groupMap. - (Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_addtoGroup): Likewise. Also, - changed check to an assert. Also, removed call to set/del pointer. - (Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_removeFromGroup): - Likewise. Also, added check to determine if native_group should be - set to NULL. - (Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_switchToGroup): Likewise. - -2006-06-30 Sven de Marothy - - * gnu/java/awt/ClasspathToolkit.java, - * gnu/java/awt/peer/x/XToolkit.java, - * gnu/java/awt/peer/qt/QtToolkit.java, - * gnu/java/awt/peer/gtk/GtkToolkit.java, - Remove ClasspathTextLayoutPeer. - * gnu/java/awt/peer/gtk/GdkTextLayout.java, - * gnu/java/awt/peer/ClasspathTextLayoutPeer: - Files removed. - -2006-06-30 Sven de Marothy - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java: - (drawGlyphVector): Don't draw empty vectors. - -2006-06-30 Lillian Angel - Tom Fitzsimmons - - * gnu/java/awt/peer/gtk/GtkCheckboxGroupPeer.java: Removed class. - * gnu/java/awt/peer/gtk/GtkCheckboxPeer.java: - Added current_group, groupMap fields. Added definitions for - new native functions. - (create): Removed FIXME. Added code to create the check button or - radio button when appropriate. Updated groupMap to contain - pointer to the newly created group. - (setCheckboxGroup): Added code to handle all cases. Removing - a button from a group, adding a button to a group, or changing the - group of a button. - (dispose): Changed to call super. - * include/Makefile.am: Removed reference to - gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.h. - * include/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.h: Removed file. - * include/gnu_java_awt_peer_gtk_GtkCheckboxPeer.h: Added definitions - for new functions. - * native/jni/gtk-peer/Makefile.am: Removed reference to - gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.c. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.c: - Removed file. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c - (Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_combobox_get_widget): - Renamed to checkbox_get_widget. - (Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_connectSignals): - Changed to use checkbox_get_widget. - (Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_nativeSetCheckboxGroup): - Removed. - (Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_gtkWidgetModifyFont): - Changed to use checkbox_get_widget. - (Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_gtkButtonSetLabel): - Likewise. - (Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_createCheckButton): - New function. Creates checkbutton without a group. - (Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_createRadioButton): - Creates a radio button in a group, using groupPointer. If groupPointer - is 0, then a new group is created. - (Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_addToGroup): Adds the - check button to a group, using groupPointer. A radio button is created - in its place. If groupPointer is 0, then a new group is created. - (Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_removeFromGroup): The - radio button is removed from the group. A check button is created in - its place. - (Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_switchToGroup): The - radio button is moved to a new group. - -2006-06-30 Mark Wielaard - - * configure.ac: Move standard.omit creation after dirs are created. - Cat standard.omit.in from srcdir. Make exclude regex more explicit. - * lib/Makefile.am (EXTRA_DIST): Add standard.omit.in. - (clean-local): Remove standard.omit. - * lib/gen-classlist.sh.in: Use omit file in build dir. - * lib/standard.omit.in: Make exclude regex more explicit. - -2006-06-30 Roman Kennke - - * lib/Makefile.am: Added Escher dir/jar to classpath when - requested. - * configure.ac: Moved handling of standard.omit to a place - where it actually gets executed. - -2006-06-30 David Gilbert - - * java/awt/TextComponent.java: Reformatted source code, - * java/awt/TextField.java: Likewise. - -2006-06-29 Jeroen Frijters - - * java/lang/Thread.java: - (getState()): Handle case of no VMThread - correctly. - -2006-06-29 Andrew John Hughes - - * java/lang/Thread.java, - * java/lang/VMThread.java: - Reverted patch from 2006-06-28. - -2006-06-29 Roman Kennke - - * gnu/java/awt/peer/x/GLGraphics.java, - * gnu/java/awt/peer/x/ImageConverter.java, - * gnu/java/awt/peer/x/KeyboardMapping.java, - * gnu/java/awt/peer/x/XEventPump.java, - * gnu/java/awt/peer/x/XFontPeer.java, - * gnu/java/awt/peer/x/XFontPeer2.java, - * gnu/java/awt/peer/x/XFramePeer.java, - * gnu/java/awt/peer/x/XGraphics.java, - * gnu/java/awt/peer/x/XGraphics2D.java, - * gnu/java/awt/peer/x/XGraphicsConfiguration.java, - * gnu/java/awt/peer/x/XGraphicsDevice.java, - * gnu/java/awt/peer/x/XGraphicsEnvironment.java, - * gnu/java/awt/peer/x/XImage.java, - * gnu/java/awt/peer/x/XLightweightPeer.java, - * gnu/java/awt/peer/x/XToolkit.java, - * gnu/java/awt/peer/x/XWindowPeer.java, - * gnu/java/awt/peer/x/fonts.properties: New files. - * lib/standard.omit: Removed. - * lib/standard.omit.in: Added. - * configure.ac: Added configure option --with-escher. Added some - configury for omitting gnu.java.awt.peer.x package when - this option is not specified. - -2006-06-29 David Gilbert - - * javax/swing/JComponent.java - (JComponent()): Initialize the locale here, not the default locale, - (getDefaultLocale): If null, return Locale.getDefault(), - (setDefaultLocale): Added API docs. - -2006-06-29 Tania Bento - - * java/awt/Container.java - (applyComponentOrientation): Implemented method. - -2006-06-29 Gary Benson - - * java/io/File.java (listRoots): Merge security checks from libgcj. - -2006-06-29 Gary Benson - - * java/io/FilePermission.java (implies): Work when path is "/". - -2006-06-28 Andrew John Hughes - - * java/lang/Thread.java: - (Thread(ThreadGroup,Runnable,String,long)): Update - state. - (Thread(VMThread,String,int,boolean)): Likewise. - (join(long,int)): Likewise. - (resume()): Likewise. - (sleep(long,int)): Likewise. - (start()): Likewise. - (stop()): Likewise. - (suspend()): Likewise. - (die()): Likewise. - (getState()): Return either state or use VMThread. - * java/lang/VMThread.java: - (getState()): Added default implementation to return - thread.state - -2006-06-28 Andreas Tobler - - * gnu/java/awt/peer/gtk/CairoSurface.java: Swap the data from the - GdkPixbuf correctly on big endian systems. Fix a typo in the little - endian swapping code. - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c - (Java_gnu_java_awt_peer_gtk_GtkImage_getPixels): Swap the pixeldata - without alpha information correctly on big endian systems. - -2006-06-28 Roman Kennke - - * gnu/java/net/local/LocalSocket.java - (setSoTimeout): Don't throw exception and ignore request. - (getSoTimeout): Don't throw exception and always return 0. - -2006-06-28 David Gilbert - - * javax/swing/JComponent.java - (getRegisteredKeyStrokes): Implemented. - -2006-06-28 David Gilbert - - * javax/swing/JComponent.java - (verifyInputWhenFocusTarget): Initialise to true. - -2006-06-28 David Gilbert - - * java/beans/VetoableChangeSupport.java - (addVetoableChangeListener(VetoableChangeListener)): Do nothing for - null listener, - (addVetoableChangeListener(String, VetoableChangeListener)): Do nothing - for null property name and/or listener, - * javax/swing/JComponent.java - (getListeners): Handle VetoableChangeListener.class as a special case, - (getVetoableChangeListeners): Fetch these from the - vetoableChangeSupport object. - -2006-06-28 David Gilbert - - * javax/swing/JComponent.java - (componentPopupMenu): New field, - (inheritsPopupMenu): New field, - (getInheritsPopupMenu): Implemented, - (setInheritsPopupMenu): Likewise, - (getComponentPopupMenu): Likewise, - (setComponentPopupMenu): Likewise, - * javax/swing/JLabel.java - (JLabel(String, Icon, int)): Set inheritsPopupMenu to true. - -2006-06-28 Raif S. Naffah - - * gnu/javax/crypto/key/dh/GnuDHPublicKey.java (str): New field. - (toString): New method. - * gnu/javax/crypto/key/dh/GnuDHPrivateKey.java (str): New field. - (toString): New method. - * gnu/javax/crypto/key/dh/GnuDHKey.java (str): New field. - (toString): New method. - * gnu/javax/crypto/key/dh/DHKeyPairPKCS8Codec.java (encodePrivateKey): - Handle case when Q is null. - (decodePrivateKey): Likewise. - * gnu/javax/crypto/key/dh/DHKeyPairX509Codec.java (encodePublicKey): - Likewise. - (decodePublicKey): Likewise. - * gnu/javax/crypto/jce/GnuCrypto.java (run): Added AlgorithmParameters - aliases for all block ciphers. - * gnu/javax/crypto/jce/DiffieHellmanImpl.java (result): Changed to byte[]. - (engineDoPhase): Compute fully the shared secret. - (checkState): New method. - (reset): Likewise. - (engineGenerateSecret()): Reset key-agreement before returning. - (engineGenerateSecret(byte[],int)): Check for short-buffer. - Reset key-agreement before returning. - (engineGenerateSecret(String)): Reset key-agreement before returning. - (engineInit(Key,SecureRandom)): Call reset() before returning. - * gnu/javax/crypto/jce/params/BlockCipherParameters.java (log): New field. - (engineInit): Replace printing to System.out with conditional logging. - * gnu/javax/crypto/jce/cipher/CipherAdapter.java (engineInitHandler): - When the key-size is not specified, attempt best effort to find a suitable - value among those advertised by the cipher before setting it to the length - of provided key material. - -2006-06-28 David Gilbert - - * javax/swing/table/DefaultTableColumnModel.java - (changeEvent): Don't initialize yet, removed FIXME, - (fireColumnModelChanged): Initialize changeEvent if necessary. - -2006-06-27 Andrew John Hughes - - * java/lang/Thread.java: - (getAllStackTraces()): Implemented. - (getStackTrace()): Likewise. - -2006-06-27 Tania Bento - - * java/awt/Component.java - (setComponentOrientation): NPE should not be thrown. - -2006-06-27 Tom Tromey - - * configure.ac: Create gjar, gnative2ascii, gserialver. - * tools/gappletviewer.in: Quote $@. - * tools/gkeytool.in: Likewise. - * tools/gjarsigner.in: Likewise. - * tools/gjar.in: New file. - * tools/gnative2ascii.in: Likewise. - * tools/gserialver.in: Likewise. - * tools/Makefile.am (bin_PROGRAMS): Added gjar, gnative2ascii, - gserialver. - (bin_SCRIPTS): Likewise. - -2006-06-27 Andrew John Hughes - - * java/lang/management/ThreadMXBean.java: - (getThreadInfo(long[])): Corrected return type. - (getThreadInfo(long[], int)): Likewise. - -2006-06-27 Mark Wielaard - - * java/awt/datatransfer/Clipboard.java (addFlavorListener): Do - nothing when listener is null. - (removeFlavorListener): Likewise. - - * java/awt/datatransfer/DataFlavor.java - (getRepresentationClassFromMime): Renamed to - getRepresentationClassFromMimeThrows. - (isRepresentationClassInputStream): Use Class.isAssignableFrom(). - (isRepresentationClassSerializable): Likewise. - (isFlavorJavaFileListType): Likewise and check primary and - subtype. - (getParameter): Parameters are separated by semi-colons. - (DataFlavor(Class,String,String)): Do some sanity checks. - (DataFlavor(String,String,ClassLoader)): Call - getRepresentationClassFromMimeThrows. - (DataFlavor(String)): Likewise. - (equals(DataFlavor)): Special case primary type text and charset - parameter. - -2006-06-27 David Gilbert - - * java/awt/Component.java - (setName): Fire required PropertyChangeEvent, - * java/awt/Label.java - (getText): Removed redundant brackets, - (generateName): New method (override), - (nextLabelNumber): New field, - (getUniqueLong): New method. - -2006-06-27 Roman Kennke - - * gnu/java/awt/peer/swing/SwingComponentPeer.java - (createImage): Delegate this to the parent. - (handleEvent): Only handle PAINT/UPDATE events when the - component is actually showing. - (hide): Repaint the parent after hiding a component. - (prepareImage): Have only one return point. - (setVisible): Delegate to show() and hide(). - (createVolatileImage): Added null check to avoid NPE. - -2006-06-27 David Gilbert - - * java/awt/Label.java: Reformatted source code. - -2006-06-27 Roman Kennke - - * java/awt/image/BufferedImage.java - (getSource): Use a fixed DirectColorModel to deliver the - RGB pixels to the ImageConsumer. - -2006-06-27 David Gilbert - - * java/awt/Point.java - (setLocation(double, double)): Round to nearest integer coordinates. - -2006-06-27 David Gilbert - - * java/awt/Component.java - (minSizeSet): New field, - (maxSize): Likewise, - (maxSizeSet): Likewise, - (isMaximumSizeSet): Implemented, - (isMinimumSizeSet): Likewise, - (isPreferredSizeSet): Likewise, - (setMaximumSize): Likewise, - (setMinimumSize): Likewise, - (setPreferredSize): Likewise. - -2006-06-27 Roman Kennke - - * javax/imageio/spi/IIORegistry.java - (IIORegistry): Added BMP codec. - -2006-06-27 Mark Wielaard - - * javax/swing/JComponent.java - (firePropertyChange(String,char,char)): New override method. - -2006-06-26 Andrew John Hughes - - * java/lang/Thread.java: - (getState()): New method. - * java/lang/management/ClassLoadingMXBean.java: - Corrected class documentation. - * java/lang/management/ManagementFactory.java: - Added new temporary marked stub to get thread bean. - * java/lang/management/OperatingSystemMXBean.java: - Corrected class documentation. - * java/lang/management/RuntimeMXBean.java: - Corrected class documentation. - * java/lang/management/ThreadInfo.java, - * java/lang/management/ThreadMXBean.java: - New classes. - * vm/reference/java/lang/VMThread.java: - (getState()): New method. - * vm/reference/java/lang/management/VMThreadInfo.java: - New VM class. - -2006-06-26 Sven de Marothy - - * gnu/javax/imageio/gif/GIFFile.java - * gnu/javax/imageio/gif/GIFImageReader.java - * gnu/javax/imageio/gif/GIFImageSpi.java - * gnu/javax/imageio/gif/GIFStream.java - New files. - * javax/imageio/spi/IIORegistry.java: Load new GIF decoder plugin. - -2006-06-26 Tania Bento - - * java/awt/List.java - (List): A list should have at least 4 visible rows. - (replaceItem): Should throw an ArrayIndexOutOfBoundsException, - not an IllegalArgumentException. - (makeVisible): Should not throw an IllegalArgumentException if - the specified index is out of range. - -2006-06-26 David Gilbert - - * javax/swing/JList.java - (getNextMatch): Reimplemented to perform a circular search for the - matching item. - -2006-06-26 David Gilbert - - * javax/swing/JList.java - (init): Set default value for visibleRowCount to 8, - (setVisibleRowCount): Fire PropertyChangeEvent when value changes. - -2006-06-26 David Gilbert - - * javax/swing/JList.java - (valueIsAdjusting): Removed, - (init): Removed initialization of valueIsAdjusting field, - (getValueIsAdjusting): Fetch value from selection model, - (setValueIsAdjusting): Store value in selection model. - -2006-06-26 Roman Kennke - - * javax/swing/plaf/basic/BasicListUI.java - (installKeyboardActions): Rewritten to fit with the - ActionMap/InputMap architecture. - (uninstallKeyboardActions): Implemented. - (ListAction): Made private. Added TODO for splitting - up this bulk Action. - (ListAction.ListAction): New constructor. This one - takes a cmd parameter to be installed as actionCommand. - -2006-06-26 Raif S. Naffah - - * gnu/java/security/key/rsa/RSAKeyPairRawCodec.java: Remove RCS Revision. - * gnu/javax/crypto/assembly/DeflateTransformer.java: Likewise. - -2006-06-26 Raif S. Naffah - - * gnu/javax/crypto/jce/PBKDF2SecretKeyFactory.java: Source formatting. - * gnu/javax/crypto/jce/GnuSasl.java: Likewise. - * gnu/javax/crypto/jce/GnuCrypto.java: Likewise. - * gnu/javax/crypto/jce/DiffieHellmanImpl.java: Likewise. - * gnu/javax/crypto/jce/spec/UMac32ParameterSpec.java: Likewise. - * gnu/javax/crypto/jce/spec/TMMHParameterSpec.java: Likewise. - * gnu/javax/crypto/jce/spec/BlockCipherParameterSpec.java: Likewise. - * gnu/javax/crypto/jce/sig/DHKeyFactory.java: Likewise. - * gnu/javax/crypto/jce/prng/UMacRandomSpi.java: Likewise. - * gnu/javax/crypto/jce/prng/ICMRandomSpi.java: Likewise. - * gnu/javax/crypto/jce/prng/FortunaImpl.java: Likewise. - * gnu/javax/crypto/jce/prng/CSPRNGSpi.java: Likewise. - * gnu/javax/crypto/jce/prng/ARCFourRandomSpi.java: Likewise. - * gnu/javax/crypto/jce/params/DERWriter.java: Likewise. - * gnu/javax/crypto/jce/params/DERReader.java: Likewise. - * gnu/javax/crypto/jce/params/DEREncodingException.java: Likewise. - * gnu/javax/crypto/jce/params/BlockCipherParameters.java: Likewise. - * gnu/javax/crypto/jce/mac/UMac32Spi.java: Likewise. - * gnu/javax/crypto/jce/mac/UHash32Spi.java: Likewise. - * gnu/javax/crypto/jce/mac/TMMH16Spi.java: Likewise. - * gnu/javax/crypto/jce/mac/OMacTwofishImpl.java: Likewise. - * gnu/javax/crypto/jce/mac/OMacTripleDESImpl.java: Likewise. - * gnu/javax/crypto/jce/mac/OMacSquareImpl.java: Likewise. - * gnu/javax/crypto/jce/mac/OMacSerpentImpl.java: Likewise. - * gnu/javax/crypto/jce/mac/OMacRijndaelImpl.java: Likewise. - * gnu/javax/crypto/jce/mac/OMacKhazadImpl.java: Likewise. - * gnu/javax/crypto/jce/mac/OMacImpl.java: Likewise. - * gnu/javax/crypto/jce/mac/OMacDESImpl.java: Likewise. - * gnu/javax/crypto/jce/mac/OMacCast5Impl.java: Likewise. - * gnu/javax/crypto/jce/mac/OMacBlowfishImpl.java: Likewise. - * gnu/javax/crypto/jce/mac/OMacAnubisImpl.java: Likewise. - * gnu/javax/crypto/jce/mac/MacAdapter.java: Likewise. - * gnu/javax/crypto/jce/mac/HMacWhirlpoolSpi.java: Likewise. - * gnu/javax/crypto/jce/mac/HMacTigerSpi.java: Likewise. - * gnu/javax/crypto/jce/mac/HMacSHA512Spi.java: Likewise. - * gnu/javax/crypto/jce/mac/HMacSHA384Spi.java: Likewise. - * gnu/javax/crypto/jce/mac/HMacSHA256Spi.java: Likewise. - * gnu/javax/crypto/jce/mac/HMacSHA160Spi.java: Likewise. - * gnu/javax/crypto/jce/mac/HMacRipeMD160Spi.java: Likewise. - * gnu/javax/crypto/jce/mac/HMacRipeMD128Spi.java: Likewise. - * gnu/javax/crypto/jce/mac/HMacMD5Spi.java: Likewise. - * gnu/javax/crypto/jce/mac/HMacMD4Spi.java: Likewise. - * gnu/javax/crypto/jce/mac/HMacMD2Spi.java: Likewise. - * gnu/javax/crypto/jce/mac/HMacHavalSpi.java: Likewise. - * gnu/javax/crypto/jce/keyring/GnuKeyring.java: Likewise. - * gnu/javax/crypto/jce/key/TwofishSecretKeyFactoryImpl.java: Likewise. - * gnu/javax/crypto/jce/key/TwofishKeyGeneratorImpl.java: Likewise. - * gnu/javax/crypto/jce/key/TripleDESKeyGeneratorImpl.java: Likewise. - * gnu/javax/crypto/jce/key/SquareSecretKeyFactoryImpl.java: Likewise. - * gnu/javax/crypto/jce/key/SquareKeyGeneratorImpl.java: Likewise. - * gnu/javax/crypto/jce/key/SerpentSecretKeyFactoryImpl.java: Likewise. - * gnu/javax/crypto/jce/key/SerpentKeyGeneratorImpl.java: Likewise. - * gnu/javax/crypto/jce/key/SecretKeyGeneratorImpl.java: Likewise. - * gnu/javax/crypto/jce/key/SecretKeyFactoryImpl.java: Likewise. - * gnu/javax/crypto/jce/key/RijndaelSecretKeyFactoryImpl.java: Likewise. - * gnu/javax/crypto/jce/key/RijndaelKeyGeneratorImpl.java: Likewise. - * gnu/javax/crypto/jce/key/KhazadSecretKeyFactoryImpl.java: Likewise. - * gnu/javax/crypto/jce/key/KhazadKeyGeneratorImpl.java: Likewise. - * gnu/javax/crypto/jce/key/DESSecretKeyFactoryImpl.java: Likewise. - * gnu/javax/crypto/jce/key/DESKeyGeneratorImpl.java: Likewise. - * gnu/javax/crypto/jce/key/DESedeSecretKeyFactoryImpl.java: Likewise. - * gnu/javax/crypto/jce/key/Cast5SecretKeyFactoryImpl.java: Likewise. - * gnu/javax/crypto/jce/key/Cast5KeyGeneratorImpl.java: Likewise. - * gnu/javax/crypto/jce/key/BlowfishSecretKeyFactoryImpl.java: Likewise. - * gnu/javax/crypto/jce/key/BlowfishKeyGeneratorImpl.java: Likewise. - * gnu/javax/crypto/jce/key/AnubisSecretKeyFactoryImpl.java: Likewise. - * gnu/javax/crypto/jce/key/AnubisKeyGeneratorImpl.java: Likewise. - * gnu/javax/crypto/jce/cipher/TwofishSpi.java: Likewise. - * gnu/javax/crypto/jce/cipher/TripleDESSpi.java: Likewise. - * gnu/javax/crypto/jce/cipher/SquareSpi.java: Likewise. - * gnu/javax/crypto/jce/cipher/SerpentSpi.java: Likewise. - * gnu/javax/crypto/jce/cipher/RijndaelSpi.java: Likewise. - * gnu/javax/crypto/jce/cipher/PBES2.java: Likewise. - * gnu/javax/crypto/jce/cipher/NullCipherSpi.java: Likewise. - * gnu/javax/crypto/jce/cipher/KhazadSpi.java: Likewise. - * gnu/javax/crypto/jce/cipher/DESSpi.java: Likewise. - * gnu/javax/crypto/jce/cipher/CipherAdapter.java: Likewise. - * gnu/javax/crypto/jce/cipher/Cast5Spi.java: Likewise. - * gnu/javax/crypto/jce/cipher/BlowfishSpi.java: Likewise. - * gnu/javax/crypto/jce/cipher/ARCFourSpi.java: Likewise. - * gnu/javax/crypto/jce/cipher/AnubisSpi.java: Likewise. - * gnu/javax/crypto/jce/cipher/AESSpi.java: Likewise. - -2006-06-26 David Gilbert - - * javax/swing/JList.java - (setLayoutOrientation): Check for valid argument. - -2006-06-26 Roman Kennke - - * javax/swing/JComponent.java - (firePropertyChange(String,int,int)): New method. Overrides - Component method and makes it public. - (firePropertyChange(String,boolean,boolean)): Likewise. - -2006-06-25 Vivek Lakshmanan - - * gnu/java/security/.cvsignore: New File. - * gnu/java/security/Configuration.java.in: New File. - * gnu/java/security/Properties.java: Change import from - gnu.classpath.Configuration to gnu.java.security.Configuration. - * gnu/java/security/hash/Whirlpool.java: Likewise. - * gnu/java/security/jce/sig/EncodedKeyFactory.java: Likewise. - * gnu/java/security/jce/sig/SignatureAdapter.java: Likewise. - * gnu/java/security/key/dss/DSSKeyPairGenerator.java: Likewise. - * gnu/java/security/key/dss/DSSKeyPairPKCS8Codec.java: Likewise. - * gnu/java/security/key/dss/DSSPrivateKey.java: Likewise. - * gnu/java/security/key/rsa/GnuRSAPrivateKey.java: Likewise. - * gnu/java/security/key/rsa/RSAKeyPairGenerator.java: Likewise. - * gnu/java/security/key/rsa/RSAKeyPairPKCS8Codec.java: Likewise. - * gnu/java/security/key/rsa/RSAKeyPairX509Codec.java: Likewise. - * gnu/java/security/pkcs/PKCS7SignedData.java: Likewise. - * gnu/java/security/pkcs/SignerInfo.java: Likewise. - * gnu/java/security/provider/PKIXCertPathValidatorImpl.java: Likewise. - * gnu/java/security/sig/rsa/EMSA_PSS.java: Likewise. - * gnu/java/security/sig/rsa/RSAPSSSignature.java: Likewise. - * gnu/java/security/util/Base64.java: Likewise. - * gnu/java/security/x509/X509CRL.java: Likewise. - * gnu/java/security/x509/X509CRLEntry.java: Likewise. - * gnu/java/security/x509/ext/Extension.java: Likewise. - * gnu/javax/crypto/cipher/Anubis.java: Likewise. - * gnu/javax/crypto/cipher/BaseCipher.java: Likewise. - * gnu/javax/crypto/cipher/Khazad.java: Likewise. - * gnu/javax/crypto/cipher/Rijndael.java: Likewise. - * gnu/javax/crypto/cipher/Twofish.java: Likewise. - * gnu/javax/crypto/jce/keyring/GnuKeyring.java: Likewise. - * gnu/javax/crypto/jce/prng/ICMRandomSpi.java: Likewise. - * gnu/javax/crypto/jce/prng/UMacRandomSpi.java: Likewise. - * gnu/javax/crypto/key/dh/GnuDHKeyPairGenerator.java: Likewise. - * gnu/javax/crypto/key/srp6/SRPKeyPairGenerator.java: Likewise. - * gnu/javax/crypto/keyring/Entry.java: Likewise. - * gnu/javax/crypto/keyring/EnvelopeEntry.java: Likewise. - * gnu/javax/crypto/keyring/GnuPrivateKeyring.java: Likewise. - * gnu/javax/crypto/keyring/GnuPublicKeyring.java: Likewise. - * gnu/javax/crypto/keyring/PasswordAuthenticatedEntry.java: Likewise. - * gnu/javax/crypto/keyring/PasswordEncryptedEntry.java: Likewise. - * gnu/javax/crypto/mac/OMAC.java: Likewise. - * gnu/javax/crypto/pad/BasePad.java: Likewise. - * gnu/javax/crypto/pad/PKCS1_V1_5.java: Likewise. - * gnu/javax/crypto/pad/PKCS7.java: Likewise. - * gnu/javax/crypto/pad/TBC.java: Likewise. - * gnu/javax/crypto/prng/CSPRNG.java: Likewise. - * gnu/javax/crypto/sasl/SaslInputStream.java: Likewise. - * gnu/javax/crypto/sasl/SaslOutputStream.java: Likewise. - * gnu/javax/crypto/sasl/srp/SRPClient.java: Likewise. - * gnu/javax/crypto/sasl/srp/SRPServer.java: Likewise. - * gnu/javax/security/auth/login/ConfigFileParser.java: Likewise. - * gnu/javax/security/auth/login/ConfigFileTokenizer.java: Likewise. - * gnu/javax/security/auth/login/GnuConfiguration.java - (getAppConfigurationEntry): Change reference to - gnu.classpath.Configuration.DEBUG to gnu.java.security.Configuration.DEBUG. - (getConfigFromUserHome): Likewise. - (getInputStreamFromURL): Likewise. - (getUserHome): Likewise. - (init): Likewise. - (processSecurityProperties): Likewise. - (processSystemProperty): Likewise. - (processUserHome): Likewise. - * configure.ac: Add gnu/java/security/Configuration.java to AC_CONFIG_FILES list. - * lib/Makefile.am: Remove gnu/java/security/Configuration.java when required. - - -2006-06-25 Carsten Neumann - - * javax/swing/text/DefaultCaret.java (isActive): New method. - -2006-06-26 Andrew John Hughes - - * gnu/java/lang/management/ClassLoadingMXBeanImpl.java, - * java/lang/management/ClassLoadingMXBean.java: - (getTotalLoadedClassCount()): Corrected return type. - (getUnloadedClassCount()): Likewise. - * vm/reference/gnu/java/lang/management/VMClassLoadingMXBeanImpl.java: - (getUnloadedClassCount()): Likewise. - -2006-06-25 Raif S. Naffah - - * gnu/javax/crypto/cipher/WeakKeyException.java: Source formatting. - * gnu/javax/crypto/cipher/Twofish.java: Likewise. - * gnu/javax/crypto/cipher/TripleDES.java: Likewise. - * gnu/javax/crypto/cipher/Square.java: Likewise. - * gnu/javax/crypto/cipher/Serpent.java: Likewise. - * gnu/javax/crypto/cipher/Rijndael.java: Likewise. - * gnu/javax/crypto/cipher/NullCipher.java: Likewise. - * gnu/javax/crypto/cipher/Khazad.java: Likewise. - * gnu/javax/crypto/cipher/IBlockCipherSpi.java: Likewise. - * gnu/javax/crypto/cipher/IBlockCipher.java: Likewise. - * gnu/javax/crypto/cipher/DES.java: Likewise. - * gnu/javax/crypto/cipher/CipherFactory.java: Likewise. - * gnu/javax/crypto/cipher/Cast5.java: Likewise. - * gnu/javax/crypto/cipher/Blowfish.java: Likewise. - * gnu/javax/crypto/cipher/BaseCipher.java: Likewise. - * gnu/javax/crypto/cipher/Anubis.java: Likewise. - -2006-06-25 Raif S. Naffah - - * gnu/javax/crypto/assembly/TransformerException.java: Source formatting. - * gnu/javax/crypto/assembly/Transformer.java: Likewise. - * gnu/javax/crypto/assembly/Stage.java: Likewise. - * gnu/javax/crypto/assembly/PaddingTransformer.java: Likewise. - * gnu/javax/crypto/assembly/Operation.java: Likewise. - * gnu/javax/crypto/assembly/ModeStage.java: Likewise. - * gnu/javax/crypto/assembly/LoopbackTransformer.java: Likewise. - * gnu/javax/crypto/assembly/Direction.java: Likewise. - * gnu/javax/crypto/assembly/DeflateTransformer.java: Likewise. - * gnu/javax/crypto/assembly/CascadeTransformer.java: Likewise. - * gnu/javax/crypto/assembly/CascadeStage.java: Likewise. - * gnu/javax/crypto/assembly/Cascade.java: Likewise. - * gnu/javax/crypto/assembly/Assembly.java: Likewise. - -2006-06-24 Andrew John Hughes - - * NEWS, - * doc/vmintegration.texinfo: - Updated with information on new VM interface. - * gnu/java/lang/management/ClassLoadingMXBeanImpl.java, - * java/lang/management/ClassLoadingMXBean.java: - New files implementing the class loading bean. - * java/lang/management/ManagementFactory.java: - (getClassLoadingMXBean()): Implemented. - * vm/reference/gnu/java/lang/management/VMClassLoadingMXBeanImpl.java: - New VM interface file. - -2006-06-24 Andrew John Hughes - - * gnu/java/lang/management/RuntimeMXBeanImpl.java: - (isBootClassPathSupported()): Use SystemProperties - rather than System.getProperty. - -2006-06-24 Raif S. Naffah - - * gnu/java/security/Properties.java: Source formatting. - * gnu/java/security/Registry.java: Likewise. - -2006-06-24 Raif S. Naffah - - * gnu/java/security/util/Util.java: Source formatting. - * gnu/java/security/util/SimpleList.java: Likewise. - * gnu/java/security/util/Sequence.java: Likewise. - * gnu/java/security/util/PRNG.java: Likewise. - * gnu/java/security/util/ExpirableObject.java: Likewise. - * gnu/java/security/util/Base64.java: Likewise. - * gnu/java/security/sig/SignatureFactory.java: Likewise. - * gnu/java/security/sig/ISignatureCodec.java: Likewise. - * gnu/java/security/sig/ISignature.java: Likewise. - * gnu/java/security/sig/BaseSignature.java: Likewise. - * gnu/java/security/sig/rsa/RSAPSSSignatureRawCodec.java: Likewise. - * gnu/java/security/sig/rsa/RSAPSSSignature.java: Likewise. - * gnu/java/security/sig/rsa/RSAPKCS1V1_5Signature.java: Likewise. - * gnu/java/security/sig/rsa/RSA.java: Likewise. - * gnu/java/security/sig/rsa/EMSA_PSS.java: Likewise. - * gnu/java/security/sig/rsa/EMSA_PKCS1_V1_5.java: Likewise. - * gnu/java/security/sig/rsa/EME_PKCS1_V1_5.java: Likewise. - * gnu/java/security/sig/dss/DSSSignatureRawCodec.java: Likewise. - * gnu/java/security/sig/dss/DSSSignature.java: Likewise. - * gnu/java/security/provider/X509CertificateFactory.java: Likewise. - * gnu/java/security/provider/PKIXCertPathValidatorImpl.java: Likewise. - * gnu/java/security/provider/Gnu.java: Likewise. - * gnu/java/security/prng/RandomEventListener.java: Likewise. - * gnu/java/security/prng/RandomEvent.java: Likewise. - * gnu/java/security/prng/PRNGFactory.java: Likewise. - * gnu/java/security/prng/MDGenerator.java: Likewise. - * gnu/java/security/prng/LimitReachedException.java: Likewise. - * gnu/java/security/prng/IRandom.java: Likewise. - * gnu/java/security/prng/EntropySource.java: Likewise. - * gnu/java/security/prng/BasePRNG.java: Likewise. - -2006-06-23 Francis Kung - - * examples/gnu/classpath/examples/java2d/J2dBenchmarkGUI.java - (Harness.actionPerformed): Process additional options. - (J2dBenchmarkWrapper): Defer init call until after options are processed. - (J2dBenchmarkWrapper.setAlias): New method. - (J2dBenchmarkWrapper.setComposite): New method. - (J2dBenchmarkWrapper.setFill): New method. - (J2dBenchmarkWrapper.setRotation): New method. - (J2dBenchmarkWrapper.setShear): New method. - (J2dBenchmarkWrapper.setStroke): New method. - (J2dBenchmarkWrapper.setTranslation): New method. - (run): Add additional options to GUI. - * examples/gnu/classpath/examples/java2d/J2dBenchmark.java: - Added protected fields for various options. - (GraphicsTest.runSet_noClipping): Reset graphics settings between tests. - (GraphicsTest.runSet_withClipping): Reset graphics settings between tests. - (GraphicsTest.runSet_zeroClipping): Reset graphics settings between tests. - (getNextColor): Renamed to setRandom. - (init): Load additional image for texturing if needed. - (loadBufferedImage): New method. - (main): Accept additional command-line switches. - (prepareGraphics): New method. - (resetGraphics): New method. - (runTestSuite): Accept additional image-processing options. - (setRandom): Renamed from getNextColor; generate various random options - (test_drawArc): Rename getNextColor to setRandom. - (test_drawCubic): Likewise. - (test_drawEllipse): Likewise. - (test_drawGeneralPath): Likewise. - (test_drawImage): Likewise. - (test_drawLine): Likewise. - (test_drawQuadCurve): Likewise. - (test_drawRectangle): Likewise. - (test_drawRoundRectangle): Likewise. - (test_drawTransparentImage): Likewise. - (test_fillArc): Rename getNextColor to setRandom. - (test_fillEllipse): Likewise. - (test_fillGeneralPath): Likewise. - (test_fillRectangle): Likewise. - (test_fillRoundRectangle): Likewise. - (TestRecorder.getAverage): Round the average time. - -2006-06-23 Tom Tromey - - * java/util/logging/LoggingMXBean.java: New file. - * java/util/logging/LogManager.java (LOGGING_MXBEAN_NAME): New field. - (loggingBean): New field. - (getLoggingMXBean): New method. - -2006-06-23 Tania Bento - - * java/awt/TextField.java - (TextField): Default number of columns should be 0, not 1. - (TextField): Check if number of columns given as argument - is valid (>= 0) and set the number of columns accordingly. - (TextField): Check if the string passed is null. If it is, - set columns to 0, else columns is set to the length of - the string. - -2006-06-23 Roman Kennke - - * javax/swing/plaf/basic/BasicInternalFrameUI.java - (InternalFramePropertyChangeListener.propertyChange): - Don't call getPropertyName() repeatedly. Added null checks - to avoid NPEs. Call closeFrame() if the closed property - changes. - -2006-06-23 Roman Kennke - - * javax/swing/JInternalFrame.java - (maxTransition): Removed. - (JInternalFrame): Set maxium=false. Initialize desktopIcon here. - Don't initialize storedBounds here. - (dipose): Rewritten to correctly dispose the JInternalFrame. - (getDesktopIcon): Don't initialize desktopIcon here. - (getLayer): Delegate to JLayeredPane.getLayer(). - (getNormalBounds): Return bounds when storedBounds == null, - otherwise storedBounds. - (hide): Don't change selection. Also hide the desktopIcon. - (moveToBack): Call getParent() only once. - (moveToFront): Call getParent() only once. - (pack): Call validate() to make sure that the layout is - propagated to the children. - (setClosed): Fire InternalFrameEvent first, before the - PropertyVetoEvent. - (setJMenuBar): Fire PropertyChangeEvent for this property. - (setLayer): Delegate to JLayeredPane. - (setLayeredPane): Check for null and throw IllegalArgumenException. - (setMaximum): Remove handling of maxTransition and normalBounds. - Should probably be done in the UI. - (setNormalBounds): Store Rectangle object directly, not a copy. - (setRootPane): Go into rootPaneCheckingEnabled mode so that - adding the RootPane doesn't add it to the contentPane. - Fire PropertyChangeEvent. - (setSelected): Added condition for when this property must not - be changed. - (show): Don't ask the DesktopPane to select the frame. Moved - code around to fire InternalFrameEvent before actually calling - super.show(). Also make the desktopIcon visible. - (setTitle): Fire PropertyChangeEvent unconditionally. - -2006-06-23 Roman Kennke - - * javax/swing/JLayeredPane.java - (getPosition): Moved code around to avoid unnecessary method calls. - (setPosition): Delegate to setLayer(). - (insertIndexForLayer(int,int)): Delegate to new private helper method. - (insertIndexForLayer(Component,int,int)): New helper method - to support the use of setComponentZOrder() which doesn't remove - the component and thus the insertIndexForLayer must ignore - the component to be moved to get the index right. - (setLayer): Added check to prevent unnecessary execution of - method body. Changed to update the component order here. - Added repaint() to make sure that the update becomes visible. - (addImpl): Call setLayer() only when a constraint has been specified. - Validate and repaint the JLayeredPane. - -2006-06-23 Roman Kennke - - * java/awt/Container.java - (getComponentZOrder): Use ncomponents instead of - component.length so that we don't consider the empty space - after the last component. - -2006-06-22 Roman Kennke - - * javax/swing/JComponent.java - (vetoableChangeSupport): New field. - (removeVetoableChangeListener): Rewritten to use - vetoableChangeSupport. - (addVetoableChangeListener): Rewritten to use - vetoableChangeSupport. - (fireVetoableChange): Rewritten to use - vetoableChangeSupport. - (addPropertyChangeListener): Removed. This is handled in - Component already. - (firePropertyChange(String,boolean,boolean)): Likewise. - (firePropertyChange(String,char,char)): Likewise. - (firePropertyChange(String,int,int)): Likewise. - (revalidate): Don't do anything when the commponent has no - parent. - -2006-06-22 David Gilbert - - * javax/swing/JLabel.java: Updated API docs. - -2006-06-22 Robert Schuster - - * java/awt/Insets.java: Updated copyright year. - (toString): Changed string, removed a line from the - documentation. - -2006-06-22 Roman Kennke - - * javax/swing/text/AbstractDocument.java - (AbstractDocument): Set the i18n document property. - (removeImpl): Added checks for correct boundaries. - -2006-06-22 Roman Kennke - - * javax/swing/text/PlainDocument.java - (rootElement): Changed type to Element. - (tabSize): Removed field. This is stored in the document properties - instead. - (PlainDocument): Set tabSize property. Init rootElement without - cast. - (insertUpdate): Rewritten. The previous implementation did not - handle some corner cases properly and was a mess. - (removeUpdate): Cast rootElement to BranchElement. - -2006-06-22 David Gilbert - - * javax/swing/plaf/basic/BasicLabelUI.java - (installKeyboardActions): Implemented, - (uninstallKeyboardActions): Implemented, - (propertyChange): Add handling for 'displayedMnemonic' and 'labelFor' - properties. - -2006-06-22 Robert Schuster - - * javax/swing/JMenu.java: - (removeAll): Added check for popupMenu not being null. - -2006-06-22 David Gilbert - - * javax/swing/JLabel.java - (getText): Updated API docs, - (setText): Corrected the check for an unchanged value, and the update - of the displayedMnemonicIndex. - -2006-06-22 David Gilbert - - * javax/swing/JLabel.java - (setDisplayedMnemonic(int)): Fire property change event AFTER updating - field, - (setDisplayedMnemonicIndex): Modified argument checking to handle case - where label text is null. - -2006-06-22 David Gilbert - - * javax/swing/JLabel.java - (setDisplayedMnemonic): Updated API docs, - (getDisplayedMnemonic): Removed unnecessary type-cast, - (setDisplayedMnemonicIndex): Removed unnecessary validation, - (getDisplayedMnemonicIndex): Updated API docs. - -2006-06-21 Jeroen Frijters - - * java/util/Collections (entrySet): Fixed compile error. - -2006-06-21 David Gilbert - - * javax/swing/DefaultListSelectionModel.java - (getSelectionMode): Updated API docs, - (setAnchorSelectionIndex): Added ListSelectionEvent generation, - (addSelectionInterval): If mode is SINGLE_SELECTION, just call - setSelectionInterval(), - (setSelectionInterval): Reimplemented SINGLE_SELECTION and - SINGLE_INTERVAL_SELECTION cases. - -2006-06-21 Roman Kennke - - * javax/swing/text/AbstractDocument.java - (BranchElement.numChildren): New field. - (BranchElement.BranchElement): Initialize children array with - one element (that's the least number of elements that makes sense). - Initialize numChildren. - (BranchElement.children): Use numChildren as boundary. - (BranchElement.getElement): Use numChildren as boundary. - (BranchElement.getElementCount): Use numChildren as boundary. - (BranchElement.getElementIndex): Use numChildren as boundary. - (BranchElement.getEndOffset): Use numChildren as boundary. - (BranchElement.getStartOffset): Use numChildren as boundary. - (BranchElement.positionToElement): Use numChildren as boundary. - (BranchElement.replace): Handle the children array more efficiently - by growing in blocks > 1, and reusing space from removed elements. - (LeafElement.startDelta): Removed. - (LeafElement.endDelta): Removed. - (LeafElement.LeafElement): Removed handling of deltas. - (LeafElement.getEndOffset): Likewise. - (LeafElement.getStartOffset): Likewise. - * javax/swing/text/JTextComponent.java - (setDocument): Added locking of the old document to avoid dangling - notification beeing delivered while the document is beeing - disconnected. - (getScrollableTracksViewportWidth): Fixed condition. - * javax/swing/text/PlainDocument.java - (createDefaultRoot): Create elements without AttributeSet. - * javax/swing/text/rtf/RTFParser.java - (parseFile): Handle slightly incorrect RTF gracefully. - * javax/swing/text/rtf/RTFScanner.java - (lastToken): New field. - (readTokenImpl): New method. - (peekToken): New method. - (readToken): Changed to call readTokenImpl or return the lastToken - if there's one present. - -2006-06-21 Tania Bento - - * javax/swing/JMenu.java - (remove): An IllegalArgumentException should be thrown if - either index < 0 or if index > 0 and there are no menu - components. Also, a check was added that ensures there are - menu components before removing the desired the component. - -2006-06-21 Lillian Angel - - * javax/swing/text/DefaultCaret.java - (install): Added check to prevent NPE. - (propertyChange): Added checks to prevent NPEs. - -2006-06-21 Tania Bento - - * javax/swing/JMenu.java - Changed instantiation of popupMenu to null. - (JMenu): Instantiated popupMenu to new JPopupMenu. - (JMenu): Instantiated popupMenu to new JPopupMenu. - (add): Changed popupMenu to getPopupMenu(). - (add): Changed popupMenu to getPopupMenu(). - (add): Changed popupMenu to getPopupMenu(). - (add): Changed popupMenu to getPopupMenu(). - (remove): Changed popupMenu to getPopupMenu(). - (remove): Changed popupMenu to getPopupMenu(). - (insert): Changed popupMenu to getPopupMenu(). - (setSelectedHelper): Changed popupMenu to getPopupMenu(). - (isPopupMenuVisible): Changed popupMenu to getPopupMenu(). - (setPopupMenuVisible): Changed popupMenu to getPopupMenu(). - (getMenuComponentCount): Changed popupMenu to getPopupMenu(). - (getMenuComponents): Changed popupMenu to getPopupMenu(). - (getPopupMenu): Check first if popupMenu is null and if so, - instantiate it to a new JPopupMenu and set the invoker. - * javax/swing/plaf/basic/BasicPopupMenuUI.java - (popupMenuWillBecomeVisible): Component Listener should only - be added to the root container if the root container is not - null. This avoids a null pointer exception. - -2006-06-21 Tania Bento - - * javax/swing/JMenu.java - (JMenu): Delay should be set to 200, not default of 0. - (JMenu): Delay should be set to 200, not default of 0. - (JMenu): Delay should be set to 200, not default of 0. - (JMenu): Delay should be set to 200, not default of 0. - (remove): Added check that index >= 0 before removing - the component. - (getItem): Return null if item count equals 0. - (isTearOff): Should throw new error and not return false. - (getMenuComponent): Return null if popupMenu is null or - if there are no menu components. - -2006-06-21 Roman Kennke - - * java/awt/font/FontRenderContext.java: - (equals): Added special conditions for affineTransform beeing - null. - -2006-06-21 Roman Kennke - - * javax/swing/UIManager.java - (MultiplexUIDefaults.clear): Removed method. The fallback UIDefaults - must not be cleared. - -2006-06-21 Roman Kennke - - * javax/swing/plaf/metal/MetalUtils.java - (paintHorizontalGradient): Use paintHorizontalGradient2D when - Graphics2D is available. Use fillRect instead of drawLine, this - is much faster. - (paintVerticalGradient): Use paintHorizontalGradient2D when - Graphics2D is available. Use fillRect instead of drawLine, this - is much faster. - (paintHorizontalGradient2D): New method. Paints gradient - using Graphics2D functions. - (paintVerticalGradient2D): New method. Paints gradient - using Graphics2D functions. - -2006-06-21 Roman Kennke - - * javax/swing/plaf/basic/BasicButtonListener.java - (propertyChange): Create a TextLayout and store it in the button - when the 'text' property changes. - * javax/swing/plaf/basic/BasicButtonUI.java - (paintText): Call BasicGraphicsUtils utility method for - drawing strings, instead of Graphics.drawString(). - * javax/swing/plaf/basic/BasicGraphicsUtils.java - (CACHE_TEXT_LAYOUT): New constant field. Used as a key for storing - cached text layouts as client properties in JComponents. - (drawString(JComponent,Graphics,String,int,int)): New helper method. - (drawStringUnderlineCharAt): New helper method. - * javax/swing/plaf/basic/BasicMenuItemUI.java - (PropertyChangeHandler.propertyChange): Update cached text layout - when 'text' property changes. Use equals() instead of == for - string comparison. - (paintText): Use new BasicGraphicsUtils methods for painting - the cached text layout. - (installListeners): Call super.installListeners() and remove - the unneeded listener installs. - (uninstallListeners): Call super.uninstallListeners() and remove - the unneeded listener uninstalls. - -2006-06-21 Roman Kennke - - * javax/swing/plaf/basic/BasicTextUI.java - (PropertyChangeHandler.propertyChange): Handle document listener - update here. - (background): Removed unneeded fields. - (inactiveBackground): Remove unneeded fields. - (installUI): Install the document listener. Slightly changed - order of operations. Don't trigger modelChanged(). - (installDefaults): Only install properties when the - current properties are null or instances of UIResource. - (installListeners): Removed unnecessary listener installs. - (installDocumentListeners): Removed unneeded method. - (uninstallListeners): Removed unnecessary listener uninstalls. - (modelChanged): Removed call to installDocumentListeners(). - * javax/swing/plaf/basic/BasicTextFieldUI.java - (propertyChange): Update the colors by fetching them from - SharedUIDefaults. Fixed conditions. - * javax/swing/plaf/basic/SharedUIDefaults.java - (getColor): New method. - -2006-06-21 Roman Kennke - - * javax/swing/SizeSequence.java - (SizeSequence): Initialize array with correct number of entries. - -2006-06-21 Roman Kennke - - * javax/swing/JSplitPane.java - (setDividerLocation): Substract divider size when computing - the absolute size. - -2006-06-21 Roman Kennke - - * javax/swing/JComponent.java - (paintChildrenWithOverlap): Determine opaque property by - calling the corresponding Component method, without requiring - a JComponent. - (paintChildrenOptimized): Removed old unneeded code. - (paintImmediately): Use JComponent's convertRectangleToAncestor() - method instead of SwingUtilities.convertRectangle(). This is - more efficient. - -2006-06-21 Roman Kennke - - * javax/swing/AbstractButton.java - (init): Call setText() instead of setting the property directly, - so that listeners (especially in the UI) get notified. - -2006-06-21 Roman Kennke - - * javax/swing/UIManager.java - (MultiplexUIDefaults): New inner class. - (currentUIDefaults): Changed type to be MultiplexUIDefaults. - (userUIDefaults): Changed name to be lookAndFeelDefaults. - (): Call setLookAndFeel(String) instead of trying to load - directly. Print stacktrace if something goes wrong. - (get): Delegate call to currentUIDefaults. - (getDefaults): If currentUIDefaults is null, then lazily instantiate - it. - (getUI): Delegate call to currentUIDefaults. - (put): Delegate call to currentUIDefaults. - (setLookAndFeel): Initialize currentUIDefaults with - MultiplexUIDefaults. Set lookAndFeelDefaults. - (setLookAndFeel): Use current thread's context classloader for - loading the L&F. - -2006-06-21 Roman Kennke - - * javax/swing/text/GapContent.java - (GapContentPosition.GapContentPosition): Replace - Collections.binarySearch with call to local search() to make - sure we find the first object that equals the searched object. - (setPositionsInRange): Likewise. - (adjustPositionsInRange): Likewise. - (search): New helper method. - -2006-06-21 Gary Benson - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java: Add security check. - * gnu/java/awt/peer/qt/QtGraphics.java: Likewise. - * gnu/java/awt/java2d/AbstractGraphics2D.java: Likewise. - -2006-06-20 Thomas Fitzsimmons - - * native/plugin/Makefile.am (libgcjwebplugin_la_CXXFLAGS): Define - APPLETVIEWER_EXECUTABLE to gappletviewer. - -2006-06-20 Tom Tromey - - PR classpath/28095: - * java/net/URL.java (URL): Throw MalformedURLException if a - RuntimeException is caught. Chain exceptions. - -2006-06-20 Lillian Angel - - * gnu/java/awt/peer/gtk/GtkCheckboxPeer.java - (create): Added check to prevent Seg Fault. Should not - set the label if it is null. - * gnu/java/awt/peer/gtk/GtkLabelPeer.java - (setText): Changed to be a non-native function. Calls - setNativeText if the String parameter is non-null. - (setNativeText): Replaces old native setText function. - * include/gnu_java_awt_peer_gtk_GtkLabelPeer.h: Regenerated. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c - (Java_gnu_java_awt_peer_gtk_GtkLabelPeer_setText): Removed. - Replaced by Java_gnu_java_awt_peer_gtk_GtkLabelPeer_setNativeText. - (Java_gnu_java_awt_peer_gtk_GtkLabelPeer_setNativeText): Replaced - Java_gnu_java_awt_peer_gtk_GtkLabelPeer_setText. - -2006-06-20 Lillian Angel - - * javax/swing/text/JTextComponent.java - (AccessibleJTextComponent): Rewrote all javadocs - for this inner class. - -2006-06-20 Francis Kung - - * examples/gnu/classpath/examples/java2d/J2dBenchmark.java: - Changed many members to be protected. - (J2dBenchmark): moved to init() instead. - (init): New method. - (main): Call init() after creating object - (testComplete): New method. - (test_drawArc): Use maxTests varialbe instead of constant. - (test_drawCubicCurve): Likewise. - (test_drawEllipse): Likewise. - (test_drawGeneralPath): Likewise. - (test_drawImage): Likewise. - (test_drawLine): Likewise. - (test_drawQuadCurve): Likewise. - (test_drawRectangle): Likewise. - (test_drawRoundRectangle): Likewise. - (test_drawTransparentImage): Likewise. - (test_fillArc): Likewise. - (test_fillEllipse): Likewise. - (test_fillGeneralPath): Likewise. - (test_fillRectangle): Likewise. - (test_fillRoundRectangle): Likewise. - (GraphicsTest.runSetNoClipping): Added runCount parameter. - (GraphicsTest.runSetWithClipping): Likewise. - (GraphicsTest.runSetZeroClipping): Likewise. - (GraphicsTest.run): Added checks for more option flags. - * examples/gnu/classpath/examples/java2d/J2dBenchmarkGUI.java: - New file. - -2006-06-20 Roman Kennke - - * javax/swing/text/GapContent.java - (GapContentPosition.mark): New field. - (GapContentPosition.index): Removed. - (GapContentPosition.GapContentPosition): Changed to take the - real offset as parameter. Added handling of reference counter. - Try to cleanup before creating new instances. - (getOffset): Delegate to the Mark method with same name. - (Mark): New class, encapsulating a mark. - (positionMarks): Removed field. - (numMarks): Removed field. - (marks): New field. - (queueOfDeath): New field. - (GapContent): Removed init of old fields, added init of new fields. - (createPosition): Added check for validity of arguments. - Create GapContentPosition directly with offset. - (shiftEnd): Pass end of buffer directly to adjustPositionsInRange. - (shiftGap): Pass end of buffer directly to adjustPositionsInRange. - (shiftGapStartDown): Call resetMarksAtZero(). - (shiftGapEndUp): Call resetMarksAtZero(). - (replace): Don't call resetMarksAtZero(). - (setPositionInRange): Replaced by simpler algorithm, similar to - adjustPositionsInRange. - (adjustPositionsInRange): Adapted to use of Mark objects. - (resetMarksAtZero): Reset all marks that point to zero instead - of only the first one. - (dumpMarks): Adjusted to dump Mark objects. - (insertMark): Removed. - (garbageCollect): New method. Cleans up the marks list. - (binarySearch): Removed. - -2006-06-20 Lillian Angel - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (drawImage): Added call to updateColor because - Cairo seems to lose the current color. - -2006-06-20 Gary Benson - - * java/awt/Toolkit.java: Add security check. - * gnu/java/awt/peer/gtk/GtkToolkit.java: Likewise. - * gnu/java/awt/peer/qt/QtToolkit.java: Likewise. - -2006-06-20 Raif S. Naffah - - * gnu/java/security/key/dss/DSSKey.java: Source formatting. - * gnu/java/security/key/dss/DSSKeyPairGenerator.java: Likewise. - * gnu/java/security/key/dss/DSSKeyPairPKCS8Codec.java: Likewise. - * gnu/java/security/key/dss/DSSKeyPairRawCodec.java: Likewise. - * gnu/java/security/key/dss/DSSKeyPairX509Codec.java: Likewise. - * gnu/java/security/key/dss/DSSPrivateKey.java: Likewise. - * gnu/java/security/key/dss/DSSPublicKey.java: Likewise. - * gnu/java/security/key/dss/FIPS186.java: Likewise. - * gnu/java/security/key/rsa/GnuRSAKey.java: Likewise. - * gnu/java/security/key/rsa/GnuRSAPrivateKey.java: Likewise. - * gnu/java/security/key/rsa/GnuRSAPublicKey.java: Likewise. - * gnu/java/security/key/rsa/RSAKeyPairGenerator.java: Likewise. - * gnu/java/security/key/rsa/RSAKeyPairPKCS8Codec.java: Likewise. - * gnu/java/security/key/rsa/RSAKeyPairRawCodec.java: Likewise. - * gnu/java/security/key/rsa/RSAKeyPairX509Codec.java: Likewise. - * gnu/java/security/key/IKeyPairCodec.java: Likewise. - * gnu/java/security/key/IKeyPairGenerator.java: Likewise. - * gnu/java/security/key/KeyPairCodecFactory.java: Likewise. - * gnu/java/security/key/KeyPairGeneratorFactory.java: Likewise. - -2006-06-19 Lillian Angel - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (drawImage): Should always use getRGB to get the pixels. - getData returns an incorrect array of pixels. - -2006-06-19 Raif S. Naffah - - * gnu/java/security/jce/hash/HavalSpi.java: Source formatting. - * gnu/java/security/jce/hash/MD2Spi.java: Likewise. - * gnu/java/security/jce/hash/MD4Spi.java: Likewise. - * gnu/java/security/jce/hash/MD5Spi.java: Likewise. - * gnu/java/security/jce/hash/MessageDigestAdapter.java: Likewise. - * gnu/java/security/jce/hash/RipeMD128Spi.java: Likewise. - * gnu/java/security/jce/hash/RipeMD160Spi.java: Likewise. - * gnu/java/security/jce/hash/Sha160Spi.java: Likewise. - * gnu/java/security/jce/hash/Sha256Spi.java: Likewise. - * gnu/java/security/jce/hash/Sha384Spi.java: Likewise. - * gnu/java/security/jce/hash/Sha512Spi.java: Likewise. - * gnu/java/security/jce/hash/TigerSpi.java: Likewise. - * gnu/java/security/jce/hash/WhirlpoolSpi.java: Likewise. - * gnu/java/security/jce/prng/HavalRandomSpi.java: Likewise. - * gnu/java/security/jce/prng/MD2RandomSpi.java: Likewise. - * gnu/java/security/jce/prng/MD4RandomSpi.java: Likewise. - * gnu/java/security/jce/prng/MD5RandomSpi.java: Likewise. - * gnu/java/security/jce/prng/RipeMD128RandomSpi.java: Likewise. - * gnu/java/security/jce/prng/RipeMD160RandomSpi.java: Likewise. - * gnu/java/security/jce/prng/SecureRandomAdapter.java: Likewise. - * gnu/java/security/jce/prng/Sha160RandomSpi.java: Likewise. - * gnu/java/security/jce/prng/Sha256RandomSpi.java: Likewise. - * gnu/java/security/jce/prng/Sha384RandomSpi.java: Likewise. - * gnu/java/security/jce/prng/Sha512RandomSpi.java: Likewise. - * gnu/java/security/jce/prng/TigerRandomSpi.java: Likewise. - * gnu/java/security/jce/prng/WhirlpoolRandomSpi.java: Likewise. - * gnu/java/security/jce/sig/DSSKeyFactory.java: Likewise. - * gnu/java/security/jce/sig/DSSKeyPairGeneratorSpi.java: Likewise. - * gnu/java/security/jce/sig/DSSParameters.java: Likewise. - * gnu/java/security/jce/sig/DSSRawSignatureSpi.java: Likewise. - * gnu/java/security/jce/sig/EncodedKeyFactory.java: Likewise. - * gnu/java/security/jce/sig/KeyPairGeneratorAdapter.java: Likewise. - * gnu/java/security/jce/sig/RSAKeyFactory.java: Likewise. - * gnu/java/security/jce/sig/RSAKeyPairGeneratorSpi.java: Likewise. - * gnu/java/security/jce/sig/RSAPSSRawSignatureSpi.java: Likewise. - * gnu/java/security/jce/sig/SignatureAdapter.java: Likewise. - -2006-06-19 Raif S. Naffah - - * NEWS: Updated (delayed) for security tools and tools.texinfo. - -2006-06-19 Roman Kennke - - * gnu/java/awt/peer/gtk/ComponentGraphics.java - (drawImage): Clip volatile image correctly. - (drawVolatileImage): Added arguments for clipping. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c - (drawVolatileImage): Added arguments for clipping. Clip image - correctly. - * include/gnu_java_awt_peer_gtk_ComponentGraphics.h: Regenerated. - -2006-06-19 Audrius Meskauskas - - PR 28035 - * java/rmi/server/UID.java (constructor): Synchronized - the whole constructor on the UID class. - -2006-06-19 Roman Kennke - - * javax/swing/RepaintManager.java - (addInvalidComponent): Only add component that are displayable, - that have displayable parents and that have a validateRoot. - Also, don't validate components that have a CellRendererPane - ancestor. - -2006-06-19 David Gilbert - - * javax/swing/plaf/IconUIResource.java - (IconUIResource): Throw IllegalArgumentException for null icon. - -2006-06-18 Audrius Meskauskas - - PR 28035 - * java/rmi/server/UID.java (constructor): First increment - uidCounter, and then use the value. - -2006-06-18 Thomas Fitzsimmons - - * java/awt/GridBagLayout.java (AdjustForGravity): Implement. - * java/awt/GridBagConstraints.java: Indent. - -2006-06-18 Tom Tromey - - * native/jni/gconf-peer/.cvsignore: New file. - -2006-06-18 Tom Tromey - - * tools/gnu/classpath/tools/getopt/Parser.java (handleLongOption): - Also handle short options. - -2006-06-18 Jim Huang - - PR classpath/28076: - * native/jni/gconf-peer/Makefile.am (libgconfpeer_la_LIBADD): - Fixed typo. - -2006-06-19 Mark Wielaard - - * include/Makefile.am: gnu_java_util_prefs_gconf_%.h should depend - on gnu/java/util/prefs/gconf/%.class. - * Java_gnu_java_util_prefs_gconf_GConfNativePeer_init_1class: Fix - chache typo, should be cache. - (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1gconf_1client_1all_1keys): - Declare tmp early. - (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1gconf_1client_1all_1nodes): - Likewise. - (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1remove_1dir): - Don't return a value for void function. - (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1add_1dir) - Likewise. - (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1dir_1exists): - Mark clazz as unused. Return JNI_FALSE, not NULL for jboolean - function. - (Java_gnu_java_util_prefs_gconf_GConfNativePeer_finalize_1class): - Mark clazz ad unused. - -2006-06-18 Raif S. Naffah - - * gnu/java/security/hash/Whirlpool.java: Source formatting. - * gnu/java/security/hash/Tiger.java: Likewise. - * gnu/java/security/hash/Sha512.java: Likewise. - * gnu/java/security/hash/Sha384.java: Likewise. - * gnu/java/security/hash/Sha256.java: Likewise. - * gnu/java/security/hash/Sha160.java: Likewise. - * gnu/java/security/hash/RipeMD160.java: Likewise. - * gnu/java/security/hash/RipeMD128.java: Likewise. - * gnu/java/security/hash/MD5.java: Likewise. - * gnu/java/security/hash/MD4.java: Likewise. - * gnu/java/security/hash/MD2.java: Likewise. - * gnu/java/security/hash/IMessageDigest.java: Likewise. - * gnu/java/security/hash/Haval.java: Likewise. - * gnu/java/security/hash/HashFactory.java: Likewise. - * gnu/java/security/hash/BaseHash.java: Likewise. - -2006-06-18 Sven de Marothy - - * java/awt/event/KeyEvent.java: - (VK_WINDOWS, VK_CONTEXT_MENU, VK_BEGIN): Add new keysym fields. - * natve/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c: - Implement WINDOWS, ALT_GR and CONTEXT_MENU keysyms. - -2006-06-18 Raif S. Naffah - - * gnu/java/security/util/Prime2.java: Removed. - * gnu/java/security/key/dss/FIPS186.java: Remove unused imports. - (generateParameters): Use isProbablePrime() in BigInteger instead of Prime2. - * gnu/java/security/key/rsa/RSAKeyPairGenerator.java: Remove unused imports. - (generate): Use isProbablePrime() in BigInteger instead of Prime2. - * gnu/javax/crypto/key/dh/RFC2631.java: Remove unused imports. - (generateParameters): Use isProbablePrime() in BigInteger instead of Prime2. - * gnu/javax/crypto/key/srp6/SRPAlgorithm.java: Remove unused imports. - (checkParams): Use isProbablePrime() in BigInteger instead of Prime2. - * gnu/javax/crypto/key/srp6/SRPKeyPairGenerator.java: Remove unused imports. - (generateParameters): Use isProbablePrime() in BigInteger instead of Prime2. - * gnu/javax/net/ssl/provider/KeyPool.java: Remove unused imports. - (generateRSAKeyPair): Use isProbablePrime() in BigInteger instead of Prime2. - -2006-06-18 Sven de Marothy - - * java/awt/GridBagLayout.java (AdjustForGravity): Implement. - * java/awt/font/TextMeasurer.java: Fix copyright date, - remove commented-out code. - -2006-06-18 Sven de Marothy - - * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java - (FreetypeGlyphVector, clone): Implement cloning. - (getGlyphLogicalBounds): Bounds should be offset to the glyph position. - * java/awt/font/TextMeasurer.java: Implement. - * java/awt/font/LineBreakMeasurer.java: - Reimplement to use TextMeasurer. - * java/awt/font/TextLayout.java - New constructors. - (getBlackboxBounds, getLogicalHighlightShape): Reimplement. - (getText, getFont): New private static methods. - (setCharIndices): New method. - * java/text/AttributedString.java - (AttributedString): Fix constructor to stop at end point. - -2006-06-17 Tom Tromey - - * lib/gen-classlist.sh.in: Search all top-level directories, not - just 'org', in external. - -2006-06-12 Mario torre - - * gnu/java/util/prefs/GConfBasedPreferences.java: new class. - * gnu/java/util/prefs/GConfBasedFactory.java: new class. - * gnu/java/util/prefs/gconf/GConfNativePeer.java: new class. - * gnu_java_util_prefs_gconf_GConfNativePeer.h: generated - header file. - * classpath/native/jni/gconf-peer/GConfNativePeer.c: new C file. - * configure.ac: update to introduce new files. Added options - to build gconf native peer used by the GConf preference backend. - * include/Makefile.am: update to introduce new files. - * native/jni/Makefile.am update to introduce new files. - * scripts/check_jni_methods.sh: added three new ignored file - from check. - * native/jni/gconf-peer/Makefile.am: new Makefile needed to - build gconf-peer shared library. - -2006-06-17 Raif S. Naffah - - * gnu/java/security/jce/sig/DSSKeyPairGeneratorSpi.java: - Use Integer.valueOf() instead of new Integer(). - * gnu/java/security/jce/sig/EncodedKeyFactory.java: Likewise. - * gnu/java/security/jce/sig/RSAKeyPairGeneratorSpi.java: Likewise. - * gnu/java/security/util/Sequence.java: Likewise. - * gnu/java/security/x509/ext/GeneralNames.java: Likewise. - * gnu/java/security/x509/X509Certificate.java: Likewise. - * gnu/javax/crypto/assembly/ModeStage.java: Likewise. - * gnu/javax/crypto/cipher/Anubis.java: Likewise. - * gnu/javax/crypto/cipher/Blowfish.java: Likewise. - * gnu/javax/crypto/cipher/Cast5.java: Likewise. - * gnu/javax/crypto/cipher/DES.java: Likewise. - * gnu/javax/crypto/cipher/Khazad.java: Likewise. - * gnu/javax/crypto/cipher/NullCipher.java: Likewise. - * gnu/javax/crypto/cipher/Rijndael.java: Likewise. - * gnu/javax/crypto/cipher/Serpent.java: Likewise. - * gnu/javax/crypto/cipher/Square.java: Likewise. - * gnu/javax/crypto/cipher/TripleDES.java: Likewise. - * gnu/javax/crypto/cipher/Twofish.java: Likewise. - * gnu/javax/crypto/jce/cipher/CipherAdapter.java: Likewise. - * gnu/javax/crypto/jce/cipher/PBES2.java: Likewise. - * gnu/javax/crypto/jce/key/SecretKeyGeneratorImpl.java: Likewise. - * gnu/javax/crypto/jce/PBKDF2SecretKeyFactory.java: Likewise. - * gnu/javax/crypto/jce/prng/ICMRandomSpi.java: Likewise. - * gnu/javax/crypto/jce/prng/UMacRandomSpi.java: Likewise. - * gnu/javax/crypto/jce/sig/DHKeyPairGeneratorSpi.java: Likewise. - * gnu/javax/crypto/keyring/AuthenticatedEntry.java: Likewise. - * gnu/javax/crypto/keyring/EncryptedEntry.java: Likewise. - * gnu/javax/crypto/keyring/PasswordAuthenticatedEntry.java: Likewise. - * gnu/javax/crypto/keyring/PasswordEncryptedEntry.java: Likewise. - * gnu/javax/crypto/keyring/PasswordProtectedEntry.java: Likewise. - * gnu/javax/crypto/mac/UHash32.java: Likewise. - * gnu/javax/crypto/mac/UMac32.java: Likewise. - * gnu/javax/crypto/mode/BaseMode.java: Likewise. - * gnu/javax/crypto/mode/EAX.java: Likewise. - * gnu/javax/crypto/prng/ICMGenerator.java: Likewise. - * gnu/javax/crypto/prng/UMacGenerator.java: Likewise. - * gnu/javax/crypto/sasl/srp/KDF.java: Likewise. - * gnu/javax/security/auth/callback/ConsoleCallbackHandler.java: Likewise. - * java/security/cert/X509CertSelector.java: Likewise. - -2006-06-17 Andrew John Hughes - - * javax/management/DynamicMBean.java: - (setAttribute): Fixed to return void. - * javax/management/MBeanFeatureInfo.java: - New file. - -2006-06-17 Raif S. Naffah - - On behalf of Vivek Lakshmanan - * gnu/javax/crypto/jce/cipher/CipherAdapter.java - (engineInit(int, Key, SecureRandom)): Seperate common initialization logic - into engineInitHandler and reuse the code in - engineInit(int, Key, AlgorithmSpec, SecureRandom). - (engineInitHandler): New method. - (engineInit(int, Key, AlgorithmParameterSpec, SecureRandom)): When param is - null, use random or default information when possible. - -2006-06-16 Francis Kung - - * examples/gnu/classpath/examples/swing/Demo.java: - (mkButtonBar): Rename FillRect to JNIOverhead. - (mkMenuBar): Rename FillRect to JNIOverhead. - * examples/gnu/classpath/examples/swing/FillRect.java: Removed. - * examples/gnu/classpath/examples/java2d/J2dBenchmark.java: New file. - * examples/gnu/classpath/examples/java2d/JNIOverhead.java: - Moved from old FillRect. - -2006-06-16 Tom Tromey - - * tools/.cvsignore: Added new tool names. - -2006-06-16 Keith Seitz - - * gnu/classpath/jdwp/event/EventManager.java (getDefault): Redo - instantiation so that EventManager is created when getDefault - is first called. - * gnu/classpath/jdwp/Jdwp.java (Thread): Force creation - of EventManager. - -2006-06-16 Keith Seitz - - * gnu/classpath/jdwp/Jdwp.java (_initLock): New field. - (_initCount): New field. - (Jdwp): Don't set isDebugging until fully initialized. - (subcomponentInitialized): New method. - (run): Wait for PacketProcessor and JdwpConnection to - startup, then set isDebugging, and then let this thread - die. - * gnu/classpath/jdwp/transport/JdwpConnection.java - (run): Add synchronization notification. - * gnu/classpath/jdwp/processor/PacketProcessor.java - (run): Likewise. - -2006-06-16 Tom Tromey - - * NEWS: Updated for JSR 166. - -2006-06-16 Tom Tromey - - * lib/Makefile.am (compile_classpath): Added jsr166. - * configure.ac: Added external/jsr166/Makefile. - * external/Makefile.am (SUBDIRS): Added jsr166. - * external/jsr166/Makefile.am: New file. - * lib/gen-classlist.sh.in: Look in external/jsr166. - -2006-06-16 Kyle Galloway - - * gnu/classpath/jdwp/event/ExceptionEvent: - Added Object instance to javadoc in constructor - * gnu/classpath/jdwp/event/MethodEntryEvent: - Ditto. - * gnu/classpath/jdwp/event/MethodExitEvent: - Ditto, - * gnu/classpath/jdwp/event/SingleStepEvent: - Ditto. - -2006-06-16 Tom Tromey - - Imported JSR 166 reference implementation: - * .classpath: Added external/jsr166. - * java/util/concurrent/CopyOnWriteArrayList.java: New file. - * java/util/AbstractQueue.java: Removed. - * java/util/Queue.java: Removed. - * external/jsr166/java/util/concurrent/ScheduledThreadPoolExecutor.java - (runPeriodic): Added explicit cast. - * external/jsr166/java/util/ArrayDeque.java (clone): Use - elements.clone. - -2006-06-16 Tom Tromey - - * vm/reference/sun/reflect/Reflection.java (verifyMemberAccess): - Removed. - (getCallerClass): Now static. - * vm/reference/sun/reflect/misc/ReflectUtil.java: New file. - -2006-06-16 Lillian Angel - - * java/awt/FileDialog.java - (FileDialog): Added @since tag to API docs. - (FileDialog): Likewise. - (FileDialog): Likewise. - * java/awt/Font.java: - Added @since tag to TYPE1_FONT field docs. - * javax/swing/plaf/basic/BasicScrollBarUI.java: - (isThumbRollover): Likewise. - (setThumbRollover): Likewise. - (getSupportsAbsolutePositioning): Likewise. - * javax/swing/plaf/basic/BasicSliderUI.java: - (isDragging): Likewise. - -2006-06-16 Lillian Angel - - * java/awt/FileDialog.java - (FileDialog): Implemented. - (FileDialog): Implemented. - (FileDialog): Implemented. - * java/awt/Font.java: - Added TYPE1_FONT constant field. - -2006-06-16 Lillian Angel - - * java/awt/font/TextLayout.java: - Removed unneeded imports. - * javax/swing/plaf/basic/BasicScrollBarUI.java: - Added new thumbRollover field. - (mouseMoved): Added code to set thumbRollover field. - (isThumbRollover): New function. - (setThumbRollover): New function. - (getSupportsAbsolutePositioning): Implemented. This - needs to be changed once the feature has been - implemented. - * javax/swing/plaf/basic/BasicSliderUI.java: - Added new dragging field. - (mouseDragged): Initialized dragging field. - (isDragging): New function. - * javax/swing/plaf/basic/BasicTabbedPaneUI.java - (focusGained): Marked as not implemented. - (focusLost): Likewise. - -2006-06-16 Kyle Galloway - - * gnu/classpath/jdwp/event/filters/ThreadOnlyFilter.java: - Added check for null ThreadId to avoid null pointer - exception. - -2006-06-16 David Gilbert - - * javax/swing/DefaultComboBoxModel.java - (removeElementAt): Set new selected item by calling setSelectedItem(). - -2006-06-16 David Gilbert - - * javax/swing/DefaultButtonModel.java - (setSelected): Use 'this', not null, for the item in the ItemEvent. - -2006-06-16 David Gilbert - - * javax/swing/event/ListDataEvent.java: updated API docs, plus - (ListDataEvent): Handle case where index0 > index1, - (toString): Implemented. - -2006-06-16 Robert Schuster - - * javax/swing/plaf/metal/MetalMenuBarUI.java: - (update): Added subexpression to if-statement. - -2006-06-16 Robert Schuster - - * javax/swing/plaf/basic/BasicRadioButtonUI.java: - (installDefaults): Removed unneccessary code. - (paint): Removed complex if-cascade, revert to default icon if - icon property is not set. - (getPreferredSize): New method. - -2006-06-16 Roman Kennke - - PR 28027 - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (drawImage): Don't use setClip() but instead clipRect() to - intersect the current clip with a new one. - -2006-06-15 Tom Tromey - - * scripts/sanitize-jsr166: New file. - * external/jsr166/IMPORTING: New file. - * vm/reference/sun/reflect/Reflection.java: New file. - * vm/reference/gnu/classpath/Unsafe.java: Moved... - * vm/reference/sun/misc/Unsafe.java: ...here. - -2006-06-15 Thomas Fitzsimmons - - * configure.ac: Rename appletviewer to gappletviewer, jarsigner to - gjarsigner and keytool to gkeytool. - * doc/tools.texinfo: Add note about tool exectable names. - * tools/Makefile.am: Rename appletviewer to gappletviewer, - jarsigner to gjarsigner and keytool to gkeytool. - * tools/appletviewer.in: Rename ... - * tools/gappletviewer.in: New file. - * tools/jarsigner.in: Rename ... - * tools/gjarsigner.in: New file. - * tools/keytool.in: Rename ... - * tools/gkeytool.in: New file. - * tools/toolwrapper.c: Simplify TOOLS_ZIP macro. - -2006-06-15 Andrew John Hughes - - * javax/management/AttributeList.java: - Add serialization UID. - * javax/management/DynamicMBean.java: - New file. - * javax/management/JMRuntimeException.java: - Add serialization UID and correct name - of serialized field. - * javax/management/MBeanInfo.java: New file. - -2006-06-15 Andrew John Hughes - - * javax/management/AttributeList.java, - * javax/management/JMRuntimeException.java, - * javax/management/RuntimeOperationsException.java: - New files. - -2006-06-15 Lillian Angel - - * java/awt/font/TextLayout.java: - DEFAULT_CARET_POLICY changed to be public static final. - -2006-06-15 Tania Bento - - * javax/swing/plaf/metal/MetalScrollButton.java - (MetalScrollButton): Should set 'focusable' to false. - -2006-06-15 Tania Bento - - * javax/swing/plaf/basic/BasicArrowButton.java - (BasicArrowButton): Should set 'focusable' to false. - (BasicArrowButton): Should set 'focusable' to false. - -2006-06-15 Mark Wielaard - - * gnu/java/awt/peer/gtk/GtkComponentPeer.java - (getGraphicsConfiguration): Return default screen device. - * gnu/java/awt/peer/gtk/GtkVolatileImage.java (component): - New field. - (GtkVolatileImage): Record initiating component. - * gnu/java/awt/peer/gtk/VolatileImageGraphics.java - (getDeviceConfiguration): Return configuration of image component. - -2006-06-15 Mark Wielaard - - * java/awt/geom/GeneralPath.java (closePath): Return if path already - closed. - -2006-06-15 Mark Wielaard - - * java/awt/BasicStroke.java (createStrokedShape): Call getPathIterator - with null argument. - -2006-06-15 Kyle Galloway - - * gnu/classpath/jdwp/event/filters/ExceptionOnlyFilter.java - (matches): Added explicit brackets to return statement. - -2006-06-15 Tania Bento - - * javax/swing/JRadioButtonMenuItem.java - (JRadioButtonMenuItem): Should set 'focusable' to false. - -2006-06-15 Tania Bento - - * javax/swing/JCheckBoxMenuItem.java - (JCheckBoxMenuItem): Should set 'focusable' to false. - -2006-06-15 Tania Bento - - * javax/swing/AbstractButton.java: - (AbstractButton): 'Focusable' should be set to true and not false. - -2006-06-15 Andrew John Hughes - - * java/lang/management/ManagementFactory.java: - Add private constructor to prevent instance creation. - * java/lang/management/ManagementPermission.java: - Make final. - -2006-06-15 Francis Kung - - * javax/swing/plaf/basic/BasicArrowButton.java: - (BasicArrowButton): move client property for not triggering out - of consturctor - * javax/swing/plaf/basic/BasicComboBoxUI.java: - (configureArrowButton): set client property for not triggering - (installUI): set client property for not triggering - * javax/swing/plaf/basic/BasicLookAndFeel.java: - (PopupHelper.mousePressed): check client property for triggering - -2006-06-15 Roman Kennke - - PR 28037 - * javax/swing/RepaintManager.java - (blitBuffer): Substract coordinates the other way around. - -2006-06-15 Roman Kennke - - PR 28027 - * javax/swing/JComponent.java - (paintImmediately2): Only paint component without double buffering - when all of it's parents have also double buffering disabled. - (isPaintingDoubleBuffered): New helper method. - -2006-06-15 David Gilbert - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (draw(Shape)): Pass null transform to getPathIterator(), - (getClip): Likewise, - * gnu/java/print/PostscriptGraphics2D.java - (drawStringShape): Pass null transform to getPathIterator(), - (writeShape): Likewise, - * java/awt/Shape.java: Small updates to API docs. - -2006-06-14 Andrew John Hughes - - * javax/naming/InitialContext.java: - (list(javax.naming.Name)): Fixed generic type. - (list(String)): Likewise. - (listBindings(javax.naming.Name)): Likewise. - (listBindings(String)): Likewise. - -2006-06-14 Roman Kennke - - * javax/swing/plaf/basic/BasicComboBoxUI.java - (getAccessibleChildrenCount): Implemented. - (getAccessibleChild): Implemented. - (isNavigationKey): Implemented. - (KeyHandler.keyPressed): Implemented. - -2006-06-14 Andrew John Hughes - - * java/lang/management/ManagementPermission.java: - Added serialization UID. - * javax/management/Attribute.java: Likewise. - * javax/management/MBeanException.java, - * javax/management/ReflectionException.java: - Added serialization UID and changed to extend - javax.management.JMException. - -2006-06-14 Lillian Angel - - * java/awt/Component.java - (ignoreOldMouseEvents): Made static. - (translateEvent): Made static. - * java/awt/TextComponent.java - (ignoreOldMouseEvents): Made static. - -2006-06-14 Mark Wielaard - - * gnu/java/awt/peer/gtk/ComponentGraphics.java (drawLine): Lock and - call super. - (drawRect): Likewise. - (fillRect): Likewise. - -2006-06-14 Lillian Angel - - * java/awt/Component.java - (ignoreOldMouseEvents): New helper function. - (translateEvent): Changed to be non-static and use new helper. - * java/awt/TextComponent.java - (ignoreOldMouseEvents): New helper function. - -2006-06-14 Roman Kennke - - * javax/swing/RepaintManager.java - (MERGE_REGIONS): New constant flag. - (commitBuffer): Exclude the merging of regions by default. This - was causing painting artifacts in some applications, especially - when different areas of the GUI are updated synchronously. - -2006-06-14 Roman Kennke - - * examples/gnu/classpath/examples/awt/AicasGraphicsBenchmark.java: - New file. This is a benchmark for AWT 1.1 style graphics operations. - * examples/gnu/classpath/examples/awt/palme.gif: New file. - * examples/gnu/classpath/examples/awt/aicas.gif: New file. - -2006-06-14 Tom Tromey - - * java/io/File.java (getParent): Javadoc fix. - -2006-06-14 Tom Tromey - - * gnu/java/net/loader/JarURLLoader.java (initialize): Skip our own - jar. - * gnu/java/net/IndexListParser.java (IndexListParser): Call clearAll - when index entry does not exist. - -2006-06-14 Tania Bento - - * javax/swing/AbstractButton.java - (AbstractButton): Set focusable to false, not true. - -2006-06-14 Tania Bento - - * javax/swing/JMenuItem.java - (init): Changed horizontalAlignment from JButton.LEFT to JButton.LEADING. - -2006-06-14 Tania Bento - - * javax/swing/JCheckBoxMenuItem.java - (JCheckBoxMenuItem): Added check to set the selected state. - -2006-06-14 Roman Kennke - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (cairoDrawLine): New native method. - (cairoDrawRect): New native method. - (cairoFillRect): New native method. - (drawLine): Use special native method. - (drawRect): Use special native method. - (fillRect): Use special native method. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c - (cairoDrawLine): New native method. - (cairoDrawRect): New native method. - (cairoFillRect): New native method. - * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h: Regenerated. - -2006-06-14 Mark Wielaard - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c - (Java_gnu_java_awt_peer_gtk_GtkImage_getPixels): Return when array - cannot be allocated. - -2006-06-14 Tom Tromey - - PR java/28024: - * m4/acinclude.m4 (REGEN_WITH_JAY): Use backquote, not $(...). - * configure.ac (QT_INCLUDE_DIR): Use backquote, not $(...). - -2006-06-14 Roman Kennke - - * javax/swing/JComponent.java - (isRepainting): New flag. - (paintImmediately2): Set isRepainting flag. - (getRoot): Removed obsolete method. - (paintDoubleBuffered): Differenciate between paint calls from - RepaintManager and from AWT refresh. Call - RepaintManager.commitBuffer with this and local coordinates. - (findOpaqueParent): Stop searching at heavyweight component. These - are always opaque. - (paintChildrenOptimized): Don't paint heavyweight children. These - should care for themselves. - (paintChildrenWithOverlap): Don't paint heavyweight children. These - should care for themselves. - * javax/swing/RepaintManager.java - (getOffscreenBuffer): Associate offscreen buffer with toplevel - windows only. - (getVolatileOffscreenBuffer): Associate offscreen buffer with - toplevel windows only. - (getRoot): Removed obsolete method. - (commitBuffer): Blit buffer on nearest heavyweight. - (blitBuffer): New helper method. - (getHeavyweightParent): New helper method. - (commitRemainingBuffers): Call blitBuffer instead of commitBuffer. - * javax/swing/SwingUtilities.java - (convertRectangleToAncestor): New helper method. - -2006-06-14 Raif S. Naffah - - * gnu/javax/security/auth/login/ConfigFileTokenizer.java: Fixed a typo. - Condition all trace/debug code based on Configuration.DEBUG. - Use logger instead of STDOUT and ot STDERR. - -2006-06-13 Lillian Angel - - * native/plugin/gcjwebplugin.cc - (NP_Initialize): Removed code to create whitelist file. - (GCJ_New): Added code to create whitelist file. - (plugin_user_trusts_documentbase): Fixed error message. - -2006-06-13 David Gilbert - - * javax/swing/plaf/metal/MetalIconFactory.java - (HorizontalSliderThumbIcon.gradientMask): Modified by 1 pixel to - prevent overwriting border, - (VerticalSliderThumbIcon.gradientMask): Likewise. - -2006-06-13 Andrew John Hughes - - * javax/management/AttributeNotFoundException.java, - * javax/management/InvalidAttributeValueException.java, - * javax/management/JMException.java, - * javax/management/MBeanException.java, - * javax/management/OperationsException.java, - * javax/management/ReflectionException.java: - New files. - -2006-06-13 Roman Kennke - - * java/awt/Component.java - (dispatchEvent): Handle events even when consumed (this might be - picked up later in the dispatching chain). - * javax/swing/plaf/basic/BasicLookAndFeel.java - (PopupHelper.mousePressed): Don't consume event. Only close popup - when target component isn't flagged as DONT_CANCEL_POPUP. - (DONT_CANCEL_POPUP): New package private constant for flagging - special components that don't trigger popup closing. - * javax/swing/plaf/basic/BasicArrowButton.java - (BasicArrowButton): Set client property for not triggering closing - of popups. - -2006-06-13 Lillian Angel - - * java/awt/image/PixelGrabber.java - (PixelGrabber): Added to API documentation. - -2006-06-13 Keith Seitz - - From Kyle Galloway : - * gnu/classpath/jdwp/event/filters/ExceptionOnlyFilter.java - (ExceptionOnlyFilter): Allow null refId. - - * gnu/classpath/jdwp/event/BreakpointEvent.java: Added _instance for - compatibility with filters. - (getParameter): Modified to allow access to above. - -2006-06-13 Sven de Marothy - - * gnu/java/awt/peer/gtk/CairoSurface.java - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c - (create): Use stride in ints. - -2006-06-13 Keith Seitz - - From Kyle Galloway : - * gnu/classpath/jdwp/event/ClassUnloadEvent.java: New file. - -2006-06-13 David Gilbert - - * javax/swing/plaf/basic/BasicSliderUI.java - (calculateThumbSize): Removed unnecessary code, - (calculateThumbLocation): Shift position by one, - (calculateTickRect): Shift position by one when ticks are displayed, - (calculateLabelRect): Calculate rect differently according to whether - or not the labels are visible, - (paintTrack): Shift track down one pixel. - -2006-06-13 Lillian Angel - - * java/awt/image/PixelGrabber.java - (PixelGrabber): Removed check to throw exception. JDK does - not do this. - (startGrabbing): Removed line to print stacktrace. - -2006-06-13 Mark Wielaard - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java (drawImage): Don't - allocate unused AffineTransform. Add comment about conversion to - BufferedImage. - * gnu/java/awt/peer/gtk/ComponentGraphics.java (drawImage): - Recognize identity transform as "easy". Always convert to - BufferedImage before calling super. - -2006-06-13 Roman Kennke - - * java/awt/Component.java - (getGraphics): Translate child graphics correctly. - (dispatchEvent): Only dispatch event if it hasn't been consumed - yet by the global dispatcher. - * javax/swing/plaf/basic/BasicLookAndFeel.java - Added some API docs. - (PopupHelper.mousePressed): Consume the event after closing - opened menus. - -2006-06-13 David Gilbert - - * javax/swing/plaf/basic/BasicCheckBoxUI.java: Source code formatting - changes only, - * javax/swing/plaf/basic/BasicComboBoxUI.java: Likewise, - * javax/swing/plaf/basic/BasicComboPopup.java: Likewise, - * javax/swing/plaf/basic/BasicFileChooserUI.java: Likewise, - * javax/swing/plaf/basic/BasicInternalFrameUI.java: Likewise, - * javax/swing/plaf/basic/BasicLookAndFeel.java: Likewise, - * javax/swing/plaf/basic/BasicMenuItemUI.java: Likewise, - * javax/swing/plaf/basic/BasicOptionPaneUI.java: Likewise, - * javax/swing/plaf/basic/BasicProgressBarUI.java: Likewise, - * javax/swing/plaf/basic/BasicRadioButtonUI.java: Likewise, - * javax/swing/plaf/basic/BasicScrollBarUI.java: Likewise, - * javax/swing/plaf/basic/BasicSliderUI.java: Likewise, - * javax/swing/plaf/basic/BasicTableHeaderUI.java: Likewise, - * javax/swing/plaf/basic/BasicTableUI.java: Likewise, - * javax/swing/plaf/basic/BasicTextUI.java: Likewise, - * javax/swing/plaf/basic/BasicToolBarUI.java: Likewise, - * javax/swing/plaf/basic/BasicTreeUI.java: Likewise. - -2006-06-12 Sven de Marothy - - * java/awt/font/LineBreakMeasurer.java): Implement. - -2006-06-12 Keith Seitz - - From Kyle Galloway : - * gnu/classpath/jdwp/event/SingleStepEvent.java: New file. - -2006-06-12 Keith Seitz - - From Kyle Galloway : - * gnu/classpath/jdwp/event/MethodEntryEvent.java: New file. - - * gnu/classpath/jdwp/event/MethodExitEvent.java: New file. - -2006-06-12 Roman Kennke - - * javax/swing/JComponent.java - (paintDoubleBuffered): Correctly translate and clip the Graphics - instance. - (clipAndTranslateGraphics): New helper method. - -2006-06-12 Roman Kennke - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (copy): Use getClip() to copy the clip. Make copied transform - null when original transform is null. Set clip here. - (setTransform): Correctly update the clip. - (setTransformImpl): New method. Updates the actual transform for - Cairo. - (transform): Correctly update the clip. - (translate): Correctly update the clip. - (clip): Handle null clip and argument correctly. - (clipRect): Avoid creating new Rectangle objects. - (getClip): Get the correct copy of the clip. - (setClip): Correctly handle null argument. - * gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java - (CairoSurfaceGraphics): Don't set the clip here. The clip can either - be null or whatever has been set in copy(). - * gnu/java/awt/peer/gtk/ComponentGraphics.java - (drawImage): Add translation to the image coordinates. - * gnu/java/awt/peer/gtk/VolatileImageGraphics.java - (VolatileImageGraphics): Don't set clip here. The clip can either - be null or whatever has been set in copy(). - -2006-06-12 Keith Seitz - - From Kyle Galloway : - * gnu/classpath/jdwp/event/filters/ExceptionOnlyFilter.java - (forCaught): Removed unused/unnecessary method. - (forUncaught): Likewise. - (matches): Implement. - -2006-06-12 Keith Seitz - - From Kyle Galloway : - * gnu/classpath/jdwp/event/ExceptionEvent.java: New file. - -2006-06-12 Keith Seitz - - From Kyle Galloway : - * gnu/classpath/jdwp/event/Event.java: Added constants for - type. - (getParameter): Changed parameter type from Class to int. - * gnu/classpath/jdwp/event/BreakpointEvent.java (getParameter): - Changed from Class type to constants. - * gnu/classpath/jdwp/event/ClassPrepareEventEvent.java (getParameter): - Likewise. - * gnu/classpath/jdwp/event/ThreadEndEvent.java (getParameter): - Likewise. - * gnu/classpath/jdwp/event/ThreadStartEvent.java (getParameter): - Likewise. - * gnu/classpath/jdwp/event/VmDeathEvent.java (getParameter): - Likewise. - * gnu/classpath/jdwp/event/VmInitEvent.java (getParameter): - Likewise. - * gnu/classpath/jdwp/event/ClassMatchFilter.java (matches): - Likewise. - * gnu/classpath/jdwp/event/ClassOnlyFilter.java (matches): - Likewise. - * gnu/classpath/jdwp/event/InstanceOnlyFilter.java (matches): - Likewise. - * gnu/classpath/jdwp/event/ThreadOnlyFilter.java (matches): - Likewise. - -2006-06-12 Lillian Angel - - * tools/gnu/classpath/tools/appletviewer/StandaloneAppletWindow.java - (StandaloneAppletWindow): Changed title of standalone window. - -2006-06-12 Lillian Angel - - * javax/swing/plaf/basic/BasicTabbedPaneUI.java - (layoutContainer): Added missing selectedComponent assignment. - -2006-06-12 Lillian Angel - - * javax/swing/plaf/basic/BasicTabbedPaneUI.java - (layoutContainer): Added check to prevent exception. - -2006-06-12 Tom Tromey - - * java/lang/Thread.java (uncaughtException): Javadoc fix. - -2006-06-12 Mark Wielaard - - * gnu/java/awt/peer/gtk/ComponentGraphics.java (hasLock): - New static field. - (ONE): Likewise. - (lock): New method. - (unlock): Likewise. - (draw): Use lock() and unlock(). - (fill): Likewise. - (drawRenderedImage): Likewise. - (drawImage): Likewise. - (drawGlyphVector): Likewise. - -2006-06-12 Roman Kennke - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (drawPixels): Include alpha in parameter list. - (cairoFill): Include alpha in parameter list. - (setComposite): Don't modify the color. - (draw(Shape))): Use fill when the current composite has an alpha - of != 1.0, so that the stroked shaped will be composited. - (fill(Shape)): Call cairoFill() with alpha. - (drawImage): Call drawPixels or drawSurface with alpha. - (drawGlyphVector): When composite alpha is != 1.0, render the - outline using fill() to enable compositing for text. - (drawRaster): Call drawPixels with alpha. - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (nativeDrawSurface): Include alpha in parameter list. - (drawSurface): Include alpha in parameter list. Pass it to - nativeDrawSurface(). - * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h - * include/gnu_java_awt_peer_gtk_CairoSurface.h: - Regenerated. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c - (drawPixels): Handle possible alpha for compositing. - (cairoFill): Likewise. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c - (nativeDrawSurface): Handle possible alpha for compositing. - -2006-06-12 Mark Wielaard - - * gnu/java/awt/peer/gtk/GdkPixbufDecoder.java (streamImage): - Notify data when completely done. Wait for worker thread to finish. - Rethrow any pending exceptions. - (exception): New field. - (run): Store pending exception. - -2006-06-12 Andrew John Hughes - - * java/lang/management/ManagementPermission.java: - New file. - -2006-06-12 Raif S. Naffah - - * doc/tools.texinfo: Replaced original author with "The GNU Classpath Team". - -2006-06-12 Raif S. Naffah - - * gnu/javax/security/auth/login/ConfigFileParser.java (validateClassName): - Use String.charAt(). - -2006-06-11 Thomas Fitzsimmons - - * doc/tools.texinfo - (Applet Tools): New chapter. - (appletviewer Tool): New section. - (gcjwebplugin): New section. - -2006-06-11 Mark Wielaard - - * gnu/java/awt/peer/gtk/GdkPixbufDecoder.java (streamImage): - Takes GdkPixbufWriter. - (GdkPixbufWriter): Implements Runnable. - (write(IIOMetadata,IIOImage,ImageWriteParam)): Start Thread for - data processing. - (DATADONE): New static final field. - (data): New field. - (write(byte[])): New method. - (run): Likewise. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkPixbufDecoder.c - (Java_gnu_java_awt_peer_gtk_GdkPixbufDecoder_initStaticState): - Get dataOutputWriteID from writeClass. - (stream_save_request): Change stream field to writer. - (save_to_stream): Remove FIXME, call writer. - (Java_gnu_java_awt_peer_gtk_GdkPixbufDecoder_streamImage): - Store writer. - -2006-06-11 Andrew John Hughes - - * NEWS: - Mention new VM interface and use of properties. - * doc/vmintegration.texinfo: - Update with new gnu.java.lang.management section. - * gnu/java/lang/management/RuntimeMXBeanImpl.java: - New file. - * java/lang/management/ManagementFactory.java: - (getRuntimeMXBean()): Implemented. - * vm/reference/gnu/java/lang/management/RuntimeMXBeanImpl.java: - New VM interface file. - -2006-06-11 Raif S. Naffah - - PR Classpath/26065 - * gnu/javax/security/auth/login/GnuConfiguration.java: Condition all trace/ - debug code based on Configuration.DEBUG. - Use logger instead of STDOUT and ot STDERR. - * gnu/javax/security/auth/login/ConfigFileParser.java: Likewise. - * gnu/javax/crypto/sasl/SaslOutputStream.java: Likewise. - * gnu/javax/crypto/sasl/SaslInputStream.java: Likewise. - * gnu/javax/crypto/sasl/srp/SRPServer.java: Likewise. - * gnu/javax/crypto/sasl/srp/SRPClient.java: Likewise. - * gnu/javax/crypto/prng/CSPRNG.java: Likewise. - * gnu/javax/crypto/pad/TBC.java: Likewise. - * gnu/javax/crypto/pad/PKCS7.java: Likewise. - * gnu/javax/crypto/pad/PKCS1_V1_5.java: Likewise. - * gnu/javax/crypto/pad/BasePad.java: Likewise. - * gnu/javax/crypto/mac/OMAC.java: Likewise. - * gnu/javax/crypto/keyring/PasswordEncryptedEntry.java: Likewise. - * gnu/javax/crypto/keyring/PasswordAuthenticatedEntry.java: Likewise. - * gnu/javax/crypto/keyring/GnuPublicKeyring.java: Likewise. - * gnu/javax/crypto/keyring/GnuPrivateKeyring.java: Likewise. - * gnu/javax/crypto/keyring/EnvelopeEntry.java: Likewise. - * gnu/javax/crypto/keyring/Entry.java: Likewise. - * gnu/javax/crypto/key/srp6/SRPKeyPairGenerator.java: Likewise. - * gnu/javax/crypto/key/dh/GnuDHKeyPairGenerator.java: Likewise. - * gnu/javax/crypto/jce/prng/UMacRandomSpi.java: Likewise. - * gnu/javax/crypto/jce/prng/ICMRandomSpi.java: Likewise. - * gnu/javax/crypto/jce/keyring/GnuKeyring.java: Likewise. - * gnu/javax/crypto/cipher/Twofish.java: Likewise. - * gnu/javax/crypto/cipher/Khazad.java: Likewise. - * gnu/javax/crypto/cipher/Rijndael.java: Likewise. - * gnu/javax/crypto/cipher/BaseCipher.java: Likewise. - * gnu/javax/crypto/cipher/Anubis.java: Likewise. - * gnu/java/security/Properties.java: Likewise. - * gnu/java/security/x509/X509CRLEntry.java: Likewise. - * gnu/java/security/x509/X509CRL.java: Likewise. - * gnu/java/security/x509/ext/Extension.java: Likewise. - * gnu/java/security/util/Prime2.java: Likewise. - * gnu/java/security/util/Base64.java: Likewise. - * gnu/java/security/sig/rsa/RSAPSSSignature.java: Likewise. - * gnu/java/security/sig/rsa/EMSA_PSS.java: Likewise. - * gnu/java/security/provider/PKIXCertPathValidatorImpl.java: Likewise. - * gnu/java/security/pkcs/SignerInfo.java: Likewise. - * gnu/java/security/pkcs/PKCS7SignedData.java: Likewise. - * gnu/java/security/key/rsa/RSAKeyPairX509Codec.java: Likewise. - * gnu/java/security/key/rsa/RSAKeyPairPKCS8Codec.java: Likewise. - * gnu/java/security/key/rsa/RSAKeyPairGenerator.java: Likewise. - * gnu/java/security/key/rsa/GnuRSAPrivateKey.java: Likewise. - * gnu/java/security/key/dss/DSSPrivateKey.java: Likewise. - * gnu/java/security/key/dss/DSSKeyPairPKCS8Codec.java: Likewise. - * gnu/java/security/key/dss/DSSKeyPairGenerator.java: Likewise. - * gnu/java/security/jce/sig/SignatureAdapter.java: Likewise. - * gnu/java/security/jce/sig/EncodedKeyFactory.java: Likewise. - * gnu/java/security/hash/Whirlpool.java: Likewise. - -2006-06-11 Mark Wielaard - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c - (Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_getGlyphs): - Remove unused variable glyph_index. - -2006-06-11 Mark Wielaard - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java (drawImage): - Don't recurse, return false if not an BufferedImage and no image - source available. - * gnu/java/awt/peer/gtk/ComponentGraphics.java (draw): Add - end_gdk_drawing() to finally block. - (fill): Likewise. - (drawRenderedImage): Likewise. - (drawImage): Likewise. - (drawGlyphVector): Likewise. - -2006-06-11 Raif S. Naffah - - * doc/tools.texinfo: Added text for new -cacert command. - Re-structured sections. - * resource/gnu/classpath/tools/keytool/messages.properties: Added messages - for -cacert command. - * tools/gnu/classpath/tools/keytool/Main.java (CACERT_CMD): New constant. - (_CACERT): Likewise. - (shutdownThread): New field. - (Main): Install shutdown thread. - (main): Uninstall shutdown thread. - (start): Handle new -cacert command. - (getParser): Likewise. - (teardown): Increased visibility. - (ShutdownHook): New inner class. - * tools/gnu/classpath/tools/keytool/CACertCmd.java: New file. - -2006-06-11 Sven de Marothy - - * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java - (setupGlyphMetrics): New method. Add glyphmetrics caching. - (getOutline): Operate on the shape directly. - * gnu/java/awt/peer/gtk/GdkFontPeer.java - (getGlyphMetrics,putGlyphMetrics): Add GlyphMetrics caching. - * include/gnu_java_awt_peer_gtk_FreetypeGlyphVector.h - (getGlyph renamed getGlyphs) - * java/awt/geom/AffineTransform.java - (getTranslateInstance): Set fields directly. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c - (getGlyphs): Get all glyph codes at once. - -2006-06-11 Raif S. Naffah - - PR Classpath/27853 - * gnu/javax/crypto/RSACipherImpl.java (engineDoFinal): Was short by 1 byte. - -2006-06-11 Sven de Marothy - - * java/awt/font/TextLayout.java - (getLogicalHighlightShape): Add check. - * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java - (getLogicalBounds, getGlyphPositions): Cache bounds, positions. - -2006-06-11 Raif S. Naffah - - * gnu/javax/security/auth/login/ConfigFileParser.java (validateClassName): - Check that every component of 'cn' starts with a valid Java identifier char. - -2006-06-10 Tom Tromey - - * java/io/File.java (pathSeparator): Typo fix. - -2006-06-10 Mark Wielaard - - * native/jni/gtk-peer/cairographics2d.h (cp_gtk_get_cairo_t): - Removed. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c - Mark all unused parameters. - (cp_gtk_get_cairo_t): Removed. - (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoSetMatrix): - Don't mix declerations and statements. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c: - Mark all unused parameters. - (Java_gnu_java_awt_peer_gtk_CairoSurface_nativeDrawSurface): - Get cairographics2d pointer directly. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkTextLayout.c - (Java_gnu_java_awt_peer_gtk_GdkTextLayout_cairoDrawGdkTextLayout): - Use jlong to pass pointer. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkVolatileImage.c: - Mark all unused parameters. - * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h: Regenerated. - * include/gnu_java_awt_peer_gtk_CairoSurface.h: Regenerated. - * include/gnu_java_awt_peer_gtk_ComponentGraphics.h: Regenerated. - * include/gnu_java_awt_peer_gtk_GdkTextLayout.h: Regenerated. - * include/gnu_java_awt_peer_gtk_GtkVolatileImage.h: Regenerated. - * include/java_io_VMFile.h: Regenerated. - -2006-06-10 Roman Kennke - - * gnu/java/awt/peer/gtk/VolatileImageGraphics.java - (VolatileImageGraphics(VolatileImageGraphics)): Use clipRect() - instead of setClip(), so that an already present clip is intersected - and not resetted. - -2006-06-10 Mark Wielaard - - * gnu/java/awt/peer/gtk/GdkFontPeer.java (GdkFontLineMetrics): - Call getSize() to avoid accessor method. - -2006-06-10 Mark Wielaard - - * javax/swing/text/html/HTMLDocument.java (addSpecialElement): - Qualify ElementSpec. - -2006-06-10 Mark Wielaard - - * lib/.cvsignore: Add sun. - * lib/Makefile.am (dist-hook): Likewise. - -2006-06-10 Roman Kennke - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - * gnu/java/awt/peer/gtk/CairoSurface.java - * gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java - * gnu/java/awt/peer/gtk/ComponentGraphics.java - * gnu/java/awt/peer/gtk/GtkVolatileImage.java - * native/jni/gtk-peer/cairographics2d.h - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkVolatileImage.c: - Changed method signatures and calls to pass native pointers directly - into the JNI code, in order to avoid costly lookups on each - JNI call. - * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h, - * include/gnu_java_awt_peer_gtk_CairoSurface.h, - * include/gnu_java_awt_peer_gtk_ComponentGraphics.h, - * include/gnu_java_awt_peer_gtk_GtkVolatileImage.h: - Regenerated - -2006-06-10 Audrius Meskauskas - - PR 27973 - * javax/swing/text/DefaultStyledDocument.java - (ElementBuffer.insertContentTag): - Do not recreate leaves and do not remove elements here. - -2006-06-10 Audrius Meskauskas - - * javax/swing/text/html/HTMLDocument.java - (HTMLReader.HiddenAction): Implemented. - -2006-06-10 Roman Kennke - - * javax/swing/RepaintManager.java - (getVolatileOffscreenBuffer): Store the created buffer. - * javax/swing/JComponent.java - (paintDoubleBuffered): Try to use a volatile offscreen buffer - for better performance. - -2006-06-10 Roman Kennke - - * gnu/java/awt/peer/gtk/VolatileImageGraphics.java - (VolatileImageGraphics(VolatileImageGraphics)): Initialize native - context correctly. - (getRealBounds): Overridden to return the correct bounds. - -2006-06-10 Roman Kennke - - * javax/swing/plaf/metal/MetalButtonUI.java - (update): Fixed to paint the gradient under the correct conditions. - (updateWidthGradient): Removed. - (isToolbarButton): New helper method. - (isDrawingGradient): New helper method. - -2006-06-09 Roman Kennke - - * javax/swing/JTabbedPane.java - (setSelectedIndex): Don't change the visibility of the components, - this is done by the UI class. - * javax/swing/plaf/basic/BasicTabbedPaneUI.java - (TabbedPaneLayout.layoutContainer): Change visibility of component - here, depending on the selected index. Only do this if the new - selected component is not null. Some programs seem to expect - this. - (visibleComponent): New field. - (getVisibleComponent): Changed to return visibleComponent field. - (setVisibleComponent): Changed to set the visibility of - the old and new visible component. - -2006-06-09 Roman Kennke - - * javax/swing/JComponent.java - (paintChildrenOptimized): Paint component with a new Graphics - object to protect the other painting code from modifications - done in that object, and avoid cleanup ops on possibly dispose()ed - Graphics object. - -2006-06-09 Sven de Marothy - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c - (Java_gnu_java_awt_peer_gtk_ComponentGraphics_disposeSurface): - Use GTK locks while disposing (Xlib) surface. - -2006-06-09 Tom Tromey - - * lib/Makefile.am (install-data-local): Copy 'sun' files. - (uninstall-local): Delete 'sun' directory. - (glibj.zip): Include 'sun' classes. - (clean-local): Delete 'sun' directory. - * lib/gen-classlist.sh.in: Search 'sun' subdirectories. - -2006-06-09 Roman Kennke - - * gnu/java/awt/java2d/AbstractGraphics2D.java - (drawImage): Fixed scaling. - (fillShape): Removed offset handling. - (fillShapeImpl): Limit scanlining to device bounds. - (getSegments): Removed offset handling. - * gnu/java/awt/java2d/PolyEdge.java - (toString): Include isClip flag in output. - -2006-06-08 Sven de Marothy - - * java/awt/font/TextLayout.java - (getOutline): Allow null transform. - -2006-06-08 Sven de Marothy - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (drawString): Use TextLayout instead of GlyphVector. - -2006-06-08 Sven de Marothy - - * java/text/Bidi.java: Treat WS as neutral for rules N1 & N2. - * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java - New constructor for bidirectionality. - (getGlyphMetrics): Return whitespace glyphs. - (getLogicalBounds): Offset rectangles to correct positions. - * gnu/java/awt/peer/gtk/GdkFontPeer.java - (getBaselineFor): Default to ROMAN_BASELINE. - (GdkFontLineMetrics): Guess some values for underline and - strikethrough. - (layoutGlyphVector): Use bidirectionality. - * java/awt/font/TextLayout.java: Implement, mostly. - -2006-06-09 Anthony Green - - PR classpath/27888: - * javax/swing/text/GapContent.java (binarySearch): Use unsigned shift. - * java/util/Collections.java (binarySearch): Use unsigned shift. - * java/util/Arrays.java (binarySearch): Use unsigned shift. - -2006-06-09 Tom Tromey - - * tools/.cvsignore: Added .deps. - -2006-06-09 Kazuya Ujihara - - PR classpath/27966: - * gnu/javax/security/auth/login/ConfigFileParser.java - (validateClassName): Quote '.' in regexp. - -2006-06-09 Tom Tromey - - PR classpath/23863: - * native/fdlibm/dtoa.c (_dtoa): Free contents of _Jv_reent when - finished. - * native/fdlibm/mprec.c: New version from newlib. Commented out - some includes. Added . - (_reent, _Bigint): New defines. - (_REENT_CHECK_MP, _REENT_MP_FREELIST, _REENT_MP_P5S): Likewise. - (__ULong, __Long): New types. - (_calloc_r): New function. - (Balloc): Dynamically add new _freelist entries as needed. - * native/fdlibm/mprec.h (struct _Jv_Bigint): Don't use - MAX_BIGNUMS to size _x[]. - (struct _Jv_reent): _freelist now a _Jv_Bigint**. Removed - _allocation_map, num. Added _max_k. - -2006-06-09 Roman Kennke - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (drawGlyphVector): Added fallback for non-FreetypeGlyphVector - implementations. - -2006-06-09 David Gilbert - - * java/awt/image/BufferedImage.java - (BufferedImage(int, int, int)): Added API docs, - (getProperty(String)): Return correct value for undefined properties, - (getPropertyNames()): Added comments and removed FIXME. - -2006-06-09 Thomas Fitzsimmons - - * native/plugin/gcjwebplugin.cc (PLUGIN_ERROR_THREE): New macro. - (NP_Initialize): Use PLUGIN_ERROR_THREE in place of g_strconcat. - -2006-06-09 Francis Kung - - * javax/swing/plaf/basic/BasicComboBoxRenderer.java: - (getPreferredSize): Return correct height for null or empty - items. - -2006-06-09 David Gilbert - - * java/awt/datatransfer/DataFlavor.java - (readExternal): Mark as stub, - (writeExternal): Likewise, - * java/awt/dnd/DropTargetContext.java - (dropComplete): Mark as stub, - (acceptDrag): Likewise, - (rejectDrag): Likewise, - (acceptDrop): Likewise, - (rejectDrop): Likewise, - (getCurrentDataFlavors): Likewise, - (getTransferable): Likewise, - * java/awt/dnd/DropTargetDropEvent.java - (dropComplete): Mark as stub. - -2006-06-09 Audrius Meskauskas - - * gnu/javax/swing/text/html/parser/SmallHtmlAttributeSet.java - (constructor): Do not lowercase the values. - * javax/swing/text/html/HTMLDocument.java - (HTMLReader.addSpecialElement): Implemented. - * examples/gnu/classpath/examples/swing/HtmlDemo.java: New file. - -2006-06-09 Raif S. Naffah - - On behalf of Matthew Wringe - * gnu/java/security/Registry.java (ISO10126_PAD): New constant. - * gnu/javax/crypto/pad/ISO10126.java: New class. - * gnu/javax/crypto/pad/PadFactory.java (names): New field. - (getInstance): Added support for ISO-10126 scheme. - (getNames): Likewise. - Cache result for speed. - -2006-06-09 Raif S. Naffah - - * gnu/javax/crypto/pad/BasePad.java (selfTest): Re-factored to allow more - flexible self-test by sub-classes. - (test1BlockSize): New method. - -2006-06-09 David Gilbert - - * javax/swing/plaf/basic/BasicLookAndFeel.java - (initComponentDefaults): Corrected 'ScrollBar.focusInputMap' entry, - * javax/swing/plaf/basic/BasicScrollBarUI.java - (installKeyboardActions): Implemented, - (uninstallKeyboardActions): Implemented, - (getInputMap): New method, - (getActionMap): New method, - (createActionMap): New method, - (installUI): Call installKeyboardActions(), - (uninstallUI): Call uninstallKeyboardActions(). - -2006-06-09 David Gilbert - - * javax/swing/plaf/basic/BasicScrollPaneUI.java - (getActionMap): Use correct key to store action map. - -2006-06-09 Jeroen Frijters - - * gnu/java/awt/font/opentype/truetype/VirtualMachine.java - (executeInstruction): Added NOT support. - -2006-06-09 Jeroen Frijters - - * sun/reflect/annotation/AnnotationInvocationHandler.java: - New file. - -2006-06-08 Tom Tromey - - * java/text/Bidi.java (resolveNeutralTypes): Set j'th slot - of 'types'. - -2006-06-09 Andrew John Hughes - - * java/lang/management/RuntimeMXBean.java: - New file. - -2006-06-08 Lillian Angel - - * native/plugin/gcjwebplugin.cc: - (NP_Shutdown): Freed whitelist_filename. - -2006-06-08 Lillian Angel - - * native/plugin/Makefile.am: - Removed DATA_DIRECTORY. - * native/plugin/gcjwebplugin.cc: - Added new global fields for whitelist_file - and data_directory. Removed WHITELIST_FILE. - (NP_Initialize): Initialized new fields. Also, - Changed to use new fields. - (NP_Shutdown): Freed data_directory. - (GCJ_New): Changed to use new fields. - (plugin_ask_user_about_documentbase): Likewise. - -2006-06-08 Lillian Angel - - * native/plugin/Makefile.am: - Changed DATA_DIRECTORY to be ~/.gcjwebplugin. - * native/plugin/gcjwebplugin.cc: - Changed all instances of PLUGIN_DATA_DIRECTORY - to DATA_DIRECTORY. - -2006-06-08 Roman Kennke - - * java/awt/LightweightDispatcher.java - (handleMouseEvent): Replaced calls to AWTUtilities.convertPoint() - with convertPointToChild(). This is more efficient and avoids - problems with getLocationOnScreen(). - (findTarget): Check for component beeing showing() early. - Simplified AWTUtilities.convertPoint() to a simple substraction - operation. - (convertPointToChild): New helper method. - -2006-06-08 Thomas Fitzsimmons - - * native/plugin/gcjwebplugin.cc (SECURITY_DESCRIPTION): Update - message. - -2006-06-08 Tom Fitzsimmons - Lillian Angel - - * native/plugin/gcjwebplugin.cc - (NP_Shutdown): Added code to free plugin mutex and whitelist file. - Also, reset initialized field. - -2006-06-08 Lillian Angel - - * javax/swing/plaf/basic/BasicProgressBarUI.java - (paintString): Fixed to paint string at the correct location. - -2006-06-08 Roman Kennke - - * javax/swing/plaf/basic/BasicTreeUI.java - (createDefaultActions): Added new actions. - (TreePageAction.TreePageAction): Set action name. - (TreePageAction.actionPerformed): Implemented. - (TreePageAction.isEnabled): Implemented. - (TreeToggleAction.TreePageAction): Set action name. - (TreeToggleAction.actionPerformed): Implemented. - (TreeToggleAction.isEnabled): Implemented. - (TreeTraverseAction.TreeTraverseAction): Set action name. - (TreeTraverseAction.actionPerformed): Use action name as command. - (TreeTraverseAction.isEnabled): Implemented. - -2006-06-08 Roman Kennke - - * javax/swing/plaf/basic/BasicTreeUI.java - (installKeyboardActions): Rewritten to correctly install the UI - input and action maps. - (getActionMap): New helper method. - (createDefaultActionMap): New helper method. - (TreeHomeAction.TreeHomeAction()): Implemented. - (TreeHomeAction.actionPerformed): Implemented. - (TreeHomeAction.isEnabled): Implemented. - (TreeIncrementAction.TreeIncrementAction()): Implemented. - (TreeIncrementAction.actionPerformed): Use action name as command. - (TreeIncrementAction.isEnabled): Implemented. - -2006-06-08 Mark Wielaard - - PR 27917 - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c - (Java_gnu_java_awt_peer_gtk_GtkImage_loadImageFromData): Ref pixbuf - and unref loader. - -2006-06-08 Mark Wielaard - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c - (attrs): Removed unused static. - -2006-06-08 David Gilbert - - * javax/swing/plaf/basic/BasicScrollPaneUI.java - (getInputMap): New method, - (getActionMap): New method, - (createActionMap): New method, - (installKeyboardActions): Implemented, - (uninstallKeyboardActions): Implemented. - -2006-06-08 Robert Schuster - - * javax/swing/border/MatteBorder.java: - (MatteBorder(int,int,int,int,Icon)): Removed if-statement and exception - throwing. - (paintBorder): Added if-statement to abort painting early. - -2006-06-08 Robert Schuster - - Fixes PR27864. - * gnu/xml/dom/DomIterator.java: - (successor): Changed expression. - -2006-06-08 Sven de Marothy - - * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java - (defaultLayout): Do kerning. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c - (getKerning): Correct class name, removed unused variable. - -2006-06-07 Thomas Fitzsimmons - - * gnu/java/awt/peer/qt/QtToolkit.java (initToolkit): Load - libqtpeer.so unconditionally. - -2006-06-07 Andrew John Hughes - - * java/util/InputMismatchException.java: - Documented. - -2006-06-07 Andreas Tobler - - * native/jawt/Makefile.am (AM_LDFLAGS): Add XTEST_LIBS. - -2006-06-07 Roman Kennke - - * javax/swing/plaf/basic/BasicTreeUI.java - (completeUIUninstall): Implemented. - (uninstallUI): Moved some bits to completeUIUninstall(). Complete - editing before uninstalling anything. - (isToggleEvent): Implemented. - (selectPathForEvent): Make use of isToggleEvent(). - (ComponentHandler.componentMoved): Implemented. - (ComponentHandler.startTimer): Implemented. - (ComponentHandler.getScrollPane): Implemented. - (ComponentHandler.actionPerformed): Implemented. - -2006-06-07 Francis Kung - - * javax/swing/JMenuBar.java: - (getSubElements): Do not return null values. - -2006-06-07 Roman Kennke - - PR 27902 - * gnu/regexp/BacktrackStack.java - * gnu/regexp/CharIndexed.java - * gnu/regexp/CharIndexedCharArray.java - * gnu/regexp/CharIndexedCharSequence.java - * gnu/regexp/CharIndexedInputStream.java - * gnu/regexp/CharIndexedString.java - * gnu/regexp/CharIndexedStringBuffer.java - * gnu/regexp/RE.java - * gnu/regexp/REException.java - * gnu/regexp/REFilterInputStream.java - * gnu/regexp/REMatch.java - * gnu/regexp/REMatchEnumeration.java - * gnu/regexp/RESyntax.java - * gnu/regexp/REToken.java - * gnu/regexp/RETokenAny.java - * gnu/regexp/RETokenBackRef.java - * gnu/regexp/RETokenChar.java - * gnu/regexp/RETokenEnd.java - * gnu/regexp/RETokenEndOfPreviousMatch.java - * gnu/regexp/RETokenEndSub.java - * gnu/regexp/RETokenIndependent.java - * gnu/regexp/RETokenLookAhead.java - * gnu/regexp/RETokenLookBehind.java - * gnu/regexp/RETokenNamedProperty.java - * gnu/regexp/RETokenOneOf.java - * gnu/regexp/RETokenPOSIX.java - * gnu/regexp/RETokenRange.java - * gnu/regexp/RETokenRepeated.java - * gnu/regexp/RETokenStart.java - * gnu/regexp/RETokenWordBoundary.java - * gnu/regexp/UncheckedRE.java - * gnu/java/util/regex/BacktrackStack.java - * gnu/java/util/regex/CharIndexed.java - * gnu/java/util/regex/CharIndexedCharArray.java - * gnu/java/util/regex/CharIndexedCharSequence.java - * gnu/java/util/regex/CharIndexedInputStream.java - * gnu/java/util/regex/CharIndexedString.java - * gnu/java/util/regex/CharIndexedStringBuffer.java - * gnu/java/util/regex/RE.java - * gnu/java/util/regex/REException.java - * gnu/java/util/regex/REFilterInputStream.java - * gnu/java/util/regex/REMatch.java - * gnu/java/util/regex/REMatchEnumeration.java - * gnu/java/util/regex/RESyntax.java - * gnu/java/util/regex/REToken.java - * gnu/java/util/regex/RETokenAny.java - * gnu/java/util/regex/RETokenBackRef.java - * gnu/java/util/regex/RETokenChar.java - * gnu/java/util/regex/RETokenEnd.java - * gnu/java/util/regex/RETokenEndOfPreviousMatch.java - * gnu/java/util/regex/RETokenEndSub.java - * gnu/java/util/regex/RETokenIndependent.java - * gnu/java/util/regex/RETokenLookAhead.java - * gnu/java/util/regex/RETokenLookBehind.java - * gnu/java/util/regex/RETokenNamedProperty.java - * gnu/java/util/regex/RETokenOneOf.java - * gnu/java/util/regex/RETokenPOSIX.java - * gnu/java/util/regex/RETokenRange.java - * gnu/java/util/regex/RETokenRepeated.java - * gnu/java/util/regex/RETokenStart.java - * gnu/java/util/regex/RETokenWordBoundary.java - * gnu/java/util/regex/UncheckedRE.java - Moved gnu.regexp classes to gnu.java.util.regex package. - * java/util/regex/Matcher.java - * java/util/regex/Pattern.java - Adjusted import statements for new package name for gnu regexp. - -2006-06-07 Tom Tromey - - PR classpath/27905: - * gnu/java/nio/charset/Provider.java (loadExtended): Now synchronized. - Added missing charsets. - (charsetForName): Don't check 'extendedLoaded'. - -2006-06-07 Roman Kennke - - PR 27833 - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (clip(Shape)): Implemented correctly, so that the current shape - gets intersected by the parameter shape. - -2006-06-07 Lillian Angel - - * javax/swing/plaf/basic/BasicTabbedPaneUI.java - (getTabBounds): If this method is called with a tab index - that is not in the rects array, we need to re-layout the container - so it is created. - -2006-06-07 Lillian Angel - - * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java - (FreetypeGlyphVector): Removed assignment. Caused compilation error. - * java/lang/String.java - (codePointCount): Fixed check to match API. Shouldn't throw exception - if end == count. end is 1 more than the endIndex, so end == count is - possible. - -2006-06-07 Gary Benson - - PR 24895 - * native/jni/java-io/java_io_VMFile.c - (Java_java_io_VMFile_toCanonicalForm): New method. - * configure.ac: Added checks for lstat and readlink. - * include/java_io_VMFile.h: Added new method. - * vm/reference/java/io/VMFile.java: Use new method. - * gnu/java/io/PlatformHelper.java (toCanonicalForm): Removed. - * NEWS: Documented the above. - * java/io/File.java: Javadoc fix. - -2006-06-07 Roman Kennke - - PR 27920 - * javax/swing/JTree.java - (JTree()): Initialize with default model. - (JTree(TreeModel)): Clear expanded state hashtable. Added comment - on the updateUI() / setModel() order. - (setModel): Correctly (un-)setup the listeners. Clear the expanded - paths. - * javax/swing/plaf/basic/BasicTreeUI.java - (BasicTreeUI()): Initialize listeners in installListeners(). - (setModel): Complete editing on model change. Correctly resetup - the listeners. Update the layout cache accordingly. - (setShowRootHandles): Complete editing and update layout. Do not - call back into the JTree, this could cause cycles. - (prepareForUIInstall): Implemented. Moved some init code from - installUI() to this method. - (completeUIInstall): Implemented. Moved some init code from - installUI() to this method. - (createDefaultCellEditor): Check for type of renderer, and install - with null renderer when not DefaultTreeCellRenderer. - (updateLayoutCacheExpandedNodes): Added null check for tree root - to avoid NPE. - (updateRenderer): Call updateEditor(). - (installListeners): Initialize the listeners here. Added some null - checks to avoid NPEs. - (installUI): Moved some init code to prepareForUIInstall() and - completeUIInstall(). - (completeEditing): Return immediately if editing component is null - or if the setting is to not stop editing on complete editing. - (checkForClickInExpandControl): Call handleExpandControlClick() - instead of toggleExpandState() directly. - (isLocationInExpandControl): Rewritten to correctly determine the - expand click location. - (MouseHandler.mousePressed): Rewritten to make better use of the - instance methods of BasicTreeUI to handle the click. - (PropertyHandler.propertyChange): Handle model and cell renderer - updates. - * javax/swing/tree/DefaultTreeCellEditor.java - (DefaultTreeCellEditor): Removed initialization of the icon. This - is done so that the constructor can deal with null renderer as the - RI does. Maybe this needs more fixing. - * javax/swing/tree/TreePath.java - (isDescendant): Fixed this method. The previous version did too - much and compared the wrong things, which lead to a ClassCastException - in equals(). - * javax/swing/tree/VariableHeightLayoutCache.java - (update): Do nothing when model is null. - (setModel): Clear the tables and update the layout. Added null - check to prevent NPE. - -2006-06-07 Sven de Marothy - - * gnu/java/awt/peer/gtk/GdkGlyphVector: Removed file. - -2006-06-07 Sven de Marothy - - * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java - * include/gnu_java_awt_peer_gtk_FreetypeGlyphVector.h - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c - New files. - - * gnu/java/awt/peer/gtk/GdkFontPeer.java - (getGlyphVector): Removed native method. - (createGlyphVector, getStringBounds): Use new GV class. - - * include/Makefile.am - * native/jni/gtk-peer/Makefile.am - Add new files. - - * include/gnu_java_awt_peer_gtk_GdkFontPeer.h - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c - (getGlyphVector): Removed native method. - -2006-06-07 Chris Burdess - - * gnu/classpath/debug/TeeInputStream.java, - gnu/classpath/debug/TeeOutputStream.java, - gnu/classpath/debug/TeeReader.java, - gnu/classpath/debug/TeeWriter.java: New classes for debugging streams. - * gnu/xml/stream/XMLParser.java: Use tee streams for debugging. Don't - read more characters than absolutely necessary in tryRead method. - -2006-06-07 Robert Schuster - - * examples/gnu/classpath/examples/swing/Demo.java: - (mkMenuBar): Put look and feel radio buttons into - appropriate button group. - -2006-06-07 Chris Burdess - - * gnu/xml/stream/SAXParser.java, - gnu/xml/stream/XMLParser.java: Add command line options for setting - parsing parameters (for simpler debugging). - * gnu/xml/transform/TransformerImpl.java: Try to ensure that I/O error - closing output stream is propagated to application. - -2006-06-06 Mark Wielaard - - PR 27917 - * gnu/java/awt/peer/gtk/CairoSurface.java (finalize): Call dispose. - * gnu/java/awt/peer/gtk/ComponentGraphics.java: Override dispose to - call disposeSurface. - (disposeSurface): New native method. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c - (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_disposeNative): Free - pattern_pixels. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c - (Java_gnu_java_awt_peer_gtk_CairoSurface_drawSurface): Call - cairo_pattern_destroy. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c - (Java_gnu_java_awt_peer_gtk_ComponentGraphics_disposeSurface): - New function to destroy the surface. - * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h: Regenerated. - * include/gnu_java_awt_peer_gtk_CairoSurface.h: Likewise. - * include/gnu_java_awt_peer_gtk_ComponentGraphics.h: Likewise. - -2006-06-06 Mark Wielaard - - * include/jni.h (JDK1_1InitArgs): Mark pointer-to-function types - with JNICALL. - -2006-06-06 David Gilbert - - * javax/swing/plaf/metal/MetalSplitPaneDivider.java - (paint): If has focus, paint special background color, - * javax/swing/plaf/basic/BasicSplitPaneUI.java - (FocusHandler.focusGained): Implemented, - (FocusHandler.focusLost): Implemented. - -2006-06-06 Tom Tromey - - * javax/swing/text/StyleContext.java (registerStaticAttributeKey): - Javadoc fix. - (writeAttributeSet): Implemented. - -2006-06-06 Tom Tromey - - * javax/swing/text/html/HTMLDocument.java (SpecialAction.start): - Implement. - (SpecialAction.end): Removed. - (IsindexAction.end): Likewise. - -2006-06-06 Tom Tromey - - * include/jni.h (JDK1_1InitArgs): New struct. - (JDK1_1AttachArgs): Likewise. - -2006-06-06 Tom Tromey - - * java/security/UnresolvedPermission.java (getUnresolvedType): New - method. - (getUnresolvedName): New method. - (getUnresolvedActions): New method. - (getUnresolvedCerts): New method. - -2006-06-06 Audrius Meskauskas - - * gnu/javax/swing/text/html/CharacterAttributeTranslator.java - (getColor): Removed debugging code. - -2006-06-06 Audrius Meskauskas - - * gnu/javax/swing/text/html/CharacterAttributeTranslator.java - (getColor): Added support for "rgb(red, green, blue)" notation. - (translateTag): Use Boolean.TRUE, not new Boolean(). - -2006-06-06 Roman Kennke - - PR 27651 - * javax/swing/JTree.java - (JTree(TreeModel)): Call updateUI() before setModel(). - (setModel): Don't call updateUI here. - -2006-06-06 Lillian Angel - - * native/plugin/gcjwebplugin.cc: - Fixed failure message and commenting. - (NP_Initialize): Added more comments. - -2006-06-06 David Gilbert - - * javax/swing/JSplitPane.java - (AccessibleJSplitPane): API doc fixes, - (setDividerLocation): Likewise, - * javax/swing/plaf/basic/BasicLookAndFeel.java - (initComponentDefaults): Additions to SplitPane.ancestorInputMap, - * javax/swing/plaf/basic/BasicSplitPaneUI.java - (getInputMap): New method, - (getActionMap): New method, - (createActionMap): New method, - (installKeyboardActions): Implemented, - (uninstallKeyboardActions): Implemented. - -2006-06-06 Roman Kennke - - PR 27523 - * javax/swing/MenuSelectionManager.java - (processKeyEvent): Added check to avoid - ArrayIndexOutOfBoundsException. - -2006-06-06 Audrius Meskauskas - - * gnu/javax/swing/text/html/htmlAttributeSet.java - (getAttributeNames): Rewritten - -2006-06-06 Chris Burdess - - * gnu/xml/transform/TransformerImpl.java: Check type of created - document (more cases). - -2006-06-06 Audrius Meskauskas - - * gnu/javax/swing/text/html/htmlAttributeSet.java - (clone): New method. (copyAttributes): New method. - (getResolveParent): Comment fix. (getAttribute): - Rewritten. (addAttribute): Rewritten. - * gnu/javax/swing/text/html/SmallHtmlAttributeSet.java: - New file. - -2006-06-06 Roman Kennke - - PR 27522 - * javax/swing/JMenuBar.java - (processKeyBindingHelper): Added null check to prevent NPE. - -2006-06-06 Roman Kennke - - * javax/swing/plaf/basic/BasicInternalFrameUI.java - (ShowSystemMenuAction): New class. - (installKeyboardActions): Implemented. - (uninstallKeyboardActions): Implemented. - * javax/swing/plaf/metal/MetalInternalFrameUI.java - (installKeyboardActions): Overridden to remove showSystemMenu action. - -2006-06-06 Chris Burdess - - * gnu/xml/transform/TransformerImpl.java: Check type of created - document. - -2006-06-06 Robert Schuster - - * gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java: - (getScreenDevices): Added explicit cast. - -2006-06-06 Roman Kennke - - * javax/swing/plaf/basic/BasicTextUI.java - (installKeyboardActions): Use shared input map. Correctly - install the input/action maps in the component's input/action - map hierarchies. - (getActionMap): New helper method for fetching an ActionMap from - the UIManager or creating a default one if there is none supplied - by the UIManager. - (createActionMap): Add the TransferHandler's actions here. Made - method private. - (getInputMap): Leave out unnecessary method parameter. Load - shared input map. - * javax/swing/plaf/basic/SharedUIDefaults.java: New file. - -2006-06-06 Robert Schuster - - * configure.ac: Added missing [ to expression. - -2006-06-06 Robert Schuster - - * configure.ac: Added missing { to expression. - -2006-06-06 Robert Schuster - - * include/gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.h: Regenerated. - * include/gnu_java_awt_peer_gtk_GdkScreenGraphicsDevice.h: New file. - * include/Makefile.am: Added - gnu_java_awt_peer_gtk_GdkScreenGraphicsDevice. - * gnu/java/awt/peer/gtk/GdkGraphicsConfiguration.java: - (GdkGraphicsConfiguration): Rewritten. - (getColorModel): Rewritten. - (getColorModel(int)): Rewritten. - (getBounds): Rewritten. - (createCompatibleVolatileImage): Implemented. - * gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java: Added static - initializer. - (getDefaultScreenDevice): Rewritten. - (nativeGetDefaultScreenDevice): New method. - (getScreenDevices): Rewritten. - (nativeGetScreenDevices): New method. - (nativeInitState): New method. - * gnu/java/awt/peer/gtk/GdkScreenGraphicsDevice.java: Entirely - rewritten. - (X11DisplayMode): New inner class. - * native/jni/gtk-peer/Makefile.am: Added gdkdisplay.h and - gnu_java_awt_peer_gtk_GdkScreenGraphicsDevice.c - * native/jni/gtk-peer/gdkdisplay.h: New file. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.c: - (Java_gnu_java_awt_peer_gtk_GdkGraphicsEnvironment_initStaticState): - New function. - (Java_gnu_java_awt_peer_gtk_GdkGraphicsEnvironment_nativeInitState): - New function. - (Java_gnu_java_awt_peer_gtk_GdkGraphicsEnvironment - _nativeGetScreenDevices): - New function. - (Java_gnu_java_awt_peer_gtk_GdkGraphicsEnvironment - _nativeGetDefaultScreenDevice): - New function. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkScreenGraphicsDevice.c: - New file. - * configure.ac: Added check for Xrandr library. - -2006-06-06 Roman Kennke - - * javax/swing/plaf/basic/BasicTableUI.java - (getMaximumSize): Don't return null. Fixed calculation of - table height. - (getMinimumSize): Don't return null. Fixed calculation of - table height. - (getPreferredSize): Fixed calculation of with and height. Added - API docs. - (getHeight): New helper method. - -2006-06-06 David Gilbert - - * javax/swing/JComponent.java - (getInputMap(int)): Throw IllegalArgumentException for unknown - condition argument, and added API docs, - (getInputMap()): Added API docs. - -2006-06-06 Robert Schuster - - * java/awt/BufferedImage.java: Added fourth 8 to bits4 field. - -2006-06-06 David Gilbert - - * javax/swing/JTable.java - (AccessibleJTableHeaderCell.header): New field, - (AccessibleJTableHeaderCell.columnIndex): Likewise, - (AccessibleJTableHeaderCell.AccessibleJTableHeaderCell()): Initialise, - (AccessibleJTableHeaderCell.getColumnHeaderRenderer): New method, - (AccessibleJTableHeaderCell.getAccessibleContext): Implemented, - (AccessibleJTableHeaderCell.getAccessibleRole): Implemented, - (AccessibleJTable.getAccessibleChild(int)): Overridden, - (AccessibleJTable.getAccessibleAt): Reimplemented. - -2006-06-05 Sven de Marothy - - * include/gnu_java_awt_peer_gtk_ComponentGraphics.h - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c - * gnu/java/awt/peer/gtk/ComponentGraphics.java - (initFromVolatile): New method. - * gnu/java/awt/peer/gtk/GtkVolatileImage.java - * gnu/java/awt/peer/gtk/VolatileImageGraphics.java - Reimplement. - * include/gnu_java_awt_peer_gtk_GtkVolatileImage.h - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkVolatileImage.c - (copyArea, drawVolatileImage): New methods. - -2006-06-05 Tania Bento - - * javax/swing/JFrame.java - (frameInit): Set background color and fixed layout parameters. - -2006-06-05 Tom Tromey - - * NEWS: Mention VMURLConnection. - -2006-06-05 Lillian Angel - - * native/plugin/gcjwebplugin.cc: - Added new field to keep track of initialization. - (plugin_start_appletviewer): Fixed to return an error value, if - an error was encountered when loading the appletviewer. - (GCJ_NEW): Added call to plugin_failed if the loading of the appletviewer - has failed. - (plugin_failed): New helper function. Shows a warning if the appletviewer - has not been installed. - (NP_Initialize): Added code to make sure this function is only called - once. - -2006-06-05 Lillian Angel - - * native/plugin/Makefile.am: - Fixed to use a set plugin directory in the .mozilla directory. - All applet logs are now stored here, instead of /tmp. - * native/plugin/gcjwebplugin.cc: - Added new fields for security warning. - (GCJ_NEW): Added code to generate a security warning for all pages - that spawn an appletviewer. This warning asks the user if they trust - the applet and if they would like to add it to a 'whitelist'. This - whitelist keeps track of all the addresses the user would like - to trust indefinitely. - (plugin_user_trusts_documentbase): New helper function. - (plugin_add_documentbase_to_whitelist): New helper function. - (plugin_ask_user_about_documentbase): New helper function. - (plugin_in_pipe_callback): Fixed check to determine if channel_error - has been set. - (plugin_start_appletviewer): Likewise. - (plugin_create_applet_tag): Reset all fields to null after they have been - freed. - (plugin_send_message_to_appletviewer): Fixed all error checks to determine - if channel_error has been set. - (plugin_stop_appletviewer): Likewise. - (NP_Initialize): Likewise. Also, added code to determine if directory and file - should be created. - -2006-06-05 Francis Kung - - PR 27507 - * gnu/java/awt/peer/gtk/GtkImage.java - (getSource): Added check to determine if in - errorLoading state. - * gnu/java/awt/peer/gtk/GtkToolkit.java - (createImage): Added check to prevent NPE. - -2006-06-05 Audrius Meskauskas - - * javax/swing/text/html/HTMLEditorKit.java (HTMLFactory.create): - Create the ImageView, when applicable. - * gnu/javax/swing/text/html/CombinedAttributes.java, - javax/swing/text/html/ImageView.java: New files. - -2006-06-05 Roman Kennke - - PR 27834 - * javax/swing/text/GapContent.java - (setPositionsInRange): Compare with startIndex and endIndex - rather than start and end. - (dumpMarks): Only dump real marks. - -2006-06-05 Sven de Marothy - - * gnu/java/awt/peer/gtk/ComponentGraphics.java - (ComponentGraphics): Use 0,0 as clip origin. - -2006-06-04 Andrew John Hughes - - * java/util/Formattable.java, - * java/util/FormattableFlags.java, - * java/util/Formatter.java: - Documented. - -2006-06-04 Tom Tromey - - * javax/naming/Context.java (list): Genericized. - (listBindings): Likewise. - * javax/naming/Reference.java (addrs): Genericized. - * javax/naming/InitialContext.java (myProps): Fixed type. - (init): Genericized. - -2006-06-04 Andrew John Hughes - - * java/util/DuplicateFormatFlagsException.java, - * java/util/FormatFlagsConversionMismatchException.java, - * java/util/FormatterClosedException.java, - * java/util/IllegalFormatCodePointException.java, - * java/util/IllegalFormatConversionException.java, - * java/util/IllegalFormatException.java, - * java/util/IllegalFormatFlagsException.java, - * java/util/IllegalFormatPrecisionException.java, - * java/util/IllegalFormatWidthException.java, - * java/util/MissingFormatArgumentException.java, - * java/util/MissingFormatWidthException.java, - * java/util/UnknownFormatConversionException.java, - * java/util/UnknownFormatFlagsException.java: - Documented. - -2006-06-04 Andrew John Hughes - - * java/lang/System.java: - (getenv()): Handle cases where split only - returns an array of size 1. - -2006-06-04 Sven de Marothy - - * gnu/java/awt/peer/gtk/GtkComponentPeer.java - (createVolatileImage): Pass peer to VolatileImage constructor. - * java/awt/Component.java - (createVolatileImage): Call peer method directly. - -2006-06-04 Sven de Marothy - - * gnu/java/awt/peer/gtk/CairoSurface.java - (getFlippedBuffer): New method. - (getGtkImage): Renamed method. - * gnu/java/awt/peer/gtk/ComponentGraphicsCopy.java - * gnu/java/awt/peer/gtk/GtkVolatileImage.java - Renamed getSharedImage to getGtkImage. - * include/gnu_java_awt_peer_gtk_CairoSurface.h - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c - (getFlippedBuffer): New method - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c - Avoid window casts. -2006-06-04 Andrew John Hughes - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c: - (drawVolatile): Add casts. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkTextLayout.c: - (getOutline): Add casts. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkVolatileImage.c: - Comment out unused prototype. - (getPixels): Add appropriate cast and comment out unused variable. - -2006-06-04 Raif S. Naffah - - * gnu/javax/crypto/sasl/SaslUtil.java: Remove unused import. - * gnu/javax/crypto/sasl/srp/SRPRegistry.java (PASSWORD_DB): Fix javadoc @link. - * gnu/javax/crypto/sasl/srp/PasswordFile.java: Removed unused import. - * gnu/javax/crypto/prng/CSPRNG.java (FILE_SOURCES): Fix javadoc @see. - (getSystemInstance): Fix javadoc @link. - (counter): Increased visibility. - * gnu/javax/crypto/pad/TLS1.java: Remove unused import. - * gnu/javax/crypto/pad/IPad.java: Fix javadoc @link. - * gnu/javax/crypto/pad/PKCS1_V1_5.java (PKCS1_V1_5): Likewise. - * gnu/javax/crypto/pad/PKCS7.java (PKCS7): Likewise. - * gnu/javax/crypto/pad/TBC.java (TBC): Likewise. - * gnu/javax/crypto/mode/CTR.java: Remove unused import. - * gnu/javax/crypto/mode/BaseMode.java (defaultBlockSize): Fix javadoc @see. - * gnu/javax/crypto/key/dh/GnuDHPrivateKey.java (getEncoded): Fix javadoc @see. - * gnu/javax/crypto/jce/spec/TMMHParameterSpec.java: Fix javadoc @link. - * gnu/javax/crypto/keyring/AuthenticatedEntry.java: Remove unused imports. - * gnu/javax/crypto/keyring/CertificateEntry.java: Likewise. - * gnu/javax/crypto/keyring/CertPathEntry.java: Likewise. - * gnu/javax/crypto/keyring/EncryptedEntry.java: Likewise. - * gnu/javax/crypto/keyring/PublicKeyEntry.java: Likewise. - * gnu/javax/crypto/mac/OMAC.java: Likewise. - * gnu/javax/crypto/jce/key/AnubisSecretKeyFactoryImpl.java: Likewise. - * gnu/javax/crypto/jce/key/BlowfishSecretKeyFactoryImpl.java: Likewise. - * gnu/javax/crypto/jce/key/Cast5SecretKeyFactoryImpl.java: Likewise. - * gnu/javax/crypto/jce/key/KhazadSecretKeyFactoryImpl.java: Likewise. - * gnu/javax/crypto/jce/key/RijndaelSecretKeyFactoryImpl.java: Likewise. - * gnu/javax/crypto/jce/key/SerpentSecretKeyFactoryImpl.java: Likewise. - * gnu/javax/crypto/jce/key/SquareSecretKeyFactoryImpl.java: Likewise. - * gnu/javax/crypto/jce/key/TwofishSecretKeyFactoryImpl.java: Likewise. - * gnu/javax/crypto/jce/mac/OMacImpl.java: Likewise. - * gnu/javax/crypto/jce/prng/CSPRNGSpi.java: Likewise. - * gnu/javax/crypto/cipher/IBlockCipherSpi.java: Fix javadoc @link. - * gnu/javax/crypto/jce/cipher/CipherAdapter.java (CipherAdapter): Likewise. - * gnu/javax/crypto/cipher/BaseCipher.java: Remove unused import. - * gnu/javax/crypto/assembly/Cascade.java: Fix javadoc @link. - * gnu/javax/crypto/assembly/Direction.java: Likewise. - * gnu/javax/crypto/assembly/Transformer.java: Likewise. - -2006-06-04 Raif S. Naffah - - * gnu/java/security/PolicyFile.java: Updated copyright year. - (logger): Increased visibility. - * gnu/java/security/x509/Util.java: Updated copyright year. - (hexDump): Fix javadoc @link. - * gnu/java/security/x509/ext/GeneralNames.java: Updated copyright year. - Removed unused import. - * gnu/java/security/sig/rsa/RSAPSSSignatureRawCodec.java: Fix javadoc @link. - * gnu/java/security/sig/ISignature.java (SOURCE_OF_RANDOMNESS): Likewise. - * gnu/java/security/util/ExpirableObject.java: Likewise. - (destroy): Likewise. - * gnu/java/security/util/SimpleList.java (SimpleList): Likewise. - * gnu/java/security/provider/PKIXCertPathValidatorImpl.java: - Updated copyright year. - (checkCRL): Fix javadoc @param. - -2006-06-03 Andrew John Hughes - - * java/lang/annotation/IncompleteAnnotationException.java: - Documented. - -2006-06-03 Andrew John Hughes - - * java/lang/ProcessBuilder.java: - Documented. - (environment): Create as a copy. - * java/lang/System.java: - (EnvironmentMap.EnvironmentMap(Map)): - New constructor. - (EnvironmentMap.put(String,String)): Override superclass - method with checks for nulls and non-Strings. - -2006-06-02 Sven de Marothy - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (cairoPreserveClip, cairoResetClip): New methods. - (setClip, clip): Reimplement. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c - * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h - (cairoPreserveClip, cairoResetClip): New methods. - -2006-06-02 Sven de Marothy - - * gnu/java/awt/peer/gtk/VolatileImageGraphics.java - * include/gnu_java_awt_peer_gtk_GtkVolatileImage.h - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkVolatileImage.c - New files. - * gnu/java/awt/peer/gtk/ComponentGraphics.java - (drawImage): Overloads for VolatileImage drawing. - (drawVolatile): New method. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c - * include/gnu_java_awt_peer_gtk_ComponentGraphics.h - (drawVolatile): New method. - * gnu/java/awt/peer/gtk/GtkVolatileImage.java - Unstub implementation. - * include/Makefile.am - * native/jni/gtk-peer/Makefile.am - Add new files. - * native/jni/gtk-peer/gtkpeer.h - New prototype. - -2006-06-03 Roman Kennke - - PR 27418 - * javax/swing/plaf/basic/BasicTextUI.java - (damageRange): Added null check to avoid NPE. - -2006-06-03 Roman Kennke - - * javax/swing/text/PlainView.java - (updateDamage): Check for valid longestLine and initialize if - necessary. - -2006-06-03 Mark Wielaard - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c: Use C - comments, not C++. - -2006-06-02 Sven de Marothy - - PR 27879 - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (copyArea): Implement. - (copyAreaImpl, getRealBounds): New methods. - * gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java - * gnu/java/awt/peer/gtk/ComponentGraphics.java - * gnu/java/awt/peer/gtk/BufferedImageGraphics.java - (copyAreaImpl, getRealBounds): Implement. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c - (nativeCopyArea): Reimplement. - -2006-06-02 Andreas Tobler - - * configure.ac: Add -lX11 and -lXtst to XTEST_LIBS. - (XTEST_LIBS): New, substitute. - * native/jni/gtk-peer/Makefile.am (AM_LDFLAGS): Add XTEST_LIBS. - -2006-06-02 Roman Kennke - - PR 26738 - * javax/swing/text/PlainView.java - (updateDamage): Rewritten for correct repainting and revalidating. - (findLongestLine): New helper method. - (getLineLength): New helper method. - -2006-06-02 Sven de Marothy - - * gnu/java/awt/peer/gtk/BufferedImageGraphics.java - * gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c - (nativeCopyArea): Change stride parameter to use # of ints. - (setPixels): Add checks. - * gnu/java/awt/peer/gtk/ComponentGraphics.java - (ComponentGraphics): Set background, clip. - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (Cairographics2D): Don't set clip. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c - Add flush. - -2006-06-02 Lillian Angel - - PR 24458 - * java/awt/DefaultKeyboardFocusManager.java - (dispatchEvent): Fixed to getFocusOwner, if that fails it tries - to get the focused window. - -2006-06-01 Miriam Schuster - - * Makefile.am: Add fallback if "mozilla-plugin" is not available. - Fallbacks used: "firefox-plugin" and "xulrunner-plugin". - -2006-06-02 Roman Kennke - - * javax/swing/JTable.java - (columnSelectionChanged): Don't return when there's only one - column (might still need repainting). Correctly calculate - repaint rectangle. - (valueChanged): Use return value of SwingUtilities.computeUnion - as dirty region. - -2006-06-01 Keith Seitz - - From Martin Platter : - * gnu/classpath/jdwp/processor/EventRequestCommandSet.java - (executeSet): Fix buffer underflow reading reference ID. - * gnu/classpath/jdwp/processor/ThreadGroupReferenceCommandSet.java - (executeParent): Fix NPE if ThreadGroup is top-level ThreadGroup. - * gnu/classpath/jdwp/processor/ClassTypeCommandSet.java - (executeSuperclass): Handle case of Object with ID zero. - -2006-06-02 Raif S. Naffah - - * tools/gnu/classpath/tools/keytool/StorePasswdCmd.java: Fixed typo. - * tools/gnu/classpath/tools/keytool/CertReqCmd.java: Likewise. - * tools/gnu/classpath/tools/keytool/DeleteCmd.java: Likewise. - * tools/gnu/classpath/tools/keytool/ExportCmd.java: Likewise. - * tools/gnu/classpath/tools/keytool/GenKeyCmd.java: Likewise. - * tools/gnu/classpath/tools/keytool/IdentityDBCmd.java: Likewise. - * tools/gnu/classpath/tools/keytool/ImportCmd.java: Likewise. - * tools/gnu/classpath/tools/keytool/KeyCloneCmd.java: Likewise. - * tools/gnu/classpath/tools/keytool/KeyPasswdCmd.java: Likewise. - * tools/gnu/classpath/tools/keytool/ListCmd.java: Likewise. - * tools/gnu/classpath/tools/keytool/SelfCertCmd.java: Likewise. - -2006-06-02 Raif S. Naffah - - * tools/gnu/classpath/tools/keytool/Command.java (shutdownThread): New field. - (Command): Add the shutdown hook. - (doCommand): Remove the shutdown hook. - (ShutdownHook): New class. - -2006-06-02 Raif S. Naffah - - * tools/jarsigner.in: Use @VM_BINARY@. - * tools/keytool.in: Likewise. - -2006-06-01 Sven de Marothy - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java: - (setColor): Update the cairo paint. - -2006-06-01 Mark Wielaard - - * java/util/logging/LogManager.java (createInstance): Always add - original exception on warning. - -2006-06-01 Lillian Angel - - * tools/gnu/classpath/tools/appletviewer/AppletTag.java - (prependCodebase): Fixed check. No dirname was ever considered to - be a file, so every applet fell into the if-statement causing a lot - of classloading problems with the applets. - -2006-06-01 Sven de Marothy - - Patch submitted by Boris Dusek. - * native/jni/qt-peer/qtmenupeer.cpp - Fix segfault - -2006-06-01 Roman Kennke - - * javax/swing/JTable.java - (AccessibleJTableCell.getAccessibleRow): Added comment explaining - why the behaviour is like it is. - (AccessibleJTableCell.getAccessibleStateSet): Implemented. - (AccessibleJTableHeader): New inner class. - (AccessibleJTableHeaderCell): New inner class. - (AccessibleJTable.lastSelectedRow): New field. - (AccessibleJTable.lastSelectedColumn): New field. - (AccessibleJTable.caption): New field. - (AccessibleJTable.summary): New field. - (AccessibleJTable.rowDescriptions): New field. - (AccessibleJTable.columnDescriptions): New field. - (AccessibleJTable): Initialize lastSelectedRow and lastSelectedColumn. - (AccessibleJTable.getAccessibleSelection(int)): Implemented. - (AccessibleJTable.isAccessibleChildSelected): Implemented. - (AccessibleJTable.addAccessibleSelection): Implemented. - (AccessibleJTable.removeAccessibleSelection): Implemented. - (AccessibleJTable.clearAccessibleSelection): Implemented. - (AccessibleJTable.selectAllAccessibleSelection): Implemented. - (AccessibleJTable.valueChange): Implemented. - (AccessibleJTable.tableRowsInserted): Implemented. - (AccessibleJTable.tableRowsDeleted): Implemented. - (AccessibleJTable.handleRowChange): New helper method. - (AccessibleJTable.columnAdded): Implemented. - (AccessibleJTable.columnMarginChanged): Implemented. - (AccessibleJTable.columnMoved): Implemented. - (AccessibleJTable.columnRemoved): Implemented. - (AccessibleJTable.columnSelectionChanged): Implemented. - (AccessibleJTable.handleColumnChange): New helper method. - (AccessibleJTable.editingCanceled): Implemented. - (AccessibleJTable.editingStopped): Implemented. - (AccessibleJTable.getAccessibleRow): Implemented. - (AccessibleJTable.getAccessibleColumn): Implemented. - (AccessibleJTable.getAccessibleIndex): Implemented. - (AccessibleJTable.getAccessibleCaption): Implemented. - (AccessibleJTable.setAccessibleCaption): Implemented. - (AccessibleJTable.getAccessibleSummary): Implemented. - (AccessibleJTable.setAccessibleSummary): Implemented. - (AccessibleJTable.getAccessibleRowCount): Implemented. - (AccessibleJTable.getAccessibleColumnCount): Implemented. - (AccessibleJTable.getAccessibleAt): Implemented. - (AccessibleJTable.getAccessibleRowExtentAt): Implemented. - (AccessibleJTable.getAccessibleColumnExtentAt): Implemented. - (AccessibleJTable.getAccessibleRowHeader): Implemented. - (AccessibleJTable.setAccessibleRowHeader): Implemented. - (AccessibleJTable.getAccessibleColumnHeader): Implemented. - (AccessibleJTable.setAccessibleColumnHeader): Implemented. - (AccessibleJTable.getAccessibleRowDescription): Implemented. - (AccessibleJTable.setAccessibleRowDescription): Implemented. - (AccessibleJTable.getAccessibleColumnDescription): Implemented. - (AccessibleJTable.setAccessibleColumnDescription): Implemented. - (AccessibleJTable.isAccessibleSelected): Implemented. - (AccessibleJTable.isAccessibleRowSelected): Implemented. - (AccessibleJTable.isAccessibleColumnSelected): Implemented. - (AccessibleJTable.getSelectedAccessibleRows): Implemented. - (AccessibleJTable.getSelectedAccessibleColumns): Implemented. - (getAccessibleContext): Register listeners for the accessibility - class on the JTable. - -2006-06-01 Sven de Marothy - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java: - (setPaint): Scale +1 pixel larger. - -2006-06-01 Sven de Marothy - - PR 27854 - * gnu/java/awt/Buffers.java (getData): Reimplement. - * gnu/java/awt/peer/gtk/CairoSurface.java - (getElem, setElem): Call native methods. - -2006-06-01 Audrius Meskauskas - - * gnu/javax/swing/text/html/ImageViewIconFactory.java: New file. - -2006-06-01 Sven de Marothy - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (drawImage): Check for zero size. - * gnu/java/awt/peer/gtk/GdkTextLayout.java: - (setFont): Declare new native method. - (GdkTextLayout): Read some attributes. - * include/gnu_java_awt_peer_gtk_GdkTextLayout.h - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkTextLayout.c - (setFont): New native method. - -2006-06-01 Sven de Marothy - - * gnu/java/awt/peer/gtk/BufferedImageGraphics.java - (updateBufferedImage): Fix some errors. - -2006-06-01 David Gilbert - - * javax/swing/plaf/basic/BasicButtonUI.java: Minor source code style - fixes, - * javax/swing/plaf/basic/BasicDirectoryModel.java: Likewise, - * javax/swing/plaf/basic/BasicFileChooserUI.java: Likewise, - * javax/swing/plaf/basic/BasicIconFactory.java: Likewise, - * javax/swing/plaf/basic/BasicListUI.java: Likewise, - * javax/swing/plaf/basic/BasicOptionPaneUI.java: Likewise, - * javax/swing/plaf/basic/BasicRootPaneUI.java: Likewise, - * javax/swing/plaf/basic/BasicScrollPaneUI.java: Likewise, - * javax/swing/plaf/basic/BasicSpinnerUI.java: Likewise, - * javax/swing/plaf/basic/BasicTabbedPaneUI.java: Likewise, - * javax/swing/plaf/basic/BasicTextAreaUI.java: Likewise. - -2006-06-01 David Gilbert - - * javax/swing/JComboBox.java: Minor source code formatting fixes, - * javax/swing/JEditorPane.java: Likewise, - * javax/swing/JFormattedTextField.java: Likewise, - * javax/swing/JLayeredPane.java: Likewise, - * javax/swing/JScrollPane.java: Likewise, - * javax/swing/JSlider.java: Likewise, - * javax/swing/JSpinner.java: Likewise, - * javax/swing/JTree.java: Likewise, - * javax/swing/JViewport.java: Likewise, - * javax/swing/UIDefaults.java: Likewise, - * javax/swing/UIManager.java: Likewise. - -2006-06-01 Sven de Marothy - - * gnu/java/awt/peer/gtk/BufferedImageGraphics.java - (BufferedImageGraphics): Cache surfaces. - (updateBufferedImage): Copy directly for certain color models. - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (drawImage): Reimplement. - -2006-06-01 Sven de Marothy - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c - (setPixels): Don't swap, correct size. - -2006-05-31 Anthony Green - - PR 27828 - * java/net/InetSocketAddress.java: Defer getting the host - name until somebody calls InetSocketAddress.getHostName(). - Fix "represenation" typo. - -2006-06-01 Sven de Marothy - - * gnu/java/awt/peer/gtk/BufferedImageGraphics.java - (updateBufferedImage): Simplify. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c - (getPixels): Don't swap. - -2006-06-01 Sven de Marothy - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c - (setGradient): Reimplement. - -2006-06-01 Andreas Tobler - - * native/jni/gtk-peer/cairographics2d.h: Rename/prefix function - CairoGraphics2D_getCairoT to cp_gtk_get_cairo_t correctly. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c - (Java_gnu_java_awt_peer_gtk_CairoSurface_drawSurface): Rename function - CairoGraphics2D_getCairoT to cp_gtk_get_cairo_t. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkTextLayout.c - (Java_gnu_java_awt_peer_gtk_GdkTextLayout_cairoDrawGdkTextLayout): - Likewise. - -2006-05-31 David Gilbert - - * javax/swing/table/JTableHeader.java - (getColumnHeaderRenderer): New method, - (getAccessibleColumnHeaderRenderer): Delegate part to new - getColumnHeaderRenderer() method, - (getLocale): Implemented. - -2006-05-31 Andreas Tobler - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c - (cp_gtk_grab_current_drawable): Rename - cp_java_awt_peer_gtk_ComponentGraphics_grab_current_drawable to - cp_gtk_grab_current_drawable, remove static declaration. - (Java_gnu_java_awt_peer_gtk_ComponentGraphics_initState): Renamed above - function. - (Java_gnu_java_awt_peer_gtk_ComponentGraphics_copyAreaNative): Likewise. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphicsCopy.c: - Remove prototype of - cp_java_awt_peer_gtk_ComponentGraphics_grab_current_drawable. - (Java_gnu_java_awt_peer_gtk_ComponentGraphicsCopy_getPixbuf): Rename - function. - (Java_gnu_java_awt_peer_gtk_ComponentGraphicsCopy_copyPixbuf): Likewise. - * native/jni/gtk-peer/gtkpeer.h: Add prototype for - cp_gtk_grab_current_drawable here. - -2006-05-31 Sven de Marothy - - Should fix PR 27835 - * gnu/java/awt/peer/gtk/BufferedImageGraphics.java - (updateBufferedImage): Keep within image bounds. - -2006-05-31 Thomas Fitzsimmons - Andreas Tobler - - * configure.ac: Check for libXrender when the GTK peers are - enabled, and set HAVE_XRENDER accordingly. Add -lXrender to - X_EXTRA_LIBS. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c - (Java_gnu_java_awt_peer_gtk_ComponentGraphics_hasXRender) - [HAVE_XRENDER]: Call XRenderQueryExtension conditionally. - -2006-05-31 Lillian Angel - - * javax/swing/plaf/basic/BasicProgressBarUI.java - (paintString): Implemented to paint the string vertically. - -2006-05-31 David Gilbert - - * javax/swing/JTable.java - (AccessibleJTable.AccessibleJTable()): Check for null editor, - (AccessibleJTable.getAccessibleRole()): Overridden to return correct - value, - (AccessibleJTable.getAccessibleTable()): Likewise, - (getAccessibleContext): Create new context if required. - -2006-05-31 Roman Kennke - - * javax/swing/JTabbedPane.java - (AccessibleJTabbedPane.stateChanged): Implemented. - (Page.getAccessibleStateSet): Implemented. - (Page.getAccessibleIndexInParent): Implemented. - (getAccessibleContext): Add AccessibleJTabbedPane object - as ChangeListener to the JTabbedPane. - -2006-05-31 Roman Kennke - - * javax/swing/JMenuItem.java - (getAccessibleContext): Register accessible object as ChangeListener - to the JMenuItem. - (AccessibleJMenuItem.armed): New field. - (AccessibleJMenuItem.focusOwner): New field. - (AccessibleJMenuItem.pressed): New field. - (AccessibleJMenuItem.selected): New field. - (stateChanged): Implemented. - -2006-05-31 David Gilbert - - * javax/swing/ListSelectionModel.java: Added API docs all over. - -2006-05-31 Audrius Meskauskas - - * examples/gnu/classpath/examples/swing/FillRect.java - (paintComponent): Optionally paint lines rather than rectangles. - (createContent): Added option to test line painting. - -2006-05-31 David Gilbert - - * javax/swing/event/EventListenerList.java - (getListenerList): Updated API docs. - -2006-05-30 Sven de Marothy - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (drawImage): Clip scaled image to dest rectangle. - -2006-05-30 Sven de Marothy - - * gnu/java/awt/peer/gtk/CairoSurface.java: - (CairoSurface): Convert pixels properly. - * gnu/java/awt/peer/gtk/ComponentGraphics.java - Remove commented-out lines. - -2006-05-30 Sven de Marothy - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (drawImage): Use Toolkit to convert to BufferedImage. - * gnu/java/awt/peer/gtk/CairoSurface.java - (CairoSurface(GtkImage)): New Constructor. - (getBufferedImage): New method. - * gnu/java/awt/peer/gtk/ComponentGraphics.java - Don't fill background - FIXME. - * gnu/java/awt/peer/gtk/GdkPixbufDecoder.java: - Remove unused methods. - * gnu/java/awt/peer/gtk/GtkImage.java: - (pixbuflock): New field. Methods change to use this lock. - * gnu/java/awt/peer/gtk/GtkToolkit.java - (createImage): Use Cairo-backed surfaces via GtkImage instead of - GtkPixbufDecoder. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c - (setPixels): Correct length in bytes. - -2006-05-30 Thomas Fitzsimmons - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java (static): Call - System.loadLibrary unconditionally. - * gnu/java/awt/peer/gtk/GdkFontPeer.java: Likewise. - * gnu/java/awt/peer/gtk/GdkPixbufDecoder.java: Likewise. - * gnu/java/awt/peer/gtk/GdkTextLayout.java: Likewise. - * gnu/java/awt/peer/gtk/GtkToolkit.java: Likewise. - -2006-05-30 Mark Wielaard - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c - (Java_gnu_java_awt_peer_gtk_ComponentGraphics_copyAreaNative): - Mark unused parameters, remove unused variables. - -2006-05-30 Sven de Marothy - - * gnu/java/awt/peer/gtk/ComponentGraphics.java - (copyArea): Implemented. - * include/gnu_java_awt_peer_gtk_ComponentGraphics.h - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c: - (copyAreaNative): New method. - -2006-05-30 Andreas Tobler - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c - (Java_gnu_java_awt_peer_gtk_CairoSurface_getPixels): Define i only - for non big endian systems. - (Java_gnu_java_awt_peer_gtk_CairoSurface_setPixels): Likewise. - -2006-05-30 Roman Kennke - - * gnu/java/awt/java2d/TexturePaintContext.java: New file. - * java/awt/TexturePaint.java - (createContext): Implemented. - -2006-05-30 Robert Schuster - - * javax/swing/table/DefaultTableMode.java: Initialize dataVector - field early. - -2006-05-30 Robert Schuster - - * java/awt/Container.java: - (removeAll): Reimplemented, added note. - -2006-05-30 Robert Schuster - - * java/awt/Container.java: - (removeAll): Implemented different removal mechanism, added note. - -2006-05-30 Lillian Angel - - PR 27785 - * java/awt/Component.java: - (translateEvent): Added handling to translate WindowEvents - * java/awt/Window.java: - Removed unneeded imports. - -2006-05-30 Mark Wielaard - - * native/jni/gtk-peer/Makefile.am (libgtkpeer_la_SOURCES): Add - cairographics2d.h. - -2006-05-30 Thomas Fitzsimmons - - * gnu/java/awt/peer/gtk/GtkImage.java: Fix constructor javadoc. - -2006-05-29 Audrius Meskauskas - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (clearRect): Do not reuse the fg field, call updateColor. - (drawRaster): Likewise. - (setColor): Call updateColor. - (updateColor): New method. - -2006-05-30 Mark Wielaard - - * native/jni/classpath/jcl.h (JLONG_TO_PTR): New macro. - (PTR_TO_JLONG): Likewise. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c - (getPointer): Use new conversion macros. - (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_init): Likewise. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c - (Java_gnu_java_awt_peer_gtk_CairoSurface_newCairoContext): - Likewise. - (setNativeObject): Likewise. - (getNativeObject): Likewise. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c - (cp_java_awt_peer_gtk_ComponentGraphics_grab_current_drawable): - Mark static. - (Java_gnu_java_awt_peer_gtk_ComponentGraphics_initState): - Correctly cast XID and pointer values. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphicsCopy.c - (Java_gnu_java_awt_peer_gtk_ComponentGraphicsCopy_getPixbuf): - Mark unused variables. - (Java_gnu_java_awt_peer_gtk_ComponentGraphicsCopy_copyPixbuf): - Likewise. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkTextLayout.c - (Java_gnu_java_awt_peer_gtk_GdkTextLayout_cairoDrawGdkTextLayout): - Remove unused cairographics2d struct. - (_moveTo, _lineTo, _quadTo, _curveTo): Mark arguments const. - (Java_gnu_java_awt_peer_gtk_GtkImage_initFromBuffer): - Use new conversion macros. - * native/jni/midi-dssi/dssi_data.h: Move conversion macros to jcl.h. - -2006-05-30 Mark Wielaard - - * include/Makefile.am (gnu_java_nio_VMChannel.h): Added. - -2006-05-29 Audrius Meskauskas - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (copy): Do not reuse the fd field. - (setColor): Do not set the color if the parameter - matches fd field. - (translate(double, double): Rewritten to use - AffineTransform.translate. - -2006-05-30 Sven de Marothy - - * gnu/java/awt/peer/gtk/ComponentGraphicsCopy.java - * include/gnu_java_awt_peer_gtk_ComponentGraphicsCopy.h - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphicsCopy.c - New files. - * include/Makefile.am - * native/jni/gtk-peer/Makefile.am - Add new files. - * gnu/java/awt/peer/gtk/CairoSurface.java - (getSharedGtkImage): New method. - * gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c - Fix copyArea. - * gnu/java/awt/peer/gtk/ComponentGraphics.java - Support a non-xrender context. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c - Plug memory leak. - * gnu/java/awt/peer/gtk/GtkImage.java - * include/gnu_java_awt_peer_gtk_GtkImage.h - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c - (initFromBuffer): New method. - * native/jni/gtk-peer/gtkpeer.h: - Remove declarations of previouslyremoved methods. - -2006-05-29 Thomas Fitzsimmons - - * tools/Makefile.am [FOUND_CACAO] (LIBJVM): Define to -ljvm. - -2006-05-29 Mark Wielaard - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c - (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_init): Mark unused - arguments. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c - (Java_gnu_java_awt_peer_gtk_CairoSurface_setPixels): Declare size - early. Remove unused return statement in void function. - (Java_gnu_java_awt_peer_gtk_CairoSurface_newCairoContext): Declare - ptr early. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c - (Java_gnu_java_awt_peer_gtk_ComponentGraphics_hasXRender): Mark - unused arguments. - (Java_gnu_java_awt_peer_gtk_ComponentGraphics_initState): Likewise. - (Java_gnu_java_awt_peer_gtk_ComponentGraphics_start_1gdk_1drawing): - Likewise. - (Java_gnu_java_awt_peer_gtk_ComponentGraphics_end_1gdk_1drawing): - Likewise. - -2006-05-29 Sven de Marothy - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c - (setPixels): Remove superfluous return statement. - -2006-05-29 Sven de Marothy - - * gnu/java/awt/peer/gtk/BufferedImageGraphics.java - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - * gnu/java/awt/peer/gtk/CairoSurface.java - * gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java - * gnu/java/awt/peer/gtk/ComponentGraphics.java - * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h - * include/gnu_java_awt_peer_gtk_CairoSurface.h - * include/gnu_java_awt_peer_gtk_ComponentGraphics.h - * native/jni/gtk-peer/cairographics2d.h - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c - New files. - - * gnu/java/awt/peer/gtk/GdkGraphics2D.java - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c - * include/gnu_java_awt_peer_gtk_GdkGraphics2D.h - Removed - - * include/gnu_java_awt_peer_gtk_GdkFontPeer.h - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c - * gnu/java/awt/peer/gtk/GdkFontPeer.java - (releasePeerGraphicsResource): Moved to Font peer class. - - * gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java - (createGraphics): Use new context classes. - - * gnu/java/awt/peer/gtk/GdkPixbufDecoder.java: - Use native BufferedImages where possible. - - * gnu/java/awt/peer/gtk/GdkTextLayout.java - * include/gnu_java_awt_peer_gtk_GdkTextLayout.h - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkTextLayout.c - Move GdkGraphics2D.drawGdkTextLayout to the GdkTextLayout class, - renamed to cairoDrawGdkTextLayout. - - * gnu/java/awt/peer/gtk/GtkComponentPeer.java - (getGraphics): Use ComponentGraphics context. - (createImage): Use native BufferedImage. - - * gnu/java/awt/peer/gtk/GtkImage.java: - * include/gnu_java_awt_peer_gtk_GtkImage.h - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c - Remove pixmap support. (GtkImage(int, int) constructor, getGraphics) - Remove drawing methods. - - * gnu/java/awt/print/JavaPrinterGraphics.java: - Use CairoSurface instead of GtkImage. - - * include/Makefile.am - * native/jni/gtk-peer/Makefile.am - Update for new files. - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkClipboard.c - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFramePeer.c - Remove superfluous GtkImage code for GdkPixmaps. - - * native/jni/gtk-peer/gtkpeer.h - Remove graphics2d structure. - -2006-05-29 Audrius Meskauskas - - * gnu/java/awt/peer/gtk/GdkGraphics2D.java (copying constructor): - Do not reuse fg in the constructor. - -2006-05-29 Carsten Neumann - - * java/io/ObjectStreamConstants.java: Added API docs. - -2006-05-29 Audrius Meskauskas - - * gnu/java/awt/peer/gtk/GdkGraphics2D.java (setColor): - Take no action if this color is already set. - -2006-05-29 Audrius Meskauskas - - * gnu/java/awt/peer/gtk/GdkGraphics2D.java (translate): - Rewritten. - * examples/gnu/classpath/examples/swing/FillRect.java (paintComponent): - Optionally paint with translation. (createContent): Added option - to test painting with translation - -2006-05-29 Raif S. Naffah - - * java/util/logging/FileHandler.java (FileHandler): Set the instance field - pattern to the default value when null. - Pass field pattern, and not parameter with same name to createFileStream. - -2006-05-28 Andrew John Hughes - - * gnu/java/lang/management/OperatingSystemMXBeanImpl.java: - New class implementing the OS bean. - * gnu/java/lang/management/package.html: - New file to document the gnu.java.lang.management package. - * java/lang/management/ManagementFactory.java: - New class to provide access to the OS bean. - * java/lang/management/OperatingSystemMXBean.java: - New interface. - * java/lang/management/package.html: - New file to document the java.lang.management package. - -2006-05-28 Raif S. Naffah - - * tools/gnu/classpath/tools/keytool/ImportCmd.java (GKR): New constant. - (JKS): Likewise. - (LIB): Likewise. - (SECURITY): Likewise. - (CACERTS): Likewise. - (CACERTS_GKR): Likewise. - (gkrCaCertsPathName): New field. - (jksCaCertsPathName): Likewise. - (selfSignedCertificate): Likewise. - (start): Initialize trusted certificate key stores if -trustcacerts is - specified. - (ensureReplyIsOurs): Initialize selfSignedCertificate. - (orderChain): Implemented. - (findTrustAndUpdate): Check a cacerts.gkr (GKR) and a cacert (JKS) trusted - certificate key stores if -trustcacerts option is specified. - (findTrustInCACerts): Removed. - (getCertPathParameters): New method. - (validate): New method. - * resource/gnu/classpath/tools/keytool/messages.properties: Added message. - -2006-05-28 Raif S. Naffah - - * java/util/logging/FileHandler.java (PROPERTY_PREFIX): New constant. - (PATTERN_KEY): Likewise. - (DEFAULT_PATTERN): Likewise. - (LIMIT_KEY): Likewise. - (DEFAULT_LIMIT): Likewise. - (COUNT_KEY): Likewise. - (DEFAULT_COUNT): Likewise. - (APPEND_KEY): Likewise. - (DEFAULT_APPEND): Likewise. - (FileHandler()): Use pattern value as set in logging.properties. - Use constants defined above. - (FileHandler(1)): Use constants defined above. - (FileHandler(2)): Likewise. - (FileHandler(3)): Likewise. - (FileHandler(4)): Likewise. - (createFileStream): Likewise. - -2006-05-28 Raif S. Naffah - - * java/util/logging/FileHandler.java: Reverted previous patch. - * java/util/logging/LogManager.java: Likewise. - -2006-05-28 Raif S. Naffah - - * java/util/logging/FileHandler.java (PATTERN_KEY): New constant. - (DEFAULT_PATTERN): Likewise. - (FileHandler()): Use configured pattern property if any; otherwise use a - default value as per RI documentation. - * java/util/logging/LogManager.java (getStringProperty): New method. - -2006-05-27 Thomas Fitzsimmons - - * NEWS: Announce libjawtgnu.so-to-libjawt.so rename. - -2006-05-27 Thomas Fitzsimmons - - * configure.ac (FOUND_CACAO): New automake conditional. - Add --enable-tool-wrappers. - * NEWS: Introduce the --enable-tool-wrappers option. - * tools/Makefile.am[CREATE_WRAPPERS]: Build wrapper binaries. - * tools/appletviewer.c: Remove file. Make tool-indepedent and - rename ... - * tools/toolwrapper.c: New file. - -2006-05-27 Dalibor Topic - - * java/awt/Graphics2D.java: Use full class name for - PrinterJob in javadoc. - -2006-05-27 Andreas Tobler - - * native/jni/qt-peer/eventmethods.h (callVoidMethod): Silence warning. - (callMouseMethod): Likewise. - -2006-05-26 Andrew John Hughes - - * native/jni/java-net/java_net_VMURLConnection.c: - Fix function declarations to specify unused parameters. - * scripts/check_jni_methods.sh: - Remove copies of the same function using uniq. - -2006-05-26 Andrew John Hughes - - * vm/reference/java/net/VMURLConnection.java: - Make package-private and final. - -2006-05-27 Audrius Meskauskas - - * examples/gnu/classpath/examples/swing/TableDemo.java - (TModed): Added editor for the icons column. - (createContent): Increase the row height by 2 px. - -2006-05-26 Tom Tromey - - PR classpath/27685: - * java/math/BigInteger.java (modPow): Correctly handle negative - exponent. - -2006-05-26 Tom Tromey - - * configure.ac: Check for magic.h and -lmagic. - * vm/reference/java/net/VMURLConnection.java: New file. - * include/java_net_VMURLConnection.h: New file. - * include/Makefile.am (H_FILES): Add VMURLConnection.h. - ($(top_srcdir)/include/java_net_VMURLConnection.h): New target. - * native/jni/java-net/Makefile.am (libjavanet_la_SOURCES): - Mention new file. - (libjavanet_la_LIBADD): Add $(LIBMAGIC). - * native/jni/java-net/java_net_VMURLConnection.c: New file. - -2006-05-26 Thomas Fitzsimmons - - * tools/Makefile.am (installcheck-binSCRIPTS): Do nothing. - -2006-05-26 Thomas Fitzsimmons - - * native/jawt/Makefile.am (nativeexeclib_LTLIBRARIES): Rename - libjawtgnu.la libjawt.la. - -2006-05-26 Thomas Fitzsimmons - - * native/jni/gtk-peer/Makefile.am (libgtkpeer_la_SOURCES): Remove - gtkcairopeer.h. - -2006-05-25 Lillian Angel - - PR 26174 - * java/awt/Window.java - (Window): Moved code to helper. - (addWindowFocusListener): New function. Handles focus - listener code. Added code to handle focus lost/gained - from the window. - -2006-05-25 Andrew John Hughes - - * configure.ac: - Make pkg-config check for GTK+ >= 2.8. - -2006-05-25 Thomas Fitzsimmons - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c - (flush): Remove debugging printfs. - -2006-05-25 Thomas Fitzsimmons - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c - (schedule_flush): New function. - (end_drawing_operation): Call schedule_flush. - -2006-05-25 Thomas Fitzsimmons - - * examples/gnu/classpath/examples/swing/Demo.java: Add FillRect - paint performance demo. - * examples/gnu/classpath/examples/swing/FillRect.java: New file. - -2006-05-25 Thomas Fitzsimmons - - * INSTALL: Bump GTK requirement to 2.8 or higher. Do not mention - Cairo version requirement. Do not mention --enable-gtk-cairo - configure option. - * NEWS: Add entry for GdkGraphics2D. - * configure.ac: Remove --enable-gtk-cairo and explicit checks for - Cairo library and headers. - * .externalToolBuilders/Configure.launch: Remove - --enable-gtk-cairo from configure line. - * gnu/classpath/Configuration.java.in (GTK_CAIRO_ENABLED): Remove - field. - * gnu/java/awt/BitwiseXORComposite.java: Fix javadoc typo. - * gnu/java/awt/peer/gtk/GdkFontPeer.java, - native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c : Remove - useGraphics2D references. Always assume Graphics2D is enabled. - * gnu/java/awt/peer/gtk/GdkGraphics.java, - native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c: Remove. - * gnu/java/awt/peer/gtk/GdkGraphics2D.java, - native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c: Remove - Unlocked method variants. Remove GTK_CAIRO_ENABLED and - useGraphics2D references. Always assume Graphics2D is enabled. - * gnu/java/awt/peer/gtk/GdkTextLayout.java: Remove instanceof - Graphics2D check. Always assume Graphics2D is enabled. - * gnu/java/awt/peer/gtk/GtkCanvasPeer.java, - native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCanvasPeer.c - (realize): Remove method. - * gnu/java/awt/peer/gtk/GtkComponentPeer.java, - native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c - (isRealized): Remove method. - (realize): Implement as a native method. Remove useGraphics2D - references. Always assume Graphics2D is enabled. - * gnu/java/awt/peer/gtk/GtkImage.java, - native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c: Replace - GdkGraphics references with GdkGraphics2D references. - * gnu/java/awt/peer/gtk/GtkToolkit.java, - native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c: Remove - useGraphics2D references. Always assume Graphics2D is enabled. - * include/Makefile.am (GTKPEER_H_FILES): Remove - gnu_java_awt_peer_gtk_GdkGraphics.h. - * include/gnu_java_awt_peer_gtk_GdkFontPeer.h: Regenerate. - * include/gnu_java_awt_peer_gtk_GdkGraphics.h: Remove. - * include/gnu_java_awt_peer_gtk_GdkGraphics2D.h: Regenerate. - * include/gnu_java_awt_peer_gtk_GtkCanvasPeer.h: Likewise. - * include/gnu_java_awt_peer_gtk_GtkComponentPeer.h: Likewise. - * native/jawt/Makefile.am (AM_LDFLAGS): Remove CAIRO_LIBS. - * native/jni/gtk-peer/Makefile.am (libgtkpeer_la_SOURCES): Remove - gnu_java_awt_peer_gtk_GdkGraphics.c. Include - gnu_java_awt_peer_gtk_GdkGraphics2D.c unconditionally. - (AM_LDFLAGS): Remove CAIRO_LIBS. - (AM_CFLAGS): Remove CAIRO_CFLAGS. - * native/jni/gtk-peer/gtkcairopeer.h: Remove. Move declarations - to ... - * native/jni/gtk-peer/gtkpeer.h: Add Graphics2D declarations. - -2006-05-25 Lillian Angel - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c - (Java_gnu_java_awt_peer_gtk_GtkComponentPeer_gtkWidgetSetCursorUnlocked): - Added check to prevent assertion error. If widget->window is null, then - use the parent widget's window to set the cursor on. - -2006-05-25 Audrius Meskauskas - - * javax/swing/plaf/basic/BasicTreeUI.java (TreeCancelEditingAction): - Implemented. - -2006-05-24 Lillian Angel - - * tools/gnu/classpath/tools/appletviewer/AppletTag.java - (prependCodeBase): Added check to determine if the documentbase - points to a directory or a file. - -2006-05-24 Sven de Marothy - - * java/awt/dnd/DragGestureRecognizer.java - (resetRecognizer): Implement. - (fireDragGestureRecognized): Implement. - -2006-05-24 David Gilbert - - * javax/swing/plaf/basic/BasicComboBoxUI.java: Marked stub methods and - fixed source code formatting. - -2006-05-24 Audrius Meskauskas - - * javax/swing/JTable.java (valueChanged): If is editing, stop editing. - -2006-05-24 Audrius Meskauskas - - Reported by Antony Balkisson. - * javax/swing/JTable.java (selectAll): Return without action - if the table is empty. - -2006-05-23 Audrius Meskauskas - - * examples/gnu/classpath/examples/swing/TableDemo.java: - (SliderCell): New inner class. (setCustomEditors, - setInformativeHeaders): New fields. (createContent): - Rewritten. - * javax/swing/DefaultCellEditor.java - (JComboBoxDelegate.shouldSelectCell): New method. - * javax/swing/JTable.java (editCellAt): Call shouldSelectCell. - * javax/swing/plaf/basic/BasicTableUI.java - (MouseInputHandler.mouseClicked): Start editing on a single - click if the cell editor is not a default cell editor. - -2006-05-23 Audrius Meskauskas - - * javax/swing/naming/CompositeName.java, - javax/swing/naming/CompoundName.java: - Documented. - -2006-05-23 Archie Cobbs - - * vm/reference/java/lang/VMClassLoader.java: fix static initializer - ordering problem. - -2006-05-23 David Gilbert - - * javax/swing/tree/AbstractLayoutCache.java: Coding style fixes, - * javax/swing/tree/DefaultMutableTreeNode.java: Likewise, - * javax/swing/tree/DefaultTreeCellRenderer.java: Likewise, - * javax/swing/tree/DefaultTreeModel.java: Likewise, - * javax/swing/tree/DefaultTreeSelectionModel.java: Likewise, - * javax/swing/tree/ExpandVetoException.java: Likewise, - * javax/swing/tree/FixedHeightLayoutCache.java: Likewise, - * javax/swing/tree/RowMapper.java: Likewise, - * javax/swing/tree/TreeNode.java: Likewise, - * javax/swing/tree/TreeSelectionModel.java: Likewise, - * javax/swing/tree/VariableHeightLayoutCache.java: Likewise. - -2006-05-23 David Gilbert - - * javax/swing/tree/DefaultTreeCellRenderer.java - (DefaultTreeCellRenderer): Changed key for - setBackgroundNonSelectionColor(), - plus API docs all over. - -2006-05-23 Audrius Meskauskas - - PR 27680 - * javax/swing/JTable.java (booleanInvertingEditor): New field. - (defaultEditorsByColumnClass, defaultRenderersByColumnClass): - Initialise in constructor. (columnMoved): Cancel editing. - (createDefaultEditors): Rewritten. (editCellAt): - Just invert the value if this is a boolean cell. - (initialiseLocalVars): Do not initialise renderer and editor tables. - (setUI): Create editors and renderers here. - -2006-05-23 Robert Schuster - - * examples/gnu/classpath/examples/awt/Demo.java: - (MainWindow.MainWindow): Added ResolutionWindow and FullscreenWindow - instance as subframe. - (ResolutionWindow): New inner class. - (FullscreenWindow): New inner class. - -2006-05-23 Audrius Meskauskas - - PR 27680 - * javax/swing/JTable.java (BooleanCellRenderer, IconCellRenderer): - Set horizontal alignment to centered. - -2006-05-22 David Gilbert - - * javax/accessibility/AccessibleContext.java - (getAccessibleComponent): Fixed typo in docs, - * javax/swing/JLabel.java: - (AccessibleJLabel.getAccessibleName): Check for explicit - accessibleName, - * javax/swing/JTableHeader.java - (AccessibleJTableHeaderEntry.columnIndex): New field, - (AccessibleJTableHeaderEntry.parent): New field, - (AccessibleJTableHeaderEntry.table): New field, - (AccessibleJTableHeaderEntry.AccessibleJTableHeaderEntry()): - Implemented, - (AccessibleJTableHeaderEntry.getAccessibleColumnHeaderRenderer): New - utility method, - (AccessibleJTableHeaderEntry.addFocusListener): Implemented, - (AccessibleJTableHeaderEntry.addPropertyChangeListener): Implemented, - (AccessibleJTableHeaderEntry.contains): Implemented, - (AccessibleJTableHeaderEntry.getAccessibleAction): Implemented, - (AccessibleJTableHeaderEntry.getAccessibleAt): Implemented, - (AccessibleJTableHeaderEntry.getAccessibleChild): Implemented, - (AccessibleJTableHeaderEntry.getAccessibleChildrenCount): Implemented, - (AccessibleJTableHeaderEntry.getAccessibleComponent): Implemented, - (AccessibleJTableHeaderEntry.getAccessibleContext): Implemented, - (AccessibleJTableHeaderEntry.getAccessibleDescription): Implemented, - (AccessibleJTableHeaderEntry.getAccessibleIndexInParent): Implemented, - (AccessibleJTableHeaderEntry.getAccessibleName): Implemented, - (AccessibleJTableHeaderEntry.getAccessibleRole): Implemented, - (AccessibleJTableHeaderEntry.getAccessibleSelection): Implemented, - (AccessibleJTableHeaderEntry.getAccessibleStateSet): Implemented, - (AccessibleJTableHeaderEntry.getAccessibleText): Implemented, - (AccessibleJTableHeaderEntry.getAccessibleValue): Implemented, - (AccessibleJTableHeaderEntry.getBackground): Implemented, - (AccessibleJTableHeaderEntry.getBounds): Implemented, - (AccessibleJTableHeaderEntry.getCursor): Implemented, - (AccessibleJTableHeaderEntry.getFont): Implemented, - (AccessibleJTableHeaderEntry.getFontMetrics): Implemented, - (AccessibleJTableHeaderEntry.getForeground): Implemented, - (AccessibleJTableHeaderEntry.getLocation): Implemented, - (AccessibleJTableHeaderEntry.getLocationOnScreen): Implemented, - (AccessibleJTableHeaderEntry.getSize): Implemented, - (AccessibleJTableHeaderEntry.isEnabled): Implemented, - (AccessibleJTableHeaderEntry.isFocusTraversable): Implemented, - (AccessibleJTableHeaderEntry.isShowing): Implemented, - (AccessibleJTableHeaderEntry.isVisible): Implemented, - (AccessibleJTableHeaderEntry.removeFocusListener): Implemented, - (AccessibleJTableHeaderEntry.removePropertyChangeListener): - Implemented, - (AccessibleJTableHeaderEntry.requestFocus): Implemented, - (AccessibleJTableHeaderEntry.setAccessibleDescription): Implemented, - (AccessibleJTableHeaderEntry.setAccessibleName): Implemented, - (AccessibleJTableHeaderEntry.setBackground): Implemented, - (AccessibleJTableHeaderEntry.setBounds): Implemented, - (AccessibleJTableHeaderEntry.setCursor): Implemented, - (AccessibleJTableHeaderEntry.setEnabled): Implemented, - (AccessibleJTableHeaderEntry.setFont): Implemented, - (AccessibleJTableHeaderEntry.setForeground): Implemented, - (AccessibleJTableHeaderEntry.setLocation): Implemented, - (AccessibleJTableHeaderEntry.setSize): Implemented, - (AccessibleJTableHeaderEntry.setVisible): Implemented, - (AccessibleJTableHeader.getAccessibleRole): Implemented, - (AccessibleJTableHeader.getAccessibleChildrenCount): Implemented, - (AccessibleJTableHeader.getAccessibleChild): Implemented, - (AccessibleJTableHeader.getAccessibleAt): Implemented. - -2006-05-22 Tom Tromey - - * NEWS: Updated. - -2006-05-22 David Gilbert - - * javax/swing/JLabel.java - (AccessibleJLabel.getAccessibleName): New method (override), - (setLabelFor): Fire 'labelFor' property change event before other - events. - -2006-05-22 David Gilbert - - * javax/swing/JLabel.java - (AccessibleJLabel.getAccessibleRole): New method (override). - -2006-05-22 Tom Tromey - - * resource/gnu/classpath/tools/serialver/messages.properties: New - file. - * tools/gnu/classpath/tools/serialver/Messages.java: New file. - * tools/gnu/classpath/tools/serialver/SerialVer.java (classes): New - field. - (classpath): Likewise. - (run): New method. - (main): Use it. - (addFileURL): New method. - (getClassLoader): Likewise. - (printMessage): Likewise. - -2006-05-22 Tom Tromey - - * tools/gnu/classpath/tools/serialver/SerialVer.java: New file. - -2006-05-22 Audrius Meskauskas - - * javax/swing/JTable.java (doLayout): In the column - resize mode, only repaing the changed part of the table. - (getLeftResizingBoundary): New method. - -2006-05-22 Audrius Meskauskas - - * javax/naming/spi/InitialContextFactory.java, - javax/naming/spi/InitialContextFactoryBuilder.java, - javax/naming/spi/NamingManager.java, - javax/naming/spi/ObjectFactory.java, - javax/naming/spi/ResolveResult.java, - javax/naming/spi/Resolver.java, - javax/naming/spi/StateFactory.java: Documented. - -2006-05-21 Tom Tromey - - PR classpath/27688: - * tools/gnu/classpath/tools/jar/Extractor.java (allItems): Now - a WorkSet. - (initSet): Removed. - (shouldExtract): Removed. - (run): Updated. - * tools/gnu/classpath/tools/jar/WorkSet.java: New file. - * tools/gnu/classpath/tools/jar/Lister.java (readUntilEnd): New - method. - (listJar): Use it. - (allItems): New field. - (run): Initialize it. - (listJar): Use it. - -2006-05-22 Sven de Marothy - - * java/nio/CharBuffer.java - (wrap): Fix bounds checking. - -2004-08-26 Tom Tromey - - * java/io/OutputStream.java - (OutputStream): Implements Closeable, Flushable. - -2006-04-02 Andrew John Hughes - - * java/io/ObjectOutputStream.java: - (writeObject(Object)): Added enum support. - (writeClassDescriptor(ObjectStreamClass)): Likewise. - * java/io/ObjectStreamClass.java: - (isEnum()): New package-private method. - (setFlags(Class)): Added enum support. - * java/io/ObjectStreamConstants.java: - (SC_ENUM): Added. - -2006-03-29 Andrew John Hughes - - * java/io/ObjectInputStream.java: - (parseContent(byte)): Added enum support. - * java/io/ObjectStreamConstants.java: - (TC_ENUM): Added. - (TC_MAX): Changed to new maximum, TC_ENUM. - -2006-05-21 Andrew John Hughes - - * java/beans/beancontext/BeanContextSupport.java: - (instantiateChild(String)): Implemented. - -2006-05-21 Andrew John Hughes - - * java/beans/beancontext/BeanContextSupport.java: - (add(Object)): Add further documentation. - (isEmpty()): Documented. - (propertyChange(PropertyChangeEvent)): Implemented. - (remove(Object)): Documented. - (remove(Object,boolean)): Documented and implemented. - (vetoableChange(PropertyChangeEvent)): Marked as - implemented (only subclasses appear to need this). - -2006-05-21 Andrew John Hughes - - * java/beans/beancontext/BeanContextSupport.java: - (add(Object)): Implement support for the child being - a BeanContextChild. - (avoidingGui()): Implemented. - (dontUseGui()): Likewise. - (needsGui()): Likewise. - (okToUseGui()): Likewise. - -2006-05-21 Audrius Meskauskas - - * javax/naming/Context.java, - javax/naming/ContextNotEmptyException.java, - javax/naming/Reference.java: Documented. - -2006-05-21 Audrius Meskauskas - - * javax/swing/text/html/MinimalHTMLWriter.java - (writeComponent, writeImage): Declare that the method - may throw the IOException. - -2006-05-21 Audrius Meskauskas - - PR 26972 - * javax/naming/InitialContext.java (colon_list): Changed type to - hashset. (use_properties): New field. (init(Hashtable)): Rewritten. - (merge): Rewritten. - -2006-05-21 Audrius Meskauskas - - * javax/naming/InitialContext.java: Documented. - -2006-05-21 Audrius Meskauskas - - * javax/naming/NameParser.java, - javax/naming/NamingEnumeration.java, - javax/naming/PartialResultException.java, - javax/naming/SizeLimitExceededException.java, - javax/naming/spi/ObjectFactory.java, - javax/naming/spi/ObjectFactoryBuilder.java: Documented. - -2006-05-21 Andrew John Hughes - - * gnu/java/net/loader/JarURLLoader.java: - Use Map.Entry instead of LinkedHashMap.Entry - -2006-05-21 Audrius Meskauskas - - * javax/naming/Context.java: Documented. - -2006-05-21 Audrius Meskauskas - - * javax/naming/Referenceable.java: Documented. - * javax/naming/spi/NamingManager.java: Documented. - -2006-05-21 Raif S. Naffah - - * doc/tools.texinfo: Replaced references to MessageBundle.properties - to messages.properties. - * resource/gnu/classpath/tools/jarsigner/MessageBundle.properties: - Renamed to messages.properties. - * resource/gnu/classpath/tools/keytool/MessageBundle.properties: - Likewise. - * resource/gnu/classpath/tools/jarsigner/messages.properties: - Renamed from MessageBundle.properties. - Added copyright notice. - * resource/gnu/classpath/tools/keytool/messages.properties: - Likewise. - * tools/gnu/classpath/tools/jarsigner/Messages.java - (BUNDLE_NAME): Use messages instead of MessageBundle properties file. - (getFormattedString): Fixed a spelling mistake. - * tools/gnu/classpath/tools/keytool/Messages.java: Likewise. - -2006-05-20 Sven de Marothy - - * gnu/java/awt/font/opentype/NameDecoder.java - Made class public. - (getName): Use getShort instead of getChar(), fix PS name. - (decodeName): New method. - * gnu/java/awt/peer/gtk/GdkFontPeer.java - (getSubFamilyName): Implement. - (getPostScriptName): Use the NameDecoder class instead. - (parsePSName): Removed. - (getName): Added - -2006-05-20 Sven de Marothy - - * gnu/java/awt/peer/gtk/GdkFontPeer.java - (getTrueTypeTable): New native method. - (getPostScriptName): Reimplement. - (parsePSName): New method. - (getNumGlyphs): Implement. - * include/gnu_java_awt_peer_gtk_GdkFontPeer.h: New native method. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c - (Java_gnu_java_awt_peer_gtk_GdkFontPeer_getTrueTypeTable): - New function. File is now explicitly dependent on FT2. - -2006-05-20 Tom Tromey - - * tools/gnu/classpath/tools/native2ascii/Messages.java: New file. - * resource/gnu/classpath/tools/native2ascii/messages.properties: New - file. - * tools/gnu/classpath/tools/native2ascii/Native2ASCII.java - (HandleFile): New class. - (input, output, encoding, reversed): New fields. - (createParser): New method. - (run): Likewise. - (main): Use 'run'. - * tools/gnu/classpath/tools/getopt/FileArgumentCallback.java - (notifyFile): Throws OptionException. - -2006-05-20 Tom Tromey - - * tools/gnu/classpath/tools/native2ascii/Native2ASCII.java: New file, - from cp-tools. - -2006-05-20 Andrew John Hughes - - * native/jni/java-nio/gnu_java_nio_VMChannel.c: - (JCL_print_buffer): Fix to work with -Werror on 64-bit - platforms. - -2006-05-20 Sven de Marothy - - * java/awt/Font.java (getNumGlyphs): Call correct peer method. - -2006-05-20 Sven de Marothy - - * gnu/java/awt/print/JavaPrinterJob.java - (print): Use PostScriptGraphics2D. - * gnu/java/awt/print/PostScriptGraphics2D.java: New file. - -2006-05-20 Sven de Marothy - - * javax/swing/text/html/MinimalHTMLWriter.java: New file - -2006-05-20 Raif S. Naffah - - * gnu/java/security/OID.java: Updated copyright year. - (OID): Removed unused Javadoc param tag. - * gnu/java/security/prng/PRNGFactory.java: Removed unused import. - * gnu/java/security/hash/MD4.java: Fixed a Javadoc link. - -2006-05-20 Raif S. Naffah - - * gnu/javax/crypto/jce/keyring/GnuKeyring.java (engineAliases): - Formatting. - Added trace/debug statements. - (engineSetCertificateEntry): Ensure alias is not already used for a Key - Entry. Also ensure that any previous entry for this alias is removed - before a new one is added. - (engineGetKey): Do not trace/log passwords. - Trace key's class name only. - (engineSetKeyEntry): Ensure alias is not alredy used for a Trusted - Certificate Entry. Also ensure that previous entry for this alias is - removed before a new one is added. - (engineLoad): Do not trace/log passwords. - (engineStore): Likewise. - (engineSize): Use size of enumeration instead of collection size. - -2006-05-20 Raif S. Naffah - - * gnu/javax/crypto/keyring/PrivateKeyEntry.java: Formatting. - (toString): New method. - * gnu/javax/crypto/keyring/PasswordEncryptedEntry.java (decrypt): - Do not trace/log passwords. - Set masked to false before decoding envelope. - Do not set payload to null. - (encrypt): Set masked to true. - * gnu/javax/crypto/keyring/PasswordAuthenticatedEntry.java (verify): - Do not trace/log passwords. - Set masked to false before decoding envelope. - Do not set payload to null. - Added trace/debug statements. - (authenticate): Do not trace/log passwords. - Set masked to true. - Added trace/debug statements. - (getMac): Added trace/debug statements. - * gnu/javax/crypto/keyring/MaskableEnvelopeEntry.java - (remove(String)): Changed the signature to return a boolean. - (toString): New method. - * gnu/javax/crypto/keyring/GnuPublicKeyring.java (containsCertificate): - Formatting - (getCertificate): Likewise. - (putCertificate): Likewise. - (load): Likewise. - Do not trace/log passwords. - (store): Likewise. - * gnu/javax/crypto/keyring/GnuPrivateKeyring.java (getPrivateKey): - Do not trace/log passwords. - Added more trace/logging statements. - (putPrivateKey): Do not trace/log passwords. - Trace only key's class name. - Formatting. - (containsPublicKey): Formatting. - (getPublicKey): Likewise. - Trace only key's class name. - (putPublicKey): Trace only key's class name. - (containsCertPath): Formatting. - (getCertPath): Likewise. - (putCertPath): Likewise. - (load): Do not trace/log passwords. - Formatting. - (store): Likewise. - * gnu/javax/crypto/keyring/EnvelopeEntry.java (log): New field. - (add): Do not set payload to null. - Added trace/debug statements. - (containsAlias): Added trace/debug statements. - (get): Likewise. - (remove(Entry)): Likewise. - (remove(String)): Likewise. - Changed the signature to return a boolean. - Do not set payload to null unless really removed. - (toString): New method. - (decodeEnvelope): Clear entries before proceeding. - (makeAliasList): Added trace/debug statements. - Ensure only non-null aliases and alias-lists are added. - * gnu/javax/crypto/keyring/Entry.java (log): New field. - (TYPES): New constant. - (toString): New method. - (defaultDecode): Add trace/debug statement. - -2006-05-20 Raif S. Naffah - - * tools/gnu/classpath/tools/keytool/ListCmd.java (rfc): - Increased visibility. - (setup): Do not trace/log passwords. - (parsed): Was not setting correct (rfc) field; fixed. - (print1Chain): Formatting. - * tools/gnu/classpath/tools/keytool/DeleteCmd.java (setup): - Do not trace/log passwords. - * tools/gnu/classpath/tools/keytool/ExportCmd.java (setup): Likewise. - * tools/gnu/classpath/tools/keytool/GenKeyCmd.java (setup): Likewise. - * tools/gnu/classpath/tools/keytool/IdentityDBCmd.java (setup): Likewise. - * tools/gnu/classpath/tools/keytool/KeyCloneCmd.java (setup): Likewise. - * tools/gnu/classpath/tools/keytool/StorePasswdCmd.java (setup): Likewise. - * tools/gnu/classpath/tools/keytool/ImportCmd.java (setup): Likewise. - (orderChain): Added FIXME. - * tools/gnu/classpath/tools/keytool/CertReqCmd.java (setup): - Do not trace/log passwords. - Removed commented out code. - * tools/gnu/classpath/tools/keytool/KeyPasswdCmd.java (setup): Likewise. - * tools/gnu/classpath/tools/keytool/SelfCertCmd.java (setup): Likewise. - * tools/gnu/classpath/tools/keytool/Command.java (doCommand): Formatting. - (setKeystoreURLParam): Likewise. - (setKeystorePasswordParam): Do not trace/log passwords. - (saveKeyStore): Likewise. - -2006-05-19 Roman Kennke - - * gnu/java/awt/java2d/AbstractGraphics2D.java - Added class docs. - (pixel): Removed obsolete field. - (draw(Shape)): Removed commented out code. - (drawImage): Formatting. - (drawString): Added optimization hook. - (setPaint): Removed rawSetForeground(). - (getFontRenderContext): Return context with correct transform. - (drawGlyphVector): Draw complete outline in one go. - (copyArea): Added optimization hook. - (clearRect): Added optimization hook. - (drawImage): Added optimization hook. - (fillShape): (Temporarily) Set antialiasing off by default for - font rendering. Adjust the shape by some bits to improve rendering. - Pass clip bounds to the render methods. - (drawPixel): Removed. - (rawSetPixel): Removed. - (rawSetForeground): Removed. - (rawDrawLine): Default impl calls standard pipeline. - (rawDrawString): New method, calls standard pipeline for rendering. - (rawClearRect): New method, calls standard pipeline for rendering. - (rawFillRect): New method, calls standard pipeline for rendering. - (rawDrawImage): New method, calls standard pipeline for rendering. - (rawCopyArea): New method. - (copyAreaImpl): New method. - (rawFillShape): Renamed to fillShapeImpl(). Small optimization - for rendering. - (fillShapeAntialias): Fixed AA rendering. - (fillScanlineAA): Fixed AA rendering. - (getSegments): Take offset into account. - -2006-05-19 Sven de Marothy - - * javax/swing/text/AbstractWriter.java - (getText): Fix parameters (start, length) not (start, end). - -2006-05-19 Tom Tromey - - PR classpath/27444: - * gnu/java/net/loader/URLLoader.java (getClassPath): Documented. - Changed return type. - * java/net/URLClassLoader.java (urlloaders): Removed. - (addURLImpl): Updated. - * gnu/java/net/loader/JarURLLoader.java (initialized): New field. - (indexSet): Likewise. - (classPath): Changed type. - (JarURLLoader): New constructor. - (initialize): New method. - (getResource): Use index set if it exists. - (getClassPath): Updated. - * gnu/java/net/IndexListParser.java (IndexListParser): Avoid NPE. - (prefixes): New field. - (headers): Removed. - (IndexListParser): Fill in prefixes. - (clearAll): Clear prefixes. - (getHeaders): Changed return type. - -2006-05-19 Audrius Meskauskas - - * javax/swing/plaf/basic/BasicTableHeaderUI.java - (MouseInputHandler.mouseExitted): No nothing there. - (MouseInputHandler.endDragging): Move column to the - first/last position if released outside the horizontal - table range. - -2006-05-19 Lillian Angel - - * java/awt/font/GlyphVector.java - (getGlyphCharIndex): Implemented. - (getGlyphCharIndices): Implemented. - (getGlyphOutline): Implemented. - (getGlyphVisualBounds): Implemented. - (getGlyphVisualBounds): Implemented. - (getPixelBounds): Implemented. - (getLayoutFlags): Implemented. - -2006-05-19 Robert Schuster - - * java/awt/LightweightDispatcher.java: Added field dragButton and - documentation for it. - (handleMouseEvent): Rewritten MOUSE_PRESSED case in switch-statement, - added subexpression to if-clause in MOUSE_RELEASED case. - -2006-05-19 Robert Schuster - - * javax/swing/metal/MetalButtonUI.java: - (update): Removed some subexpression from if-clause and call - updateWithGradient. - (updateWithGradient): New method. - -2006-05-19 Roman Kennke - - * javax/swing/JComponent.java - (findOverlapFreeParent): Implemented algorithm for finding - overlapping in component hierarchy. - -2006-05-19 Jeroen Frijters - - * java/lang/Thread.java - (contextClassLoaderIsSystemClassLoader): New field. - (Thread(ThreadGroup,Runnable)): Call createAnonymousThreadName. - (Thread(VMThread,String,int,boolean)): Call createAnonymousThreadName - and set contextClassLoaderIsSystemClassLoader. - (Thread(ThreadGroup,Runnable,String,long)): - Set contextClassLoaderIsSystemClassLoader. - (createAnonymousThreadName): New method. - (getContextClassLoader): Check contextClassLoaderIsSystemClassLoader - and fixed security check. - (setContextClassLoader): Clear contextClassLoaderIsSystemClassLoader. - -2006-05-19 Robert Schuster - - * javax/swing/plaf/basic/BasicToolBarUI.java: - (createNonRolloverBorder): Rewritten. - (createRolloverBorder): Rewritten. - (setToNonRolloverBorder): Store old border instance in hashtable. - (setToRolloverBorder): Store old border instance in hashtable, use - AbstractButton instead of JButton in statements. - (setBorderToNormal): Rewritten. - * javax/swing/plaf/metal/MetalLookAndFeel.java: - (initComponentDefaults): Added values for ToolBar.rolloverBorder and - ToolBar.nonrolloverBorder. - -2006-05-18 Thomas Fitzsimmons - - * javax/imageio/stream/ImageInputStreamImpl.java: Complete. - * javax/imageio/stream/MemoryCacheImageInputStream.java: Likewise. - -2006-05-18 Lillian Angel - - * java/awt/font/GlyphMetrics.java - (getLSB): Implemented. - (getRSB): Implemented. - -2006-05-18 Lillian Angel - - * java/awt/font/GraphicAttribute.java: - Documented entire class. - (GraphicAttribute): Added check for alignment. - (getBounds): Implemented. - (getJustificationInfo): Implemented. - -2006-05-18 Robert Schuster - - * java/awt/LightweightDispatcher.java: - (handleMouseEvent): Added note, added subexpression to if-statement. - -2006-05-18 Robert Schuster - - * javax/swing/plaf/basic/BasicToolBarUI.java: - (navigateFocusedComp): Marked as stub. - (createRolloverBorder): Create a different Border instance, added note. - * javax/swing/plaf/metal/MetalBorders.java: - (ButtonBorder): Added documentation. - (ButtonBorder.paintDefaultButtonBorder): Added else-block. - (ButtonBorder.paintOceanButtonBorder): Added else-block, added - subexpression into if-else cascade, added note. - -2006-05-18 Lillian Angel - - * java/awt/font/ShapeGraphicAttribute.java: - Documented entire class. - (ShapeGraphicAttribute): Initialized bounds field. - (draw): Implemented. - (equals): Implemented. - (getAdvance): Implemented. - (getAscent): Implemented. - (getBounds): Implemented. - (getDescent): Implemented. - (hashCode): Implemented. - -2006-05-18 Roman Kennke - - * javax/swing/CellRendererPane.java - (CellRendererPane): Set CellRendererPane to invisible. - -2006-05-18 Roman Kennke - - * gnu/java/awt/peer/gtk/GdkGraphics.java - (clipRect): Removed old intersection statement. - -2006-05-18 Roman Kennke - - * gnu/java/awt/peer/gtk/GdkGraphics.java - (clipRect): Don't use Rectangle.intersection() to avoid creating - 2 unnecessary Rectangle instances and fix a clipping problem. - (computeIntersection): New helper method, adapted from SwingUtilities. - -2006-05-18 Roman Kennke - - * javax/swing/JComponent.java - (isCompletelyDirty): Removed. - (paint): Don't mark children as clean, this is no longer necessary. - (findOverlapFreeParent): Don't stop at Viewports, this breaks - painting when something overlaps the viewport (like a popup/menu). - * javax/swing/RepaintManager.java - (currentRepaintManagers): Made package private to avoid accessor - methods. - (dirtyComponents): Made private. - (dirtyComponentsWork): Made private. - (markCompletelyDirty): Fixed bounds of dirtyrect to be - component-local not parent-local. Do not set flag in JComponent. - (markCompletelyClean): Don't set JComponent flag. - (isCompletelyDirty): Rewritten to return true when the complete - component is marked dirty. - (paintDirtyRegions): Improved parent-merging so that the merged-in - components don't get painted too. 'Outsourced' the compilation - of the repaint root components. - (compileRepaintRoots): New helper method. - -2006-05-18 Roman Kennke - - PR 26368 - * javax/swing/text/GapContent.java - (GapContentPosition(int)): Use adapted binarySearch method to - allow for having a greater array than number of entries. - (numMarks): New field, holds the end of the marks list. - (GapContent): Initialize positionMarks with size of 10 instead of 0. - (shiftGapStartDown): Adjusted for new setPositionsInRange signature. - (shiftGapEndUp): Adjusted for new setPositionsInRange signature. - (setPositionsInRange): Changed signature to narrow the purpose and - special cases inside. Reimplemented to crunch together equal marks. - (adjustPositionsInRange): Added assertion to make sure we do - not accidentally change the order of the mark. Added some debug - output for a special case of which I don't know if it even exists. - (resetMarksAtZero): Made impl simpler. - (dumpMarks): New debug helper method. - (insertMark): Grow array in bigger chunks to avoid excessive copying. - (binarySearch): New method. An adaption of Arrays.binarySearch() - that allows for an maxIndex parameter. - -2006-05-18 Roman Kennke - - * javax/swing/KeyboardManager.java - (topLevelLookup): Use WeakHashMap to avoid memory leak. - -2006-05-18 Jeroen Frijters - - * gnu/java/net/loader/JarURLLoader.java - (JarURLLoader): Use a slightly more efficient URL constructor. - -2006-05-18 David Gilbert - - * gnu/java/awt/print/JavaPrinterGraphics.java - (drawImage(Image, int, int, Color, ImageObserver)): Fix endless loop, - (drawImage(Image, int, int, ImageObserver)): Likewise, - (drawImage(Image, int, int, int, int, Color, ImageObserver)): Likewise, - (drawImage(Image, int, int, int, int, ImageObserver)): Likewise, - (drawImage(Image, int, int, int, int, int, int, int, int, Color, - ImageObserver)): Likewise, - (drawImage(Image, int, int, int, int, int, int, int, int, - ImageObserver)): Likewise. - -2006-05-17 Tom Tromey - - * tools/gnu/classpath/tools/jar/Indexer.java (indexJarFile): Use a - LinkedHashSet. - -2006-05-17 David Gilbert - - * javax/swing/border/AbstractBorder.java: Source code formatting fixes, - * javax/swing/border/BevelBorder.java: Likewise, - * javax/swing/border/CompoundBorder.java: Likewise, - * javax/swing/border/TitledBorder.java: Likewise. - -2006-05-17 David Gilbert - - * javax/swing/table/AbstractTableModel.java: Formatting fixes, - * javax/swing/table/DefaultTableModel.java: Likewise, - * javax/swing/table/TableCellEditor.java: Likewise, - * javax/swing/table/TableCellRenderer.java: Likewise. - -2006-05-17 Lillian Angel - - * java/awt/font/ImageGraphicAttribute.java: - Documented entire class. - (ImageGraphicAttribute): Changed to call this. - (ImageGraphicAttribute): Implemented. - (draw): Implemented. - (equals): Implemented. - (getAdvance): Implemented. - (getAscent): Implemented. - (getBounds): Implemented. - (getDescent): Implemented. - (hashCode): Implemented. - * javax/swing/text/html/HTMLDocument.java - (create): Removed. Sufficent enough for - super to be called. - (insert): Likewise. - (insertUpdate): Likewise. - (processHTMLFrameHyperlinkEvent): Marked as stub. - (start): Removed FIXME. - (end): Likewise. - (start): Called super. - (end): Called super. - (getElement): removed unneeded code. - (setParagraphAttribute): Removed. Sufficent enough - for super to be called. - (fireChangedUpdate): Likewise. - (fireUndoableEditUpdate): Likewise. - -2006-05-17 Lillian Angel - - * java/awt/TexturePaint.java: - Added documentation for class and all functions. - (getTransparency): Implemented. - -2006-05-17 Roman Kennke - - * java/awt/LightweightDispatcher.java - (findTarget): Translate point to child components. - -2006-05-17 Roman Kennke - - PR 26368 - * javax/swing/text/GapContent.java - (GapContentPosition): Do no more implement Comparable. - (GapContentPosition.mark): Removed field. - (GapContentPosition.index): New field to hold the index into - the positions array. - (GapContentPosition(int)): Rewritten to use the new indirection - to the positions array. - (GapContentPosition.compareTo): Removed. - (GapContentPosition.getOffset): Synchronized. Fetch mark from - positionMarks array. - (WeakPositionComparator): Removed obsolete class. - (positions): Changed type to WeakHashMap. - (positionMarks): New field, holds the marks of the positions. - (GapContent): Initialize new fields. - (createPosition): Rewritten to use the new indirection - to the positions array. - (getPositionsInRange): Rewritten to use the new indirection - to the positions array. - (setPositionsInRange): Rewritten to use the new indirection - to the positions array. - (adjustPositionsInRange): Rewritten to use the new indirection - to the positions array. - (insertMark): New helper method. - (clearPositionReferences): Removed obsolete methods. - -2006-05-17 Lillian Angel - - * java/awt/GraphicsConfiguration.java - (getImageCapabilities): Implemented. - (getBufferCapabilities): Implemented. - -2006-05-17 Lillian Angel - - * javax/swing/plaf/basic/BasicSliderUI.java - (focusGained): Implemented. - (focusLost): Implemented. - (paint): Added code to paint the focus. - * javax/swing/plaf/metal/MetalSliderUI.java - (paintThumb): Added code to set the thumbColor. - (paintFocus): Implemented properly. - -2006-05-17 Audrius Meskauskas - - PR 27383 - * javax/naming/spi/NamingManager.java (getURLContext): - Always search for the factory class in all possible places - and use VMStackWalker. - (forName): New method. - -2006-05-17 Roman Kennke - - * java/awt/LightweightDispatcher.java - (handleMouseEvent): Fixed search algorithm for finding the - mouse event target. - (findTarget): Fixed search algorithm for finding the - mouse event target. - -2006-05-17 Audrius Meskauskas - - * javax/naming/spi/NamingManager.java: Documented. - -2006-05-17 Mark Wielaard - - * THANKYOU: Add Trevor Linton . - * gnu/javax/imageio/jpeg/DCT.java: Cleanup Todo copyright. - * gnu/javax/imageio/jpeg/YCbCr_ColorSpace.java: Likewise. - * gnu/javax/imageio/jpeg/ZigZag.java: Likewise. - -2006-05-17 Robert Schuster - - Fixes PR 26947. - * javax/swing/plaf/basic/BasicInternalFrameUI.java: Updated copyright - year. - (BorderListener.mouseClicked): Detect double-clicks in title pane, - copied code from - BasicInternalFrameTitlePaneUI.MaximizeAction.actionPerformed(). - -2006-05-17 Robert Schuster - - Fixes PR 27626. - * java/awt/LightweightDispatcher.java: - (handleMouseEvent): Moved assignment into switch-block, added notes. - -2006-05-16 Lillian Angel - - * javax/swing/text/StyleContext.java: - Changed staticAttributeKeys to be a Hashtable. - (getStaticAttribute): Implemented. - (getStaticAttributeKey): Implemented. - (readAttributeSet): Implemented. - (writeAttributeSet): Added FIXME. Not sure how - to implement this. - (readAttributes): Implemented. - (writeAttributes): Implemented. - (registerStaticAttibuteKey): Fixed to add key to - the hash table. - -2006-05-16 David Gilbert - - * javax/swing/DefaultButtonModel.java - (setGroup): Removed event notification. - -2006-05-16 Lillian Angel - - * javax/swing/plaf/basic/BasicComboBoxUI.java - (installKeyboardActions): Implemented. - (uninstallKeyboardActions): Implemented. - * javax/swing/plaf/basic/BasicComboPopup.java - (uninstallKeyboardActions): Removed FIXME. Nothing - to be done here. - (installKeyboardActions): Likewise. - * javax/swing/plaf/basic/BasicTextUI.java - (uninstallKeyboardActions): Implemented. - * javax/swing/plaf/basic/BasicTreeUI.java: - Added field for hashColor. - Marked stub methods. - (getHashColor): Implemented to use field. - (setHashColor): Likewise. - (getRowX): Implemented. - (NodeDimensions.getRowX): Changed to use BasicTreeUI.getRowX. - -2006-05-16 Roman Kennke - - PR 26521 - * javax/swing/JTable.java - (rowHeights): New field. - (initializeLocalVars): Call setRowHeigt instead of rowHeight=, - in order to initialize rowHeights correctly. - (tableChanged): Nullify rowHeights when model changes. Only - create default columns from model when corresponding property - is set. Sync table model with rowHeights as appropriate. - (valueChanged): Call repaint with the correct rectangle. - (rowAtPoint): Handle rowHeights. - (getCellRect): Mostly rewritten. Check for boundaries - of model and return (0,0,0,0) or (0,0,width,height) when outside. - Handle component orientation. Round correctly. - (getRowHeight(int)): Implemented for variable row height. - (setRowHeight(int,int)): Implemented for variable row height. - (setRowHeight(int)): Nullify rowHeights. - (setModel): Notify tableChanged(). - * javax/swing/plaf/basic/BasicTableUI.java - (installDefaults): Create rendererPane in installUI. - (installUI): Create and install rendererPane. - (uninstallUI): Uninstall rendererPane and nullify rendererPane - and table. - (paint): Correctly handle rowMargin. - -2006-05-16 Tom Tromey - - PR classpath/27563: - * java/text/NumberFormat.java (getIntegerInstance): Use - "integerFormat", not "numberFormat". - -2006-05-16 Lillian Angel - - * javax/swing/JPopupMenu.java - (addMenuKeyListener): Implemented. - (removeMenuKeyListener): Implemented. - (getMenuKeyListeners): Implemented. - * javax/swing/ProgressMonitor.java: - Added new protected field. - (getAccessibleContext): Implemented. - -2006-05-16 Lillian Angel - - * javax/swing/JFileChooser.java: - Added new private field. - (setDragEnabled): Implemented. - (getDragEnabled): Implemented. - -2006-05-16 Lillian Angel - - * java/awt/Window.java - (applyResourceBundle): Implemented. - -2006-05-16 David Gilbert - - * javax/swing/DefaultButtonModel.java - (setSelected): If new SELECTED state is false, clear ARMED and PRESSED - states also. - -2006-05-16 Audrius Meskauskas - - * javax/swing/JList.java (getSelectedValues): - Ask the value for the indexed array element. - -2006-05-16 Roman Kennke - - * javax/swing/JTable.java - (valueChanged): Also repaint when table has only 1 row. Fixed - repaint rectangle to span the entire changed rows. - -2006-05-16 Roman Kennke - - PR 24031 - * javax/swing/JOptionPane.java - (startModal): Rewritten. The events are now dispatched, even - when the event dispatch thread gets blocked by the call - to this method. Also, mouse events get intercepted outside the - internal frame. - -2006-05-16 Audrius Meskauskas - - * javax/swing/plaf/basic/BasicInternalFrameUI.java - (BorderListener.mouseDragged):Do not set cursor - if the frame is being dragged. - -2006-05-16 Audrius Meskauskas - - * javax/swing/plaf/basic/BasicInternalFrameUI.java - (BorderListener): Rewritten. (InternalFrameBorder): - Made package private. - (InternalFrameBorder.offset): - Renamed to cornerSize, made package private. - (bSize): Made package private. - -2006-05-16 Roman Kennke - - * javax/swing/JMenu.java - (AccessibleJMenu.getAccessibleChildrenCount): Implemented. - (AccessibleJMenu.getAccessibleChild): Implemented. - (AccessibleJMenu.getAccessibleSelection): Implemented. - (AccessibleJMenu.getAccessibleSelection(int)): Implemented. - (AccessibleJMenu.isAccessibleChildSelected): Implemented. - (AccessibleJMenu.getAccessibleRole): Documented. - (AccessibleJMenu.getAccessibleSelectionCount): Implemented. - (AccessibleJMenu.addAccessibleSelection): Implemented. - (AccessibleJMenu.removeAccessibleSelection): Implemented. - (AccessibleJMenu.clearAccessibleSelection): Implemented. - (AccessibleJMenu.selectAllAccessibleSelection): Implemented. - (createPath): New helper method. - -2006-05-15 Tom Tromey - - * java/text/MessageFormat.java (format): Now varargs. - -2006-05-15 Tom Tromey - - * java/lang/Thread.java (State): Fixed typo. - -2006-05-15 Tom Tromey - - * java/net/URLClassLoader.java: Moved inner classes to - gnu.java.net.loader. - (factoryCache): Changed type. - (URL_LOADER_PREFIX): New constant. - (URLClassLoader): Updated for new factoryCache. - (addURLImpl): Use reflection to search for a loader. - (findClass): Use getClass method on URLLoader. - (getURLStreamHandler): Removed. - * gnu/java/net/loader/URLLoader.java: New file, extracted - from URLClassLoader. - * gnu/java/net/loader/Resource.java: Likewise. - * gnu/java/net/loader/FileResource.java: Likewise. - * gnu/java/net/loader/FileURLLoaderjava: Likewise. - * gnu/java/net/loader/JarURLLoader.java: Likewise. - * gnu/java/net/loader/JarURLResource.java: Likewise. - * gnu/java/net/loader/RemoteURLLoader.java: Likewise. - * gnu/java/net/loader/RemoteResource.java: Likewise. - * gnu/java/net/loader/ULRStreamHandlerCache.java: New file. - -2006-05-15 Sven de Marothy - - * native/target/generic/target_generic_network.h: - Add a pair of parenthesis. - -2006-05-15 Mark Wielaard - - * java/awt/Graphics2D.java: Remove PrinterJob import. - -2006-05-15 Mark Wielaard - - * doc/www.gnu.org/announce/20060515.wml: New file. - * doc/www.gnu.org/newsitems.txt: Add 0.91 release announcement. - * doc/www.gnu.org/downloads/downloads.wml: Add 0.91. - -2006-05-15 Thomas Fitzsimmons - - * NEWS: Announce inclusion of gcjwebplugin. - Announce inclusion of appletviewer. - * INSTALL: Note gcjwebplugin dependencies. - -2006-05-15 Mark Wielaard - - * configure.ac (VERSION): Set to 0.91-generics. - -2006-05-15 Mark Wielaard - - * NEWS: Add release date and VMClassLoader.getBootPackages() - changes. - -2006-05-15 Christian Thalinger - - * README: Added CACAO to list of VMs. - -2006-05-15 Audrius Meskauskas - - * javax/swing/RepaintManager.java (paintDirtyRegions): - Break loop as soon as the component repaint is merged - with some parent. (ComponentComparator): Removed. - (comparator): Removed. - -2006-05-15 Roman Kennke - - * javax/swing/border/TitledBorder.java - (paintBorderWithTitle): Fixed indentation. - -2006-05-15 Roman Kennke - - * javax/swing/border/TitledBorder.java - (layoutBorderWithTitle): Fetch border using getBorder() instead - of using the border field directly. Allows for the use of - an UI supplied border in the case when a null border was set. - Fixed component orientation. - (paintBorderWithTitle): Fetch border using getBorder() instead - of using the border field directly. Allows for the use of - an UI supplied border in the case when a null border was set. - -2006-05-15 Audrius Meskauskas - - * javax/swing/RepaintManager.java (paintDirtyRegions): Rewritten. - (contains): New method. - -2006-05-15 Tom Tromey - - * resource/gnu/classpath/tools/jar/messages.properties: Fixed - argument indices. - * resource/gnu/classpath/tools/getopt/Messages.properties: Fixed - argument indices. - -2006-05-15 Audrius Meskauskas - - * javax/swing/JComponent.java (findOverlapParent): Stop loop at - JViewport's. - * javax/swing/RepaintManager.java (addDirtyRegion): Always add the given - region. (paintDirtyRegions): Rewritten. - -2006-05-15 Tom Tromey - - * tools/gnu/classpath/tools/jar/Main.java (setArchiveFile): Use - MessageFormat. - * tools/gnu/classpath/tools/jar/Indexer.java (indexJarFile): Use - MessageFormat. - * tools/gnu/classpath/tools/jar/Extractor.java: Externalized strings. - (run): Use MessageFormat. - * resource/gnu/classpath/tools/jar/messages.properties: New file. - * tools/gnu/classpath/tools/jar/Creator.java: Externalized strings. - (writeFile): Use MessageFormat. - -2006-05-15 Jeroen Frijters - - * java/awt/Toolkit.java (getDefaultToolkit): Use Class.forName() - instead of directly calling the class loader. - -2006-05-15 Tom Tromey - - * tools/gnu/classpath/tools/getopt/Option.java (getDescription): - Removed old comment. - * tools/gnu/classpath/tools/getopt/ClasspathToolParser.java: - Externalized strings. - (getVersionString): Use MessageFormat. - * tools/gnu/classpath/tools/getopt/Messages.java: New file. - * resource/gnu/classpath/tools/getopt/Messages.properties: New file. - * tools/gnu/classpath/tools/getopt/Parser.java: Externalized strings. - (getArgument): Use a MessageFormat. - (handleLongOption): Likewise. - (parse): Likewise. - -2006-05-15 Robert Schuster - - Fixes PR 27197. - * javax/swing/text/FieldView.java: - (paint): Calculate intersection between clip and allocation area and - set that as new clip. - -2006-05-15 David Gilbert - - * javax/swing/text/JTextComponent.java: Marked stub methods. - -2006-05-15 David Gilbert - - * javax/swing/JTable.java: Marked stub methods. - -2006-05-15 Raif S. Naffah - - * tools/gnu/classpath/tools/jarsigner/Main.java: - Increased visibility of fields used by parser anonymous classes. - (KEYTOOL_TOOL): New constant. - (cmdLineParser): Changed type to ToolParser. - (fileAndAlias): new field. - (main): Don't catch OptionException. - (processArgs): Removed validation checks; now handled by ToolParser. - (getParser): Removed. - (ToolParserCallback): New inner class. - (ToolParser): Likewise. - -2006-05-15 Audrius Meskauskas - - * javax/swing/JTable.java (TableTextArea.scrollRectToVisible): - Removed. - -2006-05-15 Audrius Meskauskas - - * javax/swing/DefaultDesktopManager.java (endDraggingFrame, - endResizingFrame): Do not repaint, unless in the outline mode. - -2006-05-15 David Gilbert - - * javax/swing/JTabbedPane.java - (AccessibleJTabbedPane.getAccessibleRole): Implemented, - (AccessibleJTabbedPane.getAccessibleChildrenCount): Implemented, - (AccessibleJTabbedPane.getAccessibleSelection()): Implemented, - (AccessibleJTabbedPane.getAccessibleAt): Implemented, - (AccessibleJTabbedPane.getAccessibleSelectionCount): Implemented, - (AccessibleJTabbedPane.getAccessibleSelection(int)): Implemented, - (AccessibleJTabbedPane.isAccessibleChildSelected): Implemented, - (AccessibleJTabbedPane.addAccessibleSelection): Implemented, - (AccessibleJTabbedPane.removeAccessibleSelection): Implemented, - (AccessibleJTabbedPane.clearAccessibleSelection): Implemented, - (AccessibleJTabbedPane.selectAllAccessibleSelection): Implemented, - (Page.getAccessibleName): Implemented. - -2006-05-15 Audrius Meskauskas - - * javax/swing/DefaultDesktopManager.java (setBoundsForFrame): - Do not repaint nor revalidate here. - -2006-05-15 Audrius Meskauskas - - * javax/swing/RepaintManager.java (addDirtyRegion): - If there is a lightweight parent, recursively add the corresponding - region of the parent instead. - -2006-05-15 David Gilbert - - * java/awt/Graphics2D.java: Added some API doc comments. - -2006-05-15 David Gilbert - - * javax/swing/JTabbedPane.java - (paramString): Reimplemented, - (getAccessibleContext): Added API docs. - -2006-05-15 David Gilbert - - * javax/swing/JFileChooser.java - (paramString): Reimplemented, - (getAccessibleContext): Updated API docs, - (AccessibleJFileChooser): Added API docs. - -2006-05-14 Tom Tromey - - * tools/gnu/classpath/tools/jar/Updater.java (run): No longer throws - OptionException. - * tools/gnu/classpath/tools/jar/Creator.java (run): No longer throws - OptionException. - * tools/gnu/classpath/tools/jar/Action.java (run): No longer throws - OptionException. - * tools/gnu/classpath/tools/jar/Indexer.java (run): Removed. Moved - validation to JarParser. - * tools/gnu/classpath/tools/jar/Main.java (JarParser): New class. - (run): Moved validation to JarParser. Don't throw OptionException. - (initializeParser): Create a JarParser. - (main): Don't catch OptionException. - * tools/gnu/classpath/tools/getopt/Parser.java (printHelp): No longer - public. - (validate): New method. - (parse): Call it. Print '-help' in error message when long-only. - -2006-05-14 Tom Tromey - - * gnu/java/awt/print/JavaPrinterJob.java (setPrintable): Fixed - assignment. - -2006-05-15 Sven de Marothy - - * gnu/java/awt/print/JavaPrinterGraphics.java: - Sweeping changes I can't be bothered to document in detail. - * gnu/java/awt/print/JavaPrinterJob.java - (getPageAttributes): New method. - (setPageable,cancel,isCancelled): Implement. - -2006-05-14 David Gilbert - - * javax/swing/JCheckBoxMenuItem.java - (requestFocus): Fixed typo in API docs, - (paramString): Just call super.paramString(), - (getAccessibleContext): Added API docs, - (AccessibleJCheckBoxMenuItem): Likewise. - -2006-05-14 Tom Tromey - - * tools/gnu/classpath/tools/jar/Indexer.java - (writeCommandLineEntries): Simplify insertion. - * tools/gnu/classpath/tools/jar/Main.java (run): Don't allow both - -m and -M. - -2006-05-14 Tom Tromey - - PR classpath/27514: - * gnu/java/net/IndexListParser.java (JAR_INDEX_FILE): Renamed. Now - constant. - (JAR_INDEX_VERSION_KEY): Likewise. - (IndexListParser): Updated. - (getVersionInfo): Likewise. - * tools/gnu/classpath/tools/jar/Indexer.java: New file. - * tools/gnu/classpath/tools/jar/Action.java (run): Now throws - OptionException. - * tools/gnu/classpath/tools/jar/Main.java (initializeParser): Handle - -i. - (ModeOption): New constructor. - (parsed): Updated. Use setArchiveFile. - (setArchiveFile): New method. - (run): Handle no-argument case. - (main): Emit --help message on option error. - * tools/gnu/classpath/tools/jar/Updater.java (inputJar): New field. - (createManifest): New method. - (run): Updated. Throws OptionException. Correctly copy zip entry. - * tools/gnu/classpath/tools/jar/Creator.java (createManifest): New - method. - (writeManifest): Removed. - (outputStream): Now a JarOutputStream. - (writeCommandLineEntries): Changed parameters. Updated callers. - (run): Throws OptionException. - * java/util/jar/JarOutputStream.java (putNextEntry): Typo fix. - * java/util/jar/Manifest.java (read): Typo fix. - -2006-05-14 David Gilbert - - * javax/swing/JMenuItem.java - (paramString): Fixed class name in API doc comment. - -2006-05-14 Tom Tromey - - * native/plugin/.cvsignore: Updated. - -2006-05-14 Mark Wielaard - - * native/jni/java-net/javanet.c (_javanet_accept): Don't use C++ - comments. - -2006-05-14 Chris Burdess - - * gnu/xml/dom/DomNode.java: Permit comments and PIs in doctype - nodes to be preserved during cloneNode. - -2006-05-14 Mark Wielaard - - PR 27459 - * native/jni/java-net/javanet.c (_javanet_accept): Reset the - inherited timeout on socket. - -2006-05-14 Lillian Angel - - * java/util/SimpleTimeZone.java: Reverted patch. - (SimpleTimeZone): Throw exception if startMonth == - endMonth. - (SimpleTimeZone): Likewise. - (checkRule): Rewritten to properly check all values (more - efficently). - This code is now more stable, at least less buggy than before. - Fixed API documentation. - (setStartRule): Moved checkRule call to end. - (setStartRule): Likewise. - (setEndRule): Likewise. - (setEndRule): Likewise. - -2006-05-14 Audrius Meskauskas - - * javax/swing/tree/DefaultTreeSelectionModel.java (leadRow): - Initialise to -1. - -2006-05-14 Robert Schuster - - PR classpath/27595 - * javax/swing/text/AbstractDocument.java: - (insertString): Flipped if-expression and its blocks. - (remove): Dito. - (replace): Flipped if-expression and its blocks, added note, invoke - insertString and remove instead of insertStringImpl and removeImpl. - -2006-05-14 Raif S. Naffah - - * tools/gnu/classpath/tools/jarsigner/Main.java (main): Formatting. - -2006-05-14 Raif S. Naffah - - * resource/gnu/classpath/tools/keytool/MessageBundle.properties: - Added help text. - * tools/gnu/classpath/tools/keytool/keytool.txt: Removed - * tools/gnu/classpath/tools/keytool/StorePasswdCmd.java: - Increased visibility of fields used by parser anonymous classes. - (processArgs): Removed. - (getParser): New method. - * tools/gnu/classpath/tools/keytool/SelfCertCmd.java: Likewise. - (setup): Mark (Eclipse) strings that need not be externalised. - (start): Likewise. - * tools/gnu/classpath/tools/keytool/PrintCertCmd.java: Likewise. - * tools/gnu/classpath/tools/keytool/Main.java: Amended to use getopt - command line option parsing. - * tools/gnu/classpath/tools/keytool/ListCmd.java: - Increased visibility of fields used by parser anonymous classes. - (processArgs): Removed. - (setup): set 'all' local field. - (getParser): New method. - * tools/gnu/classpath/tools/keytool/KeyPasswdCmd.java: - Increased visibility of fields used by parser anonymous classes. - (processArgs): Removed. - (getParser): New method. - * tools/gnu/classpath/tools/keytool/KeyCloneCmd.java: Likewise. - (setNewKeyPassword): Fixed comments. - * tools/gnu/classpath/tools/keytool/ImportCmd.java: - Increased visibility of fields used by parser anonymous classes. - (processArgs): Removed. - (getParser): New method. - (findTrustInCACerts): Mark (Eclipse) strings that need not be - externalised. - * tools/gnu/classpath/tools/keytool/GenKeyCmd.java: - Increased visibility of fields used by parser anonymous classes. - (processArgs): Removed. - (setup): Mark (Eclipse) strings that need not be externalised. - (getParser): New method. - * tools/gnu/classpath/tools/keytool/IdentityDBCmd.java: Likewise. - * tools/gnu/classpath/tools/keytool/DeleteCmd.java: - Increased visibility of fields used by parser anonymous classes. - (processArgs): Removed. - (getParser): New method. - * tools/gnu/classpath/tools/keytool/CertReqCmd.java: Likewise. - (ATTRIBUTES_OPT): New constant. - * tools/gnu/classpath/tools/keytool/ExportCmd.java: - Increased visibility of fields used by parser anonymous classes. - (processArgs): Removed. - (setup): Mark (Eclipse) strings that need not be externalised. - (start): Likewise. - Reduced logging level. - (getParser): New method. - * tools/gnu/classpath/tools/keytool/Command.java - (processArgs): Made it concrete. - (getParser): New abstract method. - * tools/Makefile.am (KEYTOOL_HELPS): Removed. - -2006-05-13 Casey Marshall - - Patch by Michael Barker . - * gnu/java/nio/PipeImpl.java: Retrofitted to use VMChannel. - * gnu/java/nio/SelectorImpl.java (register): Added condition for - gnu.java.nio.SocketChannelSelectionKeyImpl. - * gnu/java/nio/SocketChannelSelectionKeyImpl.java: new file. - * gnu/java/nio/channels/FileChannelImpl.java: retrofitted to use - VMChannel. - * include/gnu_java_nio_VMChannel.h: new file. - * java/nio/FileChannel.java (read,write): changed to call abstract - method. - * native/jni/java-nio/gnu_java_nio_VMChannel.c: new file. - * native/jni/java-nio/Makefile.am (libjavanio_SOURCES): add - `gnu_java_nio_VMChannel.c.' - * vm/reference/gnu/java/nio/VMChannel.java: new file. - -2006-05-14 Robert Schuster - - * javax/swing/text/AbstractDocument.java: - (insertString): Flipped if-expression and its blocks. - (remove): Dito. - (replace): Flipped if-expression and its blocks, added note, invoke - insertString and remove instead of insertStringImpl and removeImpl. - -2006-05-13 Tom Tromey - - * java/nio/ByteBufferImpl.java (compact): Always set position. - -2006-05-13 Sven de Marothy - - * gnu/java/awt/print/JavaPrinterGraphics.java - (spoolPostScript): Use a faster writer. - -2006-05-13 Sven de Marothy - - * gnu/java/awt/print/JavaPrinterGraphics.java - (colorTripleHex): Reimplement better. - -2006-05-13 Sven de Marothy - - * javax/swing/text/html/HTMLDocument.java - (CharacterAction.start): Translate tag to StyleAttribute. - (pushCharacterStyle): Push copy of attributes onto stack. - * gnu/javax/swing/text/html/CharacterAttributeTranslator.java: - New file - -2006-05-13 Sven de Marothy - - * gnu/javax/print/ipp/IppRequest.java (send): Set a timeout. - * java/awt/print/PrinterJob.java - (getPrinterJob): Return a JavaPrinterJob - (setPrintService,getPrintService): Implement. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c: - (getPixels): Gtk_threads_enter required. - * gnu/java/awt/print/JavaPrinterGraphics.java - * gnu/java/awt/print/JavaPrinterJob.java - * gnu/java/awt/print/SpooledDocumet.java: - New files. - -2006-05-13 Robert Schuster - - * javax/swing/text/TextAction.java: - (HorizontalMovementAction): New inner class. - (VerticalMovementAction): New inner class. - * javax/swing/text/DefaultEditorKit.java: Added assigning instances of - new inner classes to array 'defaultActions'. - (SelectionBeginWordAction): New inner class. - (SelectionEndWordAction): New inner class. - (BeginWordAction): New inner class. - (EndWordAction): New inner class. - (PreviousWordAction.actionPerformed): Rewritten. - (SelectLineAction): New inner class. - (SelectWordAction): New inner class. - (SelectionDownAction): Rewritten. - (SelectionUpAction): Rewritten. - (DownAction): Rewritten. - (UpAction): Rewritten. - (SelectionForwardAction): Rewritten. - (SelectionBackwardAction): Rewritten. - (ForwardAction): Rewritten. - (BackwardAction): Rewritten. - (BeginAction): New inner class. - (EndAction): New inner class. - (DefaultKeyTypedAction.actionPerformed): Use int variant of - Character.isISOControl. - -2006-05-13 Robert Schuster - - * examples/gnu/classpath/examples/swing/NavigationFilterDemo.java: - (WordFilter.getNextVisualPositionFrom): Added statement to check - for variable pt not being null. - -2006-05-13 Robert Schuster - - * javax/swing/text/Utilities.java: - (getNextWord): Fixed grammar in exception message. - (getPreviousWord): Changed expression in first if-clause, added sub- - expression to if-clause in while-loop. - (getWordStart): Changed expression in if-clause. - getNextVisualPositionFrom): Added package-private helper method. - -2006-05-13 Audrius Meskauskas - - * javax/swing/tree/DefaultTreeSelectionModel.java (leadRow): - Initialise to -1. - -2006-05-13 Raif S. Naffah - - * resource/gnu/classpath/tools/jarsigner/MessageBundle.properties: - Added help text. - * tools/Makefile.am (JARSIGNER_HELPS): Removed. - * tools/gnu/classpath/tools/jarsigner/jarsigner.txt: Removed. - * tools/gnu/classpath/tools/jarsigner/Main.java: - Increased visibility of fields used by parser anonymous classes. - (HELP_PATH): Removed. - (cmdLineParser): New field. - (main): Handle JVM exit status. - Handle command line parsing exceptions. - (processArgs): Use getopt command line parser. - (getParser): New method. - (setupCommonParams): Removed checks now handled by processArgs(). - (setupSigningParams): Likewise. - * tools/gnu/classpath/tools/jarsigner/JarSigner.java (start): - Reuse an existing message-bundle constant. - -2006-05-12 Tom Tromey - - * gnu/java/net/protocol/jar/Connection.java (getHeaderField): - Explicitly specify class for synchronization. - -2006-05-12 Tom Tromey - - * java/util/logging/Logger.java (resetLogger): Fixed typo. - -2006-05-12 Sven de Marothy - - * gnu/java/net/protocol/http/HTTPConnection.java (get): Add timeout parameter. - * gnu/java/net/protocol/http/HTTPURLConnection.java - (setConnectTimeout): New method. - (getConnection): Add timeout parameter. - * java/net/URLConnection.java - (getConnectTimeout, setConnectTimeout): Implement. - * native/target/generic/target_generic_network.h: - Set correct socket parameters SO_SNDTIMEO and SO_RCVTIMEO. - -2006-05-12 Sven de Marothy - - * gnu/javax/print/CupsServer.java - (CupsServer): Make the Cups host configurable. - * java/lang/System.java: Document the system property. - -2006-05-12 Roman Kennke - - * javax/swing/border/TitledBorder.java - (paintBorder): Rewritten for simplicity and correctness. - (layoutBorderWithTitle): New helper method. - (paintBorderWithTitle): New helper method. - (getBorderInsets): Rewritten. - (getMinimumSize): Rewritten. - (getRealJustification): Removed. - (getMeasurements): Removed. - (Measurements): Removed. - -2006-05-12 David Gilbert - - * javax/swing/plaf/basic/BasicPanelUI.java - (sharedUI): New field, - (createUI): Return a shared instance rather than a new instance, - (installUI): Reformatted and added API docs, - (installDefaults): Install border if one is defined, - (uninstallDefaults): Uninstall border. - -2006-05-12 David Gilbert - - * javax/swing/JProgressBar.java: Updated API docs all over. - -2006-05-11 Lillian Angel - - * java/awt/ContainerOrderFocusTraversalPolicy.java - (getComponentAfter): Should not throw exception if - the ancestor is null. Added a check for this. - Also, changed to use new helper function, we should - iterate through all the components at least once. - (getNextAvailableComponent): New helper function. - (getPrevAvailableComponent): New helper function. - (getComponentBefore): Should not throw exception if - the ancestor is null. Added a check for this. - Also, changed to use new helper function, we should - iterate through all the components at least once. - (getFirstComponent): Changed check to manually check - fields. Calling accept() casts the object to a Component, - so different values may be returned. - (getLastComponent): Likewise. - -2006-05-11 David Gilbert - - * javax/swing/plaf/metal/MetalBorders.java: Clean up formatting/style, - * javax/swing/plaf/metal/MetalButtonUI.java: Likewise, - * javax/swing/plaf/metal/MetalCheckBoxUI.java: Likewise, - * javax/swing/plaf/metal/MetalComboBoxButton.java: Likewise, - * javax/swing/plaf/metal/MetalComboBoxIcon.java: Likewise, - * javax/swing/plaf/metal/MetalFileChooserUI.java: Likewise, - * javax/swing/plaf/metal/MetalIconFactory.java: Likewise, - * javax/swing/plaf/metal/MetalInternalFrameTitlePane.java: Likewise, - * javax/swing/plaf/metal/MetalLookAndFeel.java: Likewise, - * javax/swing/plaf/metal/MetalPopupMenuSeparatorUI.java: Likewise, - * javax/swing/plaf/metal/MetalRootPaneUI.java: Likewise, - * javax/swing/plaf/metal/MetalScrollBarUI.java: Likewise, - * javax/swing/plaf/metal/MetalSeparatorUI.java: Likewise, - * javax/swing/plaf/metal/MetalSliderUI.java: Likewise, - * javax/swing/plaf/metal/MetalSplitPaneDivider.java: Likewise, - * javax/swing/plaf/metal/MetalTabbedPaneUI.java: Likewise, - * javax/swing/plaf/metal/MetalToolTipUI.java: Likewise, - * javax/swing/plaf/metal/MetalUtils.java: Likewise. - -2006-05-11 Robert Schuster - - * javax/swing/text/DefaultCaret.java: Made field 'textComponent' - package-private, added field 'active'. - (PropertyChangeHandler.propertyChange): Added variable 'name', added - cases to update field 'active'. - (mouseDragged): Added documentation, added if-clause to update - selection or caret position. - (mouseClicked): Added early return when text component is disabled. - (focusGained): Moved statements into an if-clause. - (focusLost): Added subexpression to if-clause. - (install): Preset value of 'active'. - (paint): Added subexpression to if-clause. - (isVisible): Extended return expression. - * javax/swing/text/JTextComponent.java: - (copy): Copy only if component is enabled. - (cut): Cut only if component is enabled and editable. - (paste): Dito. - -2006-05-11 David Gilbert - - * javax/swing/plaf/multi/MultiComboBoxUI.java: Minor formatting change, - * javax/swing/plaf/multi/MultiFileChooserUI.java: Likewise, - * javax/swing/plaf/multi/MultiListUI.java: Likewise, - * javax/swing/plaf/multi/MultiLookAndFeel.java: Likewise, - * javax/swing/plaf/multi/MultiOptionPaneUI.java: Likewise, - * javax/swing/plaf/multi/MultiSplitPaneUI.java: Likewise, - * javax/swing/plaf/multi/MultiTabbedPaneUI.java: Likewise. - -2006-05-11 Roman Kennke - - * gnu/java/awt/font/GNUGlyphVector.java - (GNUGlyphVector): Don't apply the font renderer context's - transform. - -2006-05-11 Mark Wielaard - - * java/util/logging/Logger.java (global): Initialize inside static - PrivilegedAction. - -2006-05-11 David Gilbert - - * javax/swing/JFrame.java - (EXIT_ON_CLOSE): Added note to API docs, - (close_action): Renamed closeAction, - (JFrame()): Change title to "", - (JFrame(String)): Added API docs, - (getAccessibleContext): Likewise, - (getDefaultCloseOperation): Updated for renamed field, added API docs, - (processWindowEvent): Updated for renamed field, - (setDefaultCloseOperation): Likewise, and updated API docs. - -2006-05-11 David Gilbert - - * javax/swing/JFrame.java - (paramString): Reimplemented, - * javax/swing/SwingUtilities.java - (convertWindowConstantToString): New method. - -2006-05-11 David Gilbert - - * javax/swing/WindowConstants.java: Updated API docs. - -2006-05-11 David Gilbert - - * javax/swing/plaf/basic/BasicToggleButtonUI.java: Updated API docs, - (createUI): Removed 'final' qualifier for parameter, - (paint): Reformatted. - -2006-05-11 David Gilbert - - * javax/swing/plaf/basic/BasicCheckBoxUI.java: Added API docs plus, - (createUI): Removed 'final' qualifier on method argument. - -2006-05-11 David Gilbert - - * javax/swing/plaf/basic/BasicCheckBoxUI.java - (getDefaultIcon): Removed this redundant method. - -2006-05-11 David Gilbert - - * javax/swing/plaf/basic/BasicRadioButtonUI.java - (paint): Pass component size to paintFocus(). - -2006-05-11 Robert Schuster - - * java/awt/Component.java: - (dispatchEventImpl): Added comment. - - 2006-05-11 Mark Wielaard - - * tools/gnu/classpath/tools/appletviewer/Main.java (main): Cast - Option constructor null argument to String. - -2006-05-11 Mark Wielaard - - * java/awt/geom/GeneralPath.java (WIND_EVEN_ODD, WIND_NON_ZERO): - Fully qualify PathIterator constants - -2006-05-11 Robert Schuster - - * java/awt/Component.java: - (dispatchEventImpl): Added subexpression to if-clause. - -2006-05-11 Mark Wielaard - - * java/util/Collections.java (UnmodifiableMapEntry): Qualify - Map.Entry. - -2006-05-10 David Gilbert - - * javax/swing/TransferHandler.java: Marked stub methods. - -2006-05-10 Roman Kennke - - PR classpath/27481 - * javax/swing/plaf/basic/BasicInternalFrameUI.java - (installDefaults): Set background of content pane to null, if - no custom color has been installed by the application yet. - -2006-05-10 Roman Kennke - - PR classpath/27481 - * javax/swing/JRootPane.java - (createContentPane): Don't set background to null. - -2006-05-10 Sven de Marothy - - * java/awt/print/PrinterJob.java: - (lookupPrintServices): Un-comment-out. - -2006-05-11 Raif S. Naffah - - * tools/gnu/classpath/tools/getopt/OptionGroup.java - (FILLER): New constant. - (formatText(PrintStream,String,int)): New method. - (formatText(PrintStream,String,int,Locale)): Likewise. - (printHelp): Use formatText method. - * tools/gnu/classpath/tools/getopt/Parser.java - (MAX_LINE_LENGTH): New constant. - (formatText(PrintStream,String)): New method. - (formatText(PrintStream,String,Locale)): Likewise. - (printHelp): New method. - (printHelp(PrintStream)): Increased visibility to protected. - Use formatText method. - -2006-05-10 David Gilbert - - * javax/swing/plaf/metal/MetalRadioButtonUI.java - (installDefaults): Use getPropertyPrefix() to allow subclasses to - modify the lookup key. - -2006-05-10 Lillian Angel - - * java/util/SimpleTimeZone.java: Reverted patch. - (SimpleTimeZone): Throw exception if startMonth == - endMonth. - (SimpleTimeZone): Likewise. - (checkRule): Rewritten to properly check all values (more - efficently). - This code is now more stable, at least less buggy than before. - Fixed API documentation. - (setStartRule): Moved checkRule call to end. - (setStartRule): Likewise. - (setEndRule): Likewise. - (setEndRule): Likewise. - -2006-05-10 Roman Kennke - - * gnu/java/awt/peer/swing/SwingComponent.java: - Some API comment fixlets. - * gnu/java/awt/peer/swing/SwingComponentPeer.java: - (createImage): Create a BufferedImage, not a Toolkit image. - (paint): Removed bogus API comment. - (prepareImage): Added checks to avoid NPE. - * gnu/java/awt/peer/swing/SwingContainerPeer.java: - (getInsets): Added check to avoid NPE. - (handleMouseEvent): Added check to avoid NPE. - * gnu/java/awt/peer/swing/SwingFramePeer.java: - Some API comment fixlets. - * gnu/java/awt/peer/swing/SwingMenuBarPeer.java: - Some API comment fixlets. - * gnu/java/awt/peer/swing/SwingTextFieldPeer.java: - Changed start_pos name to startPos. - * gnu/java/awt/peer/swing/SwingWindowPeer.java: - Some API comment fixlets. - -2006-05-10 David Gilbert - - * java/awt/BasicStroke.java - (equals): Fixed typo in HTML tag for API doc comment. - -2006-05-10 Gary Benson - - * java/lang/ThreadGroup.java (parent): Make package-private. - * java/lang/SecurityManager.java (checkAccess(Thread)): - Reference ThreadGroup.parent directly to avoid extra checks. - * java/lang/SecurityManager.java (checkAccess(ThreadGroup)): - Likewise. - -2006-05-10 Roman Kennke - - Reported by Ingo Proetel (proetel@aicas.com) - * java/awt/EventDispatchThread.java - (DEFAULT_PRIORITY): New constant field. - (EventDispatchThread()): Added gnu.awt.dispatchthread.priority - system property for adjusting the priority of the event - dispatch thread. - -2006-05-10 Roman Kennke - - Reported by Ingo Proetel (proetel@aicas.com) - * java/awt/image/ColorModel.java - (S_RGB_MODEL): New constant field. - (getRGBDefault): Return constant SRGBColorModel. - (SRGBColorModel): Specialized color model for sRGB. - -2006-05-10 Roman Kennke - - * java/awt/ColorPaintContext.java - (getRaster): Create Raster with (0,0) as source location. - -2006-05-10 Roman Kennke - - * gnu/java/awt/java2d/AlphaCompositeContext.java - (compose): Don't premultiply alpha to alpha itself. - -2006-05-10 Roman Kennke - - * gnu/java/awt/java2d/AbstractGraphics2D.java - (drawImage(Image,AffineTransform,ImageObserver)): Implemented. - (drawImageImpl(Image,AffineTransform,ImageObserver,Rectangle)): - New method. - (drawImage(BufferedImage,BufferedImageOp,int,int)): Implemented. - (drawRenderedImage(RenderedImage,AffineTransform)): Implemented. - (drawRenderedImageImpl(RenderedImage,AffineTransform,Rectangle)): - New method. - (drawRenderableImage(RenderableImage,AffineTransform)): Implemented. - (drawRenderableImageImpl(RenderableImage,AffineTransform,Rectangle)): - New method. - (scale): Inverse transform by doing 1/scale instead of -scale. - (drawImage(Image,int,int,ImageObserver)): Implemented. - (drawImage(Image,int,int,int,int,ImageObserver)): Implemented. - (drawImage(Image,int,int,Color,ImageObserver)): Implemented. - (drawImage(Image,int,int,int,int,Color,ImageObserver)): Implemented. - (drawImage(Image,int,int,int,int,int,int,int,int,ImageObserver)): - Implemented. - (drawImage(Image,int,int,int,int,int,int,int,int,Color,ImageObserver)): - Implemented. - (fillScanline): Work on translated destination raster for - correct compositin. - (init): Fetch the clip after the destination raster is initialized. - * gnu/java/awt/java2d/ImagePaint.java: New file. - * gnu/java/awt/java2d/RasterGraphics - (drawImage): Removed. - -2006-05-09 Thomas Fitzsimmons - - * resource/gnu/classpath/tools/appletviewer/MessagesBundle.properties: - Clarify option descriptions. - * tools/gnu/classpath/tools/appletviewer/Main.java: Use all - uppercase for metasyntactic variables. - -2006-05-09 Robert Schuster - - PR classpath/24216 - * javax/swing/text/AbstractDocument.java: - (insertString): Added more documentation, added argument check. - (remove): Added more documentation. - (removeImpl): Added argument check. - (replace): Added more documentation, added argument check. - -2006-05-09 Tom Tromey - - * tools/.cvsignore: Added appletviewer. - -2006-05-09 Tom Tromey - - * tools/gnu/classpath/tools/getopt/Parser.java (printHelp): Skip - empty groups. - -2006-05-09 Tom Tromey - - * tools/gnu/classpath/tools/getopt/OptionGroup.java (printHelp): - Special case for '-J'. Use space instead of '='. - * tools/gnu/classpath/tools/getopt/Parser.java (setHeader): Added - comment. - -2006-05-09 Thomas Fitzsimmons - - * configure.ac: Add --disable-plugin and --with-vm options. Check - for plugin support headers and libraries. - * native/Makefile.am: Recurse into plugin directory. - * native/plugin/.cvsignore: New file. - * native/plugin/Makefile.am: New file. - * native/plugin/gcjwebplugin.cc: New file. - * tools/Makefile.am: Install appletviewer wrapper script. - * tools/appletviewer.in: Replace VM location heuristic with - VM_BINARY configure substitution. - -2006-05-09 Tom Tromey - - * tools/gnu/classpath/tools/getopt/OptionGroup.java (printHelp): Added - an initial pass to look for short options. Added 'longOnly' option. - * tools/gnu/classpath/tools/appletviewer/Main.java (main): Removed -J - option. - * tools/gnu/classpath/tools/getopt/Parser.java (parsed): Put stadnard - options into final group. Added -J. - (add): Insert new groups before final group. - (printHelp): Updated. - -2006-05-09 Audrius Meskauskas - - PR 27518 - * tools/gnu/classpath/tools/giop/GRMIC.java (main), - tools/gnu/classpath/tools/rmi/RMIC.java (main): - Expect -classpath option. - * tools/gnu/classpath/tools/rmi/RMIC.txt, - tools/gnu/classpath/tools/giop/GRMIC.txt: Documenting - -classpath option. - tools/gnu/classpath/tools/giop/grmic/GiopRmicCompiler.java - (classLoader): New field. (loadClass, setClassPath): - New methods. - -2006-05-09 Roman Kennke - - * gnu/java/awt/java2d/RasterGraphics.java - (RasterGraphics): Call init() and super(). - (drawImage): Temporary drawImage impl until AbstractGraphics2D has - this. - -2006-05-09 Gary Benson - - * java/lang/Thread.java (Thread): Always perform threadgroup - access checks on thread creation. - -2006-05-09 Chris Burdess - - * gnu/xml/dom/DomNode.java: Permit comments and PIs in doctype nodes to - be preserved during cloneNode. - -2006-05-09 Audrius Meskauskas - - PR 27517 - * tools/gnu/classpath/tools/giop/grmic/GiopRmicCompiler.java (compile): - Do not demand all thrown exceptions to be an instance of RemoteException. - -2006-05-09 Thomas Fitzsimmons - - * resource/gnu/classpath/tools/appletviewer/MessagesBundle.properties: - Use hash-style comments. - * resource/gnu/classpath/tools/appletviewer/MessagesBundle_de.properties: - Likewise. - -2006-05-09 David Gilbert - - * javax/swing/JLabel.java - (paramString): Added more attribute details, - * javax/swing/SwingUtilities.java - (convertHorizontalAlignmentCodeToString): New method, - (convertVerticalAlignmentCodeToString): New method. - -2006-05-08 Tom Tromey - - * tools/gnu/classpath/tools/jar/Updater.java (run): Updated. - * tools/gnu/classpath/tools/jar/Main.java: Use javadoc for fields. - * tools/gnu/classpath/tools/jar/Lister.java (listJar): Use - ZipInputStream. - (run): Updated. - * tools/gnu/classpath/tools/jar/Extractor.java (run): Use System.err - for verbose. - (run): Use ZipInputStream. - (initSet): New method. - (shouldExtract): Likewise. - (run): Use new methods. - * tools/gnu/classpath/tools/jar/Creator.java - (writeCommandLineEntries): New overload. - (writeFile): Use System.err for verbose. - (writeManifest): New method. - (writtenItems): New field. - (writeFile): Update it. - (writeCommandLineEntries): Return void. Call writeManifest. - (addEntries): Don't add extra '/'. - * NEWS: Mention jar. - -2006-05-08 Lillian Angel - - * gnu/java/net/IndexListParser.java: New class. - * java/net/URLClassLoader.java - (JarURLLoader): Fixed code to use new class. - -2006-05-08 Roman Kennke - - * javax/swing/JComboBox.java - (AccessibleJComboBox.getAccessibleChildrenCount): Implemented. - (AccessibleJComboBox.getAccessibleChild): Implemented. - (AccessibleJComboBox.getAccessibleSelection()): Implemented. - (AccessibleJComboBox.getAccessibleSelection(int)): Implemented. - (AccessibleJComboBox.isAccessibleChildSelected): Implemented. - (AccessibleJComboBox.getAccessibleAction): Implemented. - (AccessibleJComboBox.getAccessibleActionDescription): Implemented. - (AccessibleJComboBox.getAccessibleActionCount): Implemented. - (AccessibleJComboBox.doAccessibleAction): Implemented. - (AccessibleJComboBox.getAccessibleSelectionCount): Implemented. - (AccessibleJComboBox.addAccessibleSelection): Implemented. - (AccessibleJComboBox.removeAccessibleSelection): Implemented. - (AccessibleJComboBox.clearAccessibleSelection): Implemented. - (AccessibleJComboBox.selectAllAccessibleSelection): Implemented. - -2006-05-08 Thomas Fitzsimmons - - * configure.ac: Add support for building appletviewer. - * resource/gnu/classpath/tools/appletviewer/MessagesBundle.properties: - New file. - * resource/gnu/classpath/tools/appletviewer/MessagesBundle_de.properties: - New file. - * tools/appletviewer.c: New file. - * tools/appletviewer.in: New file. - * tools/gnu/classpath/tools/appletviewer/AppletClassLoader.java: - New file. - * tools/gnu/classpath/tools/appletviewer/AppletSecurityManager.java: - New file. - * tools/gnu/classpath/tools/appletviewer/AppletTag.java: New file. - * tools/gnu/classpath/tools/appletviewer/AppletWarning.java: New - file. - * tools/gnu/classpath/tools/appletviewer/CommonAppletContext.java: - New file. - * tools/gnu/classpath/tools/appletviewer/CommonAppletStub.java: - New file. - * tools/gnu/classpath/tools/appletviewer/ConsoleDialog.java: New - file. - * tools/gnu/classpath/tools/appletviewer/ErrorApplet.java: New - file. - * tools/gnu/classpath/tools/appletviewer/Main.java: New file. - * tools/gnu/classpath/tools/appletviewer/PluginAppletContext.java: - New file. - * tools/gnu/classpath/tools/appletviewer/PluginAppletViewer.java: - New file. - * tools/gnu/classpath/tools/appletviewer/PluginAppletWindow.java: - New file. - * tools/gnu/classpath/tools/appletviewer/StandaloneAppletContext.java: - New file. - * tools/gnu/classpath/tools/appletviewer/StandaloneAppletViewer.java: - New file. - * tools/gnu/classpath/tools/appletviewer/StandaloneAppletWindow.java: - New file. - * tools/gnu/classpath/tools/appletviewer/TagParser.java: New - file. - -2006-05-08 Tom Tromey - - * tools/gnu/classpath/tools/getopt/ClasspathToolParser.java: New file. - * tools/gnu/classpath/tools/jar/Action.java: New file. - * tools/gnu/classpath/tools/jar/Creator.java: New file. - * tools/gnu/classpath/tools/jar/Entry.java: New file. - * tools/gnu/classpath/tools/jar/Extractor.java: New file. - * tools/gnu/classpath/tools/jar/Lister.java: New file. - * tools/gnu/classpath/tools/jar/Main.java: New file. - * tools/gnu/classpath/tools/jar/Updater.java: New file. - * tools/gnu/classpath/tools/getopt/Option.java: New file. - * tools/gnu/classpath/tools/getopt/OptionException.java: New file. - * tools/gnu/classpath/tools/getopt/OptionGroup.java: New file. - * tools/gnu/classpath/tools/getopt/Parser.java: New file. - * tools/gnu/classpath/tools/getopt/FileArgumentCallback.java: New - file. - -2006-05-08 Lillian Angel - - * java/net/URLClassLoader.java - (JarURLLoader): Added check to make sure the INDEX.LIST file - exists. - -2006-05-08 Roman Kennke - - * gnu/java/awt/java2d/AbstractGraphics2D.java - (fill): Removed commented out code. - (fillShape): Also determine the outline of the clip and feed - it into the rendering method. Use new helper method for - converting the shapes into lists of segments. - (getUserBounds): Removed obsolete method. - (rawFillShape): Respect the clip when rendering shapes. - (fillShapeAntialias): Adjusted signature for new clipped rendering. - However, the implementation can't clip still. - (getSegments): New helper method for converting a shape into - a list of segments. - (clipShape): Removed obsolete method. - * gnu/java/awt/java2d/PolyEdge.java - (isClip): New field. - (PolyEdge): Added isField argument to constructor. - -2006-05-08 Roman Kennke - - PR 27481 - * javax/swing/JRootPane.java - (createContentPane): Set background of the content pane to null, - so that the content pane inherits its background from the - root pane. - -2006-05-08 Roman Kennke - - PR 27480 - * javax/swing/ButtonGroup.java - (add): Check if new button is selected and if so, deselect other - buttons in the group. - -2006-05-08 Lillian Angel - - PR 27444 - * java/net/URLClassLoader.java - (JarURLLoader): Added code to go through - META-INF/INDEX.LIST file to load all jars listed. - -2006-05-08 Roman Kennke - - PR 27461 - * javax/swing/ImageIcon.java - (ImageIcon(URL)): Set description to URL.toString(). - -2006-05-08 Roman Kennke - - PR 27482 - * javax/swing/JTable.java - (IconCellRenderer.getTableCellRendererComponent): Set icon to - null when cell value is null. - -2006-05-08 Roman Kennke - - PR 27484 - * javax/swing/DefaultDesktopManager.java - (closeFrame): Don't perform default close action on the frame - to prevent endless loop. - -2006-05-08 Roman Kennke - - PR 27485 - * javax/swing/table/DefaultTableModel.java - (addExtraRows): New helper method. - (checkSize): New helper method. - (setRowCount): Use addExtraRows helper method. - (addColumn): Use addExtraRows helper method. - (getColumnName): Check and adjust size if necessary using - checkSize(). - -2006-05-08 Roman Kennke - - PR 27486 - * javax/swing/JTable.java - (setValueAt): Allow setting values even when table is editable. - -2006-05-08 Tom Tromey - - * java/text/SimpleDateFormat.java (compileFormat): Added missing - space to error message. - -2006-05-08 David Gilbert - - * javax/swing/AbstractButton.java: Fixed comment typos. - -2006-05-07 Andrew John Hughes - - PR classpath/27435: - * java/util/zip/DeflaterEngine.java: - (deflateFast(boolean,boolean)): Empty buffer when full. - -2006-05-07 Sven de Marothy - - Fixed PR27343 - * java/util/Calendar.java (setTimeZone): Force recalculation. - -2006-05-07 Sven de Marothy - - Fixed PR27463 - * javax/swing/plaf/metal/MetalInternalFrameTitlePane.java - (propertyChange): Handle FRAME_ICON_PROPERTY property. - -2006-05-07 Andrew John Hughes - - PR classpath/27311: - * gnu/java/text/StringFormatBuffer.java: - (toString()): Implemented so we can see the contents. - * java/text/DecimalFormat.java: - (formatInternal(double,StringFormatBuffer,FieldPosition)): - Don't calculate the exponent when the number is 0 or less. - Also, use log10 instead of log now it's available. - -2006-05-07 Raif S. Naffah - - * gnu/javax/crypto/keyring/PrimitiveEntry.java (PrimitiveEntry): - Use instance's field creationDate not the constructor's argument. - * gnu/javax/crypto/keyring/PasswordEncryptedEntry.java: - Removed unused imports. - Sorted imports. - (log): New field. - (decrypt): Added trace/debug/timing statements. - (encrypt): Likewise. - Use PRNG instead of instantiating every time a new SecureRandom. - * gnu/javax/crypto/keyring/PasswordAuthenticatedEntry.java: - Removed unused imports. - Sorted imports. - (log): New field. - (verify): Added trace/debug/timing statements. - (authenticate): Likewise. - Use PRNG instead of instantiating every time a new SecureRandom. - -2006-05-07 Raif S. Naffah - - * gnu/classpath/debug/Simple1LineFormatter.java (DAT_FORMAT): Removed. - (THREAD_FORMAT): Likewise. - (dateFormat): Added field. - (threadFormat): Added field. - (format): Initialize instance fields if null. - Use StringBuilder instead of StringBuffer. - -2006-05-07 Roman Kennke - - * gnu/java/awt/java2d/RasterGraphics.java: New file. - -2006-05-07 Roman Kennke - - * gnu/java/awt/java2d/AbstractGraphics2D.java - (fillShape): Determine user space bounds of shape and feed them - into the actual rendering pipeline. - (rawSetPixel): Made non-abstract for now. Maybe remove later. - (rawSetForeground): Likewise. - (getDestinationColorModel): Removed. - (getDeviceBounds): Made non-abstract. Provide useful default impl. - (rawFillShape): Handle paint context. - (fillScanline): Implement painting and compositing. - (fillShapeAntialias): Handle paint context. - (fillScanlineAA): Implemented preliminary antialiasing based on - composite context. Not working yet. - (fillScanlineAlpha): Removed. - (init): Fetch destination raster. - (getDestinationRaster): New abstract method. - (updateRaster): New backend method. - -2006-05-07 Roman Kennke - - * gnu/java/awt/java2d/AlphaCompositeContext.java - (compose): Fixed loops, conditions and logic to make compositing - work correctly. - -2006-05-07 Roman Kennke - - * java/awt/ColorPaintContext.java - (ColorPaintContext): Fixed filling of the raster. - -2006-05-07 Sven de Marothy - - Fixed PR27455 - * gnu/java/awt/peer/GLightweightPeer.java (mouseEntered): Remove. - * java/awt/Component.java (processMouseEvent): - Do lightweight cursor handling. - * javax/swing/plaf/basic/BasicTableHeaderUI.java - (endResizing,mouseMoved): Save and reset original cursor, not the - default one. - -2006-05-07 Audrius Meskauskas - - PR 27298 - * javax/swing/plaf/basic/BasicTreeUI.java (NodeDimensionsHandler. - getNodeDimensions): Mind the size of the node icon. (getRowX): - use totalChildIndent. (TreeExpansionHandler): Set maximal height - to zero on events. (nullIcon): New field. (getCurrentControlIcon): - Return nullIcon if there is no other icon. (getNodeIcon): New method. - (installDefaults): assign totalChildIndent. (installUI): Call - updateExpandedDescendants. (paintHorizontalPartOfLeg): Rewritten. - (paintRow): Rewritten. (updateRenderer): Do not set the renderer for - the tree. - -2006-05-06 Sven de Marothy - - Fixed PR27454 - * gnu/java/awt/peer/gtk/GtkImage: (drawPixels,drawPixelsScaled): - Check for zero image sizes. - -2006-05-06 Olivier Jolly - - Fixed PR27362 - * java/util/Calendar.java (clear(int)): Forced internal state - completion before performing a field clearing. - -2006-05-06 Olivier Jolly - - * java/util/Collections.java(UnmodifiableMap.UnmodifiableEntrySet. - UnmodifiableMapEntry): New Map.Entry implementation which is immutable. - (UnmodifiableMap.UnmodifiableEntrySet.iterator, - UnmodifiableMap.UnmodifiableEntrySet.toArray, - UnmodifiableMap.UnmodifiableEntrySet.toArray(Object[])): Used - UnmodifiableMapEntry as part of their return value. - -2006-05-06 Raif S. Naffah - - * tools/keytool.sh.in: Removed (renamed to keytool.in). - * tools/jarsigner.in: Removed (renamed to jarsigner.in). - * tools/Makefile.am: Include jarsigner and keytool classes in tools.zip. - Generate jarsigner and keytool scripts. - * tools/keytool.in: New file (renamed from keytool.sh.in). - * tools/jarsigner.in: New file (renamed from jarsigner.sh.in). - * tools/.cvsignore: Replaced *.sh with * - * configure.ac: Replaced tools/*.sh with tools/*. - -2006-05-05 Roman Kennke - - * java/awt/image/ColorModel.java - (getNormalizedComponents): Implemented. - -2006-05-05 Roman Kennke - - * javax/swing/plaf/basic/BasicRadioButtonUI.java - (paint): Query the button model for it's state, not the - button itself. - -2006-05-05 Roman Kennke - - * javax/swing/JTable.java - (tableChanged): Sync selection model with table model changes. - -2006-05-05 Audrius Meskauskas - - * javax/swing/plaf/basic/BasicTreeUI.java (paint): Return early - if there are no visible nodes to paint. - -2006-05-05 David Gilbert - - * javax/swing/JOptionPane.java: API doc updates. - -2006-05-05 David Gilbert - - * javax/swing/JToolBar.java - (paramString): Reimplemented. - -2006-05-05 David Gilbert - - * javax/swing/JScrollBar.java - (paramString): Reimplemented. - -2006-05-04 Tom Tromey - - PR classpath/27375: - * java/util/zip/ZipFile.java (entries): Now a LinkedHashMap. - (readEntries): Updated. - (getEntries): Likewise. - (getEntry): Likewise. - (getInputStream): Likewise. - -2006-05-04 Thomas Fitzsimmons - - * gnu/javax/imageio/jpeg/DCT.java, - gnu/javax/imageio/jpeg/HuffmanTable.java, - gnu/javax/imageio/jpeg/JPEGComponent.java, - gnu/javax/imageio/jpeg/JPEGDecoder.java, - gnu/javax/imageio/jpeg/JPEGException.java, - gnu/javax/imageio/jpeg/JPEGFrame.java, - gnu/javax/imageio/jpeg/JPEGImageInputStream.java, - gnu/javax/imageio/jpeg/JPEGImageReader.java, - gnu/javax/imageio/jpeg/JPEGImageReaderSpi.java, - gnu/javax/imageio/jpeg/JPEGMarker.java, - gnu/javax/imageio/jpeg/JPEGMarkerFoundException.java, - gnu/javax/imageio/jpeg/JPEGScan.java, - gnu/javax/imageio/jpeg/YCbCr_ColorSpace.java, - gnu/javax/imageio/jpeg/ZigZag.java: New files. - -2006-05-04 Lillian Angel - - * javax/swing/JLabel.java - (JLabel): Pass in an empty string for the text parameter. - (JLabel): Likewise. - (JLabel): Likewise. - -2006-05-04 Roman Kennke - - * javax/swing/plaf/basic/BasicButtonListener.java - (mouseEntered): Fixed conditions for changing states. - -2006-05-04 Roman Kennke - - * javax/swing/JOptionPane.java - (AccessibleJOptionPane.getAccessibleRole): Implemented method. - -2006-05-04 Roman Kennke - - * javax/swing/JLabel.java - (AccessibleJLabel.getSelectedText): Return null instead of "". - (AccessibleJLabel.getSelectionStart): Added comment why - return -1 is correct here. - (AccessibleJLabel.getSelectionEnd): Added comment why - return -1 is correct here. - (AccessibleJLabel.getCharacterAttribute): Added comment about what - to do here. - (AccessibleJLabel.getCharCount): Added comment about what - to do here. - (AccessibleJLabel.getCharacterBounds): Tagged as not implemented. - (AccessibleJLabel.getIndexAtPoint): Tagged as not implemented. - (paramString): Return super.paramString() here, this provides - a more meaningful output. - -2006-05-04 Roman Kennke - - * javax/swing/JComponent.java - (paint): Added null check to avoid NPE when clip == null. - -2006-05-04 Roman Kennke - - * javax/swing/AbstractButton.java - (addImpl): New method. Installs an OverlayLayout if no - other layout has been installed before. - (setLayout): New method. Detect if a client app installs a custom - layout. - -2006-05-04 Roman Kennke - - * javax/swing/table/DefaultTableCellRenderer.java - (noFocusBorder): Fixed width of empty border to 1. - (getTableCellRendererComponent): Don't change the colors for - focuses cells. Fixed border for focused cells. - -2006-05-04 Roman Kennke - - * javax/swing/JTable.java - (moveToCellBeingEdited): Adjust bounding box of editing component - to exactly cover the grid. - * javax/swing/plaf/basic/BasicTableUI.java - (paint): Paint grid to the bottom and right of the cells instead - of left and top. Adjust bounding box of cells accordingly. - * javax/swing/plaf/metal/MetalLookAndFeel.java - (initComponentDefaults): Fixed color of JTable selection border. - * javax/swing/plaf/metal/OceanTheme.java - (addCustomEntriesToTable): Fixed color of JTable selection border. - -2006-05-04 Raif S. Naffah - - * tools/gnu/classpath/tools/keytool/ExportCmd.java (setup): - Use _alias instead of alias. - -2006-05-03 Andrew John Hughes - - * configure.ac: - Set version to 0.92-pre. - * NEWS: - Add space for 0.92 entries. - -2006-05-03 Andrew John Hughes - - * include/Makefile.am: - Added rules for gnu.java.net.local.LocalSocketImpl.h - * include/java_lang_VMSystem.h: - Regenerated correctly. - -2006-05-03 Sven de Marothy - - PR 24023, 24701 - * java/awt/Image.java: - (getScaledInstance): Default to AreaAveraging for "smooth", - don't thrown an error on illegal flag values. - * java/awt/image/AreaAveragingScaleFilter.java: Implement. - -2006-05-03 Robert Schuster - - * javax/swing/text/FieldView.java: - (adjustAllocation): Added if-block to return null when shape argument - is null. - * javax/swing/text/PlainView.java: - (updateDamage): Added if-block to return early if a is null. - -2006-05-03 Robert Schuster - - * javax/swing/plaf/basic/BasicTextUI.java: - (changeUpdate): Added note. - (removeUpdate): Dito. - (insertUpdate): Dito. - (damageRange): Added if-block to return early. - (modelToView): Added check of getVisibleEditorRect's return value. - (getVisibleEditorRect): Return null instead of empty rectangle. - * javax/swing/text/DefaultCaret.java: - (clearHighlight): Removed if-clause to create a highlight entry if it - did not exist before. - * javax/swing/text/WrappedPlainView.java: - (WrappedLine.modelToView): Throw exception if allocation area is empty, - removed 2nd part of if-expression. - (WrappedLine.updateDamage): Added more documentation, added check - whether allocation area rectangle is null. - -2006-05-03 Audrius Meskauskas - - * javax/swing/JSplitPane.java (setDividerLocation(int)): - Reset to preferred sizes if the argument is negative. - -2006-05-03 David Gilbert - - * javax/swing/JList.java: Added/updated API docs. - -2006-05-03 Lillian Angel - - * javax/swing/JComponent.java - (getRoot): New private function. Gets the root appropriate - for painting. If an applet exists as a parent, then it is returned. - (paintDoubleBuffered): Changed to use new function. - * javax/swing/RepaintManager.java - (getRoot): New private function. Gets the root appropriate - for painting. If an applet exists as a parent, then it is returned. - (getOffscreenBuffer): Changed to use new function. - * javax/swing/SwingUtilties.java - (getRoot): Reverted last patch to return Window, even if - an Applet exists. - -2006-05-03 Raif S. Naffah - - * gnu/javax/crypto/jce/keyring/GnuKeyring.java: Re-implemented using - a pair of one public keyring and one private keyring. - * gnu/javax/crypto/keyring/GnuPublicKeyring.java (log): New field. - (containsCertificate): Added logging. - (getCertificate): Likewise. - (putCertificate): Likewsie. - (load): Likewise. - (store): Likewise. - * gnu/javax/crypto/keyring/GnuPrivateKeyring.java (log): New field. - (containsPrivateKey): Added logging. - (getPrivateKey): Likewise. - (putPrivateKey): Likewise. - (containsPublicKey): Likewise. - (getPublicKey): Likewise. - (putPublicKey): Likewise. - (containsCertPath): Likewise. - (getCertPath): Likewise. - (putCertPath): Likewise. - (load): Likewise. - (store): Likewise. - -2006-05-03 Roman Kennke - - * gnu/java/awt/java2d/AlphaCompositeContext.java: New class. - * java/awt/AlphaComposite.java - (createContext): Implemented. - -2006-05-03 Audrius Meskauskas - - * gnu/java/awt/peer/gtk/GdkGraphics2D.java (drawRaster): - Set the current color again after drawing the raster. - -2006-05-03 Audrius Meskauskas - - * javax/swing/text/WrappedPlainView.java (WrappedLine.modelToView): - Do not check pos < currLineEnd if currLineStart == currLineEnd. - -2006-05-03 Raif S. Naffah - - * tools/gnu/classpath/tools/keytool/Command.java (getCallbackHandler): - Assign returned value to field handler. - * tools/gnu/classpath/tools/jarsigner/Main.java (getCallbackHandler): - Likewise. - -2006-05-02 Audrius Meskauskas - - * javax/swing/ScrollPaneLayout.java (layoutContainer): - Return without action if there is no view in the viewport. - * javax/swing/text/WrappedPlainView.java - (WrappedLine.getPreferredSpan): If metrics == null, update - metrics. - * javax/swing/tree/DefaultTreeModel.java (constructors): - Do not call setRoot, assign the root node directly. - -2006-05-02 Lillian Angel - - * javax/swing/SwingUtilities.java - (getRoot): Should return the Applet if it exists. - Only return the Window if an Applet has not been - encountered. - -2006-05-02 Lillian Angel - - * gnu/javax/swing/text/html/parser/support/Parser.java - (readAttributes): Reverted Audrius' last patch. There is - a slight difference in code between the NUMTOKEN and SLASH case. - -2006-05-02 Robert Schuster - - * javax/swing/text/JTextComponent.java: - (setText): Throw InternalError from catch-block. - * javax/swing/text/GapContent.java: - (removed): Removed if-expression, changed '>' to '>='. - -2006-05-02 Roman Kennke - - * gnu/java/awt/java2d/AbstractGraphics2D.java - (AA_SAMPLING): New constant. - (alpha): New field. Used in the antialiasing renderer. - (edgeTable): New field. Used in the antialiasing renderer. - (AbstractGraphics2D): Initialize rendering hints wrt - anti-aliasing. - (draw): Clip after stroking. Commented out clipping for now, - it seems to be buggy. - (fill): Commented out clipping for now, it seems to be buggy. - (setComposite): Don't create composite context. - (setPaint): Only change paint when parameter is not null. - (translate): Call setClip() so subclasses can update their clip - too. - (clip): Call setClip() so subclasses can update their clip - too. - (drawGlyphVector): Added clipping, but left it commented out - because it's buggy. - (getClipBounds): Returns null when clip is null. - (drawLine): Call rawDrawLine with translation applied. - (filLRect): Call rawFillRect with translation applied. - (fillShape): Added support for anti-aliasing. - (rawSetForeground(int,int,int)): New method. - (rawFillShape): A couple of painting fixes. - (fillScanline): Implemented to call rawDrawLine. - (fillShapeAntialias): New method. Implements an anti-aliasing - shape filler. - (fillScanlineAA): New method. Used for the anti-aliasing - shape filler. - (fillScanlineAlpha): New method. Used for the anti-aliasing - shape filler. - (init): Initialize clip with the device bounds. - (updateOptimization): Fixed the optimization condition. - -2006-05-02 Robert Schuster - - * javax/swing/text/GapContent.java: - (GapContent): Restrict size argument by 2. - (insertString): Changed expression from >= to >. - (remove): Changed right side of expression to 'length - 1', changed - exception message. - (getChars): Throw exception if where below 0. - (replace): Replaced call to setPositionsInRange() with - resetMarksAtZero(), removed note. - -2006-05-02 Roman Kennke - - PR 27326 - * javax/swing/MenuSelectionManager.java - (setSelectedPath): Rewritten. - -2006-05-02 Audrius Meskauskas - - * gnu/javax/swing/text/html/parser/support/Parser.java - (readAttributes): Merge case NUMTOKEN: and case SLASH: - sections. - -2006-05-02 Raif S. Naffah - - * tools/.cvsignore: Added keytool.sh. - * configure.ac: Added tools/keytool.sh to AC_CONFIG_FILES. - -2006-05-02 Raif S. Naffah - - * doc/tools.texinfo: New file. - * doc/Makefile.am: Generate tools documentation. - -2006-05-02 Raif S. Naffah - - * tools/keytool.sh.in: New file. - * tools/gnu/classpath/tools/keytool/CertReqCmd.java: Likewise. - * tools/gnu/classpath/tools/keytool/Command.java: Likewise. - * tools/gnu/classpath/tools/keytool/DeleteCmd.java: Likewise. - * tools/gnu/classpath/tools/keytool/ExportCmd.java: Likewise. - * tools/gnu/classpath/tools/keytool/GenKeyCmd.java: Likewise. - * tools/gnu/classpath/tools/keytool/IdentityDBCmd.java: Likewise. - * tools/gnu/classpath/tools/keytool/ImportCmd.java: Likewise. - * tools/gnu/classpath/tools/keytool/KeyCloneCmd.java: Likewise. - * tools/gnu/classpath/tools/keytool/KeyPasswdCmd.java: Likewise. - * tools/gnu/classpath/tools/keytool/ListCmd.java: Likewise. - * tools/gnu/classpath/tools/keytool/Main.java: Likewise. - * tools/gnu/classpath/tools/keytool/Messages.java: Likewise. - * tools/gnu/classpath/tools/keytool/PrintCertCmd.java: Likewise. - * tools/gnu/classpath/tools/keytool/SelfCertCmd.java: Likewise. - * tools/gnu/classpath/tools/keytool/StorePasswdCmd.java: Likewise. - * tools/gnu/classpath/tools/keytool/keytool.txt: Likewise. - * tools/gnu/classpath/tools/keytool/package.html: Likewise. - * resource/gnu/classpath/tools/keytool/MessageBundle.properties: Likewise. - -2006-05-02 Raif S. Naffah - - * tools/gnu/classpath/tools/jarsigner/jarsigner.txt: Re-arranged to - resemble more closely man-page style text. - * tools/gnu/classpath/tools/jarsigner/SFHelper.java: - Mark (Eclipse) strings that need not be externalised. - (writeSF): Likewise. - (writeDSA): Likewise. - Use package-private Messages class to provide i18n-ready strings. - (startSigning): - Use package-private Messages class to provide i18n-ready strings. - (updateEntry): Likewise. - Mark (Eclipse) strings that need not be externalised. - (finishSigning): Likewise. - * tools/gnu/classpath/tools/jarsigner/Main.java: - Mark (Eclipse) strings that need not be externalised. - (main): Do not use constant strings as class name. - Use package-private Messages class to provide i18n-ready strings. - Reduced logging level so INFO becomes FINER, and WARNING becomes FINE. - (processArgs): Do not use constant strings as class name. - Mark (Eclipse) strings that need not be externalised. - Reduced logging level so INFO becomes FINER, and WARNING becomes FINE. - (start): Do not use constant strings as class name. - (teardown): Likewise. - Use ProviderUtil. - (setupCommonParams): Do not use constant strings as class name. - Use package-private Messages class to provide i18n-ready strings. - Reduced logging level so INFO becomes FINER, and WARNING becomes FINE. - (installNewProvider): Do not use constant strings as class name. - Use ProviderUtil. - (setupSigningParams): Do not use constant strings as class name. - Use package-private Messages class to provide i18n-ready strings. - Mark (Eclipse) strings that need not be externalised. - (getCallbackHandler): Use CallbackUtil. - * tools/gnu/classpath/tools/jarsigner/JarSigner.java (start): - Use package-private Messages class to provide i18n-ready strings. - Reduced logging level so INFO becomes FINER, and WARNING becomes FINE. - * tools/gnu/classpath/tools/jarsigner/JarVerifier.java (start): Likewise. - (verifySF): Likewise. - (verifySFEntries): Do not use constant strings as class name. - Use Boolean.valueOf instead of new Boolean(). - (verifySFEntry): Mark (Eclipse) strings that need not be externalised. - * resource/gnu/classpath/tools/jarsigner/MessageBundle.properties: - New file. - * tools/gnu/classpath/tools/jarsigner/package.html: Likewise. - * tools/gnu/classpath/tools/jarsigner/Messages.java: Likewise. - -2006-05-02 Raif S. Naffah - - * tools/gnu/classpath/tools/common/CallbackUtil.java: New file. - * tools/gnu/classpath/tools/common/ProviderUtil.java: Likewise. - * tools/gnu/classpath/tools/common/SecurityProviderInfo.java: Likewise. - -2006-05-01 Tom Tromey - - * java/nio/ByteBufferImpl.java (compact): Don't reset position - in empty case. - * gnu/java/nio/ChannelReader.java (read): Synchronize. - (close): Synchronize. - * java/nio/ShortBufferImpl.java (compact): Rewrote. - * java/nio/LongBufferImpl.java (compact): Rewrote. - * java/nio/IntBufferImpl.java (compact): Rewrote. - * java/nio/FloatBufferImpl.java (compact): Rewrote. - * java/nio/DoubleBufferImpl.java (compact): Rewrote. - * java/nio/CharBufferImpl.java (compact): Rewrote. - * gnu/java/nio/ChannelWriter.java: New file. - * java/nio/channels/Channels.java (newWriter): Implemented. - -2006-05-01 Lillian Angel - - * java/util/SimpleTimeZone.java - (SimpleTimeZone): Do not throw exception if startMonth == endMonth. - (SimpleTimeZone): Likewise. - (checkRule): Rewritten to properly check all values (more efficently). - This code is now more stable, at least less buggy than before. Fixed - API documentation. - (setStartRule): Moved checkRule call to end. - (setStartRule): Likewise. - (setEndRule): Likewise. - (setEndRule): Likewise. - -2006-05-01 Tom Tromey - - * lib/.cvsignore: Added classes.2. - -2006-05-01 Tom Tromey - - * java/util/jar/JarFile.java (provider): Now package-private. - * java/lang/Enum.java (compareTo): Javadoc fix. - * java/lang/Boolean.java (compareTo): Javadoc fix. - -2006-05-01 Lillian Angel - - * gnu/javax/swing/text/html/parser/support/Parser.java - (readAttributes): Formatted function. Added handling for - SLASH token. The value of an attribute may start with a slash - (i.e. a path). I added handling similar to to the NUMTOKEN code. - We should not be skipping over these type of attributes. - -2006-04-30 Andrew John Hughes - - * include/gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.h, - * include/gnu_java_awt_peer_gtk_GdkFontPeer.h, - * include/gnu_java_awt_peer_gtk_GdkGraphics.h, - * include/gnu_java_awt_peer_gtk_GdkGraphics2D.h, - * include/gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.h, - * include/gnu_java_awt_peer_gtk_GdkPixbufDecoder.h, - * include/gnu_java_awt_peer_gtk_GdkRobotPeer.h, - * include/gnu_java_awt_peer_gtk_GdkTextLayout.h, - * include/gnu_java_awt_peer_gtk_GtkButtonPeer.h, - * include/gnu_java_awt_peer_gtk_GtkCanvasPeer.h, - * include/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.h, - * include/gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.h, - * include/gnu_java_awt_peer_gtk_GtkCheckboxPeer.h, - * include/gnu_java_awt_peer_gtk_GtkChoicePeer.h, - * include/gnu_java_awt_peer_gtk_GtkClipboard.h, - * include/gnu_java_awt_peer_gtk_GtkComponentPeer.h, - * include/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.h, - * include/gnu_java_awt_peer_gtk_GtkFileDialogPeer.h, - * include/gnu_java_awt_peer_gtk_GtkFramePeer.h, - * include/gnu_java_awt_peer_gtk_GtkGenericPeer.h, - * include/gnu_java_awt_peer_gtk_GtkImage.h, - * include/gnu_java_awt_peer_gtk_GtkLabelPeer.h, - * include/gnu_java_awt_peer_gtk_GtkListPeer.h, - * include/gnu_java_awt_peer_gtk_GtkMenuBarPeer.h, - * include/gnu_java_awt_peer_gtk_GtkMenuComponentPeer.h, - * include/gnu_java_awt_peer_gtk_GtkMenuItemPeer.h, - * include/gnu_java_awt_peer_gtk_GtkMenuPeer.h, - * include/gnu_java_awt_peer_gtk_GtkPanelPeer.h, - * include/gnu_java_awt_peer_gtk_GtkPopupMenuPeer.h, - * include/gnu_java_awt_peer_gtk_GtkScrollPanePeer.h, - * include/gnu_java_awt_peer_gtk_GtkScrollbarPeer.h, - * include/gnu_java_awt_peer_gtk_GtkSelection.h, - * include/gnu_java_awt_peer_gtk_GtkTextAreaPeer.h, - * include/gnu_java_awt_peer_gtk_GtkTextFieldPeer.h, - * include/gnu_java_awt_peer_gtk_GtkToolkit.h, - * include/gnu_java_awt_peer_gtk_GtkWindowPeer.h, - * include/gnu_java_awt_peer_qt_MainQtThread.h, - * include/gnu_java_awt_peer_qt_QMatrix.h, - * include/gnu_java_awt_peer_qt_QPainterPath.h, - * include/gnu_java_awt_peer_qt_QPen.h, - * include/gnu_java_awt_peer_qt_QtAudioClip.h, - * include/gnu_java_awt_peer_qt_QtButtonPeer.h, - * include/gnu_java_awt_peer_qt_QtCanvasPeer.h, - * include/gnu_java_awt_peer_qt_QtCheckboxPeer.h, - * include/gnu_java_awt_peer_qt_QtChoicePeer.h, - * include/gnu_java_awt_peer_qt_QtComponentPeer.h, - * include/gnu_java_awt_peer_qt_QtContainerPeer.h, - * include/gnu_java_awt_peer_qt_QtDialogPeer.h, - * include/gnu_java_awt_peer_qt_QtEmbeddedWindowPeer.h, - * include/gnu_java_awt_peer_qt_QtFileDialogPeer.h, - * include/gnu_java_awt_peer_qt_QtFontMetrics.h, - * include/gnu_java_awt_peer_qt_QtFontPeer.h, - * include/gnu_java_awt_peer_qt_QtFramePeer.h, - * include/gnu_java_awt_peer_qt_QtGraphics.h, - * include/gnu_java_awt_peer_qt_QtGraphicsEnvironment.h, - * include/gnu_java_awt_peer_qt_QtImage.h, - * include/gnu_java_awt_peer_qt_QtLabelPeer.h, - * include/gnu_java_awt_peer_qt_QtListPeer.h, - * include/gnu_java_awt_peer_qt_QtMenuBarPeer.h, - * include/gnu_java_awt_peer_qt_QtMenuComponentPeer.h, - * include/gnu_java_awt_peer_qt_QtMenuItemPeer.h, - * include/gnu_java_awt_peer_qt_QtMenuPeer.h, - * include/gnu_java_awt_peer_qt_QtPanelPeer.h, - * include/gnu_java_awt_peer_qt_QtPopupMenuPeer.h, - * include/gnu_java_awt_peer_qt_QtScreenDevice.h, - * include/gnu_java_awt_peer_qt_QtScrollPanePeer.h, - * include/gnu_java_awt_peer_qt_QtScrollbarPeer.h, - * include/gnu_java_awt_peer_qt_QtTextAreaPeer.h, - * include/gnu_java_awt_peer_qt_QtTextFieldPeer.h, - * include/gnu_java_awt_peer_qt_QtToolkit.h, - * include/gnu_java_awt_peer_qt_QtVolatileImage.h, - * include/gnu_java_awt_peer_qt_QtWindowPeer.h, - * include/gnu_javax_sound_midi_alsa_AlsaMidiDeviceProvider.h, - * include/gnu_javax_sound_midi_alsa_AlsaMidiSequencerDevice.h, - * include/gnu_javax_sound_midi_alsa_AlsaPortDevice.h, - * include/gnu_javax_sound_midi_dssi_DSSIMidiDeviceProvider.h, - * include/gnu_javax_sound_midi_dssi_DSSISynthesizer.h, - * include/gnu_xml_libxmlj_dom_GnomeAttr.h, - * include/gnu_xml_libxmlj_dom_GnomeDocument.h, - * include/gnu_xml_libxmlj_dom_GnomeDocumentBuilder.h, - * include/gnu_xml_libxmlj_dom_GnomeDocumentType.h, - * include/gnu_xml_libxmlj_dom_GnomeElement.h, - * include/gnu_xml_libxmlj_dom_GnomeEntity.h, - * include/gnu_xml_libxmlj_dom_GnomeNamedNodeMap.h, - * include/gnu_xml_libxmlj_dom_GnomeNode.h, - * include/gnu_xml_libxmlj_dom_GnomeNodeList.h, - * include/gnu_xml_libxmlj_dom_GnomeNotation.h, - * include/gnu_xml_libxmlj_dom_GnomeProcessingInstruction.h, - * include/gnu_xml_libxmlj_dom_GnomeTypeInfo.h, - * include/gnu_xml_libxmlj_dom_GnomeXPathExpression.h, - * include/gnu_xml_libxmlj_dom_GnomeXPathNSResolver.h, - * include/gnu_xml_libxmlj_dom_GnomeXPathNodeList.h, - * include/gnu_xml_libxmlj_dom_GnomeXPathResult.h, - * include/gnu_xml_libxmlj_sax_GnomeLocator.h, - * include/gnu_xml_libxmlj_sax_GnomeXMLReader.h, - * include/gnu_xml_libxmlj_transform_GnomeTransformer.h, - * include/gnu_xml_libxmlj_transform_GnomeTransformerFactory.h, - * include/java_lang_VMProcess.h: - Regenerated. - * native/jni/java-lang/java_lang_VMProcess.c: - Redirect when pipe_count is 2 not 3. - -2006-04-30 Sascha Brawer - - * gnu/java/awt/font/FontDelegate.java, - * gnu/java/awt/font/FontFactory.java, - * gnu/java/awt/font/GNUGlyphVector.java, - * gnu/java/awt/font/opentype/CharGlyphMap.java, - * gnu/java/awt/font/opentype/GlyphNamer.java, - * gnu/java/awt/font/opentype/MacResourceFork.java, - * gnu/java/awt/font/opentype/NameDecoder.java, - * gnu/java/awt/font/opentype/OpenTypeFont.java, - * gnu/java/awt/font/opentype/OpenTypeFontFactory.java, - * gnu/java/awt/font/opentype/Scaler.java, - * gnu/java/awt/font/opentype/truetype/Fixed.java, - * gnu/java/awt/font/opentype/truetype/GlyphLoader.java, - * gnu/java/awt/font/opentype/truetype/GlyphLocator.java, - * gnu/java/awt/font/opentype/truetype/GlyphMeasurer.java, - * gnu/java/awt/font/opentype/truetype/TrueTypeScaler.java, - * gnu/java/awt/font/opentype/truetype/VirtualMachine.java, - * gnu/java/awt/font/opentype/truetype/Zone.java, - * gnu/java/awt/font/opentype/truetype/ZonePathIterator.java, - * gnu/java/awt/font/opentype/truetype/doc-files/ZonePathIterator-1.dia, - * gnu/java/awt/font/opentype/truetype/doc-files/ZonePathIterator-1.png: - New files. Imported font framework from: - http://www.brawer.ch/software/fonts/ - -2006-04-30 Roman Kennke - - * javax/swing/plaf/basic/BasicTabbedPaneUI.java - (lastTabInRun): Fix calculation of the last tab in a run. This - has caused painting problems sometimes, making the - last tab painted incorrectly. - -2006-04-30 Audrius Meskauskas - - PR 27297 - * javax/swing/JComponent.java (paintChildrenWithOverlap): - Use for and not while to prevent the endless loop. - -2006-04-29 David Gilbert - - * javax/swing/JList.java - (paramString): Changed from public to protected. - -2006-04-29 Raif S. Naffah - - * tools/gnu/classpath/tools/HelpPrinter.java (printHelp): New method. - (printHelpAndExit): Re-factored to use the above method. - -2006-04-29 Raif S. Naffah - - * tools/jarsigner.sh.in: Changed license to GPL + Exception. - Use -Xbootclasspath/p instead of -cp when invoking the main class. - * tools/gnu/classpath/tools/jarsigner/Main.java: - Changed license to GPL + Exception. - (handler): New field. - (getCallbackHandler): New method. - (setupSigningParams): Use above method. - * tools/gnu/classpath/tools/jarsigner/HashUtils.java: - Changed license to GPL + Exception. - * tools/gnu/classpath/tools/jarsigner/SFHelper.java: Likewise. - * tools/gnu/classpath/tools/jarsigner/JarVerifier.java: Likewise. - * tools/gnu/classpath/tools/jarsigner/JarSigner.java: Likewise. - * tools/gnu/classpath/tools/jarsigner/jarsigner.txt: Updated copyright. - -2006-04-29 Raif S. Naffah - - * gnu/javax/security/auth/callback/ConsoleCallbackHandler.java - (handleConfirmation): Use print instead of println. - (handleConfirmation): When case is YES_NO_OPTION, print default option - if one was set. - (handleLanguage): Use print instead of println. - -2006-04-29 Raif S. Naffah - - * gnu/java/security/x509/X500DistinguishedName.java: Updated copyright. - (putComponent): Handle O and OU components. - (getDer): Use correct (it2) iterator. - (readAttributeValue): Read next character and break if end-of-stream. - -2006-04-29 Raif S. Naffah - - * gnu/java/security/provider/Gnu.java (run): - Add "RSA" as an alias to MD5withRSA. - * gnu/java/security/key/rsa/RSAKeyPairX509Codec.java (encodePublicKey): - Always encode a NULL as the value of an algorithm parameters field. - * gnu/java/security/key/rsa/RSAKeyPairPKCS8Codec.java (log): New field. - (encodePrivateKey): Added trace/log statements. - (decodePrivateKey): Likewise. - * gnu/java/security/key/rsa/RSAKeyPairGenerator.java (log): New field. - (setup): Added trace/log statements. - (generate): Likewise. - * gnu/java/security/key/rsa/GnuRSAPublicKey.java (str): New field. - (toString): New method. - * gnu/java/security/key/rsa/GnuRSAPrivateKey.java (DEBUG): New constant. - (str): New field. - (toString): New method. - * gnu/java/security/key/rsa/GnuRSAKey.java (str): New field. - (getEncoded): Use defaultFormat. - (toString): New method. - * gnu/java/security/key/dss/DSSKey.java (toString): - Include defaultFormat in string. - * gnu/java/security/jce/sig/RSAKeyFactory.java (engineGeneratePublic): - Break if successfully decoded public key. - (engineGeneratePrivate): Break if successfully decoded private key. - -2006-04-29 Raif S. Naffah - - * java/security/Security.java : Add our Callback provider. - * resource/java/security/classpath.security: Likewise - -2006-04-28 Audrius Meskauskas - - PR 27296 - * javax/swing/ScrollPaneLayout.java (layoutContainer): - Decide about scroll bars from the preferred view size, not - the current size. - * javax/swing/ViewportLayout.java (layoutContainer): - Do not change returned preferred size. Do not treat JScrollPane - specially. - -2006-04-28 Sven de Marothy - - * java/awt/image/ReplicateScaleFilter.java: Fix comment. - * javax/swing/ProgressMonitor.java (actionPerformed): - Avoid divide-by-zero. - -2006-04-28 Sven de Marothy - - * javax/swing/JSpinner.java: Fix default text justification. - * javax/swing/plaf/basic/BasicSpinnerUI.java: Fix spinner layout size. - -2006-04-28 David Gilbert - - * javax/swing/JList.java - (getMinSelectionIndex): Return correct value, added API docs, - (getMaxSelectionIndex): Added API docs. - -2006-04-28 David Gilbert - - * javax/swing/JList.java - (JList(Object[])): Pass new model directly to init(), - (JList(Vector)): Likewise, - (JList(ListModel)): Renamed argument and updated API docs, - (init): Throw IllegalArgumentException for null argument, - (setListData(Object[])): Delegate model creation, - (setListData(Vector)): Likewise, - (createListModel(Object[])): New private method, - (createListModel(Vector)): New private method, - (paramString): Implemented. - -2006-04-28 Tom Tromey - - * java/lang/Class.java (SYNTHETIC, ENUM, ANNOTATION): New fields. - (isEnum): Rewrote. - (isSynthetic): Likewise. - (isAnnotation): Likewise. - * vm/reference/java/lang/VMClass.java (isSynthetic): Removed. - (isAnnotation): Likewise. - (isEnum): Likewise. - -2006-04-28 Robert Schuster - - * javax/swing/text/View.java: - (getNextVisualPositionFrom): Call modelToView and viewToModel on parent - view. - -2006-04-28 Robert Schuster - - * javax/swing/text/View.java: - (getNextVisualPositionFrom): Rewritten. - * javax/swing/text/CompositeView.java: - (getNextEastWestVisualPositionFrom): Partly implemented. - (getNextNorthSouthVisualPositionFrom): Partly implemented. - -2006-04-28 David Gilbert - - * javax/swing/JList.java - (setFixedCellHeight): Use correct property name for event. - -2006-04-28 Robert Schuster - - * javax/swing/text/Utilities.java: - (getNextWord): Use codePointAt instead of charAt, added note, changed - if-expression, added throwing of exception. - (getPreviousWord): Use codePointAt instead of charAt. - -2006-04-28 Jeroen Frijters - - * java/lang/StringBuilder.java - (ensureCapacity, getChars, append(StringBuffer), - append(char[],int,int), delete, replace, insert(int,char[],int,int), - insert(int,String), insert(int,char), trimToSize): Replaced - System.arraycopy calls with VMSystem.arraycopy. - -2006-04-27 Tom Tromey - - * java/awt/image/renderable/RenderableImageProducer.java - (requestTopDownLeftRightResend): Implemented. - (run): Likewise. - (startProduction): Add new consumer. - -2006-04-27 Sven de Marothy - - * javax/swing/JLabel.java (setIcon): Repaint on setting the icon. - -2006-04-27 Roman Kennke - - * java/awt/LightweightDispatcher.java - Dispatch events only to targets that have a mouselistener - attached. Changed to also handle null targets. - -2006-04-27 Roman Kennke - - * NEWS: Added entries about accessibility support and L&F - window decorations. - -2006-04-27 Robert Schuster - - * javax/swing/text/Utilities.java: - (getTabbedTextOffset): Introduced width variable, rewritten the check - which ends the loop. - (getBreakLocation): Call getTabbedTextOffset with rounding argument set - to false. - -2006-04-27 Audrius Meskauskas - - * examples/gnu/classpath/examples/swing/TreeDemo.java - (createContent): Added root visibility and selection listener demos. - * javax/swing/JTree.java (setRootVisible): If false, unselect - the root node, if it is selected. - * javax/swing/plaf/basic/BasicTreeUI.java - (TreeTraverseAction.actionPerformed): Do not select the root if it - is not visible. - * javax/swing/tree/DefaultTreeSelectionModel.java (removeSelectionPath, - removeSelectionPaths): Reset lead to null if the current lead path is - removed from selection. - * javax/swing/tree/TreePath.java (getParentPath): Cache the parent path. - * javax/swing/tree/FixedHeightLayoutCache.java (NodeRecord.getPath): - Return the same path regardless is root visible or not. (update): - Reduce the identation if the root is not visible. - * javax/swing/tree/VariableHeightLayoutCache.java (NodeRecord.getPath): - Return the same path regardless is root visible or not. (update): - Reduce the identation if the root is not visible. - -2006-04-26 Audrius Meskauskas - - Fixes PR 27290 - * javax/xml/datatype/DatatypeFactory.java: Use complete - implementation resolution mechanism. - -2006-04-26 Audrius Meskauskas - - * javax/swing/tree/DefaultTreeModel.java (nodeStructureChanged): - Implemented. - * javax/swing/tree/DefaultTreeSelectionModel.java (toString): - Removed NoImplementException form the implemented method. - -2006-04-26 Tom Tromey - - * javax/net/ssl/HttpsURLConnection.java (HttpsURLConnection): Doesn't - throw IOException. - -2006-04-26 David Gilbert - - * javax/swing/DefaultListSelectionModel.java - (clone): Initialise empty listener list, - (setSelectionMode): Throw IllegalArgumentException for bad input. - -2006-04-26 David Gilbert - - * javax/swing/DefaultListSelectionModel.java - (clearSelection): Clear the Bitset. - -2006-04-26 Audrius Meskauskas - - * javax/swing/JTree.java (setLeadSelectionPath): - Repaint the new and old lead pathes. - * javax/swing/plaf/basic/BasicTreeUI.java - (FocusHandler): Repaint the lead row when focus changes. - (PropertyChangeHandler): Use existing constants, not the - string literals for the property names. - (TreeIncrementAction): Shrink the selection when moving - from the selection edge to the selection anchor. - (TreeSelectionHandler.valueChanged): Repaint the - new and old lead pathes. - (paintRow): Treat row as focused only if it is the lead row. - * javax/swing/tree/DefaultTreeCellRenderer.java - (getTreeCellRendererComponent): Set the vertical alignment to CENTER. - (paint): Rewritten. - * javax/swing/tree/DefaultTreeSelectionModel.java - (addSelectionPath): Event construction fix (old and new lead were - always the same). - (addSelectionPaths): Likewise. - * javax/swing/JComponent.java (setOpaque): Explained. - * javax/swing/tree/FixedHeightLayoutCache.java (getBounds): - Accept null. - * javax/swing/tree/VariableHeightLayoutCache.java (getBounds): - Accept null. - -2006-04-26 Audrius Meskauskas - - * examples/gnu/classpath/examples/swing/TreeDemo.java - (createContent): Call DefaultTreeModel.reload(), not the - tree.repaint(). Expand the parent of the added node. - * javax/swing/JTree.java (constructor): Do not call - UpdateUI (and documented why). (treeDidChange): - Added comment, excluding the misinterpretation of this method. - * javax/swing/plaf/basic/BasicTreeUI.java (componentListener, - focusListener, keyListener, mouseListener, propertyListener, - selectionModelPropertyChangeListener, treeModelListener, - treeSelectionListener): Made package private. - (PropertyChangeHandler): If the model changes, install the - listener on it. (installUI): Assign treeModel. - * javax/swing/tree/DefaultMutableTreeNode.java (add): Added - comment, excluding misinterpretation. - * javax/swing/tree/DefaultTreeModel.java (reload): Implemented. - (reload(TreeNode)): Implemented. - -2006-04-25 Tom Tromey - - * javax/swing/JComboBox.java (AccessibleJComboBox): Now public. - * javax/swing/tree/VariableHeightLayoutCache.java - (getVisiblePathsFrom): Genericized. - * javax/swing/tree/FixedHeightLayoutCache.java (getVisiblePathsFrom): - Genericized. - -2006-04-25 Audrius Meskauskas - - * javax/swing/plaf/basic/BasicTreeUI.java (MouseHandler.mousePressed): - If clicked on the other row, cancel the current editing session. - -2006-04-25 Audrius Meskauskas - - * javax/swing/plaf/basic/BasicTreeUI.java - (NodeDimensionsHandler.getRowX): Add half of the icon width. - (paintExpandControl): Always paint in one gap distance from the left - border of the path bounds. - (paintHorizontalPartOfLeg): Rewritted, taking the icon width - into consideration. - (paintVerticalPartOfLeg): Paint two gaps from the parent's bounds - left edge. - -2006-04-25 Audrius Meskauskas - - * javax/swing/plaf/basic/BasicTreeUI.java (paint): Rewritten. - -2006-04-25 Audrius Meskauskas - - * gnu/javax/swing/text/html/parser/support/Parser.java (readAttributes): - Allow slashes (/) in the unquoted parameter value. - -2006-04-25 Roman Kennke - - * gnu/java/awt/java2d/AbstractGraphics2D.java - (drawString(String,int,int)): Implemented. - (drawString(String,float,float)): Implemented. - (drawString(AttributedCharacterIterator,int,int)): Implemented. - (drawString(AttributedCharacterIterator,float,float)): Implemented. - (getFontRenderContext): Implemented. - (drawGlyphVector): Implemented. - (getFont): Implemented. - (setFont): Don't change font setting when null. - (getFontMetrics): Implemented. - (fillShape): Re-written to fill call rawFillShape() with a list - of the edges instead of double arrays. - (rawFillShape): Implemented using a polygon scanline conversion. - (fillScanline): New helper method. - (init): Initialize foreground black. Set font. - * gnu/java/awt/java2d/PolyEdge.java: New file. - * gnu/java/awt/java2d/PolyEdgeComparator.java: New file. - -2006-04-25 David Gilbert - - * javax/swing/table/DefaultTableColumnModel.java: More API doc updates. - -2006-04-25 David Gilbert - - * javax/swing/JTable.java: Fixed API doc tags, - * javax/swing/text/AsyncBoxView.java: Likewise, - * javax/swing/text/FlowView.java: Likewise. - -2006-04-25 David Gilbert - - * javax/swing/table/DefaultTableColumnModel.java - (moveColumn): Call fireColumnMoved() not fireColumnAdded. - -2006-04-24 David Gilbert - - * javax/swing/table/DefaultTableColumnModel.java - (DefaultTableColumnModel): Set selection model field and add 'this' as - listener directly, - (addColumn): Add 'this' as a PropertyChangeListener, - (removeColumn): Remove column before firing event, and remove 'this' as - a PropertyChangeListener, - (setSelectionModel): Remove 'this' as a listener from old model, - (propertyChange): Check for 'width' property rather than - TableColumn.COLUMN_WIDTH_PROPERTY. - -2006-04-24 Chris Burdess - - Fixes PR 27262 - * gnu/xml/dom/DomDocument.java: getElementById returns user-defined ID - attributes when no doctype exists. - -2006-04-24 David Gilbert - - * javax/swing/event/ChangeEvent.java: Updated API docs, - * javax/swing/event/ChangeListener.java: Likewise, - * javax/swing/event/TableColumnModelEventListener.java: Likewise, - * javax/swing/table/DefaultTableColumnModel.java: Likewise, - * javax/swing/table/TableColumnModel.java: Likewise. - -2006-04-24 Robert Schuster - - * javax/swing/text/Utilities.java: - (getBreakLocation): Introduced shift variable, added notes. - * javax/swing/text/WrappedPlainView.java: - (calculateBreakPosition): Decrease allocation area bounds by insets, - added early return when allocation area is empty, provide start offset - as argument. - (WrappedPlainView.WrappedLine): Change default value for numLines to 1. - (WrappedPlainView.WrappedLine.paint): Added count variable, update - numLines after loop. - (WrappedPlainView.WrappedLine.determineNumLines): Added early return. - (WrappedPlainView.WrappedLine.getPreferredSpan): Removed if-statement. - (WrappedPlainView.WrappedLine.viewToModel): Changed note, removed - decreasing variable end by one, changed break condition in while-loop, - added check for return value. - (WrappedPlainView.WrappedLine.updateDamage): Set numLines to one if - allocation area is empty. - -2006-04-24 Sven de Marothy - - * gnu/java/awt/java2d/Segment.java: New file. - * gnu/java/awt/java2d/CubicSegment.java: New file. - * gnu/java/awt/java2d/QuadSegment.java: New file. - * gnu/java/awt/java2d/LineSegment.java: New file. - * java/awt/BasicStroke.java - (start): New field. - (end): New field. - (createStrokedShape): Implemented. - (solidStroke): New method. - (dashedStroke): New method. - (capEnds): New method. - (convertPath): New method. - (addSegments): New method. - (capEnd): New method. - (lineIntersection): New method. - (joinSegments): New method. - -2006-04-24 Roman Kennke - - * gnu/java/awt/java2d/AbstractGraphics2D.java: Made implements - Cloneable. - (font): New field. - (clip): Changed clip to be in user space not in target space. - (isOptimized): Added flag to allow optimized drawing for - primitive operations (e.g. for Swing). - (AbstractGraphics2D()): Set foreground in init() to avoid trouble - with the paint context etc. - (draw): Clip the shape before drawing it. - (fill): Clip the shape before drawing it. - (setComposite): Update isOptimized flag. - (setPaint): Likewise. - (setStroke): Likewise. - (translate): Update the clip. - (rotate): Likewise. - (scale): Likewise. - (shear): Likewise. - (transform): Likewise. - (setTransform): Likewise. - (clip): Added optimization for rectangle clips. - (create): Implemented. - (clone): New method. - (setFont): Basic implementation. - (setClip): Update opimization flag. - (drawLine): Added possible optimization. - (fillRect): Added possible optimization. - (fillShape): Implemented shape-filling by filling the flattended - shape using polygon fill. - (drawPixel): Added basic painting. - (rawSetPixel): Changed signature to only take coordinates. - (rawSetForeground): New abstract method. - (getUserBounds): Implemented default for this method. - (rawDrawLine): New method. - (rawFillRect): New method. - (rawFillPolygon): New method. - (init): New method. - (updateOptimization): New method. - (computeIntersection): New method. - (updateClip): New method. - (clipShape): New method. - -2006-04-23 Jeroen Frijters - - * java/lang/Package.java: Added compatibility constructor to ease - VM interface migration. - -2006-04-23 Jeroen Frijters - - * java/lang/Class.java (getEnumConstants): Implemented without - delegating to VMClass. - * vm/reference/java/lang/VMClass.java (getEnumConstants): Removed. - -2006-04-23 Jeroen Frijters - - * java/lang/ClassLoader.java (definePackage): Added argument to - Package constructor. - * java/lang/Package.java (Package): Added ClassLoader argument. - (loader): New field. - (getDeclaredAnnotations): Implemented without help from VMPackage. - * vm/reference/java/lang/VMClassLoader.java (static): Added argument - to Package constructor. - * vm/reference/java/lang/VMPackage.java: Removed. - -2006-04-23 Audrius Meskauskas - - * examples/gnu/classpath/examples/swing/TreeDemo.java: - (createContent): Added check box to swith between single and - multiple selection. - * javax/swing/JTree.java (leadSelectionPath): Removed. - (addSelectionInterval): Explained. (getLeadSelectionPath): - Request the path from model. (getPathsBetweenRows): Explained. - (setLeadSelectionPath): Set the path in model. - * javax/swing/plaf/basic/BasicTreeUI.java - (TreeIncrementAction.actionPerformed, isMultiSelectionEvent, - isToggleSelectionEvent, selectPath, selectPathForEvent): Rewritten. - (MouseHandler.mousePressed): Call selectPathForEvent. - -2006-04-23 Roman Kennke - - * gnu/java/awt/java2d/AbstractGraphics2D.java: New file. - -2006-04-22 Andrew John Hughes - - * NEWS: - Mention changes to VMProcess and VMSystem. - * doc/vmintegration.texinfo: - Change documentation on VMProcess and VMSystem. - * include/gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.h, - * include/gnu_java_awt_peer_gtk_GdkFontPeer.h, - * include/gnu_java_awt_peer_gtk_GdkGraphics.h, - * include/gnu_java_awt_peer_gtk_GdkGraphics2D.h, - * include/gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.h, - * include/gnu_java_awt_peer_gtk_GdkPixbufDecoder.h, - * include/gnu_java_awt_peer_gtk_GdkRobotPeer.h, - * include/gnu_java_awt_peer_gtk_GdkTextLayout.h, - * include/gnu_java_awt_peer_gtk_GtkButtonPeer.h, - * include/gnu_java_awt_peer_gtk_GtkCanvasPeer.h, - * include/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.h, - * include/gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.h, - * include/gnu_java_awt_peer_gtk_GtkCheckboxPeer.h, - * include/gnu_java_awt_peer_gtk_GtkChoicePeer.h, - * include/gnu_java_awt_peer_gtk_GtkClipboard.h, - * include/gnu_java_awt_peer_gtk_GtkComponentPeer.h, - * include/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.h, - * include/gnu_java_awt_peer_gtk_GtkFileDialogPeer.h, - * include/gnu_java_awt_peer_gtk_GtkFramePeer.h, - * include/gnu_java_awt_peer_gtk_GtkGenericPeer.h, - * include/gnu_java_awt_peer_gtk_GtkImage.h, - * include/gnu_java_awt_peer_gtk_GtkLabelPeer.h, - * include/gnu_java_awt_peer_gtk_GtkListPeer.h, - * include/gnu_java_awt_peer_gtk_GtkMenuBarPeer.h, - * include/gnu_java_awt_peer_gtk_GtkMenuComponentPeer.h, - * include/gnu_java_awt_peer_gtk_GtkMenuItemPeer.h, - * include/gnu_java_awt_peer_gtk_GtkMenuPeer.h, - * include/gnu_java_awt_peer_gtk_GtkPanelPeer.h, - * include/gnu_java_awt_peer_gtk_GtkPopupMenuPeer.h, - * include/gnu_java_awt_peer_gtk_GtkScrollPanePeer.h, - * include/gnu_java_awt_peer_gtk_GtkScrollbarPeer.h, - * include/gnu_java_awt_peer_gtk_GtkSelection.h, - * include/gnu_java_awt_peer_gtk_GtkTextAreaPeer.h, - * include/gnu_java_awt_peer_gtk_GtkTextFieldPeer.h, - * include/gnu_java_awt_peer_gtk_GtkToolkit.h, - * include/gnu_java_awt_peer_gtk_GtkWindowPeer.h, - * include/gnu_java_awt_peer_qt_MainQtThread.h, - * include/gnu_java_awt_peer_qt_QMatrix.h, - * include/gnu_java_awt_peer_qt_QPainterPath.h, - * include/gnu_java_awt_peer_qt_QPen.h, - * include/gnu_java_awt_peer_qt_QtAudioClip.h, - * include/gnu_java_awt_peer_qt_QtButtonPeer.h, - * include/gnu_java_awt_peer_qt_QtCanvasPeer.h, - * include/gnu_java_awt_peer_qt_QtCheckboxPeer.h, - * include/gnu_java_awt_peer_qt_QtChoicePeer.h, - * include/gnu_java_awt_peer_qt_QtComponentPeer.h, - * include/gnu_java_awt_peer_qt_QtContainerPeer.h, - * include/gnu_java_awt_peer_qt_QtDialogPeer.h, - * include/gnu_java_awt_peer_qt_QtEmbeddedWindowPeer.h, - * include/gnu_java_awt_peer_qt_QtFileDialogPeer.h, - * include/gnu_java_awt_peer_qt_QtFontMetrics.h, - * include/gnu_java_awt_peer_qt_QtFontPeer.h, - * include/gnu_java_awt_peer_qt_QtFramePeer.h, - * include/gnu_java_awt_peer_qt_QtGraphics.h, - * include/gnu_java_awt_peer_qt_QtGraphicsEnvironment.h, - * include/gnu_java_awt_peer_qt_QtImage.h, - * include/gnu_java_awt_peer_qt_QtLabelPeer.h, - * include/gnu_java_awt_peer_qt_QtListPeer.h, - * include/gnu_java_awt_peer_qt_QtMenuBarPeer.h, - * include/gnu_java_awt_peer_qt_QtMenuComponentPeer.h, - * include/gnu_java_awt_peer_qt_QtMenuItemPeer.h, - * include/gnu_java_awt_peer_qt_QtMenuPeer.h, - * include/gnu_java_awt_peer_qt_QtPanelPeer.h, - * include/gnu_java_awt_peer_qt_QtPopupMenuPeer.h, - * include/gnu_java_awt_peer_qt_QtScreenDevice.h, - * include/gnu_java_awt_peer_qt_QtScrollPanePeer.h, - * include/gnu_java_awt_peer_qt_QtScrollbarPeer.h, - * include/gnu_java_awt_peer_qt_QtTextAreaPeer.h, - * include/gnu_java_awt_peer_qt_QtTextFieldPeer.h, - * include/gnu_java_awt_peer_qt_QtToolkit.h, - * include/gnu_java_awt_peer_qt_QtVolatileImage.h, - * include/gnu_java_awt_peer_qt_QtWindowPeer.h, - * include/gnu_javax_sound_midi_alsa_AlsaMidiDeviceProvider.h, - * include/gnu_javax_sound_midi_alsa_AlsaMidiSequencerDevice.h, - * include/gnu_javax_sound_midi_alsa_AlsaPortDevice.h, - * include/gnu_javax_sound_midi_dssi_DSSIMidiDeviceProvider.h, - * include/gnu_javax_sound_midi_dssi_DSSISynthesizer.h, - * include/gnu_xml_libxmlj_dom_GnomeAttr.h, - * include/gnu_xml_libxmlj_dom_GnomeDocument.h, - * include/gnu_xml_libxmlj_dom_GnomeDocumentBuilder.h, - * include/gnu_xml_libxmlj_dom_GnomeDocumentType.h, - * include/gnu_xml_libxmlj_dom_GnomeElement.h, - * include/gnu_xml_libxmlj_dom_GnomeEntity.h, - * include/gnu_xml_libxmlj_dom_GnomeNamedNodeMap.h, - * include/gnu_xml_libxmlj_dom_GnomeNode.h, - * include/gnu_xml_libxmlj_dom_GnomeNodeList.h, - * include/gnu_xml_libxmlj_dom_GnomeNotation.h, - * include/gnu_xml_libxmlj_dom_GnomeProcessingInstruction.h, - * include/gnu_xml_libxmlj_dom_GnomeTypeInfo.h, - * include/gnu_xml_libxmlj_dom_GnomeXPathExpression.h, - * include/gnu_xml_libxmlj_dom_GnomeXPathNSResolver.h, - * include/gnu_xml_libxmlj_dom_GnomeXPathNodeList.h, - * include/gnu_xml_libxmlj_dom_GnomeXPathResult.h, - * include/gnu_xml_libxmlj_sax_GnomeLocator.h, - * include/gnu_xml_libxmlj_sax_GnomeXMLReader.h, - * include/gnu_xml_libxmlj_transform_GnomeTransformer.h, - * include/gnu_xml_libxmlj_transform_GnomeTransformerFactory.h, - * include/java_lang_VMProcess.h, - * include/java_lang_VMSystem.h: - Regenerated with GCJ 4.1. - -2006-04-22 Casey Marshall - - Fixes PR classpath/27228. - * gnu/javax/crypto/jce/sig/DHKeyPairGeneratorSpi.java - (initialize): also accept `DHParameterSpec.' - * gnu/javax/crypto/key/dh/GnuDHKeyPairGenerator.java (setup): - handle a passed-in `DHParameterSpec' properly. - (generate): don't check if the random exponent is less than `q - - 1' if no `q' was specified. - -2006-04-22 Audrius Meskauskas - - * javax/swing/JTree.java (TreeSelectionRedirector.valueChanged): - Only repaint the patches, speficied in the passed event. - (expandPath): Do nothing if the path is already expanded. - (scrollPathToVisible): Only scroll to visible, do nothing else. - * javax/swing/plaf/basic/BasicTreeUI.java - (TreeExpansionHandler.treeColapsed): Revalidate and repaint. - (TreeExpansionHandler.treeExpanded): Revalidate and repaint. - (TreeTraverseAction.actionPerformed): Collapse the node on the - action "selectParent". (selectPath): Rewritten. - * javax/swing/tree/DefaultTreeSelectionModel.java (clearSelection): - Fire change event. (notifyPathChange): Implemented. (setSelectionPath): - Do not reuse selection array. - * javax/swing/tree/FixedHeightLayoutCache.java (getRowForPath): - Accept null. - * javax/swing/tree/VariableHeightLayoutCache.java (getRowForPath): - Accept null. - -2006-04-22 Audrius Meskauskas - - * javax/swing/tree/DefaultTreeSelectionModel.java - (addSelectionPath): If the path cannot be added, set it. - (addSelectionPaths): Call insureRowContinuity. - (arePathsContiguous): Implemented. - (canPathBeAdded): New private method. - (canPathsBeAdded): Implemented. - (canPathsBeRemoved): Implemented. - (getPath): New private method. - (insureRowContinuity): Implemented. - (removeSelectionPath): Call insureRowContinuity. - (removeSelectionPaths): Call insureRowContinuity. - (resetRowSelection): Removed stub marking, not used in implementation - (nothing to do there). - (selectOne): New private method. - (setSelectionMode) Call insureRowContinuity. - (setSelectionPaths) Remove the current selection by clearing it. - -2006-04-22 Carsten Neumann - - * javax/sql/Array.java: Fixed eclipse API doc warnings, named method - parameters consistendly, documented some methods. - * java/sql/Blob.java: Likewise. - * java/sql/CallableStatement.java: Likewise. - * java/sql/Clob.java: Likewise. - * java/sql/Connection.java: Likewise. - * java/sql/DatabaseMetaData.java: Likewise. - * java/sql/Date.java: Likewise. - * java/sql/Driver.java: Likewise. - * java/sql/PreparedStatement.java: Likewise. - * java/sql/ResultSet.java: Likewise. - * java/sql/ResultSetMetaData.java: Likewise. - * java/sql/SQLData.java: Likewise. - * java/sql/SQLOutput.java: Likewise. - * java/sql/SQLWarning.java: Likewise. - * java/sql/Statement.java: Likewise. - * java/sql/Time.java: Likewise. - * java/sql/Timestamp.java: Likewise. - -2006-04-21 Jeroen Frijters - - * java/lang/reflect/AccessibleObject.java: - Implemented AnnotatedElement. - (getAnnotation, getAnnotations, getDeclaredAnnotations, - isAnnotationPresent): New methods. - -2006-04-21 Tom Tromey - - PR classpath/27163: - * gnu/java/net/protocol/ftp/FTPConnection.java - (changeWorkingDirectory): Do nothing if path is empty. - -2006-04-21 Tom Tromey - - PR libgcj/27231: - * gnu/java/net/protocol/http/HTTPURLConnection.java (connect): Handle - case where no '/' appears in 'location'. - -2006-04-21 Tom Tromey - - * java/security/Security.java (): Add all default providers. - * resource/java/security/classpath.security: Added comment. - -2006-04-21 David Gilbert - - * javax/swing/SpinnerDateModel.java: Updated API docs all over, - * javax/swing/SpinnerNumberModel.java: Likewise. - -2006-04-21 David Gilbert - - * javax/swing/SpinnerDateModel.java - (SpinnerDateModel(Date, Comparable, Comparable, int)): Fix argument - checking to call compareTo() on start and end. - -2006-04-21 David Gilbert - - * javax/swing/border/AbstractBorder.java: API doc updates, - * javax/swing/border/BevelBorder.java: Likewise, - * javax/swing/border/CompoundBorder.java: Likewise, - * javax/swing/border/EtchedBorder.java: Likewise, - * javax/swing/border/LineBorder.java: Likewise, - * javax/swing/border/MatteBorder.java: Likewise, - * javax/swing/border/TitledBorder.java: Likewise. - -2006-04-21 David Gilbert - - * gnu/javax/crypto/cipher/Anubis.java: - (selfTest): Use Boolean.valueOf() to avoid creating a new Boolean - instance, - * gnu/javax/crypto/cipher/Blowfish.java: - (selfTest): Likewise, - * gnu/javax/crypto/cipher/Cast5.java: - (selfTest): Likewise, - * gnu/javax/crypto/cipher/Khazad.java: - (selfTest): Likewise, - * gnu/javax/crypto/cipher/Rijndael.java: - (selfTest): Likewise, - * gnu/javax/crypto/cipher/Serpent.java: - (selfTest): Likewise, - * gnu/javax/crypto/cipher/Square.java: - (selfTest): Likewise, - * gnu/javax/crypto/cipher/Twofish.java: - (selfTest): Likewise, - * gnu/javax/crypto/mac/UMac32.java: - (selfTest): Likewise, - * gnu/javax/crypto/prng/CSPRNG.java: - (getSystemInstance): Likewise. - -2006-04-21 David Gilbert - - * gnu/java/security/hash/Haval.java: - (selfTest): Use Boolean.valueOf() to avoid creating new Boolean - instance, - * gnu/java/security/hash/MD2.java: - (selfTest): Likewise, - * gnu/java/security/hash/MD4.java: - (selfTest): Likewise, - * gnu/java/security/hash/MD5.java: - (selfTest): Likewise, - * gnu/java/security/hash/RipeMD128.java: - (selfTest): Likewise, - * gnu/java/security/hash/RipeMD160.java: - (selfTest): Likewise, - * gnu/java/security/hash/Sha160.java: - (selfTest): Likewise, - * gnu/java/security/hash/Sha256.java: - (selfTest): Likewise, - * gnu/java/security/hash/Sha384.java: - (selfTest): Likewise, - * gnu/java/security/hash/Sha512.java: - (selfTest): Likewise, - * gnu/java/security/hash/Tiger.java: - (selfTest): Likewise, - * gnu/java/security/hash/Whirlpool.java: - (selfTest): Likewise. - -2006-04-21 Audrius Meskauskas - - * javax/swing/plaf/basic/BasicTreeUI.java - (PropertyChangeHandler.propertyChange): Set the row mapper - for the selection model. - * javax/swing/tree/AbstractLayoutCache.java - (NodeDimensions.getNodeDimensions): Explained. - (getPreferredHeight, getPreferredWidth, isFixedRowHeight): - Implemented. (setRowHeight): Invalidate sizes. - * javax/swing/tree/DefaultTreeSelectionModel.java - (addSelectionPath, addSelectionPaths): Update lead row. - (removeSelectionPath, removeSelectionPaths): Do nothing if - selection is empty. - (clone): Only clone list selection model if it is not null. - (getRow): New method. (isRowSelected, getLeadSelectionRow, - setSelectionPath, setSelectionPaths, toString): Implemented. - * javax/swing/tree/FixedHeightLayoutCache.java (NodeRecord.getBounds): - Pass the empty rectangle. (isFixedRowHeight): New method. - * javax/swing/tree/VariableHeightLayoutCache.java - (NodeRecord.getBounds): Pass the empty rectangle. - -2006-04-21 David Gilbert - - * gnu/java/security/Properties.java - (init): Use Boolean.valueOf() to avoid creating new Boolean instances. - -2006-04-21 David Gilbert - - * gnu/classpath/jdwp/util/Value.java - (getUntaggedObj(ByteBuffer, Class)): Use Boolean.valueOf() to avoid - creating new Boolean instances. - -2006-04-20 Mark Wielaard - - * java/awt/Toolkit.java (getDefaultToolkit): Get classloader in - PrivilegedAction. Access awt.toolkit through SystemProperties. - -2006-04-20 David Gilbert - - * javax/swing/ActionMap.java: Removed unused imports, - * javax/swing/DefaultListSelectionModel.java - (clearSelection): Removed unused label, - * javax/swing/JScrollPane.java: Removed unused imports, - * javax/swing/UIManager.java: Likewise, - * javax/swing/table/DefaultTableCellRenderer.java: Likewise. - -2006-04-20 David Gilbert - - * javax/swing/plaf/basic/BasicSpinnerUI.java: Removed unused imports, - * javax/swing/plaf/basic/BasicTextAreaUI.java: Likewise, - * javax/swing/plaf/basic/BasicTextFieldUI.java: Likewise, - * javax/swing/plaf/basic/BasicTextUI.java: Likewise, - * javax/swing/plaf/basic/BasicTreeUI.java: Likewise. - -2006-04-20 David Gilbert - - * java/sql/Array.java: Fixed Eclipse API doc warnings, - * java/sql/Blob.java: Likewise, - * java/sql/CallableStatement.java: Likewise, - * java/sql/Clob.java: Likewise, - * java/sql/Connection.java: Likewise, - * java/sql/DatabaseMetaData.java: Likewise, - * java/sql/Date.java: Likewise, - * java/sql/Driver.java: Likewise, - * java/sql/PreparedStatement.java: Likewise, - * java/sql/ResultSet.java: Likewise, - * java/sql/ResultSetMetaData.java: Likewise, - * java/sql/SQLData.java: Likewise, - * java/sql/SQLOutput.java: Likewise, - * java/sql/SQLWarning.java: Likewise, - * java/sql/Statement.java: Likewise, - * java/sql/Time.java: Likewise, - * java/sql/Timestamp.java: Likewise. - -2006-04-20 David Gilbert - - * java/sql/DriverManager.java - (setLoginTimeout): Use incoming argument, - (setLogStream): Likewise, - (println): Fix API doc comment. - -2006-04-20 David Gilbert - - * javax/swing/JMenuItem.java - (paramString): Updated API docs, - (getAccessibleContext): Added API docs, - (AccessibleJMenuItem.stateChanged): Marked as stub, - (AccessibleJMenuItem.getAccessibleRole): Added API docs, - * javax/swing/JSlider.java - (paramString): Fix for API docs, - * javax/swing/JToolTip.java - (getAccessibleContext): Fix for API docs. - -2006-04-20 David Gilbert - - * javax/swing/JRadioButtonMenuItem.java - (paramString): Reimplemented, - (getAccessibleContext): API docs added, - (AccessibleJRadioButtonMenuItem.AccessibleJRadioButtonMenuItem()): - Likewise, - (AccessibleJRadioButtonMenuItem.getAccessibleRole): Likewise. - -2006-04-20 Audrius Meskauskas - - * javax/swing/plaf/basic/BasicTreeUI.java - (finish): Invalidate path bounds. - (getMaxHeight): Set the row height to the layout cache. - (startEditing): Do not request to recalculated - row height and preferred size. - * javax/swing/tree/DefaultTreeCellEditor.java - (ICON_TEXT_GAP, ICON_TREE_GAP): Removed, replacing - with 0. - * javax/swing/tree/FixedHeightLayoutCache.java: - Rewritten. - -2006-04-20 David Gilbert - - * javax/swing/JDesktopPane.java - (paramString): Reimplemented, - plus API doc updates in AccessibleJDesktopPane. - -2006-04-20 David Gilbert - - * javax/swing/ImageIcon.java: - (AccessibleImageIcon.getAccessibleStateSet): Return null always, - (AccessibleImageIcon.getLocale): Declared exception and always return - null, - (getAccessibleContext): Updated API docs, - plus updated API docs all over AccessibleImageIcon. - -2006-04-20 Roman Kennke - - PR 27196 - * javax/swing/plaf/basic/BasicTabbedPaneUI.java - (paintText): Fetch the ascent only once. Add the ascent to - the text rect also when tabs are disabled. - -2006-04-20 Christian Thalinger - - * java/util/Locale.java (defaultLocale): Set to en_US per - default and use user.country but prioritize user.region if - defined. - (getLocale(String language, String country)): Renamed region to - country. - (getLocale(String language, String region, String variant)): - Likewise. - (getAvailableLocales): Likewise. - -2006-04-20 Roman Kennke - - PR 27222 - * javax/swing/JList.java - (JList()): Call init() with DefaultListModel instance. - (JList(Object[])): Call init() with null. - (JList(Vector)): Call init() with null. - (JList(ListModel)): Call init() with model. - (init): Changed to take the model as argument. Don't call - setter methods and initialize stuff directly instead. - (getCellBounds): Check if UI is null. - -2006-04-20 Robert Schuster - - * javax/swing/text/WrappedPlainView.java: Initialize - WrappedLine.numLines with -1. - (WrappedPlainView.WrappedLine.getPreferredSpan): Check whether - numLines is -1 and reculcalate the value appropriately. - (WrappedPlainView.WrappedLine.updateDamage): Set numLines to -1 if - allocation area is empty. - -2006-04-20 David Gilbert - - * javax/swing/JTabbedPane.java - (AccessibleJTabbedPane.stateChanged): Marked as stub, - (AccessibleJTabbedPane.getAccessibleRole): Likewise, - (AccessibleJTabbedPane.getAccessibleChildrenCount): Likewise, - (AccessibleJTabbedPane.getAccessibleSelection): Likewise, - (AccessibleJTabbedPane.getAccessibleAt): Likewise, - (AccessibleJTabbedPane.getAccessibleSelectionCount): Likewise, - (AccessibleJTabbedPane.getAccessibleSelection(int)): Likewise, - (AccessibleJTabbedPane.isAccessibleChildSelected): Likewise, - (AccessibleJTabbedPane.addAccessibleSelection): Likewise, - (AccessibleJTabbedPane.removeAccessibleSelection): Likewise, - (AccessibleJTabbedPane.clearAccessibleSelection): Likewise, - (AccessibleJTabbedPane.selectAllAccessibleSelection): Likewise, - (Page.getAccessibleStateSet): Likewise, - (Page.getAccessibleIndexInParent): Likewise. - -2006-04-19 David Gilbert - - * javax/swing/JProgressBar.java - (paramString): Reimplemented. - -2006-04-19 David Gilbert - - * javax/swing/JButton.java: Updated API docs all over. - -2006-04-19 Roman Kennke - - * java/awt/Toolkit.java - (getDefaultToolkit): Use system classloader to load the - toolkit. - -2006-04-19 Robert Schuster - - * javax/swing/text/DefaultCaret.java: - (DefaultCaret.Bypass.setDot): Call DefaultCaret.setDotImpl - instead of DefaultCaret.setDot. - -2006-04-19 Roman Kennke - - * native/jni/java-net/local.c - (local_read): Handle EINTR correctly. - (local_write): Likewise. - -2006-04-19 Riccardo Mottola - - PR classpath/27062, PR classpath/25650: - * native/fdlibm/ieeefp.h: Check for _POWER and _IBMR2. - -2006-04-19 Tom Tromey - - * java/text/SimpleDateFormat.java (formatWithAttribute): Take absolute - value of 'pureMinutes'. PR classpath/27189. - -2006-04-19 Olivier Jolly - - * vm/reference/java/lang/VMClassLoader.java (getBootPackages): Loads - boot packages list from the META-INF/INDEX.LIST file if it exists. - -2006-04-19 Raif S. Naffah - - Suggested by Stephen White - * gnu/javax/crypto/prng/IPBE.java: Updated documentation. - (ITERATION_COUNT): Removed modifiers. - (PASSWORD): Likewise. - (SALT): Likewise. - (PASSWORD_ENCODING): New property. - (DEFAULT_PASSWORD_ENCODING): New constant. - * gnu/javax/crypto/prng/PBKDF2.java (setup): Check for MAC's raw key - material (bytes) before a password (chars). - -2006-04-19 David Gilbert - - * javax/swing/JMenu.java - (getAccessibleChildrenCount): Marked as stub, - (getAccessibleChild): Likewise, - (getAccessibleSelection): Likewise, - (getAccessibleSelection(int)): Likewise, - (isAccessibleChildSelected): Likewise, - (getAccessibleSelectionCount): Likewise, - (addAccessibleSelection): Likewise, - (removeAccessibleSelection): Likewise, - (clearAccessibleSelection): Likewise, - (selectAllAccessibleSelection): Likewise. - -2006-04-19 David Gilbert - - * javax/swing/JSplitPane.java - (getAccessibleContext): Added API docs, - (paramString): Reimplemented, - (setOrientation): Updated API docs, - (setResizeWeight): Added argument checking and event notification. - -2006-04-18 Casey Marshall - - Fixes PR classpath/25673 - * java/security/KeyStore.java (getDefaultType): return "gkr" if no - property is set. Update JavaDoc to reflect this. - -2006-04-18 Lillian Angel - - * gnu/xml/dom/DomDocument.java - (setCheckingCharacters): New function used to set - checkingCharacters flag. - * gnu/xml/dom/html2/DomHTMLParser.java - (parseDocument): Added call to set checkingCharacters flag - to false. - -2006-04-18 Lillian Angel - - * gnu/xml/dom/DomDocument.java - (checkNCName): Reverted last patch. Added check for colon at - last position back in. - -2006-04-18 Robert Schuster - - * examples/gnu/classpath/examples/swing/NavigationFilterDemo.java: - New file. - * examples/gnu/classpath/examples/swing/Demo.java: - (mkMenuBar): Added NavigationFilter demo. - -2006-04-18 David Gilbert - - * javax/swing/JSeparator.java: Updated API docs all over, plus - (setOrientation): Fire PropertyChangeEvent, - (paramString): Reimplemented. - -2006-04-18 Robert Schuster - - * javax/swing/plaf/basic/BasicTextUI.java: - (getNextVisualPositionFrom): Implemented. - -2006-04-18 David Gilbert - - * javax/swing/JPanel.java: Updated API docs all over, plus - (JPanel(LayoutManager, boolean)): Pass on null layout, set - double-buffer flag. - -2006-04-18 Robert Schuster - - * examples/gnu/classpath/examples/swing/DocumentFilterDemo.java: - New file. - * examples/gnu/classpath/examples/swing/Demo.java: - (mkMenuBar): Added DocumenFilter demo. - -2006-04-18 Tom Tromey - - * doc/www.gnu.org/include/layout.wml: Add FMJ. - -2006-04-18 Mark Wielaard - - Reported by John Sullivan (johns@fsf.org) - * doc/www.gnu.org/stories.wml: Update JikesRVM location. - -2006-04-18 David Gilbert - - * javax/swing/JInternalFrame.java - (JDesktopIcon.getAccessibleContext): Added API docs, - (getDefaultCloseOperation): Likewise, - (paramString): Added 'title' attribute, - (setDefaultCloseOperation): Added API docs. - -2006-04-18 David Gilbert - - * javax/swing/JSlider.java - (paramString): Reimplemented. - -2006-04-18 David Gilbert - - * javax/swing/JComboBox.java - (paramString): Reimplemented, - (getAccessibleContext): Added API docs, - (AccessibleJComboBox.getAccessibleRole): Likewise. - -2006-04-18 Roman Kennke - - * javax/swing/RepaintManager.java - (dirtyComponentsWork): New field. - (ComponentComparator): Use dirtyComponentsWork instead of - dirtyComponents. - (RepaintManager): Initialize new field. - (paintDirtyRegions): Swap dirtyComponents with dirtyComponentsWork - and work on the copy. - -2006-04-18 Roman Kennke - - * gnu/java/awt/peer/swing/SwingComponentPeer.java - (setBounds): Call reshape(). - * gnu/java/awt/peer/swing/SwingContainerPeer.java - (SwingContainerPeer): Changed argument to be a Component - instead a Container. - (getInsets): Call insets(). - (handleMouseEvent): Added null check to avoid NPE. - (handleMouseMotionEvent): Added null check to avoid NPE. - -2006-04-18 Roman Kennke - - PR 27185 - * javax/swing/JComponent.java - (paintChildrenWithOverlap): When one child is not opaque, propagate - the dirty rectangles to the next child. - (paintChildrenOptimized): Removed unnecessary 'optimization'. - This actually didn't work right and probably gained nothing. - -2006-04-18 Audrius Meskauskas - - * javax/swing/JTable.java (getCallRect): Do not cache rectangles. - (moveToCellBeingEdited): Do not clone the rectangle here. - -2006-04-18 David Gilbert - - * javax/swing/plaf/basic/BasicSliderUI.java - (getActionMap): Fixed lookup key, - (createActionMap): Modified actions to fetch slider/ui from the event - source. - -2006-04-17 Andrew John Hughes - - * java/lang/Enum.java: Documented. - -2006-04-17 Andrew John Hughes - - * gnu/java/lang/InstrumentationImpl.java: - Moved from java.lang. - * java/lang/InstrumentationImpl.java: - Removed. - * vm/reference/gnu/java/lang/VMInstrumentationImpl.java: - Moved from java.lang. - * vm/reference/java/lang/VMClassLoader.java: - Corrected reference to InstrumentationImpl. - * vm/reference/java/lang/VMInstrumentationImpl.java: - Removed. - -2006-04-17 Andrew John Hughes - - * java/lang/annotation/Annotation.java: - Documented. - -2006-04-17 David Gilbert - - * javax/swing/JToolBar.java - (AccessibleJToolBar.AccessibleJToolBar()): Updated API docs, - (AccessibleJToolBar.getAccessibleStateSet): Implemented, - (AccessibleJToolBar.getAccessibleRole): Updated API docs, - (getAccessibleContext): Likewise. - -2006-04-17 Dalibor Topic - - * configure.ac: - Added CLASSPATH_CONVENIENCE substitution for convenience library LDFLAGS. - - * native/fdlibm/Makefile.am, - native/jni/classpath/Makefile.am: - Don't use -module and -version-info for convenience libraries LDFLAGS. - Fixes libtool warnings. - -2006-04-17 David Gilbert - - * javax/swing/plaf/basic/BasicComboBoxUI.java: - (installKeyboardActions): Marked as stub, - (uninstallKeyboardActions): Likewise, - * javax/swing/plaf/basic/BasicComboPopup.java: - (installKeyboardActions): Marked as stub, - (uninstallKeyboardActions): Likewise, - * javax/swing/plaf/basic/BasicInternalFrameUI.java: - (installKeyboardActions): Marked as stub, - (uninstallKeyboardActions): Likewise, - * javax/swing/plaf/basic/BasicLabelUI.java: - (installKeyboardActions): Marked as stub, - (uninstallKeyboardActions): Likewise, - * javax/swing/plaf/basic/BasicListUI.java: - (installKeyboardActions): Marked as stub, - (uninstallKeyboardActions): Likewise, - * javax/swing/plaf/basic/BasicMenuBarUI.java: - (installKeyboardActions): Marked as stub, - (uninstallKeyboardActions): Likewise, - * javax/swing/plaf/basic/BasicMenuUI.java: - (installKeyboardActions): Marked as stub, - (uninstallKeyboardActions): Likewise, - * javax/swing/plaf/basic/BasicOptionPaneUI.java: - (installKeyboardActions): Marked as stub, - (uninstallKeyboardActions): Likewise, - * javax/swing/plaf/basic/BasicPopupMenuUI.java: - (installKeyboardActions): Marked as stub, - (uninstallKeyboardActions): Likewise, - * javax/swing/plaf/basic/BasicScrollBarUI.java: - (installKeyboardActions): Marked as stub, - (uninstallKeyboardActions): Likewise, - * javax/swing/plaf/basic/BasicScrollPaneUI.java: - (installKeyboardActions): Marked as stub, - (uninstallKeyboardActions): Likewise, - * javax/swing/plaf/basic/BasicSplitPaneUI.java: - (installKeyboardActions): Marked as stub, - (uninstallKeyboardActions): Likewise, - * javax/swing/plaf/basic/BasicTabbedPaneUI.java: - (installKeyboardActions): Marked as stub, - (uninstallKeyboardActions): Likewise, - * javax/swing/plaf/basic/BasicTableHeaderUI.java: - (installKeyboardActions): Marked as stub, - (uninstallKeyboardActions): Likewise, - * javax/swing/plaf/basic/BasicTableUI.java: - (installKeyboardActions): Marked as stub, - (uninstallKeyboardActions): Likewise, - * javax/swing/plaf/basic/BasicTextUI.java: - (installKeyboardActions): Marked as stub, - (uninstallKeyboardActions): Likewise, - * javax/swing/plaf/basic/BasicToolBarUI.java: - (installKeyboardActions): Marked as stub, - (uninstallKeyboardActions): Likewise. - -2006-04-17 David Gilbert - - * javax/swing/plaf/basic/BasicSliderUI.java - (installKeyboardActions): Implemented, - (uninstallKeyboardActions): Implemented, - (scrollByBlock): Accept any value for direction, - (scrollByUnit): Likewise, - (getInputMap): New method, - (getActionMap): New method, - (createActionMap): New method. - - -2006-04-16 Andrew John Hughes - - * doc/vmintegration.texinfo: - Fix sectioning. - -2006-04-16 Tom Tromey - - * native/jni/java-net/Makefile.am (AM_CFLAGS): Removed --save-temps. - -2006-04-16 Andrew John Hughes - - * NEWS: - Mention generics additions to the VM interface. - * doc/vmintegration.texinfo: - Added information on VMClass 1.5 additions and - VMSecureRandom. - -2006-04-16 Casey Marshall - - * NEWS: add an entry mentioning local socket support. - -2006-04-16 Casey Marshall - - * configure.ac (--enable-local-sockets): new enable argument. - (ENABLE_LOCAL_SOCKETS): new define. - * native/jni/java-net/Makefile.am (local_sources): new variable. - (lib_javanet_la_SOURCES): append `local_sources.' - * native/jni/java-net/gnu_java_net_local_LocalSocketImpl.c, - * native/jni/java-net/local.c, - * native/jni/java-net/local.h, - * include/gnu_java_net_local_LocalSocketImpl.h, - * gnu/java/net/local/LocalServerSocket.java, - * gnu/java/net/local/LocalSocket.java, - * gnu/java/net/local/LocalSocketAddress.java, - * gnu/java/net/local/LocalSocketImpl.java: new files. - -2006-04-15 Andrew John Hughes - - * javax/accessibility/AccessibleAction.java: - (DECREMENT): Added field. - (INCREMENT): Likewise. - (TOGGLE_EXPAND): Likewise. - * javax/accessibility/AccessibleRole.java: - (EDITBAR): Added field. - (FOOTER): Likewise. - (HEADER): Likewise. - (PARAGRAPH): Likewise. - (PROGRESS_MONITOR): Likewise. - (RULER): Likewise. - * javax/accessibility/AccessibleState.java: - (INDETERMINATE): Added field. - (MANAGES_DESCENDANTS): Likewise. - (TRUNCATED): Likewise. - -2006-04-14 Tom Tromey - - * javax/swing/tree/DefaultTreeSelectionModel.java (getListeners): - Genericized. - * javax/swing/tree/AbstractLayoutCache.java (getVisiblePathsFrom): - Genericized. - -2006-04-14 Robert Schuster - - * javax/swing/text/DefaultCaret.java: - (getBypass): New method. - (moveDot): Rewritten. - (moveDotImpl): New method. - (setDot): Rewritten. - (setDotImpl): New method. - (DefaultCaret.Bypass): New class. - -2006-04-14 Robert Schuster - - * javax/swing/text/AbstractDocument.java: - (getBypass): New method. - (insertString): Rewritten. - (remove): Rewritten. - (replace): Rewritten. - (insertStringImpl): New method. - (removeImpl): New method. - (replaceImpl): New method. - (AbstractDocument.Bypass): New class. - -2006-04-14 Casey Marshall - - Fixes PR classpath/24642 - * NEWS: add note about SecureRandom changes, and addition of - VMSecureRandom. - * java/security/SecureRandom.java (isSeeded): new field. - (setSeed, setSeed): set `isSeeded' to `true.' - (nextBytes): seed this instance if `isSeeded' is false. - (getSeed): call `generateSeed.' - (SECURERANDOM_SOURCE, JAVA_SECURITY_EGD, logger): new constants. - (generateSeed, generateSeed): new methods. - * vm/reference/java/security/VMSecureRandom.java: new file. - -2006-04-14 Robert Schuster - - * javax/swing/text/FieldView.java: - (paint): Apply clipping rectangle of the allocation area - before painting the text. - * javax/swing/text/DefaultHighlighter.java: - (DefaultHighlighter.DefaultHighlightPainter): Use SwingUtilities to - compute union and intersection, calculate intersection with allocation - area before painting, adjust x and width when painting multiple lines - by the range of the allocation area. - -2006-04-14 Robert Schuster - - * javax/swing/text/DefaultHighlighter.java: - (paintLayeredHighlights): Marked as stub. - -2006-04-14 Robert Schuster - - * javax/swing/plaf/basic/BasicTextFieldUI.java: - (propertyChanged): Added note, change color only if current background - is a ColorUIResource instance. - -2006-04-14 Tom Tromey - - * java/beans/beancontext/BeanContextSupport.java (hasNext): No longer - a stub. - (next): Likewise. - -2006-04-14 Tom Tromey - - * javax/swing/JComboBox.java (AccessibleJComboBox): Now public. - -2006-04-14 Mark Wielaard - - * java/lang/Thread.java (getUncaughtExceptionHandler): Return - thread group when exceptionHandler isn't set. - * vm/reference/java/lang/VMThread.java (run): Use result of - thread.getUncaughtExceptionHandler directly. - -2006-04-14 David Gilbert - - * javax/swing/JSplitPane.java - (AccessibleJSplitPane.getAccessibleStateSet): Implemented, - (AccessibleJSplitPane.getAccessibleRole): Implemented, - (AccessibleJSplitPane.getAccessibleValue): Implemented, - (AccessibleJSplitPane.getCurrentAccessibleValue): Implemented, - (AccessibleJSplitPane.setCurrentAccessibleValue): Implemented, - (AccessibleJSplitPane.getMinimumAccessibleValue): Implemented, - (AccessibleJSplitPane.getMaximumAccessibleValue): Implemented. - -2006-04-10 Tom Tromey - - * javax/imageio/metadata/IIOMetadataFormatImpl.java (addObjectValue): - Fixed parameter bounds. - -2006-04-13 Andrew John Hughes - - * gnu/javax/crypto/assembly/Assembly.java, - * gnu/javax/crypto/assembly/Cascade.java, - * gnu/javax/crypto/assembly/CascadeStage.java, - * gnu/javax/crypto/assembly/CascadeTransformer.java, - * gnu/javax/crypto/assembly/Direction.java, - * gnu/javax/crypto/assembly/LoopbackTransformer.java, - * gnu/javax/crypto/assembly/ModeStage.java, - * gnu/javax/crypto/assembly/Operation.java, - * gnu/javax/crypto/assembly/PaddingTransformer.java, - * gnu/javax/crypto/assembly/Stage.java, - * gnu/javax/crypto/assembly/Transformer.java, - * gnu/javax/crypto/cipher/Square.java, - * gnu/javax/crypto/jce/cipher/AESSpi.java, - * gnu/javax/crypto/jce/cipher/ARCFourSpi.java, - * gnu/javax/crypto/jce/cipher/AnubisSpi.java, - * gnu/javax/crypto/jce/cipher/BlowfishSpi.java, - * gnu/javax/crypto/jce/cipher/CipherAdapter.java, - * gnu/javax/crypto/jce/cipher/DESSpi.java, - * gnu/javax/crypto/jce/cipher/KhazadSpi.java, - * gnu/javax/crypto/jce/cipher/NullCipherSpi.java, - * gnu/javax/crypto/jce/cipher/PBES2.java, - * gnu/javax/crypto/jce/cipher/RijndaelSpi.java, - * gnu/javax/crypto/jce/cipher/SerpentSpi.java, - * gnu/javax/crypto/jce/cipher/SquareSpi.java, - * gnu/javax/crypto/jce/cipher/TripleDESSpi.java, - * gnu/javax/crypto/jce/cipher/TwofishSpi.java, - * gnu/javax/crypto/jce/mac/HMacMD2Spi.java, - * gnu/javax/crypto/jce/mac/HMacMD4Spi.java, - * gnu/javax/crypto/jce/mac/HMacMD5Spi.java, - * gnu/javax/crypto/jce/mac/HMacRipeMD128Spi.java, - * gnu/javax/crypto/jce/mac/HMacRipeMD160Spi.java, - * gnu/javax/crypto/jce/mac/HMacSHA160Spi.java, - * gnu/javax/crypto/jce/mac/HMacSHA256Spi.java, - * gnu/javax/crypto/jce/mac/HMacSHA384Spi.java, - * gnu/javax/crypto/jce/mac/HMacSHA512Spi.java, - * gnu/javax/crypto/jce/mac/HMacTigerSpi.java, - * gnu/javax/crypto/jce/mac/HMacWhirlpoolSpi.java, - * gnu/javax/crypto/jce/mac/MacAdapter.java, - * gnu/javax/crypto/jce/mac/TMMH16Spi.java, - * gnu/javax/crypto/jce/mac/UHash32Spi.java, - * gnu/javax/crypto/jce/mac/UMac32Spi.java, - * gnu/javax/crypto/key/dh/DiffieHellmanSender.java, - * gnu/javax/crypto/key/srp6/SRP6TLSServer.java, - * gnu/javax/crypto/keyring/PrivateKeyEntry.java, - * gnu/javax/crypto/mode/IAuthenticatedMode.java, - * gnu/javax/crypto/pad/WrongPaddingException.java, - * gnu/javax/crypto/prng/ICMGenerator.java, - * gnu/javax/crypto/prng/IPBE.java, - * gnu/javax/crypto/prng/PBKDF2.java, - * gnu/javax/crypto/sasl/ConfidentialityException.java, - * gnu/javax/crypto/sasl/IllegalMechanismStateException.java, - * gnu/javax/crypto/sasl/srp/IALG.java, - * gnu/javax/crypto/sasl/srp/SRPServer.java: - Remove CVS revision tags. - -2006-04-13 Audrius Meskauskas - - * javax/swing/plaf/basic/BasicTreeUI.java (getPreferredSize): - Removed debugging code. - -2006-04-13 Audrius Meskauskas - - * javax/swing/JTree.java (getPreferredSize): Return the - cloned instance. - * javax/swing/ViewportLayout.java (layoutContainer): - Do not manage the view size and location if the view is - in the scroll pane. Also manage size and location for - Scrollable, if it is not in the scroll pane. - * javax/swing/plaf/basic/BasicTreeUI.java, - * javax/swing/tree/FixedHeightLayoutCache.java, - * javax/swing/tree/VariableHeightLayoutCache.java: Rewritten. - * gnu/javax/swing/tree/GnuPath.java: New file. - -2006-04-13 David Gilbert - - * javax/swing/JToolBar.java - (AccessibleJToolBar.getAccessibleStateSet): Marked as stub. - -2006-04-13 Robert Schuster - - * examples/gnu/classpath/examples/swing/TextAreaDemo.java: - (createCustomColoredPanel): Set background color as demo intends, - changed custom selection color to red. - * examples/gnu/classpath/examples/swing/TextFieldDemo.java: - Replaced various single variables with a Compound instance, added - custom highlighter demo. - (TextFieldDemo.DemoHighlightPainter): New class (taken from - TextAreaDemo). - (TextFieldDemo.Compound): New class. - (createTextFieldCompound): New method. - (createLeftAlignedPanel): Rewritten. - (createRightAlignedPanel): Rewritten. - (createCenteredPanel): Rewritten. - (createCustomColoredPanel): Removed. - (createCustomColoredPanel1): New method. - (createCustomColoredPanel2): New method. - (createCustomBordersPanel): New method. - (createMiscPanel): Rewritten. - (actionPerformed): Rewritten. - (createContent): Add panels of new compounds to main panel, put - main panel in a JScrollPane. - * examples/gnu/classpath/examples/swing/Demo.java: - (Demo): Put desktop in a scrollpane. - (mkMenuBar): Check availability of MetalLookAndFeel.getCurrentTheme() - method via reflection. - -2006-04-13 David Gilbert - - * javax/swing/plaf/metal/MetalDesktopIconUI.java - (createUI): Return new instance rather than shared instance. - -2006-04-13 Robert Schuster - - * javax/swing/text/FieldView.java: - (checkContainer): Call updateVisibility() at the end. - -2006-04-13 Robert Schuster - - * java/awt/event/MouseEvent.java: - (paramString): Add value of 'consumed' variable in string. - -2006-04-13 Robert Schuster - - PR 26967 - * javax/swing/JTextField.java: Removed scrollOffset variable. - (JTextField): Moved up initialization of horizontalVisibility field. - (getScrollOffset): Implemented. - (setScrollOffset): Implemented. - (getHorizonztalVisibility): Removed note. - (scrollRectToVisible): New method. - * javax/swing/text/FieldView.java: Added cachedSpan variable. - (checkContainer): New method. - (updateVisibility): New method. - (calculateHorizontalSpan): New method. - (adjustAllocation): Removed unneeded local variables, added code - to handle scrolling. - (getPreferredSpan): Use new method calculateHorizontalSpan, - avoid calculation by returning cached value cachedSpan. - (paint): Added check whether the hosted component is a JTextField. - (insertUpdate): Invalidate cached span value, update visibility - if neccessary. - (removeUpdate): Dito. - (changeUpdate): Dito. - -2006-04-13 David Gilbert - - * javax/swing/JInternalFrame.java - (setTitle): Set old value to 'this.title', not 'title'. - -2006-04-13 David Gilbert - - * javax/swing/JInternalFrame.java - (AccessibleJInternalFrame.getAccessibleName): Implemented, - (AccessibleJInternalFrame.getAccessibleRole): Implemented, - (AccessibleJInternalFrame.getAccessibleValue): Implemented, - (AccessibleJInternalFrame.getCurrentAccessibleValue): Implemented, - (AccessibleJInternalFrame.getMaximumAccessibleValue): Implemented, - (AccessibleJInternalFrame.getMinimumAccessibleValue): Implemented, - (AccessibleJInternalFrame.setCurrentAccessibleValue): Implemented, - (JDesktopIcon.AccessibleJDesktopIcon.getAccessibleRole): Implemented, - (JDesktopIcon.AccessibleJDesktopIcon.getAccessibleValue): Implemented, - (JDesktopIcon.AccessibleJDesktopIcon.getCurrentAccessibleValue): - Implemented, - (JDesktopIcon.AccessibleJDesktopIcon.getMaximumAccessibleValue): - Implemented, - (JDesktopIcon.AccessibleJDesktopIcon.getMinimumAccessibleValue): - Implemented, - (JDesktopIcon.AccessibleJDesktopIcon.setCurrentAccessibleValue): - Implemented, - (JInternalFrame()): Use "" for default title, - (getAccessibleContext): Updated API docs, - (getDesktopIcon): Likewise, - (getLayer): Check for layer in client properties, and return - DEFAULT_LAYER if no setting is found, - (getTitle): Updated API docs, - (setDesktopIcon): Fire property change event. - -2006-04-13 Audrius Meskauskas - - * javax/swing/ScrollPaneLayout.java (layoutContainer): - Mind that the presence of one scroll bar may cause the - need for another. - -2006-04-12 Ito Kazumitsu - - * gnu/regexp/REToken.java(unicodeAware): New field, - (toLowerCase, toUpperCase): New methods. - * gnu/regexp/RETokenBackRef.java, gnu/regexp/RETokenChar.java, - gnu/regexp/RETokenNamedProperty.java, gnu/regexp/RETokenRange.java: - Use toLowerCase and toUpperCase defined in REToken instead of - those defined in java.lang.Character. - * gnu/regexp/gnu/regexp/RE.java(REG_ICASE_USASCII): New flag. - (initialize): Sets unicodeAware of the generated REToken to false if - REG_ICASE_USASCII is set. - * gnu/regexp/RETokenChar.java(constructor): Don't convert the character - to lower case and keep the original value. - (matchOneString): Use the new method charEquals to compare characters. - (charEquals): New method to compare characters. - * java/util/regex/Pattern.java: Sets the flag REG_ICASE_USASCII to true. - -2006-04-12 David Gilbert - - * javax/swing/event/InternalFrameEvent.java: - (paramString): Implemented, - updated API docs all over. - -2006-04-12 Casey Marshall - - * gnu/javax/crypto/prng/Fortuna.java (setup): call `fillBlock.' - (Generator.setup): call `fillBlock.' - -2006-04-12 Casey Marshall - - Fixes PR classpath/24481. - * gnu/java/security/jce/prng/SecureRandomAdapter.java (): - initialize the adaptee. - (setSeed): call `addRandomBytes;' don't re-initialize the adaptee. - * gnu/java/security/prng/MDGenerator.java (addRandomByte, - addRandomBytes): new methods. - -2006-04-12 Tom Tromey - - * java/io/DataOutputStream.java (writeUTF): Correctly handle zero - length strings. - -2006-04-12 Lillian Angel - - * gnu/xml/dom/DomDocument.java - (checkNCName): Removed unneeded part of check. - * gnu/xml/dom/DomNode.java - (dispatchEvent): Added code to grow ancestors array - if needed. Changed checks to use depth of node instead. - Fixes an infinite loop and segmentation fault. - * gnu/xml/dom/html2/DomHTMLParser.java - (handleEndTag): No need to use/make a copy of the node. - Causes an infinite loop. - -2006-04-12 Tom Tromey - - PR classpath/27131: - * java/util/BitSet.java (get): Early return if to==from. - -2006-04-12 Mark Wielaard - - * java/security/SecureRandom.java (algorithm): New private field. - (SecureRandom): Initialize algorithm. - (SecureRandom(SecureRandomSpi,Provider,String)): New private - constructor. - (getInstance): Call 3 argument constructor. - (getAlgorithm): New method. - -2006-04-12 Mark Wielaard - - Port UncaughtExceptionHandler support from generics branch. - * NEWS: Document Thread.UncaughtExceptionHandler VMThread change. - -2006-04-12 Andrew John Hughes - - * java/lang/Thread.java: - (setUncaughtExceptionHandler(UncaughtExceptionHandler): - Added docs and security check. - (getUncaughtExceptionHandler()): Documented. - (setDefaultUncaughtExceptionHandler(UncaughtExceptionHandler): - Added docs and security check. - (getDefaultUncaughtExceptionHandler()): Documented. - (getId()): Documented. - -2006-04-12 Tom Tromey - - * vm/reference/java/lang/VMThread.java (run): Use thread's - uncaught handler. - * java/lang/Thread.java (defaultHandler): New field. - (setDefaultUncaughtExceptionHandler, - getDefaultUncaughtExceptionHandler, setUncaughtExceptionHandler, - getUncaughtExceptionHandler): New methods. - * java/lang/ThreadGroup.java (ThreadGroup): Implements - UncaughtExceptionHandler. - (uncaughtException): Use getDefaultUncaughtExceptionHandler. - -2006-04-11 Bryce McKinlay - - * java/io/DataOutputStream.java (writeUTF): Re-use fixed length byte - buffer. Loop only once to determine Utf8 length when possible. Make - the inner loop bounded by buf.length. - (getUTFlength): New private method. - (buf): New private field. - -2006-04-11 Lillian Angel - - * gnu/xml/dom/DomNodeIterator.java - (nextNode): Moved line of code to avoid an infinite loop. - * gnu/xml/dom/html2/DomHTMLAppletElement.java - (getCls): New function. - (setCls): Likewise. - (getSrc): Likewise. - (setSrc): Likewise. - * gnu/xml/dom/html2/DomHTMLDocument.java: - Added DomHTMLEmbedElement to map. - (getApplets): Added node name, 'embed'. - * gnu/xml/dom/html2/DomHTMLEmbedElement.java: - New class. - * gnu/xml/dom/html2/DomHTMLObjectElement.java - (getJavaCode): New function. - (setJavaCode): Likewise. - (getObject): Likewise. - (setObject): Likewise. - (getJavaObject): Likewise. - (setJavaObject): Likewise. - (getJavaArchive): Likewise. - (setJavaArchive): Likewise. - (getJavaCodeBase): Likewise. - (setJavaCodeBase): Likewise. - (getJavaType): Likewise. - (setJavaType): Likewise. - (setMayscript): Likewise. - (getMayscript): Likewise. - (setScriptable): Likewise. - (getScriptable): Likewise. - * gnu/xml/dom/html2/DomHTMLParser.java - (parseDocument): Should not check for well formedness - when parsing an html document. - * java/awt/Window.java - (dispatchEvent): Added check to avoid NPE. - -2006-04-10 Tom Tromey - - * javax/accessibility/AccessibleStreamable.java (getStream): Fixed - name. - * javax/accessibility/AccessibleRelation.java (EMBEDS): Fixed value. - (SUBWINDOW_OF, SUBWINDOW_OF_PROPERTY): Likewise. - -2006-04-10 Robert Schuster - - * javax/swing/plaf/basic/BasicTextUI.java: - (getNextVisualPositionFrom): Marked as stub. - -2006-04-10 Roman Kennke - - * javax/swing/plaf/basic/BasicLookAndFeel.java - (initSystemColorDefaults): Changed to use loadSystemColorDefaults - and create the defaults as strings constants. - (loadSystemColors): Implemented stubbed method. - -2006-04-10 Tom Tromey - - * .settings/org.eclipse.core.resources.prefs: Set encoding for - ChangeLog. - -2006-04-10 Tom Tromey - - * java/io/CharArrayWriter.java (append): Javadoc fix. - (append): Likewise. - -2006-04-10 Tom Tromey - - * javax/accessibility/AccessibleTextSequence.java: New file. - * javax/accessibility/AccessibleRelation.java (CHILD_NODE_OF): New - field. - (CHILD_NODE_OF_PROPERTY, EMBEDDED_BY, EMBEDDED_BY_PROPERTY, EMBEDS, - EMBEDS_PROPERTY, FLOWS_FROM, FLOWS_FROM_PROPERTY, FLOWS_TO, - FLOWS_TO_PROPERTY, PARENT_WINDOW_OF, PARENT_WINDOW_OF_PROPERTY, - SUBWINDOW_OF, SUBWINDOW_OF_PROPERTY): Likewise. - * javax/accessibility/AccessibleExtendedText.java: New file. - * javax/accessibility/AccessibleContext.java - (ACCESSIBLE_COMPONENT_BOUNDS_CHANGED): New field. - (ACCESSIBLE_INVALIDATE_CHILDREN): Likewise. - (ACCESSIBLE_TEXT_ATTRIBUTES_CHANGED): Likewise. - * javax/accessibility/AccessibleAttributeSequence.java: New file. - * javax/accessibility/AccessibleStreamable.java: New file. - * javax/accessibility/AccessibleText.java (getIndexAtPoint): Javadoc - fix. - -2006-04-10 Audrius Meskauskas - - * javax/swing/tree/AbstractLayoutCache.java - (getNodeDimensions, getRowsForPath): Implemented. - * javax/swing/tree/FixedHeightLayoutCache.java: Rewritten. - * javax/swing/tree/VariableHeightLayoutCache.java: Rewritten. - -2006-04-10 Roman Kennke - - * javax/swing/tree/AbstractLayoutCache.java: Reformatted. - -2006-04-10 Roman Kennke - - * javax/swing/JInternalFrame.java - (AccessibleJInternalFrame): Marked all stubbed methods as such - by adding throws NotImplementedException. - -2006-04-10 Roman Kennke - - * javax/swing/JFileChooser.java - (getAccessibleContext): Don't create a new instance on each - call, instead store the accessible context in the - accessibleContext field. - -2006-04-10 Roman Kennke - - * javax/swing/JComboBox.java - (AccessibleJComboBox): Marked all stubbed methods as such - by adding throws NotImplementedException. - -2006-04-10 Roman Kennke - - * javax/swing/ActionMap.java - (readObject): Removed. - (writeObject): Removed. - -2006-04-10 Audrius Meskauskas - - * javax/swing/tree/DefaultTreeSelectionModel.java - (addSelectionPaths, setSelectionPaths): Call - insureUniqueness. (clone, setRowMapper): Implemented. - * TreePath (path): Marked final. - -2006-04-10 Audrius Meskauskas - - * javax/swing/tree/DefaultTreeSelectionModel.java: - Documented and autoformatted. (insureUniqueness): - Removed stub marking. - -2006-04-09 David Gilbert - - * javax/swing/SizeSequence.java - (sizes): Don't initialise here, - (SizeSequence(int, int)): Initialise sizes field, - (SizeSequence(int[])): Clone argument instead of calling setSizes(), - (setSize): Do nothing when index is out of bounds, - (getIndex): Implemented, - (setSizes): Reimplemented, - (getSizes): Likewise, - (insertEntries): Likewise, - (removeEntries): Likewise, - plus added API docs all over. - -2006-04-09 Audrius Meskauskas - - * gnu/CORBA/CDR/EncapsulationStream.java (constructor): - Set the byte order. - -2006-04-09 Wolfgang Baer - - * org/omg/PortableServer/ServantLocatorPOA.java: - (preinvoke, postinvoke): Remove default implementation. - * org/omg/PortableServer/ServantActivatorPOA.java: - (incarnate, etherealize): Remove default implementation. - * org/omg/PortableInterceptor/ObjectReferenceFactory.java: - Extends from ValueBase and not from ObjectReferenceFactoryOperations. - (make_object): Moved method from ObjectReferenceFactoryOperations. - * org/omg/PortableInterceptor/ObjectReferenceFactoryOperations.java: - Removed unspecified interface. - * org/omg/DynamicAny/_DynAnyStub.java: - (_DynAnyStub(Delegate)): Removed constructor. - * org/omg/DynamicAny/_DynArrayStub.java, - * org/omg/DynamicAny/_DynAnyFactoryStub.java, - * org/omg/DynamicAny/_DynEnumStub.java, - * org/omg/DynamicAny/_DynFixedStub.java, - * org/omg/DynamicAny/_DynSequenceStub.java, - * org/omg/DynamicAny/_DynStructStub.java, - * org/omg/DynamicAny/_DynUnionStub.java, - * org/omg/DynamicAny/_DynValueStub.java: - Extend from ObjectImpl and not from _DynAnyStub. - (type, next, destroy, copy, rewind, assign, component_count, - current_component, equal, from_any, get_any, get_boolean, get_char, - get_double, get_dyn_any, get_float, get_long, get_longlong, get_octet, - get_reference, get_short, get_string, get_typecode, get_ulong, - get_ulonglong, get_ushort, get_val, get_wchar, get_wstring, insert_any, - insert_boolean, insert_char, insert_double, insert_dyn_any, insert_float, - insert_long, insert_longlong, insert_octet, insert_reference, - insert_short, insert_string, insert_typecode, insert_ulong, - insert_ulonglong, insert_ushort, insert_val, insert_wchar, - insert_wstring, seek, to_any): New methods copied from _DynAnyStub. - * org/omg/CosNaming/_BindingIteratorStub.java: - (_BindingIteratorStub(Delegate)): Made package private. - * org/omg/CosNaming/_NamingContextExtStub.java: - (_NamingContextExtStub(Delegate)): Made package private. - * org/omg/CosNaming/_NamingContextStub.java: - (_NamingContextStub(Delegate)): Made package private. - (throw4, throw5): Likewise. - * gnu/CORBA/NamingService/NameParser.java (resolve): - Adapt to package private constructor. Use _set_delegate instead. - * org/omg/CosNaming/NamingContextOperations.java: Do not extend IDLEntity. - * org/omg/CORBA/ORB.java: - (create_recursive_sequence_tc): Made abstract. - (get_default_context): Likewise. - * gnu/CORBA/OrbRestricted.java: - (create_recursive_sequence_tc): New moved method. - (get_default_context): Likewise. - * org/omg/CORBA/ParameterMode.java: - (PARAM_IN, PARAM_OUT, PARAM_INOUT): Made final. - -2006-04-09 Audrius Meskauskas - - * gnu/CORBA/GIOP/MessageHeader.java (write): - More informative exception. - * gnu/CORBA/IorDelegate.java (release): Do not close the socket. - * gnu/CORBA/SocketRepository.java (get_socket): - Removed debugging code. - -2006-04-09 Audrius Meskauskas - - * gnu/CORBA/gnuRequest.java (submit): Try to read the response for the - one way message, but ignore if EOF was received. - * gnu/CORBA/GIOP/MessageHeader.java (read): Set the minor code to - Minor.EOF if the end of file is received instead of the header. - -2006-04-09 Roman Kennke - - * javax/swing/plaf/metal/MetalRootPaneUI.java - (MetalTitlePane.IconifyAction): New inner class. - (MetalTitlePane.MaximizeAction): New inner class. - (MetalTitlePane.createActions): Create iconifyAction and - maximizeAction. - (MetalRootLayout.titlePane): New field. - (MetalRootLayout.MetalRootLayout): Take titlePane parameter in - constructor. - (MetalRootLayout.preferredLayoutSize): Changed to not make - assumptions about the actual component order. - (MetalRootLayout.layoutContainer): Changed to not make - assumptions about the actual component order. - (installWindowDecorations): Pass the titlePane as parameter to - the MetalRootLayout constructor. - (uninstallWindowDecorations): Changed to not make - assumptions about the actual component order. - -2006-04-08 Roman Kennke - - * javax/swing/plaf/metal/MetalRootPaneUI.java - (MetalTitlePane.MouseHandler): New inner class to handle dragging - of frames. - (MetalTitlePane.installListeners): Don't register a focus listener - on the window. This is a potential memory leak and must be - implemented on a different way. Install mouse listener here. - (installWindowDecorations): Fixed assertion condition. Always - insert the window decoration at index#1 in the layered - pane. - -2006-04-08 Roman Kennke - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c - (Java_gnu_java_awt_peer_gtk_GtkWindowPeer_nativeSetBoundsUnlocked): - Only resize window if actual width or height value changes. - Avoids nasty flicker when only setLocation() is beeing called - on a window. - -2006-04-08 Audrius Meskauskas - - * gnu/CORBA/GIOP/MessageHeader.java (read): Throw more informative - exception if the magic sequence does not match. - -2006-04-08 Audrius Meskauskas - - * gnu/CORBA/gnuRequest.java (p_invoke, submit): Do not try to read - response for the one way messages. - -2006-04-08 Roman Kennke - - * javax/swing/MenuSelectionManager.java - (processKeyEvent): Implemented stub method. - * javax/swing/JMenu.java - (processKeyEvent): Implemented stub method. - * javax/swing/JMenu.java - (processKeyEvent): Implemented stub method. - (processMenuKeyEvent): Implemented stub method. - -2006-04-08 Roman Kennke - - * javax/swing/AbstractAction.java - (readObject): Removed unneeded method. - (writeObject): Removed unneeded method. - -2006-04-08 Wolfgang Baer - - * javax/swing/plaf/synth/SynthPainter.java: - (paintSplitPaneDividerBorder): Removed. - -2006-04-08 Wolfgang Baer - - * javax/swing/plaf/basic/BasicInternalFrameTitlePane.java: - (CLOSE_CMD, ICONIFY_CMD, MAXIMIZE_CMD, MOVE_CMD, RESTORE_CMD, SIZE_CMD): - No longer constants. - (static_initializer): Added to initialize above fields. - * javax/accessibility/AccessibleRelation.java (LABEL_FOR, LABELED_BY, - MEMBER_OF, CONTROLLER_FOR, CONTROLLED_BY): No longer constants. - (static_initializer): Added to initialize above fields. - -2006-04-08 Wolfgang Baer - - * java/awt/Dialog.java: Improved documentation all over. - (Dialog(Frame)): If gc is null use the owners GraphicsConfiguration. - (Dialog(Dialog)): Likewise. - -2006-04-08 Mark Wielaard - - * java/util/jar/JarFile.java (provider): New static field. - (verify, verifyHashes, EntryInputStream.): Pass provider - to `getInstance.' - -2006-04-08 Mark Wielaard - - PR 27081 - * java/lang/StackTraceElement.java (toString): Don't add space - between type and source indicator. - -2006-04-07 Casey Marshall - - Fixes PR classpath/24464 - * java/util/jar/JarFile.java (verify, verifyHashes, - EntryInputStream.): pass the Gnu provider directly to - `getInstance.' - -2006-04-08 Raif S. Naffah - - PR classpath/27071 - * gnu/java/security/hash/Whirlpool.java: Updated documentation. - (DIGEST0): Use version 3 test vector. - (Sd): Removed. - (S_box): New field: Version 3 S-box values. - (): Use Version 3 circulant matrix to construct lookup tables. - (transform): Formating. - (padBuffer): Likewise. - (getResult): Likewise. - (selfTest): Likewise. - -2006-04-07 Tom Tromey - - * java/util/InvalidPropertiesFormatException.java - (serialVersionUID): New field. - (readObject, writeObject): New methods. - * java/util/Arrays.java (toString): Javadoc fixes. - * java/net/URLConnection.java: Cleaned up imports. - * java/lang/reflect/ParameterizedType.java: Javadoc fix. - * java/lang/reflect/MalformedParameterizedTypeException.java - (serialVersionUID): New field. - * java/lang/reflect/GenericSignatureFormatError.java - (serialVersionUID): New field. - * java/lang/Class.java (Class): Javado fixes. - (getComponentType): Likewise. - (getGenericInterfaces): Likewise. - (getTypeParameters): Likewise. - * java/io/CharArrayWriter.java (append): Javadoc fixes. - * java/lang/annotation/AnnotationFormatError.java (serialVersionUID): - New field. - * java/lang/TypeNotPresentException.java (serialVersionUID): New - field. - * java/lang/EnumConstantNotPresentException.java (serialVersionUID): - New field. - -2006-04-07 Wolfgang Baer - - * java/awt/Dialog.java - (AccessibleAWTDialog): Added api docs - (AccessibleAWTDialog.getAccessibleStateSet): - Renamed from getAccessibleState. - * java/awt/Frame.java - (AccessibleAWTFrame): Added api docs - (AccessibleAWTFrame.getAccessibleStateSet): - Renamed from getAccessibleState. - -2006-04-07 Wolfgang Baer - - * java/awt/Dialog.java: Reformatted. - -2006-04-07 Lillian Angel - - * java/awt/Component.java - (eventTypeEnabled): Added code for HierarchyEvent.HIERARCHY_CHANGED, - HierarchyEvent.ANCESTOR_MOVED and HierarchyEvent.ANCESTOR_RESIZED. - -2006-04-07 Tom Tromey - - * java/beans/beancontext/BeanContextMembershipEvent.java - (serialVersionUID): New field. - * java/beans/beancontext/BeanContextServicesSupport.java - (addBeanContextServicesListener): Synchronize. - (addService): Implemented. - (createBCSChild): Implemented. - (BCSSChild): Added arguments. - (fireServiceAdded): Implemented. - (fireServiceRevoked): Implemented. - (getCurrentServiceSelectors): Implemented. - (hasService): Implemented. - (removeBeanContextServicesListener): Implemented. - (serviceAvailable): Implemented. - (serviceRevoked): Implemented. - * java/beans/beancontext/BeanContextSupport.java (BCSChild): Added - arguments. - (createBCSChild): Implemented. - (BeanContextSupport): - (addBeanContextMembershipListener): Synchronize. - (fireChildrenAdded): Implemented. - (fireChildrenRemoved): Implemented. - (BeanContextSupport): Use default locale. - (isEmpty): Implemented. - (isDesignTime): Implemented. - (size): Implemented. - (toArray): Synchronized. - (toArray): Likewise. - (iterator): Likewise. - (BCSIterator): Implemented. - (bcsChildren): Implemented. - (validatePendingAdd): Implemented. - (validatePendingRemove): Likewise. - (childJustAddedHook): Implemented. - (childJustRemovedHook): Likewise. - (classEquals): Likewise. - (toArray): Mark as stub. - (setDesignTime): Implemented. - (copyChildren): Implemented. - (containsKey): Implemented. - (contains): Likewise. - (containsAll): Likewise. - (getResource): Implemented. - (getResourceAsStream): Likewise. - (removeBeanContextMembershipListener): Likewise. - * java/beans/beancontext/BeanContextServiceRevokedEvent.java - (serialVersionUID): New field. - * java/beans/beancontext/BeanContextServiceAvailableEvent.java - (serialVersionUID): New field. - * java/beans/beancontext/BeanContext.java (instantiateChild): Javadoc - fix. - -2006-04-06 Roman Kennke - - PR 26937 - * javax/swing/MenuSelectionManager.java - (setSelectedPath): Search one more item in the loop. - -2006-04-06 Tom Tromey - - * java/awt/image/renderable/RenderableImageProducer.java - (image, context, consumers): New fields. - (RenderableImageProducer): Implemented. - (setRenderContext): Likewise. - (addConsumer): Likewise. - (isConsumer): Likewise. - (removeConsumer): Likewise. - (startProduction): Likewise. - -2006-04-06 Roman Kennke - - * java/awt/Component.java - (AccessibleAWTComponent.getBounds): Return the component - bounds regardless of its showing state. - (AccessibleAWTComponent.getLocation): Return the component - location regardless of its showing state. - (AccessibleAWTComponent.getSize): Return the component - size regardless of its showing state. - -2006-04-06 Roman Kennke - - * javax/swing/JRootPane.java - (getAccessibleContext): New method. Provides an accessibleContext - for JRootPanes. - -2006-04-06 Roman Kennke - - * java/awt/Toolkit.java - (initAccessibility): Use the 'gnu.classpath.home.url' property - to determine the system confiuration directory. - * java/awt/Component.java - (dispatchEvent): Trigger Toolkit dispatching here. - (dispatchEventImpl): Moved Toolkit dispatching to dispatchEvent, - so it can't be overridden by subclasses and is performed in - any case. - -2006-04-06 Wolfgang Baer - - * javax/naming/Binding.java: Added API docs. - * javax/naming/NameClassPair.java: Added API docs. - (fullName): New field. - (setNameInNamespace): New 1.5 method. - (getNameInNamespace): Likewise. - -2006-04-06 Wolfgang Baer - - * javax/naming/CompositeName.java: - (readObject): New deserialization method. - (writeObject): New serialization method. - -2006-03-29 Nektarios K. Papadopoulos - - * javax/security/auth/x500/X500Principal.java - (readAttributeValue) Check for separator after quoted value was - failing in all cases. - -2006-04-06 Mark Wielaard - - * java/lang/Class.java (getClassLoader): Don't do security check - when loader is null. - -2006-04-06 Roman Kennke - - * java/awt/Toolkit.java - (getDefaultToolkit): Initialize accessibility after setting - up the toolkit. - (initAccessibility): New helper method to setup accessibility. - -2006-04-06 Roman Kennke - - * javax/swing/AbstractButton.java - (AccessibleAbstractButton.getAccessibleIcon): Implemented stub. - (AccessibleAbstractButton.getAccessibleRelationSet): Implemented - stub. - (AccessibleAbstractButton.getIndexAtPoint): Implemented stub. - (AccessibleAbstractButton.getAccessibleIcon): Implemented stub. - (AccessibleAbstractButton.getCharacterBounds): Implemented stub. - (AccessibleAbstractButton.getCharCount): Implemented stub. - (AccessibleAbstractButton.getCaretPosition): Implemented stub. - (AccessibleAbstractButton.getCharacterAttribute): Implemented stub. - (AccessibleAbstractButton.getSelectionStart): Implemented stub. - (AccessibleAbstractButton.getSelectionEnd): Implemented stub. - (AccessibleAbstractButton.getSelectedText): Implemented stub. - (AccessibleAbstractButton.getTextRectangle): Removed unneeded - private method. - -2006-04-06 Roman Kennke - - * java/awt/Component.java - (AccessibleAWTComponent.getAccessibleStateSet): Don't handle opaque - state here. This is only done in JComponent. - * javax/swing/JComponent.java - (AccessibleJComponent.getAccessibleStateSet): Handle opaque flag - here. - (getNextFocusableComponent): Implemented stub method. - (grabFocus): Implemented stub method. - (unregisterKeyboardAction): Implemented stub method. - (setNextFocusableComponent): Implemented stub method. - * javax/swing/CompatibilityFocusTraversalPolicy.java: New file. - This is a helper class for providing compatibility with the older - Swing focus API. - -2006-04-06 Wolfgang Baer - - Fixes bug #26995 - * javax/naming/directory/BasicAttribute.java, - * javax/naming/directory/BasicAttributes.java: - (readObject): New deserialization method. - (writeObject): New serialization method. - -2006-04-06 Wolfgang Baer - - * javax/xml/validation/SchemaFactory.java: Corrected since tag. - (getErrorHandler): Made method abstract. - (setErrorHanlder): Likewise. - * gnu/xml/validation/relaxng/RELAXNGSchemaFactory.java - (getErrorHandler): Implement abstract method from superclass. - (setErrorHandler): Likewise. - (errorHandler): New field. - * gnu/xml/validation/xmlschema/XMLSchemaSchemaFactory.java: - (getErrorHandler): Implement abstract method from superclass. - (setErrorHandler): Likewise. - (errorHandler): New field. - * javax/xml/XMLConstants.java: Corrected since tag. - (XMLConstants): Added private constructor. - * javax/xml/datatype/Duration.java: Corrected since tag. - (multiply): Made method abstract. - * javax/xml/datatype/DatatypeConstants.java: Corrected since tag. - (DatatypeConstants): Added private constructor. - * javax/xml/xpath/XPathConstants.java: Corrected since tag. - (XPathConstants): Added private constructor. - -2006-04-05 Tom Tromey - - * javax/security/auth/kerberos/ServicePermission.java: Now final. - -2006-04-05 Tom Tromey - - PR libgcj/26625: - * lib/Makefile.am (compile-classes): Touch the output file. - -2006-04-05 Roman Kennke - - * javax/swing/AbstractButton.java - (AccessibleAbstractButton.getAccessibleStateSet): Removed handling - of the focused state. This is already done in AccessibleAWTComponent. - -2006-04-05 Roman Kennke - - * javax/swing/JComponent.java - (accessibleContext): Fixed API doc for this field. - (AccessibleJComponent.AccessibleFocusHandler): Fixed API docs. - (AccessibleJComponent.AccessibleFocusHandler.focusGained): - Implemented and added API docs. - (AccessibleJComponent.AccessibleFocusHandler.focusLost): - Implemented and added API docs. - (AccessibleJComponent.AccessibleContainerHandler): Fixed API docs. - (AccessibleJComponent.AccessibleContainerHandler.componentAdded): - Implemented and added API docs. - (AccessibleJComponent.AccessibleContainerHandler.componentRemoved): - Implemented and added API docs. - (AccessibleJComponent.accessibleContainerHandler): Added API docs. - (AccessibleJComponent.accessibleFocusHandler): Added API docs. - (AccessibleJComponent.addPropertyChangeListener): Added API docs. - (AccessibleJComponent.removePropertyChangeListener): Added API docs. - (AccessibleJComponent.getAccessibleStateSet): Simply return - super here. Added comment about this. - -2006-04-05 Roman Kennke - - * javax/swing/JComponent.java - (AccessibleJComponent.addPropertyChangeListener): Install - ContainerHandler and FocusHandler here. - (AccessibleJComponent.removePropertyChangeListener): Uninstall - ContainerHandler and FocusHandler here. - (AccessibleJComponent.getAccessibleChildrenCount): Replaced - by super.getAccessibleChildrenCount(). - (AccessibleJComponent.getAccessibleChild): Replaced - by super.getAccessibleChild(). - (AccessibleJComponent.getAccessibleStateSet): Implemented by - adding OPAQUE to the supported states. - (AccessibleJComponent.getAccessibleName): Added titled border - and label fallbacks. - (AccessibleJComponent.getAccessibleDescription): Added tooltip - and label fallbacks. - (AccessibleJComponent.getAccessibleRole): Removed TODO. - (AccessibleJComponent.getAccessibleKeyBinding): Added comment - explaining why return null seems correct here. - * javax/swing/JLabel.java - (LABEL_PROPERTY): New constant. - (setLabelFor): Store label in labeled component's client properties - for the AccessibleJComponent to read. - -2006-04-05 Tom Tromey - - * java/util/zip/ZipFile.java (available): Defer to super if - entry's size is unknown. - -2006-04-05 Tom Tromey - - * java/net/MimeTypeMapper.java (MimeTypeMapper): Look for system - property with mime.types name. - * gnu/classpath/SystemProperties.java: Set - gnu.classpath.mime.types.file if not already set. - * java/net/URLConnection.java (defaultFactory): New field. - (guessContentTypeFromStream): Mark as unimplemented. - (getContentHandler): Updated with libgcj's implementation. - * gnu/java/net/DefaultContentHandlerFactory.java: New file, - from libgcj. - -2006-04-05 Bryce McKinlay - - PR classpath/27028 - PR classpath/24752 - * java/util/AbstractList.java (hasNext): Don't throw - ConcurrentModificationException. Update Javadoc. - (hasPrevious): Likewise. - (nextIndex): Likewise. - (previousIndex): Likewise. - * java/util/HashMap.java (hasNext): Likewise. - * java/util/Hashtable.java (hasNext): Likewise. - * java/util/IdentityHashMap.java (hasNext): Likewise. - * java/util/LinkedHashMap.java (hasNext): Likewise. - * java/util/LinkedList.java (nextIndex): Likewise. - (previousIndex): Likewise. - (hasNext): Likewise. - (hasPrevious): Likewise. - * java/util/TreeMap.java (hasNext): Likewise. - * java/util/WeakHashMap.java (hasNext): Likewise. - -2006-04-05 Roman Kennke - - * javax/swing/AbstractButton.java - (AccessibleAbstractButton.getAccessibleStateSet): Implemented stub. - (AccessibleAbstractButton.doAccessibleAction): Implemented stub. - (AccessibleAbstractButton.getAccessibleAction): Implemented stub. - (AccessibleAbstractButton.getAccessibleActionCount): Implemented stub. - (AccessibleAbstractButton.getAccessibleActionDescription): - Implemented stub. - (AccessibleAbstractButton.getAccessibleText): Implemented stub. - (AccessibleAbstractButton.getAccessibleAction): Implemented stub. - (AccessibleAbstractButton.getCurrentAccessibleValue): Implemented stub. - (AccessibleAbstractButton.setCurrentAccessibleValue): Implemented stub. - (AccessibleAbstractButton.getMinimumAccessibleValue): Implemented stub. - (AccessibleAbstractButton.getMaximumAccessibleValue): Implemented stub. - -2006-04-05 Roman Kennke - - * javax/swing/JComboBox.java - (selectWithKeyChar): Implemented stubbed method. - -2006-04-05 Roman Kennke - - * javax/swing/LookAndFeel.java - (installProperty): New method. Allows primitive typed properties - to be handled like UIResources. - * javax/swing/AbstractButton.java - (clientBorderPaintedSet): New field. - (clientRolloverEnabledSet): New field. - (clientIconTextGapSet): New field. - (clientContentAreaFilledSet): New field. - (setRolloverEnabled): Set the client field to true. - (setBorderPainted): Likewise. - (setIconTextGap): Likewise. - (setContentAreaFilled): Likewise. - (setUIProperty): New helper method. - * javax/swing/JComponent.java - (clientOpaqueSet): New field. - (clientAutoscrollsSet): New field. - (setAutoscrolls): Set the client field to true. - (setOpaque): Likewise. - (setUIProperty): New helper method. - * javax/swing/JDesktopPane.java - (clientDragModeSet): New field. - (setDragMode): Set the client field to true. - (setUIProperty): New helper method. - * javax/swing/JSplitPane.java - (clientDividerSizeSet): New field. - (clientOneTouchExpandableSet): New field. - (setDividerSize): Set the client field to true. - (setOneTouchExpandable): Likewise. - (setUIProperty): New helper method. - * javax/swing/JTable.java - (clientRowHeightSet): New field. - (setRowHeight): Set the client field to true. - (setUIProperty): New helper method. - * javax/swing/JTree.java - (clientRowHeightSet): New field. - (clientScrollsOnExpandSet): New field. - (clientShowsRootHandlesSet): New field. - (setRowHeight): Set the client field to true. - (setShowsRootHandles): Likewise. - (setScrollsOnExpand): Likewise. - (setUIProperty): New helper method. - -2006-04-05 Roman Kennke - - * java/awt/Component.java - (getFont): Don't request the font from the peer's graphics. The - graphics should instead get the font from the Component, which might - result in a loop. - (getFocusCycleAncestor): Don't special case Window. - (nextFocus): Moved implementation from the DefaultKeyboardFocusManager - to here. Correctly determine the focus cycle root. - (transferFocusBackward): Likewise. - (transferFocusUpCycle): Likewise. - * java/awt/Container.java - (transferFocusDownCycle): Moved implementation from - DefaultKeyboardFocusManager to here. - * java/awt/DefaultKeyboardFocusManager.java - (focusPreviousComponent): Moved implementation to - Component.transferFocusBackward(). - (focusNextComponent): Moved implementation to - Component.nextFocus(). - (upFocusCycle): Moved implementation to - Component.transferFocusUpCycle(). - (downFocusCycle): Moved implementation to - Container.transferFocusDownCycle(). - -2006-04-05 David Gilbert - - * java/awt/image/ComponentSampleModel.java - (equals): Implemented, - (hashCode): Likewise. - -2006-04-05 Jeroen Frijters - - * java/lang/Class.java - (cast): New method. - -2006-04-05 David Gilbert - - * java/awt/image/ComponentSampleModel.java - (getBankIndices): Return a copy of the array, not a reference to the - original, - (getBandOffsets): Likewise. - -2006-04-05 David Gilbert - - * java/awt/image/ComponentSampleModel.java: Added API docs all over. - -2006-04-04 Tom Tromey - - * java/net/MimeTypeMapper.java (MimeTypeMapper): Fixed indices. - -2006-04-04 Tom Tromey - - * java/net/MimeTypeMapper.java (mime_types): No longer static. - (MimeTypeMapper): Initialize. - (fillFromFile): New method. - (main): New method. - (mime_strings): Updated. - -2006-04-04 Tom Tromey - - * lib/gen-classlist.sh.in: Correct handle generated files. - -2006-04-04 Ito Kazumitsu - - * gnu/regexp/CharIndexed.java(setAnchor): New method. - * gnu/regexp/CharIndexedInputStream.java(setAnchor): New method. - * gnu/regexp/CharIndexedCharSequence.java: New file. - * gnu/regexp/CharIndexedCharArray.java: Rewritten as an extention of - gnu.regexp.CharIndexedCharSequence. - * gnu/regexp/CharIndexedString.java: Likewise. - * gnu/regexp/CharIndexedStringBuffer.java: Likewise. - * gnu/regexp/RE.java(makeCharIndexed): Make a new CharIndexed - using CharIndexedCharSequence. Use setAnchor when the input - object is already a CharIndexed. - * java/util/regex/Matcher.java(inputCharIndexed): New field - to be used as a parameter of the RE#getMatch. - -2006-04-04 David Gilbert - - * java/awt/image/SampleModel.java: Reformatted. - -2006-04-04 David Gilbert - - * java/awt/image/ComponentSampleModel.java - (ComponentSampleModel(int, int, int, int, int[])): Added API - documentation, - (ComponentSampleModel(int, int, int, int, int[], int[]): Throw - IllegalArgumentException for DataBuffer.TYPE_UNDEFINED, take copies - of the bandOffsets and bankIndices arguments, added API documentation, - * java/awt/image/SampleModel.java - (SampleModel(int, int, int, int): Throw IllegalArgumentException for - unrecognised dataTypes, w * h exceeds Integer.MAX_VALUE, and numBands - less than or equal to zero, added API documentation. - -2006-04-04 Lillian Angel - - * java/util/zip/ZipFile.java - (getInputStream): Fixed to return size of ZipEntry - minus the total bytes read. This guarantees that the - right value is returned even if some bytes have already - been read. - -2006-04-04 Thomas Fitzsimmons - - * javax/imageio/plugins/jpeg/JPEGImageWriteParam.java (messages): - Remove static modifier. - -2006-04-04 David Gilbert - - * java/awt/image/ComponentSampleModel.java: Reformatted. - -2006-04-03 Thomas Fitzsimmons - - * javax/imageio/plugins/jpeg/JPEGImageWriteParam.java: New file. - * javax/imageio/plugins/jpeg/JPEGImageReadParam.java: Add - retrieval instructions to javadoc header. - * javax/imageio/ImageWriteParam.java: Fix javadoc for - compressionType field. - * lib/Makefile.am (propertydirs): Add javax directory. - (propertyfiles): Likewise. - * resource/javax/imageio/plugins/jpeg/MessagesBundle.properties: - New file. - -2006-04-03 Tom Tromey - - PR classpath/26971: - * javax/naming/directory/BasicAttribute.java: Added missing @since. - (BasicAttributeEnumeration.where): Initialize to 0. - (BasicAttributeEnumeration.nextElement): Post-increment 'where'. - -2006-04-03 Lillian Angel - - PR classpath/24596 and PR classpath/26930 - * java/util/zip/ZipFile.java - (getInputStream): Override available function for - InflaterInputStream instance. - -2006-04-03 Thomas Fitzsimmons - - * javax/imageio/plugins/jpeg/JPEGImageReadParam.java: New file. - -2006-04-03 Tom Tromey - - * javax/security/auth/kerberos/ServicePermission.java: New file. - * javax/security/auth/kerberos/DelegationPermission.java: New file. - * javax/security/auth/kerberos/KerberosKey.java: New file. - * javax/security/auth/kerberos/KeyImpl.java: New file. - * javax/security/auth/kerberos/KerberosTicket.java: New file. - * javax/security/auth/kerberos/KerberosPrincipal.java: New file. - -2006-04-03 Sven de Marothy - - * gnu/java/awt/peer/gtk/GtkClipboard.java: Add support for - non-GtkImage images. - -2006-04-03 Mark Wielaard - - * lib/gen-classlist.sh.in: Use classes.tmp, not classes.2 - as temporary file name. - -2006-04-03 Dalibor Topic - - * INSTALL: Documented --with-glibj-zip option. - -2006-04-03 Dalibor Topic - - Fixed all pscan warnings. - - * native/jni/classpath/jcl.c (JCL_ThrowException), - native/jni/classpath/jcl.h (DBG), - native/target/generic/target_generic.h (TARGET_NATIVE_LAST_ERROR_STRING_FORMAT), - native/target/generic/target_generic_misc.h (TARGET_NATIVE_MISC_FORMAT_STRING0): - Use "%s" format in fprintf and snprintf explicitely when printing a single - string to prevent format string exploits. - - * native/jni/java-net/javanet.h (DBG): Removed duplicate - definition. Included jcl.h instead. - -2006-04-03 Raif S. Naffah - - * tools/gnu/classpath/tools/jarsigner/Main.java: Removed unused imports. - (provider): Made it protected. - (providerInstalled): New field. - (Main): Made it a 0-arguments constructor. - Removed throws clasue. - (main): Removed throws clause. - Call processArgs(args) after constructing instance. - Call teardown() before existing. - (processArgs): Added javadoc. - Reduced to throws Exception. - (start): Likewise. - (teardown): New method. - (setupCommonParams): Added javadoc. - Install designated provider if not already installed. - (installNewProvider): New method. - (setupSigningParams): Added javadoc. - Instantiate the KeyStore using type only. - * tools/gnu/classpath/tools/jarsigner/JarSigner.java: - Removed unused imports. - (start): Reduced to throws Exception. - * tools/gnu/classpath/tools/jarsigner/JarVerifier.java (start): Likewise. - * tools/gnu/classpath/tools/jarsigner/HashUtils.java: - Re-organized imports. - * gnu/java/security/key/KeyPairGeneratorFactory.java (getInstance): - Test ignoring case. - (getNames): Add "dsa" as an algorithm provided by this Factory. - (makeInstance): Construct IllegalArgumentException with 2 arguments. - -2006-04-03 Roman Kennke - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c - (Java_gnu_java_awt_peer_gtk_GdkFontPeer_getGlyphVector): - Replaced g_free() with pango_item_free() to avoid problems - with the allocator. - -2006-04-03 Rafael H. Schloming - - Fixes bug #26668 - * java/util/logging/Level.java (parse): Document. - * java/util/logging/LogManager.java (rootLogger): Removed. - (LogManager): Just set loggers to new HashMap. - (getLogManager): Make synchronized. Create and init LogManager if it - doesn't exist yet. - (static): Removed block. - (MANAGER_PROPERTY): New private final string. - (makeLogManager): Use new property string, move warning to - createInstance() method. - (CONFIG_PROPERTY): New private final string. - (initLogManager): New method. - (addLogger): Use Logger.root, not rootLogger. - (findAncestor): Likewise. - (readConfiguration): Move warning to createInstance() method. - Add handlers directly to Logger.root. Warn about bad level values. - (getClassProperty): Use new locateClass() method. - (getInstanceProperty): Only catch specific newInstance Errors. - (createInstance): Make private and takes a string to use in warning - messages. Use new locateClass() method and generate appropriate - warning message. - (warn): New methods. - (locateClass): Locates a class through the context class loader and - system class loader as backup. - * java/util/logging/Logger.java (root): New static final field. - (Logger): Set parent to root. - (setParent): Directly check root field. - -2006-04-02 Andrew John Hughes - - * java/util/Collections.java: - (binarySearch(List, T)): Fixed signature. - (unmodifiableList(List)): Likewise. - (UnmodifiableList(List)): Fixed constructor. - (UnmodifiableRandomAccessList(List)): Likewise. - (unmodifiableMap(Map)): Fixed signature. - (UnmodifiableMap(Map)): Fixed constructor. - (unmodifiableSortedMap(Map)): Fixed signature. - (UnmodifiableSortedMap(Map)): Fixed constructor. - -2006-04-02 Andrew John Hughes - - * java/io/ObjectOutputStream.java: - (writeObject(Object)): Added enum support. - (writeClassDescriptor(ObjectStreamClass)): Likewise. - * java/io/ObjectStreamClass.java: - (isEnum()): New package-private method. - (setFlags(Class)): Added enum support. - * java/io/ObjectStreamConstants.java: - (SC_ENUM): Added. - -2006-04-02 Robert Schuster - - * javax/swing/text/Segment.java: - (setPosition): Make exception message more verbose. - * javax/swing/text/WrappedPlainView.java: - (insertUpdate): Removed unneeded repaint call. - (changeUpdate): Dito. - (removeUpdate): Dito. - (WrappedLine.determineNumLines): Do not return numLines, break - from loop if no new break point has been calculated. - (WrappedLine.updateDamage): Rewritten. - (WrappedLine.insertUpdate): Removed unneeded update code. - (WrappedLine.removeUpdate): Removed unneeded update code, added - comment. - -2006-04-02 Dalibor Topic - - * configure.ac (with-glibj-zip): Added new option. - - * examples/Makefile.am, - lib/Makefile.am, - tools/Makefile.am: Adapted build classpath to use glibj.zip, - in addition to classes in lib directory. - -2006-04-02 Audrius Meskauskas - - * tools/gnu/classpath/tools/giop/GRMIC.java, - tools/gnu/classpath/tools/giop/IorParser.java, - tools/gnu/classpath/tools/giop/grmic/CompilationError.java, - tools/gnu/classpath/tools/giop/grmic/Generator.java, - tools/gnu/classpath/tools/giop/grmic/GiopIo.java, - tools/gnu/classpath/tools/giop/grmic/GiopRmicCompiler.java, - tools/gnu/classpath/tools/giop/grmic/HashFinder.java, - tools/gnu/classpath/tools/giop/grmic/MethodGenerator.java, - tools/gnu/classpath/tools/rmi/RMIC.java, - tools/gnu/classpath/tools/rmi/rmic/RmiMethodGenerator.java, - tools/gnu/classpath/tools/rmi/rmic/RmicCompiler.java, - tools/gnu/classpath/tools/rmi/rmic/WrapUnWrapper.java: Removed - linking exception from the licensing header. - * tools/gnu/classpath/tools/rmi/rmid/ActivationSystemImpl_Stub.java: - Added licensing header. - -2006-04-02 Mark Wielaard - - * tools/Makefile.am (bin_SCRIPTS): Renamed to jarsigner.sh. - (jarsigner): Removed. - -2006-04-02 Dalibor Topic - - * configure.ac: don't check for isnan function. - * native/fdlibm/fdlibm.h: Always use the isnan macro. - -2006-04-02 Raif S. Naffah - - * configure.ac: Added tools/jarsigner.sh to AC_CONFIG_FILES. - * tools/Makefile.am: Generate jarsigner shell script. - * tools/jarsigner.sh.in: New template. - * tools/.cvsignore: Added jarsigner.sh. - -2006-04-02 Raif S. Naffah - - * tools/gnu/classpath/tools/jarsigner/HashUtils.java: Use GPL. - * tools/gnu/classpath/tools/jarsigner/SFHelper.java: Likewise. - * tools/gnu/classpath/tools/jarsigner/JarVerifier.java: Likewise. - * tools/gnu/classpath/tools/jarsigner/JarSigner.java: Likewise. - * tools/gnu/classpath/tools/jarsigner/Main.java: Likewise. - Re-organised imports. - -2006-04-01 Bernhard Rosenkraenzer - - PR classpath/25924: - * java/awt/image/DirectColorModel.java (extractAndNormalizeSample): - Handle case where alpha==0. - -2006-04-02 Robert Schuster - - PR #26676 - * javax/swing/text/Utilities.java: - (getTabbedTextOffset): Added check to decrement pos not below zero, - changed '>' comparison to '>='. - * javax/swing/text/WrappedPlainView.java: - (lineHeight): New field. - (calculateBreakPosition): Throw InternalError in catch block, removed - unneeded brackets, use specific version of - Utilities.getTabbedTextOffset. - (paint): Set various properties neccessary for drawing. - (WrappedLine.paint): Removed code to set field of outer class. - (WrappedLine.modelToView): Removed unneeded expression from - if-statement. - (WrappedLine.viewToModel): Initialize end with endOffset - 1, removed - -1 from return statement, copy only a subset into the Segment, removed - special handling of mark value - just return it, simplified - incrementation of currLineStart. - (WrappedLine.insertUpdate): Recalculate numLines, report preference - change to parent view. - (WrappedLine.removeUpdate): Dito. - -2006-04-02 Robert Schuster - - * javax/swing/text/Segment.java: - (toString): Return empty string when array is null. - -2006-04-02 Robert Schuster - - * javax/swing/plaf/basic/BasicTextUI.java: - (damageRange): Use SwingUtilities.computeUnion to avoid - unneccessary Rectangle instantiation. - -2006-04-01 Tom Tromey - - * java/security/cert/Certificate.java (serialVersionUID): Fixed. - -2006-04-01 Robert Schuster - - * javax/swing/text/CompositeView.java: Fixed copyright header. - * javax/swing/text/BoxView.java: Fixed copyright header. - * javax/swing/text/WrappedPlainView.java: Fixed copyright header. - * javax/swing/text/Utilities.java: Fixed copyright header. - -2006-04-01 Robert Schuster - - * javax/swing/text/CompositeView.java: - (modelToView): Throw BadLocationException when no child - view can be found, restructed to throw exception as early - as possible. - (viewToModel): Use mutable allocation as argument for viewToModel - call on child view. - * javax/swing/text/BoxView.java: - (getViewAtPoint): Call setBounds() r before method returns with - suitable child view. - * javax/swing/text/Utilities.java: - (getPositionBelow): Added try-catch-block around modelToView call, - added method return when BadLocationException was thrown. - * javax/swing/text/WrappedPlainView.java: - (WrappedLine.viewToModel): Changed '<=' to '<' in if-expression, - added note about meaning of rect.x and rect.width, removed unneeded - checks, added code to not return the last possible document offset. - -2006-04-01 Robert Schuster - - * javax/swing/text/WrappedPlainView.java: - (WrappedLine.viewToModel): Change < to <= in if-statement, - removed addition of currLineStart to return value. - * javax/swing/text/BoxView.java: - (getViewAtPoint): Use copy instead of r for method call - which modifies the second argument. - -2006-04-01 Mark Wielaard - - Fixes PR26973 - * java/util/jar/Attributes.java: Fully qualify java.util.Map. - -2006-03-31 Tom Tromey - - * lib/split-for-gcj.sh: Updated for multi-field format. - * lib/Makefile.am (CLEANFILES): Added classes.2. - * lib/gen-classlist.sh.in (GCJ): Removed. Create classes.1 and - classes.2 using multiple fields. - -2006-03-31 Audrius Meskauskas - - * javax/swing/JTable.java (columnSelectionChanged): - Removed print statement. - * javax/swing/DefaultListSelectionModel.java - (addSelectionInterval, removeSelectionInterval): - Fire the difference between selection. (setLeadSelectionIndex): - Fire the difference and mark current and previous lead - selection indexes for repaint. - -2006-03-31 Thomas Fitzsimmons - - * javax/imageio/plugins/jpeg/JPEGHuffmanTable.java: Eliminate - unnecessary copying. - * javax/imageio/plugins/jpeg/JPEGQTable.java: Likewise. - -2006-03-31 Lillian Angel - - * java/awt/Component.java - (translateEvent): oldKey should be the value of the - key char. - -2006-03-31 Audrius Meskauskas - - * javax/swing/JTable.java (columnSelectionChanged): - Treat second repaint parameter as width. - -2006-03-31 Lillian Angel - - PR classpath/26924 - * gnu/java/awt/peer/gtk/GtkCanvasPeer.java - (realize): New native function. - * include/gnu_java_awt_peer_gtk_GtkCanvasPeer.h: - Added new function declaration. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCanvasPeer.c - (realize): New function. - -2006-03-31 Robert Schuster - - * javax/swing/text/GapContent.java: - (replace): Move all Position instances from gap's end to - it's start before increasing the gap start. - * javax/swing/plaf/basic/BasicTextAreaUI.java: - (propertyChanged): Update the view only instead of - indicating a document change. - -2006-03-31 Roman Kennke - - * javax/swing/JTextField.java - (fireActionPerformed): Put the textfields text in the action - instead of the action name. - -2006-04-01 Raif S. Naffah - - * tools/gnu/classpath/tools/jarsigner/Main.java (setupCommonParams): - Check for null jar-file argument. - (setupSigningParams): Check for null alias argument. - -2006-03-31 Roman Kennke - - * javax/swing/JComponent.java - (paintChildren): Split up in two cases, depending on the - optimizedDrawingEnabled flag. - (paintChildrenWithOverlap): New method. Paints children when - not optimizedDrawingEnabled. This implements better painting - algorithm for overlapping components, so that the painted - regions are minimized. - (paintChildrenOptimized): New method. Paints children when - when optimizedDrawingEnabled. This implements a painting - algorithm that is optimized for the case when all children - are guaranteed to be tiled. - -2006-03-31 Raif S. Naffah - - * tools/gnu/classpath/tools/jarsigner/SFHelper.java (updateEntry): Use - Attributes.putValue(String,String). - (finishSigning): Likewise. - * gnu/java/util/jar/JarUtils.java (MANIFEST_VERSION): New constant. - (SIGNATURE_VERSION): Likewise. - (readSFManifest): Use local string constant. - (readMainSection): Likewise. - (readVersionInfo): Likewise. - * java/util/jar/Attributes.java (MANIFEST_VERSION): - Redefined using JarUtils constant. - (SIGNATURE_VERSION): Likewise. - (putValue(Name,String)): Made it private. - -2006-03-31 Audrius Meskauskas - - * javax/swing/DefaultListSelectionModel.java (fireDifference): - New method. (clearSelection): Rewritten. (setSelectionInterval): - Fire the difference between current and new selection. - * javax/swing/JTable.java (columnSelectionChanged, valueChanged): - Only repaint the region, where selection has been changed. - * javax/swing/plaf/basic/BasicTableUI.java - (TableAction.actionPerformed): Do not change the column selection - when only row selection change is wanted (and in reverse) and - do not call the repaint() here. - -2006-03-31 David Gilbert - - Fixes bug #26951 - * javax/swing/DefaultComboBoxModel.java - (DefaultComboBoxModel(Vector)): Call getSize() instead of - vector.size(), - (addElement): Call list.addElement() rather than list.add(), and only - update selected item if it is currently null, - (removeElementAt): Update selected item, then remove the element. - -2006-03-31 David Gilbert - - Fixes bug #26955 - * java/awt/geom/Point2D.java - (distanceSq(double, double)): Fixed order of arguments, - (distanceSq(Point2D)): Likewise, - (distance(double, double)): Likewise, - (distance(Point2D)): Likewise. - -2006-03-30 Thomas Fitzsimmons - - * javax/imageio/plugins/jpeg/JPEGQTable.java: New file. - * javax/imageio/plugins/jpeg/JPEGHuffmanTable.java - (ACChrominanceLengths, ACChrominanceValues, ACLuminanceLengths, - ACLuminanceValues, DCChrominanceLengths, DCChrominanceValues, - DCLuminanceLengths, DCLuminanceValues): Remove fields. - -2006-03-30 Audrius Meskauskas - - * javax.swing.JTable (constructor): Initialize column - model column margin and table row margin before setting the - table column model. (initialiseLocalVars): Do not call - setIntercellSpacing. - -2006-03-30 Chris Burdess - - * javax/xml/datatype/DatatypeFactory.java (newDurationDayTime): Fix - method signature. - * javax/xml/validation/SchemaFactoryLoader.java: New file. - -2006-03-30 Mark Wielaard - - PR 26848 - * java/awt/Window.java (dispatchEventImpl): On ComponentEvents - adjust bounds. On resize invalidate and validate container. - Always pass on ComponentEvents to Container super class. - * gnu/java/awt/peer/gtk/GtkFramePeer.java (setBounds): Adjust for - menuBar and pass to GtkWindowPeer super class. - (postConfigureEvent): Adjust menu bar width. Adjust y and height - bounds and pass to GtkWindowPeer super class. - * gnu/java/awt/peer/gtk/GtkWindowPeer.java (x, y, width, height): - New fields for local bounds. - (getX, getY): New methods. - (getWidth): Don't call into awtComponent. - (getHeight): Likewise. - (create): Cache local bounds. - (setLocation): Documented, made protected and just call - nativeSetLocation. - (setLocationUnlocked): Removed unused method. - (setBoundsUnlocked): Likewise. - (setBounds): Check whether bounds actually changed and cache local - bounds. - (setSize): Documented and made protected. - (setResizable): Documented and cache local bounds. - (postConfigureEvent): Update local bounds. Don't call awtComponent - directly but post ComponentEvents. - (show): Cache local bounds. - (getBounds): Override to return cached bounds. - -2006-03-30 Lillian Angel - - * gnu/java/awt/peer/gtk/GdkGraphics.java - (drawImage): Added check to prevent NPE. - (drawImage): Likewise. - (drawImage): Likewise. - * java/awt/Choice.java - (dispatchEventImpl): New function. selectedIndex was - not being updated properly otherwise. - -2006-03-30 Roman Kennke - - * javax/swing/JTabbedPane.java - (removeTabAt): Removed debug code. - -2006-03-30 Roman Kennke - - PR 26045 - * javax/swing/plaf/basic/BasicTextUI.java - (installKeyboardActions): Simply call getKeymap() and install this. - (createKeymap): Reimplemented to fetch a keymap from the UIManager. - -2006-03-30 Roman Kennke - - * javax/swing/JTabbedPane.java - (removeTabAt): Adjust selection correctly when removing a tab - before the selected tab. Also remove the component from the - container, not only the tab object. Repaint and revalidate the - component after the removal. - (removeAll): Set selection to -1 before removing the tabs. - -2006-03-29 Andrew John Hughes - - * java/io/ObjectInputStream.java: - (parseContent(byte)): Added enum support. - * java/io/ObjectStreamConstants.java: - (TC_ENUM): Added. - (TC_MAX): Changed to new maximum, TC_ENUM. - -2006-03-29 Lillian Angel - - Partial fix for bug #26929 - * gnu/java/awt/peer/gtk/GtkPanelPeer.java - (updateComponent): Removed. We want to clear the panel - before painting. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c - (Java_gnu_java_awt_peer_gtk_GdkGraphics_clearRect): Fixed typo. - Should set the background to the saved background color. - -2006-03-29 Mark Wielaard - - Partial fix for bug #26848 (pack). - * gnu/java/awt/peer/gtk/GtkComponentPeer.java (setVisible): - Always show instances of Window. - -2006-03-29 David Gilbert - - * javax/swing/JSlider.java - (setPaintLabels): Only create standard labels if labelTable is null, - * javax/swing/plaf/basic/BasicSliderUI.java - (PropertyChangeHandler.propertyChange): Recalculate geometry for - "paintTicks" property change, - (calculateThumbSize): Updated API docs, - (calculateContentRect): Likewise, - (calculateTrackBuffer): Take into account the lowest and highest - labels when calculating buffer space, - (calculateTrackRect): Include labels, if visible, in the calculation of - the trackRect position, - (calculateTickRect): Height is zero if ticks are not painted, - (calculateLabelRect): Use max dimensions of actual labels, - (getWidthOfHighValueLabel): Use preferred size, - (getWidthOfLowValueLabel): Likewise, - (getHeightOfHighValueLabel): Likewise, - (getHeightOfLowValueLabel): Likewise, - (drawInverted): Just return slider setting, - (getHighestValueLabel): Updated API docs, - (paintTicks): Removed redundant (and buggy) code, replaced with calls - to xPositionForValue() and yPositionForValue(), - (paintHorizontalLabel): Removed full qualification of class name, - (paintVerticalLabel): Likewise, - (xPositionForValue): Reimplemented, - (yPositionForValue): Reimplemented, - * javax/swing/plaf/metal/MetalSliderUI.java - (paintTrack): Made track one pixel longer. - -2006-03-29 Tom Tromey - - PR gcc/26901: - * tools/Makefile.am (JCOMPILER): Added encoding options. - * examples/Makefile.am (JCOMPILER): Added encoding options. - -2006-03-29 Gary Benson - - Partial fix for PR classpath/24895 - * java/io/FilePermission.java (implies): Canonicalize paths. - -2006-03-29 Robert Schuster - - PR 26888 - * javax/swing/text/GapContent.java: - (replace): Added call to resetMarksAtZero. - -2006-03-29 Roman Kennke - - PR 23527 - * javax/swing/plaf/basic/BasicMenuItemUI.java - (cachedRect): New field. - (BasicMenuItemUI): Initialize cachedRect field. - (getPreferredMenuItemSize): Use layoutMenuItem() helper method - to determine layout. Store maximum accelerator and text width - in client properties of parent to allow correct alignment - of accelerators among menu items of one menu. - (paintMenuItem): Outsourced menu item layout into layoutMenuItem - method. Align accelerators according to the values calculated - in getPreferredMenuItemSize. - (getAcceleratorString) New helper method. - (layoutMenuItem): New helper method. - -2006-03-29 Audrius Meskauskas - - * gnu/java/rmi/activation/ActivationSystemTransient.java: Rewritten. - * gnu/java/rmi/activation/BidiTable.java: Rewritten. - * gnu/java/rmi/dgc/LeaseRenewingTask.java (constructor, sheduleLeases): - Avoid NPEs. - * gnu/java/rmi/server/ActivatableServerRef.java (getRefClass, - readExternal, writeExternal): New methods. - * gnu/java/rmi/server/UnicastRef.java (invokeCommon): Splitten into - two stages, invokeCommon(Remote, ...) and - invokeCommen(UnicastConnection, ...). - * java/rmi/server/RemoteObject.java (readObject, writeObject): Expect - also the ActivatableRef. toString(): Documented. - * gnu/java/rmi/server/ActivatableRef.java, - tools/gnu/classpath/tools/rmi/Persistent.java, - tools/gnu/classpath/tools/rmi/PersistentBidiHashTable.java, - tools/gnu/classpath/tools/rmi/PersistentHashTable.java, - tools/gnu/classpath/tools/rmi/REGISTRY.java, - tools/gnu/classpath/tools/rmi/REGISTRY.txt, - tools/gnu/classpath/tools/rmi/RMID.java, - tools/gnu/classpath/tools/rmi/RMID.txt, - tools/gnu/classpath/tools/rmi/registry/RegistryImpl.java, - tools/gnu/classpath/tools/rmi/registry/RegistryImpl_Skel.java, - tools/gnu/classpath/tools/rmi/registry/RegistryImpl_Stub.java, - tools/gnu/classpath/tools/rmi/registry/package.html, - tools/gnu/classpath/tools/rmi/rmid/ActivationSystemImpl.java, - tools/gnu/classpath/tools/rmi/rmid/ActivationSystemImpl_Stub.java: - New files. - * tools/README: Documented. - * NEWS: Added entry about the activation. - -2006-03-29 Roman Kennke - - PR 23527 - * javax/swing/plaf/basic/BasicMenuItemUI.java - (viewRect): New field. - (textRect): New field. - (accelRect): New field. - (iconRect): New field. - (arrowIconRect): New field. - (checkIconRect): New field. - (BasicMenuItemUI): Initialize new fields. - (paintMenuItem): Rewritten to correctly layout and paint - the menu item in a more straightforward way. Use cached rectangle - objects for layout. - (paintAccelerator): Pulled inside the paintMenuItem method. - -2006-03-29 Audrius Meskauskas - - * tools/gnu/classpath/tools/rmi/rmic/templates/Stub_12Method.jav: - Do not use initCause with UnexpectedException. - * tools/gnu/classpath/tools/rmi/rmic/templates/Stub_12MethodVoid.jav: - Likewise. - -2006-03-29 Mark Wielaard - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c - (setCursorID): Removed unused static variable. - -2006-03-29 David Gilbert - - * javax/swing/plaf/basic/BasicSliderUI.java: Reformatted. - -2006-03-29 Mark Wielaard - - Fixes bug #26527 - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c - (gtkWidgetSetCursorUnlocked): Call gdk_flush(). - -2006-03-28 Roman Kennke - - * javax/swing/UIManager.java - (installLookAndFeel): Implemented. - (setInstalledLookAndFeels): Implemented. - -2006-03-28 Roman Kennke - - * javax/swing/plaf/metal/MetalButtonUI.java - (update): Paint gradient only when the background color - is not a UIResource and if the button is neither armed nor - pressed and if the button is contentAreaFilled. - -2006-03-28 Roman Kennke - - * javax/swing/JLayeredPane.java - (addImpl): Repaint added component. - -2006-03-28 Ito Kazumitsu - - * java/util/regex/Matcher.java: Reverted. - -2006-03-28 Roman Kennke - - * javax/swing/text/AsyncBoxView.java - (setEstimatedMajorSpan): Made method protected. - (getEstimatedMajorSpan): Made method protected. - * javax/swing/text/BoxView.java - (flipEastAndWestAtEnds): Fixed typo. - * javax/swing/text/InternationalFormatter.java - (getActions): Made method protected. - * javax/swing/text/Position.java - (Bias): Made class final. - * javax/swing/text/html/HTML.java - (MEDIA): Made field package private. Not specified. - (NOBR): Made field package private. Not specified. - * javax/swing/text/html/NullView.java - Made class package private. - * javax/swing/text/html/parser/Entity.java - Made class non-serializable as specified. - -2006-03-28 Roman Kennke - - * javax/swing/plaf/metal/MetalButtonUI.java - (update): Don't paint gradient if the background color is - no UIResource. Removed double getModel() call. Don't check for - OceanTheme. - -2006-03-28 Roman Kennke - - * javax/swing/plaf/basic/BasicMenuItemUI.java - (paint): Call paintMenuItem with the selectionBackground as - parameter. - (paintBackground): Fixed the condition and color for the background - painting. - -2006-03-28 Roman Kennke - - * javax/swing/plaf/metal/MetalTabbedPaneUI.java - (tabsOpaque): New field. - (paintLeftTabBorder): Paint some parts only when the tabs are - opaque. Determine the tab background using the paintLeftTabBorder() - helper method. - (paintRightTabBorder): Likewise. - (installDefaults): Fetch tabsOpaque property from the UIDefaults. - -2006-03-27 Tom Tromey - - PR classpath/25189: - * java/lang/Enum.java (valueOf): Ensure that the named field - is an enum constant. - (compareTo): Check class of enum. - -2006-03-27 Tom Tromey - - * java/lang/reflect/ParameterizedType.java: Javadoc fix. - -2006-03-27 Tom Tromey - - * vm/reference/java/lang/reflect/Method.java (METHOD_MODIFIERS): - New constant. - (getModifiersInternal): Renamed from getModifiers. - (getModifiers): New method. - (isBridge): Likewise. - (isSynthetic): Likewise. - (isVarArgs): Likewise. - * vm/reference/java/lang/reflect/Field.java (FIELD_MODIFIERS): - New constant. - (getModifiersInternal): Renamed from getModifiers. - (getModifiers): New method. - (isSynthetic): Likewise. - (isEnumConstant): Likewise. - * vm/reference/java/lang/reflect/Constructor.java - (getModifiersInternal): Renamed from getModifiers. - (getModifiers): New method - (CONSTRUCTOR_MODIFIERS): New constant. - (isSynthetic): New method. - (isVarArgs): Likewise. - * java/lang/reflect/Member.java (isSynthetic): New method. - -2006-03-28 Tom Tromey - - * java/net/Proxy.java (TYPE): Added missing ";". - -2006-03-27 Andrew John Hughes - - * java/math/RoundingMode.java: - Fixed serialization UID. - * java/net/Proxy.java: - (Type): Likewise. - -2006-03-27 Andrew John Hughes - - * java/io/CharArrayWriter.java: - (append(char)): Documented. - (append(CharSequence)): Likewise. - (append(CharSequence,int,int)): Likewise. - -2006-03-27 Jeroen Frijters - - * vm/reference/java/lang/reflect/Constructor.java - (getTypeParameters): Check return value of getSignature for null. - * vm/reference/java/lang/reflect/Method.java - (getTypeParameters): Check return value of getSignature for null. - -2006-03-27 Andrew John Hughes - - * java/rmi/activation/ActivationGroup_Stub.java: - Made final. - -2006-03-27 Tom Tromey - - * java/io/CharArrayWriter.java (append): New overloads. - -2006-03-27 Lillian Angel - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c - (Java_gnu_java_awt_peer_gtk_GdkGraphics_nativeDispose): - Added check for colormap. Prevents assertion error. - (Java_gnu_java_awt_peer_gtk_GdkGraphics_setFGColor): - Likewise. - (Java_gnu_java_awt_peer_gtk_GdkGraphics_nativeCopyState): - Likewise. - (Java_gnu_java_awt_peer_gtk_GdkGraphics_initState__II): - Likewise. - (Java_gnu_java_awt_peer_gtk_GdkGraphics_initFromImage): - Likewise. - (Java_gnu_java_awt_peer_gtk_GdkGraphics_initStateUnlocked): - Likewise. - -2006-03-27 Dalibor Topic - - * m4/acinclude.m4 (CLASSPATH_FIND_JAVAC): Use - AC_MSG_ERROR instead of echoing the error message - that no compiler has been found manually. - -2006-03-27 Roman Kennke - - * javax/swing/RepaintManager.java - (commitBuffer): Use simple drawImage() method instead of the - scaling version. - -2006-03-27 Robert Schuster - - * javax/swing/text/PlainView.java: - (drawLine): Use 'endOffset' instead of 'selectionEnd' - for painting the selected line. - -2006-03-27 David Gilbert - - * javax/swing/plaf/basic/BasicSliderUI.java - (getThumbSize): Removed TODO and updated API docs. - -2006-03-27 Robert Schuster - - * javax/swing/text/DefaultCaret.java: - (mouseClicked): Word selection rewritten. - (paint): Draw line inside the bounding rectangle. - (damage): Retrieve caret height from line height. - -2006-03-28 Raif S. Naffah - - * tools/gnu/classpath/tools/jarsigner/Main.java (processArgs): Check - for null args. - Check for -help option. - * tools/gnu/classpath/tools/jarsigner/jarsigner.txt: Added -help option. - -2006-03-27 Roman Kennke - - * javax/swing/text/FieldView.java - (getPreferredSpan): Don't include trailing newline in - calculations. - * javax/swing/text/PlainView.java - (drawLine): Don't include trailing newline. - (determineMaxLineLength): Don't include trailing newline. - (getLineBuffer): Made method final. - -2006-03-27 David Gilbert - - * javax/swing/JSlider.java - (AccessibleJSlider.AccessibleJSlider): Minor API doc edit, - (AccessibleJSlider.getAccessibleRole): Removed declaration of - NotImplementedException, - (AccessibleJSlider.getAccessibleValue): Updated API docs. - -2006-03-26 Andrew John Hughes - - * java/lang/ProcessBuilder.java: - Made final. - -2006-03-26 Andrew John Hughes - - * gnu/java/net/protocol/http/Headers.java: - Match layout of file on HEAD. - * gnu/javax/swing/text/html/parser/htmlValidator.java: - Likewise. - * java/awt/datatransfer/DataFlavor.java - Likewise. - -2006-03-26 Andrew John Hughes - - * gnu/java/security/jce/hash/HavalSpi.java, - * gnu/java/security/jce/hash/MD2Spi.java, - * gnu/java/security/jce/hash/MD4Spi.java, - * gnu/java/security/jce/hash/MD5Spi.java, - * gnu/java/security/jce/hash/MessageDigestAdapter.java, - * gnu/java/security/jce/hash/RipeMD128Spi.java, - * gnu/java/security/jce/hash/RipeMD160Spi.java, - * gnu/java/security/jce/hash/Sha160Spi.java, - * gnu/java/security/jce/hash/Sha256Spi.java, - * gnu/java/security/jce/hash/Sha384Spi.java, - * gnu/java/security/jce/hash/Sha512Spi.java, - * gnu/java/security/jce/hash/TigerSpi.java, - * gnu/java/security/jce/hash/WhirlpoolSpi.java, - * gnu/java/security/jce/sig/DSSKeyPairGeneratorSpi.java, - * gnu/java/security/jce/sig/DSSRawSignatureSpi.java, - * gnu/java/security/jce/sig/KeyPairGeneratorAdapter.java, - * gnu/java/security/jce/sig/RSAPSSRawSignatureSpi.java, - * gnu/java/security/jce/sig/SignatureAdapter.java, - * gnu/java/security/key/IKeyPairCodec.java, - * gnu/java/security/key/IKeyPairGenerator.java, - * gnu/java/security/key/KeyPairGeneratorFactory.java, - * gnu/java/security/key/dss/DSSKey.java, - * gnu/java/security/key/dss/DSSKeyPairRawCodec.java, - * gnu/java/security/key/dss/DSSPrivateKey.java, - * gnu/java/security/key/dss/DSSPublicKey.java, - * gnu/java/security/key/dss/FIPS186.java, - * gnu/java/security/key/rsa/GnuRSAKey.java, - * gnu/java/security/key/rsa/GnuRSAPrivateKey.java, - * gnu/java/security/key/rsa/GnuRSAPublicKey.java, - * gnu/java/security/sig/ISignature.java, - * gnu/java/security/sig/ISignatureCodec.java, - * gnu/java/security/sig/dss/DSSSignature.java, - * gnu/java/security/sig/dss/DSSSignatureRawCodec.java, - * gnu/java/security/sig/rsa/RSAPSSSignature.java, - * gnu/java/security/sig/rsa/RSAPSSSignatureRawCodec.java, - * gnu/java/security/util/Util.java: - Remove CVS revision tags. - -2006-03-26 Tom Tromey - - * java/io/InputStream.java (InputStream): Implements Closeable. - -2006-03-26 Ito Kazumitsu - - * gnu/regexp/CharIndexed.java(setLastMatch, getLastMatch, getAnchor): - New methods. - * gnu/regexp/CharIndexedCharArray.java(setLastMatch, getLastMatch, - getAnchor): New methods. - * gnu/regexp/CharIndexedInputStream.java(setLastMatch, getLastMatch, - getAnchor): New methods. - * gnu/regexp/CharIndexedString.java(setLastMatch, getLastMatch, - getAnchor): New methods. - * gnu/regexp/CharIndexedStringBuffer.java(setLastMatch, getLastMatch, - getAnchor): New methods. - * gnu/regexp/REMatch.java(start1): New field. - * gnu/regexp/RE.java(initialize): Added support for \z and \G, - (match): set the starting position to start1[] instead of start[], - (getMatchImpl): Set the found REMatch to the input, - (makeCharIndexed): Made public. - * gnu/regexp/RETokenEndOfPreviousMatch.java: New file. - * gnu/regexp/RETokenEndSub.java(matchThis, findMatch): - set the value of start[] copying from start1[]. - * gnu/regexp/RETokenLookBehind.java(matchThis): Added the settings of - offset. - * java/util/regex/Matcher.java(inputCharIndexed): New field - to be used as a parameter of the RE#getMatch. - -2006-03-26 Audrius Meskauskas - - * gnu/java/rmi/activation/DefaultActivationGroup.java: - Documented the default jre spawning strategy (none). - * java/rmi/activation/ActivationGroup.java (currentGroupId, - getSystem): Obtain the acticivation system from the - DefaultActivationSystem. - -2006-03-26 Raif S. Naffah - - * tools/gnu/classpath/tools/jarsigner/Main.java (setupSigningParams): - Ask user for keystore password if one was not provided. - -2006-03-26 Raif S. Naffah - - * tools/README: Added Security tools section. - Documented the jarsigner tool. - -2006-03-25 David Gilbert - - * javax/swing/JScrollBar.java - (AccessibleJScrollBar.getAccessibleStateSet): Implemented, - (AccessibleJScrollBar.getAccessibleRole): Likewise, - (AccessibleJScrollBar.getAccessibleValue): Likewise, - (AccessibleJScrollBar.getCurrentAccessibleValue): Likewise, - (AccessibleJScrollBar.setCurrentAccessibleValue): Likewise, - (AccessibleJScrollBar.getMinimumAccessibleValue): Likewise, - (AccessibleJScrollBar.getMaximumAccessibleValue): Likewise, - (getAccessibleContext): Updated API docs. - -2006-03-25 Tom Tromey - - * .externalToolBuilders/CreateLocaleData.launch: Run if resource files - change or if generator script changes. - -2006-03-25 Tom Tromey - - * javax/naming/ldap/StartTlsRequest.java: New file. - * javax/naming/ldap/StartTlsResponse.java: New file. - -2006-03-25 Olivier Jolly - - * java/net/URLClassLoader.java (FileURLLoader.getResource): Added test - to validate all components of a resource path. - (FileURLLoader.walkPathComponents): Helper which ensures that we are - allowed to walk through every component of a resource path. - -2006-03-25 Michael Koch - - * NEWS: Added item for CLDR 1.3 update. - -2006-03-25 Michael Koch - - * resource/gnu/java/locale/LocaleInformation_ar_IN.properties, - resource/gnu/java/locale/LocaleInformation_ar_IQ.properties, - resource/gnu/java/locale/LocaleInformation_ar_KW.properties, - resource/gnu/java/locale/LocaleInformation_ar_LY.properties, - resource/gnu/java/locale/LocaleInformation_mn_MN.properties, - resource/gnu/java/locale/LocaleInformation_uz_AF.properties: - Removed locales. - -2006-03-25 Michael Koch - - * resource/gnu/java/locale/LocaleInformation_az.properties, - resource/gnu/java/locale/LocaleInformation_bs.properties, - resource/gnu/java/locale/LocaleInformation_byn.properties, - resource/gnu/java/locale/LocaleInformation_byn_ER.properties, - resource/gnu/java/locale/LocaleInformation_el_CY.properties, - resource/gnu/java/locale/LocaleInformation_gez.properties, - resource/gnu/java/locale/LocaleInformation_gez_ER.properties, - resource/gnu/java/locale/LocaleInformation_gez_ET.properties, - resource/gnu/java/locale/LocaleInformation_haw.properties, - resource/gnu/java/locale/LocaleInformation_haw_US.properties, - resource/gnu/java/locale/LocaleInformation_kok.properties, - resource/gnu/java/locale/LocaleInformation_kok_IN.properties, - resource/gnu/java/locale/LocaleInformation_sid.properties, - resource/gnu/java/locale/LocaleInformation_sid_ET.properties, - resource/gnu/java/locale/LocaleInformation_sl_SI.properties, - resource/gnu/java/locale/LocaleInformation_sr_BA_Cyrl.properties, - resource/gnu/java/locale/LocaleInformation_sr_BA_Latn.properties, - resource/gnu/java/locale/LocaleInformation_sr_Cyrl.properties, - resource/gnu/java/locale/LocaleInformation_syr.properties, - resource/gnu/java/locale/LocaleInformation_syr_SY.properties, - resource/gnu/java/locale/LocaleInformation_tig.properties, - resource/gnu/java/locale/LocaleInformation_tig_ER.properties, - resource/gnu/java/locale/LocaleInformation_uz_AF_Arab.properties, - resource/gnu/java/locale/LocaleInformation_uz_Arab.properties, - resource/gnu/java/locale/LocaleInformation_uz_Latn.properties, - resource/gnu/java/locale/LocaleInformation_wal.properties, - resource/gnu/java/locale/LocaleInformation_wal_ET.properties: - New locales. - -2006-03-25 Michael Koch - - * resource/gnu/java/locale/LocaleInformation_fa.properties, - resource/gnu/java/locale/LocaleInformation_kn.properties, - resource/gnu/java/locale/LocaleInformation_kn_IN.properties, - resource/gnu/java/locale/LocaleInformation_ko.properties, - resource/gnu/java/locale/LocaleInformation_sl.properties, - resource/gnu/java/locale/LocaleInformation_so.properties, - resource/gnu/java/locale/LocaleInformation_so_DJ.properties, - resource/gnu/java/locale/LocaleInformation_so_ET.properties, - resource/gnu/java/locale/LocaleInformation_so_SO.properties, - resource/gnu/java/locale/LocaleInformation_sr.properties: - Random fixes I forgot to commit before. - -2006-03-25 Michael Koch - - * resource/gnu/java/locale/LocaleInformation_ar_JO.properties, - resource/gnu/java/locale/LocaleInformation_ar_QA.properties, - resource/gnu/java/locale/LocaleInformation_ar_SA.properties, - resource/gnu/java/locale/LocaleInformation_ar_SY.properties, - resource/gnu/java/locale/LocaleInformation_ar_TN.properties, - resource/gnu/java/locale/LocaleInformation_ar_YE.properties, - resource/gnu/java/locale/LocaleInformation_as_IN.properties, - resource/gnu/java/locale/LocaleInformation_be_BY.properties, - resource/gnu/java/locale/LocaleInformation_bn_IN.properties, - resource/gnu/java/locale/LocaleInformation_en.properties, - resource/gnu/java/locale/LocaleInformation_en_IN.properties, - resource/gnu/java/locale/LocaleInformation_en_PK.properties, - resource/gnu/java/locale/LocaleInformation_en_US_POSIX.properties, - resource/gnu/java/locale/LocaleInformation_es_PY.properties, - resource/gnu/java/locale/LocaleInformation_fa.properties, - resource/gnu/java/locale/LocaleInformation_fa_AF.properties, - resource/gnu/java/locale/LocaleInformation_fa_IR.properties, - resource/gnu/java/locale/LocaleInformation_gu_IN.properties, - resource/gnu/java/locale/LocaleInformation_hi_IN.properties, - resource/gnu/java/locale/LocaleInformation_ja_JP.properties, - resource/gnu/java/locale/LocaleInformation_kn_IN.properties, - resource/gnu/java/locale/LocaleInformation_mr_IN.properties, - resource/gnu/java/locale/LocaleInformation_or_IN.properties, - resource/gnu/java/locale/LocaleInformation_pa.properties, - resource/gnu/java/locale/LocaleInformation_pa_IN.properties, - resource/gnu/java/locale/LocaleInformation_ps_AF.properties, - resource/gnu/java/locale/LocaleInformation_ru_RU.properties, - resource/gnu/java/locale/LocaleInformation_sa.properties, - resource/gnu/java/locale/LocaleInformation_sa_IN.properties, - resource/gnu/java/locale/LocaleInformation_ta_IN.properties, - resource/gnu/java/locale/LocaleInformation_te_IN.properties: - Updated currency formats. - -2006-03-25 Roman Kennke - - * javax/swing/text/AbstractDocument.java - (getAttributeContext): Made method final. - (getCurrentWriter): Likewise. - (getEndPosition): Likewise. - (getProperty): Likewise. - (getStartPosition): Likewise. - (putProperty): Likewise. - (readLock): Likewise. - (readUnlock): Likewise. - (writeLock): Likewise. - (writeUnlock): Likewise. - -2006-03-25 Roman Kennke - - * javax/swing/InputMap.java - (allKeys): Check if parent keys is null. - * javax/swing/KeyboardManager.java - (registerEntireMap): Also register map's parent keys. - * javax/swing/plaf/metal/MetalRootPaneUI.java - (propertyChange): Also call super.propertyChange(). - -2006-03-25 Raif S. Naffah - - * tools/gnu/classpath/tools/jarsigner/HashUtils.java: New file. - * tools/gnu/classpath/tools/jarsigner/JarSigner.java: Likewise. - * tools/gnu/classpath/tools/jarsigner/JarVerifier.java: Likewise. - * tools/gnu/classpath/tools/jarsigner/Main.java (Main): Likewise. - * tools/gnu/classpath/tools/jarsigner/SFHelper.java: Likewise. - * tools/gnu/classpath/tools/jarsigner/jarsigner.txt: Likewise. - -2006-03-25 Raif S. Naffah - - * gnu/java/util/jar/JarUtils.java: New file. - * java/util/jar/Manifest.java (CRLF): Removed. - (read_main_section): Likewise. - (read_version_info): Likewise. - (expect_header(String,BufferedReader)): Likewise. - (expect_header(String,BufferedReader,String)): Likewise. - (read_header_value): Likewise. - (read_attributes): Likewise. - (read_attribute): Likewise. - (read_individual_sections): Likewise. - (read_section_name): Likewise. - (write_main_section): Likewise. - (write_version_info): Likewise. - (write_header): Likewise. - (write_main_attributes): Likewise. - (write_attribute_entry): Likewise. - (write_individual_sections): Likewise. - (write_entry_attributes): Likewise. - (read): use JarUtils. - (write): Likewise. - -2006-03-25 Raif S. Naffah - - * gnu/java/security/pkcs/SignerInfo.java (log): New field. - (DEBUG): Removed. - (debug): Likewise. - (SignerInfo(BERReader)): Updated javadoc. - Use JDK logging. - (SignerInfo(X500Principal,BigInteger,OID,byte[],OID,byte[],byte[])): - New constructor. - (encode): New method. - * gnu/java/security/pkcs/PKCS7SignedData.java (log): New field. - (PKCS7_DATA): Removed. - (DEBUG): Likewise. - (debug): Likewise. - (PKCS7SignedData(BERReader)): Updated javadoc. - Use JDK logging. - (PKCS7SignedData(Set,PKCS7Data,Certificate[],X509CRL[],Set)): New - constructor. - (encode): New method. - * gnu/java/security/pkcs/PKCS7Data.java: New file. - * gnu/java/security/key/dss/DSSKeyPairPKCS8Codec.java (log): New field. - (encodePrivateKey): Encode x (private MPN) as an OCTET STRING. - (decodePrivateKey): Decode x from an OCTET STRING. - * gnu/java/security/key/dss/DSSPublicKey.java (str): New field. - (toString): New method. - * gnu/java/security/key/dss/DSSPrivateKey.java (DEBUG): New field. - (str): Likewise. - (toString): New method. - * gnu/java/security/key/dss/DSSKey.java (str): New Field. - (toString): New method. - * gnu/java/security/provider/DSAParameterGenerator.java: Removed. - -2006-03-25 Roman Kennke - - * java/util/GregorianCalender.java - (computeTime): Fix comparison to correctly calculate the - calendar. - -2006-03-25 Wolfgang Baer - - Fixes bug #26837 - * java/awt/Window.java: - (setFocusCycleRoot): New overriden method. - (isFocusCycleRoot): Likewise. - (getFocusCycleRootAncestor): Likewise. - * java/awt/Container.java: - (getFocusTraversalPolicy): Check also for anchestor == null. - -2006-03-25 Mark Wielaard - - Fixes bug #26863 reported by John K Peterson - * gnu/java/util/prefs/NodeWriter.java (writeRoot): Don't immediately - close root tag. - -2006-03-24 Tom Tromey - - * javax/imageio/stream/ImageOutputStreamImpl.java (writeBytes): - Rewrote. - (writeChar): Removed useless cast. - (writeChars(String)): Implemented. - (writeDouble): Rewrote. - (writeFloat): Likewise. - (writeUTF): Implemented. - * javax/imageio/stream/ImageInputStreamImpl.java (byteOrder): Default - to big endian. - -2006-03-24 Roman Kennke - - * javax/swing/JButton.java - (def): Replaced field with defaultCapable field. - (is_def): Removed field. - (JButton): Initialize defaultCapable with true. - (isDefaultButton): Documented and implemented method by querying - the button's root pane if present. - (isDefaultCapable): Changed def field to defaultCapable. - Added documentation. - (paramString): Call isDefaultButton() instead of accessing field, - which got removed. - (setDefaultCapable): Changed def field to defaultCapable. - Added documentation. - * javax/swing/JRootPane.java - (setDefaultButton): Only change the default button if the - new button is defaultCapable. - * javax/swing/plaf/basic/BasicRootPaneUI.java - (DefaultPressAction): New class. - (DefaultReleaseAction): New class. - (installKeyboardActions): Implemented. - (uninstallKeyboardActions): Implemented. - (propertyChange): Implemented. - * javax/swing/plaf/metal/MetalBorders.java - (ButtonBorder.paintBorder): 'Outsourced' default theme - painting to paintDefaultButtonBorder(). - (ButtonBorder.paintDefaultButtonBorder): New helper method - to paint the border in the default theme. This also fixes - painting of the border for default buttons. - (ButtonBorder.paintOceanButtonBorder): Added support for - default button painting. Fixed border for pressed/default state. - * javax/swing/plaf/metal/MetalButtonUI.java - (update): Only paint gradient when in OceanTheme and when the - button is not armed. - -2006-03-24 Audrius Meskauskas - - * gnu/java/rmi/activation/ActivationSystemTransient.java: - Inherit from Activator. - -2006-03-24 Audrius Meskauskas - - * gnu/java/rmi/activation/DefaultActivationGroup.java (newInstance): - Print debug message if debug flag is set. - * gnu/java/rmi/activation/DefaultActivationSystem.java: Rewritten. - * gnu/java/rmi/server/ActivatableServerRef.java (activate): assign - detail, do not call iniCause(). (exportClass): New method. - * gnu/java/rmi/server/CombinedClassLoader.java (constructor): - Ignore null (bootstrap) class loader. - * gnu/java/rmi/server/UnicastServerRef.java (methods, skel, stub, - buildMethodHash, findStubSkelClass, getHelperClass): Changed - visibility to protected. - * java/rmi/activation/Activatable.java (export, register): Rewritten. - (toStub): New method. - * java/rmi/activation/ActivationGroup.java (getSystem): Rewritten. - * java/rmi/activation/ActivationSystem.java (SYSTEM_PORT): - Explained property java.rmi.activation.port. - -2006-03-24 Tom Tromey - - * .externalToolBuilders/CreateLocaleData.launch: Updated. - * gnu/java/locale/.cvsignore: New file. - * lib/Makefile.am (LocaleData.java): Put in gnu/java/locale. - * java/util/Locale.java (getAvailableLocales): Clone result. - (getISOCountries): Likewise. - (getISOLanguages): Likewise. - * scripts/generate-locale-list.sh: Make class public. Added new - array. - * gnu/java/locale/LocaleHelper.java (getCollatorLocales): New method. - (getLocaleCount): Likewise. - * java/text/Collator.java (getInstance): Javadoc typo fix. - (getAvailableLocales): Wrote. - -2006-03-24 Roman Kennke - - * javax/swing/JTabbedPane.java - (getSelectedComponent): Return null when no component is - selected. - -2006-03-24 Mark Wielaard - - * NEWS: Add cursor and selection improvements. - -2006-03-23 David Gilbert - - * java/awt/Component.java - (getAccessibleName): Just return accessibleName, - * javax/swing/AbstractButton.java - (getAccessibleStateSet): Mark as stub, - (getAccessibleName): Implemented, - (getAcessibleIcon): Mark as stub, - (getAccessibleRelationSet): Likewise, - (getAccessibleAction): Likewise, - (getAccessibleValue): Likewise, - (getAccessibleActionCount): Likewise, - (getAccessibleActionDescription): Likewise, - (doAccessibleAction): Likewise, - (getCurrentAccessibleValue): Likewise, - (setCurrentAccessibleValue): Likewise, - (getMinimumAccessibleValue): Likewise, - (getMaximumAccessibleValue): Likewise, - (getAccessibleText): Likewise, - (getIndexAtPoint): Likewise, - (getCharacterBounds): Likewise, - (getCharCount): Likewise, - (getCaretPosition): Likewise, - (getAtIndex): Likewise, - (getAfterIndex): Likewise, - (getBeforeIndex): Likewise, - (getCharacterAttribute): Likewise, - (getSelectionStart): Likewise, - (getSelectionEnd): Likewise, - (getSelectedText): Likewise, - (getTextRectangle): Likewise, - (setIconTextGap): Fire PropertyChangeEvent, not state changed, - (getIconTextGap): Added @since 1.4, - (setContentAreaFilled): Reordered code to make event sequence match - reference implementation, - * javax/swing/JButton.java - (getSelectedObjects): Removed, - *javax/swing/JComponent.java - (getAccessibleName): Call super. - -2006-03-23 David Gilbert - - * javax/swing/JProgressBar.java - (AccessibleJProgressBar.getAccessibleStateSet): Implemented, - (AccessibleJProgressBar.getAccessibleRole): Added API docs, - (AccessibleJProgressBar.getAccessibleValue): Implemented, - (AccessibleJProgressBar.getCurrentAccessibleValue): Likewise, - (AccessibleJProgressBar.setCurrentAccessibleValue): Likewise, - (AccessibleJProgressBar.getMinimumAccessibleValue): Likewise, - (AccessibleJProgressBar.getMaximumAccessibleValue): Likewise, - (getAccessibleContext): Added API docs. - -2006-03-23 Robert Schuster - - * javax/swing/plaf/basic/BasicTextUI.java: - (FocusListener.focusLost): Put current selection into the system - clipboard. - -2006-03-23 Robert Schuster - - * java/awt/Component.java: - (processMouseEvent): Remove call to consume event. - (dispatchEventImpl): Handle specific events first, do focus request - only when mouse event was not yet consumed. - * javax/swing/text/DefaultCaret.java: - (mousePressed): Rewritten. - (setDot): Changed order of operations. - (moveDot): Dito. - -2006-03-23 David Gilbert - - * javax/swing/JComponent.java - (AccessibleJComponent.changeSupport): Removed field, - (AccessibleJComponent.AccessibleJComponent): Updated for removed field, - (AccessibleJComponent.addPropertyChangeListener): Call super, - (AccessibleJComponent.removePropertyChangeListener): Likewise, - * javax/swing/JSlider.java - (AccessibleJSlider.getAccessibleStateSet): Implemented, - (AccessibleJSlider.getAccessibleRole): Likewise, - (AccessibleJSlider.getAccessibleValue): Likewise, - (AccessibleJSlider.getCurrentAccessibleValue): Likewise, - (AccessibleJSlider.setCurrentAccessibleValue): Likewise, - (AccessibleJSlider.getMinimumAccessibleValue): Likewise, - (AccessibleJSlider.getMaximumAccessibleValue): Likewise, - (getAccessibleContext): Added API docs. - -2006-03-23 Audrius Meskauskas - - * gnu/java/rmi/activation/ActivationSystemTransient.java - (debug): Made public. (constructor): Made protected. - (activate, getActivationDesc): Throw more informative exceptions. - * gnu/java/rmi/server/UnicastConnectionManager.java (toString): - New method. - * gnu/java/rmi/server/UnicastRef.java (remoteToString): - Stub, implemented. - * gnu/java/rmi/server/UnicastServer.java (incomingMessageCall): - Documented. - * gnu/java/rmi/server/UnicastServerRef.java (incomingMessageCall): - Better exception. - * java/rmi/activation/Activatable.java (obtainId): Use the activation - system, passed in the activation descriptor field. - * java/rmi/activation/ActivationGroup.java (createGroup): Likewise. - * java/rmi/activation/ActivationGroupID.java (system, uid): Changed - to package private final. (equals): Compare uid, not the system. - (hashCode): Forward to uid.hashCode(). toString(): New method. - * java/rmi/activation/ActivationID.java (readObject, writeObject): - Rewritten. (equals): Compare UID only. toString(): New method. - * java/rmi/server/ObjID.java (eq): New method. (equals): Compare also - UID (space). (hashCode, toString): Rewritten. - * java/rmi/server/RemoteObjectInvocationHandler.java (noArgs): - New method. (invoke): Treat null as an empty array for parameters. - * java/rmi/server/UID.java (toString): Rewritten. (hashCode): - Include count, do not include the static machineId. - -2006-03-23 Tom Tromey - - * java/net/URLConnection.java (getContent(Class[])): Implemented. - -2006-03-23 Audrius Meskauskas - - * tools/gnu/classpath/tools/giop/GRMIC.java (main): Accept -force. - * tools/gnu/classpath/tools/giop/GRMIC.txt: Explain -force. - * tools/gnu/classpath/tools/giop/grmic/GiopRmicCompiler.java - (force): New field. (setForce): New method. (compile): Handle -force. - * tools/gnu/classpath/tools/rmi/RMIC.java (main): Accept -force. - * tools/gnu/classpath/tools/rmi/RMIC.txt: Explain -force. - -2006-03-23 Roman Kennke - - * javax/swing/JTabbedPane.java - (Page.getBackground): Return the JTabbedPane's background, - rather than the page's component background. - (Page.getForeground): Return the JTabbedPane's foreground, - rather than the page's component foreground. - * javax/swing/plaf/basic/BasicTabbedPaneUI.java - (uninstallUI): Don't set colors to null. - * javax/swing/plaf/metal/MetalTabbedPaneUI.java - (paintTabBackground): Correctly determine the tab background. - (getUnselectedBackground): New helper method to - handle the UI property 'TabbedPane.unselectedBackground' - correctly. - -2006-03-23 Audrius Meskauskas - - * javax/swing/plaf/basic/BasicInternalFrameUI.java - (BorderListener.showingResizeCursor): New field. - (BorderListener.mouseMoved, BorderListner.mouseExited): - Implemented. - -2006-03-23 David Gilbert - - * javax/swing/JComboBox.java - (selectWithKeyChar): Mark as stub, - * javax/swing/JFileChooser.java - (setDragEnabled): Mark as stub, - (getDragEnabled): Likewise, - * javax/swing/JSlider.java - (AccessibleJSlider.getAccessibleStateSet): Mark as stub, - (AccessibleJSlider.getAccessibleRole): Likewise, - (AccessibleJSlider.getAccessibleValue): Likewise, - (AccessibleJSlider.getCurrentAccessibleValue): Likewise, - (AccessibleJSlider.setCurrentAccessibleValue): Likewise, - (AccessibleJSlider.getMinimumAccessibleValue): Likewise, - (AccessibleJSlider.getMaximumAccessibleValue): Likewise, - * javax/swing/UIManager.java - (installLookAndFeel): Mark as stub, - (setInstalledLookAndFeels): Likewise. - -2006-03-23 David Gilbert - - * javax/swing/filechooser/UnixFileSystemView.java - (getSystemDisplayName): Mark as stub, - (getSystemIcon): Likewise, - (getSystemTypeDescription): Likewise. - -2006-03-23 David Gilbert - - * javax/swing/tree/AbstractLayoutCache.java - (getNodeDimensions): Mark as stub, - (getPreferredHeight): Likewise, - (getPreferredWidth): Likewise, - (getRowsForPaths): Likewise, - (isFixedRowHeight): Likewise, - * javax/swing/tree/DefaultTreeModel.java - (reload()): Mark as stub, - (reload(TreeNode)): Likewise, - (nodeStructureChanged): Likewise, - * javax/swing/tree/DefaultTreeSelectionModel.java - (clone): Mark as stub, - (setRowMapper): Likewise, - (setSelectionPaths): Likewise, - (isRowSelected): Likewise, - (resetRowSelection): Likewise, - (insureRowContinuity): Likewise, - (arePathsContiguous): Likewise, - (canPathsBeAdded): Likewise, - (canPathsBeRemoved): Likewise, - (notifyPathChange): Likewise, - (updateLeadIndex): Likewise, - (insureUniqueness): Likewise, - * javax/swing/tree/FixedHeightLayoutCache.java: Marked all methods as - stubs, - * javax/swing/tree/VariableHeightLayoutCache.java: Likewise. - -2006-03-22 Tom Tromey - - * javax/swing/text/StyleContext.java (getStaticAttribute): Mark as - stub. - (getStaticAttributeKey): Likewise. - (readAttributeSet): Likewise. - (writeAttributeSet): Likewise. - (readAttributes): Likewise. - (writeAttributes): Likewise. - * javax/swing/text/html/HTMLEditorKit.java (insertAtBoundary): Mark - as stub. - * javax/swing/text/html/HTMLDocument.java (setParagraphAttributes): - Mark as stub. - (fireChangedUpdate): Likewise. - (start): Likewise. - (end): Likewise. - (handleEndOfLineString): Likewise. - (textAreaContent): Likewise. - (preContent): Likewise. - (addSpecialElement): Likewise. - (setInnerHTML): Likewise. - (setOuterHTML): Likewise. - (insertBeforeStart): Likewise. - (insertBeforeEnd): Likewise. - (insertAfterEnd): Likewise. - (insertAfterStart): Likewise. - * javax/swing/table/JTableHeader.java (AccessibleJTableHeaderEntry): - Mark all methods as stub.s - * javax/swing/plaf/metal/MetalTreeUI.java (decodeLineStyle): Mark - as stub. - (paintHorizontalSeparators): Likewise. - * javax/swing/plaf/basic/BasicLookAndFeel.java (loadSystemColors): - Mark as stub. - * javax/swing/MenuSelectionManager.java (processKeyEvent): Mark as - stub. - * java/beans/beancontext/BeanContextSupport.java: Mark most methods - as stubs. - * java/beans/beancontext/BeanContextServicesSupport.java: Mark most - methods as stubs. - -2006-03-22 Mark Wielaard - - * gnu/java/awt/peer/gtk/GtkCursor.java: New class. - -2006-03-22 Mark Wielaard - - Fixes bug #26527 - * gnu/java/awt/peer/gtk/GtkComponentPeer.java (gtkWidgetSetCursor): - Takes GtkImage, x and y coordinates. - (gtkWidgetSetCursorUnlocked): Likewise. - (GtkComponentPeer): Set cursor when set. - (setCursor): Handle GtkCursor. - * gnu/java/awt/peer/gtk/GtkToolkit.java (createCustomCursor): - New method. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c - (gtkWidgetSetCursor): Takes GtkImage, x and y coordinates. - (gtkWidgetSetCursorUnlocked): Likewise. Handle custom image. - * include/gnu_java_awt_peer_gtk_GtkComponentPeer.h: Regenerated. - -2006-03-23 Roman Kennke - - PR 26805 - * gnu/java/security/Registry.java - (PKCS5_PAD): Added pad PKCS#5 algorithm. - * gnu/javax/crypto/pad/PadFactory.java - (getInstance): For PKCS#5, also return PKCS#7 pad - algorithm. - (getNames): Added PKCS#5. - * javax/crypto/KeyGenerator.java - (getInstance): Initialize key generator before returning - it. - -2006-03-23 Ito Kazumitsu - - * gnu/regexp/RE.java(REG_X_COMMENTS): New copilation flag, - (initialize): Ignore whiltespaces and comments if REG_X_COMMENTS is set. - * java/util/regex/Pattern.java(constructor): Set RE.REG_X_COMMENTS - if COMMENTS is set. - -2006-03-22 Tom Tromey - - * javax/swing/plaf/synth/SynthStyle.java (getInt): Implemented. - (getBoolean): Likewise. - (getString): Likewise. - (getIcon): Likewise. - -2006-03-22 Mark Wielaard - - Fixes bug #26301 - * gnu/java/awt/peer/GLightweightPeer.java: Extend MouseAdapter. - (GLightweightPeer(Component)): Install MouseListener. - (setCursor): Implement. - (mouseEntered): New method. - -2006-03-22 Tom Tromey - - * javax/swing/plaf/synth/ColorType.java (MAX_COUNT): No longer - constant. - * javax/swing/plaf/synth/SynthStyle.java (getColorForState): Now - protected. - (getFontForState): Likewise. - (getInsets): Added 'result' argument. - (getPainter): Renamed. - -2006-03-22 Tom Tromey - - * javax/swing/plaf/synth/SynthPainter.java - (paintScrollBarThumbBackground): Added 'orientation' argument. - (paintScrollBarThumbBorder): Likewise. - (paintSliderThumbBackground): Likewise. - (paintSliderThumbBorder): Likewise. - (paintTabbedPaneTabBackground): Added 'index' argument. - (paintTabbedPaneTabBorder): Likewise. - -2006-03-22 Tom Tromey - - * java/awt/ScrollPaneAdjustable.java (paramString): Implemented. - (toString): New method. - -2006-03-22 Tom Tromey - - * doc/hacking.texinfo (Source Code Style Guide): Mention - NotImplementedException. - * javax/imageio/stream/MemoryCacheImageOutputStream.java - (flushBefore): Mark as stub. - (read): Likewise. - * javax/imageio/stream/MemoryCacheImageInputStream.java (flushBefore): - Mark as stub. - * javax/imageio/stream/ImageOutputStreamImpl.java (flushBits): Mark - as stub. - (write): Likewise. - (writeBit): Likewise. - (writeChars): Likewise. - (writeUTF): Likewise. - * javax/imageio/stream/FileCacheImageOutputStream.java (read): Mark - as stub. - (read): Likewise. - * java/net/URLConnection.java (getContent): Mark as stub. - * java/awt/Window.java (applyResourceBundle): Mark as stub. - * java/awt/TexturePaint.java (createContext): Mark as stub. - (getTransparency): Mark as stub. - * java/awt/ScrollPaneAdjustable.java (paramString): Mark as stub. - * java/awt/GridBagLayout.java (AdjustForGravity): Mark as stub. - * java/awt/GraphicsConfiguration.java (getBufferCapabilities): Mark as - stub. - (getImageCapabilities): Likewise. - * java/awt/BasicStroke.java (createStrokedShape): Mark as stub. - * java/awt/AlphaComposite.java (createContext): Mark as stub. - * java/awt/image/renderable/RenderableImageProducer.java: Mark all - methods as stubs. - * java/awt/font/TextMeasurer.java (deleteChar): Mark as stub. - (getAdvanceBetween): Likewise. - (getLayout): Likewise. - (insertChar): Likewise. - (getLineBreakIndex): Likewise. - * java/awt/font/ShapeGraphicAttribute.java (draw): Mark as stub. - (getAdvance): Likewise. - (getAscent): Likewise. - (getDescent): Likewise. - * java/awt/font/LineBreakMeasurer.java (deleteChar): Mark as stub. - (insertChar): Likewise. - (nextLayout): Likewise. - (nextLayout): Likewise. - (nextOffset): Likewise. - (nextOffset): Likewise. - * java/awt/font/ImageGraphicAttribute.java (draw): Mark as stub. - (equals): Likewise. - (getAdvance): Likewise. - (getAscent): Likewise. - (getBounds): Likewise. - (getDescent): Likewise. - (hashCode): Likewise. - (ImageGraphicAttribute): Likewise. - * java/awt/font/GraphicAttribute.java (getBounds): Mark as stub. - (getJustificationInfo): Likewise. - * java/awt/font/GlyphVector.java (getGlyphCharIndex): Mark as stub. - (getGlyphCharIndices): Likewise. - (getGlyphOutline): Likewise. - (getGlyphPixelBounds): Likewise. - (getLayoutFlags): Likewise. - (getPixelBounds): Likewise. - * java/awt/font/GlyphMetrics.java (getLSB): Mark as stub. - (getRSB): Likewise. - * java/nio/channels/Channels.java (newWriter): Mark as stub. - * java/awt/dnd/DragSourceContext.java: Marked most methods as stubs. - * java/awt/dnd/DragGestureRecognizer.java (fireDragGestureRecognized): - Mark as stub. - (resetRecognizer): Likewise. - * java/awt/datatransfer/SystemFlavorMap.java (getFlavorsForNative): - Mark as stub. - (getNativesForFlavor): Likewise. - * javax/swing/plaf/synth/SynthStyle.java: Mark all methods as stub.s - * javax/swing/plaf/synth/SynthLookAndFeel.java (updateStyles): Mark - as stub. - (getRegion): Likewise. - (createUI): Likewise. - (initialize): Likewise. - (uninitialize): Likewise. - (getDefaults): Likewise. - (load): Likewise. - (shouldUpdateStyleOnAncestorChanged): Likewise. - * javax/swing/plaf/synth/SynthGraphicsUtils.java (getMinimumSize): - Mark as stub. - (getPreferredSize): Likewise. - (getMaximumSize): Likewise. - (paintText): Likewise. - * java/text/RuleBasedCollator.java (getCollationElementIterator): Mark - as stub. - * java/text/Collator.java (getAvailableLocales): Mark as stub. - -2006-03-22 Wolfgang Baer - - * java/io/ObjectStreamConstants.java: Added since tag. - (PROTOCOL_VERSION_1): Added javadoc. - (PROTOCOL_VERSION_2): Likewise. - * java/io/ObjectOutputStream.java: - (setDefaultProtocolVersion): Removed. - (useProtocolVersion): Fixed parameter tests. Updated javadoc. - -2006-03-21 Lillian Angel - - * gnu/javax/imageio/bmp/BMPInfoHeader.java - (BMPInfoHeader): Removed debug lines. - * gnu/javax/imageio/bmp/EncodeRLE4.java - (encode): Implemented. - (uncompress): New function implemented to - uncompress the image before encoding. - * gnu/javax/imageio/bmp/EncodeRLE8.java - (encode): Implemented. - (uncompress): New function implemented to - uncompress the image before encoding. - -2006-03-21 Roman Kennke - - * javax/swing/text/html/FormView.java - (getImageData): New helper method. - -2006-03-21 Tom Tromey - - * vm/reference/gnu/classpath/Unsafe.java (arrayBaseOffset): Javadoc - fix. - (Unsafe): Now final. - -2006-03-21 Roman Kennke - - * javax/swing/text/html/FormView.java - (MouseEventListener): New inner class. - -2006-03-21 Roman Kennke - - * javax/swing/text/html/ListView.java: New file. - -2006-03-21 Tom Tromey - - * java/text/Bidi.java: Completed. - -2006-03-21 Anthony Balkissoon - - * javax/swing/JTable.java: - (columnAtPoint): Removed the null check, this method should throw a NPE - if the argument is null. - -2006-03-21 Robert Schuster - - * javax/swing/text/DefaultHighlighter.java: - (DefaultHighlighter.DefaultHighlightPainter.paint): Rewritten. - -2006-03-21 Robert Schuster - - * javax/swing/text/DefaultCaret.java: Added class variable denoting - the textcomponent having a selection. - (clearSelection): Clear 'componentWithSelection' variable. - (handleSelection): Clear selection of current component having a - selection before setting a new selection in another component. - (mouseDragged): Only react on left mouse button. - (mouseClicked): Only react on left mouse button. - -2006-03-21 Roman Kennke - - * javax/swing/plaf/metal/MetalTabbedPaneUI.java - (paintContentBorderTopEdge): Implemented. - (paintContentBorderBottomEdge): Implemented. - (paintContentBorderLeftEdge): Implemented. - (paintContentBorderRightEdge): Implemented. - (isLastTabInRun): New helper method. - -2006-03-21 Roman Kennke - - * javax/swing/JTabbedPane.java - (Page.getForeground): Fall back to returning the tabbed pane's - foreground if no foreground has been exclicitly set. - -2006-03-21 Roman Kennke - - * javax/swing/plaf/metal/MetalComboBoxButton.java - (setEnabled): Update colors of button correctly. - * javax/swing/plaf/metal/MetalComboBoxUI.java - (MetalPropertyChangeListener.propertyChange): Update the colors - of the list and the button when any of the color properties - of the ComboBox change. - -2006-03-21 Roman Kennke - - * javax/swing/plaf/basic/BasicButtonUI.java - (uninstallDefaults): Only nullify button colors if they are - not UIResource instances. - -2006-03-21 David Gilbert - - * javax/swing/JComponent.java - (AccessibleJComponent.getAccessibleDescription): Call super, - * javax/swing/JToolTip.java: API doc updates all over, plus - (AccessibleJToolTip.getAccessibleDescription): Implemented, - (AccessibleJToolTip.getAccessibleRole): Implemented, - (getAccessibleContext): Implemented, - (paramString): Reimplemented, - (setComponent): Fire PropertyChangeEvent, - (setTipText): Likewise. - -2006-03-20 Andrew John Hughes - - * java/util/Formatter.java: - Make the class final. - -2006-03-20 Andrew John Hughes - - * java/lang/System.java: - (nanoTime()): Documented. - * java/lang/Thread.java: - (setUncaughtExceptionHandler(UncaughtExceptionHandler): - Added docs and security check. - (getUncaughtExceptionHandler()): Documented. - (setDefaultUncaughtExceptionHandler(UncaughtExceptionHandler): - Added docs and security check. - (getDefaultUncaughtExceptionHandler()): Documented. - (getId()): Documented. - (Thread.State): Documented. - * vm/reference/gnu/classpath/Unsafe.java: - Documented. - (getUnsafe()): Updated to handle security. - -2006-03-20 Tom Tromey - - * java/lang/System.java: - (nanoTime()): Implemented. - * java/lang/Thread.java: - (getId()): Implemented. - * java/util/AbstractMap.java: - (SimpleImmutableEntry): New 1.6 class. - (BasicMapEntry): Modified to be SimpleEntry. - * java/util/Collections.java: - Modified to use SimpleEntry. - * java/util/EnumMap.java: Likewise. - * java/util/HashMap.java: Likewise. - * java/util/Hashtable.java: Likewise. - * java/util/TreeMap.java: Likewise. - * vm/reference/gnu/classpath/Unsafe.java: - New class to handle low-level facilities for concurrency. - * vm/reference/java/lang/VMSystem.java: - (nanoTime()): Implemented. - -2006-03-20 Tom Tromey - - * java/security/cert/PKIXCertPathChecker.java: Javadoc fix. - * java/security/cert/CertStoreSpi.java: Added import for javadoc. - (CertStoreSpi): Updated throws clause. - * java/security/cert/CertPathValidatorSpi.java: Added import for - javadoc. - (engineValidate): Updated 'throws' clause. - * java/security/cert/PKIXParameters.java: Javadoc fix. - * java/security/cert/X509CertSelector.java - (setAuthorityKeyIdentifier): Javadoc fix. - -2006-03-20 Tom Tromey - - * .classpath: Build gnu.javax.swing.plaf. - -2006-03-20 Lillian Angel - - * gnu/javax/imageio/bmp/BMPDecoder.java: - Removed unneeded import. - * gnu/javax/imageio/bmp/BMPEncoder.java: - New class. - * gnu/javax/imageio/bmp/BMPFileHeader.java - (BMPFileHeader): New constructor used to create info header - for an output stream. - (write): Fixed indexes. - * gnu/javax/imageio/bmp/BMPImageReaderSpi.java: - Initialized writerSpiNames field. - * gnu/javax/imageio/bmp/BMPImageWriter.java: - New class. - * gnu/javax/imageio/bmp/BMPImageWriterSpi.java: - New class. - * gnu/javax/imageio/bmp/BMPInfoHeader.java: - Change visibility for fields. - (BMPInfoHeader): New constructor used to create - file header for an output stream. - (intToDWord): New method. Converts an int to a - double word. - (intToWord): New method. Converts an int to a word. - * gnu/javax/imageio/bmp/DecodeBF32.java: - Removed unneeded imports. - * gnu/javax/imageio/bmp/EncodeRGB1.java: - New class. - * gnu/javax/imageio/bmp/EncodeRGB16.java: - New class. - * gnu/javax/imageio/bmp/EncodeRGB24.java: - New class. - * gnu/javax/imageio/bmp/EncodeRGB32.java: - New class. - * gnu/javax/imageio/bmp/EncodeRGB4.java: - New class. - * gnu/javax/imageio/bmp/EncodeRGB8.java: - New class. - * gnu/javax/imageio/bmp/EncodeRLE4.java: - New class. - * gnu/javax/imageio/bmp/EncodeRLE8.java: - New class. - * javax/imageio/ImageIO.java: - Fixed comment. - -2006-03-20 Roman Kennke - - * javax/swing/plaf/metal/MetalTabbedPaneUI.java - (TabbedPaneLayout.normalizeTabRuns): New method. - (createLayoutManager): Return the Metal TabbedPaneLayout, not super. - (paintTabBorder): Replaced if-else chain with switch. - (paintTopTabBorder): Rewritten to correctly paint tab. Also support - Ocean theme. - (paintBottomTabBorder): Rewritten to correctly paint tab. Also support - Ocean theme. - (paintLeftTabBorder): Rewritten to correctly paint tab. Also support - Ocean theme. - (paintRightTabBorder): Rewritten to correctly paint tab. Also support - Ocean theme. - (paintTabBackground): Fetch background color from the TabbedPane. - Fixed painting and improved by not using fillPolygon, and instead - using fillRectangle. Replaced if-else chain with switch. - (calculateMaxTabHeight): Added overridden method with FIXME. - (getTabRunOverlay): Overridden to provide overlay for LEFT or RIGHT - placement. - (paintContentBorderTopEdge): Added stub with FIXME. - (paintContentBorderBottomEdge): Added stub with FIXME. - (paintContentBorderLeftEdge): Added stub with FIXME. - (paintContentBorderRightEdge): Added stub with FIXME. - -2006-03-20 Roman Kennke - - * javax/swing/plaf/basic/BasicTabbedPaneUI.java - (tabsOpaque): New field. - (installDefaults): Fetch tabsOpaque property from UIManager. - (paintTab): Fill tab background when tabsOpaque property is true. - * javax/swing/plaf/basic/BasicLookAndFeel.java - (initComponentDefaults): Added TabbedPane.tabsOpaque property. - -2006-03-20 Roman Kennke - - * javax/swing/JTabbedPane.java - (Pane.getBackground): When no background was explicitly set, return - the JTabbedPane's background. - -2006-03-20 Wolfgang Baer - - * org/omg/CORBA/ACTIVITY_COMPLETED.java, - * org/omg/CORBA/ACTIVITY_REQUIRED.java, - * org/omg/CORBA/BAD_INV_ORDER.java, - * org/omg/CORBA/BAD_CONTEXT.java, - * org/omg/CORBA/BAD_OPERATION.java, - * org/omg/CORBA/BAD_PARAM.java, - * org/omg/CORBA/BAD_QOS.java, - * org/omg/CORBA/BAD_TYPECODE.java, - * org/omg/CORBA/CODESET_INCOMPATIBLE.java, - * org/omg/CORBA/COMM_FAILURE.java, - * org/omg/CORBA/CurrentHolder.java, - * org/omg/CORBA/DATA_CONVERSION.java, - * org/omg/CORBA/FREE_MEM.java, - * org/omg/CORBA/IMP_LIMIT.java, - * org/omg/CORBA/INITIALIZE.java, - * org/omg/CORBA/INTERNAL.java, - * org/omg/CORBA/INTF_REPOS.java, - * org/omg/CORBA/INVALID_ACTIVITY.java, - * org/omg/CORBA/INVALID_TRANSACTION.java, - * org/omg/CORBA/INV_FLAG.java, - * org/omg/CORBA/INV_IDENT.java, - * org/omg/CORBA/INV_OBJREF.java, - * org/omg/CORBA/INV_POLICY.java, - * org/omg/CORBA/MARSHAL.java, - * org/omg/CORBA/NO_RESOURCES.java, - * org/omg/CORBA/NO_MEMORY.java, - * org/omg/CORBA/NO_IMPLEMENT.java, - * org/omg/CORBA/NO_PERMISSION.java, - * org/omg/CORBA/NO_RESPONSE.java, - * org/omg/CORBA/OBJECT_NOT_EXIST.java, - * org/omg/CORBA/OBJ_ADAPTER.java, - * org/omg/CORBA/ParameterModeHolder.java, - * org/omg/CORBA/PolicyError.java, - * org/omg/CORBA/PolicyErrorHolder.java, - * org/omg/CORBA/PolicyHolder.java, - * org/omg/CORBA/PolicyListHolder.java, - * org/omg/CORBA/REBIND.java, - * org/omg/CORBA/TIMEOUT.java, - * org/omg/CORBA/TRANSACTION_MODE.java, - * org/omg/CORBA/TRANSACTION_REQUIRED.java, - * org/omg/CORBA/TRANSACTION_ROLLEDBACK.java, - * org/omg/CORBA/TRANSACTION_UNAVAILABLE.java, - * org/omg/CORBA/TRANSIENT.java, - * org/omg/CORBA/TypeCodeHolder.java, - * org/omg/CORBA/UNKNOWN.java, - * org/omg/CORBA/UnionMember.java, - * org/omg/CORBA/UnknownUserException.java, - * org/omg/CORBA/UnknownUserExceptionHolder.java, - * org/omg/CORBA/WrongTransactionHolder.java, - * org/omg/IOP/IOR.java, - * org/omg/IOP/IORHolder.java, - * org/omg/IOP/MultipleComponentProfileHolder.java, - * org/omg/IOP/ServiceContextHolder.java, - * org/omg/IOP/ServiceContextListHolder.java, - * org/omg/IOP/TaggedComponentHolder.java, - * org/omg/IOP/TaggedProfileHolder.java, - * org/omg/PortableInterceptor/ObjectReferenceTemplateSeqHolder.java, - * org/omg/PortableInterceptor/ObjectReferenceTemplateHolder.java, - * org/omg/PortableInterceptor/IORInterceptor_3_0Holder.java, - * org/omg/PortableInterceptor/ObjectReferenceFactoryHolder.java: - Made class final, various javadoc fixlets. - * org/omg/CORBA/CompletionStatus.java, - * org/omg/CORBA/PERSIST_STORE.java, - * org/omg/CORBA/ValueMember.java, - * org/omg/PortableInterceptor/ForwardRequest.java, - * org/omg/PortableInterceptor/InvalidSlot.java, - * org/omg/IOP/CodecPackage/TypeMismatch.java, - * org/omg/IOP/CodecPackage/InvalidTypeForEncoding.java, - * org/omg/IOP/CodecPackage/FormatMismatch.java, - * org/omg/IOP/CodecFactoryPackage/UnknownEncoding.java, - * org/omg/IOP/Encoding.java, - * org/omg/IOP/TaggedComponent.java, - * org/omg/IOP/TaggedProfile.java: Made class final. - * org/omg/CORBA/SystemException.java: Made class abstract. - * org/omg/CORBA/UserException.java: Made class abstract. - (UserException): Now protected. - (UserException(String)): Likewise. - * org/omg/Messaging/SyncScopeHelper.java: Now abstract, javadoc fixes. - (typecode): Removed unused private variable. - -2006-03-20 Chris Burdess - - Fixes PR 26761 - * gnu/xml/stream/XMLParser.java: Permit U+fffd as XML Char. - -2006-03-20 Roman Kennke - - * javax/swing/plaf/basic/BasicTabbedPaneUI.java - (paintTabArea): Look up tab run indices in tabRuns array instead - of using the index directly. - -2006-03-20 Roman Kennke - - * javax/swing/plaf/basic/BasicTabbedPaneUI.java - (paintTab): Fixed painting. - (paintText): Fixed text painting. - (paintFocusIndicator): Fixed painting of the focus rectangle. - (paintContentBorder): Fixed painting of the content area. - -2006-03-20 Mark Wielaard - - * gnu/java/awt/peer/gtk/GdkPixbufDecoder.java (pixbufLock): New - static lock Object field. - (produce): Synchronize on pixbufLock when calling initState(), - pumpBytes() and pumpDone(). - (finalize): Likewise when calling finish(). - (GdkPixbufWriter.write): Likewise when calling streamImage(). - * gnu/java/awt/peer/gtk/GtkImage.java (GtkImage(String)): Likewise - when calling loadPixbuf. Chain exception. - (GtkImage(byte[])): Likewise when calling loadImageFromData. - (GtkImage(URL)): Likewise. - (GtkImage(int,int)): Likewise when calling createPixmap(). - (GtkImage(GtkImage,int,int,int)): Likewise when calling - createScaledPixmap(). - (GtkImage(Pointer)): Likewise when calling createFromPixbuf(). - (setImage): Likewise when calling createPixmap() and setPixels(). - (getSource): Likewise when calling getPixels(). - (flush): Likewise when calling freePixmap(). - (finalize): Likewise. - (drawImage): Likewise when calling drawPixelsScaledFlipped() and - drawPixelsScaledFlipped(). - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkPixbufDecoder.c - (Java_gnu_java_awt_peer_gtk_GdkPixbufDecoder_initState): Remove - gdk_threads_enter/leave(). - (Java_gnu_java_awt_peer_gtk_GdkPixbufDecoder_finish): Likewise. - (Java_gnu_java_awt_peer_gtk_GdkPixbufDecoder_pumpDone): Likewise. - (Java_gnu_java_awt_peer_gtk_GdkPixbufDecoder_streamImage): Likewise. - (Java_gnu_java_awt_peer_gtk_GdkPixbufDecoder_pumpBytes): Likewise. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c - (Java_gnu_java_awt_peer_gtk_GtkImage_loadPixbuf): Likewise. - (Java_gnu_java_awt_peer_gtk_GtkImage_loadImageFromData): Likewise. - (Java_gnu_java_awt_peer_gtk_GtkImage_createFromPixbuf): Likewise. - (Java_gnu_java_awt_peer_gtk_GtkImage_getPixels): Likewise. - (Java_gnu_java_awt_peer_gtk_GtkImage_setPixels): Likewise. - (Java_gnu_java_awt_peer_gtk_GtkImage_createPixmap): Likewise. - (Java_gnu_java_awt_peer_gtk_GtkImage_freePixmap): Likewise. - (Java_gnu_java_awt_peer_gtk_GtkImage_createScaledPixmap): Likewise. - -2006-03-20 Roman Kennke - - * javax/swing/plaf/basic/BasicTabbedPaneUI.java - (calculateTabHeight): Not need to use SwingUtilities here. - (getTabInsets): Do not rotate insets. - -2006-03-20 Roman Kennke - - * javax/swing/plaf/basic/BasicTabbedPaneUI.java - (paint): Make sure the layout is valid before painting. - (paintTabArea): Made tab painting more straightforward and efficient. - -2006-03-20 Audrius Meskauskas - - * javax/swing/JTable.java (ROWS_PER_WHEEL_CLICK): Removed. - (getScrollableUnitIncrement): Rewritten. - * javax/swing/JTree.java (ROWS_PER_WHEEL_CLICK): Removed. - (getScrollableUnitIncrement): Rewritten. - * javax/swing/plaf/basic/BasicScrollPaneUI.java - (ROWS_PER_WHEEL_CLICK): New field. - (MouseWheelHandler.mouseWheelMoved): Rewritten. - -2006-03-20 Roman Kennke - - * javax/swing/plaf/basic/BasicTabbedPaneUI.java - (paint): Make sure the layout is valid before painting. - (paintTabArea): Made tab painting more straightforward and efficient. - -2006-03-20 Roman Kennke - - * javax/swing/plaf/basic/BasicTabbedPaneUI.java - (MouseHandler.mousePressed): Rewritten for clearer and simpler - code. - (MouseHandler.mouseEntered): Implemented to set the rollover tab. - (MouseHandler.mouseMoved): Implemented to set the rollover tab. - (MouseHandler.mouseExited): Implemented to unset the rollover tab. - (TabbedPaneLayout.calculateLayoutInfo): Don't set the component's - bounds here. That is moved into layoutContainer(). - (calculateSize): Correctly respect insets. Made code slightly more - clear and efficient. - (calculateTabRects): Rewritten completely. The old code was - not quite right and unstable in some situations. - (layoutContainer): Moved layout of tabbed pane's subcomponents - here. - (tabRunsDirty): New field. - (rolloverTab): New field. - (tabForCoordinate): Rewritten for simplicity and correctness. - (setRolloverTab): New method. - (getRolloverTab): New method. - -2006-03-20 Audrius Meskauskas - - * javax/swing/JTable.java (getScrollableUnitIncrement): Rewritten. - * javax/swing/JTree.java (getScrollableUnitIncrement): Rewritten. - (getScrollableUnitIncrement - * javax/swing/Scrollable.java: Documented. - * javax/swing/plaf/basic/BasicScrollPaneUI.java - (MouseWheelHandler):Rewritten. - -2006-03-20 Andrew John Hughes - - * doc/vmintegration.texinfo: - Updated with gnu.classpath.Unsafe - -2006-03-20 Andrew John Hughes - - * NEWS: - Updated with VMArray and Unsafe changes. - -2006-03-20 Audrius Meskauskas - - * javax/swing/JTable.java (ROWS_PER_WHEEL_CLICK): New field. - (getScrollableUnitIncrement): Rewritten. - * javax/swing/JTree.java (ROWS_PER_WHEEL_CLICK): New field. - (getScrollableUnitIncrement): Rewritten. - (getScrollableBlockIncrement): Rewritten. - * javax/swing/plaf/basic/BasicScrollPaneUI.java - (MouseWheelHandler): Implemented. (ViewportContainerListener): - New class. (containerListener): New field. (SCROLL_NON_SCROLABLES): - New field. (installListeners): Install wheel listeners. - (uninstallListeners): Uninstall wheel listeners. - * javax/swing/plaf/basic/BasicTableUI.java: Remove the implementation - of the MouseWheelListener. (installListeners): Do not install wheel - listener. (ROWS_PER_WHEEL_CLICK): Removed. - -2006-03-19 Andrew John Hughes - - * vm/reference/gnu/classpath/Unsafe.java: - Documented. - (getUnsafe()): Updated to handle security. - -2006-03-19 Tom Tromey - - * vm/reference/gnu/classpath/Unsafe.java: - New class to handle low-level facilities for concurrency. - -2006-03-19 Mark Wielaard - - * include/Makefile.am: Rename PlainDatagramSocketImpl to - VMPlainDatagramSocketImpl and PlainSocketImpl to VMPlainSocketImpl. - * include/gnu_java_net_VMPlainDatagramSocketImpl.h: Regenerated. - * include/gnu_java_net_VMPlainSocketImpl.h: Likewise. - -2006-03-19 Mark Wielaard - - * gnu/java/awt/peer/gtk/GdkFontPeer.java (getPostScriptName): Return - familyName. - * gnu/java/awt/peer/gtk/GtkFontPeer.java: Removed unused file. - -2006-03-19 Michael Koch - - * resource/gnu/java/locale/LocaleInformation_aa_ET.properties, - resource/gnu/java/locale/LocaleInformation_am.properties, - resource/gnu/java/locale/LocaleInformation_am_ET.properties, - resource/gnu/java/locale/LocaleInformation_as_IN.properties, - resource/gnu/java/locale/LocaleInformation_az_Cyrl.properties, - resource/gnu/java/locale/LocaleInformation_bg.properties, - resource/gnu/java/locale/LocaleInformation_bn_IN.properties, - resource/gnu/java/locale/LocaleInformation_ca.properties, - resource/gnu/java/locale/LocaleInformation_cs.properties, - resource/gnu/java/locale/LocaleInformation_cy.properties, - resource/gnu/java/locale/LocaleInformation_da.properties, - resource/gnu/java/locale/LocaleInformation_de.properties, - resource/gnu/java/locale/LocaleInformation_dv.properties, - resource/gnu/java/locale/LocaleInformation_el.properties, - resource/gnu/java/locale/LocaleInformation_en.properties, - resource/gnu/java/locale/LocaleInformation_en_GB.properties, - resource/gnu/java/locale/LocaleInformation_en_IN.properties, - resource/gnu/java/locale/LocaleInformation_en_PK.properties, - resource/gnu/java/locale/LocaleInformation_en_SG.properties, - resource/gnu/java/locale/LocaleInformation_en_US_POSIX.properties, - resource/gnu/java/locale/LocaleInformation_es.properties, - resource/gnu/java/locale/LocaleInformation_es_AR.properties, - resource/gnu/java/locale/LocaleInformation_es_BO.properties, - resource/gnu/java/locale/LocaleInformation_es_CL.properties, - resource/gnu/java/locale/LocaleInformation_es_CO.properties, - resource/gnu/java/locale/LocaleInformation_es_CR.properties, - resource/gnu/java/locale/LocaleInformation_es_DO.properties, - resource/gnu/java/locale/LocaleInformation_es_EC.properties, - resource/gnu/java/locale/LocaleInformation_es_ES.properties, - resource/gnu/java/locale/LocaleInformation_es_GT.properties, - resource/gnu/java/locale/LocaleInformation_es_HN.properties, - resource/gnu/java/locale/LocaleInformation_es_MX.properties, - resource/gnu/java/locale/LocaleInformation_es_NI.properties, - resource/gnu/java/locale/LocaleInformation_es_PA.properties, - resource/gnu/java/locale/LocaleInformation_es_PE.properties, - resource/gnu/java/locale/LocaleInformation_es_PR.properties, - resource/gnu/java/locale/LocaleInformation_es_PY.properties, - resource/gnu/java/locale/LocaleInformation_es_SV.properties, - resource/gnu/java/locale/LocaleInformation_es_US.properties, - resource/gnu/java/locale/LocaleInformation_es_UY.properties, - resource/gnu/java/locale/LocaleInformation_es_VE.properties, - resource/gnu/java/locale/LocaleInformation_fa.properties, - resource/gnu/java/locale/LocaleInformation_fa_AF.properties, - resource/gnu/java/locale/LocaleInformation_fa_IR.properties, - resource/gnu/java/locale/LocaleInformation_fi.properties, - resource/gnu/java/locale/LocaleInformation_fr.properties, - resource/gnu/java/locale/LocaleInformation_fr_CA.properties, - resource/gnu/java/locale/LocaleInformation_ga.properties, - resource/gnu/java/locale/LocaleInformation_gu_IN.properties, - resource/gnu/java/locale/LocaleInformation_hi_IN.properties, - resource/gnu/java/locale/LocaleInformation_hr.properties, - resource/gnu/java/locale/LocaleInformation_hu.properties, - resource/gnu/java/locale/LocaleInformation_id.properties, - resource/gnu/java/locale/LocaleInformation_is.properties, - resource/gnu/java/locale/LocaleInformation_it.properties, - resource/gnu/java/locale/LocaleInformation_ja.properties, - resource/gnu/java/locale/LocaleInformation_kk.properties, - resource/gnu/java/locale/LocaleInformation_kl.properties, - resource/gnu/java/locale/LocaleInformation_km.properties, - resource/gnu/java/locale/LocaleInformation_ky.properties, - resource/gnu/java/locale/LocaleInformation_lo.properties, - resource/gnu/java/locale/LocaleInformation_lo_LA.properties, - resource/gnu/java/locale/LocaleInformation_lt.properties, - resource/gnu/java/locale/LocaleInformation_lt_LT.properties, - resource/gnu/java/locale/LocaleInformation_lv.properties, - resource/gnu/java/locale/LocaleInformation_mk.properties, - resource/gnu/java/locale/LocaleInformation_mn.properties, - resource/gnu/java/locale/LocaleInformation_mr.properties, - resource/gnu/java/locale/LocaleInformation_mr_IN.properties, - resource/gnu/java/locale/LocaleInformation_ms.properties, - resource/gnu/java/locale/LocaleInformation_ms_BN.properties, - resource/gnu/java/locale/LocaleInformation_mt.properties, - resource/gnu/java/locale/LocaleInformation_nb.properties, - resource/gnu/java/locale/LocaleInformation_nl.properties, - resource/gnu/java/locale/LocaleInformation_nn.properties, - resource/gnu/java/locale/LocaleInformation_om_ET.properties, - resource/gnu/java/locale/LocaleInformation_or_IN.properties, - resource/gnu/java/locale/LocaleInformation_pa.properties, - resource/gnu/java/locale/LocaleInformation_pl.properties, - resource/gnu/java/locale/LocaleInformation_pt.properties, - resource/gnu/java/locale/LocaleInformation_ru.properties, - resource/gnu/java/locale/LocaleInformation_ru_RU.properties, - resource/gnu/java/locale/LocaleInformation_ru_UA.properties, - resource/gnu/java/locale/LocaleInformation_sa.properties, - resource/gnu/java/locale/LocaleInformation_sa_IN.properties, - resource/gnu/java/locale/LocaleInformation_sk.properties, - resource/gnu/java/locale/LocaleInformation_sr_Latn.properties, - resource/gnu/java/locale/LocaleInformation_sv.properties, - resource/gnu/java/locale/LocaleInformation_sw.properties, - resource/gnu/java/locale/LocaleInformation_sw_TZ.properties, - resource/gnu/java/locale/LocaleInformation_ta_IN.properties, - resource/gnu/java/locale/LocaleInformation_te.properties, - resource/gnu/java/locale/LocaleInformation_te_IN.properties, - resource/gnu/java/locale/LocaleInformation_th.properties, - resource/gnu/java/locale/LocaleInformation_ti.properties, - resource/gnu/java/locale/LocaleInformation_ti_ER.properties, - resource/gnu/java/locale/LocaleInformation_ti_ET.properties, - resource/gnu/java/locale/LocaleInformation_tr.properties, - resource/gnu/java/locale/LocaleInformation_tt.properties, - resource/gnu/java/locale/LocaleInformation_uk.properties, - resource/gnu/java/locale/LocaleInformation_ur.properties, - resource/gnu/java/locale/LocaleInformation_uz.properties, - resource/gnu/java/locale/LocaleInformation_zh.properties, - resource/gnu/java/locale/LocaleInformation_zh_Hant.properties: - More updates for CLDR 1.3. - -2006-03-19 Andrew John Hughes - - * doc/vmintegration.texinfo: - Updated to include VMArray. - * include/Makefile.am: - Replace java_lang_reflect_Array.h with - java_lang_reflect_VMArray.h - * include/java_lang_reflect_VMArray.h: - New autogenerated header. - * include/java_lang_reflect_Array.h: - Removed. - * java/lang/reflect/Array.java: - (newInstance(Class,int)): Calls VMArray. - (createMultiArray(Class,int[],int)): Likewise. - (createObjectArray(Class,int)): Removed. - * native/jni/java-lang/Makefile.am: - Replaced java_lang_reflect_Array.c with - java_lang_reflect_VMArray.c - * native/jni/java-lang/java_lang_reflect_VMArray.c: - Renamed from java_lang_reflect_Array.c. - * vm/reference/java/lang/reflect/VMArray.java: - (createObjectArray(Class,int)): Native method moved - from java.lang.reflect.Array. - -2006-03-19 Roman Kennke - - * gnu/javax/swing/plaf/metal/CustomizableTheme.java: New class. - * examples/gnu/classpath/examples/swing/MetalThemeEditor.java: - New class. - * examples/gnu/classpath/examples/swing/Demo.java - (mkButtonBar): Hook up theme editor. - (mkMenuBar): Hook up theme editor. - -2006-03-19 Roman Kennke - - * javax/swing/plaf/basic/BasicFileChooserUI.java - (ApproveSelectionAction.actionPerformed): Added case for when - nothing has been selected but the user has typed a filename - into the textfield. - (getFileName): Return the value of the text field. - -2006-03-19 Roman Kennke - - * javax/swing/JColorChooser.java - (createDialog): Create JDialog instead of ModalDialog. Make this - dialog modal by calling setModal(true). - (ModalDialog): Removed unnecessary inner class. - -2006-03-19 Tom Tromey - - * java/awt/font/NumericShaper.java: Rewrote. - -2006-03-19 Audrius Meskauskas - - * javax/swing/plaf/basic/BasicTableUI.java: - Implement MouseWheelListener. (ROWS_PER_WHEEL_CLICK): - New field. MouseInputHandler.mouseWheelMoved): New method. - (installListeners): Register MouseInputHandler as - wheel listener also. - -2006-03-19 Audrius Meskauskas - - PR 26746 - * javax/swing/ViewportLayout.java (layoutContainer): - If Scrollable tracks dimension, set view size to the port size. - If port is larger than the view, move the view to the top/left. - -2006-03-19 Roman Kennke - - * javax/swing/MenuSelectionManager.java - (isComponentPartOfCurrentMenu): Also consider the first element - in a menu selection list. Make a isDescendentFrom check instead - of simple equals to also catch sub components. - -2006-03-19 Roman Kennke - - * javax/swing/JComboBox.java - (actionPerformed): Fetch selected item directly from the editor - instead of trying to get it from the event. - -2006-03-19 Roman Kennke - - * javax/swing/plaf/basic/BasicComboBoxEditor.java - (listener): Removed field. - (BasicComboBoxEditor): Removed initialization of listener field. - (addActionListener): Add listener directly to editor. - (removeActionListener): Remove listener directly from editor. - (ComboBoxEditorListener): Removed class. - * javax/swing/plaf/basic/BasicComboBoxUI.java - (getPreferredSize): Fixed to return the minimumSize. - (getMinimumSize): Improved code for more clearness. - (getMaximumSize): Return (32767,32767) as requested by the mauve test. - (rectangleForCurrentValue): Correctly respect insets. - (getDefaultSize): Return preferredSize here. Dont override height - with 100. - (getDisplaySize): Moved around code for more clearness. Added - handling of prototype renderer. - (ComboBoxLayoutManager.layoutContainer): Set editor bounds after - arrowButton bounds since the former depends on the latter. - * javax/swing/plaf/metal/MetalComboBoxButton.java: - (MetalComboBoxButton): Make button rollover disabled. - (isFocusTraversable): Return false unconditionally. - * javax/swing/plaf/metal/MetalComboBoxEditor.java: - (EditorTextField): New class. Fixes the size properties. - (MetalComboBoxEditor): Create instance of EditorTextField. - * javax/swing/plaf/metal/MetalComboBoxUI.java: - (getMinimumSize): Fixed editable size. - -2006-03-18 Audrius Meskauskas - - * javax/swing/JTable.java (BooleanCellRenderer): Rewritten. - -2006-03-18 Roman Kennke - - * javax/swing/plaf/metal/MetalToolBarUI.java - (update): Added overridden method to support OceanTheme. - -2006-03-18 Audrius Meskauskas - - * javax/swing/plaf/basic/BasicTableUI.java (KeyHandler.keyTyped): - Activate the cell editing on character keystroke. - -2006-03-18 Mark Wielaard - - * java/awt/Component.java (eventTypeEnabled): Handle - MouseEvent.MOUSE_WHEEL. - * gnu/java/awt/peer/gtk/GtkComponentPeer.java (postMouseWheelEvent): - New callback method. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c - (AWT_MOUSE_WHEEL): New constant. - (AWT_WHEEL_UNIT_SCROLL): Likewise. - (postMouseWheelEventID): New static variable. - (cp_gtk_component_init_jni): Record postMouseWheelEventID. - (cp_gtk_component_connect_mouse_signals): Connect scroll-event. - (button_number): Renamed to ... - (button_number_direction): variable to hold button number or scroll - direction. - (component_button_press_cb): Use button_number_direction. - (component_scroll_cb): New static callback function. - -2006-03-18 Audrius Meskauskas - - * javax.swing.JTable.java (TableTextField.scrollRectToVisible): - Return without action. - -2006-03-18 Mark Wielaard - - * gnu/java/awt/peer/gtk/GtkComponentPeer.java (paintComponent): - Don't cast graphics object to GdkGraphics. - (updateComponent): Likewise. - -2006-03-18 Audrius Meskauskas - - * examples/gnu/classpath/examples/swing/TableDemo.java - (TModel.getColumnClass): Set second column to Icon. - (TModel.isCellEditable): Say icons are not editable. - (createContent): Fill the in second column with some icons from - MetalIconFactory. - -2006-03-18 Audrius Meskauskas - - * examples/gnu/classpath/examples/swing/Demo.java - (mkButtonBar): Set maximal button bar height to the preferred height. - -2006-03-18 Roman Kennke - - * javax/swing/plaf/basic/BasicComboPopup.java - (show): Substract insets from scroller width. - (getPopupHeightForRowCount): If height==0, return a default of 100 - instead for empty ComboBoxes. - -2006-03-18 Roman Kennke - - * javax/swing/plaf/basic/BasicLookAndFeel.java - (PopupHelper.autoClosePopups): Removed field. - (PopupHelper.mousePressed): Removed processing of registered - autoclose popups. - (registerForAutoClose): Removed unneeded method. - (autoClosePopups): Removed unneeded method. - (registerForAutoClose): Removed unneeded method. - -2006-03-18 Audrius Meskauskas - - * javax.swing.JTable.java (TableTextField): Set border. - (moveToCellBeingEdited): Do not adjust the editor boundaries - -2006-03-18 Michael Koch - - * resource/gnu/java/locale/LocaleInformation_aa.properties, - resource/gnu/java/locale/LocaleInformation_af.properties, - resource/gnu/java/locale/LocaleInformation_am.properties, - resource/gnu/java/locale/LocaleInformation_ar.properties, - resource/gnu/java/locale/LocaleInformation_az_Cyrl.properties, - resource/gnu/java/locale/LocaleInformation_be.properties, - resource/gnu/java/locale/LocaleInformation_bg.properties, - resource/gnu/java/locale/LocaleInformation_bn.properties, - resource/gnu/java/locale/LocaleInformation_ca.properties, - resource/gnu/java/locale/LocaleInformation_cs.properties, - resource/gnu/java/locale/LocaleInformation_cy.properties, - resource/gnu/java/locale/LocaleInformation_da.properties, - resource/gnu/java/locale/LocaleInformation_de.properties, - resource/gnu/java/locale/LocaleInformation_de_CH.properties, - resource/gnu/java/locale/LocaleInformation_dz.properties, - resource/gnu/java/locale/LocaleInformation_en.properties, - resource/gnu/java/locale/LocaleInformation_eo.properties, - resource/gnu/java/locale/LocaleInformation_es.properties, - resource/gnu/java/locale/LocaleInformation_et.properties, - resource/gnu/java/locale/LocaleInformation_eu.properties, - resource/gnu/java/locale/LocaleInformation_fa.properties, - resource/gnu/java/locale/LocaleInformation_fa_AF.properties, - resource/gnu/java/locale/LocaleInformation_fi.properties, - resource/gnu/java/locale/LocaleInformation_fo.properties, - resource/gnu/java/locale/LocaleInformation_fr.properties, - resource/gnu/java/locale/LocaleInformation_ga.properties, - resource/gnu/java/locale/LocaleInformation_gl.properties, - resource/gnu/java/locale/LocaleInformation_gu.properties, - resource/gnu/java/locale/LocaleInformation_he.properties, - resource/gnu/java/locale/LocaleInformation_hi.properties, - resource/gnu/java/locale/LocaleInformation_hr.properties, - resource/gnu/java/locale/LocaleInformation_hu.properties, - resource/gnu/java/locale/LocaleInformation_hy.properties, - resource/gnu/java/locale/LocaleInformation_id.properties, - resource/gnu/java/locale/LocaleInformation_is.properties, - resource/gnu/java/locale/LocaleInformation_it.properties, - resource/gnu/java/locale/LocaleInformation_ja.properties, - resource/gnu/java/locale/LocaleInformation_ka.properties, - resource/gnu/java/locale/LocaleInformation_km.properties, - resource/gnu/java/locale/LocaleInformation_ko.properties, - resource/gnu/java/locale/LocaleInformation_lo.properties, - resource/gnu/java/locale/LocaleInformation_lt.properties, - resource/gnu/java/locale/LocaleInformation_lv.properties, - resource/gnu/java/locale/LocaleInformation_mk.properties, - resource/gnu/java/locale/LocaleInformation_mr.properties, - resource/gnu/java/locale/LocaleInformation_ms.properties, - resource/gnu/java/locale/LocaleInformation_mt.properties, - resource/gnu/java/locale/LocaleInformation_nb.properties, - resource/gnu/java/locale/LocaleInformation_nl.properties, - resource/gnu/java/locale/LocaleInformation_nn.properties, - resource/gnu/java/locale/LocaleInformation_om.properties, - resource/gnu/java/locale/LocaleInformation_pl.properties, - resource/gnu/java/locale/LocaleInformation_ps.properties, - resource/gnu/java/locale/LocaleInformation_pt.properties, - resource/gnu/java/locale/LocaleInformation_pt_PT.properties, - resource/gnu/java/locale/LocaleInformation_ro.properties, - resource/gnu/java/locale/LocaleInformation_ru.properties, - resource/gnu/java/locale/LocaleInformation_sk.properties, - resource/gnu/java/locale/LocaleInformation_sl.properties, - resource/gnu/java/locale/LocaleInformation_so.properties, - resource/gnu/java/locale/LocaleInformation_sq.properties, - resource/gnu/java/locale/LocaleInformation_sr.properties, - resource/gnu/java/locale/LocaleInformation_sr_Latn.properties, - resource/gnu/java/locale/LocaleInformation_sv.properties, - resource/gnu/java/locale/LocaleInformation_sw.properties, - resource/gnu/java/locale/LocaleInformation_ta.properties, - resource/gnu/java/locale/LocaleInformation_te.properties, - resource/gnu/java/locale/LocaleInformation_th.properties, - resource/gnu/java/locale/LocaleInformation_tr.properties, - resource/gnu/java/locale/LocaleInformation_uk.properties, - resource/gnu/java/locale/LocaleInformation_uz.properties, - resource/gnu/java/locale/LocaleInformation_vi.properties, - resource/gnu/java/locale/LocaleInformation_zh.properties, - resource/gnu/java/locale/LocaleInformation_zh_Hant.properties: - Updated to use the new localized strings for currencies, languages, - variants, territories, etc. - -2006-03-18 Ito Kazumitsu - - * gnu/regexp/REMatch.java(matchedCharIndexed): New field, - (start, end): Added comment about the negative values of them, - (finish): Saves the input text in matchedCharIndexed, - (toString): If the start or end index is out of bounds of the - matched text, get the substring from matchedCharIndexed. - Added special handlings in case start/end index < -1, - (getSubStartIndex, getStartIndex, getSubEndIndex, getEndIndex): - Added special handlings in case start/end index < -1, - * gnu/regexp/RETokenLookAhead.java(matchThis): Return the newly - found match, but keep the index as the original match. - * gnu/regexp/RETokenLookBehind.java(matchThis): Return the newly - found match, but keep the index as the original match. - * gnu/regexp/RETokenBackRef.java(matchThis): Added special handlings - in case start/end index < -1. - -2006-03-17 Audrius Meskauskas - - * gnu/java/rmi/activation/ActivationSystemTransient.java (debug): - Set to false. - -2006-03-17 Robert Schuster - - * javax/swing/text/DefaultCaret.java: - (mouseClicked) Use setDot() and moveDot() instead of - JTextComponent.select(). - -2006-03-17 Roman Kennke - - * javax/swing/plaf/metal/MetalComboBoxEditor.java - (MetalComboBoxEditorBorder.paintBorder): Implemented special - border painting for the Ocean theme. - (MetalComboBoxEditor): Create editor directly instead of going - to super. - -2006-03-17 Roman Kennke - - * javax/swing/text/JTextComponent.java - (JTextComponent): Make text components opaque. - -2006-03-17 Roman Kennke - - * javax/swing/plaf/metal/MetalComboBoxUI.java - (MetalComboBoxLayoutManager.layoutContainer): Forward to - layoutComboBox(). - (MetalPropertyChangeListener.propertyChange): Update focusable - flag according to the enable and editable state. - (editablePropertyChanged): Removed unnecessary code. - (getMinimumSize): Rewritten to correctly compute the - size, respecting the insets of the components and the icon, - the visual properties of the combobox, etc. - (configureEditor): Update listeners correctly. - (unconfigureEditor): Update listeners correctly. - (layoutComboBox): Implemented. - -2006-03-17 Roman Kennke - - * javax/swing/plaf/metal/MetalComboBoxEditor.java - (MetalComboBoxEditorBorder): Made this a subclass of AbstractBorder - instead of Flush3DBorder. - (paintBorder): Fixed border painting. - (editorBorderInsets): Fixed border's insets. - -2006-03-17 Roman Kennke - - * javax/swing/plaf/metal/MetalComboBoxButton.java - (rendererPane): Documented. - (MetalComboBoxButton): Set enabled flag from ComboBox. - Set focusable flag from ComboBox's enabled flag. - (isFocusTraversable): Make button focus traversable if - ComboBox is not editable but enable. - (paintComponent): Fixed painting to correctly adjust - the boxes of the renderer and button. - -2006-03-17 Roman Kennke - - * javax/swing/plaf/basic/BasicButtonUI.java - (installDefaults): Only install UI margin if installed margin. - is null or a UIResource. - (uninstallDefaults): Only uninstall margin if it's - a UIResource. - - 2006-03-17 Robert Schuster - - * javax/swing/text/DefaultCaret.java: - (mouseClicked) Use setDot() and moveDot() instead of - JTextComponent.select(). - -2006-03-17 Robert Schuster - - * javax/swing/text/DefaultEditorKit.java: Refactored anonymous - inner classes into package-private inner classes, added actions - for caret movement and selection to the next and previous word - and an action which selects the whole text. - -2006-03-17 Thomas Fitzsimmons - - * javax/swing/Spring.java: Uncomment springdebug methods and - rename them toString. - * javax/swing/SpringLayout.java: Likewise. - -2006-03-17 Robert Schuster - - * javax/swing/text/FieldView.java: - (viewToModel): Added call to adjust allocation area. - -2006-03-17 Roman Kennke - - * javax/swing/plaf/basic/BasicComboBoxUI.java - (mouseListener): Removed field. - (buttonBackground): Removed field. - (buttonShadow): Removed field. - (buttonDarkShadow): Removed field. - (buttonHighlight): Removed field. - (BasicComboBoxUI): Initialize currentValuePane and cachedMinimumSize. - (installUI): Initialize and configure renderer and editor here. - (uninstallUI): Close popup before uninitializing. - Message popup that we are uninitializing. Clear layout. - (installDefaults): Install UI border. Don't install colors. - (installListeners): Install listeners fetched from the popup. - Remove handling of mouseListener. - (uninstallDefaults): Uninstall border. Don't handle colors. - (uninstallListeners): Don't handle mouseListener. Uninstall - listener from the popup. - (createMouseListener): Removed method. - (createRenderer): Create UIResource. - (installComponents): Cleaned up. - (uninstallComponents): Only remove renderer when it is - a UIResource. - (addEditor): Remove editor before adding new one. - Fetch editor from comboBox. - (removeEditor): Only do something when editor != null. Unconfigure - editor before removing. - (configureEditor): Add key listener. Call comboBox.configureEditor. - (unconfigureEditor): Removed key listener. - (configureArrowButton): Only handle when arrowButton != null. - Add mouse listeners to arrow button. - (unconfigureArrowButton): Remove listeners. - (createArrowButton): Don't handle colors here. - (setPopupVisible): Don't handle focus here. - (paint): Only paint when comboBox is not editable. Update - hasFocus flag. - (getPreferredSize): Implemented to be minimumSize + 4 pixels width. - (getMinimumSize): Respect insets here. - (getMaximumSize): Return preferredSize with width of 32767. - (getInsets): Return ComboBox insets. - (paintCurrentValue): Paint using currentValuePane. - Install correct colors. Don't revalidate. - (paintCurrentValueBackground): Implemented. - (getDefaultSize): Reimplemented using a default renderer. - (getDisplaySize): Reimplemented to use renderer. - (ComboBoxLayoutManager.preferredLayoutSize): Forward to component. - (ComboBoxLayoutManager.minimumLayoutSize): Forward to component. - (ComboBoxLayoutManager.layoutContainer): Fixed layout. - (FocusHandler.focusGained): Don't invalidate minimumSize. - (FocusHandler.focusLost): Don't invalidate minimumSize. - Only close popup if focus change is not temporary. - (ItemHandler.itemStateChanged): Don't invalidate minimumSize. - Reconfigure editor if not null. - (ListDataHandler.contentsChanged): Revalidate and reconfigure - editor if necessary. - (ListDataHandler.intervalAdded): Fixed updating of the display size. - (ListDataHandler.intervalRemoved): Forward to contentsChanged. - (MouseHandler): Removed unnecessary class. - -2006-03-17 Robert Schuster - - * examples/gnu/classpath/examples/swing/Demo.java: - (Demo): Set default closing operation to shutdown the runtime. - -2006-03-17 Roman Kennke - - * javax/swing/plaf/basic/BasicComboPopup.java - (BasicComboPopup): Create listeners here. - Configure components here. - (show): Correctly calculate bounds using computePopupBounds(). - Make scroller fixed-size. Removed special autocloser handling. - (hide): Rewritten to use MenuSelectionHandler. - (createList): Don't set selection mode here. - (configureList): Correctly install colors and fonts and selectionMode. - (createScroller): Set scrollpane policies. - (configureScroller): Make scroller and scrollbar not-focusable. - (configurePopup): Make popup opaque and borderPainted. - (installComboBoxListeners): Don't install mouse listener on ComboBox. - (delegateFocus): Implemented. - (convertMouseEvent): Implemented. - (updateListBoxSelectionForEvent): Implemented to also handle - autoscrolling. - (InvocationMouseHandler.mousePressed): Delegate focus correctly. - Only open popup on left mouse-click. - (InvocationMouseHandler.mouseReleased): Rewritten. - (InvocationMouseMotionHandler.mouseDragged): Rewritten to better - support autoscrolling. - (ItemHandler.itemStateChanged): Implemented to sync selection with - the comboBox. - (ListMouseHandler.mouseReleased): Fetch selected index directly - from list. - (ListMouseMotionHandler.mouseMoved): Only update when mouse is inside - the list box. - (PropertyChangeHandler.propertyChange): Don't revalidate/repaint here. - When model changes, then update listeners correctly. - (uninstallListeners): Don't uninstall list listeners. - (uninstallComboBoxListeners): Don't uninstall mouse listeners - from comboBox. - (syncSelection): New helper method. - -2006-03-17 Robert Schuster - - * javax/swing/text/PlainView.java: - (drawLine): Rewritten. - (drawSelectedText): Corrected last argument for - Utilities.drawTabbedText() call. - (paint): Store start and end of selection in object variables, - store constant values of for-loop in local variables. - * javax/swing/text/Utilities.java: - (drawTabbedText): Add 'pixelWidth' to the return value, store - constant value of for-loop in local variable. - -2006-03-17 Roman Kennke - - * javax/swing/plaf/basic/BasicComboPopup.java - (BasicComboPopup): Create listeners here. - Configure components here. - (show): Correctly calculate bounds using computePopupBounds(). - Make scroller fixed-size. Removed special autocloser handling. - (hide): Rewritten to use MenuSelectionHandler. - (createList): Don't set selection mode here. - (configureList): Correctly install colors and fonts and selectionMode. - (createScroller): Set scrollpane policies. - (configureScroller): Make scroller and scrollbar not-focusable. - (configurePopup): Make popup opaque and borderPainted. - (installComboBoxListeners): Don't install mouse listener on ComboBox. - (delegateFocus): Implemented. - (convertMouseEvent): Implemented. - (updateListBoxSelectionForEvent): Implemented to also handle - autoscrolling. - (InvocationMouseHandler.mousePressed): Delegate focus correctly. - Only open popup on left mouse-click. - (InvocationMouseHandler.mouseReleased): Rewritten. - (InvocationMouseMotionHandler.mouseDragged): Rewritten to better - support autoscrolling. - (ItemHandler.itemStateChanged): Implemented to sync selection with - the comboBox. - (ListMouseHandler.mouseReleased): Fetch selected index directly - from list. - (ListMouseMotionHandler.mouseMoved): Only update when mouse is inside - the list box. - (PropertyChangeHandler.propertyChange): Don't revalidate/repaint here. - When model changes, then update listeners correctly. - (uninstallListeners): Don't uninstall list listeners. - (uninstallComboBoxListeners): Don't uninstall mouse listeners - from comboBox. - (syncSelection): New helper method. - -2006-03-17 Roman Kennke - - * javax/swing/plaf/basic/BasicComboBoxRenderer.java - (noFocusBorder): Make border with insets of (1,1,1,1). - (BasicComboBoxRenderer): Make renderer opaque. - No need to explicitly set alignment. - (getListCellRendererComponent): Rewritten to correctly initialize - color and font. - -2006-03-17 Roman Kennke - - * javax/swing/JPopupMenu.java - (setVisible): Handle JPopupMenu opening and closing via - the MenuSelectionHandler. - -2006-03-17 Wolfgang Baer - - * org/omg/DynamicAny/DynAnyPackage/InvalidValue.java: Now final. - * org/omg/DynamicAny/DynAnyPackage/TypeMismatch.java: Likewise. - * org/omg/DynamicAny/DynAnyFactoryPackage/InconsistentTypeCode.java: - Likewise. - * org/omg/CORBA/portable/RemarshalException.java: Likewise - * org/omg/CORBA/TypeCodePackage/BadKind.java: Likewise. - * org/omg/CORBA/TypeCodePackage/Bounds.java: Likewise. - * org/omg/CORBA/ORBPackage/InvalidName.java: Likewise. - * org/omg/CORBA/ORBPackage/InconsistentTypeCode.java: Likewise. - * org/omg/CORBA/DynAnyPackage/TypeMismatch.java: Likewise. - * org/omg/CORBA/DynAnyPackage/InvalidValue.java: Likewise. - * org/omg/CORBA/DynAnyPackage/InvalidSeq.java: Likewise. - * org/omg/CORBA/DynAnyPackage/Invalid.java: Likewise. - * org/omg/Dynamic/Parameter.java: Now final, javadoc fixes. - -2006-03-17 Audrius Meskauskas - - * java/rmi/activation/Activatable.java: Implemented. - java/rmi/activation/ActivationDesc.java: Implemented. - java/rmi/activation/ActivationGroup.java: Implemented. - java/rmi/activation/ActivationGroupDesc.java: Implemented. - java/rmi/activation/ActivationID.java: Implemented. - java/rmi/activation/ActivationSystem.java: Implemented. - * gnu/java/rmi/server/UnicastServerRef.java - (exportObject, incommingMessageCall): Documented. - * java/rmi/activation/package.html: Documented. - * java/rmi/server/ObjID.java (objNum, space): Made package - protected. - * gnu/java/rmi/server/UnicastServer.java: Rewritten. - * gnu/java/rmi/server/CombinedClassLoader.java (constructor): - Iteration bug fix. - * gnu/java/rmi/activation/ActivationSystemTransient.java: New file. - gnu/java/rmi/activation/BidiTable.java: New file. - gnu/java/rmi/activation/DefaultActivationGroup.java: New file. - gnu/java/rmi/activation/DefaultActivationSystem.java: New file. - gnu/java/rmi/server/ActivatableServerRef.java: New file. - -2006-03-17 Mark Wielaard - - * java/security/BasicPermission.java (BasicPermission): Check - name equals empty string to force NullPointerException. - -2006-03-16 Thomas Fitzsimmons - - PR classpath/26606 - Commit patch by Caolan McNamara - * javax/swing/Spring.java: Complete implementation - * javax/swing/SpringLayout.java: Likewise. - -2006-03-16 Keith Seitz - - * gnu/classpath/jdwp/Jdwp.java (_mainThread): Not needed. Removed - all references. - (run): Remove catch clause for InterruptedException. It is no - longer necessary. - -2006-03-16 Thomas Fitzsimmons - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c - (getFontMetrics): Handle monospaced fonts specially. - -2006-03-16 Keith Seitz - - * gnu/classpath/jdwp/Jdwp.java (getJdwpThreadGroup): New method. - * vm/reference/gnu/classpath/jdwp/VMVirtualMachine.java - (suspendAllThreads): Use Jdwp.getJdwpThreadGroup. - Don't suspend the current thread unless it is not part of the JDWP - thread group. - -2006-03-16 Thomas Fitzsimmons - - * gnu/java/awt/peer/gtk/GdkFontMetrics.java (getLeading): Always - return 0. - * gnu/java/awt/peer/gtk/GdkFontPeer.java (getFontMetrics): Get - font metrics through toolkit. - * gnu/java/awt/peer/gtk/GdkGraphics.java (getFontMetrics): - Likewise. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c - (getFontMetrics): To calculate Java logical ascent and descent - values, average Pango ink and logical values. - -2006-03-16 Anthony Balkissoon - - * java/lang/Character.java: Updated header comment. - -2006-03-16 Tom Tromey - - * javax/sound/sampled/AudioSystem.java (getAudioFileFormat): New - constructor. - * javax/sound/sampled/FloatControl.java: Now abstract. - * javax/sound/sampled/EnumControl.java: Now abstract. - * javax/sound/sampled/CompoundControl.java: Now abstract. - * javax/sound/sampled/BooleanControl.java: Now abstract. - -2006-03-16 Tom Tromey - - * java/awt/image/ConvolveOp.java (getBounds2D): Now final. - -2006-03-16 Roman Kennke - - * java/util/zip/ZipFile.java - (openFile): New helper method. - (ZipFile): Use new openFile method to ensure the proper - exception is thrown. This applies for all overloaded constructors. - -2006-03-16 Roman Kennke - - * java/text/DateFormatSymbols.java - (setAmPmStrings): Added null check and throw NPE. - (setEras): Likewise. - (setLocalPatternChars): Likewise. - (setMonths): Likewise. - (setShortMonths): Likewise. - (setShortWeekdays): Likewise. - (setWeekdays): Likewise. - (setZoneStrings): Likewise. - -2006-03-16 Roman Kennke - - * javax/swing/DefaultDesktopManager.java - (iconifyFrame): Repaint after removing the frame. - (removeIconFor): Repaint after removing the icon. - -2006-03-16 Roman Kennke - - * javax/swing/JInternalFrame.java - (remove): Respect the rootPaneCheckingEnabled flag here. - -2006-03-16 Roman Kennke - - * gnu/javax/swing/plaf/gnu/GNULookAndFeel.java - Moved from examples into gnu.javax.swing.. namespace. - * examples/gnu/classpath/examples/swing/GNULookAndFeel.java - Moved to gnu.javax.swing.. namespace. - * examples/gnu/classpath/examples/swing/Demo.java: - (themesMenu): New field. Used to disable theme switch in - non-Metal-L&Fs. - (mkMenuBar): Added L&F menu. - (ChangeThemeAction.actionPerformed): Only switch theme when - in Metal L&F. - (ChangeLAFAction): New class used for changing themes. - * javax/swing/UIManager.java - (installed): Added GNU L&F as installed L&F. - -2006-03-16 Mark Wielaard - - * examples/gnu/classpath/examples/swing/badge.png: Removed. - * examples/gnu/classpath/examples/icons/badge.png: Added. - * examples/gnu/classpath/examples/swing/DemoDesktop.java: Use badge - from icon directory. - -2006-03-15 Thomas Fitzsimmons - - * examples/gnu/classpath/examples/awt/AnimationApplet.java: New - example. - * examples/gnu/classpath/examples/swing/FillRect.java: Likewise. - * examples/gnu/classpath/examples/awt/Demo.java: Add - AnimationApplet demo. - * examples/gnu/classpath/examples/swing/Demo.java: Add FillRect - demo. - -2006-03-15 Thomas Fitzsimmons - - PR classpath/26486 - * gnu/java/awt/peer/gtk/GtkCanvasPeer.java (getGraphics): Remove - method. - (handleEvent): Likewise. - * gnu/java/awt/peer/gtk/GtkComponentPeer.java (isInRepaint): - Remove field. - (beginNativeRepaint): Remove method. - (endNativeRepaint): Likewise. - (handleEvent): Call paintComponent and updateComponent. - (paintComponent): New method. - (updateComponent): Likewise. - (repaint): Return early if width or height is less than one. - (postExposeEvent): Remove isInRepaint reference. - * gnu/java/awt/peer/gtk/GtkContainerPeer.java: (getGraphics): - Remove method. - * gnu/java/awt/peer/gtk/GtkDialogPeer.java (getGraphics): Inherit - from GtkWindowPeer. - (postMouseEvent): Likewise. - (postExposeEvent): Likewise. - * gnu/java/awt/peer/gtk/GtkFileDialogPeer.java (updateComponent): - Override to do nothing. - * gnu/java/awt/peer/gtk/GtkFramePeer.java (getGraphics): Inherit - from GtkWindowPeer. - (postMouseEvent): Likewise. - (postExposeEvent): Likewise. - * gnu/java/awt/peer/gtk/GtkPanelPeer.java (handleEvent): Inherit - paint and update handling from GtkComponentPeer. - (updateComponent): Override to call paintComponent. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c: Replace - gdk_flush calls with schedule_flush calls. - (flush): New function. - (schedule_flush): Likewise. - -2006-03-15 Tom Tromey - - * java/beans/beancontext/BeanContextSupport.java (BCSChild): New - constructor. - (BCSIterator): Likewise. - * java/beans/beancontext/BeanContextServicesSupport.java (BCSSChild): - New constructor. - (BCSSProxyServiceProvider): Likewise. - (BCSSServiceProvider): Likewise. - -2006-03-15 Tom Tromey - - * javax/sound/midi/Track.java (Track): New constructor. - (events): Now package-private. - * javax/sound/midi/MidiUnavailableException.java - (MidiUnavailableException): Removed invalid constructors. - * javax/sound/midi/MidiSystem.java (MidiSystem): New constructor. - * javax/sound/midi/InvalidMidiDataException.java - (InvalidMidiDataException): Removed invalid constructors. - * javax/sound/midi/Sequencer.java (hashCode): Now final. - * javax/sound/midi/SysexMessage.java (SysexMessage): Now protected. - * javax/sound/midi/ShortMessage.java (ShortMessage): Now protected. - (SYSTEM_EXCLUSIVE): Removed. - (getDataLength): Updated. - * javax/sound/midi/MidiDevice.java (Info): Now protected. - (equals): Now final - (getName): Now final. - (getVendor): Now final. - (getDescription): Likewise. - (hashCode): Likewise. - (getVersion): Likewise. - (toString): Likewise. - * javax/sound/midi/MetaMessage.java (MetaMessage): Now protected. - * javax/sound/sampled/ReverbType.java (getDecayTime): Now final. - (getEarlyReflectionDelay): Likewise. - (getEarlyReflectionIntensity): Likewise. - (getLateReflectionDelay): Likewise. - (getLateReflectionIntensity): Likewise. - (toString): Likewise. - * javax/sound/sampled/Port.java (toString): Now final. - * javax/sound/sampled/LineEvent.java (getFramePosition): Now final. - (getLine): Likewise. - (getType): Likewise. - * javax/sound/sampled/Mixer.java (Info): Now protected. - (getDescription): Now final. - (getName): Likewise. - (getVendor): Likewise. - (getVersion): Likewise. - (toString): Likewise. - * javax/sound/sampled/Control.java: Now abstract. - (Type.toString): Now final. - -2006-03-15 Keith Seitz - - * gnu/classpath/jdwp/util/LineTable.java (lines): Remove all occurances - of this redundant variable. - (LineTable): Assert that the number of line numbers and the number of - code indicies is the same. - -2006-03-15 Tom Tromey - - * javax/imageio/stream/ImageOutputStreamImpl.java (flushBits): Now - final. - * javax/imageio/stream/ImageOutputStream.java (flushBefore): Javadoc - fix. - * java/util/zip/ZipFile.java (ENDNRD): New constant. - * java/util/zip/ZipConstants.java (ENDNRD, ENDDCD): Removed. - * java/util/zip/Inflater.java (end): Not deprecated. - * java/util/zip/Deflater.java (end): Not deprecated. - * java/text/Bidi.java (Bidi): Now final. - * java/nio/MappedByteBuffer.java (finalize): Now protected. - -2006-03-15 Keith Seitz - - * gnu/classpath/jdwp/util/Location.java: Rewrite using VMMethod. - (Location): Index is a long, not an int. - (getMethod): New method. - (getIndex): New method. - (toString): New method. - -2006-03-15 Tom Tromey - - * java/awt/image/RescaleOp.java (getRenderingHints): Now final. - * java/awt/image/LookupOp.java (filter): Now final. - (getBounds2D): Likewise. - (getPoint2D): Likewise. - (getTable): Likewise. - (getRenderingHints): Likewise. - * java/awt/image/ConvolveOp.java (filter): Now final. - (getBounds2D): Likewise. - (getKernel): Likewise. - (getPoint2D): Likewise. - (getRenderingHints): Likewise. - * java/awt/image/BandCombineOp.java (getPoint2D): Now final. - (getMatrix): Likewise. - (getBounds2D): Likewise. - (getRenderingHints): Likewise. - * java/awt/image/AffineTransformOp.java (getPoint2D): Now final. - * java/awt/Button.java (AccessibleAWTButton.serialVersionUID): Now - private. - * java/awt/dnd/DropTargetContext.java (TransferableProxy): Now - protected. - * java/awt/dnd/DropTarget.java (DropTargetAutoScroller): Now - protected. - * java/awt/MenuItem.java (AccessibleAWTMenuItem): Now protected. - -2006-03-15 Keith Seitz - - * gnu/classpath/jdwp/event/filters/LocationOnlyFilter.java: - Update javadoc. - (matches): Implement. - -2006-03-15 Keith Seitz - - * gnu/classpath/jdwp/event/BreakpointEvent.java: New file. - - * gnu/classpath/jdwp/exception/NativeMethodException.java: New file. - -2006-03-15 Tom Tromey - - * java/lang/StrictMath.java (signum): New methods. - -2006-03-15 Tom Tromey - - * .settings/org.eclipse.jdt.core.prefs: Set tabs to 8 spaces. - -2006-03-15 Lillian Angel - - PR classpath/24211 - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c - (Java_gnu_java_awt_peer_gtk_GdkGraphics2D_cairoSurfaceSetFilterUnlocked): - Added check to avoid segmentation fault. - -2006-03-15 Lillian Angel - - * java/awt/Container.java - (getComponentAt): Fixed documentation. - (getComponentAt): Likewise. - -2006-03-15 Roman Kennke - - * javax/swing/JComponent.java - (dragBuffer): New field. - (dragBufferInitialized): New field. - (paint): Added facility for buffered dragging of components. - (initializeDragBuffer): New method. - (getConditionForKeyStroke): Removed deprecated flag. Adjusted - API docs. - * javax/swing/plaf/basic/BasicInternalFrameUI.java - (BorderListener.mouseDragged): Turn on buffered dragging. - (BorderListener.mouseReleased): Turn off buffered dragging. - -2006-03-15 Lillian Angel - - * java/awt/Container.java - (getComponentAt): Fixed documentation. - (getComponentAt): Likewise. - (findComponentAt): Likewise. - (findComponentAt): Likewise. - -2006-03-15 Roman Kennke - - * javax/swing/plaf/basic/BasicInternalFrameTitlePane.java - (PropertyChangeHandler.propertyChange): Call enableActions(). - Fixed 'iconable' property name. - -2006-03-15 Chris Burdess - - Fixes PR 26700 - * gnu/xml/stream/XMLParser.java: Fix for detectEncoding false positive. - -2006-03-15 Roman Kennke - - * examples/gnu/classpath/examples/swing/Demo.java: - (desktop): New field. - (mkMenuBar): Added new subdemos. - (mkButtonWorld): Removed. - (CheckCellRenderer): Moved to ListDemo. - (LabelCellRenderer): Moved to ListDemo. - (mkTreeWorld): Moved to TreeDemo. - (mkDesktopWorld): Removed. - (mkTabWorld): Moved to TabbedPaneDemo. - (mkTabbedPane): Removed. - (Demo): Replaced 'worlds' tabbed pane with desktop. - (PopupAction): Made class non-static. - (PopupAction.actionPerformed): Bring up subdemos in internal - frame. - (mkButtonBar): Added new demos. - (createDesktop): New method. - * examples/gnu/classpath/examples/swing/DemoDesktop.java: New class. - * examples/gnu/classpath/examples/swing/ListDemo.java: New demo. - * examples/gnu/classpath/examples/swing/TreeDemo.java: New demo. - * examples/gnu/classpath/examples/swing/TabbedPaneDemo.java: New demo. - * examples/gnu/classpath/examples/swing/badge.png: New image file. - -2006-03-15 Lillian Angel - - * java/awt/Container.java - (getComponentAt): Fixed mistake in comments. - (getComponentAt): Likewise. - (locate): Likewise. Also, handled lightweight components. - Heavyweights take precedence over lightweights, so we should - iterate through the heavyweights first. - -2006-03-15 Lillian Angel - - * java/awt/Container.java - (getComponentAt): Added API documentation. - (getComponentAt): Likewise. - (locate): Likewise. Also, removed lines to ignore - invisible components. - (findComponentAt): Added API documentation. - (findComponentAt): Added API documentation. - (findComponentForMouseEvent): Removed, never used. - -2006-03-15 Roman Kennke - - * javax/swing/Popup.java - (LightweightPopup.show): Repaint the panel after showing it. - -2006-03-15 Lillian Angel - - * java/awt/Component.java - (show): repaint should only be called if the component - isShowing and isLightweight. - -2006-03-15 Roman Kennke - - * javax/swing/JInternalFrame.java - (setClosable): Made this property bound. - (setResizable): Made this property bound. - (setIconifiable): Made this property bound. - (setMaximizable): Made this property bound. - -2006-03-15 David Gilbert - - * javax/swing/table/TableColumn.java - (sizeWidthToFit): Implemented. - -2006-03-15 David Gilbert - - * javax/swing/table/TableColumn.java: API docs updated all over, plus - (setIdentifier): Fire required PropertyChangeEvent, - (setCellEditor): Likewise. - -2006-03-15 Roman Kennke - - * examples/gnu/classpath/examples/swing/ButtonDemo.java, - * examples/gnu/classpath/examples/swing/ComboBoxDemo.java, - * examples/gnu/classpath/examples/swing/FileChooserDemo.java, - * examples/gnu/classpath/examples/swing/ProgressBarDemo.java, - * examples/gnu/classpath/examples/swing/ScrollBarDemo.java, - * examples/gnu/classpath/examples/swing/SliderDemo.java, - * examples/gnu/classpath/examples/swing/SpinnerDemo.java, - * examples/gnu/classpath/examples/swing/TableDemo.java, - * examples/gnu/classpath/examples/swing/TextAreaDemo.java, - * examples/gnu/classpath/examples/swing/TextFieldDemo.java: - Reworked to implemented DemoFactory and lazy loading of Sub-demos. - * examples/gnu/classpath/examples/swing/Demo.java: - Cleaned up. Reworked handling of Sub-demos to load lazily. - * examples/gnu/classpath/examples/swing/DemoFactory.java: - New interface. Used for loading the subdemos lazily. - -2006-03-15 Roman Kennke - - * javax/swing/plaf/basic/BasicToolBarUI.java - (PropertyListener.propertyChange): Added null check to avoid NPE. - -2006-03-14 David Gilbert - - * javax/swing/table/TableColumn.java - (COLUMN_WIDTH_PROPERTY): Updated API docs, - (width): Likewise. - (minWidth): Likewise, - (preferredWidth): Likewise, - (maxWidth): Likewise, - (headerRenderer): Likewise, - (cellRenderer): Likewise, - (cellEditor): Likewise, - (changeSupport): Likewise, - (firePropertyChange(String, Object, Object)): Removed, - (firePropertyChange(String, int. int)): Likewise, - (firePropertyChange(String, boolean, boolean)): Likewise, - (setModelIndex): Fire property change, - (setHeaderValue): Call changeSupport directly to generate event, - (setHeaderRenderer): Likewise, - (setCellRenderer): Likewise, - (setWidth): Likewise, - (setPreferredWidth): Likewise, - (setMinWidth): Likewise, - (setMaxWidth): Likewise, - (createDefaultHeaderRenderer): Added API docs. - -2006-03-14 Roman Kennke - - * examples/gnu/classpath/examples/swing/Demo.java - Removed static initializer. - (mkMenuBar): Made method non-static. Added themes menu. - (ChangeThemeAction): New inner class, used to change themes. - -2006-03-14 David Gilbert - - * javax/swing/table/TableColumn.java - (setMaxWidth): Updated width and preferredWidth if necessary, - (getMaxWidth): Updated API docs. - -2006-03-14 Roman Kennke - - * javax/swing/plaf/basic/BasicSliderUI.java - (TrackListener.mouseDragged): Only process event when slider is - enabled. - (TrackListener.mouseReleased): Only process event when slider is - enabled. - (TrackListener.mousePressed): Only process event when slider is - enabled. - -2006-03-14 Roman Kennke - - * NEWS: Added note about OceanTheme support. - -2006-03-14 Roman Kennke - - * javax/swing/plaf/metal/MetalIconFactory.java - (HorizontalSliderThumbIcon.gradientMask): New field - (HorizontalSliderThumbIcon.paintIcon): Added support for the - OceanTheme. - (VerticalSliderThumbIcon.gradientMask): New field - (VerticalSliderThumbIcon.paintIcon): Added support for the - OceanTheme. - * javax/swing/plaf/metal/MetalUtils.java - (paintHorizontalGradient): Fixed painting of 'masked' gradients. - (paintVerticalGradient): Fixed painting of 'masked' gradients. - -2006-03-14 Mark Wielaard - - Fixes bug #26641 - * java/awt/LightweightDispatcher.java (dispatchEvent): Return result - of handleMouseEvent. - (handleMouseEvent): Return boolean to indicate whether we handled the - event by passing it to a lightweight. - -2006-03-14 Wolfgang Baer - - * org/omg/PortableInterceptor/ORBInitInfoPackage/ObjectIdHelper.java, - * org/omg/PortableServer/ServantActivatorPOA.java, - * org/omg/PortableServer/ServantLocatorPOA.java: - Make class abstract and minor api docs fixlets. - * org/omg/PortableServer/ForwardRequest.java, - * org/omg/PortableServer/ServantLocatorPackage/CookieHolder.java, - * org/omg/PortableServer/POAPackage/AdapterAlreadyExists.java, - * org/omg/PortableServer/POAPackage/AdapterNonExistent.java, - * org/omg/PortableServer/POAPackage/InvalidPolicy.java, - * org/omg/PortableServer/POAPackage/NoServant.java, - * org/omg/PortableServer/POAPackage/ObjectAlreadyActive.java, - * org/omg/PortableServer/POAPackage/ObjectNotActive.java, - * org/omg/PortableServer/POAPackage/ServantAlreadyActive.java, - * org/omg/PortableServer/POAPackage/ServantNotActive.java, - * org/omg/PortableServer/POAPackage/WrongAdapter.java, - * org/omg/PortableServer/POAPackage/WrongPolicy.java, - * org/omg/PortableServer/POAManagerPackage/AdapterInactive.java, - * org/omg/PortableInterceptor/ORBInitInfoPackage/InvalidName.java, - * org/omg/PortableInterceptor/ORBInitInfoPackage/DuplicateName.java, - * org/omg/PortableServer/CurrentPackage/NoContext.java: Make class final. - -2006-03-14 Wolfgang Baer - - * NEWS: Added entry about printing support. - -2006-03-14 David Gilbert - - * javax/swing/table/TableColumn.java - (COLUMN_WIDTH_PROPERTY): Updated API docs, - (isResizable): Likewise, - (setWidth): Likewise, - (getWidth): Likewise, - (setPreferredWidth): Likewise, - (getPreferredWidth): Likewise, - (setMinWidth): Check for negative argument and update width and - preferredWidth if necessary, - (getMinWidth): Updated API docs. - -2006-03-14 Lillian Angel - - * java/awt/Container.java - (addImpl): Removed call to repaint. No need to repaint here. - -2006-03-14 Roman Kennke - - * javax/swing/plaf/metal/MetalSliderUI.java - (paintTrack): Added OceanTheme support. - -2006-03-14 David Gilbert - - * javax/swing/table/TableColumn.java - (setResizable): Fire PropertyChangeEvent if the flag value changes, - (isResizable): Updated API docs. - -2006-03-14 David Gilbert - - * javax/swing/LookAndFeel.java: Updated API docs. - -2006-03-14 Roman Kennke - - * javax/swing/plaf/metal/MetalUtils.java - (paintGradient): Added support for 'masked' gradients. - (paintHorizontalGradient): Likewise. - (paintVerticalGradient): Likewise. - * javax/swing/plaf/metal/MetalIconFactory.java - (RadioButtonIcon.gradientMask): New field. - (RadioButtonIcon.paintIcon): Added mask for gradient painting. - -2006-03-14 Mark Wielaard - - Fixes bug #26645. - * javax/swing/plaf/basic/BasicComboBoxEditor.java (listener): - New field. - (removeActionListener): Add listener to ComboBoxEditorListener. - (removeActionListener): Remove listener from ComboBoxEditorListener. - (ComboBoxEditorListener): New static helper class. - -2006-03-14 Roman Kennke - - * javax/swing/plaf/metal/MetalBorders.java - (getToolBarButtonBorder): Don't create a UIResource border - here. - * javax/swing/plaf/metal/MetalToolBarUI.java - (installUI): New overridden method. Installs the rollover property. - (uninstallUI): New overridden method. Resets the rollover property. - * javax/swing/plaf/metal/MetalUtils.java - (paintGradient): Fetch Float values from the UIManager. Adjusted - method signatures accordingly. - (paintHorizontalGradient): Adjusted signature to accept float - instead of double. - (paintVerticalGradient): Adjusted signature to accept float - instead of double. - * javax/swing/plaf/metal/OceanTheme.java - (addCustomEntriesToTable): Added missing UIDefaults entries, - except of Icons. Fixed gradient entries to use Float instead - of Double. - -2006-03-14 Roman Kennke - - * javax/swing/JInternalFrame.java - (JInternalFrame): Make JInternalFrame opaque. - * javax/swing/JToolBarFrame.java - (JToolBar): Make JToolBar opaque. - -2006-03-14 David Gilbert - - * javax/swing/tree/TreeNode.java: Fixed bad API doc tags, - * javax/swing/tree/TreePath.java: Likewise. - -2006-03-13 Tom Tromey - - * javax/swing/text/html/StyleSheet.java (removeAttributes): - Genericized. - * javax/swing/plaf/synth/SynthLookAndFeel.java (load): Genericized. - * java/rmi/server/RMIClassLoader.java (loadProxyClass): Genericized. - -2006-03-13 Keith Seitz - - * gnu/classpath/jdwp/processor/ReferenceTypeCommandSet.java - (executeMethods): Output number of methods. - -2006-03-13 Roman Kennke - - * javax/swing/plaf/basic/BasicButtonUI.java - (uninstallDefaults): Only uninstall border if it's a UIResource. - * javax/swing/plaf/basic/BasicInternalFrameTitlePane.java - (SystemMenuBar.isFocusTraversable): Fixed typo in signature. - * javax/swing/plaf/basic/BasicInternalFrameUI.java - (installUI): Don't touch the opaque flag of the glassPane and - the frame. Don't invalidate. - * javax/swing/plaf/basic/BasicInternalFrameUI.java - (installUI): Don't touch the opaque flag of the glassPane. - * javax/swing/plaf/basic/BasicMenuBarUI.java - (properyChangeListener): Made field private. - (ChangeHandler): Made class private. - (ContainerHandler): Made class private. - (PropertyChangeHandler): Made class private. - * javax/swing/plaf/basic/BasicMenuUI.java - (MenuHandler): Made class private. - (PropertyChangeHandler): Removed unneeded class. - (MenuDragMouseHandler): Made class private. - (MenuKeyHandler): Made class private. - * javax/swing/plaf/basic/BasicPanelUI.java - (installDefaults): Made method protected. Don't set opaque - flag. - * javax/swing/plaf/basic/BasicScrollBarUI.java - (TrackListener.shouldScroll): Made method private. - * javax/swing/plaf/basic/BasicSplitPaneUI.java - (BasicHorizontalLayoutManager.BasicHorizontalLayoutManager): - Made constructor package private. - * javax/swing/plaf/basic/BasicTableHeaderUI.java - (cellBorder): Made field private. - * javax/swing/plaf/basic/BasicTextUI.java - (installDefaults): Don't make component opaque. - * javax/swing/plaf/basic/BasicToolBarUI.java - (createNonRollOverBorder): Don't create UIResource border. - (createRollOverBorder): Don't create UIResource border. - (installComponents): Moved setRolloverBorders call here. - (installDefaults): Moved setRolloverBorders call from here. - (installUI): Don't make toolbar opaque. - (setBorderToNonRollover): Handle AbstractButton instead of - JButton here. - (uninstallComponents): Don't nullify class fields here. - -2006-03-13 David Gilbert - - * javax/swing/SwingUtilities.java - (calculateInnerArea): handle null component, and replace - getLocalBounds() with getBounds(Rectangle) to avoid unnecessary object - creation. - -2006-03-13 Roman Kennke - - * javax/swing/JColorChooser.java - (updateUI): Don't call revalidate(). - * javax/swing/JComboBox.java - (updateUI): Don't call invalidate(). - * javax/swing/JDesktopPane.java - (updateUI): Don't call invalidate(). - * javax/swing/JFileChooser.java - (updateUI): Don't call revalidate(). - * javax/swing/JMenu.java - (updateUI): Don't call invalidate(). - * javax/swing/JMenuBar.java - (updateUI): Don't call invalidate(). - * javax/swing/JMenuItem.java - (updateUI): Don't call invalidate(). - * javax/swing/JOptionPane.java - (updateUI): Don't call invalidate(). - * javax/swing/JPopupMenu.java - (updateUI): Don't call invalidate(). - * javax/swing/JProgressBar.java - (updateUI): Don't call invalidate(). - * javax/swing/JScrollBar.java - (updateUI): Don't call invalidate() and repaint(). - * javax/swing/JScrollPane.java - (updateUI): Rewritten to be like the other updateUI() - methods. - * javax/swing/JSlider.java - (updateUI): Don't call invalidate() and repaint(). - * javax/swing/JSplitPane.java - (updateUI): Don't call invalidate() and repaint(). - * javax/swing/JTabbedPane.java - (updateUI): Don't call invalidate(). - * javax/swing/JTable.java - (updateUI): Don't call revalidate() and repaint(). - * javax/swing/JToolBar.java - (updateUI): Don't call revalidate() and repaint(). - * javax/swing/JToolTip.java - (updateUI): Don't call revalidate() and repaint(). - -2006-03-13 Roman Kennke - - * javax/swing/SwingUtilities.java - (updateComponentTreeUI): Rewritten to be more robust. Handling of - menus and non-Swing components is improved. - (updateComponentTreeUIImpl): New helper method. - (replaceUIActionMap): Added check for uiActionMap==parent to - avoid loop. - (replaceUIInputMap): Added check for uiInputMap==parent to - avoid loop. - -2006-03-13 Wolfgang Baer - - * gnu/classpath/debug/Component.java: - (IPP) New component for IPP debugging. - (EVERYTHING): Adapted to include IPP. - * javax/print/PrintServiceLookup.java: - (registerServiceProvider): New method. - (registerService): Likewise. - (lookupPrintServices): Likewise. - (lookupMultiDocPrintServices): Likewise. - (lookupDefaultPrintService): Likewise. - (static_initializer): Likewise. - (printServiceLookups): New field for found service providers. - (printServices): New field for application registered providers. - (systemProvider): New field for the system provider. - * javax/print/ServiceUI.java: New file. - * javax/print/package.html: Added more usage content. - * javax/print/event/package.html: Likewise. - * javax/print/attribute/package.html: Likewise. - * javax/print/attribute/standard/package.html: Likewise. - * gnu/javax/print/PrintUriException.java, - gnu/javax/print/PrintFlavorException.java, - gnu/javax/print/PrinterDialog.java, - gnu/javax/print/PrintAttributeException.java, - gnu/javax/print/CupsPrintServiceLookup.java, - gnu/javax/print/CupsServer.java, - gnu/javax/print/CupsPrintService.java, - gnu/javax/print/CupsMediaMapping.java, - gnu/javax/print/CupsIppOperation.java: - New implementation files of the Java Print Service API. - * gnu/javax/print/ipp/IppValueTag.java, - gnu/javax/print/ipp/MultiDocPrintJobImpl.java, - gnu/javax/print/ipp/IppStatusCode.java, - gnu/javax/print/ipp/IppUtilities.java, - gnu/javax/print/ipp/IppResponse.java, - gnu/javax/print/ipp/IppException.java, - gnu/javax/print/ipp/IppPrintService.java, - gnu/javax/print/ipp/IppRequest.java, - gnu/javax/print/ipp/IppMultiDocPrintService.java, - gnu/javax/print/ipp/IppDelimiterTag.java, - gnu/javax/print/ipp/DocPrintJobImpl.java: - New files of the IPP client implementation. - * gnu/javax/print/ipp/attribute/UnknownAttribute.java, - gnu/javax/print/ipp/attribute/StatusMessage.java, - gnu/javax/print/ipp/attribute/RequestedAttributes.java, - gnu/javax/print/ipp/attribute/NaturalLanguageSyntax.java, - gnu/javax/print/ipp/attribute/DocumentAccessError.java, - gnu/javax/print/ipp/attribute/DetailedStatusMessage.java, - gnu/javax/print/ipp/attribute/DefaultValueAttribute.java, - gnu/javax/print/ipp/attribute/CharsetSyntax.java: - New attribute syntax/role files of the printing implementation. - * gnu/javax/print/ipp/attribute/supported/UriSecuritySupported.java, - gnu/javax/print/ipp/attribute/supported/UriAuthenticationSupported.java, - gnu/javax/print/ipp/attribute/supported/SidesSupported.java, - gnu/javax/print/ipp/attribute/supported/PrintQualitySupported.java, - gnu/javax/print/ipp/attribute/supported/PrinterUriSupported.java, - gnu/javax/print/ipp/attribute/supported/PrinterResolutionSupported.java, - gnu/javax/print/ipp/attribute/supported/PageRangesSupported.java, - gnu/javax/print/ipp/attribute/supported/ - OrientationRequestedSupported.java, - gnu/javax/print/ipp/attribute/supported/OperationsSupported.java, - gnu/javax/print/ipp/attribute/supported/ - MultipleDocumentHandlingSupported.java, - gnu/javax/print/ipp/attribute/supported/ - MultipleDocumentJobsSupported.java, - gnu/javax/print/ipp/attribute/supported/MediaSupported.java, - gnu/javax/print/ipp/attribute/supported/JobSheetsSupported.java, - gnu/javax/print/ipp/attribute/supported/JobHoldUntilSupported.java, - gnu/javax/print/ipp/attribute/supported/IppVersionsSupported.java, - gnu/javax/print/ipp/attribute/supported/ - GeneratedNaturalLanguageSupported.java, - gnu/javax/print/ipp/attribute/supported/FinishingsSupported.java, - gnu/javax/print/ipp/attribute/supported/DocumentFormatSupported.java, - gnu/javax/print/ipp/attribute/supported/CompressionSupported.java, - gnu/javax/print/ipp/attribute/supported/CharsetSupported.java: - New supported attribute files. - * gnu/javax/print/ipp/attribute/printer/CharsetConfigured.java, - gnu/javax/print/ipp/attribute/printer/DocumentFormat.java, - gnu/javax/print/ipp/attribute/printer/MultipleOperationTimeOut.java, - gnu/javax/print/ipp/attribute/printer/NaturalLanguageConfigured.java, - gnu/javax/print/ipp/attribute/printer/PrinterCurrentTime.java, - gnu/javax/print/ipp/attribute/printer/PrinterDriverInstaller.java, - gnu/javax/print/ipp/attribute/printer/PrinterStateMessage.java, - gnu/javax/print/ipp/attribute/printer/PrinterUpTime.java: - New printer description attribute files. - * gnu/javax/print/ipp/attribute/job/AttributesCharset.java, - gnu/javax/print/ipp/attribute/job/AttributesNaturalLanguage.java, - gnu/javax/print/ipp/attribute/job/JobDetailedStatusMessages.java, - gnu/javax/print/ipp/attribute/job/JobDocumentAccessErrors.java, - gnu/javax/print/ipp/attribute/job/JobPrinterUri.java, - gnu/javax/print/ipp/attribute/job/JobId.java, - gnu/javax/print/ipp/attribute/job/JobMoreInfo.java, - gnu/javax/print/ipp/attribute/job/JobUri.java, - gnu/javax/print/ipp/attribute/job/JobStateMessage.java: - New job description attribute files. - * gnu/javax/print/ipp/attribute/defaults/CopiesDefault.java, - gnu/javax/print/ipp/attribute/defaults/DocumentFormatDefault.java, - gnu/javax/print/ipp/attribute/defaults/FinishingsDefault.java, - gnu/javax/print/ipp/attribute/defaults/JobHoldUntilDefault.java, - gnu/javax/print/ipp/attribute/defaults/JobPriorityDefault.java, - gnu/javax/print/ipp/attribute/defaults/JobSheetsDefault.java, - gnu/javax/print/ipp/attribute/defaults/MediaDefault.java, - gnu/javax/print/ipp/attribute/defaults/ - MultipleDocumentHandlingDefault.java, - gnu/javax/print/ipp/attribute/defaults/NumberUpDefault.java, - gnu/javax/print/ipp/attribute/defaults/OrientationRequestedDefault.java, - gnu/javax/print/ipp/attribute/defaults/PrinterResolutionDefault.java, - gnu/javax/print/ipp/attribute/defaults/PrintQualityDefault.java, - gnu/javax/print/ipp/attribute/defaults/SidesDefault.java: - New default printing attribute files. - * resource/gnu/javax/print/PrinterDialog.properties: New file. - * resource/gnu/javax/print/PrinterDialog_de.properties: Likewise. - * examples/gnu/classpath/examples/print/Demo.java: - New demo application of the current implemented functionality. - -2006-03-13 Audrius Meskauskas - - * java/rmi/activation/ActivationGroupDesc.java: Implemented. - java/rmi/activation/ActivationDesc.java.java, - java/rmi/activation/ActivationGroup.java, - java/rmi/activation/ActivationID.java, - java/rmi/activation/ActivationMonitor.java, - java/rmi/activation/ActivationSystem.java, - java/rmi/activation/package.html: Documenting. - -2006-03-13 Roman Kennke - - * javax/swing/JInternalFrame.java - (setSelected): Repaint frame when it is showing and the selection - state changes. - -2006-03-13 Roman Kennke - - * javax/swing/AbstractButton.java - (AbstractAccessibleButton.getAccessibleRelationSet): Return super....() - instead of null. - -2006-03-13 Roman Kennke - - * javax/accessibility/AccessibleContext.java - (getAccessibleRelationSet): Return empty set instead of null. - -2006-03-13 Roman Kennke - - * javax/swing/ImageIcon.java - (loadImage): Remove completed images from the MediaTracker. This - avoids a potential memory leak. - -2006-03-12 Wolfgang Baer - - * javax/print/MultiDocPrintService.java, - * javax/print/MultiDocPrintJob.java, - * javax/print/MultiDoc.java: Added and enhanced documentation. - -2006-03-12 Audrius Meskauskas - - * java/rmi/activation/ActivationID.java (uid): New field. - (writeExternal, readExternal): New methods. - (equals, hashCode): Rewritten. - * java/rmi/activation/ActivationInstantiator.java, - * java/rmi/activation/ActivationSystem.java, - * java/rmi/activation/Activator.java, - * java/rmi/activation/Activatable.java, - * java/rmi/activation/ActivationGroup.java, - * java/rmi/activation/ActivationGroupDesc.java: - Documented and autoformatted. - * java/rmi/activation/package.html: Added content. - -2006-03-12 Chris Burdess - - Fixes PR 26652 - * gnu/xml/stream/XMLParser.java: Fix for case when both reader and - encoding are specified. - -2006-03-11 David Gilbert - - * javax/swing/DefaultSingleSelectionModel.java: API docs all over, plus - (changeEvent): Initialise in fireStateChange(), - (setSelectedIndex): Check if change is made before firing event, - (clearSelection): Delegate to setSelectedIndex(), - (fireStateChanged): Initialise changeEvent if necessary, - * javax/swing/SingleSelectionModel.java: API docs all over. - -2006-03-11 Tom Tromey - - * java/util/zip/InflaterInputStream.java: Reverted previous - patch. - -2006-03-11 Mark Wielaard - - * java/text/AttributedCharacterIterator.java (Attribute.readResolve): - Compare name. - -2006-03-11 David Gilbert - - * javax/swing/event/TreeSelectionEvent.java - (isAddedPath(TreePath)): Throw IllegalArgumentException if path is - not one of the added/removed paths, - (cloneWithSource): Reformatted. - -2006-03-11 David Gilbert - - * javax/swing/tree/TreeCellEditor.java: Added API docs, - * javax/swing/tree/TreeCellRenderer.java: Likewise. - -2006-03-10 Casey Marshall - - Fixes PR 23768. - * javax/crypto/Cipher.java (doFinal, doFinal, doFinal): don't - reset `state.' - (doFinal, update): new methods. - (init, init, init, init): initialize `state' after trying the - implementation, which can throw an exception. - * javax/crypto/CipherSpi.java (engineDoFinal, engineUpdate): new - methods. - -2006-03-11 Ito Kazumitsu - - * gnu/regexp/BacktrackStack.java: New file. - * gnu/regexp/RE.java(findMatch): New method. - * gnu/regexp/REMatch.java(next,matchFlags,MF_FIND_ALL, - REMatchList): Removed. (backtrackStack): New field. - * gnu/regexp/REToken.java(match): Changed from an abstract - method to an ordinary method defined with the new method - matchThis. (matchThis, getNext, findMatch, returnsFixedLengthMatches, - findFixedLengthMatches, backtrack, toString): New methods. - * gnu/regexp/RETokenAny.java: Inplemented new methods of REToken. - * gnu/regexp/RETokenBackRef.java: Likewise. - * gnu/regexp/RETokenChar.java: Likewise. - * gnu/regexp/RETokenEnd.java: Likewise. - * gnu/regexp/RETokenEndSub.java: Likewise. - * gnu/regexp/RETokenIndependent.java: Likewise. - * gnu/regexp/RETokenLookAhead.java: Likewise. - * gnu/regexp/RETokenLookBehind.java: Likewise. - * gnu/regexp/RETokenNamedProperty.java: Likewise. - * gnu/regexp/RETokenPOSIX.java: Likewise. - * gnu/regexp/RETokenRange.java: Likewise. - * gnu/regexp/RETokenStart.java: Likewise. - * gnu/regexp/RETokenWordBoundary.java: Likewise - * gnu/regexp/RETokenOneOf.java: Rewriten. - * gnu/regexp/RETokenRepeated.java: Rewriten. - -2006-03-10 Roman Kennke - - * javax/swing/plaf/metal/MetalBorders.java - (RolloverButtonBorder.paintBorder): Only call super here. - * javax/swing/plaf/metal/MetalButtonListener.java - (propertyChange): Only call super here. - * javax/swing/plaf/metal/MetalButtonUI.java - (update): Changed condition from isOpaque() to isContentAreaFilled() - for the gradient fill. - * javax/swing/plaf/metal/MetalToggleButtonUI.java - (paintText): API doc fix. Makes paintText not deprecated as specified - but adds comment that this is obsolete. - * javax/swing/plaf/metal/MetalUtils.java - (fillMetalPattern): Fixed condition so that the Java2D is not - used when the noGraphics2D property is set. - -2006-03-10 Roman Kennke - - * javax/swing/plaf/metal/MetalLookAndFeel.java - (createDefaultTheme): Set OceanTheme as default metal theme. - -2006-03-10 Roman Kennke - - * javax/swing/text/WrappedPlainView.java - (metrics): Made field package private to avoid accessor method. - (WrappedLine.paint): Call drawLine with y offset of the font ascent. - The drawLine (righly) interprets the y parameter as the baseline. - * javax/swing/text/Utilities.java - (getBreakLocation): Don't consider the offset. The returned value - for getTabbedTextOffset is already relative to the offset. - -2006-03-10 Wolfgang Baer - - * gnu/java/net/protocol/http/Headers.java: Added documentation all over. - (dateFormat): Made private. - (put): Replace only the last occurance and the value. - (putAll): Save one iteration. Clarified documentation. - -2006-03-10 Tom Tromey - - * java/util/zip/InflaterInputStream.java (read): Replace with libgcj - implementation. - * java/util/zip/GZIPInputStream.java (readHeader): Use DEFLATED, - not '8'. - -2006-03-10 Lillian Angel - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.c - (comboboxgroup_get_widget): New function. - (removed): Fixed to use new function to get the correct widget. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c - (nativeSetCheckboxGroup): Reverted last patch to use get_widget - function. - -2006-03-10 Lillian Angel - - * java/awt/GridBagLayout.java - (ArrangeGrid): Added checks to determine if component - is placed last in a row or column. If so, the location - of the last component should be used to get the location - of the current component. - -2006-03-10 Lillian Angel - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c - (nativeSetCheckboxGroup): No need to use new function here. - Should just pass in pointer. - -2006-03-10 Lillian Angel - - * java/awt/GridBagLayout.java - (distributeSizeAndWeight): Change else if to else. This - allows for components to be added to a new row when - their gridheight is REMAINDER. - -2006-03-10 Audrius Meskauskas - - * java/rmi/activation/ActivationDesc.java, - java/rmi/activation/ActivationGroupID.java, - java/rmi/activation/Activator.java, - java/rmi/server/Operation.java, - java/rmi/server/RemoteServer.java: Documented and formatted. - -2006-03-10 David Gilbert - - * javax/swing/JToggleButton.java: Fixed API doc tags, - * javax/swing/OverlayLayout.java: Likewise. - -2006-03-10 David Gilbert - - * javax/swing/DefaultCellEditor.java - (cancelCellEditing): Removed spurious API doc tag. - -2006-03-10 Lillian Angel - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c - (create): Put checkbox widget into an event box so it paints properly. - (connectSignals): Fixed to use new function. - (nativeSetCheckboxGroup): Likewise. - (gtkToggleButtonSetActive): Likewise. - (gtkWidgetModifyFont): Likewise. - (gtkButtonSetLabel): Likewise. - (combobox_get_widget): New function. - -2006-03-10 David Gilbert - - * javax/swing/text/rtf/package.html: New file. - -2006-03-10 Roman Kennke - - * javax/swing/plaf/metal/OceanTheme.java - (addCustomEntriesToTable): Fixed ScrollBar.gradient value. - * javax/swing/plaf/metal/MetalScrollBarUI.java - (paintThumb): Only draw Metal pattern if theme is not OceanTheme. - (paintThumbHorizontal): Added handling of OceanTheme. - (paintThumbVertical): Added handling of OceanTheme. - -2006-03-10 Roman Kennke - - Reported by Fridjof Siebert - * java/awt/MediaTracker.java - (removeImage): Only set prev to e when the the images of the - entries are not the same. This avoids a potentially corrupt list. - -2006-03-10 Chris Burdess - - PR 26620: - * gnu/xml/transform/TransformerImpl.java: Suspend wellformedness - checking while reindenting. - -2006-03-10 Thomas Fitzsimmons - - * javax/imageio/plugins/jpeg/JPEGHuffmanTable.java: New file. - -2006-03-09 Tom Tromey - - PR classpath/26585: - * tools/Makefile.am (TOOLSdir): Don't put tools.zip in tools - subdir. Added README. - (install-data-local): Removed. - (uninstall-local): Likewise. - (EXTRA_DIST): Removed. - -2006-03-09 Tom Tromey - - PR classpath/26623: - * native/jni/qt-peer/Makefile.am (nativeexeclib_LTLIBRARIES): - Renamed. - * native/jni/midi-alsa/Makefile.am (nativeexeclib_LTLIBRARIES): - Renamed. - * native/jni/java-net/Makefile.am (nativeexeclib_LTLIBRARIES): - Renamed. - * native/jni/java-lang/Makefile.am (nativeexeclib_LTLIBRARIES): - Renamed. - * native/jni/xmlj/Makefile.am (nativeexeclib_LTLIBRARIES): - Renamed. - * native/jni/gtk-peer/Makefile.am (nativeexeclib_LTLIBRARIES): - Renamed. - * native/jni/midi-dssi/Makefile.am (nativeexeclib_LTLIBRARIES): - Renamed. - * native/jni/java-io/Makefile.am (nativeexeclib_LTLIBRARIES): - Renamed. - * native/jni/java-nio/Makefile.am (nativeexeclib_LTLIBRARIES): - Renamed. - * native/jni/java-util/Makefile.am (nativeexeclib_LTLIBRARIES): - Renamed. - * native/jawt/Makefile.am (nativeexeclib_LTLIBRARIES): Renamed. - * configure.ac (nativeexeclibdir): Renamed from nativelibdir. - -2006-03-09 Keith Seitz +2007-02-28 Keith Seitz + * gnu/classpath/jdwp/processor/EventRequestCommandSet.java + (executeSet): Check if VM has capability for field access + or modification events. * gnu/classpath/jdwp/processor/MethodCommandSet.java - (executeVariableTable): Use VMMethod instead of reflection. - (executeLineTable): Likewise. + (executeByteCodes): Check if VM has capability and + implement. + * gnu/classpath/jdwp/processor/ObjectReferenceCommandSet.java + (executeMonitorInfo): Likewise. * gnu/classpath/jdwp/processor/ReferenceTypeCommandSet.java - (executeMethods): Rewrite to use new VMVirtualMachine.getAllClassMethods. - * vm/reference/gnu/classpath/jdwp/VMVirtualMachine.java - (getLineTable): Removed. Now resides in VMMethod. - (getVarTable): Likewise. - (getAllClassMethods): New method. - -2006-03-09 Keith Seitz - - * gnu/classpath/jdwp/event/EventManager.java: Update javadoc. - * gnu/classpath/jdwp/event/ThreadStartEvent.java - (ThreadStartEvent): Likewise. - * gnu/classpath/jdwp/event/VmDeathEvent.java (VmDeathEvent): Likewise. - * gnu/classpath/jdwp/event/filters/ConditionalFilter.java - (ConditionalFilter): Likewise. - * gnu/classpath/jdwp/event/filters/ExceptionOnlyFilter.java - (ExceptionOnlyFilter): Likewise. - * gnu/classpath/jdwp/event/filters/FieldOnlyFilter.java - (FieldOnlyFilter): Likewise. - * gnu/classpath/jdwp/event/filters/StepFilter.java (getDepth): Likewise. - (getSize): Likewise. - (StepFilter): Likewise. - * gnu/classpath/jdwp/id/JdwpId.java: Likewise (for _tag). - * gnu/classpath/jdwp/transport/JdwpPacket.java - (JdwpPacket): Likewise. - (fromBytes): Likewise. - * gnu/classpath/jdwp/transport/JdwpReplyPacket.java - (JdwpReplyPacket): Likewise. - * gnu/classpath/jdwp/util/Value.java (getUntaggedObj): Likewise. - * vm/reference/gnu/classpath/jdwp/VMIdManager.java - (getReferenceType): Likewise. - (newObjectId): Likewise. - * vm/reference/gnu/classpath/jdwp/VMMethod.java (readId): Likewise. - * vm/reference/gnu/classpath/jdwp/VMVirtualMachine.java - (getFrames): Fix typo in parameter name and update javadoc. - (getClassMethod): Update javadoc. - -2006-03-09 David Gilbert - - * javax/swing/event/TreeSelectionEvent.java: Updated API docs, - * javax/swing/event/TreeSelectionListener.java: Likewise. - -2006-03-09 Lillian Angel - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollPanePeer.c - (getHScrollbarHeight): Fixed property name. - (getVScrollbarHeight): Likewise. - -2006-03-09 Lillian Angel - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c - (get_widget): New function. - (gtkWidgetSetParent): Changed to use new function. - (gtkWidgetSetCursorUnlocked): Likewise. - (gtkWidgetSetSensitive): Likewise. - (gtkWidgetRequestFocus): Likewise. - (gtkWindowGetLocationOnScreen): Likewise. - (gtkWidgetGetDimensions): Likewise. - (gtkWidgetGetPreferredDimensions): Likewise. - (setNativeBounds): Likewise. - (gtkWidgetGetBackground): Likewise. - (gtkWidgetGetForeground): Likewise. - (gtkWidgetSetBackground): Likewise. - (gtkWidgetSetForeground): Likewise. - (setVisibleNativeUnlocked): Likewise. - (isEnabled): Likewise. - (isRealized): Likewise. - (setNativeEventMask): Likewise. - -2006-03-09 Lillian Angel - - PR Classpath\22163 - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.c - (create): Added combobox widget to an event box. - (connectSignals): Added call to choice_get_widget to get the - combobox out of the event box. - (append): Likewise. - (nativeRemoveAll): Likewise. - (nativeRemove): Likwise. - (nativeAdd): Likewise. - (selectNative): Likewise. - (choice_get_widget): New function. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkListPeer.c - (create): Added list scroll window widget to an event box. - (connectSignals): Changed call to use new function to get the - correct widget out of the event box. - (getWidgetModifyFont): Likewise. - (getWidgetRequestFocus): Likewise. - (append): Likewise. - (add): Likewise. - (delItems): Likewise. - (select): Likewise. - (deselect): Likewise. - (getSize): Likewise. - (getSelectedIndexes): Likewise. - (makeVisible): Likewise. - (setMultipleMode): Likewise. - (list_get_widget): New function. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollPanePeer.c - (create): Added scrollpane to an eventbox. - (setScrollPosition): Changed call to use new function to get the - correct widget out of the event box. - (gtkScrolledWindowSetHScrollIncrement): Likewise. - (gtkScrolledWindowSetVScrollIncrement): Likewise. - (getHScrollbarHeight): Likewise. - (getVScrollbarWidth): Likewise. - (setPolicy): Likewise. - (scrollpane_get_widget): New function. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollbarPeer.c - (connectSignals): Changed call to use new function to get the - correct widget out of the event box. - (create): Added scrollbar to an eventbox. - (setLineIncrement): Changed call to use new function to get the - correct widget out of the event box. - (setPageIncrement): Likewise. - (setBarValues): Likewise. - (scrollbar_get_widget): New function. - * native/jni/gtk-peer/gnu_java_gnu_java_awt_peer_gtk_GtkTextAreaPeer.c - (create): Added text area scroll window widget to an event box. - (connectSignals): Changed call to use new function to get the - correct widget out of the event box. - (insert): Likewise. - (replaceRange): Likewise. - (gtkWidgetModifyFont): Likewise. - (gtkWidgetRequestFocus): Likewise. - (getHScrollbarHeight): Likewise. - (getVScrollbarWidth): Likewise. - (getCaretPosition): Likewise. - (setCaretPosition):Likewise. - (getSelectionStart): Likewise. - (getSelectionEnd): Likewise. - (select): Likewise. - (setEditable): Likewise. - (getText): Likewise. - (setText): Likewise. - (textarea_get_widget): New function. - -2006-03-09 Audrius Meskauskas - - * java/rmi/dgc/VMID.java: - (equals, hashCode, static initializer): Rewritten. - * java/rmi/dgc/package.html: Documented. - -2006-03-09 Mark Wielaard - - * gnu/java/awt/peer/gtk/GtkClipboard.java (clipboard, selection): - New static field. - (stringMimeType, imageMimeType, filesMimeType): Initialize directly. - (canCache): Likewise. - (GtkClipboard): Take String argument. - (getInstance): Removed. - (getClipboardInstance, getSelectionInstance): New static methods. - (setSystemContents): Make synchronized. Takes boolean argument. - (initNativeState): Add clipboard and selection. - * gnu/java/awt/peer/gtk/GtkClipboardNotifier.java - (announceClipboardChange, announcePrimaryChange): New static field. - (announce): Take GtkClipboard as argument. - (run): Check which clipboard to announce change for. - * gnu/java/awt/peer/gtk/GtkSelection.java (clipboard): New final - boolean field. - (GtkSelection): Take GtkClipboard as argument. - (requestText, requestImage, requestURIs, requestBytes): Add boolean - clipboard argument. - (requestMimeTypes): Likewise. - * gnu/java/awt/peer/gtk/GtkToolkit.java (getSystemSelection): - New method. - * java/awt/Toolkit.java (getSystemSelection): Document. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkClipboard.c - (cp_gtk_selection_instance): New var. - (current_selection, owner): Removed. - (clipboard_owner_change_cb): Use clipboard argument. - (initNativeState): Store clipboard and selection instances. Cache - setSystemContentsID, provideContentID, provideTextID, provideImageID, - and provideURIsID. - (clipboard_get_func): Use clipboard argument. - (clipboard_clear_func): Likewise. Always call method. - (advertiseContent): Don't cache method ids here. Check whether to - use clpboard or selection. Don't set owner or current_selection. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkSelection.c - (requestText, requestImage, requestURIs, requestBytes): Use extra - boolean argument to select clipboard. - * native/jni/gtk-peer/gtkpeer.h (cp_gtk_selection): New extern. - (cp_gtk_clipboard_instance, cp_gtk_selection_instance): Likewise. - * include/gnu_java_awt_peer_gtk_GtkClipboard.h: Regenerate. - * include/gnu_java_awt_peer_gtk_GtkSelection.h: Likewise. - -2006-03-09 Keith Seitz - - * gnu/classpath/jdwp/Jdwp.java: Remove unused imports. - * gnu/classpath/jdwp/event/EventRequest.java: Likewise. - * gnu/classpath/jdwp/event/filters/ClassMatchFilter.java: Likewise. - * gnu/classpath/jdwp/event/filters/ThreadOnlyFilter.java: Likewise. - * gnu/classpath/jdwp/processor/ThreadReferenceCommandSet.java: Likewise. - * gnu/classpath/jdwp/transport/ITransport.java: Likewise. - * vm/reference/gnu/classpath/jdwp/VMIdManager.java: Likewise. - * vm/reference/gnu/classpath/jdwp/VMMethod.java: Likewise. - * vm/reference/gnu/classpath/jdwp/VMVirtualMachine.java: Likewise. - -2006-03-09 Mark Wielaard - - * javax/swing/JList.java (ensureIndexIsVisible): Check whether cell - bounds for index is valid. - * javax/swing/plaf/basic/BasicListUI.java (valueChanged): Likewise. - (paint): Likewise. - (getCellBounds): Update documentation. - -2006-03-09 Arnaud Vandyck - - * .classpath: added exclude pattern on source folders - (Makefiles, README and .cvsignore) - -2006-03-08 Michael Koch - - * java/net/Proxy.java (NO_PROXY): Made final. - (equals): Likewise. - (hashCode): Likewise. - -2006-03-08 Keith Seitz - - * vm/reference/gnu/classpath/jdwp/VMMethod.java: New file. + (executeSourceDebugExtension): Likewise. + * gnu/classpath/jdwp/processor/StackFrameCommandSet.java + (executePopFrames): Likewise. + * gnu/classpath/jdwp/processor/ThreadReferenceCommandSet.java + (executeOwnedMonitors): Likewise. + (executeCurrentContendedMonitor): Likewise. + * gnu/classpath/jdwp/processor/VirtualMachineCommandSet.java + (executeCapabilities): Rewrite using new VMVirtualMachine + capabilities. + (executeRedefineClasses): Check if VM has capability and + implement. + (executeSetDefaultStratum): Likewise. + * gnu/classpath/jdwp/util/MonitorInfo.java; New file. * vm/reference/gnu/classpath/jdwp/VMVirtualMachine.java - (getClassMethod): New method. - -2006-03-08 Audrius Meskauskas - - * java/rmi/server/UID.java (getMachineId): Include the host IP address. - -2006-03-08 Audrius Meskauskas - - * java/rmi/server/ObjID.java: Documented and autoformatted. - -2006-03-08 Audrius Meskauskas - - PR 26584 - * tools/Makefile.am (install-data-local, - uninstall-local): Install/uninstall the tools/README only. - * tools/gnu/classpath/tools/giop/README: Updated. - * tools/README: New file. - -2006-03-08 Lillian Angel - - * java/awt/GridBagLayout.java - (GetLayoutInfo): If the last component added had gridwidth == REMAINDER, - then the next item should be set to current_y (not 0). - -2006-03-08 Lillian Angel - - * java/awt/GridBagLayout.java - (GetLayoutInfo): If gridy is RELATIVE and there is no component - in the bottom-most spot of the column, we need to place that component - at the y-location of the other components in that row. If there are - no other components in that row, then place it at y = 0. - -2006-03-08 David Gilbert - - * javax/swing/ProgressMonitor.java: Updated API docs, - * javax/swing/ProgressMonitorInputStream.java: Likewise. - -2006-03-08 Michael Koch - - * java/net/InetSocketAddress.java - (InetSocketAddress(String,int,resolve)): New private contructor. - (InetSocketAddress(String,int)): Use new private constructor. - (createUnresolved): New method. - -2006-03-07 Michael Koch + (canWatchFieldModification): New class constant. + (canWatchFieldAccess): Likewise. + (canGetBytecodes): Likewise. + (canGetSyntheticAttribute): Likewise. + (canGetOwnedMonitorInfo): Likewise. + (canGetCurrentContendedMonitor): Likewise. + (canGetMonitorInfo): Likewise. + (canRedefineClasses): Likewise. + (canAddMethod): Likewise. + (canUnrestrictedlyRedefineClasses): Likewise. + (canPopFrames): Likewise. + (canUseInstanceFilters): Likewise. + (canGetSourceDebugExtension): Likewise. + (canRequestVMDeathEvent): Likewise. + (canSetDefaultStratum): Likewise. + (redefineClasses): New method. + (setDefaultStratum): Likewise. + (getSourceDebugExtension): Likewise. + (getBytecodes): Likewise. + (getMonitorInfo): Likewise. + (getOwnedMonitors): Likewise. + (getCurrentContendedMonitor): Likewise. + (popFrames): Likewise. - * gnu/java/net/DefaultProxySelector.java, - java/net/Proxy.java, java/net/ProxySelector.java: - New files. +2007-03-01 Roman Kennke -2006-03-07 Audrius Meskauskas - - * java/rmi/server/UID.java (constructor): Assign last and time fields - after pause. - -2006-03-07 Audrius Meskauskas - - * java/rmi/server/UID.java: New file (replacing). - -2006-03-08 Raif S. Naffah - - * java/util/jar/Manifest.java: Removed unused imports. - (CRLF): New constant. - (read): Added method documentation. - Use UTF-8 encoding instead of 8859_1. - (write): Added method documentation. - Use BufferedOutputStream (w/ 4K buffer) instead of PrintWriter. - (write_main_section): Replace PrintWriter arg with OutputStream. - Replace JarException with IOException. - (write_version_info): Likewise. - (write_main_attributes): Likewise. - (write_attribute_entry): Likewise. - (write_individual_sections): Likewise. - (write_entry_attributes): Likewise. - (write_header): Replace PrintWriter arg with OutputStream. - Re-implemented. - -2006-03-07 David Gilbert - - * javax/swing/tree/DefaultMutableTreeNode.java - (getFirstChild): Updated API docs, - (getLastChild): Likewise, - (getChildAfter): Likewise, - (getChildBefore): Likewise, - (isNodeSibling): Return true if node == this, - (getSiblingCount): Updated API docs, - (getNextSibling): Likewise, - (getPreviousSibling): Likewise, - (isLeaf): Likewise, - (getFirstLeaf): Likewise, - (getLastLeaf): Likewise, - (getNextLeaf): Implemented, - (getPreviousLeaf): Implemented. - -2006-03-07 Tom Tromey - - * java/awt/image/ColorModel.java (getComponents): Javadoc fix. - * java/awt/datatransfer/FlavorEvent.java: Added missing @since. - * java/awt/dnd/DropTargetEvent.java (serialVersionUID): New field. - * java/awt/DefaultFocusTraversalPolicy.java (serialVersionUID): New + * java/awt/Canvas.java + (graphicsConfiguration): Removed duplicate (from Component) field. + (Canvas(GraphicsConfiguration)): Set the Component's graphicsConfig field. + (getGraphicsConfigurationImpl): Removed. + * java/awt/Component.java + (getGraphicsConfiguration): Moved implementation here. Synchronize + on tree lock to prevent threading nastiness. Don't query peer + and instead return the setting of the graphicsConfig field. + (getGraphicsConfigurationImpl): Removed. + * java/awt/Window.java + (graphicsConfiguration): Removed duplicate (from Component) field. + (Window): Set the Component's graphicsConfig field. + (Window(GraphicsConfiguration)): Set the Component's graphicsConfig + field. + (Window(Window,GraphicsConfiguration)): Set the Component's + graphicsConfig field. + (getGraphicsConfigurationImpl): Removed. + (getGraphicsConfiguration): Fetch the local graphics env here + if not already done and return that. + +2007-02-28 Thomas Fitzsimmons + + * INSTALL: Document --with-ecj-jar configure option and ecj jar + requirement for com.sun.tools.javac support. + * configure.ac: Add --with-ecj-jar configure option. + * gnu/classpath/Configuration.java.in (ECJ_JAR): New field. + * tools/Makefile.am: Build decendents of com and sun directories. + * resource/com/sun/tools/javac/messages.properties, + resource/sun/rmi/rmic/messages.properties, + tools/com/sun/javadoc/ClassDoc.java, + tools/com/sun/javadoc/ConstructorDoc.java, + tools/com/sun/javadoc/Doc.java, + tools/com/sun/javadoc/DocErrorReporter.java, + tools/com/sun/javadoc/Doclet.java, + tools/com/sun/javadoc/ExecutableMemberDoc.java, + tools/com/sun/javadoc/FieldDoc.java, + tools/com/sun/javadoc/MemberDoc.java, + tools/com/sun/javadoc/MethodDoc.java, + tools/com/sun/javadoc/PackageDoc.java, + tools/com/sun/javadoc/ParamTag.java, + tools/com/sun/javadoc/Parameter.java, + tools/com/sun/javadoc/ProgramElementDoc.java, + tools/com/sun/javadoc/RootDoc.java, + tools/com/sun/javadoc/SeeTag.java, + tools/com/sun/javadoc/SerialFieldTag.java, + tools/com/sun/javadoc/SourcePosition.java, + tools/com/sun/javadoc/Tag.java, + tools/com/sun/javadoc/ThrowsTag.java, + tools/com/sun/javadoc/Type.java, + tools/com/sun/javadoc/TypeVariable.java, + tools/com/sun/tools/doclets/Taglet.java, + tools/com/sun/tools/javac/Main.java, + tools/com/sun/tools/javac/Messages.java, + tools/sun/rmi/rmic/Main.java, tools/sun/rmi/rmic/Messages.java: + New files. -2006-03-07 David Gilbert - - * javax/swing/tree/DefaultMutableTreeNode.java: API docs all over plus - (clone): Reimplemented, - (add): Throw IllegalArgumentException if child is an ancestor, - (remove(int)): Set child's parent to null, - (remove(MutableTreeNode)): Check arguments and set child's parent to - null, - (insert): Check allowsChildren flag, check for null argument, and - check for a node that is an ancestor, - (getIndex): Throw IllegalArgumentException for null argument, - (setAllowsChildren): If setting to false, remove existing children, - (removeAllChildren): Set parent to null for removed children. - -2006-03-07 David Gilbert - - * javax/swing/tree/TreeNode.java: Reformatted and added API docs all - over. - -2006-03-06 Tom Tromey - - * java/lang/StrictMath.java (ulp): New methods. - * java/lang/Math.java (ulp): New methods. - -2006-03-07 Audrius Meskauskas - - * gnu/java/rmi/server/UnicastRef.java, - * gnu/java/rmi/server/UnicastServer.java: Formatted. - -2006-03-07 Audrius Meskauskas - - * gnu/java/rmi/server/CombinedClassLoader.java - (findClass, findLibrary, findResouce, findResources): check - all loaders in array. - -2006-03-07 Audrius Meskauskas - - PR 25526 - * gnu/java/rmi/dgc/DGCImpl.java (LeaseRecord, leaseCache): Removed. - (RefProtector): new inner class. (dirty): Rewritten. - * gnu/java/rmi/server/UnicastRef.java (dgcId, dgcInterfaceHash, - dgcSequence, DIRTY, this_id): New fields. (equals, hashCode, notifyDGC): - new methods. (readExternal): Create LeaseRenewingTask if non local. - * gnu/java/rmi/server/UnicastServer.java (objects): - Use WeakHashMap. (refcache): Use WeakIdentityHashMap. - (getExported): New method. - * gnu/java/rmi/dgc/LeaseRenewingTask.java: New file. - -2006-03-06 Mark Wielaard - - * doc/www.gnu.org/announce/20060306.wml: New file. - * doc/www.gnu.org/newsitems.txt: Add 0.90 release announcement. - * doc/www.gnu.org/downloads/downloads.wml: Add 0.90. - -2006-03-06 David Gilbert - - * javax/swing/plaf/metal/MetalLookAndFeel.java - (initComponentDefaults): Use Boolean.TRUE for - 'CheckBoxMenuItem.borderPainted'. - -2006-03-06 Wolfgang Baer - - * gnu/java/net/protocol/http/Headers.java: Added documentation all over. - (dateFormat): Made private. - (put): Replace only the last occurance and the value. - (putAll): Reimplemented with the put method. - -2006-03-06 Lillian Angel - - PR classpath/26569 - * java/awt/List.java - (preferredSize): Return the size of the list if the peer is - null. - * gnu/java/awt/peer/gtk/GtkListPeer.java - (preferredSize): Code was returning the minimum size of the - list. Added adjustment to the width of the list so it is a - proper size. - -2006-03-06 Wolfgang Baer - - * gnu/java/net/protocol/http/HTTPURLConnection.java: Organized imports. - (getRequestProperty): Remove duplicated null check. - * java/net/URLConnection.java: - (URLConnection): Javadoc fix. - (addRequestProperty): Likewise. - (getDefaultRequestProperty): Likewise. - (getHeaderField): Likewise. - (getHeaderFieldDate): Likewise. - (getHeaderFieldKey): Likewise. - (getHeaderFields): Likewise. - (getRequestProperties): Likewise. - (getRequestProperty): Likewise. - (setDefaultRequestProperty): Likewise. - (setRequestProperty): Likewise. - -2006-03-06 Robert Schuster - - * examples/gnu/classpath/examples/swing/TextArea.java: New file. - * examples/gnu/classpath/examples/swing/Demo.java: - (mkButtonBar): Changed layout manager to GridLayout, added entry for - textarea example. - (mkMenuBar): Added entry for text area example. - -2006-03-06 Tom Tromey - - * javax/swing/plaf/synth/Region.java (FILE_CHOOSER): Renamed. - (FORMATTED_TEXT_FIELD): Likewise. - -2006-03-06 Tom Tromey - - * javax/swing/plaf/synth/SynthPainter.java: Finished. - -2006-03-06 Robert Schuster - - * examples/gnu/classpath/examples/swing/Demo.java: - (mkMenuBar): Added menu entry that will display the VM's name, - version and distributor. - -2006-03-06 Tom Tromey - - * javax/swing/plaf/synth/SynthLookAndFeel.java (getDescription): - Javadoc fix. - (getName): Likewise. - -2006-03-06 Raif S. Naffah - - * java/util/jar/Manifest.java: Removed unused imports. - (CRLF): New constant. - (read): Added method documentation. - Use UTF-8 encoding instead of 8859_1. - (write): Added method documentation. - Use BufferedOutputStream (w/ 4K buffer) instead of PrintWriter. - (write_main_section): Replace PrintWriter arg with OutputStream. - Replace JarException with IOException. - (write_version_info): Likewise. - (write_main_attributes): Likewise. - (write_attribute_entry): Likewise. - (write_individual_sections): Likewise. - (write_entry_attributes): Likewise. - (write_header): Replace PrintWriter arg with OutputStream. - Re-implemented. - -2006-03-06 David Gilbert - - - * javax/swing/tree/FixedHeightLayoutCache.java: Reformatted and fixed - API doc tag warnings, - * javax/swing/tree/VariableHeightLayoutCache.java: Likewise. - -2006-03-06 Dalibor Topic - - * gnu/java/net/protocol/file/Connection.java (unquote): - Update position in buffer after decoding a unicode character - outside of the basic plane. - -2006-03-06 Dalibor Topic - - * java/net/URI.java - (quote): Pass Unicode characters outside the basic plane through. - -2006-03-06 Robert Schuster - - * javax/swing/plaf/basic/BasicTextUI.java: - (damageRange): Rewritten if-expressions to correctly identify the - break condition. - -2006-03-06 Mark Wielaard - - * configure.ac: Set version to 0.90-generics. - * NEWS: Fix typos. - -2006-03-06 Mark Wielaard - - Fixes bug #26568 reported by Paul Jenner - * native/fdlibm/fdlibm.h (__ieee754_rem_pio2): Return an int32_t. - (isnan): Define explicitly isnan if it is not a macro. - -2006-03-06 Robert Schuster - - * javax/swing/text/GapContent.java: - (insertString): Throw exception when argument is below - zero. - -2006-03-06 Robert Schuster - - * javax/swing/text/PlainDocument.java: - (insertUpdate): Extended if-expression, added - code to generate another Element when newly inserted characters - and old ones will be on the same line. - -2006-03-06 Robert Schuster - - * javax/swing/text/DefaultCaret.java: - (mouseDragged): Do selection when shift is pressed. - (mouseClicked): Implemented. - -2006-03-06 Robert Schuster - - * javax/swing/text/PlainDocument.java: Fix copyright header, - added author tags. - (insertUpdate): Do not copy the whole document any more, added some - more variables to prevent needless method calls. - -2006-03-06 Christian Thalinger - - * configure.ac: Check for FREETYPE2. This is a reverted patch and - is required on Darwin. - * native/jni/gtk-peer/Makefile.am (AM_LDFLAGS): Added FREETYPE2. - (AM_CFLAGS): Likewise. - -2006-03-06 Mark Wielaard - - * NEWS: Add updates for 0.90 release. - -2006-03-05 Robert Schuster - - * javax/swing/text/GapContent.java: - (insertString): Throw exception when argument is below - zero. - -2006-03-05 David Gilbert - - - * javax/swing/filechooser/FileFilter.java: - (accept): Fixed API doc tag, - (getDescription): Likewise, - * javax/swing/filechooser/FileView.java: - (isTraversable): Fixed API doc tag. - -2006-03-05 David Gilbert +2007-02-28 Keith Seitz - * javax/swing/colorchooser/ColorSelectionModel.java: Reformatted and - added API docs all over. + * gnu/classpath/jdwp/processor/MethodCommandSet.java + (executeLineTable): Use ReferenceTypeId instead of + ClassReferenceTypeId. + (executeVariableTable): Likewise. + (executeVariableTableWithGeneric): Fix error message. + * gnu/classpath/jdwp/processor/ReferenceTypeCommandSet.java + (executeSignatureWithGeneric): Fix error message. + (executeFieldWithGeneric): Likewise. + (executeMethodsWithGeneric): Likewise. + * gnu/classpath/jdwp/processor/StackFrameCommandSet.java + (executeGetValues): Use ThreadId instead of ObjectId. + (executeSetValues): Likewise. + (executeThisObject): Likewise. -2006-03-05 David Gilbert +2007-02-28 Kyle Galloway - * javax/swing/plaf/ComboBoxUI.java: Fixed typo in class description, - and corrected a bad API doc tag. + * gnu/classpath/jdwp/id/NullObjectId.java: New class. + * gnu/classpath/jdwp/util/NullObject.java: New class. + * vm/reference/gnu/classpath/jdwp/VMIdManager.java + (getObjectId): Handle null object. + (get): Handle objectId of 0. -2006-03-05 David Gilbert +2007-02-26 Francis Kung - * javax/swing/undo/StateEditable.java - (restoreState): Fixed bad API doc tag, - * javax/swing/undo/UndoableEdit.java: Copied API doc comments from - AbstractUndoableEdit.java, - * javax/swing/undo/UndoableEditSupport.java - (createCompoundEdit): Fixed bad API doc tag, - * javax/swing/undo/UndoManager.java - (editToBeUndone): Fixed bad API doc tag, - (editToBeRedone): Likewise. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c + (Java_gnu_java_awt_peer_gtk_GdkFontPeer_setFont): Stop using deprecated + function for creating new font map. -2006-03-05 David Gilbert +2007-02-26 Francis Kung - * javax/swing/DefaultFocusManager.java: Fixed bad API doc tags, - * javax/swing/FocusManager.java: Likewise. + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (drawCairoSurface): Do not reset clip. + (drawImage(Image,AffineTransform,Color,ImageObserver)): Likewise. +2007-02-23 Francis Kung -2006-03-05 David Gilbert + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (drawCairoSurface): New method. + (drawImage(Image,AffineTransform,Color,ImageObserver)): Use new + drawCairoSurface() method. + * gnu/java/awt/peer/gtk/CairoSurface.java + (CairoSurface(SampleModel,CairoSurface,Rectangle,Point)): Copy correct + width/height values, and copy sharedBuffer value. + (createWritableChild): Remove debug line. + (drawSurface): Removed method. + * gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java + (drawComposite): Translate image when drawing. - - * javax/swing/plaf/metal/MetalComboBoxButton.java - (MetalComboBoxButton(JComboBox, Icon, boolean, CellRendererPane, - JList)): Fixed API doc tag, - * javax/swing/plaf/metal/MetalInternalFrameTitlePane - (createLayout): Fixed API doc warning. - -2006-03-05 Tom Tromey +2007-02-23 Gary Benson + Jakub Jelinek - * vm/reference/java/lang/reflect/Constructor.java (toString): Use - ClassHelper.getUserName. - * vm/reference/java/lang/reflect/Method.java (toString): Use - ClassHelper.getUserName. - (getUserTypeName): Removed. - * gnu/java/lang/ClassHelper.java (getUserName): New method. - * vm/reference/java/lang/reflect/Field.java (toString): Use - ClassHelper.getUserName. + PR libgcj/17002 + PR classpath/28550 + * java/util/Date.java (parse): Properly parse 09:01:02 as + hours/minutes/seconds, not as hours/minutes/year. + * java/util/SimpleTimeZone.java (SimpleTimeZone): Simplify + {start,end}TimeMode constructor by calling shorter constructor, + set {start,end}TimeMode fields after it returns. + (setStartRule): Don't adjust startTime into WALL_TIME. Set + startTimeMode to WALL_TIME. + (endStartRule): Similarly. + (getOffset): Handle properly millis + dstOffset overflowing into the + next day. Adjust startTime resp. endTime based on startTimeMode + resp. endTimeMode. + * java/util/TimeZone.java (zoneinfo_dir, availableIDs, aliases0): New + static fields. + (timezones): Remove synchronized keyword. Set zoneinfo_dir. + If non-null, set up aliases0 and don't put anything into + timezones0. + (defaultZone): Call getTimeZone instead of timezones().get. + (getDefaultTimeZone): Fix parsing of EST5 or EST5EDT6. Use + getTimeZoneInternal instead of timezones().get. + (parseTime): Parse correctly hour:minute. + (getTimeZoneInternal): New private method. + (getTimeZone): Do the custom ID checking first, canonicalize + ID for custom IDs as required by documentation. Call + getTimeZoneInternal to handle the rest. + (getAvailableIDs(int)): Add locking. Handle zoneinfo_dir != null. + (getAvailableIDs(File,String,ArrayList)): New private method. + (getAvailableIDs()): Add locking. Handle zoneinfo_dir != null. + * vm/reference/java/util/VMTimeZone.java (getDefaultTimeZoneId): + To read /etc/localtime, use ZoneInfo.readTZFile instead of + VMTimeZone.readtzFile. Get better timezone name for + /etc/localtime, either if it is a symlink or through + /etc/sysconfig/clock. + (readSysconfigClockFile): New static method. + (readtzFile): Removed. + * gnu/java/util/ZoneInfo.java: New file. + * java/lang/System.java: Add gnu.java.util.zoneinfo.dir to comments. + * NEWS: Documented TimeZone interface changes. + +2007-02-23 Francis Kung -2006-03-05 Olivier Jolly + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c + (Java_gnu_java_awt_peer_gtk_CairoSurface_create): Remove debug line. - Fixes PR 22813 - * java/net/URLClassLoader.java (FileURLLoader.getResource): - Allows directories as valid resources. +2007-02-22 Keith Seitz -2006-03-05 Mark Wielaard + * vm/reference/gnu/classpath/jdwp/VMVirtualMachine.java + (getAllLoadedClassesCount): Remove. + (getAllLoadedClasses): Return a Collection. + * gnu/classpath/jdwp/processor/VirtualMachineCommandSet.java + (executeClassesBySignature): VMVirtualMachine.getAllLoadedClasses + now returns Collection. + (executeAllClasses): Likewise. + Get size of return from Colleciton instead of calling + getAllLoadedClassesCount. - * configure.ac (VERSION): Set to 0.90-pre-generics. - * Merge with CVS trunk from classpath-0_90-branch-point. +2007-02-22 Kyle Galloway -2006-03-04 Tom Tromey + * gnu/classpath/jdwp/processor/StackFrameCommandSet.java + (executeGetValues): Pass a signature byte to VMFrame.getValue. + * vm/reference/gnu/classpath/jdwp/VMFrame.java (getValue): Add + signature parameter. - * javax/swing/SpringLayout.java (Constraints): New constructor. - * javax/swing/Spring.java (width): New method. - (height): Likewise. - (scale): Likewise. +2007-02-22 Francis Kung -2006-03-04 Mark Wielaard + * gnu/java/awt/peer/gtk/CairoSurface.java + (copyAreaNative): Pass surface pointer into copyAreaNative2(). + (copyAreaNative2): Add parameter for surface pointer. + (getFlippedBuffer): Add parameter for surface pointer. + (getGtkImage): Pass surface pointer into getFlippedBuffer(). - * gnu/java/net/protocol/http/HTTPConnection.java (Pool.get): Remove - existing connection from pool before returning. +2007-02-21 Francis Kung -2006-03-04 Mark Wielaard + * gnu/java/awt/peer/gtk/BufferedImageGraphcs.java + (constructor): Add pre-multiplied colour model to types available for + optimization. + (updateBufferedImage): Change surface.getPixels() call to surface.getData(). + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (drawImage): Add checks before using CairoSurface optimization. + * gnu/java/awt/peer/gtk/CairoSurface.java + (bufferPointer): Removed field. + (sharedBuffer): New field. + (CairoSurface(GtkImage)): Copy array rather than using setPixels() call. + (CairoSurface(int,int,int)): Use getData() convenience method. + (CairoSurface(SampleModel,CairoSurface,Rectangle,Point)): Remove reference + to deleted bufferPointer field. + (copyAreaNative): Update documentation, remove reference to bufferPointer. + (copyAreaNative2): Remove reference to deleted bufferPointer field. + (destroy): Remove reference to deleted bufferPointer field. + (dispose): Updated to reflect new method signature for destroy(). + (drawSurface): Added documentation. + (getData): New convience method. + (getFlippedBuffer): Removed method parameters. + (getGtkImage): Updated to reflect new method signature. + (getPixels): Removed method. + (nativeGetElem): Removed method. + (netiveGetPixels): Removed method. + (nativeSetElem): Removed method. + (nativeSetPixels): Removed method. + (setPixels): Removed method. + (syncJavaToNative): New method. + (syncNativeToJava): New method. + * gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java + (draw): Sync buffers if necessary. + (drawGlyphVector): Likewise. + (drawImage): Likewise. + (drawRenderedImage): Likewise, + (fill): Likewise. + * include/gnu_java_awt_peer_gtk_CairoSurface.h: Regenerated. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c + (Java_gnu_java_awt_peer_gtk_CairoSurface_copyAreaNative2): Use pointer to + surface rather than pointer to buffer. + (Java_gnu_java_awt_peer_gtk_CairoSurface_create): Provide fall-back for + copied arrays. + (Java_gnu_java_awt_peer_gtk_CairoSurface_destroy): Handle copied arrays. + (Java_gnu_java_awt_peer_gtk_CairoSurface_getFlippedBuffer): Retrieve + information on size using JNI calls. + (Java_gnu_java_awt_peer_gtk_CairoSurface_getElem): Removed. + (Java_gnu_java_awt_peer_gtk_CairoSurface_getPixels): Removed. + (Java_gnu_java_awt_peer_gtk_CairoSurface_setElem): Removed. + (Java_gnu_java_awt_peer_gtk_CairoSurface_setPixels): Removed. + (Java_gnu_java_awt_peer_gtk_CairoSurface_syncJavaToNative): New function. + (Java_gnu_java_awt_peer_gtk_CairoSurface_syncNativeToJava): New function. + (BUFFER): Removed constant. + (SHARED): New constant. - * gnu/xml/stream/SAXParser.java (parse(InputSource)): Ignore - exceptions thrown by handlers while cleaning up and rethrow original - exception. +2007-02-20 Gary Benson -2006-03-04 Tom Tromey + * javax/management/ObjectName.java + (domainMatches): New method. + (apply): Rearranged to use the above. - * java/beans/PropertyDescriptor.java (createPropertyEditor): New - method. - (findConstructor): Likewise. - (instantiateClass): Likewise. - -2006-03-04 Audrius Meskauskas - - * gnu/java/rmi/dgc/DGCImpl.java: More comments, boilerplate fix. - (dirty): Do not synchronize on Hashtable. Use the passed (requested) - lease value and not always the default one. - (LeaseRecord): Remember the array of objects, marked as dirty. - java/rmi/dgc/Lease.java: Boilerplate fix. - -2006-03-05 Raif S. Naffah - - * java/util/jar/Attributes.java (putValue): Made it public and updated - method documentation. - -2006-03-04 Mark Wielaard - - * java/awt/Container.java (remove(int)): Always call removeNotify() - on removed Component. - -2006-03-04 Mark Wielaard - - Fixes bug #26460 reported by Beat Wolf . - * javax/swing/JEditorPane.java (setText): Check for empty String - with equals(), not equality (==). - -2006-03-04 Mark Wielaard - - * javax/swing/text/html/HTMLDocument.java: Qualify ElementSpec as - DefaultStyledDocument.ElementSpec for gcj 4.0.x. - -2006-03-04 David Gilbert - - * javax/swing/text/GapContent.java - (getArray): Mark as final. - -2006-03-04 David Gilbert - - * javax/swing/text/StyleConstants.java - (CharacterConstants.Background): Marked final, - (CharacterConstants.BidiLevel): Likewise, - (CharacterConstants.Bold): Likewise, - (CharacterConstants.ComponentAttribute): Likewise, - (CharacterConstants.Family): Likewise, - (CharacterConstants.Size): Likewise, - (CharacterConstants.Foreground): Likewise, - (CharacterConstants.IconAttribute): Likewise, - (CharacterConstants.Italic): Likewise, - (CharacterConstants.StrikeThrough): Likewise, - (CharacterConstants.Subscript): Likewise, - (CharacterConstants.Superscript): Likewise, - (CharacterConstants.Underline): Likewise, - (ColorConstants.Foreground): Likewise, - (ColorConstants.Background): Likewise, - (FontConstants.Bold): Likewise, - (FontConstants.Family): Likewise, - (FontConstants.Italic): Likewise, - (FontConstants.Size): Likewise, - (ParagraphConstants.Alignment): Likewise, - (ParagraphConstants.FirstLineIndent): Likewise, - (ParagraphConstants.LeftIndent): Likewise, - (ParagraphConstants.LineSpacing): Likewise, - (ParagraphConstants.Orientation): Likewise, - (ParagraphConstants.RightIndent): Likewise, - (ParagraphConstants.SpaceAbove): Likewise, - (ParagraphConstants.SpaceBelow): Likewise, - (ParagraphConstants.TabSet): Likewise. - -2006-03-03 Tom Tromey - - * javax/net/ssl/SSLException.java: Added missing @since. - Wrote javadoc. - -2006-03-03 Tom Tromey - - * javax/net/ssl/SSLException.java (SSLException): New constructors. - (serialVersionUID): New field. - -2006-03-03 Tom Tromey - - * java/security/spec/InvalidKeySpecException.java - (InvalidKeySpecException): New constructors. - * java/security/cert/CertificateParsingException.java - (CertificateParsingException): New constructors. - * java/security/cert/CertificateEncodingException.java - (CertificateEncodingException): New constructors. - * java/security/cert/CertificateException.java (CertificateException): - New constructors. - * java/security/cert/CRLException.java (CRLException): New - constructors. - -2006-03-03 Tom Tromey - - * java/security/SignatureException.java (SignatureException): New - constructors. - * java/security/ProviderException.java (ProviderException): New - constructors. - * java/security/NoSuchAlgorithmException.java - (NoSuchAlgorithmException): New constructors. - * java/security/KeyStoreException.java (KeyStoreException): New - constructors. - * java/security/KeyManagementException.java (KeyManagementException): - New constructors. - * java/security/InvalidKeyException.java (InvalidKeyException): New - constructors. - * java/security/KeyException.java (KeyException): New constructors. - * java/security/InvalidAlgorithmParameterException.java - (InvalidAlgorithmParameterException): New constructors. - * java/security/DigestException.java (DigestException): New - constructors. - * java/security/GeneralSecurityException.java - (GeneralSecurityException): New constructors. - -2006-03-03 David Gilbert - - * javax/swing/event/CaretEvent.java: Reformatting and fixed API doc - warnings, - * javax/swing/event/DocumentEvent.java: Likewise, - * javax/swing/event/EventListenerList.java: Likewise, - * javax/swing/event/MenuDragMouseEvent.java: Likewise, - * javax/swing/event/MenuKeyEvent.java: Likewise, - * javax/swing/event/TableColumnModelEvent.java: Likewise, - * javax/swing/event/TreeExpansionEvent.java: Likewise, - * javax/swing/event/TreeModelEvent.java: Likewise, - * javax/swing/event/TreeSelectionEvent.java: Likewise, - * javax/swing/event/UndoableEditEvent.java: Likewise. - -2006-03-03 Tom Tromey - - * java/awt/Insets.java (set): New method. - (equals): Added @since. - -2006-03-03 David Daney - - * gnu/java/net/protocol/http/HTTPURLConnection.java - (getRequestProperties): Rewrote. - (addRequestProperty): Rewrote. - (getHeaderFields): Rewrote. - (getHeaderField): Rewrote. - (getHeaderFieldKey): Rewrote. - (getHeaderField): Removed useless cast. - * gnu/java/net/protocol/http/Headers.java: Entire class rewritten. - * gnu/java/net/protocol/http/Request.java (dispatch): Use new Headers - interface. - (notifyHeaderHandlers): Use new Headers interface. - -2006-03-03 Tom Tromey - - * javax/naming/NamingException.java (getExplanation): Javadoc fix. - * javax/naming/spi/ResolveResult.java, - javax/naming/event/NamingExceptionEvent.java, - javax/naming/event/NamingEvent.java, - javax/naming/directory/SearchResult.java, - javax/naming/directory/SearchControls.java, - javax/naming/directory/SchemaViolationException.java, - javax/naming/directory/NoSuchAttributeException.java, - javax/naming/directory/ModificationItem.java, - javax/naming/directory/InvalidSearchFilterException.java, - javax/naming/directory/InvalidSearchControlsException.java, - javax/naming/directory/InvalidAttributesException.java, - javax/naming/directory/InvalidAttributeIdentifierException.java, - javax/naming/directory/AttributeModificationException.java, - javax/naming/directory/AttributeInUseException.java, - javax/naming/TimeLimitExceededException.java, - javax/naming/SizeLimitExceededException.java, - javax/naming/PartialResultException.java, - javax/naming/Reference.java, - javax/naming/ServiceUnavailableException.java, - javax/naming/OperationNotSupportedException.java, - javax/naming/NotContextException.java, - javax/naming/NoPermissionException.java, - javax/naming/NoInitialContextException.java, - javax/naming/NameNotFoundException.java, - javax/naming/NameAlreadyBoundException.java, - javax/naming/NameClassPair.java, - javax/naming/MalformedLinkException.java, - javax/naming/LinkLoopException.java, - javax/naming/LinkException.java, - javax/naming/LimitExceededException.java, - javax/naming/InvalidNameException.java, - javax/naming/InterruptedNamingException.java, - javax/naming/InsufficientResourcesException.java, - javax/naming/ContextNotEmptyException.java, - javax/naming/ConfigurationException.java, - javax/naming/CannotProceedException.java, - javax/naming/CommunicationException.java, - javax/naming/Binding.java, - javax/naming/AuthenticationNotSupportedException.java, - javax/naming/AuthenticationException.java: Added serialVersionUID. - -2006-03-03 David Gilbert - - * javax/swing/event/TableColumnModelEvent.java: Reformatted. - -2006-03-03 David Gilbert - - * javax/swing/event/TableModelListener.java: Updated API docs. - -2006-03-03 Mark Wielaard - - * java/awt/Component.java (addNotify): Expand documentation. - -2006-03-03 Mark Wielaard - - * gnu/java/awt/peer/gtk/GtkComponentPeer.java (GtkComponentPeer): - Always call setParentAndBounds(). - (setComponentBounds): Always call setBounds(). - (setBounds): Call setVisible(). - (setVisible): If no pixels are showing then don't make it visible. - * gnu/java/awt/peer/gtk/GtkContainerPeer.java (endValidate): No need - to call setParentAndBounds() anymore. - -2006-03-03 Roman Kennke - - * javax/swing/JInternalFrame.java - (JInternalFrame): Set frame invisible. - (show): Reformatted. - * javax/swing/plaf/basic/BasicInternalFrameUI.java - (installDefaults): Do not set invisible here. - -2006-03-03 Roman Kennke - - * java/awt/Toolkit.java - (getScreenInsets): Return (0,0,0,0) here. - -2006-03-03 Roman Kennke - - * javax/swing/text/FlowView.java - (FlowStrategy.layoutRow): Added check for rowCount == 0. - (FlowStrategy.getLogicalView): Made method protected. - -2006-03-03 Chris Burdess - - * gnu/xml/validation/relaxng/AnyNameNameClass.java, - gnu/xml/validation/relaxng/AttributePattern.java, - gnu/xml/validation/relaxng/ChoiceNameClass.java, - gnu/xml/validation/relaxng/ChoicePattern.java, - gnu/xml/validation/relaxng/DataPattern.java, - gnu/xml/validation/relaxng/Define.java, - gnu/xml/validation/relaxng/ElementPattern.java, - gnu/xml/validation/relaxng/EmptyPattern.java, - gnu/xml/validation/relaxng/FullSyntaxBuilder.java, - gnu/xml/validation/relaxng/Grammar.java, - gnu/xml/validation/relaxng/GrammarException.java, - gnu/xml/validation/relaxng/GrammarValidator.java, - gnu/xml/validation/relaxng/GroupPattern.java, - gnu/xml/validation/relaxng/InterleavePattern.java, - gnu/xml/validation/relaxng/ListPattern.java, - gnu/xml/validation/relaxng/NSNameNameClass.java, - gnu/xml/validation/relaxng/NameClass.java, - gnu/xml/validation/relaxng/NameNameClass.java, - gnu/xml/validation/relaxng/NotAllowedPattern.java, - gnu/xml/validation/relaxng/OneOrMorePattern.java, - gnu/xml/validation/relaxng/Param.java, - gnu/xml/validation/relaxng/Pattern.java, - gnu/xml/validation/relaxng/RELAXNGSchemaFactory.java, - gnu/xml/validation/relaxng/RefPattern.java, - gnu/xml/validation/relaxng/TextPattern.java, - gnu/xml/validation/relaxng/ValuePattern.java: New RELAX NG grammar - builder and data model. - * gnu/xml/validation/xmlschema/AnyAttribute.java, - gnu/xml/validation/xmlschema/AttributeDeclaration.java, - gnu/xml/validation/xmlschema/AttributeUse.java, - gnu/xml/validation/xmlschema/ComplexType.java, - gnu/xml/validation/xmlschema/ElementDeclaration.java, - gnu/xml/validation/xmlschema/Particle.java, - gnu/xml/validation/xmlschema/ValidationException.java, - gnu/xml/validation/xmlschema/XMLSchema.java, - gnu/xml/validation/xmlschema/XMLSchemaAttributeTypeInfo.java, - gnu/xml/validation/xmlschema/XMLSchemaBuilder.java, - gnu/xml/validation/xmlschema/XMLSchemaElementTypeInfo.java, - gnu/xml/validation/xmlschema/XMLSchemaSchemaFactory.java, - gnu/xml/validation/xmlschema/XMLSchemaTypeInfo.java, - gnu/xml/validation/xmlschema/XMLSchemaTypeInfoProvider.java, - gnu/xml/validation/xmlschema/XMLSchemaValidator.java, - gnu/xml/validation/xmlschema/XMLSchemaValidatorHandler.java: New - W3C XML Schema builder and schema components. - * javax/xml/validation/SchemaFactory.java: Recognise RELAX NG and W3C - XML Schema namespace URIs. - -2006-03-03 Thomas Fitzsimmons - - * NEWS: Add entry for --enable-collections. - * configure.ac: Add --enable-collections option. - * lib/Makefile.am (collections.jar): New target. - (glibj_DATA): Add $(COLLECTIONS). - * lib/mkcollections.pl.in (destpath): Set from COLLECTION_PREFIX - configure substitution. - (classpath): Read from command line. - (javautilclasses): Remove BasicMapEntry. Add RandomAccess. - -2006-03-03 David Gilbert - - * javax/swing/SpringLayout.java: Fixed API doc warnings. - -2006-03-03 David Gilbert - - * javax/swing/event/ListSelectionEvent.java - (toString): Implemented, - plus updated API docs all over. - -2006-03-03 David Gilbert - - * javax/swing/event/ListSelectionEvent.java: Reformatted and fixed - API doc warnings, - * javax/swing/event/ListSelectionListener.java: Updated API docs. - -2006-03-03 Audrius Meskauskas - - * gnu/java/rmi/dgc/DGCImpl.java, - java/rmi/dgc/DGC.java, - java/rmi/dgc/Lease.java: Formatted and commented. - -2006-03-03 Roman Kennke - - * NEWS: Added comment about text highlighting and copy+paste - in Swing. - -2006-03-03 Roman Kennke - - * javax/swing/JTabbedPane.java - (remove(int)): Call super.remove(int) instead of remove(Component). - Avoids a stack overflow. - -2006-03-03 Roman Kennke - - * javax/swing/JTable.java - (distributeSpillResizing): Avoid ArithmeticException by checking - divisor. - -2006-03-03 David Gilbert - - * javax/swing/text/package.html: Added package description. - -2006-03-03 David Gilbert - - * javax/swing/CellRendererPane.java: Minor API doc fix, - * javax/swing/ComboBoxModel.java: Updated API docs. - -2006-03-03 Chris Burdess - - Fixes PR 26503 - * gnu/xml/stream/EntityReferenceImpl.java, - gnu/xml/stream/FilteredEventReader.java, - gnu/xml/stream/SAXParser.java, - gnu/xml/stream/XIncludeFilter.java, - gnu/xml/stream/XMLEventAllocatorImpl.java, - gnu/xml/stream/XMLEventFactoryImpl.java, - gnu/xml/stream/XMLEventImpl.java, - gnu/xml/stream/XMLEventReaderImpl.java, - gnu/xml/stream/XMLEventWriterImpl.java, - gnu/xml/stream/XMLInputFactoryImpl.java, - gnu/xml/stream/XMLOutputFactoryImpl.java, - gnu/xml/stream/XMLParser.java, - javax/xml/stream/EventFilter.java, - javax/xml/stream/Location.java, - javax/xml/stream/StreamFilter.java, - javax/xml/stream/XMLEventFactory.java, - javax/xml/stream/XMLEventReader.java, - javax/xml/stream/XMLEventWriter.java, - javax/xml/stream/XMLInputFactory.java, - javax/xml/stream/XMLOutputFactory.java, - javax/xml/stream/XMLReporter.java, - javax/xml/stream/XMLResolver.java, - javax/xml/stream/XMLStreamConstants.java, - javax/xml/stream/XMLStreamReader.java, - javax/xml/stream/events/EntityDeclaration.java, - javax/xml/stream/events/EntityReference.java, - javax/xml/stream/events/XMLEvent.java, - javax/xml/stream/util/EventReaderDelegate.java, - javax/xml/stream/util/ReaderDelegate.java: Updated to final version of - StAX API as specified in JWSDP 2.0. - * gnu/xml/stream/EndEntityImpl.java, - gnu/xml/stream/LocationImpl.java, - gnu/xml/stream/StartEntityImpl.java, - gnu/xml/stream/XMLStreamReaderImpl.java, - javax/xml/stream/XMLFilter.java, - javax/xml/stream/XMLIterator.java, - javax/xml/stream/events/EndEntity.java, - javax/xml/stream/events/StartEntity.java: Removed legacy files. - -2006-03-03 David Gilbert - - * javax/swing/CellEditor.java: API doc updates, - * javax/swing/DefaultCellEditor.java: Likewise. - -2006-03-03 David Gilbert - - * javax/swing/AbstractListModel.java: - (AbstractListModel): Added API docs, - (fireContentsChanged): Minor API doc correction, - (fireIntervalAdded): Likewise, - (fireIntervalRemoved): Likewise. - -2006-03-03 Roman Kennke - - * NEWS: Added paragraph about Swing improvements. - -2006-03-03 David Gilbert - - * javax/swing/AbstractAction.java: Updated API docs all over, - * javax/swing/AbstractCellRenderer.java: Minor reformatting, plus - (stopCellEditing): Minor API doc correction, - * javax/swing/UnsupportedLookAndFeelException.java - (UnsupportedLookAndFeelException): Changed argument name, updated API - docs. - -2006-03-03 Roman Kennke - - * javax/swing/plaf/metal/MetalUtils.java - (fillMetalPattern): Added switch to not use Graphics2D methods, - even if they are available. - -2006-03-03 Roman Kennke - - * javax/swing/plaf/basic/BasicHTML.java - (isHTMLString): Check for string beeing null. - * javax/swing/plaf/basic/BasicInternalFrameUI.java - (BasicInternalFrameListener.internalFrameActivated): Implemented. - (BasicInternalFrameListener.internalFrameDeactivated): Implemented. - (InternalFrameLayout): Don't touch the glass pane here. - (installUI): Fix handling of glass pane. - * javax/swing/plaf/basic/BasicLabelUI.java - (vr): New field. - (ir): New field. - (tr): New field. - (BasicLabelUI): Initialize new fields. - (getPreferredSize): Avoid creating new Rectangles by using - SwingUtilities method. - (paint): Avoid creating new Rectangles by reusing - new fields. Added some preliminary handling of HTML inside the - label. - (installComponents): Handle HTML by calling BasicHTML.updateRenderer. - (uninstallComponents): Clear HTML renderer. - (propertyChange): Check for HTML text and install renderer if - appropriate. - * javax/swing/plaf/basic/BasicListUI.java - (getCellBounds): Avoid creating new Rectangle by using SwingUtilities - method. - * javax/swing/plaf/basic/BasicTextUI.java - (RootView.getStartOffset): Implemented. - (RootView.getEndOffset): Implemented. - (RootView.getDocument): Implemented. - -2006-03-03 Roman Kennke - - * javax/swing/text/DefaultStyledDocument.java - (ElementBuffer.inserUpdate): Added check for zero-length - element. - * javax/swing/text/DefaultStyledDocument.java - (setIndex): Improved exception message. - * javax/swing/text/TableView.java - Made class abstract. - (TableRow.replace): Probably extend columnRequirements - arrays. - (TableRow.layoutMinorAxis): Call super.layoutMinorAxis instead - of super.layoutMajorAxis. - (columnRequirements): Made field package private. - (TableView): Do not load any child views here. - (layoutColumns): Implemented this method. - (updateColumnRequirements): New helper method. - * javax/swing/text/Utilities.java - (getBreakLocation): Also take offset into account when - finding end location. - * javax/swing/text/html/HTMLDocument.java - (HTMLReader.parseStack): New field. - (HTMLReader.blockOpen): Properly handle p-implied tags. - (HTMLReader.blockClose): Properly handle p-implied and empty tags. - (HTMLReader.addContent): Insert p-implied when adding content to - a block element. - * javax/swing/text/html/HTMLEditorKit.java - (HTMLFactory.create): Create HTMLTableView for tags and - ParagraphView for TD tags. Print out warning for tags that don't have - matching view yet and create NullView for them. - (read): Only set document base when document != null. - * javax/swing/text/html/HTMLTableView.java: - New class - -2006-03-03 Roman Kennke - - * javax/swing/plaf/basic/BasicHTML.java - (HTMLRootView): New inner class. - (createHTMLView): Embed view inside a HTMLRootView. - -2006-03-03 Wolfgang Baer - - * gnu/java/net/protocol/jar/Connection.java: - (connect): Throw FileNotFoundException. - (getInputStream): Remove duplicated code. - -2006-03-03 Roman Kennke - - * javax/swing/RepaintManager.java - (commitBuffer): Added null check for clip. - -2006-03-02 Lillian Angel - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuPeer.c - (Java_gnu_java_awt_peer_gtk_GtkMenuPeer_delItem): Fixed - to use GtkWidget instead of GTKMenu. - -2006-03-02 Lillian Angel - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuPeer.c - (Java_gnu_java_awt_peer_gtk_GtkMenuPeer_delItem): Changed to - use the submenu to get the list of children. This now works - in the same way as addItem. - -2006-03-02 Anthony Balkissoon - - * java/lang/StringBuilder.java: - (codePointAt): New method. - (codePointBefore): Likewise. - (codePointCount): Likewise. - (trimToSize): Likewise. - -2006-03-02 Tom Tromey - - * java/rmi/server/RMIClassLoader.java (getProviderInstance): Wrote. - -2006-03-02 Tom Tromey - - * java/rmi/server/RMIClassLoader.java (loadProxyClass): New method. - (getProviderInstance): - -2006-03-02 Andrew John Hughes - - * native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c: - Fix regression caused by move to VM variant. - PR classpath/22926. - -2006-03-01 Tom Tromey - - * vm/reference/java/net/VMNetworkInterface.java: Organized imports. - * vm/reference/java/net/VMInetAddress.java: Organized imports. - * vm/reference/java/lang/reflect/VMProxy.java (getProxyClass): Added - imports for javadoc. - (getProxyClass): Javadoc fixes. - (getProxyData): Likewise. - (generateProxyClass): Likewise. - * vm/reference/java/lang/VMSystem.java (setIn): Javadoc fix. - (setOut): Likewise. - (setErr): Likewise. - * vm/reference/java/lang/VMProcess.java: Javadoc fixes. - * vm/reference/java/lang/VMClassLoader.java (getResources): Javadoc - fix. - * vm/reference/java/lang/VMClass.java (getComponentType): Import for - javadoc. - (getModifiers): Likewise. - (getDeclaredClasses): Javadoc fix. - (getDeclaredFields): Likewise. - (getDeclaredMethods): Likewise. - (getDeclaredConstructors): Likewise. - * vm/reference/gnu/classpath/VMSystemProperties.java (preInit): - Javadoc fix. - -2006-03-01 Tom Tromey - - * gnu/java/net/protocol/http/ResponseHeaderHandler.java: Javadoc fix. - * gnu/java/net/protocol/http/HTTPConnection.java: Organized imports. - (getVersion): Javadoc fix. - (get): Likewise. - * gnu/java/net/protocol/http/Headers.java: Organized imports. - * gnu/java/net/protocol/ftp/FTPURLConnection.java: Organized imports. - -2006-03-01 David Daney - - * java/net/URL.java (URL(URL, String, URLStreamHandler)): Treat spec - as relative if it contains a colon but no protocol handler can be - found. - -2006-03-01 Roman Kennke - - * javax/swing/text/AbstractDocument.java - (LeafElement.LeafElement): Handle delta with respect to content - length not document length. - * javax/swing/text/CompositeView.java - (getViewIndex): Handle bias correctly. - * javax/swing/text/DefaultCaret.java - (paint): Align caret position to document bounds to avoid trouble - when removing large portions of content. - * javax/swing/text/DefaultStyledDocument.java - (ElementBuffer.insertFirstContentTag): Use pos instead of offset. - (ElementBuffer.createFracture): Copy old childs attribute. The - ElementSpec usually doesn't carry attribute information. - Use pos instead of offset. - (ElementBuffer.insertFracture): Use pos instead of offset. - (createDefaultRootElement): Don't use create* and instead directly - instantiate the elements. - (handleInsertAfterNewline): Compare the paragraphs startOffset - rather than previous paragraphs endOffset. - * javax/swing/text/JTextComponent.java - (getScrollableTracksViewportWidth): Remove unnecessary cast to - JViewport. - (getScrollableTracksViewportHeight): Remove unnecessary cast to - JViewport. - * javax/swing/text/PlainView.java - (damageLineRange): Avoid creating new Rectangle by using - SwingUtilities. - * javax/swing/text/View.java - (forwardUpdate): Correct the use of bias. - (modelToView): Avoid new Rectangles by using SwingUtilities. - (dump): Made (temprorarily) protected for use in BasicTextUI. - (dump(int)): Dump out the element of the view. - -2006-03-01 Lillian Angel - - * NEWS: javax.imageio.plugins.bmp implementation. - -2006-03-01 Lillian Angel - - * javax/imageio/ImageWriteParam.java: - Added documentation for fields. - * javax/imageio/plugins/bmp/BMPImageWriteParam.java: - New class implemented. - -2006-03-01 Tom Tromey - - * NEWS: Mention java.util.prefs update. - -2006-03-01 Tom Tromey - - * gnu/java/nio/channels/FileChannelImpl.java (position): Fixed typo. - * java/nio/charset/UnmappableCharacterException.java: - (serialVersionUID): New field. - * java/nio/charset/MalformedInputException.java: - (serialVersionUID): New field. - * java/nio/charset/CoderMalfunctionError.java: - (serialVersionUID): New field. - * java/nio/charset/CharacterCodingException.java: - (serialVersionUID): New field. - * java/nio/channels/UnsupportedAddressTypeException.java: - (serialVersionUID): New field. - * java/nio/channels/UnresolvedAddressException.java: - (serialVersionUID): New field. - * java/nio/channels/OverlappingFileLockException.java: - (serialVersionUID): New field. - * java/nio/channels/NotYetConnectedException.java: - (serialVersionUID): New field. - * java/nio/channels/NotYetBoundException.java - (serialVersionUID): New field. - * java/nio/channels/NonWritableChannelException.java - (serialVersionUID): New field. - * java/nio/channels/NonReadableChannelException.java - (serialVersionUID): New field. - * java/nio/channels/NoConnectionPendingException.java - (serialVersionUID): New field. - * java/nio/channels/IllegalSelectorException.java - (serialVersionUID): New field. - * java/nio/channels/IllegalBlockingModeException.java - (serialVersionUID): New field. - * java/nio/channels/FileLockInterruptionException.java - (serialVersionUID): New field. - * java/nio/channels/ConnectionPendingException.java - (serialVersionUID): New field. - * java/nio/channels/ClosedSelectorException.java (serialVersionUID): - New field. - * java/nio/channels/ClosedChannelException.java (serialVersionUID): - New field. - * java/nio/channels/ClosedByInterruptException.java - (serialVersionUID): New field. - * java/nio/channels/CancelledKeyException.java (serialVersionUID): - New field. - * java/nio/channels/AsynchronousCloseException.java - (serialVersionUID): New field. - * java/nio/channels/AlreadyConnectedException.java (serialVersionUID): - New field. - * java/nio/ReadOnlyBufferException.java (serialVersionUID): New field. - * java/nio/InvalidMarkException.java (serialVersionUID): New field. - * java/nio/BufferUnderflowException.java (serialVersionUID): New - field. - * java/nio/BufferOverflowException.java (serialVersionUID): New field. - * java/nio/channels/spi/AbstractInterruptibleChannel.java (end): - Javadoc fix. Added import. - * java/nio/channels/DatagramChannel.java (isConnected): Javadoc fix. - (validOps): Likewise. - * gnu/java/nio/charset/iconv/IconvProvider.java: Organized imports. - * gnu/java/nio/charset/iconv/IconvEncoder.java: Organized imports. - * gnu/java/nio/charset/iconv/IconvDecoder.java: Organized imports. - * java/nio/channels/Channels.java: Added import. - * java/nio/channels/FileChannel.java (lock): Typo fix. - (tryLock): Likewise. - -2006-03-01 Tom Tromey - - * java/util/prefs/Preferences.java (defaultFactoryClass): Use - FileBasedFactory. - * gnu/java/util/prefs/FileBasedPreferences.java: New file. - * java/util/prefs/AbstractPreferences.java (removeSpi): Typo fix. - (clear): Likewise. - (putSpi): Likewise. - (newNode): Likewise. - (node): Likewise. - * gnu/java/util/prefs/MemoryBasedFactory.java: Typo fix. - * gnu/java/util/prefs/FileBasedFactory.java (systemPreferences): New - field. - (systemRoot): Use it. - (userPreferences): New field. - (userRoot): Use it. - -2006-03-01 Jeroen Frijters +2007-02-19 Mark Wielaard - * java/util/ResourceBundle.java - (tryBundle): Catch and ignore all Exceptions. + * doc/.cvsignore: Add *.1. + * doc/Makefile.am (CLEANFILES): Add Tools_MANFILES. -2006-02-28 Roman Kennke +2007-02-19 Dalibor Topic - * javax/swing/plaf/basic/BasicScrollBarUI.java - (getPreferredSize): Fixed add a fixed space between the buttons - instead of something related to min/max. - (installComponents): Create and install buttons here. - (installDefaults): Don't create buttons here. - * javax/swing/plaf/metal/MetalScrollBarUI.java - (getMinimumThumbSize): Return (0,0) when UI is not yet installed. - (getPreferredSize): New method. - -2006-02-28 David Gilbert - - * examples/gnu/classpath/examples/swing/Demo.java - (mkMenuBar): Removed 'Toggles', 'Checkbox' and 'Radio' actions, - connected 'Spinner' action to SpinnerDemo, - (mkCheckbox): Removed, - (mkRadio): Likewise, - (mkSpinner): Likewise, - (mkToggle): Likewise, - (mkButtonBar): Removed 'Toggles', 'Checkbox' and 'Radio' actions, - connected 'Spinner' action to SpinnerDemo. - -2006-02-28 Wolfgang Baer - - * javax/print/ServiceUIFactory.java: Added documentation to class. - -2006-02-28 Anthony Balkissoon - - PR classpath/26434 - * javax/swing/DefaultListSelectionModel.java: - (addSelectionInterval): Return early if either of the arguments is -1. - (removeSelectionInterval): Likewise. - (setSelectionInterval): Likewise. - -2006-02-28 Lillian Angel - - * javax/swing/text/DefaultFormatter.java - (stringToValue): Added NPE check. - -2006-02-28 Roman Kennke - - PR classpath/25675 - * javax/swing/JList.java - (getPreferredScrollableViewportSize): Restored specified behaviour. - * javax/swing/plaf/metal/MetalFileChooserUI.java - (createList): Set filelist panel's preferredSize, so that it doesn't - get size into infinity for big lists. - -2006-02-28 Lillian Angel - - * javax/swing/ViewportLayout.java - (layoutContainer): Should not extend container to be - minimum size. Mauve test shows that the preferred size - and the size of the viewport can be set smaller than - the minimum. - -2006-02-28 Lillian Angel - - PR classpath/25675 - * javax/swing/JList.java - (getPreferredScrollableViewportSize): Added a check to determine - if orientation is VERTICAL_WRAP. If it is, we should only - show 3 columns. - -2006-02-28 Lillian Angel - - PR classpath/26003 - * javax/swing/ViewportLayout.java: - Patch submitted by Audrius Meskauskas - (addLayoutComponent): Added documentation. - (removeLayoutComponent): Likewise. - (preferredLayoutSize): Likewise. - (minimumLayoutSize): Likewise. - (layoutContainer): Fixed code, so view is set - to the right position when inside a scrollpane. - -2006-02-28 Anthony Balkissoon - - * java/math/BigInteger.java: - Committed patch by Rafael: - developer.classpath.org/pipermail/classpath-patches/ - 2006-February/000473.html - (signum): Return early 0 if words == null and ival == 0. - (readObject): Handle special case of magnitude.length or signum being - 0. - (writeObject): If signum is zero return a zero-sized byte[]. - -2006-02-28 Lillian Angel - - * gnu/java/awt/peer/gtk/GtkFileDialogPeer.java - (create): Initially set the directory to the current working directory. - (setDirectory): Removed else-if. No need for this check. - -2006-02-28 Tom Tromey - - * .project: Run java builder before header generation. - -2006-02-28 Tom Tromey - - * gnu/java/util/prefs/MemoryBasedPreferences.java (childrenNamesSpi): - Javadoc fix. - * gnu/java/util/prefs/EventDispatcher.java: New file. - * gnu/java/util/prefs/NodeWriter.java (NodeWriter): Removed. - (NodeWriter): Specify UTF-8. - (writeHeader): Emit DOCTYPE. - * java/util/prefs/Preferences.java (getFactory): Add cause to - exception. - (exportNode): Documented. - (exportSubtree): Likewise. - (importPreferences): Likewise. - * java/util/prefs/NodeChangeEvent.java (readObject): New method. - (writeObject): Likewise. - * java/util/prefs/PreferenceChangeEvent.java (readObject): New method. - (writeObject): Likewise. - * java/util/prefs/AbstractPreferences.java (putBoolean): Use 1.4 code. - (nodeListeners): New field. - (preferenceListeners): Likewise. - (addNodeChangeListener): Implemented. - (addPreferenceChangeListener): Likewise. - (removeNodeChangeListener): Likewise. - (removePreferenceChangeListener): Likewise. - (fire): New methods. - (put): Fire event. - (remove): Likewise. - (purge): Likewise. Fixed synchronization. - (removeNode): Fixed synchronization. - (getNode): Fire event. - (flushNode): Fixed synchronization. - -2006-02-28 Roman Kennke - - * javax/swing/text/BranchElement.java - (startOffset): New field. - (endOffset): New field. - (BranchElement): Initialize new fields. - (getEndOffset): Rewritten to possibly return cached values - if element has no children. - (getStartOffset): Rewritten to possibly return cached values - if element has no children. - * javax/swing/text/LeafElement.java - (startDelta): New field. - (endDelta): New field. - (LeafElement): Handle possible delta of start/endOffset when - these parameters lie outside the document range. - (getStartOffset): Handle possible startDelta. - (getEndOffset): Handle possible startDelta. - -2006-02-28 Anthony Balkissoon - - * NEWS: Added line about Unicode 4.0.0 support. - -2006-02-28 Roman Kennke - - * javax/swing/SwingUtilities.java - (layoutCompoundLabel): Set textIconGap to 0 when icon == null. - -2006-03-01 Raif S. Naffah - - * gnu/classpath/debug/Simple1LineFormatter.java: New file. - -2006-03-01 Raif S. Naffah - - * gnu/java/security/sig/rsa/RSAPKCS1V1_5SignatureX509Codec.java: - Amended class documentation. - (encodeSignature): Emit the ASN.1 raw bytes not the DER-encoded BIT - STRING. - (decodeSignature): Parse the ASN.1 raw bytes of a BIT STRING and not - a BIT STRING construct. - * gnu/java/security/sig/dss/DSSSignatureX509Codec.java: Amended class - documentation. - (encodeSignature): Emit the ASN.1 raw bytes not the DER-encoded BIT - STRING. - (decodeSignature): Parse the ASN.1 raw bytes of a BIT STRING and not - a BIT STRING construct. - * gnu/java/security/jce/sig/SignatureAdapter.java (log): New field. - (engineVerify): Added logging. - -2006-02-28 Roman Kennke + * cp-hacking.texinfo, cp-tools.texinfo, + cp-vmintegration.texinfo: Prefix output file name + with cp. - * java/awt/Component.java - (dispatchEventImpl): Let the Toolkit dispatch global events. - * java/awt/Container.java - (dispatchEventImpl): Let the LightweightDispatcher handle events - first. - * java/awt/EventQueue.java - (dispatchEvent): Don't do the global event dispatching here. This - is moved to the Component. - (globalDispatchEvent): Moved this method to Toolkit. - * java/awt/LightweightDispatcher.java - (instances): New field. - (getInstance): New method. Delivers an instance of - LightweightDispatcher. - (LightweightDispatcher): Made default constructor private. - (dispatchEvent): New method. Replaces the eventDispatched method. - This now returns true when the event was actually dispatched. - (eventDispatched): Replaced by dispatchEvent. - (handleMouseEvent): Send MOUSE_CLICKED to the same component that - received the last MOUSE_RELEASED. - * java/awt/Toolkit.java - (Toolkit): Don't register LightweightDispatcher as global event - handler. - (globalDispatchEvent): Moved here from EventQueue. - -2006-02-27 David Daney - - PR classpath/25851 - * gnu/java/net/protocol/http/HTTPURLConnection.java (imports) Cleaned - up. - (getRequestProperties): Rewrote. - -2006-02-27 David Daney - - PR classpath/26312 - * gnu/java/net/protocol/http/ChunkedInputStream.java (imports): Cleaned - up. - (ChunkedInputStream): Extend InputStream. - (in): New field. - (headers): Moved to top of class. - (constructor): Save referenct to in. - (read(byte[])): Removed method. - (read(byte[], int, int)): Made synchronized and throw IOException - on error parsing chunk header. - (available): New method. - (close): New method. - -2006-02-27 David Daney - - * gnu/java/net/protocol/http/HTTPURLConnection.java - (imports): Cleaned up. - (GetHTTPPropertiesAction): Removed, and moved contents to ... - (constructor): ... Here, using SystemProperties instead of System. - -2006-02-27 Lillian Angel +2007-02-19 Gary Benson - * gnu/java/awt/peer/gtk/GtkFileDialogPeer.java - (setDirectory): GtkFileChooser requires an absolute directory - name. Added a check to make the directory passed to nativeSetDirectory - is absolute. + * javax/management/ObjectName.java + (properties): Initialize when declared. + (ObjectName(String)): Don't initialize properties here. + (ObjectName(String, String, String): Likewise. -2006-02-27 Roman Kennke +2007-02-19 Chris Burdess - * javax/swing/SwingUtilities.java - (computeIntersection): Changed to store result in rect, instead of - creating new Rectangle instances. Fixed API docs accordingly. - (computeUnion): Changed to store result in rect, instead of - creating new Rectangle instances. Fixed API docs accordingly. + Fixes #30831 + * gnu/xml/dom/ls/SAXEventSink.java: Only set extended document + properties when reader is available. -2006-02-27 Roman Kennke +2007-02-19 Andrew John Hughes - * javax/swing/JViewport.java - (static_init): Changed default scrollmode to BLIT. - (paintSimple): Added some clipping to avoid painting problems. - (paintBlit): Added some clipping to avoid painting problems. - -2006-02-27 Roman Kennke - - * javax/swing/JComponent.java - (rectCache): Made field static to save memory. - (getVisibleRect): Don't use rectCache and create new Rectangle - instance instead. - (repaint(Rectangle)): Directly call RepaintManager.addDirtyRegion(). - (repaint(long,int,int,int,int)): Directly call - RepaintManager.addDirtyRegion(). The visibleRect check is now - performed in the RepaintManager. - -2006-02-27 Roman Kennke - - * javax/swing/RepaintManager.java - (currentRepaintManagers): Made field private. - (rectCache): New field. - (addDirtyRegion): Clip dirty rectangle with visible rectangle of - component. Changed Rectangle handling to avoid unnecessary new - Rectangle instances. - (getOffscreenBuffer): Create buffer with size of the root window. - Respect the maximum buffer size here. - (commitBuffer): Align the regions so that they are inside the buffer - image and inside the clip. This avoids problems with a bug in GTKImage. - Fixed Rectangle handling to avoid creation of new Rectangle instances. - -2006-02-26 Andrew John Hughes - - * native/fdlibm/e_acos.c, - * native/fdlibm/e_asin.c, - * native/fdlibm/e_atan2.c, - * native/fdlibm/e_cosh.c, - * native/fdlibm/e_exp.c, - * native/fdlibm/e_fmod.c, - * native/fdlibm/e_hypot.c, - * native/fdlibm/e_log.c, - * native/fdlibm/e_log10.c, - * native/fdlibm/e_rem_pio2.c, - * native/fdlibm/e_remainder.c, - * native/fdlibm/e_sinh.c, - * native/fdlibm/e_sqrt.c, - * native/fdlibm/k_cos.c, - * native/fdlibm/k_sin.c, - * native/fdlibm/k_tan.c, - * native/fdlibm/s_atan.c, - * native/fdlibm/s_cbrt.c, - * native/fdlibm/s_ceil.c, - * native/fdlibm/s_copysign.c, - * native/fdlibm/s_cos.c, - * native/fdlibm/s_expm1.c, - * native/fdlibm/s_fabs.c, - * native/fdlibm/s_finite.c, - * native/fdlibm/s_floor.c, - * native/fdlibm/s_log1p.c, - * native/fdlibm/s_rint.c, - * native/fdlibm/s_scalbn.c, - * native/fdlibm/s_sin.c, - * native/fdlibm/s_tan.c, - * native/fdlibm/s_tanh.c: - Fixed to call our macros rather than __HI and __LO. - * native/fdlibm/fdlibm.h: - Reintroduced previous extraction code. - (EXTRACT_WORDS(ix0,ix1,d)): Readded. - (GET_HIGH_WORD(i,d)): Readded. - (GET_LOW_WORD(i,d)): Readded. - (INSERT_WORDS(d,ix0,ix1)): Readded. - (SET_HIGH_WORD(d,i)): Readded. - (SET_LOW_WORD(d,i)): Readded. - * native/jni/gtk-peer/gthread-jni.c: - Use Glib macros to convert integers/pointers portably. - -2006-02-26 Raif S. Naffah - - * java/security/SecureRandom.java (SecureRandom): Use GNU-CRYPTO class - as the fallback SPI. - * gnu/java/security/provider/Gnu.java (run): Replaced mappings with new - ones referencing GNU-CRYPTO classes. - * gnu/java/security/provider/PKIXCertPathValidatorImpl.java - (engineValidate): Use GNU-CRYPTO class. - * gnu/java/security/provider/DiffieHellmanKeyFactoryImpl: Removed. - * gnu/java/security/provider/DiffieHellmanKeyPairGeneratorImpl: Likewise. - * gnu/java/security/provider/DSAKeyFactory: Likewise. - * gnu/java/security/provider/DSAKeyPairGenerator: Likewise. - * gnu/java/security/provider/DSAParameters: Likewise. - * gnu/java/security/provider/DSASignature: Likewise. - * gnu/java/security/provider/EncodedKeyFactory: Likewise. - * gnu/java/security/provider/GnuDHPublicKey: Likewise. - * gnu/java/security/provider/GnuDSAPrivateKey: Likewise. - * gnu/java/security/provider/GnuDSAPublicKey: Likewise. - * gnu/java/security/provider/GnuRSAPrivateKey: Likewise. - * gnu/java/security/provider/GnuRSAPublicKey: Likewise. - * gnu/java/security/provider/MD2withRSA: Likewise. - * gnu/java/security/provider/MD4withRSA: Likewise. - * gnu/java/security/provider/MD5: Likewise. - * gnu/java/security/provider/MD5withRSA: Likewise. - * gnu/java/security/provider/RSA: Likewise. - * gnu/java/security/provider/RSAKeyFactory: Likewise. - * gnu/java/security/provider/SHA: Likewise. - * gnu/java/security/provider/SHA1PRNG: Likewise. - * gnu/java/security/provider/SHA1withRSA: Likewise. - * gnu/javax/crypto/GnuDHPrivateKey: Likewise. - -2006-02-26 Raif S. Naffah - - * gnu/java/security/jce/sig/EncodedKeyFactory.java (log): New field. - (engineGeneratePublic): Added logging. - (engineGeneratePrivate): Likewise. - * gnu/java/security/key/rsa/RSAKeyPairX509Codec.java (log): New field. - (encodePublicKey): Added logging. - Clarified in method documentation that params is optional, but is - always NULL if present. - (decodePublicKey): Added logging. - Handle optional NULL element. - -2006-02-26 Raif S. Naffah - - * java/util/logging/FileHandler.java: Fixed a javadoc reference. - -2006-03-03 Tom Tromey - - * java/awt/MenuBar.java (shortcuts): Genericized. - -2006-03-03 Tom Tromey - - * java/beans/EventSetDescriptor.java (EventSetDescriptor): - Genericized. - (getListenerType): Likewise. - * java/beans/Introspector.java (getBeanInfo): Genericized. - * java/beans/DefaultPersistenceDelegate.java (initialize): + * javax/management/MBeanServer.java: + (queryMBeans(ObjectName,QueryExp)): Returned + generically-typed Set. + (queryNames(ObjectName,QueryExp)): Likewise. + * javax/management/MBeanServerConnection.java: + (queryMBeans(ObjectName,QueryExp)): Returned + generically-typed Set. + (queryNames(ObjectName,QueryExp)): Likewise. + * javax/management/ObjectName.java: + Use a generically-typed TreeMap. + (ObjectName(String,Hashtable): Genericized. - -2006-03-01 Anthony Balkissoon - - * java/math/BigDecimal.java: - (precision): Fixed overflow problem with large numbers. - (longValueExact): New method. - (intValueExact): Likewise. - (byteValueExact): Likewise. - (shortValueExact): Likewise. - -2006-03-01 Anthony Balkissoon - - * java/math/BigDecimal.java: - (remainder(BigDecimal)): New method. - (divideAndRemainder(BigDecimal)): Likewise. - (divideToIntegralValue(BigDecimal)): Likewise. - (floor): New implementation method. - -2006-02-28 Anthony Balkissoon - - * java/math/BigDecimal.java: - (divide(BigDecimal, int, RoundingMode)): New method. - (divide(BigDecimal, RoundingMode)): Likewise. - (divide(BigDecimal, int, int)): Removed incorrect throwing of exception - when the new scale is < 0. - (setScale(int, RoundingMode)): New method. - (ulp): Likewise. - -2006-02-27 Anthony Balkissoon - - * java/math/BigDecimal.java: Replaced occurences of BigInteger.valueOf - with BigInteger.ZERO, BigInteger.ONE, BigInteger.TEN where appropriate. - (add(BigDecimal, MathContext)): New method. - (subtract(BigDecimal, MathContext)): Likewise. - (precision): Fixed to correctly handle BigIntegers with more than 19 - digits. - (pow(int, MathContext)): New method. - -2006-02-27 Anthony Balkissoon - - * java/math/BigDecimal.java: Added @throws clause to constructors. - (mathContext): Removed this unneeded field. - (BigDecimal(int, MathContext)): New constructor. - (BigDecimal(BigInteger, int, MathContext)): Likewise. - (multiply(BigDecimal, MathContext)): New method. - (negate(MathContext)): Likewise. - (plus(MathContext)): Likewise. - (numDigitsInLong): Fixed to properly handle negatives. - -2006-02-25 Chris Burdess - - * gnu/java/net/CRLFInputStream.java, - gnu/java/net/LineInputStream.java: Streams that use mark - capabilities on the underlying stream do not expose mark - functionality themselves. - * gnu/xml/stream/CRLFReader.java: Fix incorrect end condition when - off > 0. - -2006-02-25 Ito Kazumitsu - - * gnu/regexp/REMatch.java(matchFlags): New int field used as - option flags passed to match methods. - (MF_FIND_ALL): New flag. - * gnu/regexp/RETokenOneOf.java(matchP): Unless MF_FIND_ALL is set, - do not try other possibilties once a match is found. - * gnu/regexp/RETokenRepeated.java(findDoables): Set MF_FIND_ALL - so that all possibilities can be found. - (match): Rewritten using new methods matchMinimum and _match. - (_match): New method which performs a depth-first recursive search. - (matchMinimum): New method. - (initVisited), (visitedContains), (addVisited): New methods for - manipulating an array of icharacter positions which _match has - already visited. - -2006-02-24 Anthony Balkissoon - - * java/math/BigDecimal.java: - (BigDecimal(long, MathContext)): New constructor. - (BigDecimal(BigInteger, MathContext)): Likewise. - (BigDecimal(String, MathContext)): Likewise. - (BigDecimal(double, MathContext)): Likewise. - (round): Fixed a typo where the precision field was used instead of a - call to the precision method, and also store the new precision in the - returned BigDecimal. - (abs(MathContext)): New method. - -2006-02-24 Anthony Balkissoon - - * java/math/BigDecimal.java - (toBigInteger): Fixed problem where this method couldn't handle - negative values for scale. - (toBigIntegerExact): New method. - (stripTrailingZeros): Likewise. - -2006-02-24 David Daney - - PR classpath/26082 - * gnu/java/net/protocol/http/HTTPConnection.java (pool): Changed to - type Pool. - (Pool): New inner class. - (timeLastUsed): New field. - (setPool): Changed parameter type to Pool. - (release): Moved pool management logic to new class Pool. - * gnu/java/net/protocol/http/HTTPURLConnection.java (connectionPool): - Removed. - (maxConnections) : Removed. - (GetHTTPPropertiesAction.run): Don't initialize maxConnections. - (getConnection): Moved pool management logic to HTTPConnection.Pool. - -2006-02-24 Lillian Angel - - * java/awt/Container.java: - Added new field. True if Container has been cleared and - heavyweights need to be repainted. - (paint): Fixed comment. Fixed to use backCleared and - reset backCleared. - (update): Set backCleared to true after the background - of the container has been cleared. - -2006-02-24 Lillian Angel - - * java/awt/TextField.java - (addNotify): Added call to super. - -2006-02-24 Lillian Angel - - * java/awt/Component.java - (reshape): Reverted last patch. Should have check here. - (addNotify): Added check. If parent is lightweight, then - initialize listener on the parent. - (HeavyweightInLightweightListener): New class. - -2006-02-24 Roman Kennke - - * javax/swing/plaf/basic/BasicComboPopup.java - (show): Register the popup with the autocloser after it has been - opened completely, by putting the registration on the eventqueue. - -2006-02-24 Andrew John Hughes - - * gnu/java/security/prng/BasePRNG.java: - (clone()): Added cast of buffer to byte[]. - * gnu/javax/crypto/mac/TMMH16.java: - (clone()): Fixed casting of cloned arrays. - * native/fdlibm/fdlibm.h: - Added missing defines from old fdlibm.h needed by Darwin. - (GET_FLOAT_WORD(i,d)): Re-added. - (SET_FLOAT_WORD(d,i)): Re-added. - -2006-02-24 Roman Kennke - - * java/awt/Container.java: - (dispatcher): Removed field. - (dispatchEventImpl): Removed lightweight dispatching. - (addNotifyContainerChildren): Removed LightweightDispatcher - handling. - (LightweightDispatcher): Removed class. - * java/awt/LightweightDispatcher.java: New class. - * java/awt/Toolkit.java - (Toolkit): Install LightweightDispatcher in global listener - array. - -2006-02-24 Chris Burdess - - Fixes PR 26324 - * gnu/java/net/CRLFInputStream.java: Fix incorrect end condition when - off > 0. - -2006-02-24 Andrew John Hughes - - * NEWS: Mentions the VMMath runtime changes. - * doc/vmintegration.texinfo: Updated to include - VMMath. - -2006-02-24 Roman Kennke - - * javax/swing/plaf/basic/BasicLookAndFeel.java - (PopupHelper.autoClosePopups): New field. - (PopupHelper.mousePressed): Also autoclose any registered popups. - (PopupHelper.registerForAutoClose): New method. - (PopupHelper.autoClosePopups): New method. - (popupHelper): Changed type of field to PopupHelper. - (registerForAutoClose): New method. - * javax/swing/plaf/basic/BasicComboPopup.java - (show): Register this popup for autoclosing. - -2006-02-24 Raif S. Naffah - - * gnu/javax/crypto/mac/TMMH16.java (clone): New method. - * gnu/java/security/prng/MDGenerator.java (clone): New method. - * gnu/java/security/prng/BasePRNG.java (clone): Clone buffer. - -2006-02-24 Roman Kennke - - Reported by Ingo Proetel - * java/util/logging/LogManager.java - (addLogger): Search the parent loggers for log level - configuration and inherit that. - (readConfiguration): Provide minimal default configuration - if no configuration can be found otherwise. - -2006-02-23 Anthony Balkissoon - - * java/math/BigDecimal.java: - (toString): Fixed a problem where the negative sign was being displayed - twice in the exponent. - (toEngineeringString): New method. - (toPlainString): Likewise. - (pow): Likewise. - -2006-02-23 Anthony Balkissoon - - * java/math/BigDecimal.java: - (toString): Rewrote this method to behave as specified. Added API - comments to explain behaviour. - (scaleByPowerOfTen): New method. - -2006-02-23 Roman Kennke - - * javax/swing/JRootPane.java - (isOptimizedDrawingEnabled): Implemented to return true - when the glassPane is not visible. - -2006-02-23 Roman Kennke - - * javax/swing/plaf/basic/BasicLookAndFeel.java - (PopupHelper): New inner class. - (popupHelper): New field. - (initialize): New method. - (uninitialize): New method. - * javax/swing/plaf/basic/BasicPopupMenuUI.java - (mouseInputListener): Removed field. - (PopupMenuHandler.popupMenuWillBecomeInvisible): Removed - handling of GlassPane. - (PopupMenuHandler.popupMenuWillBecomeVisible): Removed - handling of GlassPane. - (MouseInputHandler): Removed class. - -2006-02-23 Roman Kennke - - * java/awt/AWTEvent.java - (eventIdToMask): New utility method. - * java/awt/EventQueue.java - (dispatchEvent): Also globally dispatch events via the toolkit. - (globalDispatchEvent): New method. - * java/awt/Toolkit.java - (awtEventListeners): New field. - (Toolkit()): Initialize new field. - (createComponent): Create GLightweightPeer here. - (addAWTEventListener): Implemented and documented. - (removeAWTEventListener): Implemented and documented. - (getAWTEventListeners): Implemented and documented both method - variants. - * java/awt/event/AWTEventListenerProxy.java - (eventDispatched): Don't filter events here. - -2006-02-23 Chris Burdess - - Fixes PR 26410 - * gnu/xml/dom/DomDocumentBuilderFactory.java, - gnu/xml/dom/JAXPFactory.java, - gnu/xml/libxmlj/dom/GnomeDocumentBuilderFactory.java, - javax/xml/parsers/DocumentBuilderFactory.java: Add and trivially - implement DocumentBuilderFactory.get/setFeature methods. - -2006-02-23 Lillian Angel - - * gnu/java/awt/peer/GLightweightPeer.java - (repaint): Scott's proposed fix. Send repaint to the - component's parent. - * gnu/java/awt/peer/gtk/GtkComponentPeer.java - (setBounds): Removed next_parent, not needed. Removed - lightweightChild, we always need to compensate for the - menu bar's height. - * java/awt/Component.java - (setBounds): Removed check. Caused lots of problems, because some - components were not being invalidated. Components should be - invalidated when they are resized or moved, and in some cases, - when a parent is resized/moved, the components do not know - about it and do not adjust. - * java/awt/Graphics.java - (hitClip): Scott's proposed fix. Added check to handle a - null clip. - -2006-02-23 Wolfgang Baer - - * javax/print/attribute/standard/MediaSize.java: - (media): Field renamed to mediaName for serialization. - (MediaSize): Adapted to new fieldname. - (getMediaSizeName): Likewise. - * javax/print/attribute/HashAttributeSet.java: - (interfaceName): Field renamed to myInterface for serialization. - (HashAttributeSet): Adapted to the new fieldname. - (add): Likewise. - (addAll): Likewise. - (addInternal): Likewise. - (attributeMap): Made transient. - (readObject): New serialization method. - (writeObject): Likewise. - * javax/print/attribute/AttributeSetUtilities.java: - (SynchronizedAttributeSet.set): Field renamed to attrset for serialization. - (SynchronizedAttributeSet.add): Adapted to the new fieldname. - (SynchronizedAttributeSet.addAll): Likewise. - (SynchronizedAttributeSet.clear): Likewise. - (SynchronizedAttributeSet.containsKey): Likewise. - (SynchronizedAttributeSet.containsValue): Likewise. - (SynchronizedAttributeSet.equals): Likewise. - (SynchronizedAttributeSet.get): Likewise. - (SynchronizedAttributeSet.hashCode): Likewise. - (SynchronizedAttributeSet.isEmpty): Likewise. - (SynchronizedAttributeSet.remove): Likewise. - (SynchronizedAttributeSet.size): Likewise. - (SynchronizedAttributeSet.toArray): Likewise. - (UnmodifiableAttributeSet.set): Field renamed to attrset for serialization. - (UnmodifiableAttributeSet.add): Adapted to the new fieldname. - (UnmodifiableAttributeSet.addAll): Likewise. - (UnmodifiableAttributeSet.clear): Likewise. - (UnmodifiableAttributeSet.containsKey): Likewise. - (UnmodifiableAttributeSet.containsValue): Likewise. - (UnmodifiableAttributeSet.equals): Likewise. - (UnmodifiableAttributeSet.get): Likewise. - (UnmodifiableAttributeSet.hashCode): Likewise. - (UnmodifiableAttributeSet.isEmpty): Likewise. - (UnmodifiableAttributeSet.remove): Likewise. - (UnmodifiableAttributeSet.size): Likewise. - (UnmodifiableAttributeSet.toArray): Likewise. - * javax/print/attribute/standard/MediaPrintableArea.java: - (width): Field renamed to w for serialization. - (height): Field renamed to h for serialization. - (MediaPrintableArea): Adapted to the new fieldnames. - (MediaPrintableArea): Likewise. - (equals): Likewise. - (hashCode): Likewise. - (getHeight): Likewise. - (getWidth): Likewise. - -2006-02-23 Andrew John Hughes - - * include/java_lang_VMMath.h: - (Java_java_lang_VMMath_cbrt(JNIEnv*,jclass,jdouble)): Added. - (Java_java_lang_VMMath_cosh(JNIEnv*,jclass,jdouble)): Added. - (Java_java_lang_VMMath_expm1(JNIEnv*,jclass,jdouble)): Added. - (Java_java_lang_VMMath_hypot(JNIEnv*,jclass,jdouble,jdouble)): Added. - (Java_java_lang_VMMath_log10(JNIEnv*,jclass,jdouble)): Added. - (Java_java_lang_VMMath_log1p(JNIEnv*,jclass,jdouble)): Added. - (Java_java_lang_VMMath_sinh(JNIEnv*,jclass,jdouble)): Added. - (Java_java_lang_VMMath_tanh(JNIEnv*,jclass,jdouble)): Added. - * java/lang/Math.java: - (cbrt(double)): Implemented. - (cosh(double)): Implemented. - (expm1(double)): Implemented. - (hypot(double,double)): Implemented. - (log10(double)): Implemented. - (log1p(double)): Implemented. - (signum(double)): Implemented. - (signum(float)): Implemented. - (sinh(double)): Implemented. - (tanh(double)): Implemented. - * native/fdlibm/Makefile.am: - Added new files from fdlibm 5.3. - * native/fdlibm/e_acos.c, - * native/fdlibm/e_asin.c, - * native/fdlibm/e_atan2.c, - * native/fdlibm/e_exp.c, - * native/fdlibm/e_fmod.c, - * native/fdlibm/e_log.c, - * native/fdlibm/e_rem_pio2.c, - * native/fdlibm/e_remainder.c, - * native/fdlibm/e_scalb.c, - * native/fdlibm/e_sqrt.c, - * native/fdlibm/k_cos.c, - * native/fdlibm/k_rem_pio2.c, - * native/fdlibm/k_sin.c, - * native/fdlibm/k_tan.c, - * native/fdlibm/s_atan.c, - * native/fdlibm/s_ceil.c, - * native/fdlibm/s_copysign.c, - * native/fdlibm/s_cos.c, - * native/fdlibm/s_fabs.c, - * native/fdlibm/s_finite.c, - * native/fdlibm/s_floor.c, - * native/fdlibm/s_rint.c, - * native/fdlibm/s_scalbn.c, - * native/fdlibm/s_sin.c, - * native/fdlibm/s_tan.c, - * native/fdlibm/w_acos.c, - * native/fdlibm/w_asin.c, - * native/fdlibm/w_atan2.c, - * native/fdlibm/w_acos.c, - * native/fdlibm/w_exp.c, - * native/fdlibm/w_fmod.c, - * native/fdlibm/w_log.c, - * native/fdlibm/w_pow.c, - * native/fdlibm/w_remainder.c, - * native/fdlibm/w_sqrt.c: - Updated to fdlibm 5.3. - * native/fdlibm/e_cosh.c, - * native/fdlibm/e_hypot.c, - * native/fdlibm/e_log10.c, - * native/fdlibm/e_sinh.c, - * native/fdlibm/s_cbrt.c, - * native/fdlibm/s_expm1.c, - * native/fdlibm/s_log1p.c, - * native/fdlibm/s_tanh.c, - * native/fdlibm/w_cosh.c, - * native/fdlibm/w_hypot.c, - * native/fdlibm/w_log10.c, - * native/fdlibm/w_sinh.c: - Imported from fdlibm 5.3. - * native/fdlibm/fdlibm.h: - Imported from fdlibm 5.3 with Classpath additions. - * native/fdlibm/namespace.h: - Updated from new math_symbols file. - * native/jni/java-lang/java_lang_VMMath.c: - (Java_java_lang_VMMath_cbrt(JNIEnv*,jclass,jdouble)): Implemented. - (Java_java_lang_VMMath_cosh(JNIEnv*,jclass,jdouble)): Implemented. - (Java_java_lang_VMMath_expm1(JNIEnv*,jclass,jdouble)): Implemented. - (Java_java_lang_VMMath_hypot(JNIEnv*,jclass,jdouble,jdouble)): - Implemented. - (Java_java_lang_VMMath_log10(JNIEnv*,jclass,jdouble)): Implemented. - (Java_java_lang_VMMath_log1p(JNIEnv*,jclass,jdouble)): Implemented. - (Java_java_lang_VMMath_sinh(JNIEnv*,jclass,jdouble)): Implemented. - (Java_java_lang_VMMath_tanh(JNIEnv*,jclass,jdouble)): Implemented. - * scripts/math_symbols: - Added tanh, expm1, log10 and log1p. - * vm/reference/java/lang/VMMath.java: - (cbrt(double)): Implemented. - (cosh(double)): Implemented. - (expm1(double)): Implemented. - (hypot(double,double)): Implemented. - (log10(double)): Implemented. - (log1p(double)): Implemented. - (sinh(double)): Implemented. - (tanh(double)): Implemented. - -2006-02-23 Wolfgang Baer - - * javax/print/DocFlavor.java: Added documentation all over. - (BYTE_ARRAY.TEXT_HTML_HOST): Include host charset encoding to mimetype. - (BYTE_ARRAY.TEXT_PLAIN_HOST): Likewise. - (INPUT_STREAM.TEXT_HTML_HOST): Likewise. - (INPUT_STREAM.TEXT_PLAIN_HOST): Likewise. - (URL.TEXT_HTML_HOST): Likewise. - (URL.TEXT_PLAIN_HOST): Likewise. - (hostEncoding): Initialize with host default charset encoding. - (mediaSubtype): Made transient. - (mediaType): Likewise. - (params): Made transient. Changed type to TreeMap. - (className): Removed, changed to myClassName. - (myClassName): New field as defined in serialized form. - (DocFlavor): Adapted to new variable types, names. - (parseMimeType): Reimplemented. - (getParameter): Search with lowercase name. - (getRepresentationClassName): Adapted to changed variable name. - (hashCode): Likewise. - (toString): Reimplemented. - (readObject): New method for serialization. - (writeObject): Likewise. - -2006-02-23 Roman Kennke - - * javax/swing/RepaintManager.java - (commitBuffer): Clip the repaint area with the current clip. - -2006-02-23 Raif S. Naffah - - * gnu/javax/crypto/key/dh/GnuDHKeyPairGenerator.java - (DEFAULT_PRIME_SIZE): Made public. - (DEFAULT_EXPONENT_SIZE): Likewise. - (setup): Handle DHParameterSpec as well. - * gnu/javax/crypto/key/dh/GnuDHKey.java (getEncoded): Return - defaultFormat instead of Raw. - * gnu/javax/crypto/key/dh/DHKeyPairX509Codec.java - (checkIsConstructed): Removed. - (checkIsBigInteger): Likewise. - (decodePublicKey): Use DerUtil. - * gnu/javax/crypto/key/dh/DHKeyPairPKCS8Codec.java - (checkIsConstructed): Removed. - (checkIsBigInteger): Likewise. - (decodePrivateKey): Use DerUtil. - * gnu/javax/crypto/jce/GnuCrypto.java (run): Updated mapping of - KeyAgreement.DH. - Added mappings for AlgorithmParameters.DH and - AlgorithmParameterGenerator.DH. - * gnu/javax/crypto/jce/DiffieHellmanImpl.java: New file. - * gnu/javax/crypto/jce/sig/DHParametersGenerator.java: Likewise. - * gnu/javax/crypto/jce/sig/DHParameters.java: Likewise. - * gnu/javax/crypto/jce/sig/DHKeyFactory.java (engineGeneratePrivate): - Return result. - (engineGeneratePublic): Likewise. - * gnu/java/security/util/DerUtil.java: New file. - * gnu/java/security/sig/rsa/RSASignatureFactory.java (getNames): - Include only valid RSA PKCS1 (v1.5) signature names. - * gnu/java/security/sig/rsa/RSAPKCS1V1_5SignatureX509Codec.java - (RSAPKCS1V1_5SignatureX509Codec): Removed. - (checkIsConstructed): Likewise. - * gnu/java/security/sig/dss/DSSSignatureX509Codec.java - (checkIsConstructed): Removed. - (checkIsBigInteger): Likewise. - (decodeSignature): Use DerUtil. - * gnu/java/security/key/rsa/RSAKeyPairX509Codec.java - (checkIsConstructed): Removed. - (checkIsBigInteger): Likewise. - (decodePublicKey): Use DerUtil. - * gnu/java/security/key/rsa/RSAKeyPairPKCS8Codec.java - (checkIsConstructed): Removed. - (checkIsBigInteger): Likewise. - (decodePrivateKey): Use DerUtil. - * gnu/java/security/key/dss/DSSKeyPairX509Codec.java - (checkIsConstructed): Removed. - (checkIsBigInteger): Likewise. - (decodePublicKey): Use DerUtil. - * gnu/java/security/key/dss/DSSKeyPairPKCS8Codec.java - (checkIsConstructed): Removed. - (checkIsBigInteger): Likewise. - (decodePrivateKey): Use DerUtil. - * gnu/java/security/key/dss/DSSKeyPairGenerator.java - (DEFAULT_MODULUS_LENGTH): Made it public. - * gnu/java/security/key/dss/DSSKey.java (getEncoded): Return - defaultFormat instead of Raw. - * gnu/java/security/jce/sig/DSSParametersGenerator.java: New file. - * gnu/java/security/jce/sig/DSSParameters.java: Likewise.. - * gnu/java/security/jce/sig/DSSKeyFactory.java (engineGeneratePrivate): - Return result. - (engineGeneratePublic): Likewise. - * gnu/javax/crypto/DiffieHellmanImpl: Removed. - -2006-02-22 Anthony Balkissoon - - * java/math/BigDecimal.java: - (BigDecimal(char[], int, int, MathContext)): New constructor. - (BigDecimal(char[], MathContext)): Likewise. - (BigDecimal(char[])): Likewise. - (BigDecimal(char[], int, int)): Likewise. - (BigDecimal(String)): Fixed handling of exponent and scale. - -2006-02-22 Mark Wielaard - - * java/awt/Checkbox.java (setState): Check that state actually changed - before calling peer. - (dispatchEventImpl): Set new state if ItemEvent. - * gnu/java/awt/peer/gtk/GtkCheckboxPeer.java (changing): Removed. - (create): Set currentState. - (setState): Make synchronized, check and set currentState before - calling gtkToggleButtonSetActive. - (postItemEvent): Make synchronized, check and set currentState before - posting ItemEvent. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c - (postItemEventID): Method now takes boolean. - (item_toggled_cb): Likewise. - -2006-02-22 Robert Schuster - - * javax/swing/text/DefaultHighlighter.java: - (changeHighlight): Added code to minimize the damaged area. - -2006-02-22 Robert Schuster - - * javax/swing/text/PlainView.java: - (getPreferredSpan): Added missing 'break'. - statement which corrects an unwanted fall through. - (updateDamage): Update maxLineLength correctly when text is - removed, call preferenceChanged accordingly. - (viewToModel): Restrict line number to be within 0 and the - number of elements-1. - -2006-02-22 Robert Schuster - - * javax/swing/text/Utilities.java: - (getPositionAbove): Prefer first value by changing comparison - from < to <=. - (getPositionBelow): Dito. - -2006-02-22 Robert Schuster - - * javax/swing/text/DefaultEditorKit.java: Added checks and fallback - behavior when magic caret position is null. - -2006-02-22 Roman Kennke - - * javax/swing/JTextField.java - (isValidateRoot): New method. - -2006-02-22 Roman Kennke - - * javax/swing/JEditorPane.java - (getPreferredSize): Rewritten to behave like the reference impl. - (getScrollableTracksViewportWidth): Likewise. - (getScrollableTracksViewportHeight): Likewise. - -2006-02-22 Roman Kennke - - * javax/swing/RepaintManager.java - (addInvalidComponent): Also consider the component itself. - -2006-02-22 Mark Wielaard - - * javax/swing/text/html/HTMLDocument.java (createDefaultRoot): Fully - qualify AbstractDocument.AttributeContext. - (blockOpen): Likewise. - -2006-02-21 Anthony Balkissoon - - * java/math/BigDecimal.java: - (mathContext): New field. - (precision): Likewise. - (BigDecimal(int)): New constructor. - (BigDecimal(long)): Likewise. - (BigDecimal(BigInteger)): Added API docs. - (BigDecimal(BigInteger, int)): Removed incorrect NumberFormatException - and added API docs. - (plus): New method. - (round): Likewise. - (precision): Likewise. - (valueOf): Likewise. - (numDigitsInLong): New implementation method. - -2006-02-21 Anthony Balkissoon - - * java/math/MathContext.java: New class. - * java/math/RoundingMode: New Enum. - -2006-02-21 Mark Wielaard - - * java/awt/Component.java (translateEvent): Translate - AdjustmentEvents to 1.0 Events. - * java/awt/Scrollbar.java (dispatchEventImpl): Set valueIsAdjusting. - Call setValue() before processing event. - * gnu/java/awt/peer/gtk/GtkScrollbarPeer.java (setValues): Check - whether we are currently changing and being called back from the - Scrollbar component. - (setBarValues): New native method. - (postAdjustmentEvent): Mark AdjustmentEvent as user generated. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollbarPeer.c - (Java_gnu_java_awt_peer_gtk_GtkScrollbarPeer_setValues): Renamed to - Java_gnu_java_awt_peer_gtk_GtkScrollbarPeer_setBarValue - * include/gnu_java_awt_peer_gtk_GtkScrollbarPeer.h: Regenerated. - -2006-02-21 Roman Kennke - - * javax/swing/text/View.java - (setParent): Set child parent to null when disconnecting - the view from the View hierarchy. - -2006-02-21 Wolfgang Baer - - * javax/print/StreamPrintService.java: Added and enhanced documentation. - -2006-02-21 Roman Kennke - - * javax/swing/text/WrappedPlainView.java - (calculateBreakPosition): Changed to use the view's allocation instead - of the container's preferredSize. - -2006-02-21 Wolfgang Baer - - * java/awt/CardLayout.java: - (first): Updated api documentation. - (last): Likewise. - (next): Likewise. - (previous): Likewise. - (show): Clarified api docs. Return if name is null. Throw - IllegalArgumentException if layout of container is not this. - (gotoComponent): Updated api documentation. Throw - IllegalArgumentException if layout of container is not this. - -2006-02-21 Roman Kennke - - * javax/swing/text/NavigationFilter.java - (getNextVisualPositionFrom): New method. - -2006-02-21 Roman Kennke - - * javax/swing/plaf/basic/BasicTextUI.java - (RootView.setView): Call setParent() on the view with this as - argument instead of null. - (setView): Don't set root view's parent here. - -2006-02-21 Roman Kennke - - * javax/swing/text/AbstractDocument.java - (AbstractElement.getAttribute): Use getResolveParent() to fetch - the resolving parent. - (AbstractElement.getResolveParent): Fixed to handle possible null - parent. - * javax/swing/text/BoxView.java - (childReqs): New field. - (paint): Added debugging code (commented out). - (getPreferredSpan): Rewritten to use new update* methods. - (getMaximumSpan): Rewritten to return Integer.MAX_VALUE - for the minor axis and preferredSpan for the major axis. - (getMinimumSpan): Rewritten to use new update* methods. - (baselineRequirements): Rewritten to avoid creation of - unnecessary SizeRequirements objects. - (baselineLayout): Rewritten to use new update* methods. - (calculateMajorAxisRequirements): Rewritten to avoid creation of - unnecessary SizeRequirements objects. - (calculateMinorAxisRequirements): Rewritten to avoid creation of - unnecessary SizeRequirements objects. - (layout): Some robustness fixes for the layout. Turned AssertionErrors - into warnings. - (layoutMajorAxis): Rewritten to use new update* methods. - (layoutMinorAxis): Rewritten to use new update* methods. - (getChildRequirements): Replaced by the update* methods. - (getAlignment): Use update* methods. - (updateChildRequirements): New methods. Updates the child requirements - if necessary. - (updateRequirements): New methods. Updates the BoxView requirements - if necessary. - * javax/swing/text/DefaultStyledDocument.java - (ElementBuffer.insert): Added warning for illegal replacement operation. - * javax/swing/text/FlowView.java - (layoutRow): When offset doesn't change, return -1. - (LogicalView): Now subclasses BoxView. - (loadChildren): Let the CompositeView.setParent() load the children - of the logicalView. - (calculateMinorRequirements): New overridden method. - * javax/swing/text/GlyphView.java - (DefaultGlyphPainter.paint): Fixed typo. - (startOffset): Made field private. - (endOffset): Made field private. - (paint): Call getStartOffset() and getEndOffset() instead of the - element methods. - (isStrikeThrough): Fixed typo. - (breakView): Use Utilities.getBreakLocation() to determine best - break location. - (changedUpdate): Call preferencedChange on this instead of parent. - (removeUpdate): Call preferencedChange on this instead of parent. - * javax/swing/text/ParagraphView.java - (Row.getAlignment): For Y_AXIS, call super. - (getAlignment): Likewise. - * javax/swing/text/Utilities.java - (getBreakLocation): Set Segment object directly on the BreakIterator. - * javax/swing/text/html/HTML.java - (Attribute): Made class non-serializable and final as specified. - (Attribute(String)): Made constructor private. - (Attribute.compareTo): Removed. - (Attribute.equals): Removed. - (Attribute.hashCode): Removed. - (Tag): Made class non-comparable and non-serializable as specified. - (Tag.compareTo): Removed. - (Tag.equals): Removed. - (Tag.hashCode): Removed. - * javax/swing/text/html/HTMLDocument.java - (HTMLReader.blockOpen): Add tag as name attribute to element. - * javax/swing/text/html/HTMLEditorKit.java - (HTMLFactory.create): Create NullView for tags, removed unused - fallback. - * javax/swing/text/html/InlineView.java - (setPropertiesFromAttributes): Call super. - * javax/swing/text/html/NullView.java: New class. - -2006-02-21 Roman Kennke - - PR classpath/26368 - * javax/swing/text/GapContent.java - (GapContentPosition): Made class private. - (InsertUndo): Made class private. - (UndoRemove): Made class private. - (WeakPositionComparator): New inner class. - (positions): Made field private. - (createPosition): Clear up GC'ed positions before creating - a new one. Store position as WeakReference. - (getPositionsInRange): Changed to handle WeakReference - positions. - (setPositionsInRange): Changed to handle WeakReference - positions. - (adjustPositionsInRange): Changed to handle WeakReference - positions. - (dumpPositions): Handle WeakReference positions. - (clearPositionReferences): New method. - -2006-02-21 Robert Schuster - - * javax/swing/plaf/basic/BasicTextUI.java: - (paint): Remove unneccessary part of the if-expression. - (damageRange): Added case where the range spans multiple lines. - * javax/swing/text/DefaultCaret.java: - (clearHighlight): New method. - (handleHighlight): Removed unneccessary part of the if-expression. - (setDot): Use clearHighlight method. - * javax/swing/text/DefaultHighlighter.java: Use ArrayList instead - of Vector. - (paint): Prevented calling size() on every loop iteration, fixed - calculation of allocation area bounds. - (getHighlights): Implemented. - (removeHighlight): Mark damaged area in textcomponent. - (addHighlight): Mark damaged area in textcomponent. - (changeHighlight): Mark damaged area in textcomponent. - (DefaultHighlighter.HighlightEntry): Made it a real - Highlighter.Highlight implementation. - (DefaultHighlighter.DefaultHighlightPainter.paint): Fixed - calculations. - -2006-02-20 Stuart Ballard - - * java/util/zip/ZipConstants.java - (LOCSIG): Change type to long. - (EXTSIG): Likewise. - (CENSIG): Likewise. - (ENDSIG): Likewise. - * java/util/zip/ZipOutputStream.java - (writeLeInt(long)): New method. - -2006-02-21 Michael Koch - - * gnu/javax/net/ssl/provider/PRNG.java: Removed. - -2006-02-20 Mark Wielaard - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c - (begin_drawing_operation): Output stacktrace and return on bad cairo - status. - (end_drawing_operation): Likewise. And reset cairo_t. - -2006-02-20 Robert Schuster - - * javax/swing/text/DefaultEditorKit.java: Fixed comparison - in backward selection action. - -2006-02-20 Olivier Jolly - - * java/lang/reflect/Proxy.java: - (ProxyData.getProxyData): Skipped overriding of core methods. - (ProxyData.isCoreObjectMethod): New method. - -2006-02-20 Mark Wielaard - - * gnu/java/nio/charset/Provider.java (Provider): Package private. - -2006-02-20 Roman Kennke - - * javax/swing/text/html/Option.java: New class. - -2006-02-20 Lillian Angel - - * java/swt/Window.java - (show): Calling show() on the owned windows caused problems. - Changed back to get the peer and call setVisible. - -2006-02-20 Roman Kennke - - * javax/swing/plaf/basic/BasicTextUI.java - (damageRange): Implemented this method. - -2006-02-20 Robert Schuster - - * javax/swing/text/GapContent.java: - (shiftGapEndUp): Corrected new mark value. - * javax/swing/text/AbstractDocument.java: - (remove): Changed order of operations. - -2006-02-20 Robert Schuster - - * javax/swing/text/GapContent.java: - (shiftGapEndUp): Reverted. - * javax/swing/text/AbstractDocument.java: - (remove): Reverted. - -2006-02-20 Robert Schuster - - * javax/swing/text/GapContent.java: - (shiftGapEndUp): Corrected new mark value. - * javax/swing/text/AbstractDocument.java: - (remove): Changed order of operations. - -2006-02-20 Mark Wielaard - - * java/awt/Menu.java (add(MenuItem)): Use item.getParent() to get - parent field. - (insert): Likewise. - (addNotify): Add the item after addNotifying it. - * java/awt/MenuBar.java (setHelpMenu): Only call removeNotify() when - there is a peer. Use getParent() and setParent() to manipulate parent - field. - (add(Menu)): Use getParent() and setParent() to manipulate parent - field. Call addNotify() and addMenu() when there is a peer. - (remove(int)): Call removeNotify() and delMenu() when there is a peer. - (addNotify): Use getPeer()/setPeer(). Call addMenu() and addHelpMenu() - when there is a peer. - * gnu/java/awt/peer/gtk/GtkMenuComponentPeer.java (create): Document. - (GtkMenuComponentPeer): Document. Take MenuComponent as argument. - (setFont): Call setFont(Font). - (setFont(Font)): Document. Only set font when not null. - * gnu/java/awt/peer/gtk/GtkMenuItemPeer.java (create): Document. Made - protected. - (connectSignals): Likewise. - (GtkMenuItemPeer): Document. Don't try to add item. Always call - connectSignals(). - * gnu/java/awt/peer/gtk/GtkCheckboxMenuItemPeer.java (create): Make - protected. - (postMenuActionEvent): Document. - * gnu/java/awt/peer/gtk/GtkMenuPeer.java (create): Document. Made - protected. - (addItem): Document. Made private. - (addTearOff): Made private. - (connectSignals): New protected overridden method. - (GtkMenuPeer): Correctly cast setupAccelGroup() arguments. - * gnu/java/awt/peer/gtk/GtkMenuBarPeer.java (hasHelpMenu): New field. - (create): Document. - (addMenu): Made private, take GtkMenuPeer as argument and document. - (GtkMenuBarPeer): Document. - (nativeSetHelpMenu): Removed. - (addHelpMenu): Implement. - (delMenu): Document. - (addMenu): Implement. - * gnu/java/awt/peer/gtk/GtkPopupMenuPeer.java (setParent): Removed. - * include/gnu_java_awt_peer_gtk_GtkMenuBarPeer.h: Regenerated. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuBarPeer.c - (Java_gnu_java_awt_peer_gtk_GtkMenuBarPeer_nativeSetHelpMenu): - Removed. - -2006-02-20 Audrius Meskauskas - - * gnu/java/rmi/server/RMIObjectInputStream.java (resolveProxyClass): - Expect that proxy interfaces may have different class loaders. - * gnu/java/rmi/server/UnicastServerRef.java: Rewritten. - * java/rmi/registry/Registry.java, - * java/rmi/server/UnicastRemoteObject.java: - Documented about proxy stubs. - * gnu/java/rmi/server/CombinedClassLoader.java, - java/rmi/server/RemoteObjectInvocationHandler.java: New files. - * NEWS: Added entry. - -2006-02-19 Mark Wielaard - - * gnu/java/awt/peer/gtk/GtkContainerPeer.java (endValidate): Set - Parent and Bounds of our children if either or parent is showing, or - we are a Window and are showing ourselves now. - -2006-02-19 Audrius Meskauskas - - * gnu/classpath/tools/rmi/rmic/RmicCompiler.java (convertStubName): - New method. - * gnu/classpath/tools/rmi/rmic/templates/Stub_12.jav: - Another stub name fix. - -2006-02-19 Audrius Meskauskas - - * gnu/classpath/tools/giop/grmic/GiopRmicCompiler.java (compile): - Call convertStubName. (convertStubName): New method. - * gnu/classpath/tools/rmi/RMIC.java (main): Stub name fix. - * gnu/classpath/tools/rmi/rmic/RmiMethodGenerator.java - (convertStubName): New method. - (getMethodHashCode): - Use existing gnu.java.rmi.server.RMIHashes.getMethodHash. - * gnu/classpath/tools/rmi/rmic/templates/Stub_12.jav: Stub name fix. - -2006-02-19 Audrius Meskauskas - - * java/rmi/server/UnicastRemoteObject.java: Documenting. - -2006-02-19 Audrius Meskauskas - - * gnu/java/rmi/server/UnicastServerRef.java: Reformatted. - -2006-02-18 Audrius Meskauskas - - * javax/swing/JViewport.java (paintBackingStore): If the component has - not been scrolled, only repaint the buffer part, indicated by - the parameter graphics clip. - -2006-02-19 Raif S. Naffah - - * gnu/javax/crypto/key/OutgoingMessage.java (writePublicKey): Handle new - internal format. - (writePrivateKey): Likewise. - (writeKey): New method. - (getKeyType): Likewise. - * gnu/javax/crypto/key/IncomingMessage.java (readPublicKey): Handle new - internal format. - (readPrivateKey): Likewise. - (getKeyPairCodec): New method. - * gnu/javax/crypto/key/srp6/SRPKey.java (getFormat): Always return Raw. - * gnu/javax/crypto/key/dh/GnuDHKey.java (getFormat): Use FormatUtil. - * gnu/java/security/Registry.java (RSA_SIG_PREFIX): New constant. - (RSA_PSS_ENCODING): Likewise.. - (RSA_PKCS1_V1_5_ENCODING): Likewise. - (RSA_PSS_SIG): Redefined using other constants. - (RSA_PKCS1_V1_5_SIG): Likewise. - (MAGIC_RAW_RSA_PKCS1V1_5_SIGNATURE): New constant. - * gnu/java/security/util/FormatUtil.java: New file. - * gnu/java/security/sig/SignatureFactory.java (names): New field. - (getInstance): Let RSASignatureFactory handle RSA signature names. - (getNames): Handle new RSA signature (with format) names. - * gnu/java/security/sig/SignatureCodecFactory.java: New file. - * gnu/java/security/sig/BaseSignature.java (BaseSignature): Add check - for null md. - (name): Include hash algorithm name. - * gnu/java/security/sig/rsa/RSASignatureFactory.java: New file. - * gnu/java/security/sig/rsa/RSAPSSSignature.java - (RSAPSSSignature): Call constructor with IMessageDigest. - (RSAPSSSignature(ImessageDigest,int)): New constructor. - * gnu/java/security/sig/rsa/RSAPKCS1V1_5SignatureRawCodec.java: New - file. - * gnu/java/security/sig/rsa/RSAPKCS1V1_5SignatureX509Codec.java: - Likewise. - * gnu/java/security/sig/rsa/RSAPKCS1V1_5Signature.java - (RSAPKCS1V1_5Signature(String)): Call constructor with IMessageDigest. - (RSAPKCS1V1_5Signature(IMessageDigest)): New constructor. - * gnu/java/security/sig/rsa/EMSA_PKCS1_V1_5.java (getInstance): Added - hash algorithm name to exception. - * gnu/java/security/sig/dss/DSSSignatureX509Codec.java: New file. - * gnu/java/security/key/KeyPairCodecFactory.java - (names): New class field. - (getInstance(Sitrng)): Deconstruct and call getInstance(String,String). - (getInstance(String,String)): New method. - (getInstance(String,int)): New method. - (getInstance(byte[])): Removed. - (getInstance(Key)): Handle new formats. - (getNames): Likewise. - (getEncodingName(int)): Moved to FormatUtil. - (getEncodingShortName(int)): Likewise. - (getRawCodec(String)): New method. - (getX509Codec(String)): Likewise. - (getPKCS8Codec(String)): Likewise. - (getRawCodec(Key)): Likewise. - (getX509Codec(Key)): Likewise. - (getPKCS8Codec(Key)): Likewise. - * gnu/java/security/key/dss/DSSKey.java (getFormat): Use FormatUtil. - * gnu/java/security/key/rsa/GnuRSAKey.java (getFormat): Likewise. - * gnu/java/security/jce/sig/SHA512withRSA.java: New File. - * gnu/java/security/jce/sig/SHA384withRSA.java: Likewise. - * gnu/java/security/jce/sig/SHA256withRSA.java: Likewise. - * gnu/java/security/jce/sig/SHA160withRSA.java: Likewise. - * gnu/java/security/jce/sig/SHA160withDSS.java: Likewsie. - * gnu/java/security/jce/sig/MD5withRSA.java: Likewise. - * gnu/java/security/jce/sig/MD2withRSA.java: Likewise. - -2006-02-18 Mark Wielaard - - * java/awt/dnd/DragSource.java (getDefaultDragSource): Return new - DragSource. - (NoDragGestureRecognizer): New static class. - (createDragGestureRecognizer): Return NoDragGestureRecognizer when - Toolkit doesn't support drag and drop. - -2006-02-18 Mark Wielaard - - * javax/swing/AbstractAction.java (AbstractAction()): Nothing to do. - (AbstractAction(String)): Just call putValue() for NAME. - (putValue): Nothing to do is old and new value are both null. - -2006-02-18 Mark Wielaard - - * javax/swing/JRootPane.java (layoutContainer): Get contentPane - through getContentPane(). - (preferredLayoutSize): Likewise. - -2006-02-18 Mark Wielaard - - * javax/swing/JMenuBar.java (paintBorder): Check whether border is - actually set before painting. - -2006-02-18 Mark Wielaard - - * javax/swing/text/html/HTMLDocument.java (addContent): - Fully qualify AbstractDocument.AttributeContext and - DefaultStyledDocument.ElementSpec.ContentType for gcj 4.0. - -2006-02-18 Mark Wielaard - - * java/awt/datatransfer/DataFlavor.java (tryToLoadClass): Rewritten. - (getRepresentationClassFromMime): Add exception cause to - IllegalArgumentException. - -2006-02-17 Lillian Angel - - * gnu/java/awt/peer/gtk/GtkComponentPeer.java: - Removed unneeded import. - * gnu/java/awt/peer/gtk/GtkFramePeer.java: - Removed unneeded imports. - * java/awt/BorderLayout.java: - Fixed comment, this is not yet handled in the JDK 1.5. - * java/awt/Container.java: - Removed unneeded import. - -2006-02-17 Lillian Angel - - * gnu/java/awt/peer/gtk/GtkComponentPeer.java - (setBounds): Removed check. Coordinates should always be changed - to incorporate the parent's coordinates. - * gnu/java/awt/peer/gtk/GtkFramePeer.java - (setMenuBar): Added checks. Don't validate component if it has - not been validated yet, it will be validated later. Only validate - if it has already been validated, in that case it needs to be - revalidated. - * java/awt/Window.java - (show): Added check. If the window is visible, then bring it to the - front. Otherwise, iterate through all its children windows and show them. - No need to do both. - -2006-02-17 Roman Kennke - - * javax/swing/text/html/ParagraphView.java: New file. - -2006-02-17 Audrius Meskauskas - - * javax/swing/JTable.java (getCellRect): return +rowMargin if spacing - is included. (moveToCellBeingEdited): Adjusted to start editing at the - same location where was the initial text. - * javax/swing/plaf/basic/BasicTableUI.java (paint): Rewritten. - -2006-02-17 Chris Burdess - - Fixes PRs 26319, 26320, 26321, 26322, 26325 - * gnu/xml/stream/SAXParser.java: On error, reset parser before - rethrowing exception. - * gnu/xml/stream/XMLParser.java: Only report "illegal use of - 1.1-style prefix unbinding in 1.0 document" error for xmlns - prefixes, not xmlns attributes. Fix a problem with empty namespace - stack at the end of a document. Permit parameter entity references - in element and attribute-list definition name area. Corrected - normalisation of whitespace character entity references in CDATA - attribute values. Fixed number of characters read following a - reset when detecting end of character data with characters after a - Unicode surrogate pair. - -2006-02-17 Roman Kennke - - * javax/swing/text/html/HTMLEditorKit.java - (HTMLFactory.create): Create InlineView for content tags. - * javax/swing/text/html/HTMLDocument.java - (HTMLReader.flush): Call create() on first flush and insert - on subsequent flushes. - -2006-02-17 Roman Kennke - - * javax/swing/text/AbstractDocument.java - (BranchElement.getStartOffset): Implemented workaround for wrong - NPE. - (BranchElement.getEndOffset): Implemented workaround for wrong - NPE. - (ElementBuffer.split): Use createBranchElement() instead of - new BranchElement(). - (ElementBuffer.insertFracture): Use createBranchElement() instead of - new BranchElement(). - (ElementBuffer.recreateAfterFracture): Use createBranchElement() - instead of new BranchElement(). - (createDefaultRoot): Use createBranchElement() and createLeafElement - instead of the constructors. - (create): Rewritten. - -2006-02-17 Keith Seitz - - * gnu/classpath/jdwp/id/JdwpId.java (size): Remove. - (SIZE): New constant. - * gnu/classpath/jdwp/processor/VirtualMachineCommandSet.java - (executeIDsizes): Use SIZE constant. - * vm/reference/gnu/classpath/jdwp/VMFrame.java (size): Remove. - (SIZE): New constant. - -2006-02-17 Audrius Meskauskas - - * javax/swing/JTable.java (IconCellRenderer): Set the component - text to empty string. (createDefaultRenderers): Register - IconCellRenderer also for ImageIcon. - (getCellEditor(int, int), getCellRenderer(int, int)): - Use model index for data model and column index for column model. - (getColumnClass): Convert to model index before requesting class - from model. - -2006-02-17 Roman Kennke - - * javax/swing/text/html/HTMLDocument.java - (createDefaultRoot): Implemented. - (createLeafElement): Implemented. - (createBranchElement): Implemented. - (BlockElement.getName): Fixed to handle HTML.Tag objects as name. - (RunElement.getName): Fixed to handle HTML.Tag objects as name. - (HTMLReader.ParagraphAction.start): Call blockOpen at the very least. - (HTMLReader.ParagraphAction.end): Call blockClose at the very least. - (HTMLReader.blockOpen): Add name attribute with the current tag. - (HTMLReader.addContent): Add name attribute with HTML.Tag.CONTENT. - -2006-02-17 Audrius Meskauskas - - * javax/swing/plaf/basic/BasicTableHeaderUI.java (MouseInputHandler): - Rewritten. - * javax/swing/table/JTableHeader.java: Documenting related methods. - -2006-02-17 Jeroen Frijters - - Fixes PR 25752 - * gnu/java/net/protocol/ftp/FTPURLConnection.java - (connect): Changed to use SystemProperties. - (getInputStream): Try changeWorkingDirectory to figure out if - url is a directory, if not use retrieve. - (getOutputStream): Don't worry about directories, simply always - try to do a store. - -2006-02-17 Jeroen Frijters - - * gnu/java/net/protocol/ftp/ActiveModeDTP.java - (ActiveModeDTP): Mark accept thread as daemon. - -2006-02-17 Michael Koch - - * tools/.cvsignore: Ignore tools.zip. - -2006-02-16 Keith Seitz - - * vm/reference/gnu/classpath/jdwp/VMIdManager.java (newReferenceTypeId): - Set the ID's reference. - (): Remove comments for field, method, and frame ID types, - which will not be handled by VMIdManager. - -2006-02-17 Audrius Meskauskas - - * javax/swing/JTable.java (getCellEditor, getCellRenderer): - Use model index, not the column number. - * javax/swing/plaf/basic/BasicTableHeaderUI.java (MouseInputHandler): - Rewritten. (draggingHeaderRect): New field. (paint): Animate column - movement by painting draggingHeaderRect. - * NEWS: Added entry about JTable columns. - -2006-02-16 Keith Seitz - - * gnu/classpath/jdwp/id/JdwpId.java (size): Make static. Return - default size of eight bytes. - * gnu/classpath/jdwp/id/ObjectId.java (size): Remove. - * gnu/classpath/jdwp/id/ReferenceTypeId.java (size): Remove. - * gnu/classpath/jdwp/processor/VirtualMachineCommandSet.java - (executeIDsizes): Use new static methods. - * vm/reference/gnu/classpath/jdwp/VMFrame.java (size): New static - method. - -2006-02-16 David Daney - - PR classpath/26312 - * gnu/java/net/protocol/http/ChunkedInputStream.java (read): Mask - return value with 0xff. - -2006-02-16 Keith Seitz - - * gnu/classpath/jdwp/event/EventRequest.java (getFilters): New method. - (matches): Use Iterator instead of ListIterator. - -2006-02-16 Keith Seitz - - * gnu/classpath/jdwp/Jdwp.java (_doInitialization): Name the packet - processor thread for easier debugging. - (_enforceSuspendPolicy): Suspend the current thread, not the JDWP - main thread. - -2006-02-16 Audrius Meskauskas - - * javax/swing/JTable.java - (TableColumnPropertyChangeHandler.propertyChange): Return without - action if table header resizing column in not null. (doLayout): - Only repaint the header if it is not null. - * javax/swing/plaf/basic/BasicTableHeaderUI.java - (MouseInputHandler.mouseExited, MouseInputHandler.mouseReleased): - Rewritten. (MouseInputHandler.endResizing): New method. - -2006-02-16 Roman Kennke - - * javax/swing/text/html/InlineView.java: New file. - -2006-02-16 Roman Kennke - - * javax/swing/JTabbedPane.java - (AccessibleJTable.getAccessibleChild): Implemented to return - the Page instance for the specified index. - (Page): Changed to implement Accessible and extend - AccessibleContext. - (Page.getAccessibleContext): New method. - (Page.getAccessibleRole): New method. - (Page.getAccessibleStateSet): New method. - (Page.getAccessibleIndexInParent): New method. - (Page.getAccessibleChildrenCount): New method. - (Page.getAccessibleChild): New methdod. - (Page.getLocale): New method. - -2006-02-16 Roman Kennke - - * javax/swing/plaf/basic/BasicTabbedPaneUI.java - (TabbedPaneLayout.calculateTabRects): Expand tabRuns array when - tabCount gets greater than tabRuns.length. - (TabbedPaneScrollLayout.calculateTabRects): Expand tabRuns array - when tabCount gets greater than tabRuns.length. - (paintTabArea): Don't set tabCount == runCount. - -2006-02-16 Roman Kennke - - * javax/swing/plaf/basic/BasicTextUI.java - (installUI): Moved installation of PropertyChangeListener - to installListeners(). Call modelChanged() after everything is - is installed. - (installListeners): Install PropertyChangeListener here. - (uninstallUI): Moved uninstallation of PropertyChangeListener - to uninstallListeners. - (uninstallListeners): Uninstall PropertyChangeListener here. - -2006-02-16 Audrius Meskauskas - - * javax/swing/JTable.java (doLayout): - case AUTO_RESIZE_SUBSEQUENT_COLUMNS rewritten. Repaint the header - on exit. - javax/swing/plaf/basic/BasicTableHeaderUI.java - (MouseInputHandler.mouseDragged): Do not repaint the header. - -2006-02-16 Roman Kennke - - * javax/swing/JViewport.java - (static_initializer): Set default scrollMode to backingstore. - -2006-02-16 Audrius Meskauskas - - * javax/swing/JTable.java (moveToCellBeingEdited): Clone the value, - returned by getCellRect. To not translate the component. - -2006-02-16 Roman Kennke - - * javax/swing/JComponent.java - (rectCache): Made field non-static to avoid nasty interferences. - (computeVisibleRect): Avoid creation of new Rectangles and double - calculations on ints by using Swing.computeIntersection() instead - of Rectangle2D.intersect(). - (repaint): Interect the dirty region with the visible rectangle - of this component to avoid unnecessary painting. - -2006-02-16 Gary Benson - - * java/lang/Thread.java (stop): Add a missing access check. - -2006-02-16 Robert Schuster - - * javax/swing/text/JTextComponent.java: - (replaceSelection): Added code to update the magic caret position. - * javax/swing/text/DefaultEditorKit.java: Added code to update - the magic caret position of the text component in all relevant - movement actions, make use of the magic caret position in up - and down movements and selections, simplified some actions - (code-wise). - -2006-02-15 Anthony Balkissoon - - * gnu/java/lang/CharData.java: Regenerated from - doc/unicode/UnicodeData-4.0.0.txt, doc/unicode/SpecialCasing-4.0.0.txt - and scripts/unicode-muncher.pl. - * java/lang/Character.java: - (PrivateUseCharacters): New private static class. - (UnassignedCharacters): Likewise. - (blocks): Changed from char[] to char[][] to reflect the changes in - gnu/java/lang/CharData. There is now one char[] per Unicode code - plane. - (data): Likewise. - (numValue): Likewise. - (upper): Likewise. - (lower): Likewise. - (direction): Likewise. - (readChar): Replaced this method with new method readCodePoint. - (readCodePoint): New method. - (isLowerCase(char)): Redirected to new isLowerCase(int). - (isLowerCase(int)): New method. - (isUpperCase(char)): Redirected to new isUpperCase(int). - (isUpperCase(int)): New method. - (isTitleCase(char)): Redirected to new isTitleCase(int). - (isTitleCase(int)): New method. - (isDigit(char)): Redirected to new isDigit(int). - (isDigit(int)): New method. - (isDefined(char)): Redirected to new isDefined(int). - (isDefined(int)): New method. - (isLetter(char)): Redirected to new isLetter(int). - (isLetter(int)): New method. - (isLetterOrDigit(char)): Redirected to new isLetterOrDigit(int). - (isLetterOrDigit(int)): New method. - (isJavaIdentifierStart(char)): Redirected to new - isJavaIdentifierStart(int). - (isJavaIdentifierStart(int)): New method. - (isJavaIdentifierPart(char)): Redirected to new - isJavaIdentifierPart(int). - (isJavaIdentifierPart(int)): New method. - (isUnicodeIdentifierStart(char)): Redirected to new - isUnicodeIdentifierStart(int). - (isUnicodeIdentifierStart(int)): New method. - (isUnicodeIdentifierPart(char)): Redirected to new - isUnicodeIdentifierPart(int). - (isUnicodeIdentifierPart(int)): New method. - (isIdentifierIgnorable(char)): Redirected to new - isIdentifierIgnorable(int). - (isIdentifierIgnorable(int)): New method. - (toLowerCase(char)): Changed access to lower to correspond with new - char[][] type of lower. - (toLowerCase(int)) New method. - (toUpperCase(char)): Changed access to upper to correspond with new - char[][] type of upper. - (toUpperCase(int)): New method. - (toTitleCase(int)): New method. - (digit(char, int)): Replaced call to readChar with call to - readCodePoint and changed access to numValue to reflect new char[][] - type of numValue. - (digit(int, int)): New method. - (getNumericValue(char)): Changed access to numValue to reflect new - char[][] type of numValue. - (getNumericValue(int)): New method. - (isSpaceChar(char)): Redirected to new isSpaceChar(int). - (isSpaceChar(int)): New method. - (isWhitespace(char)): Redirected to new isWhitespace(int). - (isWhitespace(int)): New method. - (isISOControl(char)): Redirected to new isISOControl(int). - (isISOControl(int)): New method. - (getType(char)): Redirected to new getType(int). - (getType(int)): New method. - (getDirectionality(char)): Redirected to new getDirectionality(int). - (getDirectionality(int)): New method. - (isMirrored(char)): Changed call to readChar to readCodePoint. - (isMirrored(int)): New method. - * java/lang/String.java: - (upperCaseExpansion): Changed access to Character.direction to reflect - new char[][] type of direction. - (offsetByCodePoints): New method. - * scripts/unicode-muncher.pl: Adapted this script to handle Unicode - 4.0.0 which introduced supplementary character assignments. - -2006-02-15 Audrius Meskauskas - - * javax/swing/JTable.java, - javax/swing/plaf/basic/BasicTableHeaderUI.java, - javax/swing/table/DefaultTableModel.java: Documented. - -2006-02-15 Lillian Angel - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c: - Removed duplicate methods. - -2006-02-15 Audrius Meskauskas - - * javax/swing/JTable.java (distributeSpillResizing): New method. - (doLayout): Use distributeSpillResizing when resizing. - * javax/swing/plaf/basic/BasicTableHeaderUI.java (MouseInputHandler): - Rewritten. (installListeners): Add mouse motion listener. - (uninstallListeners): Remove mouse motion listener. - -2006-02-15 Lillian Angel - - * gnu/java/awt/peer/gtk/GtkDialogPeer.java - (setVisible): Removed method. - * gnu/java/awt/peer/gtk/GtkWindowPeer.java - (setLocation): New method. - (setLocationUnlocked): New method. - (show): Changed to use setLocation instead of setBounds. - * java/awt/Component.java - (show): Should call peer.show(), not peer.setVisible(), so the - location of the component is correctly set. - (preferredSize): Added curly braces so else statements are - properly associated with if's. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c - (Java_gnu_java_awt_peer_gtk_GtkWindowPeer_nativeSetLocation): - New function. - (Java_gnu_java_awt_peer_gtk_GtkWindowPeer_nativeSet - LocationUnlocked): New function. - * include/gnu_java_awt_peer_gtk_GtkWindowPeer.h: - Added declarations for Java_gnu_java_awt_peer_gtk_ - GtkWindowPeer_nativeSetLocation and - Java_gnu_java_awt_peer_gtk_GtkWindowPeer - _nativeSetLocationUnlocked. - -2006-02-15 Mark Wielaard - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.c - (Java_gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer_create): - Downcast gtk_plug_new result when used. - -2006-02-15 Olivier Jolly - - * java/io/ObjectOutputStream.java (writeClassDescriptor): - Call assignNewHandle() after writing Proxy class. - -2006-02-15 Olivier jolly - - Fixes bug #14144 - * java/io/ObjectInputStream.java (readClassDescriptor): - Class doesn't have to be abstract for first_nonserial. - -2006-02-15 Roman Kennke - - * javax/swing/JInternalFrame.java - (setClosed): Call dispose to actually make the frame invisible - and unselected. - -2006-02-15 Roman Kennke - - * javax/swing/JInternalFrame.java - (dispose): Call setVisible(false) instead of hide. - (doDefaultCloseOperation): Likewise. - -2006-02-15 Roman Kennke - - * javax/swing/JComponent.java - (paintChildren): Also check for the visibility of a child component - to avoid artifacts. - (repaint): Simply add this component to the RepaintManager rather than - trying to do useless optimization here. - -2006-02-15 David Gilbert - - * javax/swing/JSpinner.java - (DefaultEditor.DefaultEditor(JSpinner)): Add self to text field as a - PropertyChangeListener, - (DefaultEditor.getSpinner): Updated API docs, - (DefaultEditor.dismiss): Likewise, - (DefaultEditor.getTextField): Likewise, - (DefaultEditor.layoutContainer): Likewise, - (DefaultEditor.minimumLayoutSize): Likewise, - (DefaultEditor.preferredLayoutSize): Likewise, - (DefaultEditor.propertyChange): Implemented, - (DefaultEditor.stateChanged): Implemented, - (DefaultEditor.removeLayoutComponent): Updated API docs, - (DefaultEditor.addLayoutComponent): Likewise, - (NumberEditor.NumberEditor(JSpinner)): Set formatter for text field, - (NumberEditor.NumberEditor(JSpinner, String)): Likewise, - (NumberEditor.getFormat): Implemented, - (NumberEditor.getModel): Updated API docs, - (NumberEditorFormatter): New static inner class, - (ListEditor.getModel): Updated API docs, - (DateEditor.dateFormat): Removed, - (DateEditor.DateEditor(JSpinner)): Set formatter for text field, - (DateEditor.DateEditor(JSpinner, String)): Likewise, - (DateEditor.init): Removed, - (DateEditor.getFormat): Reimplemented, - (DateEditorFormatter): New static inner class, - (ModelListener): New inner class, - (model): Updated API docs, - (editor): Likewise, - (listener): Removed, - (JSpinner()): Updated API docs, - (JSpinner(SpinnerModel)): Set up ModelListener, - (setEditor): Fire property change, - (getModel): Updated API docs, - (setModel): Removed check for null editor, - (setValue): Updated API docs, - (getUIClassID): Updated API docs, - (createEditor): Handle SpinnerListModel case, - * javax/swing/plaf/basic/BasicSpinnerUI.java - (createUI): Updated API docs, - (createPropertyChangeListener): Added FIXME, - (installDefaults): Set text field border to null, - (DefaultLayoutManager): Updated API docs, - (DefaultLayoutManager.layoutContainer): Modified layout, - (DefaultLayoutManager.minimumLayoutSize): Ignore button heights, - (DefaultLayoutManager.preferredLayoutSize): Likewise, - (DefaultLayoutManager.removeLayoutComponent): Removed tabs, - (DefaultLayoutManager.addLayoutComponent): Likewise, - (DefaultLayoutManager.minSize): Renamed prefSize, - (DefaultLayoutManager.setBounds): Reformatted, - (DefaultLayoutManager.editor): Added API docs, - (DefaultLayoutManager.next): Likewise, - (DefaultLayoutManager.previous): Likewise, - * javax/swing/plaf/metal/MetalLookAndFeel.java - (initComponentDefaults): Added entry for 'Spinner.border', - * examples/gnu/classpath/examples/swing/SpinnerDemo.java: New file. - -2006-02-15 Chris Burdess - - * gnu/xml/validation/datatype/BooleanType.java, - gnu/xml/validation/datatype/ByteType.java, - gnu/xml/validation/datatype/DateTimeType.java, - gnu/xml/validation/datatype/DateType.java, - gnu/xml/validation/datatype/DecimalType.java, - gnu/xml/validation/datatype/DoubleType.java, - gnu/xml/validation/datatype/DurationType.java, - gnu/xml/validation/datatype/FloatType.java, - gnu/xml/validation/datatype/GDayType.java, - gnu/xml/validation/datatype/GMonthDayType.java, - gnu/xml/validation/datatype/GMonthType.java, - gnu/xml/validation/datatype/GYearMonthType.java, - gnu/xml/validation/datatype/GYearType.java, - gnu/xml/validation/datatype/IntType.java, - gnu/xml/validation/datatype/IntegerType.java, - gnu/xml/validation/datatype/LongType.java, - gnu/xml/validation/datatype/MaxExclusiveFacet.java, - gnu/xml/validation/datatype/MaxInclusiveFacet.java, - gnu/xml/validation/datatype/MinExclusiveFacet.java, - gnu/xml/validation/datatype/MinInclusiveFacet.java, - gnu/xml/validation/datatype/NegativeIntegerType.java, - gnu/xml/validation/datatype/NonNegativeIntegerType.java, - gnu/xml/validation/datatype/NonPositiveIntegerType.java, - gnu/xml/validation/datatype/PositiveIntegerType.java, - gnu/xml/validation/datatype/ShortType.java, - gnu/xml/validation/datatype/SimpleType.java, - gnu/xml/validation/datatype/TimeType.java, - gnu/xml/validation/datatype/TypeBuilder.java, - gnu/xml/validation/datatype/UnsignedByteType.java, - gnu/xml/validation/datatype/UnsignedIntType.java, - gnu/xml/validation/datatype/UnsignedLongType.java, - gnu/xml/validation/datatype/UnsignedShortType.java: Provide value - objects for datatypes. Make maxExclusive,minExclusive,maxInclusive, - minInclusive facets use the value space of the base type, and - implement. - -2006-02-15 Mark Wielaard - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.c - (Java_gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer_create): - gtk_plug_new() returns a GtkWindow. - -2006-02-15 David Gilbert - - * javax/swing/SpinnerNumberModel.java - (getNextValue): Check for null maximum, - (getPreviousValue): Check for null minimum. - -2006-02-15 Roman Kennke - - * javax/swing/plaf/basic/BasicTableUI.java - (paint): Paint vertical and horizontal lines one pixel shifted - left/top. - -2006-02-15 Jeroen Frijters - - * java/util/zip/ZipFile.java - (checkZipFile): Inlined readLeInt and rewritten for robustness. - (readLeShort(DataInput,byte[]), readLeInt(DataInput,byte[], - readLeShort(byte[],int), readLeInt(byte[],int)): Removed. - (readEntries): Rewritten to use PartialInputStream. - (locBuf, checkLocalHeader): Removed. - (getInputStream): Rewritten to use new PartialInputStream. - (PartialInputStream): Rewritten to do buffering. - -2006-02-15 Michael Koch - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.c - (Java_gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer_create): - Make sure the embedded window gets no decorations. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c - (window_get_frame_extents): Return early of the window has no - decorations. - -2006-02-15 Audrius Meskauskas - - * examples/gnu/classpath/examples/swing/TableDemo.java - (TModel, createContent): Explain which value appears in the header. - * javax/swing/JTable.java (setColumnModel): Only set the - column header value if the getHeaderValue() returns null. - -2006-02-14 Mark Wielaard - - Fixes bug #23931 - * gnu/java/awt/peer/gtk/GtkImage.java (errorImage): New static field. - (getErrorImage): New static method. - * gnu/java/awt/peer/gtk/GtkToolkit.java (GtkErrorImage): Removed. - (bufferedImageOrError): Renamed to ... - (imageOrError): Renamed from bufferedImageOrError, takes Image. - Returns GtkImage.getErrorImage() when argument null. - (createImage(String)): Always use imageOrError. - (createImage(URL)): Likewise. - (createImage(ImageProducer)): Likewise. - (createImage(byte[],int,int)): Likewise. - -2006-02-14 Roman Kennke - - * javax/swing/plaf/basic/BasicCheckBoxMenuItemUI.java: Removed - unneeded imports. - * javax/swing/plaf/basic/BasicInternalFrameUI.java: Likewise. - * javax/swing/plaf/basic/BasicRadioButtonMenuItemUI.java: Likewise. - * javax/swing/plaf/basic/BasicRootPaneUI.java: Likewise. - * javax/swing/plaf/basic/BasicSplitPaneDivider.java: Likewise. - * javax/swing/plaf/basic/BasicHTML.java: Fixed API comment. - -2006-02-14 Roman Kennke - - * javax/swing/text/AsyncBoxView.java - (ChildState.locator): Removed wrong field. - (ChildState): Removed initialization of removed field. - (locator): Changed access modifier to be protected as specified. - -2006-02-14 Roman Kennke - - * javax/swing/ToolTipManager.java: Removed unneeded imports. - * javax/swing/Timer.java: Some small reindention. - (task): Made package private to avoid synthetic accessor method. - -2006-02-14 Roman Kennke - - * javax/swing/SwingUtilities.java - (layoutCompoundLabel): Dont set textIconGap to 0 when there is - no icon. - -2006-02-14 Audrius Meskauskas - - * examples/gnu/classpath/examples/swing/TableDemo.java: - Making the columns variable width. - * javax/swing/JTable.java (distributeSpill, doLayout): - Call getPreferredSize and not getSize(). - -2006-02-14 Roman Kennke - - * javax/swing/DefaultCellEditor.java - (DefaultCellEditor): API doc fixlet. - -2006-02-14 Roman Kennke - - * javax/swing/JViewport.java - (isPaintRoot): New field. - (repaint): Only call super here. Also added a comment regarding - the diversion from the JDK. - (paintBlit): Implemented real blitting. - (paintImmediately2): New method. Overrides the same package private - method in JComponent. - -2006-02-14 Roman Kennke - - * javax/swing/plaf/basic/BasicTableUI.java - (paint): Check for boundary cases when determining the painting - area. - -2006-02-14 Mark Wielaard - - * java/awt/Menu.java (add): Always set parent of item to this. Call - addNotify() on item when we have a MenuPeer already. - (insert): Always adjust parent for item. Call addNotify() on item if - we already have a peer. - (remove(int)): Always clear item parent. Call removeNotify() on item - if we had a peer. - -2006-02-14 Audrius Meskauskas - - * javax/swing/JTable.java (rowAtPoint): Return -1 if the computed - row == getRowCount(). - -2006-02-14 Lillian Angel - - * gnu/java/awt/peer/gtk/GtkDialogPeer.java - (setVisible): New method to override super. Need to set the - native bounds of the component, so it appears at the - correct location. - -2006-02-14 Mark Wielaard - - * java/awt/Frame.java (setMenuBar): Update MenuBar parent. - (remove): If menu component is the current MenuBar remove it, - otherwise call super.remove(). - * java/awt/MenuBar.java (frame): Remove field. - * java/awt/MenuComponent.java (postEvent): Use getParent() always. - -2006-02-14 Audrius Meskauskas - - * tools/gnu/classpath/tools/giop/NameServicePersistent.java: Refer - to NameServicePersistent. - * tools/gnu/classpath/tools/giop/NameServicePersistent.txt: New file. - * tools/gnu/classpath/tools/giop/NamingServicePersistent.txt: Deleted. - -2006-02-14 Audrius Meskauskas - - * NEWS: Updated tool status. - * gnu/CORBA/NamingService/NamingMap.java (Map): Made protected. - (constructor, bind, rebind): Rewritten. - * gnu/CORBA/NamingService/TransientContext.java: Rewritten. - * tools/gnu/classpath/tools/giop/README: Updated. - * tools/gnu/classpath/tools/giop/NameServicePersistent.java, - tools/gnu/classpath/tools/giop/NamingServicePersistent.txt, - tools/gnu/classpath/tools/giop/nameservice/PersistentContext.java, - tools/gnu/classpath/tools/giop/nameservice/PersistentContextMap.java, - tools/gnu/classpath/tools/giop/nameservice/PersistentMap.java: - New files. - -2006-02-14 David Gilbert - - * javax/swing/JComponent.java - (getListeners): Check for PropertyChangeListener.class and delegate to - getPropertyChangeListeners() for that case. - -2006-02-13 Roman Kennke - - * javax/swing/plaf/basic/BasicTableUI.java - (paint): Determine the cells that need painting based on the - current clip. Use getCellRect() for calculating the cell - bounds. - -2006-02-13 Roman Kennke - - * javax/swing/JTable.java - (rectCache): New field. - (getCellRect): Returns cached Rectangle instance. - -2006-02-13 Roman Kennke - - * javax/swing/JLayeredPane.java - (removeAll): New method. Avoid potential memory leak. - (isOptimizedDrawingEnabled): Replaced heuristic with accurate - calculation. - -2006-02-14 Stuart Ballard - - * javax/swing/undo/StateEdit.java (RCSID): Match Sun's value. - * javax/swing/undo/StateEditable.java (RCSID): Likewise. - -2006-02-13 Tom Tromey - - * vm/reference/java/lang/reflect/Method.java: Javadoc fix. - * vm/reference/java/lang/reflect/Constructor.java: Javadoc fix. - -2006-02-13 Roman Kennke - - * javax/swing/RepaintManager.java - (offscreenBuffers): New field. - (doubleBuffer): Removed field. - (repaintUnderway): New field. - (commitRequests): New field. - (RepaintManager): Initialize new fields. - (paintDirtyRegions): Handle repaintUnderway flag. Commit - buffers when done. - (getOffscreenBuffer): Returns the offscreen buffer for the - corresponding root component. - (commitBuffer): New method. - (commitRemainingBuffers): New method. - * javax/swing/JComponent.java - (paint): Call paintDoubleBuffered with the current clip. - (paintImmediately2): Don't paint on screen here. - (paintDoubleBuffered): Rewritten for real double buffering. - (paintSimple): Draw to screen in this method. - -2006-02-13 Roman Kennke - - * javax/swing/JRootPane.java - (JRootPane): Set opaque property to true. - -2006-02-13 Tom Tromey - - * .classpath: Updated for external/relaxngDatatype. - -2006-02-13 Chris Burdess - - * gnu/xml/stream/UnicodeReader.java, - gnu/xml/validation/datatype/Annotation.java, - gnu/xml/validation/datatype/AnySimpleType.java, - gnu/xml/validation/datatype/AnyType.java, - gnu/xml/validation/datatype/AnyURIType.java, - gnu/xml/validation/datatype/AtomicSimpleType.java, - gnu/xml/validation/datatype/Base64BinaryType.java, - gnu/xml/validation/datatype/BooleanType.java, - gnu/xml/validation/datatype/ByteType.java, - gnu/xml/validation/datatype/DateTimeType.java, - gnu/xml/validation/datatype/DateType.java, - gnu/xml/validation/datatype/DecimalType.java, - gnu/xml/validation/datatype/DoubleType.java, - gnu/xml/validation/datatype/DurationType.java, - gnu/xml/validation/datatype/EntitiesType.java, - gnu/xml/validation/datatype/EntityType.java, - gnu/xml/validation/datatype/EnumerationFacet.java, - gnu/xml/validation/datatype/Facet.java, - gnu/xml/validation/datatype/FloatType.java, - gnu/xml/validation/datatype/FractionDigitsFacet.java, - gnu/xml/validation/datatype/GDayType.java, - gnu/xml/validation/datatype/GMonthDayType.java, - gnu/xml/validation/datatype/GMonthType.java, - gnu/xml/validation/datatype/GYearMonthType.java, - gnu/xml/validation/datatype/GYearType.java, - gnu/xml/validation/datatype/HexBinaryType.java, - gnu/xml/validation/datatype/IDRefType.java, - gnu/xml/validation/datatype/IDRefsType.java, - gnu/xml/validation/datatype/IDType.java, - gnu/xml/validation/datatype/IntType.java, - gnu/xml/validation/datatype/IntegerType.java, - gnu/xml/validation/datatype/LanguageType.java, - gnu/xml/validation/datatype/LengthFacet.java, - gnu/xml/validation/datatype/ListSimpleType.java, - gnu/xml/validation/datatype/LongType.java, - gnu/xml/validation/datatype/MaxExclusiveFacet.java, - gnu/xml/validation/datatype/MaxInclusiveFacet.java, - gnu/xml/validation/datatype/MaxLengthFacet.java, - gnu/xml/validation/datatype/MinExclusiveFacet.java, - gnu/xml/validation/datatype/MinInclusiveFacet.java, - gnu/xml/validation/datatype/MinLengthFacet.java, - gnu/xml/validation/datatype/NCNameType.java, - gnu/xml/validation/datatype/NMTokenType.java, - gnu/xml/validation/datatype/NMTokensType.java, - gnu/xml/validation/datatype/NameType.java, - gnu/xml/validation/datatype/NegativeIntegerType.java, - gnu/xml/validation/datatype/NonNegativeIntegerType.java, - gnu/xml/validation/datatype/NonPositiveIntegerType.java, - gnu/xml/validation/datatype/NormalizedStringType.java, - gnu/xml/validation/datatype/NotationType.java, - gnu/xml/validation/datatype/PatternFacet.java, - gnu/xml/validation/datatype/PositiveIntegerType.java, - gnu/xml/validation/datatype/QNameType.java, - gnu/xml/validation/datatype/ShortType.java, - gnu/xml/validation/datatype/SimpleType.java, - gnu/xml/validation/datatype/StringType.java, - gnu/xml/validation/datatype/TimeType.java, - gnu/xml/validation/datatype/TokenType.java, - gnu/xml/validation/datatype/TotalDigitsFacet.java, - gnu/xml/validation/datatype/Type.java, - gnu/xml/validation/datatype/TypeBuilder.java, - gnu/xml/validation/datatype/TypeLibrary.java, - gnu/xml/validation/datatype/TypeLibraryFactory.java, - gnu/xml/validation/datatype/UnionSimpleType.java, - gnu/xml/validation/datatype/UnsignedByteType.java, - gnu/xml/validation/datatype/UnsignedIntType.java, - gnu/xml/validation/datatype/UnsignedLongType.java, - gnu/xml/validation/datatype/UnsignedShortType.java, - gnu/xml/validation/datatype/WhiteSpaceFacet.java, - resource/META-INF/services/org.relaxng.datatype.DatatypeLibraryFactory: - RELAX NG datatype library implementation for XML Schema Datatypes. - -2006-02-13 Chris Burdess - - * LICENCE, - NEWS, - configure.ac, - doc/README.jaxp, - external/Makefile.am, - external/relaxngDatatype/.cvsignore, - external/relaxngDatatype/Makefile.am, - external/relaxngDatatype/README.txt, - external/relaxngDatatype/copying.txt, - external/relaxngDatatype/org/relaxng/datatype/Datatype.java, - external/relaxngDatatype/org/relaxng/datatype/DatatypeBuilder.java, - external/relaxngDatatype/org/relaxng/datatype/DatatypeException.java, - external/relaxngDatatype/org/relaxng/datatype/DatatypeLibrary.java, - external/relaxngDatatype/org/relaxng/datatype/DatatypeLibraryFactory.java, - external/relaxngDatatype/org/relaxng/datatype/DatatypeStreamingValidator.java, - external/relaxngDatatype/org/relaxng/datatype/ValidationContext.java, - external/relaxngDatatype/org/relaxng/datatype/helpers/DatatypeLibraryLoader.java, - external/relaxngDatatype/org/relaxng/datatype/helpers/ParameterlessDatatypeBuilder.java, - external/relaxngDatatype/org/relaxng/datatype/helpers/StreamingValidatorImpl.java, - lib/Makefile.am, - lib/gen-classlist.sh.in: Added external RELAX NG pluggable - datatypes library API. - -2006-02-13 Mark Wielaard - - * gnu/java/awt/peer/gtk/GtkGenericPeer.java (awtWidget): Made field - final. - (gtkWidgetModifyFont(Font)): New protected helper method. - (gtkWidgetModifyFont(String,int,int)): Made protected and document. - * gnu/java/awt/peer/gtk/GtkButtonPeer.java (gtkWidgetModifyFont): Made - protected and document. - * gnu/java/awt/peer/gtk/GtkCheckboxPeer.java (gtkWidgetModifyFont): - Likewise. - * gnu/java/awt/peer/gtk/GtkLabelPeer.java (gtkWidgetModifyFont): - Likewise. - * gnu/java/awt/peer/gtk/GtkListPeer.java (gtkWidgetModifyFont): - Likewise. - * gnu/java/awt/peer/gtk/GtkMenuBarPeer.java (create): Made protected. - (setFont): Removed method. Done in GtkMenuComponent. - * gnu/java/awt/peer/gtk/GtkMenuComponentPeer.java (create): Made - abstract and protected. - (setFont): Made private, add implementation. - (setFont(Font)): Implemented. - * gnu/java/awt/peer/gtk/GtkMenuItemPeer.java (gtkWidgetModifyFont): - Made protected and document. - (create): Made protected. - (setFont): Removed method. Done in GtkMenuComponent. - * gnu/java/awt/peer/gtk/GtkTextAreaPeer.java - (gtkWidgetModifyFont): Made protected and document. - * gnu/java/awt/peer/gtk/GtkTextFieldPeer.java (gtkWidgetModifyFont): - Removed, similar to GtkGenericPeer super class implementation. - * include/gnu_java_awt_peer_gtk_GtkTextFieldPeer.h: Regenerated. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextFieldPeer.c - (Java_gnu_java_awt_peer_gtk_GtkTextFieldPeer_gtkWidgetModifyFont): - Removed. - -2006-02-13 Mark Wielaard - - * java/lang/Math.java (static): Explicitly call - System.loadLibrary("javalang"). - -2006-02-13 Wolfgang Baer - - * javax/print/StreamPrintServiceFactory.java: New file. - -2006-02-13 Tom Tromey - - * tools/.cvsignore: Added Makefile. - -2006-02-13 Wolfgang Baer - - * java/awt/print/PrinterGraphics.java: Reformatted. - * java/awt/print/Paper.java: Likewise. - * java/awt/print/PageFormat.java: Likewise. - * java/awt/print/Pageable.java: Likewise. - -2006-02-13 Lillian Angel - - * java/awt/BorderLayout.java - (layoutContainer): Rewrote part of this function to - properly set the bounds of the components. - (setBounds): Removed method, not needed. - -2006-02-13 Roman Kennke - - * javax/swing/text/DefaultStyledDocument.java - (ElementBuffer.clone): Fixed replace call. - (clone): Removed method. - -2006-02-13 Roman Kennke - - * java/rmi/server/UnicastRemoteObject.java: Reformatted. - -2006-02-13 Roman Kennke - - * java/rmi/server/UnicastRemoteObject.java - (exportObject(Remote)): Forward method call to export(Remote,int). - -2006-02-13 Andrew John Hughes - - * include/Makefile.am: - Swapped Math.h for VMMath.h - * include/java_lang_Math.h: - Removed. - * include/java_lang_VMMath.h: - New autogenerated header for the new class. - * java/lang/Math.java: - (sin(double)): Changed to link to VMMath. - (cos(double)): Changed to link to VMMath. - (tan(double)): Changed to link to VMMath. - (asin(double)): Changed to link to VMMath. - (acos(double)): Changed to link to VMMath. - (atan(double)): Changed to link to VMMath. - (atan2(double)): Changed to link to VMMath. - (exp(double)): Changed to link to VMMath. - (log(double)): Changed to link to VMMath. - (sqrt(double)): Changed to link to VMMath. - (pow(double,double)): Changed to link to VMMath. - (IEEEremainder(double,double)): Changed to link to VMMath. - (ceil(double)): Changed to link to VMMath. - (floor(double)): Changed to link to VMMath. - (rint(double)): Changed to link to VMMath. - * native/jni/java-lang/Makefile.am: - Replaced java_lang_Math.c with java_lang_VMMath.c - * native/jni/java-lang/java_lang_Math.c: - Removed. - * native/jni/java-lang/java_lang_VMMath.c: - Renamed from java_lang_Math.c. - * vm/reference/java/lang/VMMath.java: - New class. - (sin(double)): New native method. - (cos(double)): New native method. - (tan(double)): New native method. - (asin(double)): New native method. - (acos(double)): New native method. - (atan(double)): New native method. - (atan2(double)): New native method. - (exp(double)): New native method. - (log(double)): New native method. - (sqrt(double)): New native method. - (pow(double,double)): New native method. - (IEEEremainder(double,double)): New native method. - (ceil(double)): New native method. - (floor(double)): New native method. - (rint(double)): New native method. + (getKeyPropertyList()): Likewise. + * javax/management/StandardMBean.java: + Use a generically-typed interface class. + (StandardMBean(Class)): Genericized. + (StandardMBean(T, Class)): Likewise. + (getImplementationClass()): Likewise. + (getMBeanInterface()): Likewise. -2006-02-13 Lillian Angel - - * java/awt/Component.java - (repaint): No need to call isShowing, it is done in the other repaint call. - (repaint): Likewise. - (repaint): Likewise. - -2006-02-13 Lillian Angel - - * java/awt/Component.java - (repaint): Reverted last change. - (repaint): Likewise. - (repaint): Likewise. - -2006-02-13 Lillian Angel +2007-02-19 Andrew John Hughes - * gnu/java/awt/peer/gtk/GtkPanelPeer.java - (handleEvent): Made more efficent by handling paint event and - setting the clip for the graphics. - * gnu/java/awt/peer/gtk/GtkWindowPeer.java - (handleEvent): Likewise. - * java/awt/Component.java - (repaint): No need to call isShowing, it is done in the other repaint call. - (repaint): Likewise. - (repaint): Likewise. - -2006-02-13 Roman Kennke - - * javax/swing/text/AbstractDocument.java - (setParent): Added API docs. Call setParent(null) on children before - disconnecting this view from the View hierarchy. - -2006-02-13 Roman Kennke - - * javax/swing/text/AbstractDocument.java - (readUnlock): Don't attempt to unlock when the current threads also - holds a write lock. - -2006-02-13 David Gilbert - - * javax/swing/plaf/metal/MetalBorders.java - (ButtonBorder.getBorderInsets(Component)): Return insets directly, - (ButtonBorder.getBorderInsets(Component, Insets)): Don't check for null - insets argument, - (Flush3DBorder.borderInsets): New field, - (Flush3DBorder.getBorderInsets(Component)): Return insets directly, - (Flush3DBorder.getBorderInsets(Component, Insets)): Don't check for - null insets argument, and populate result from borderInsets, - (PaletteBorder.borderInsets): New field, - (PaletteBorder.getBorderInsets(Component)): Return insets directly, - (PaletteBorder.getBorderInsets(Component, Insets)): Don't check for - null insets argument, and populate result from borderInsets, - (InternalFrameBorder.borderInsets): New field, - (InternalFrameBorder.getBorderInsets(Component)): Return insets - directly, - (InternalFrameBorder.getBorderInsets(Component, Insets)): Don't check - for null insets argument, and populate result from borderInsets, - (MenuItemBorder.borderInsets): Initialise to correct value. - -2006-02-13 Roman Kennke - - * javax/swing/text/AsyncBoxView.java: New file. - -2006-02-13 Ito Kazumitsu - - Fixes bug #26166 - * gnu/regexp/RE.java(initialize): Parsing of character class expression - was moved to a new method parseCharClass. - (parseCharClass): New method originally in initialize. Added parsing - of nested character classes. - (ParseCharClassResult): New inner class used as a return value of - parseCharClass. - (getCharExpression),(getNamedProperty): Made static. - * gnu/regexp/RESyntax.java(RE_NESTED_CHARCLASS): New syntax flag. - * gnu/regexp/RETokenOneOf.java(addition): New Vector for storing - nested character classes. - (RETokenOneOf): New constructor accepting the Vector addition. - (getMinimumLength), (getMaximumLength): Returns 1 if the token - stands for only one character. - (match): Added the processing of the Vector addition. - (matchN), (matchP): Do not check next token if addition is used. - -2006-02-12 Olivier Jolly - - * AUTHORS: add self. - -2006-02-12 Tom Tromey - - * gnu/classpath/ServiceProviderLoadingAction.java: Javadoc fix. - * gnu/classpath/ServiceFactory.java (ServiceIterator): Javadoc fix. - (securityContext): Likewise. - (log): Likewise. - -2006-02-12 Dalibor Topic - - Fixes PR 26218. - - * gnu/java/net/protocol/file/Connection.java (unquote): - Convert Unicode characters outside basic plane to UTF-8, - rather than throwing an exception. - -2006-02-12 Tom Tromey - - * javax/sound/sampled/LineEvent.java (readObject): New method. - (writeObject): Likewise. - (serialVersionUID): New field. - -2006-02-12 Mark Wielaard - - * java/beans/PropertyChangeSupport.java (addPropertyChangeListener): - Silently ignores null listener. - (addPropertyChangeListener(String, PropertyChangeListener): Likewise. - (getPropertyChangeListeners): Returns empty PropertyChangeListener - array for null propertyName. - -2006-02-12 Wolfgang Baer - - * java/rmi/MarshalledObject.java: Added api docs to the class. - * java/rmi/Remote.java: Added interface api docs. - * java/rmi/package.html: Added package description. - * java/rmi/AccessException.java: Minor api doc fixes. - * java/rmi/NoSuchObjectException.java: Likewise. - * java/rmi/AlreadyBoundException.java: Likewise. - * java/rmi/RemoteException.java: Likewise. - * java/rmi/NotBoundException.java: Likewise. - * java/rmi/RMISecurityException.java: Likewise. - * java/rmi/StubNotFoundException.java: Likewise. - -2006-02-12 Mark Wielaard - - * gnu/java/awt/peer/gtk/GtkComponentPeer.java (postKeyEvent): Call - q() to get EventQueue. - * gnu/java/awt/peer/gtk/GtkGenericPeer.java (q): Remove static field. - (enableQueue): Remove static method. - * gnu/java/awt/peer/gtk/GtkToolkit.java (getSystemEventQueueImpl): - Don't call GtkGenericPeer.enableQueue(). - -2006-02-12 Wolfgang Baer - - * java/rmi/MarshalledObject.java: Reformatted. - * java/rmi/Naming.java: Likewise. - -2006-02-12 Jeroen Frijters - - * java/io/InputStream.java - (read(byte[],int,int)): Changed argument validation to prevent - integer overflow. Remove redundant check. - -2006-02-12 Jeroen Frijters - - Fixes PR 26220 - * java/io/InputStreamReader.java - (InputStreamReader(InputStream)): Use SystemProperties. - (InputStreamReader(InputStream,Charset)): Corrected @since tag. - Throw NullPointerException if in is null. - Added maxBytesPerChar initialisation. - (InputStreamReader(InputStream,CharsetDecoder)): Corrected @since tag. - Throw NullPointerException if in is null. - -2006-02-12 Raif S. Naffah - - * gnu/javax/crypto/key/dh/GnuDHPublicKey.java - (GnuDHPublicKey(4)): Call constructor with 5 arguments. - (GnuDHPublicKey): New constructor. - (getEncoded): Removed. - (valueOf): Added support for ASN.1 encoding. - (getEncoded(int)): Likewise. - (equals): New method. - * gnu/javax/crypto/key/dh/GnuDHPrivateKey.java - (GnuDHPrivateKey(4)): Call constructor with 5 arguments. - (GnuDHPrivateKey(5)): New constructor. - (getEncoded): Removed. - (valueOf): Added support for ASN.1 encoding. - (getEncoded(int)): Likewise. - (equals): New method. - * gnu/javax/crypto/key/dh/GnuDHKeyPairGenerator.java - (PREFERRED_ENCODING_FORMAT): New constant. - (DEFAULT_ENCODING_FORMAT): Likewise. - (preferredFormat): New field. - (setup): Handle preferred encoding format identifier. - (generate): Call constructors with format identifier. - * gnu/javax/crypto/key/dh/GnuDHKey.java (defaultFormat): New field. - (GnuDHKey): Added an int argument. - (getEncoded): New method. - (getFormat): New implementation. - (getEncoded(int)): New abstract method. - * gnu/javax/crypto/key/dh/DHKeyPairX509Codec.java: New file. - * gnu/javax/crypto/key/dh/DHKeyPairPKCS8Codec.java: Likewise. - * gnu/javax/crypto/jce/GnuCrypto.java (run): Added mappings for DH - key-pair generator and key-factory. - * gnu/javax/crypto/jce/sig/DHKeyPairGeneratorSpi.java: New file. - * gnu/javax/crypto/jce/sig/DHKeyFactory.java: Likewise. - * gnu/java/security/jce/sig/KeyPairGeneratorAdapter.java: Made it public. - * gnu/java/security/jce/sig/EncodedKeyFactory.java - (invokeConstructor): New method. - (getConcreteClass): Likewise. - (getConcreteCtor): Likewise. - (invokeValueOf): Likewise. - (getValueOfMethod): Likewise. - (engineGeneratePublic): Add support for DH keys. - (engineGeneratePrivate): Likewise. - (decodeDHPublicKey(DHPublicKeySpec)): New method. - (decodeDHPublicKey(byte[])): Likewise. - (decodeDHPrivateKey(DHPrivateKeySpec)): Likewise. - (decodeDHPrivateKey(byte[])): Likewise. - -2006-02-11 Mark Wielaard - - * gnu/java/awt/peer/gtk/GtkComponentPeer.java (repaintTimer): - Removed field. - (repaint): Immediately post to queue when tm <= 0, otherwise call - RepaintTimerTask.schedule(). - (RepaintTimerTask): Make static. - (RepaintTimerTask.repaintTimer): New static final field. - (RepaintTimerTask.awtComponent): New field. - (schedule): New static method. - -2006-02-11 Audrius Meskauskas - - * tools/gnu/classpath/tools/giop/grmic/GiopRmicCompiler.java - * tools/gnu/classpath/tools/giop/grmic/MethodGenerator.java - * tools/gnu/classpath/tools/giop/grmic/templates/Tie.jav, - tools/gnu/classpath/tools/giop/grmic/templates/TieMethod.jav, - tools/gnu/classpath/tools/giop/grmic/templates/TieMethodVoid.jav: - Rewritten. - * tools/gnu/classpath/tools/giop/grmic/HashFinder.java: New file. - -2006-02-11 Raif S. Naffah - - * gnu/java/security/jce/sig/EncodedKeyFactory.java - (engineGeneratePublic): Added support for raw key-specifications. - (engineGeneratePrivate): Likewise. - (decodeDSSPublicKey): New method. - (decodeRSAPublicKey): Likewise. - (decodeDSSPrivateKey): Likewise. - (decodeRSAPrivateKey): Likewise. - * gnu/java/security/key/rsa/RSAKeyPairX509Codec.java - (encodePrivateKey): Throw InvalidParameterException. - (decodePublicKey): Likewise. - (decodePrivateKey): Likewise. - * gnu/java/security/key/rsa/RSAKeyPairPKCS8Codec.java - (encodePublicKey): Likewise. - (encodePrivateKey): Likewise. - (decodePublicKey): Likewise. - * gnu/java/security/key/dss/DSSKeyPairX509Codec.java - (encodePrivateKey): Likewise. - (decodePublicKey): Likewise. - (decodePrivateKey): Likewise. - * gnu/java/security/key/dss/DSSKeyPairPKCS8Codec.java - (encodePublicKey): Likewise. - (encodePrivateKey): Likewise. - (decodePublicKey): Likewise. - -2006-02-10 Roman Kennke - - * javax/swing/text/StyleContext.java - (registerStaticAttributeKey): New static method. - -2006-02-10 Roman Kennke - - * javax/swing/text/DefaultStyledDocument.java - (ElementBuffer.clone): New method. - -2006-02-10 Roman Kennke - - * javax/swing/text/ParagraphView.java - (findOffsetToCharactersInString): New method. - (getClosestPositionTo): New method. - (getPartialSize): New method. - (getTabBase): New method. - (adjustRow): New method. - (breakView): New method. - (getBreakWeight): New method. - -2006-02-10 Roman Kennke - - * javax/swing/text/GapContent.java - (updateUndoPositions): New method. - * javax/swing/text/StringContent.java - (updateUndoPositions): New method. - -2006-02-10 Raif S. Naffah - - * gnu/java/security/key/rsa/GnuRSAPrivateKey.java (GnuRSAPrivateKey(9)): - Made it public. - * gnu/java/security/jce/sig/RSAKeyFactory.java: New file. - * gnu/java/security/jce/sig/DSSKeyFactory.java (engineGeneratePublic): - Added support for encoded key specifications. - (engineGeneratePrivate): Likewise. - (engineGetKeySpec): Likewise. - (engineTranslateKey): Corrected order of MPIs and use ctors with 5 args. - -2006-02-10 Robert Schuster - - * javax/swing/text/Utilities.java: - (getTabbedTextOffset): Fixed usage of variable p0. - (getPositionAbove): Rewritten. - (getPositionBelow): Rewritten. - -2006-02-09 Roman Kennke - - * javax/swing/text/BoxView.java - (getAxis): Added @since tag. - (setAxis): Added @since tag. - (layoutChanged): Added @since tag. - (isLayoutValid): Added @since tag. - (paint): Don't call setSize here. This is done in RootView already. - (getMaximumSpan): Reimplemented to return the requirements' - maximum size. Added API docs. - (getMinimumSpan): New method. - (layout): Fixed layout order. - (modelToView): Call layout instead of setSize here. - (getResizeWeight): New method. - (getChildAllocation): New method. - (forwardUpdate): New method. - (viewToModel): New method. - (flipEastEndWestEnds): New method. - * javax/swing/text/CompositeView.java - (modelToView): Made this method more robust by returning a default - location if it's not possible to calculate one via the children. - This default location returns the left or right edge of this - view. - (createDefaultLocation): New helper method. - * javax/swing/text/IconView.java - (modelToView): Don't throw BadLocationException. This should - really only be thrown if the position is outside the document - model, not if it's outside the view's boundary. - -2006-02-09 Audrius Meskauskas - - * tools/Makefile.am: Handle rmi and giop folders separately. - -2006-02-09 David Gilbert - - * javax/swing/SpinnerDateModel.java: Updated API docs all over, - * javax/swing/SpinnerNumberModel.java: Likewise. - -2006-02-09 David Gilbert - - * javax/swing/SpinnerDateModel.java: Removed tabs, - * javax/swing/SpinnerNumberModel.java: Likewise. - -2006-02-09 Anthony Balkissoon - - * doc/unicode/SpecialCasing-4.0.0.txt: New file. - * doc/unicode/UnicodeData-4.0.0.txt: New file. - -2006-02-09 Wolfgang Baer - - Fixes bug #26081 - * gnu/java/net/protocol/http/HTTPURLConnection.java: - (isRedirect): Removed, moved to Response.java. - (connect): If error condition redirect responseSink to errorSink. - (getInputStream): If error condition throw IOException, for the error - codes 404 and 410 throw a FileNotFoundException. - * gnu/java/net/protocol/http/Response.java (isError): New method. - (isRedirect): New method, moved from HTTPURLConnection.java. - -2006-02-09 Audrius Meskauskas - - * tools/Makefile.am: Add tools/gnu/classpath/tools/rmi folder. - * tools/gnu/classpath/tools/giop/GRMIC.txt: Explain it called from RMIC. - * tools/gnu/classpath/tools/giop/grmic/Generator.java (getResource): - Better diagnostic. - * tools/gnu/classpath/tools/giop/grmic/GiopRmicCompiler.java: - Rewritten. - * tools/gnu/classpath/tools/giop/grmic/MethodGenerator.java: Implement - AbstractMethodGenerator. - * tools/gnu/classpath/tools/AbstractMethodGenerator.java, - tools/gnu/classpath/tools/rmi/RMIC.java, - tools/gnu/classpath/tools/rmi/RMIC.txt, - tools/gnu/classpath/tools/rmi/rmic/RmiMethodGenerator.java, - tools/gnu/classpath/tools/rmi/rmic/RmicCompiler.java, - tools/gnu/classpath/tools/rmi/rmic/WrapUnWrapper.java, - tools/gnu/classpath/tools/rmi/rmic/templates/Stub_12.jav, - tools/gnu/classpath/tools/rmi/rmic/templates/Stub_12Method.jav, - tools/gnu/classpath/tools/rmi/rmic/templates/Stub_12MethodVoid.jav: - New files. - * NEWS: Corrected entry about the tools. - -2006-02-09 Lillian Angel - - * gnu/java/awt/peer/gtk/GtkComponentPeer.java - (handleEvent): Added more to check to prevent assertion errors. - * gnu/java/awt/peer/gtk/GtkPanelPeer.java - (handleEvent): Likewise. - * gnu/java/awt/peer/gtk/GtkWindowPeer.java - (handleEvent): Likewise. - -2006-02-09 Mark Wielaard - - * javax/swing/JTable.java (tableChanged): Interpret null event as - "everything changed". - -2006-02-09 Roman Kennke - - * javax/swing/text/DefaultCaret.java - (DocumentHandler.removeUpdate): When update policy is - 'on eventqueue', and the update doesn't come from the - event queue, check if the current dot location is still - valid. - (moveDot): Make sure the new dot location is valid. - (setDot): Set the mark the same as the dot. - -2006-02-09 Roman Kennke - - * javax/swing/text/AbstractDocument.java - (remove): Perform all operations within a write lock and in the - correct order. - -2006-02-09 Mark Wielaard - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollbarPeer.c - (Java_gnu_java_awt_peer_gtk_GtkScrollbarPeer_create): Make sure max is - creater than min, adjusting page_size if necessary. - (Java_gnu_java_awt_peer_gtk_GtkScrollbarPeer_setValues): Likewise. - -2006-02-09 Lillian Angel - - * gnu/java/awt/peer/gtk/GtkPanelPeer.java - (handleEvent): Added code to handle PaintEvent.UPDATE. - Sun does not call update(Graphics g) on Panels. - * gnu/java/awt/peer/gtk/GtkWindowPeer.java - (handleEvent): New method. Added code to handle PaintEvent.UPDATE. - Sun does not call update(Graphics g) on Panels. - -2006-02-09 Roman Kennke - - * javax/swing/text/BoxView.java - (myAxis): Made field private. - (xLayoutValid): Replaced by layoutValid array. - (yLayoutValid): Replaced by layoutValid array. - (layoutValid): New field. - (spansX): Replaced by spans array. - (spansY): Replaced by spans array. - (spans): New field. - (offsetsX): Replaced by offsets array. - (offsetsY): Replaced by offsets array. - (offsets): New field. - (requirements): New field. - (BoxView): Initialize new fields. - (layoutChanged): Rewritten to use the layoutValid array. - (isLayoutValid): Rewritten to use the layoutValid array. - (replace): Use the new arrays. - (getPreferredSpan): Rewritten to call calculateXXXRequirements - instead of baselineRequirements. - (baselineRequirements): Rewritten to calculate baseline requirements. - (baselineLayout): Rewritten to calculate baseline layout. - (childAllocation): Use new arrays. - (layout): Rewritten. Only update the layout if necessary. - (layoutMajorAxis): Directly set layoutValid. - (layoutMinorAxis): Directly set layoutValid. Use cached size - requirements. - (getWidth): Use new span array. - (getHeight): Likewise. - (setSize): Rewritten to simply call layout(). - (validateLayout): Removed unneeded method. - (getSpan): Use new arrays. - (getOffset): Use new arrays. - (getAlignment): Use cached requirements if possible. - (preferenceChanged): Use new arrays. - * javax/swing/text/FlowView.java - (FlowStrategy.insertUpdate): Do nothing here. - (FlowStrategy.removeUpdate): Do nothing here. - (FlowStrategy.changedUpdate): Do nothing here. - (FlowStrategy.layoutRow): Rewritten. - (FlowStrategy.createView): Rewritten. - (FlowStrategy.adjustRow): New method. - (LogicalView.getViewIndex): Fixed condition for finding child - view. - (layoutDirty): New field indicating the state of the layout. - (FlowView): Initialize new field. - (loadChildren): Set parent on logical view so that preferenceChanges - get propagated upwards. - (layout): Rewritten to match the specs. - (insertUpdate): Set layout to dirty. - (removeUpdate): Set layout to dirty. - (changedUpdate): Set layout to dirty. - * javax/swing/text/GlyphView.java - (getBreakWeight): Rewritten to use the Utilities class. Commented - out though because that is broken. - (insertUpdate): Call preferenceChanged on this object instead of - parent. - * javax/swing/text/ParagraphView.java - (Row.loadChildren): Overridden to be a noop to prevent initial - creation of child views. This is carried out by the flow layout. - * javax/swing/text/View.java - (getPreferredSpan): Added API docs. - (getResizeWeight): Added API docs. - (getMaximumSpan): Added API docs. Rewritten to only have one exit - point. - (getMinimumSpan): Added API docs. Rewritten to return 0 when - resizable instead of Integer.MAX_VALUE. - (getAlignment): Added API docs. - (replace): Added API docs. - (forwardUpdate): Rewritten to only notify child views that need to - be notified. - -2006-02-09 Roman Kennke - - * javax/swing/plaf/basic/BasicTextUI.java - (RootView.paint): Call setSize() before painting the view. - -2006-02-09 Ito Kazumitsu - - Fixes bug #26112 - * gnu/regexp/RE.java(REG_REPLACE_USE_BACKSLASHESCAPE): New execution - flag which enables backslash escape in a replacement. - (getReplacement): New public static method. - (substituteImpl),(substituteAllImpl): Use getReplacement. - * gnu/regexp/REMatch.java(substituteInto): Replace $n even if n>=10. - * java/util/regex/Matcher.java(appendReplacement) - Use RE#getReplacement. - (replaceFirst),(replaceAll): Use RE.REG_REPLACE_USE_BACKSLASHESCAPE. - -2006-02-09 Raif S. Naffah - - * gnu/java/security/key/rsa/RSAKeyPairX509Codec.java: New file. - * gnu/java/security/key/rsa/RSAKeyPairPKCS8Codec.java: Likewise. - * gnu/java/security/key/rsa/RSAKeyPairGenerator.java - (PREFERRED_ENCODING_FORMAT): New constant. - (DEFAULT_ENCODING_FORMAT): Likewise. - (preferredFormat): New field. - (setup): Add support for preferred encoding format. - (generate): Call key constructors with explicit format identifier. - * gnu/java/security/key/rsa/GnuRSAPublicKey.java (GnuRSAPublicKey(2)): - Call constructor with 3 arguments.. - (GnuRSAPublicKey(3)): New constructor. - (valueOf): Added support for ASN.1 format. - (getEncoded): Likewise. - * gnu/java/security/key/rsa/GnuRSAPrivateKey.java (GnuRSAPrivateKey(4)): - Call constructor with 5 arguments. - (GnuRSAPrivateKey(5)): New constructor. - (GnuRSAPrivateKey(9)): New constructor. - (valueOf): Added support for ASN.1 format. - (getEncoded): Likewise. - * gnu/java/security/key/rsa/GnuRSAKey.java (defaultFormat): New field. - (GnuRSAKey): Modified constructor. - (getFormat): Return preferred format identifier. - * gnu/java/security/key/dss/DSSKeyPairPKCS8Codec.java - (decodePrivateKey): Fixed documentation. - Check Version field. - * gnu/java/security/jce/sig/RSAKeyPairGeneratorSpi.java - (initialize(int,SecureRandom)): Set ASN.1 as the preferred encoding - format. - (initialize(AlgorithmParameterSpec,SecureRandom)): Likewise. - * gnu/java/security/jce/sig/EncodedKeyFactory.java - (engineGeneratePublic): Added support for RSA. - (engineGeneratePrivate): Likewise. - -2006-02-09 Wolfgang Baer - - * java/net/URLConnection.java: - (setAllowUserInteraction): Throw IllegalStateException if connected. - (getRequestProperty): Document return value if key is null. - * gnu/java/net/protocol/http/HTTPURLConnection.java: - (getRequestProperty): Return null if key is null. - (getRequestProperties): Throw IllegalStateException if connected. - (setRequestProperty): Call super method for exception tests. - (addRequestProperty): Likewise. - -2006-02-09 Wolfgang Baer - - * gnu/java/net/protocol/http/Request.java: - (Request): Remove initialization of removed field. - (requestBodyNegotiationThreshold): Removed now unused field. - (setRequestBodyNegotiationThreshold): Remove now unused method. - (dispatch): Do not use 'Expect 100-continue' header if content-length - is over a treshold. If user specified 'Expect 100-continue' still - initialize the expectingContinue variable. - -2006-02-08 David Gilbert - - * javax/swing/SpinnerNumberModel.java - (SpinnerNumberModel(Number, Comparable, Comparable, Number): Allow - maximum and minimum to take null values, - (setValue): Only fire ChangeEvent if new value is different to old - value, - (setMinimum): Fixed test for updating value, - (setMaximum): Likewise, - (setStepSize): Likewise. - -2006-02-08 Tom Tromey - - * tools/.cvsignore: Added Makefile.in. - -2006-02-08 Audrius Meskauskas - - * java/rmi/server/RemoteRef.java, - java/rmi/server/RemoteStub.java: Commented. - -2006-02-08 David Gilbert - - * javax/swing/SpinnerDateModel.java - (SpinnerDateModel(Date, Comparable, Comparable, int)): Added argument - checks, - (getPreviousValue): Check result against start, not end, - (setValue): Check that value actually changes before firing - ChangeEvent. - -2006-02-08 Lillian Angel - - * java/awt/Choice.java - (select): Fixed up code, added some checks to prevent errors. - (dispatchEventImpl): Removed. This function is not needed. It - causes several assertion errors. - -2006-02-08 Roman Kennke - - * javax/swing/text/PlainView.java - (drawLine): Call drawUnselectedText() with end offset - 1 to avoid - drawing unnecessary characters. - -2006-02-08 Lillian Angel - - * gnu/java/awt/peer/gtk/GtkComponentPeer.java - (handleEvent): Fixed check to determine if height or - width is less than 1. - -2006-02-08 Audrius Meskauskas - - *tools/Makefile.am (ALL_TOOLS_FILES): Add $(TOOLS_HELPS). - -2006-02-08 Audrius Meskauskas - - * examples/gnu/classpath/examples/CORBA/swing/x5/_GameManagerImpl_Tie.java, - examples/gnu/classpath/examples/CORBA/swing/x5/_PlayerImpl_Tie.java: - Documenting the code generator. - * gnu/CORBA/IOR.java (toStringFormatted, - CodeSet_component.toStringFormatted): New methods. - * tools/Makefile.am (TOOLS_JAVA_FILES, READMES): Rewritten. - * tools/gnu/classpath/tools/giop/README: Rewritten. - * tools/gnu/classpath/tools/giop/GRMIC.java (main): Rewritten. - (printHelpAndExit): Removed. - *tools/gnu/classpath/tools/giop/IorParser.java, - tools/gnu/classpath/tools/giop/IorParser.txt, - tools/gnu/classpath/tools/giop/NameService.java, - tools/gnu/classpath/tools/giop/NamingService.txt, - tools/gnu/classpath/tools/HelpPrinter.java: New files. - NEWS: Added note about GIOP tools. - -2006-02-07 Audrius Meskauskas - - * .classpath: New source patch (tools). - * Makefile.am (SUBDIRS, DIST_SUBDIRS): added "tools". - * configure.ac (AC_CONFIG_FILES): added tools/Makefile - * tools/gnu/classpath/tools/Makefile.am, - tools/gnu/classpath/tools/giop/GRMIC.java - tools/gnu/classpath/tools/giop/GRMIC.txt, - tools/gnu/classpath/tools/giop/README, - tools/gnu/classpath/tools/giop/grmic/CompilationError.java, - tools/gnu/classpath/tools/giop/grmic/Generator.java, - tools/gnu/classpath/tools/giop/grmic/GiopIo.java, - tools/gnu/classpath/tools/giop/grmic/GiopRmicCompiler.java, - tools/gnu/classpath/tools/giop/grmic/MethodGenerator.java, - tools/gnu/classpath/tools/giop/grmic/templates/ImplTie.jav, - tools/gnu/classpath/tools/giop/grmic/templates/Stub.jav, - tools/gnu/classpath/tools/giop/grmic/templates/StubMethod.jav, - tools/gnu/classpath/tools/giop/grmic/templates/StubMethodVoid.jav, - tools/gnu/classpath/tools/giop/grmic/templates/Tie.jav, - tools/gnu/classpath/tools/giop/grmic/templates/TieMethod.jav, - tools/gnu/classpath/tools/giop/grmic/templates/TieMethodVoid.jav: New files. - -2006-02-07 David Gilbert - - * java/awt/BasicStroke.java: Updated API docs all over, - * java/awt/doc-files/capjoin.png: New file. - -2006-02-07 Lillian Angel - - * gnu/java/awt/peer/gtk/GtkComponentPeer.java - (handleEvent): Added check. Should not paint or update the - component if it's width and height are both 0. - -2006-02-07 Roman Kennke - - * javax/swing/text/AbstractDocument.java - (insertString): Enclose locking/unlocking in try-finally block - and also keep locked while notifying the listeners. - -2006-02-07 Roman Kennke - - * javax/swing/text/GlyphView.java - (GlyphView): Initialize startOffset and endOffset with -1 (indicating - element boundary). - (getStartOffset): Return element boundary if startOffset < 0. - (getEndOffset): Return element boundary if endOffset < 0. - (createFragment): Set startOffset and endOffset fields of fragment - if one of p0 or p1 is not at the element boundary. - -2006-02-07 Roman Kennke - - * javax/swing/CellRendererPane.java - (paintComponent): Enclosed painting in try finally to properly - clean up even when throwing an exception. - -2006-02-07 Roman Kennke - - * javax/swing/UIManager.java - (listeners): Made this an instance of - java.beans.PropertyChangeSupport instead of the obsoleted - SwingPropertyChangeSupport. - -2006-02-07 Robert Schuster - - * javax/swing/text/DefaultEditorToolkit.java: Changed behavior - of actions "delete-next" and "delete-previous", added new TextAction - implementations for "selection-begin", "selection-begin-line", - "selection-end" and "selection-end-line". - -2006-02-07 Roman Kennke - - * javax/swing/plaf/basic/BasicTextUI.java - (paint): Acquire read lock on the document before calling - paintSafely. - (paintSafely): Added comment about what this method does. - (paintBackground): Implemented to actually paint the background. - (update): Overridden to _not_ paint the background. This is done - in paintBackground in this UI. - -2006-02-07 Roman Kennke - - * javax/swing/text/View.java - (forwardUpdate): Don't notify newly added child views as specified. - -2006-02-07 Robert Schuster - - * gnu/java/beans/decoder/DefaultExceptionListener.java: Removed. - -2006-02-07 Roman Kennke - - * javax/swing/text/DefaultStyledDocument.java - (ElementBuffer.insert): Only register change when the element - actually changed. - -2006-02-07 Raif S. Naffah - - * gnu/java/security/key/KeyPairCodecFactory.java (getEncodingName): New - method. - (getEncodingShortName): Likewise. - * gnu/java/security/key/IKeyPairCodec.java (X509_FORMAT): New constant. - (PKCS8_FORMAT): Likewise. - (ASN1_FORMAT): Likewise. - * gnu/java/security/key/dss/DSSPublicKey.java (DSSPublicKey(4)): Call - constructor with 5 arguments. - (DSSPublicKey(5)): New constructor. - (valueOf): Handle ASN.1 encoding. - (getEncoded): Likewise. - * gnu/java/security/key/dss/DSSPrivateKey.java (DSSPrivateKey(4)): Call - constructor with 5 arguments. - (DSSPrivateKey(5)): New constructor. - (valueOf): Handle ASN.1 encoding. - (getEncoded): Likewise. - * gnu/java/security/key/dss/DSSKeyPairX509Codec.java: New file. - * gnu/java/security/key/dss/DSSKeyPairPKCS8Codec.java: Likewise. - * gnu/java/security/key/dss/DSSKeyPairGenerator.java - (PREFERRED_ENCODING_FORMAT): New constant. - (DEFAULT_ENCODING_FORMAT): Likewise. - (preferredFormat): New field. - (setup): Handle preferred format ID. - (generate): Use new ctors with 5 arguments. - * gnu/java/security/key/dss/DSSKey.java (DSSKey): Now accepts a format - ID as an additional argument. - (defaultFormat): new field. - (getFormat): Returns the preferred format as a short string. - * gnu/java/security/jce/sig/DSSKeyFactory.java: New file. - * gnu/java/security/jce/sig/EncodedKeyFactory.java (engineGetKeySpec): - Likewise - * gnu/java/security/jce/sig/DSSKeyPairGeneratorSpi.java - (initialize(AlgorithmParameterSpec)): Set ASN.1 as the preferred - encoding format. - (initialize(int,boolean,SecureRandom)): Likewise. - * gnu/java/security/der/DERWriter.java (writeBitString): Use - writeLength() instead of write(). - return buf.length + 1 instead of buf.length. - -2006-02-07 Roman Kennke - - * javax/swing/plaf/basic/BasicTextUI.java - (RootView.preferenceChange): Changed view parameter to view so - that it doesn't hide a field of that class. - (RootView.getViewCount): Rewritten to clean up ECJ warning. - (RootView.modelToView): Removed unnecessary cast from View to View. - (PropertyChangeHandler): Made inner class private. - (updateHandler): Made field private. - (getVisibleEditorRect): Removed unneeded local variable that - shadowed a field with the same name and purpose. - -2006-02-07 Robert Schuster - - * javax/swing/text/JTextComponent.java: - (getSelectedText): Calculate offset and use that as - second argument. - -2006-02-07 Roman Kennke - - * javax/swing/JTextPane.java - (setCharacterAttributes): Replace input attributes when - replace==true. - -2006-02-07 Roman Kennke - - * java/awt/Component.java - (firePropertyChange(String,byte,byte)): Made method public. - (firePropertyChange(String,char,char)): Made method public. - (firePropertyChange(String,short,short)): Made method public. - (firePropertyChange(String,long,long)): Made method public. - (firePropertyChange(String,float,float)): Made method public. - (firePropertyChange(String,double,double)): Made method public. - -2006-02-06 Tom Tromey - - * gnu/CORBA/NamingService/NamingServiceTransient.java (main): Use - 2006. - * gnu/java/rmi/registry/RegistryImpl.java (version): Use 2006. - -2006-02-06 Anthony Green - - * gnu/xml/aelfred2/XmlParser.java: Add missing break;. - -2006-02-07 Raif S. Naffah - - * .settings/org.eclipse.jdt.core.prefs: - Force a line split on extends and implements. - Force a white-space after unary operators. - Don't force a new-line after @params. - Add new-line at end-of-file. - * scripts/eclipse-gnu.xml: Export version of the above named GNU. - -2006-02-07 Raif S. Naffah - - * gnu/java/security/provider/GnuDSAPublicKey.java (getEncoded): Use - Registry constant. - * gnu/java/security/provider/GnuDSAPrivateKey.java (getEncoded): - Likewise. - * gnu/java/security/provider/GnuRSAPrivateKey.java (getEncoded): - Likewise. - * gnu/java/security/provider/GnuRSAPublicKey.java (getEncoded): + * javax/management/Descriptor.java: + New file. + * javax/management/DescriptorRead.java: Likewise. - * gnu/java/security/provider/EncodedKeyFactory.java - (ID_DSA): Redefined in terms of Registry constant. - (ID_DSA): Redefined in terms of Registry constant. - (ID_DH): Redefined in terms of Registry constant. - * gnu/java/security/Registry.java (X509_ENCODING): New constant. - (PKCS8_ENCODING): Likewise. - (ASN1_ENCODING): Likewise. - (RAW_ENCODING_SHORT_NAME): Likewise. - (X509_ENCODING_SORT_NAME): Likewise. - (PKCS8_ENCODING_SHORT_NAME): Likewise. - (ASN1_ENCODING_SHORT_NAME): Likewise. - (X509_ENCODING_ID): Likewise. - (PKCS8_ENCODING_ID): Likewise. - (ASN1_ENCODING_ID): Likewise. - (DSA_OID_STRING): Likewise. - (RSA_OID_STRING): Likewise. - (DH_OID_STRING): Likewise. - -2006-02-06 Roman Kennke - - * javax/swing/text/GlyphView.java: - (DefaultGlyphPainter.paint): Store/restore Graphics color setting. - Only fill background if there is a background set on the view. - Call Utilities.drawTabbedText with the baseline height, rather than - the upper left corner of the view rectangle. - (getBackground): Return null if no background is set. - * javax/swing/text/GlyphView.java: - (setPropertiesFromAttributes): Use null for background when no - background is set. StyleConstants.getBackground() doesn't work - for this, because it returns Color.BLACK in that case. - -2006-02-06 Roman Kennke - - * java/awt/Container.java - (changeSupport): Removed duplicate (from Component) field. - (addPropertyChangeListener): Call super. - -2006-02-06 Ito Kazumitsu - - * java/util/regex/Matcher.java(matches): - set RE.REG_TRY_ENTIRE_MATCH as an execution flag of getMatch. - -2006-02-06 Ito Kazumitsu - - Fixes bug #25812 - * gnu/regexp/CharIndexed.java(lookBehind),(length): New method. - * gnu/regexp/CharIndexedCharArray.java - (lookBehind),(length): Implemented. - * gnu/regexp/CharIndexedInputStream.java: Likewise. - * gnu/regexp/CharIndexedString.java: Likewise. - * gnu/regexp/CharIndexedStringBuffer.java: Likewise. - * gnu/regexp/REToken.java(getMaximumLength): New method. - * gnu/regexp/RE.java(internal constructor RE): Added new argument - maxLength. - (initialize): Parse (?<=X), (?X). - (getMaximumLength): Implemented. - * gnu/regexp/RETokenAny.java(getMaximumLength): Implemented. - * gnu/regexp/RETokenChar.java: Likewise. - * gnu/regexp/RETokenEnd.java: Likewise. - * gnu/regexp/RETokenEndSub.java: Likewise. - * gnu/regexp/RETokenLookAhead.java: Likewise. - * gnu/regexp/RETokenNamedProperty.java: Likewise. - * gnu/regexp/RETokenOneOf.java: Likewise. - * gnu/regexp/RETokenPOSIX.java: Likewise. - * gnu/regexp/RETokenRange.java: Likewise. - * gnu/regexp/RETokenRepeated.java: Likewise. - * gnu/regexp/RETokenStart.java: Likewise. - * gnu/regexp/RETokenWordBoundary.java: Likewise. - * gnu/regexp/RETokenIndependent.java: New file. - * gnu/regexp/RETokenLookBehind.java: New file. - -2006-02-06 Roman Kennke - - * java/awt/Component.java - (firePropertyChange(String,byte,byte)): New method. - (firePropertyChange(String,char,char)): New method. - (firePropertyChange(String,short,short)): New method. - (firePropertyChange(String,long,long)): New method. - (firePropertyChange(String,float,float)): New method. - (firePropertyChange(String,double,double)): New method. - -2006-02-06 Roman Kennke - - * javax/swing/JComponent.java - (AccessibleJComponent.changeSupport): Changed to be a - java.beans.PropertyChangeSupport rather than - SwingPropertyChangeSupport. - (AccessibleJComponent.AccessibleJComponent()): Change initialization - of above field. - (changeSupport): Removed unneeded field. - (removePropertyChangeListener): Removed unneeded methods. - (addPropertyChangeListener): Removed unneeded methods. - (getPropertyChangeListeners): Removed unneeded methods. - (firePropertyChange(String,boolean,boolean)): Changed to simply - call super. Added specnote. - (firePropertyChange(String,char,char)): Changed to simply - call super. Added specnote. - (firePropertyChange(String,int,int)): Changed to simply - call super. Added specnote. - (firePropertyChange(String,byte,byte)): Removed. - (firePropertyChange(String,Object,Object)): Removed. - (firePropertyChange(String,double,double)): Removed. - (firePropertyChange(String,float,float)): Removed. - (firePropertyChange(String,long,long)): Removed. - (firePropertyChange(String,short,short)): Removed. - -2006-02-06 Roman Kennke - - * javax/swing/event/SwingPropertyChangeSupport.java - (listeners): Removed field. - (propertyListeners): Removed field. - (source): Removed field. - (SwingPropertyChangeSupport()): Removed initialization of removed - fields. - (addPropertyChangeListener): Removed methods. - (removePropertyChangeListener): Removed methods. - (getPropertyChangeListeners): Removed methods. - (firePropertyChange): Removed methods. - (hasListeners): Removed methods. - -2006-02-06 Jeroen Frijters - - Fixes PR 25313 - * java/net/InetAddress.java - (readResolve): Implemented. - -2006-02-06 Jeroen Frijters - - Fixes PR 26121 - * java/io/ObjectInputStream.java - (readNextBlock()): Handle TC_RESET. - -2006-02-06 Wolfgang Baer - - * javax/print/attribute/standard/Compression.java, - * javax/print/attribute/standard/Finishings.java, - * javax/print/attribute/standard/JobMediaSheets.java, - * javax/print/attribute/standard/JobSheets.java, - * javax/print/attribute/standard/JobState.java, - * javax/print/attribute/standard/JobStateReason.java, - * javax/print/attribute/standard/ReferenceUriSchemesSupported.java, - * javax/print/attribute/standard/PrintQuality.java, - * javax/print/attribute/standard/Media.java, - * javax/print/attribute/standard/MultipleDocumentHandling.java, - * javax/print/attribute/standard/PrinterStateReason.java, - * javax/print/attribute/standard/PDLOverrideSupported.java: - (getName): Make method final. - (getCategory): Likewise. - * javax/print/attribute/standard/MediaSize.java: - (getName): Make method final. - (getCategory): Likewise. - (ISO): Added private default constructor. - (NA): Likewise. - (JIS): Likewise. - (Other): Likewise. - (Engineering): Likewise. - -2006-02-06 Wolfgang Baer - - * native/jni/java-net/javanet.c (_javanet_connect): - Throw ConnectException instead of IOException if connection failed. - * native/jni/java-net/javanet.h: - Add a define for java.net.ConnectException - -2006-02-05 Mark Wielaard - - Fixes bug #26101 - reported by Egon Willighagen - * javax/swing/DefaultListCellRenderer.java - (getListCellRendererComponent): Turn null value into empty string. - -2006-02-04 Ito Kazumitsu - - * gnu/regexp/RETokenNamedProperty.java(getHandler): Check for - a Unicode block if the name starts with "In". - (UnicodeBlockHandler): New inner class. - -2006-02-04 Roman Kennke - - * java/awt/Container.java - (getComponentZOrder): New method. - (setComponentZOrder): New method. - * javax/swing/JLayeredPane.java - (setPosition): Reimplemented to use setComponentZOrder(). - (getIndexOf): Reimplemented to use getComponentZOrder(). - (addImpl): Pass layerContraint to super call. Important for possibly - installed layout managers. - (swapComponents): Remove unneeded method. - -2006-02-04 Raif S. Naffah - - * gnu/java/security/jce/sig/DSSKeyPairGeneratorSpi.java: Implement - DSAKeyPairGenerator. - (initialize(int,SecureRandom)): Call initialize(keysize, false, random). - (initialize(AlgorithmParameterSpec,SecureRandom)): More explicit error - message. - Surround call to adaptee in a try/catch. - (initialize((DSAParams,SecureRandom)): New method. - (initialize(int,boolean,SecureRandom)): New method. - * gnu/java/security/jce/sig/KeyPairGeneratorAdapter.java: Extends - KeyPairGenerator rather than KeyPairGeneratorSpi. - (KeyPairGeneratorAdapter): Call super with algorithm name. - -2006-02-04 Raif S. Naffah - - * gnu/javax/crypto/sasl/srp/SRPServer.java (prng): New field. - (getDefaultPRNG): New method. - (parseO): Use method above. - * gnu/javax/crypto/sasl/srp/SRPClient.java (prng): New field. - (getDefaultPRNG): New method. - (createO): Use method above. - * gnu/javax/crypto/sasl/srp/KDF.java (prng): New class field. - (nextByte): Use above field. - * gnu/javax/crypto/pad/PKCS1_V1_5.java (selfTest): Use PRNG instance. - * gnu/java/security/sig/rsa/RSA.java: New class field. - (newR): Use above field - * gnu/java/security/sig/rsa/EME_PKCS1_V1_5.java (prng): New field. - (encode): Use field.above. - * gnu/java/security/key/dss/FIPS186.java (prng): New field. - (getDefaultPRNG): new method. - (nextRandomBytes): Use above method. - * gnu/java/security/key/rsa/RSAKeyPairGenerator.java: Likewise. - * gnu/java/security/sig/BaseSignature.java: Likewise. - * gnu/javax/crypto/key/dh/GnuDHKeyPairGenerator.java: Likewise. - * gnu/javax/crypto/key/dh/RFC2631.java: Likewise. - * gnu/javax/crypto/key/srp6/SRPKeyPairGenerator.java: Likewise. - * gnu/javax/crypto/key/BaseKeyAgreementParty.java: Likewise. - * gnu/java/security/key/dss/DSSKeyPairGenerator.java (prng): New field. - (getDefaultPRNG): new method. - (nextRandomBytes): Use above method. - (STRICT_DEFAULTS): new class field. - (USE_DEFAULTS): more documentation to clarify behavior. - (setup): amended to handle new attribute. - * gnu/java/security/util/PRNG.java: New file. - -2006-02-03 Lillian Angel - - * javax/swing/plaf/basic/BasicColorChooserUI.java: - chooser field should be protected, not package-private. - -2006-02-03 Lillian Angel - - * javax/swing/text/DefaultStyledDocument.java - (changeUpdate): Cleaned up code. - (split): Likewise. - (insertUpdate): Set offset to be equal to pos after - insertContentTag call. - (insertContentTag): If paragraph has no children, should use - replace instead of Edit. - (insertFracture): Moved around code to prevent any exception. Also, - left side of tree should not be recreated if it has already been - edited. In that case, we should only be creating a new right branch - when fracturing. - (getEditForParagraphAndIndex): No need to check index. We should - use the same edit for each paragraph. - -2006-02-03 Mark Wielaard - - * javax/swing/event/SwingPropertyChangeSupport.java - (propertyListeners): Change type to HashMap. - (SwingPropertyChangeSupport): Allocate HashMap. - -2006-02-03 Raif S. Naffah - - * java/security/KeyPairGenerator.java (getInstance): Test for - instanceof KeyPairGenerator before KeyPairGeneratorSpi. - -2006-02-02 Roman Kennke - - * javax/swing/RepaintManager.java - Made fields private. - (RepaintWorker.run): Enclosed work stuff in try finally block in - order to clean up correctly if invalidation or painting fails, - otherwise we would get no more RepaintWorkers onto the EventQueue. - Also, now the RepaintWorker is marked 'dead' only after it has - finished its work, avoid more than one RepaintWorker on the queue. - (ComponentComparator.compareTo): Compare dirty rectangle sizes - instead of hierarchy depths. - (workDirtyComponents): Removed unused field. - (repaintOrder): Removed unused field. - (workRepaintOrder): Removed unused field. - (workInvalidComponents): Removed unused field. - (RepaintManager()): Removed initialization of removed fields. - (addInvalidComponent): Fine tuned synchronization. - (removeInvalidComponent): Fine tune synchronization. - (addDirtyRegion): Short circuit invalid dirty regions. Fine tuned - synchronization. Don't manager repaintOrder here. - (insertRepaintOrder): Removed method. - (markCompletelyClean): Fine tuned synchronization. - (validateInvalidComponents): Dont use a working copy of the - invalidComponents list, instead fine tuned synchronization on this - list. Also, don't search validateRoot, this is already done in - addInvalidComponent(). - (paintDirtyRegions): Compute repaint order here, based on size of - damaged regions. Fine tuned synchronization. Avoid use of working - copies of dirtyComponent. - -2006-02-02 Lillian Angel - - * javax/swing/text/DefaultStyledDocument.java - (insertUpdate): JoinNextDirection should push the - 'next' paragraph on the stack. - -2006-02-02 Lillian Angel - - * javax/swing/text/DefaultStyledDocument.java - (insertUpdate): Rewrote code for Originate. This prevents - leaves being created multiple times. If it is on the last - ElementSpec, the leaves need to be created right then; - otherwise, only a branch is created. - (insertContentTag): Rewrote to add new leaf directly if - this is a branch with no children. Otherwise, it - recreates the remainder of the tree as before. - -2006-02-02 Ito Kazumitsu - - * gnu/regexp/REMatch.java(REMatchList): New inner utility class - for making a list of REMatch instances. - * gnu/regexp/RETokenOneOf.java(match): Rewritten using REMatchList. - * gnu/regexp/RETokenRepeated.java(findDoables): New method. - (match): Rewritten using REMatchList. - (matchRest): Rewritten using REMatchList. - -2006-02-02 Audrius Meskauskas - - * examples/gnu/classpath/examples/CORBA/swing/x5/PlayingDesk.java - (friendsMove): Call repaint() only after endOfGame is assigned. - -2006-02-02 Mark Wielaard - - Fixes bug #25769 reported by Artemus Harper - * java/util/AbstractCollection.java (toString): Only use Iterator, - check whether collection contains itself. - -2006-02-01 Casey Marshall - - Partial fix for PR classpath/25143. - * javax/crypto/EncryptedPrivateKeyInfo.java (algName): new field. - (): fill in `algName,' derive `algOid' from `algName.' - (getOid): new method. - (encode): embed NULL value for parameters if `params' is `null.' - -2006-02-01 Casey Marshall - - Tag check and OTHER_NAME fixes suggested by Rafael Teixeira - . - * gnu/java/security/x509/ext/GeneralNames.java (): fix tag - check; fix OTHER_NAME parsing; fix DIRECTORY_NAME parsing. - -2006-02-01 Casey Marshall - - toString fix suggested by Rafael Teixeira . - * gnu/java/security/der/DERValue.java - (getLength, getEncoded, getEncodedLength): throw an exception, - don't initialize `encoded' to a bogus value. - (toString): return a more helpful string. - - Partial fix for PR classpath/25144. - * gnu/java/security/der/DERWriter.java (write): if the value is - the pseudo-value used for CONSTRUCTED, write the encoded value - directly. - -2006-02-01 Tom Tromey - - * java/security/Security.java (loadProviders): Use system class - loader. - -2006-02-01 Mark Wielaard - - * gnu/regexp/RE.java (getRETokenNamedProperty): Chain exception. - * gnu/regexp/RETokenNamedProperty.java (LETTER, MARK, SEPARATOR, - SYMBOL, NUMBER, PUNCTUATION, OTHER): New final byte[] fields. - (getHandler): Check for grouped properties L, M, Z, S, N, P or C. - (UnicodeCategoriesHandler): New private static class. - -2006-02-01 Lillian Angel - - * javax/swing/text/DefaultStyledDocument.java: - Removed unneeded fields. - (insertUpdate): Removed field initialization. - (insertContentTag): Rewrote part of function. Still - not complete. - -2006-02-01 Lillian Angel - - * javax/swing/text/DefaultStyledDocument.java - (insertParagraph): Cleaned up code. - (insertFirstContentTag): Fixed call to recreateLeaves. - (insertContentTag): Added check to code to determine where - content should be inserted with respect to next element. - (createFracture): Removed check, recreateLeaves is called in - other places when needed. - (recreateLeaves): Added new parameter for paragraph instead - of checking the stack. Removed editing for newBranch, replaced - with a replace call. - -2006-02-01 Anthony Balkissoon - - * doc/unicode/Blocks-4.0.0.txt: New file. - * java/lang/Character.java: Regenerated inner class UnicodeBlock from - scripts/unicode-blocks.pl and doc/unicode/Blocks-4.0.0.txt. - * scripts/unicode-blocks.pl: Copied this over from the generics branch - but replaced some 1.5-only features (such as enum). - -2006-01-31 Roman Kennke - - * javax/swing/text/PasswordView.java - (drawSelectedText): Use drawEchoCharacter() method to draw echo - character. - (drawUnselectedText): Use drawEchoCharacter() method to draw echo - character. - -2006-01-31 Roman Kennke - - * javax/swing/JTextField.java - (getPreferredSize): Also include textfield's insets in width - calculation. - -2006-01-31 Roman Kennke - - * javax/swing/plaf/basic/BasicTextUI.java - (getPreferredSize): Include the textcomponent's insets in - preferredSize. - -2006-01-31 Roman Kennke - - * javax/swing/table/DefaultTableCellRenderer.java - (getTableCellRendererComponent): Moved setting of the value into - setValue(). Removed (bogus) special handling of JTextField values. - (setValue): Made ?: statement more clear by rewriting it - with if .. else. - -2006-01-31 Roman Kennke - - * javax/swing/JLayeredPane.java - (insertIndexForLayer): Fixed algorithm to correctly determine - inser index for positions >= 0. - (addImpl): Fixed API docs for the index parameter. - -2006-01-31 Mark Wielaard - - * java/net/URI.java (getURIGroup): Check for null to see whether - group actually exists. - -2006-01-31 Lillian Angel - - * javax/swing/text/DefaultStyledDocument.java - (changeUpdate): Fixed calls to split to incorporate - new parameter. - (insertParagraph): Likewise. Uses 0 as editIndex - because inserting into a new paragraph. - (insertContentTag): Fixed check to use - recreateLeaves. Added a FIXME comment. - (split): Added a new parameter for edits. - -2006-01-31 Roman Kennke - - * javax/swing/plaf/basic/BasicRootPaneUI.java - (installDefaults): Don't install a background color here. - -2006-01-31 Lillian Angel - - * javax/swing/text/DefaultStyledDocument.java - (insert): Removed comment. - (insertUpdate): Added comment. - (recreateLeaves): Removed call to push newBranch onto the - stack. This does not need to be done here. - -2006-01-31 Chris Burdess - - * gnu/xml/stream/SAXParser.java, - gnu/xml/stream/UnicodeReader.java, - gnu/xml/stream/XIncludeFilter.java, - gnu/xml/stream/XMLParser.java: Fix case where resolved InputSource - only resolved the system ID not the stream. Make some utility methods - public and static for use by other private XML APIs. - * java/lang/ClassNotFoundException.java: Ensure that initCause can be - called without throwing IllegalStateException. - * java/util/logging/SimpleFormatter.java: Write thrown exception if - provided. - -2006-01-31 Ito Kazumitsu - - Fixes bug #22873 - * gnu/regexp/REMatch(toString(int)): Throw IndexOutOfBoundsException - for an invalid index and return null for a skipped group. - -2006-01-31 Ito Kazumitsu - - Fixes bug #26002 - * gnu/regexp/gnu/regexp/RE.java(initialize): Parse /\p{prop}/. - (NamedProperty): New inner class. - (getNamedProperty): New method. - (getRETokenNamedProperty): New Method. - * gnu/regexp/RESyntax.java(RE_NAMED_PROPERTY): New syntax falg. - * gnu/regexp/RETokenNamedProperty.java: New file. - -2006-01-31 Roman Kennke - - * javax/swing/plaf/PlainView.java - (paint): Call drawLine with baseline coordinates. - (drawLine): Documented and indented this method. - (drawUnselecetedText): Documented and indented this method. - * javax/swing/plaf/text/Utilites.java - (drawTabbedText): The coordinates denote the baseline of the text - not the upper left corner. - -2006-01-31 Roman Kennke - - * javax/swing/plaf/basic/BasicTextUI.java - (createKeymap): Don't store KeyBindings[] as focusInputMap in - UIManager. Added FIXME regarding the implementation of this method. - -2006-01-30 David Gilbert - - * examples/gnu/classpath/examples/swing/ButtonDemo.java - (ButtonDemo): Move content initialisation to new method, - (initFrameContent): New method, - (main): Call initFrameContent(), - * examples/gnu/classpath/examples/swing/ComboBoxDemo.java: Likewise, - * examples/gnu/classpath/examples/swing/FileChooserDemo.java: Likewise, - * examples/gnu/classpath/examples/swing/ScrollBarDemo.java: Likewise, - * examples/gnu/classpath/examples/swing/SliderDemo.java: Likewise, - * examples/gnu/classpath/examples/swing/TextFieldDemo.java: Likewise. - -2006-01-30 David Gilbert - - * examples/gnu/classpath/examples/swing/Demo.java - (Demo): Set frame size, - (mkButtonBar): Removed stacked sub-panels. - -2006-01-30 Lillian Angel - - * javax/swing/text/DefaultStyledDocument.java: - Added new fields. - (insert): Initialized fields. Removed call to addEdit, - and created ElementEdit instead. - (insertUpdate): Added check for fracturing. If the - fracturing was not successful, we should push the - last element back on the stack. - (insertParagraph): Fixed call to getEditForParagraphAndIndex. - Also, changed replace calls to use Edit. - (insertFirstContentTag): Removed unneeded check and fixed call - to recreateLeaves. - (insertContent): Fixed check to use new fields. Added code in - to check if leaves overlap. - (createFracture): Fixed call to recreateLeaves. - (recreateLeaves): Fixed code and cleaned it up a bit. - (insertFracture): Set fracNotCreated field. - (addEdit): Removed, this method is not needed. - -2006-01-30 Roman Kennke - - * javax/swing/JRootPane.java - (RootLayout.prefSize): Removed caching for preferredSize. - (RootLayout.invalidateLayout): Likewise. - (RootLayout.preferredLayoutSize): Likewise. - -2006-01-30 Roman Kennke - - PR classpath/26035 - * javax/swing/JFrame.java - (frameInit): Handle the defaultLookAndFeelDecorated flag. - * javax/swing/plaf/metal/MetalRootPaneUI.java - (MetalFrameBorder): New inner class, provides the border for - top level containers with L&F decorations. - (MetalTitlePane): New inner class, provides the title pane for - top level containers with L&F decorations. - (MetalRootLayout): New inner class. Used to layout the root pane - when L&F window decorations are enabled. - (installUI): New method. Handles window decorations. - (uninstallUI): New method. Handles window decorations. - (propertyChange): Handles window decorations. - (installWindowDecorations): New method. Handles window - decorations. - (uninstallWindowDecorations): New method. Handles window - decorations. - * javax/swing/plaf/metal/MetalLookAndFeel.java - (getSupportsWindowDecorations): Overridden to return true. - -2006-01-30 Mark Wielaard - - * javax/swing/JProgressBar.java (JProgressBar(int)): Document - IllegalArgumentException when orientation is illegal. - (JProgressBar(int, int, int)): Likewise and throw exception. - (setOrientation): Likewise. - -2006-01-30 Roman Kennke - - * javax/swing/ViewportLayout.java - (minimumLayoutSize): Rewritten to unconditionally return (4,4). - -2006-01-30 Mark Wielaard - - * javax/swing/JProgressBar.java (orientation): Always set by - constructor. - (JProgressBar(int)): Document default on 'illegal' value. - (JProgressBar(int, int, int)): Likewise and set orientation to - HORIZONTAL when 'illegal'. - (setOrientation): Likewise. - -2006-01-30 Roman Kennke - - * javax/swing/plaf/basic/BasicListUI.java - (ListDataHandler.contentsChanged): Update the - updateLayoutStateNeeded flag. - (ListDataHandler.intervalAdded): Update the - updateLayoutStateNeeded flag. - (ListDataHandler.intervalRemoved): Update the - updateLayoutStateNeeded flag. - (PropertyChangeHandler.propertyChange): Correctly update the - listeners on new list model. - (maybeUpdateLayoutState): Don't consider the validation state - of the list. - -2006-01-30 Mark Wielaard - - * gnu/xml/transform/ApplyTemplatesNode.java (clone): Check whether - sortKeys is null. - -2006-01-30 Roman Kennke - - * javax/swing/JLayeredPane.java - (insertIndexForLayer): Fixed algorithm to correctly insert - components within different layers and -1 position. - -2006-01-30 Mark Wielaard - - * doc/api/Makefile.am (create_html): Add -validhtml. - -2006-01-30 Roman Kennke - - * javax/swing/JLayeredPane.java - (insertIndexForLayer): Fixed algorithm to correctly insert - components within same layer and -1 position. - -2006-01-30 Ito Kazumitsu - - Fixes bug #24876 - * gnu/regexp/gnu/regexp/RE.java(REG_TRY_ENTIRE_MATCH): - New execution flag. - (getMatchImpl): if REG_TRY_ENTIRE_MATCH is set, add an - implicit RETokenEnd at the end of the regexp chain. - Do not select the longest match, but select the first match. - (match): Do not take care of REMatch.empty. - * gnu/regexp/REMatch.java(empty): To be used only in RETokenRepeated. - * gnu/regexp/RETokenOneOf.java: Corrected a typo in a comment. - * gnu/regexp/RETokenBackRef.java: Do not take care of REMatch.empty. - * gnu/regexp/RETokenRepeated.java (match): Rewrote stingy matching. - Do not take care of REMatch.empty. Set and check REMatch.empty - when trying to match the single token. - -2006-01-30 Mark Wielaard - - * java/awt/Cursor.java (toString): Include name and type. - -2006-01-30 Raif S. Naffah - - * gnu/javax/crypto/mac/HMac.java (clone): Clone ipadHash, opadHash, and - the ipad buffer. - * gnu/javax/crypto/mac/BaseMac.java (clone): Clone underlyingHash. - -2006-01-30 Audrius Meskauskas - - PR 26027 - * javax/swing/plaf/basic/BasicListUI.java (maybeUpdateLayoutState): - Consider the validation state of the list. - -2006-01-29 Robert Schuster - - * gnu/java/beans/DefaultExceptionListener.java: Constant public field - INSTANCE added. - * java/beans/XMLDecoder.java: - (setExceptionListener): Use shared DefaultExceptionListener - instance. - * java/beans/Encoder.java: - (setExceptionListener): Use shared DefaultExceptionListener - instance. - -2006-01-29 Roman Kennke - - * javax/swing/ScrollPaneLayout.java - (minimumLayoutSize): Rewritten to match JDKs behaviour. - -2006-01-29 Mark Wielaard - - * java/net/SocketPermission.java (setActions): Trim and lower case - action. - -2006-01-29 Raif S. Naffah - - * gnu/java/security/util/Prime2.java (passEulerCriterion): Was - incorrectly failing primality test for some known primes. Fixed. - (passFermatLittleTheorem): Removed. - (passMillerRabin): Removed. - (isProbablePrime): Cache primes that pass the primality tests. - Use BigInteger.isProbablePrime(int) for primality tests. - (debugBI): New static debugging method. - -2006-01-28 Roman Kennke - - * javax/swing/plaf/basic/BasicListUI.java - (updateLayoutState): Removed unneeded special case for VERTICAL. - -2006-01-28 Roman Kennke - - * javax/swing/plaf/basic/BasicListUI.java - (getCellBounds): Determine correct list width when having a - layoutOrientation of VERTICAL. - (maybeUpdateLayoutState): Don't consider the validation state of - the list. - -2006-01-28 Mark Wielaard - - Reported by Dimitri Fontaine - * java/awt/print/NoPrinterJob.java: New (fake) class. - * java/awt/print/PrinterJob.java (getPrinterJob): Return NoPrinterJob. - -2006-01-28 Mark Wielaard - - * gnu/javax/crypto/mac/HMac.java (clone): Cast cloned ipad to byte[]. - -2006-01-28 Audrius Meskauskas - - * gnu/classpath/examples/swing/Demo.java (mkTree): Make a larger tree. - (addChildren): New method. - -2006-01-28 Raif S. Naffah - - * gnu/javax/crypto/jce/mac/MacAdapter.java (MacAdapter(IMac, Map)): New - constructor for cloning purposes. - (clone): New implementation that ensures cloning. - * gnu/javax/crypto/mac/HMac.java (clone): Implement Cloneable. - * gnu/java/security/Registry.java: Changed value of GNU_SECURITY to - "GNU". - -2006-01-27 Audrius Meskauskas - - * javax/swing/plaf/basic/BasicTreeUI.java (updateCachedPreferredSize): - Call updateCurrentVisiblePath. - -2006-01-27 Roman Kennke - - * examples/gnu/classpath/examples/swing/MiniDemo.java: New file. - -2006-01-27 Roman Kennke - - * examples/gnu/classpath/examples/swing/ButtonDemo.java - (createContent): Only create new content if we don't have one - already. - * examples/gnu/classpath/examples/swing/ComboBoxDemo.java - (createContent): Only create new content if we don't have one - already. - * examples/gnu/classpath/examples/swing/FileChooserDemo.java - (createContent): Only create new content if we don't have one - already. - * examples/gnu/classpath/examples/swing/ScrollBarDemo.java - (createContent): Only create new content if we don't have one - already. - * examples/gnu/classpath/examples/swing/SliderDemo.java - (createContent): Only create new content if we don't have one - already. - * examples/gnu/classpath/examples/swing/TableDemo.java - (createContent): Only create new content if we don't have one - already. - * examples/gnu/classpath/examples/swing/TextFieldDemo.java - (createContent): Only create new content if we don't have one - already. - -2006-01-27 Lillian Angel - - * javax/swing/text/DefaultStyledDocument.java - (insertFirstContentTag): Removed check, not needed. This - still needs to be fixed for some cases. Added call to - recreateLeaves. - (createFracture): Added call to recreateLeaves. - (recreateLeaves): New method used to recreate all the - leaves after the initial insertion. This still needs - more work. - (handleInsertAfterNewline): Removed else, not needed. - -2006-01-27 Roman Kennke - - * javax/swing/JLayeredPane.java - (inserIndexForLayer): Fixed direction of search. - -2006-01-27 Audrius Meskauskas - - * javax/swing/JTree.java (constructor): Put EXPANDED for the root - node into nodeStates. - -2006-01-27 Roman Kennke - - * javax/swing/JLayeredPane.java - (FRAME_CONTENT_LAYER): Made field final. - (componentToLayer): Made field private. - (rectCache): Removed field. - (layers): Removed field. - (JLayeredPane()): Removed initialization of removed fields. - (getLayer): Rewritten to make use of client properties in - JComponents and to be more straighforward. - (static getLayer): Rewritten to make use of client properties in - JComponents. - (layerToRange): Removed method. - (incrLayer): Removed method. - (decrLayer): Removed method. - (highestLayer): Rewritten to be more straightforward. - (lowestLayer): Rewritten to be more straightforward. - (getPosition): Rewritten to be more straightforward. - (getComponentsInLayer): Rewritten to be more straightforward. - (getComponentCountInLayer): Rewritten to be more straightforward. - (getIndexOf): Rewritten to be more straightforward. - (inserIndexForLayer): Rewritten to be more straightforward. - (remove): Rewritten to be more straightforward. - (setLayer): Rewritten to be more straightforward. - (addImpl): Rewritten to be more straightforward. - (putLayer): Rewritten to be more straightforward. - -2006-01-27 Anthony Balkissoon - - * java/lang/Character.java: - (offsetByCodePoints(CharSequence, int, int)): New API method. - (offsetByCodePoints(char[], int, int, int, int)): Likewise. - (toChars): Throw the Exception that the docs say we throw. - (codePointAt): Fixed an off-by-one error in the bounds of the if - statement. - * java/lang/String.java: - (String(int[], int, int)): New API constructor. - -2006-01-27 Lillian Angel - - * javax/swing/text/DefaultStyledDocument.java - (insert): Moved this loop to insertUpdate. - (insertUpdate): Likewise. Fixed variable - names. Incremented pos if new paragraph - is inserted. - (split): Changed edits to use replace instead. Prevents - assertion errors. - (insertFirstContentTag): Removed else. - (insertContentTag): Implemented else for JoinNextDirection. - (createFracture): Fixed up code, still not fully complete. - (insertFracture): Fixed to use return value from - recreateAfterFracture. - (recreateAfterFracture): Changed to return an array of the - elements to be added. This prevents an assertion error. - (contains): New function checks if an element is already in - the Vector. Vector's contain function was not enough to use. - (addAddedElement): Changed to use new contains function. - (addAddedElements): Likewise. - (addRemovedElement): Likewise. - (addRemovedElements): Likewise. - -2006-01-27 Audrius Meskauskas - - PR 25520 - * vm/reference/java/io/VMObjectInputStream.java (loaderAction.run): - If no user class loaders found on the stack, return the thread - context class loader. (currentClassLoader): Explained. - -2006-01-27 Roman Kennke - - * java/awt/Container.java - (swapComponents): Removed unspecified method. - * javax/swing/JLayeredPane.java - (setPosition): Reimplemented correctly. - (swapComponents): New helper method. - -2006-01-27 Mark Wielaard - - * configure.ac: Set version to 0.21-pre. - -2006-01-27 Roman Kennke - - PR classpath/25968 - * javax/swing/JComponent.java - (findOverlapFreeParent): Improved the algorithm to make better use - of the optimizedDrawingEnabled flag. - * javax/swing/JLayeredPane.java - (isOptimizedDrawingEnabled): Reimplemented to match the specs. - * javax/swing/JViewport.java - (computeBlit): Fixed check to decide if blitting is possible or not, - so that it doesn't blit if nothing was scrolled (in order to - update the buffer when the view updates itself). - -2006-01-27 Roman Kennke - - * javax/swing/plaf/metal/MetalFileChooserUI.java - (createList): Don't set scrollbar policy. - -2006-01-27 Roman Kennke - - * javax/swing/plaf/basic/BasicPopupMenuUI.java - (PopupMenuHandler.popupMenuWillBecomeInvisible): - Fixed to also handle non-Swing toplevel containers. - (PopupMenuHandler.popupMenuWillBecomeVisible): - Fixed to also handle non-Swing toplevel containers. - * javax/swing/Popup.java - (JWindowPopup.JWindowPopup()): Correctly set parent window on - popup. - -2006-01-27 Roman Kennke - - * javax/swing/plaf/basic/BasicInternalFrameUI.java - (InternalFramePropertyChangeListener): Don't implement - VetoableChangeListener. - (InternalFramePropertyChangeListener.vetoableChange): Removed. - (internalFrameVetoableChangeListener): Removed unneeded field. - (installListeners): Don't install vetoableChangeListener. - * javax/swing/event/DocumentEvent.java - (EventType): Made class final. - -2006-01-27 Roman Kennke - - * javax/swing/SwingUtilities.java - (calculateInsetArea): Removed unneeded method. The method - calculateInnerArea has the same purpose and is actually specified. - (calculateInnerArea): Rewritten to not use calculateInsetArea. - * javax/swing/plaf/basic/BasicMenuItemUI.java - (paintMenuItem): Use SwingUtilities.calculateInnerArea() instead - of SwingUtilities.calculateInsetArea(). - -2006-01-27 Roman Kennke - - * javax/swing/plaf/basic/BasicTreeUI.java - (installDefaults): Removed requestFocusInWindow() call. - * javax/swing/JComponent.java - (requestFocusInWindow(boolean)): Made method protected. - (printComponent): Made method protected. - (printChildren): Made method protected. - (printComponent): Made method protected. - (printBorder): Made method protected. - -2006-01-27 Roman Kennke - - * javax/swing/AbstractButton.java - (ButtonChangeListener.ButtonChangeListener()): Made constructor - package private. - * javax/swing/ImageIcon.java - (component): Made field final. - (tracker): Made field final. - * javax/swing/JApplet.java - (AccessibleJApplet.AccessibleJApplet): Made constructor protected. - * javax/swing/JCheckBox.java - (AccessibleJCheckBox.AccessibleJCheckBox): Made constructor - protected. - * javax/swing/JDialog.java - (AccessibleJDialog.AccessibleJDialog): Made constructor protected. - * javax/swing/JFrame.java - (AccessibleJFrame.AccessibleJFrame): Made constructor protected. - * javax/swing/JLayeredPane.java - (AccessibleJLayered.AccessibleJLayeredPane): Made constructor - protected. - (DEFAULT_LAYER): Made field final. - (PALETTE_LAYER): Made field final. - (MODAL_LAYER): Made field final. - (POPUP_LAYER): Made field final. - (DRAG_LAYER): Made field final. - * javax/swing/JMenu.java - (ActionChangeListener): Made class private. - * javax/swing/JOptionPane.java - (UNITITIALIZED_VALUE): Made field final. - * javax/swing/JPanel.java - (AccessibleJPanel.AccessibleJPanel): Made constructor protected. - * javax/swing/JPopupMenu.java - (ActionChangeListener): Made class private. - * javax/swing/JTree.java - (paramString): Made method protected. - * javax/swing/JViewport.java - (AccessibleJViewport.AccessibleJViewport): Made constructor protected. - * javax/swing/JWindow.java - (AccessibleJWindow.AccessibleJWindow): Made constructor protected. - * javax/swing/RepaintManager.java - (RepaintWorker): Made class private. - -2006-01-27 Roman Kennke - - * gnu/java/awt/peer/swing/SwingComponentPeer.java - (handleEvent): Removed debug statement. - -2006-01-27 Roman Kennke - - * java/awt/Component.java - (coalescePaintEvents): Don't try to optimize coalescing. This hurts - more than it helps. - -2006-01-26 Lillian Angel - - * javax/swing/text/DefaultStyledDocument.java - (createFracture): Commented out a known problem, - added FIXME tag. - -2006-01-26 Lillian Angel - - * javax/swing/text/DefaultStyledDocument.java - (ElementBuffer): Added fields. - (remove): Initialized pos. - (change): Likewise. - (insert): Likewise. - (insertUpdate): Incremented pos. Fixed check, createFracture should - be called on first tag if it is not ContentType. - (insertFirstContentTag): Reworked to use proper offsets and - set offset accordingly. This might need more work in the future. - (insertContentTag): Likewise. Fixed to use pos, instead of - offset. - (createFracture): Fixed to recreate other leaves. Still needs - more work. - (insertFracture): Reimplemented. - (recreateAfterFracture): New method. - (getParagraphElement): Reimplemented, more efficent. - -2006-01-26 Christian Thalinger - - * native/jni/java-lang/java_lang_VMDouble.c (doubleToLongBits) - (doubleToRawLongBits, longBitsToDouble): Swap the byte - ordering for little-endian arms without VFP. - -2006-01-26 Raif S. Naffah - - PR classpath/25981 - * gnu/javax/crypto/jce/GnuCrypto.java (run): Added KeyGenerator entries. - -2006-01-26 Mark Wielaard - - Fixes bug #25970 reported by Michael Kay - * java/math/BigDecimal.java (compareTo): Don't strip trailing zeros. - Add trailing zeros to the fraction of the decimal with the smallest - scale. - -2006-01-26 Roman Kennke - - * javax/swing/text/html/ObjectView.java: New file. - -2006-01-26 Audrius Meskauskas - - * javax/swing/plaf/basic/BasicTreeUI.java (MouseHandler.mousePressed): - Call startEditing when appropriate. - (WAIT_TILL_EDITING, EDIT, startEditTimer): New fields. - (startEditing): Always edit if directly ordered from - MouseHandler.mousePressed. - * javax/swing/tree/DefaultTreeCellEditor.java (CLICK_COUNT_TO_START): - New field. (createTreeCellEditor): Set click count to start. - (getTreeCellEditorComponent): Assing realEditor directly. - -2006-01-25 Casey Marshall - - Merging GNU Crypto and Jessie. - - * NEWS: mention the merge in the 0.21 notes. - * gnu/classpath/debug/Component.java (SSL_APPLICATION): removed. - (SSL_RECORD_LAYER): new constants. - * gnu/java/security/provider/Gnu.java (): add new algorithms - to provider. - * resource/java/security/classpath.security: add new providers. - * gnu/javax/crypto/assembly/Assembly.java, - gnu/javax/crypto/assembly/Cascade.java, - gnu/javax/crypto/assembly/CascadeStage.java, - gnu/javax/crypto/assembly/CascadeTransformer.java, - gnu/javax/crypto/assembly/DeflateTransformer.java, - gnu/javax/crypto/assembly/Direction.java, - gnu/javax/crypto/assembly/LoopbackTransformer.java, - gnu/javax/crypto/assembly/ModeStage.java, - gnu/javax/crypto/assembly/Operation.java, - gnu/javax/crypto/assembly/PaddingTransformer.java, - gnu/javax/crypto/assembly/Stage.java, - gnu/javax/crypto/assembly/Transformer.java, - gnu/javax/crypto/assembly/TransformerException.java, - gnu/javax/crypto/cipher/Anubis.java, - gnu/javax/crypto/cipher/BaseCipher.java, - gnu/javax/crypto/cipher/Blowfish.java, - gnu/javax/crypto/cipher/Cast5.java, - gnu/javax/crypto/cipher/CipherFactory.java, - gnu/javax/crypto/cipher/DES.java, - gnu/javax/crypto/cipher/IBlockCipher.java, - gnu/javax/crypto/cipher/IBlockCipherSpi.java, - gnu/javax/crypto/cipher/Khazad.java, - gnu/javax/crypto/cipher/NullCipher.java, - gnu/javax/crypto/cipher/Rijndael.java, - gnu/javax/crypto/cipher/Serpent.java, - gnu/javax/crypto/cipher/Square.java, - gnu/javax/crypto/cipher/TripleDES.java, - gnu/javax/crypto/cipher/Twofish.java, - gnu/javax/crypto/cipher/WeakKeyException.java, - gnu/javax/crypto/jce/GnuCrypto.java, - gnu/javax/crypto/jce/GnuSasl.java, - gnu/javax/crypto/jce/PBKDF2SecretKeyFactory.java, - gnu/javax/crypto/jce/cipher/AESSpi.java, - gnu/javax/crypto/jce/cipher/ARCFourSpi.java, - gnu/javax/crypto/jce/cipher/AnubisSpi.java, - gnu/javax/crypto/jce/cipher/BlowfishSpi.java, - gnu/javax/crypto/jce/cipher/Cast5Spi.java, - gnu/javax/crypto/jce/cipher/CipherAdapter.java, - gnu/javax/crypto/jce/cipher/DESSpi.java, - gnu/javax/crypto/jce/cipher/KhazadSpi.java, - gnu/javax/crypto/jce/cipher/NullCipherSpi.java, - gnu/javax/crypto/jce/cipher/PBES2.java, - gnu/javax/crypto/jce/cipher/RijndaelSpi.java, - gnu/javax/crypto/jce/cipher/SerpentSpi.java, - gnu/javax/crypto/jce/cipher/SquareSpi.java, - gnu/javax/crypto/jce/cipher/TripleDESSpi.java, - gnu/javax/crypto/jce/cipher/TwofishSpi.java, - gnu/javax/crypto/jce/key/AnubisKeyGeneratorImpl.java, - gnu/javax/crypto/jce/key/AnubisSecretKeyFactoryImpl.java, - gnu/javax/crypto/jce/key/BlowfishKeyGeneratorImpl.java, - gnu/javax/crypto/jce/key/BlowfishSecretKeyFactoryImpl.java, - gnu/javax/crypto/jce/key/Cast5KeyGeneratorImpl.java, - gnu/javax/crypto/jce/key/Cast5SecretKeyFactoryImpl.java, - gnu/javax/crypto/jce/key/DESKeyGeneratorImpl.java, - gnu/javax/crypto/jce/key/DESSecretKeyFactoryImpl.java, - gnu/javax/crypto/jce/key/DESedeSecretKeyFactoryImpl.java, - gnu/javax/crypto/jce/key/KhazadKeyGeneratorImpl.java, - gnu/javax/crypto/jce/key/KhazadSecretKeyFactoryImpl.java, - gnu/javax/crypto/jce/key/RijndaelKeyGeneratorImpl.java, - gnu/javax/crypto/jce/key/RijndaelSecretKeyFactoryImpl.java, - gnu/javax/crypto/jce/key/SecretKeyFactoryImpl.java, - gnu/javax/crypto/jce/key/SecretKeyGeneratorImpl.java, - gnu/javax/crypto/jce/key/SerpentKeyGeneratorImpl.java, - gnu/javax/crypto/jce/key/SerpentSecretKeyFactoryImpl.java, - gnu/javax/crypto/jce/key/SquareKeyGeneratorImpl.java, - gnu/javax/crypto/jce/key/SquareSecretKeyFactoryImpl.java, - gnu/javax/crypto/jce/key/TripleDESKeyGeneratorImpl.java, - gnu/javax/crypto/jce/key/TwofishKeyGeneratorImpl.java, - gnu/javax/crypto/jce/key/TwofishSecretKeyFactoryImpl.java, - gnu/javax/crypto/jce/keyring/GnuKeyring.java, - gnu/javax/crypto/jce/mac/HMacHavalSpi.java, - gnu/javax/crypto/jce/mac/HMacMD2Spi.java, - gnu/javax/crypto/jce/mac/HMacMD4Spi.java, - gnu/javax/crypto/jce/mac/HMacMD5Spi.java, - gnu/javax/crypto/jce/mac/HMacRipeMD128Spi.java, - gnu/javax/crypto/jce/mac/HMacRipeMD160Spi.java, - gnu/javax/crypto/jce/mac/HMacSHA160Spi.java, - gnu/javax/crypto/jce/mac/HMacSHA256Spi.java, - gnu/javax/crypto/jce/mac/HMacSHA384Spi.java, - gnu/javax/crypto/jce/mac/HMacSHA512Spi.java, - gnu/javax/crypto/jce/mac/HMacTigerSpi.java, - gnu/javax/crypto/jce/mac/HMacWhirlpoolSpi.java, - gnu/javax/crypto/jce/mac/MacAdapter.java, - gnu/javax/crypto/jce/mac/OMacAnubisImpl.java, - gnu/javax/crypto/jce/mac/OMacBlowfishImpl.java, - gnu/javax/crypto/jce/mac/OMacCast5Impl.java, - gnu/javax/crypto/jce/mac/OMacDESImpl.java, - gnu/javax/crypto/jce/mac/OMacImpl.java, - gnu/javax/crypto/jce/mac/OMacKhazadImpl.java, - gnu/javax/crypto/jce/mac/OMacRijndaelImpl.java, - gnu/javax/crypto/jce/mac/OMacSerpentImpl.java, - gnu/javax/crypto/jce/mac/OMacSquareImpl.java, - gnu/javax/crypto/jce/mac/OMacTripleDESImpl.java, - gnu/javax/crypto/jce/mac/OMacTwofishImpl.java, - gnu/javax/crypto/jce/mac/TMMH16Spi.java, - gnu/javax/crypto/jce/mac/UHash32Spi.java, - gnu/javax/crypto/jce/mac/UMac32Spi.java, - gnu/javax/crypto/jce/params/BlockCipherParameters.java, - gnu/javax/crypto/jce/params/DEREncodingException.java, - gnu/javax/crypto/jce/params/DERReader.java, - gnu/javax/crypto/jce/params/DERWriter.java, - gnu/javax/crypto/jce/prng/ARCFourRandomSpi.java, - gnu/javax/crypto/jce/prng/CSPRNGSpi.java, - gnu/javax/crypto/jce/prng/FortunaImpl.java, - gnu/javax/crypto/jce/prng/ICMRandomSpi.java, - gnu/javax/crypto/jce/prng/UMacRandomSpi.java, - gnu/javax/crypto/jce/spec/BlockCipherParameterSpec.java, - gnu/javax/crypto/jce/spec/TMMHParameterSpec.java, - gnu/javax/crypto/jce/spec/UMac32ParameterSpec.java, - gnu/javax/crypto/key/BaseKeyAgreementParty.java, - gnu/javax/crypto/key/GnuSecretKey.java, - gnu/javax/crypto/key/IKeyAgreementParty.java, - gnu/javax/crypto/key/IncomingMessage.java, - gnu/javax/crypto/key/KeyAgreementException.java, - gnu/javax/crypto/key/KeyAgreementFactory.java, - gnu/javax/crypto/key/OutgoingMessage.java, - gnu/javax/crypto/key/dh/DHKeyPairRawCodec.java, - gnu/javax/crypto/key/dh/DiffieHellmanKeyAgreement.java, - gnu/javax/crypto/key/dh/DiffieHellmanReceiver.java, - gnu/javax/crypto/key/dh/DiffieHellmanSender.java, - gnu/javax/crypto/key/dh/ElGamalKeyAgreement.java, - gnu/javax/crypto/key/dh/ElGamalReceiver.java, - gnu/javax/crypto/key/dh/ElGamalSender.java, - gnu/javax/crypto/key/dh/GnuDHKey.java, - gnu/javax/crypto/key/dh/GnuDHKeyPairGenerator.java, - gnu/javax/crypto/key/dh/GnuDHPrivateKey.java, - gnu/javax/crypto/key/dh/GnuDHPublicKey.java, - gnu/javax/crypto/key/dh/RFC2631.java, - gnu/javax/crypto/key/srp6/SRP6Host.java, - gnu/javax/crypto/key/srp6/SRP6KeyAgreement.java, - gnu/javax/crypto/key/srp6/SRP6SaslClient.java, - gnu/javax/crypto/key/srp6/SRP6SaslServer.java, - gnu/javax/crypto/key/srp6/SRP6TLSClient.java, - gnu/javax/crypto/key/srp6/SRP6TLSServer.java, - gnu/javax/crypto/key/srp6/SRP6User.java, - gnu/javax/crypto/key/srp6/SRPAlgorithm.java, - gnu/javax/crypto/key/srp6/SRPKey.java, - gnu/javax/crypto/key/srp6/SRPKeyPairGenerator.java, - gnu/javax/crypto/key/srp6/SRPKeyPairRawCodec.java, - gnu/javax/crypto/key/srp6/SRPPrivateKey.java, - gnu/javax/crypto/key/srp6/SRPPublicKey.java, - gnu/javax/crypto/keyring/AuthenticatedEntry.java, - gnu/javax/crypto/keyring/BaseKeyring.java, - gnu/javax/crypto/keyring/BinaryDataEntry.java, - gnu/javax/crypto/keyring/CertPathEntry.java, - gnu/javax/crypto/keyring/CertificateEntry.java, - gnu/javax/crypto/keyring/CompressedEntry.java, - gnu/javax/crypto/keyring/EncryptedEntry.java, - gnu/javax/crypto/keyring/Entry.java, - gnu/javax/crypto/keyring/EnvelopeEntry.java, - gnu/javax/crypto/keyring/GnuPrivateKeyring.java, - gnu/javax/crypto/keyring/GnuPublicKeyring.java, - gnu/javax/crypto/keyring/IKeyring.java, - gnu/javax/crypto/keyring/IPrivateKeyring.java, - gnu/javax/crypto/keyring/IPublicKeyring.java, - gnu/javax/crypto/keyring/MalformedKeyringException.java, - gnu/javax/crypto/keyring/MaskableEnvelopeEntry.java, - gnu/javax/crypto/keyring/MeteredInputStream.java, - gnu/javax/crypto/keyring/PasswordAuthenticatedEntry.java, - gnu/javax/crypto/keyring/PasswordEncryptedEntry.java, - gnu/javax/crypto/keyring/PasswordProtectedEntry.java, - gnu/javax/crypto/keyring/PrimitiveEntry.java, - gnu/javax/crypto/keyring/PrivateKeyEntry.java, - gnu/javax/crypto/keyring/Properties.java, - gnu/javax/crypto/keyring/PublicKeyEntry.java, - gnu/javax/crypto/mac/BaseMac.java, - gnu/javax/crypto/mac/HMac.java, - gnu/javax/crypto/mac/HMacFactory.java, - gnu/javax/crypto/mac/IMac.java, - gnu/javax/crypto/mac/MacFactory.java, - gnu/javax/crypto/mac/MacInputStream.java, - gnu/javax/crypto/mac/MacOutputStream.java, - gnu/javax/crypto/mac/OMAC.java, - gnu/javax/crypto/mac/TMMH16.java, - gnu/javax/crypto/mac/UHash32.java, - gnu/javax/crypto/mac/UMac32.java, - gnu/javax/crypto/mode/BaseMode.java, - gnu/javax/crypto/mode/CBC.java, - gnu/javax/crypto/mode/CFB.java, - gnu/javax/crypto/mode/CTR.java, - gnu/javax/crypto/mode/EAX.java, - gnu/javax/crypto/mode/ECB.java, - gnu/javax/crypto/mode/IAuthenticatedMode.java, - gnu/javax/crypto/mode/ICM.java, - gnu/javax/crypto/mode/IMode.java, - gnu/javax/crypto/mode/ModeFactory.java, - gnu/javax/crypto/mode/OFB.java, - gnu/javax/crypto/pad/BasePad.java, - gnu/javax/crypto/pad/IPad.java, - gnu/javax/crypto/pad/PKCS1_V1_5.java, - gnu/javax/crypto/pad/PKCS7.java, - gnu/javax/crypto/pad/PadFactory.java, - gnu/javax/crypto/pad/SSL3.java, - gnu/javax/crypto/pad/TBC.java, - gnu/javax/crypto/pad/TLS1.java, - gnu/javax/crypto/pad/WrongPaddingException.java, - gnu/javax/crypto/prng/ARCFour.java, - gnu/javax/crypto/prng/CSPRNG.java, - gnu/javax/crypto/prng/Fortuna.java, - gnu/javax/crypto/prng/ICMGenerator.java, - gnu/javax/crypto/prng/IPBE.java, - gnu/javax/crypto/prng/PBKDF2.java, - gnu/javax/crypto/prng/PRNGFactory.java, - gnu/javax/crypto/prng/UMacGenerator.java, - gnu/javax/crypto/sasl/AuthInfo.java, - gnu/javax/crypto/sasl/AuthInfoProviderFactory.java, - gnu/javax/crypto/sasl/ClientFactory.java, - gnu/javax/crypto/sasl/ClientMechanism.java, - gnu/javax/crypto/sasl/ConfidentialityException.java, - gnu/javax/crypto/sasl/IAuthInfoProvider.java, - gnu/javax/crypto/sasl/IAuthInfoProviderFactory.java, - gnu/javax/crypto/sasl/IllegalMechanismStateException.java, - gnu/javax/crypto/sasl/InputBuffer.java, - gnu/javax/crypto/sasl/IntegrityException.java, - gnu/javax/crypto/sasl/NoSuchMechanismException.java, - gnu/javax/crypto/sasl/NoSuchUserException.java, - gnu/javax/crypto/sasl/OutputBuffer.java, - gnu/javax/crypto/sasl/SaslEncodingException.java, - gnu/javax/crypto/sasl/SaslInputStream.java, - gnu/javax/crypto/sasl/SaslOutputStream.java, - gnu/javax/crypto/sasl/SaslUtil.java, - gnu/javax/crypto/sasl/ServerFactory.java, - gnu/javax/crypto/sasl/ServerMechanism.java, - gnu/javax/crypto/sasl/UserAlreadyExistsException.java, - gnu/javax/crypto/sasl/anonymous/AnonymousClient.java, - gnu/javax/crypto/sasl/anonymous/AnonymousServer.java, - gnu/javax/crypto/sasl/anonymous/AnonymousUtil.java, - gnu/javax/crypto/sasl/crammd5/CramMD5AuthInfoProvider.java, - gnu/javax/crypto/sasl/crammd5/CramMD5Client.java, - gnu/javax/crypto/sasl/crammd5/CramMD5Registry.java, - gnu/javax/crypto/sasl/crammd5/CramMD5Server.java, - gnu/javax/crypto/sasl/crammd5/CramMD5Util.java, - gnu/javax/crypto/sasl/crammd5/PasswordFile.java, - gnu/javax/crypto/sasl/plain/PasswordFile.java, - gnu/javax/crypto/sasl/plain/PlainAuthInfoProvider.java, - gnu/javax/crypto/sasl/plain/PlainClient.java, - gnu/javax/crypto/sasl/plain/PlainRegistry.java, - gnu/javax/crypto/sasl/plain/PlainServer.java, - gnu/javax/crypto/sasl/srp/CALG.java, - gnu/javax/crypto/sasl/srp/ClientStore.java, - gnu/javax/crypto/sasl/srp/IALG.java, - gnu/javax/crypto/sasl/srp/KDF.java, - gnu/javax/crypto/sasl/srp/PasswordFile.java, - gnu/javax/crypto/sasl/srp/SRP.java, - gnu/javax/crypto/sasl/srp/SRPAuthInfoProvider.java, - gnu/javax/crypto/sasl/srp/SRPClient.java, - gnu/javax/crypto/sasl/srp/SRPRegistry.java, - gnu/javax/crypto/sasl/srp/SRPServer.java, - gnu/javax/crypto/sasl/srp/SecurityContext.java, - gnu/javax/crypto/sasl/srp/ServerStore.java, - gnu/javax/crypto/sasl/srp/StoreEntry.java, - gnu/javax/net/ssl/Base64.java, - gnu/javax/net/ssl/EntropySource.java, - gnu/javax/net/ssl/NullManagerParameters.java, - gnu/javax/net/ssl/PrivateCredentials.java, - gnu/javax/net/ssl/SRPManagerParameters.java, - gnu/javax/net/ssl/SRPTrustManager.java, - gnu/javax/net/ssl/StaticTrustAnchors.java, - gnu/javax/net/ssl/provider/Alert.java, - gnu/javax/net/ssl/provider/AlertException.java, - gnu/javax/net/ssl/provider/Certificate.java, - gnu/javax/net/ssl/provider/CertificateRequest.java, - gnu/javax/net/ssl/provider/CertificateType.java, - gnu/javax/net/ssl/provider/CertificateVerify.java, - gnu/javax/net/ssl/provider/CipherSuite.java, - gnu/javax/net/ssl/provider/ClientHello.java, - gnu/javax/net/ssl/provider/ClientKeyExchange.java, - gnu/javax/net/ssl/provider/CompressionMethod.java, - gnu/javax/net/ssl/provider/Constructed.java, - gnu/javax/net/ssl/provider/ContentType.java, - gnu/javax/net/ssl/provider/Context.java, - gnu/javax/net/ssl/provider/DiffieHellman.java, - gnu/javax/net/ssl/provider/DigestInputStream.java, - gnu/javax/net/ssl/provider/DigestOutputStream.java, - gnu/javax/net/ssl/provider/Enumerated.java, - gnu/javax/net/ssl/provider/Extension.java, - gnu/javax/net/ssl/provider/Extensions.java, - gnu/javax/net/ssl/provider/Finished.java, - gnu/javax/net/ssl/provider/GNUSecurityParameters.java, - gnu/javax/net/ssl/provider/Handshake.java, - gnu/javax/net/ssl/provider/JCESecurityParameters.java, - gnu/javax/net/ssl/provider/JDBCSessionContext.java, - gnu/javax/net/ssl/provider/Jessie.java, - gnu/javax/net/ssl/provider/JessieDHPrivateKey.java, - gnu/javax/net/ssl/provider/JessieDHPublicKey.java, - gnu/javax/net/ssl/provider/JessieRSAPrivateKey.java, - gnu/javax/net/ssl/provider/JessieRSAPublicKey.java, - gnu/javax/net/ssl/provider/KeyPool.java, - gnu/javax/net/ssl/provider/MacException.java, - gnu/javax/net/ssl/provider/OverflowException.java, - gnu/javax/net/ssl/provider/PRNG.java, - gnu/javax/net/ssl/provider/ProtocolVersion.java, - gnu/javax/net/ssl/provider/Random.java, - gnu/javax/net/ssl/provider/RecordInput.java, - gnu/javax/net/ssl/provider/RecordInputStream.java, - gnu/javax/net/ssl/provider/RecordOutputStream.java, - gnu/javax/net/ssl/provider/RecordingInputStream.java, - gnu/javax/net/ssl/provider/SRPTrustManagerFactory.java, - gnu/javax/net/ssl/provider/SSLHMac.java, - gnu/javax/net/ssl/provider/SSLRSASignature.java, - gnu/javax/net/ssl/provider/SSLRandom.java, - gnu/javax/net/ssl/provider/SSLServerSocket.java, - gnu/javax/net/ssl/provider/SSLServerSocketFactory.java, - gnu/javax/net/ssl/provider/SSLSocket.java, - gnu/javax/net/ssl/provider/SSLSocketFactory.java, - gnu/javax/net/ssl/provider/SSLSocketInputStream.java, - gnu/javax/net/ssl/provider/SSLSocketOutputStream.java, - gnu/javax/net/ssl/provider/SecurityParameters.java, - gnu/javax/net/ssl/provider/ServerHello.java, - gnu/javax/net/ssl/provider/ServerKeyExchange.java, - gnu/javax/net/ssl/provider/Session.java, - gnu/javax/net/ssl/provider/SessionContext.java, - gnu/javax/net/ssl/provider/Signature.java, - gnu/javax/net/ssl/provider/SynchronizedRandom.java, - gnu/javax/net/ssl/provider/TLSHMac.java, - gnu/javax/net/ssl/provider/TLSRandom.java, - gnu/javax/net/ssl/provider/Util.java, - gnu/javax/net/ssl/provider/X509KeyManagerFactory.java, - gnu/javax/net/ssl/provider/X509TrustManagerFactory.java, - gnu/javax/net/ssl/provider/XMLSessionContext.java, - gnu/javax/security/auth/Password.java, - gnu/javax/security/auth/callback/AWTCallbackHandler.java, - gnu/javax/security/auth/callback/AbstractCallbackHandler.java, - gnu/javax/security/auth/callback/ConsoleCallbackHandler.java, - gnu/javax/security/auth/callback/DefaultCallbackHandler.java, - gnu/javax/security/auth/callback/GnuCallbacks.java, - gnu/javax/security/auth/callback/SwingCallbackHandler.java, - gnu/java/security/Registry.java, - gnu/java/security/Properties.java, - gnu/java/security/hash/BaseHash.java, - gnu/java/security/hash/HashFactory.java, - gnu/java/security/hash/Haval.java, - gnu/java/security/hash/IMessageDigest.java, - gnu/java/security/hash/MD2.java, - gnu/java/security/hash/MD4.java, - gnu/java/security/hash/MD5.java, - gnu/java/security/hash/RipeMD128.java, - gnu/java/security/hash/RipeMD160.java, - gnu/java/security/hash/Sha160.java, - gnu/java/security/hash/Sha256.java, - gnu/java/security/hash/Sha384.java, - gnu/java/security/hash/Sha512.java, - gnu/java/security/hash/Tiger.java, - gnu/java/security/hash/Whirlpool.java, - gnu/java/security/jce/hash/HavalSpi.java, - gnu/java/security/jce/hash/MD2Spi.java, - gnu/java/security/jce/hash/MD4Spi.java, - gnu/java/security/jce/hash/MD5Spi.java, - gnu/java/security/jce/hash/MessageDigestAdapter.java, - gnu/java/security/jce/hash/RipeMD128Spi.java, - gnu/java/security/jce/hash/RipeMD160Spi.java, - gnu/java/security/jce/hash/Sha160Spi.java, - gnu/java/security/jce/hash/Sha256Spi.java, - gnu/java/security/jce/hash/Sha384Spi.java, - gnu/java/security/jce/hash/Sha512Spi.java, - gnu/java/security/jce/hash/TigerSpi.java, - gnu/java/security/jce/hash/WhirlpoolSpi.java, - gnu/java/security/jce/prng/HavalRandomSpi.java, - gnu/java/security/jce/prng/MD2RandomSpi.java, - gnu/java/security/jce/prng/MD4RandomSpi.java, - gnu/java/security/jce/prng/MD5RandomSpi.java, - gnu/java/security/jce/prng/RipeMD128RandomSpi.java, - gnu/java/security/jce/prng/RipeMD160RandomSpi.java, - gnu/java/security/jce/prng/SecureRandomAdapter.java, - gnu/java/security/jce/prng/Sha160RandomSpi.java, - gnu/java/security/jce/prng/Sha256RandomSpi.java, - gnu/java/security/jce/prng/Sha384RandomSpi.java, - gnu/java/security/jce/prng/Sha512RandomSpi.java, - gnu/java/security/jce/prng/TigerRandomSpi.java, - gnu/java/security/jce/prng/WhirlpoolRandomSpi.java, - gnu/java/security/jce/sig/DSSKeyPairGeneratorSpi.java, - gnu/java/security/jce/sig/DSSRawSignatureSpi.java, - gnu/java/security/jce/sig/KeyPairGeneratorAdapter.java, - gnu/java/security/jce/sig/RSAKeyPairGeneratorSpi.java, - gnu/java/security/jce/sig/RSAPSSRawSignatureSpi.java, - gnu/java/security/jce/sig/SignatureAdapter.java, - gnu/java/security/key/IKeyPairCodec.java, - gnu/java/security/key/IKeyPairGenerator.java, - gnu/java/security/key/KeyPairCodecFactory.java, - gnu/java/security/key/KeyPairGeneratorFactory.java, - gnu/java/security/key/dss/DSSKey.java, - gnu/java/security/key/dss/DSSKeyPairGenerator.java, - gnu/java/security/key/dss/DSSKeyPairRawCodec.java, - gnu/java/security/key/dss/DSSPrivateKey.java, - gnu/java/security/key/dss/DSSPublicKey.java, - gnu/java/security/key/dss/FIPS186.java, - gnu/java/security/key/rsa/GnuRSAKey.java, - gnu/java/security/key/rsa/GnuRSAPrivateKey.java, - gnu/java/security/key/rsa/GnuRSAPublicKey.java, - gnu/java/security/key/rsa/RSAKeyPairGenerator.java, - gnu/java/security/key/rsa/RSAKeyPairRawCodec.java, - gnu/java/security/prng/BasePRNG.java, - gnu/java/security/prng/EntropySource.java, - gnu/java/security/prng/IRandom.java, - gnu/java/security/prng/LimitReachedException.java, - gnu/java/security/prng/MDGenerator.java, - gnu/java/security/prng/PRNGFactory.java, - gnu/java/security/prng/RandomEvent.java, - gnu/java/security/prng/RandomEventListener.java, - gnu/java/security/sig/BaseSignature.java, - gnu/java/security/sig/ISignature.java, - gnu/java/security/sig/ISignatureCodec.java, - gnu/java/security/sig/SignatureFactory.java, - gnu/java/security/sig/dss/DSSSignature.java, - gnu/java/security/sig/dss/DSSSignatureRawCodec.java, - gnu/java/security/sig/rsa/EME_PKCS1_V1_5.java, - gnu/java/security/sig/rsa/EMSA_PKCS1_V1_5.java, - gnu/java/security/sig/rsa/EMSA_PSS.java, - gnu/java/security/sig/rsa/RSA.java, - gnu/java/security/sig/rsa/RSAPKCS1V1_5Signature.java, - gnu/java/security/sig/rsa/RSAPSSSignature.java, - gnu/java/security/sig/rsa/RSAPSSSignatureRawCodec.java, - gnu/java/security/util/Base64.java, - gnu/java/security/util/ExpirableObject.java, - gnu/java/security/util/Prime2.java, - gnu/java/security/util/Sequence.java, - gnu/java/security/util/SimpleList.java, - gnu/java/security/util/Util.java, - resource/gnu/javax/security/auth/callback/MessagesBundle.properties: - new files imported from GNU Crypto and Jessie. - -2006-01-25 Tom Tromey - - * gnu/java/net/protocol/http/ChunkedInputStream.java (read): - Fixed calculation of number of bytes to read. - (size, count, meta, eof): Document. - -2006-01-25 Anthony Balkissoon - - * java/lang/Character.java: - (codePointCount(char[], int, int)): New API method. - (codePointCount(CharSequence, int, int)): Likewise. - -2006-01-25 Audrius Meskauskas - - PR 25205 - * javax/swing/DefaultCellEditor.java (getTreeCellEditorComponent): - Rewritten. - * javax/swing/JTree.java (stopEditing, cancelEditing): Return without - action if not editing. - * javax/swing/plaf/basic/BasicTreeUI.java - (CellEditorHandler.editingCancelled): Delegate to cancelEditing. - (CellEditorHandler.editingStopped): Delegate to stopEditing. - (EditorUpdateTimer): Removed. - (TreeAction.actionPerformed): Stop and not cancel the current editing - when starting editing another node. - (editorTimer, newVal): Removed. - (cancelEditing): Do not send the cancel message. - (completeEditing): Obtain the edited value from the editor. - (finish): New method. - (paintRow): Do not paint the editing component here. - (startEditing, stopEditing): Rewritten. - * javax/swing/tree/DefaultTreeCellEditor.java - (DefaultTextField): Added SVUID. - (EditorContainer): Rewritten. - (RealEditorListener): New inner class. - (ICON_TEXT_GAP, TREE_ICON_GAP: New constants). - (constructor): Add cell editor listener. Do not instantiate timer. - (actionPerformed): Return without action. - (cancelCellEditing): Rewritten. - (createTreeCellEditor): Add cell editor listener to the editor. - (getCellEditorValue): Request the value from the realEditor. - (isCellEditable): Removed timer management. - (prepareForEditing): Remove all components befor adding the - editingComponent. - (startEditingTimer): Start only if it is not null. - (stopCellEditing): Rewritten. - (stopEditingTimer): New method. - (valueChanged): Do not configure editing component here. - -2006-01-25 Roman Kennke - - * javax/swing/text/html/FormView.java: New file. - -2006-01-25 Roman Kennke - - * javax/swing/JSplitPane.java - (addImpl): Call resetToPreferredSizes() when no dividerLocation - has been set in order to set an initial layout. - * javax/swing/plaf/basic/BasicSplitPaneUI.java - (BasicHorizontalLayoutManager.layoutContainer): Fixed error for - layout of the right component. - (BasicHorizontalLayoutManager.resetToPreferredSizes): Set the - dividerLocation to the size of the left component. - (createDefaultNonContinuousLayoutDivider): Fetch the color from - the UIManager. - (setDividerLocation): Don't validate the location here. Sometimes - the divider needs to be set to an invalid location. - (startDragging): Don't revalidate and repaint here. - (finishDraggingTo): Don't repaint here. Also, don't call - dragDividerTo() here. - * javax/swing/plaf/basic/BasicLookAndFeel.java - (initComponentDefaults): Added SplitPaneDivider.draggingColor - default value. - -2006-01-25 Roman Kennke - - * javax/swing/JSplitPane.java - (addImpl): Removed invalidate() and layout() call. - * javax/swing/plaf/basic/BasicSplitPaneUI.java - (PropertyHandler.propertyChange): Remove layoutContainer() and - repaint() call. - -2006-01-25 Roman Kennke - - * configure.ac - * native/Makefile.am - * native/jni/classpath/Makefile.am - * native/jni/classpath/jcl.c - * native/jni/classpath/jcl.h - * native/jni/classpath/native_state.c - * native/jni/gtk-peer/Makefile.am - * native/jni/java-io/Makefile.am - * native/jni/java-io/java_io_VMFile.c - * native/jni/java-io/java_io_VMObjectStreamClass.c - * native/jni/java-lang/Makefile.am - * native/jni/java-net/Makefile.am - * native/jni/java-net/java_net_VMInetAddress.c - * native/jni/java-net/javanet.c - * native/jni/java-net/javanet.h - * native/jni/java-nio/Makefile.am - * native/jni/java-nio/gnu_java_nio_VMPipe.c - * native/jni/java-nio/gnu_java_nio_VMSelector.c - * native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c - * native/jni/java-nio/java_nio_MappedByteBufferImpl.c - * native/jni/java-nio/java_nio_VMDirectByteBuffer.c - * native/jni/java-util/Makefile.am - * native/jni/java-util/java_util_VMTimeZone.c - * native/jni/midi-dssi/Makefile.am - * native/jni/xmlj/Makefile.am - * native/target/Makefile.am - * native/target/Linux/target_native_math.h - * native/target/Linux/target_native_memory.h - * native/target/Linux/Makefile.am - * native/target/Linux/target_native_io.h - * native/target/Linux/target_native_math_float.h - * native/target/Linux/target_native_math_int.h - * native/target/generic/target_generic.c - * native/target/generic/target_generic_io.c - * native/target/generic/target_generic_math.h - * native/target/generic/target_generic_memory.h - * native/target/generic/target_generic_misc.c - * native/target/generic/target_generic_network.c - * native/target/generic/Makefile.am - * native/target/generic/target_generic.h - * native/target/generic/target_generic_file.h - * native/target/generic/target_generic_io.h - * native/target/generic/target_generic_math_float.h - * native/target/generic/target_generic_math_int.h - * native/target/generic/target_generic_misc.h - * native/target/generic/target_generic_network.h: - Reverted target native related changes back to the state of the - 0.20 release. - * native/target/MinGW/.cvsignore - * native/target/MinGW/Makefile.am - * native/target/MinGW/target_native.h - * native/target/MinGW/target_native_file.h - * native/target/MinGW/target_native_io.h - * native/target/MinGW/target_native_math.h - * native/target/MinGW/target_native_memory.h - * native/target/MinGW/target_native_misc.h - * native/target/MinGW/target_native_network.h - * native/target/RTEMS/.cvsignore - * native/target/RTEMS/Makefile.am - * native/target/RTEMS/target_native.h - * native/target/RTEMS/target_native_file.h - * native/target/RTEMS/target_native_io.h - * native/target/RTEMS/target_native_math.h - * native/target/RTEMS/target_native_memory.h - * native/target/RTEMS/target_native_misc.h - * native/target/RTEMS/target_native_network.h - * native/target/SunOS/.cvsignore - * native/target/SunOS/Makefile.am - * native/target/SunOS/target_native.h - * native/target/SunOS/target_native_file.h - * native/target/SunOS/target_native_io.h - * native/target/SunOS/target_native_math.h - * native/target/SunOS/target_native_memory.h - * native/target/SunOS/target_native_misc.h - * native/target/SunOS/target_native_network.h - * native/target/embOS/.cvsignore - * native/target/embOS/Makefile.am - * native/target/embOS/target_native.h - * native/target/embOS/target_native_file.h - * native/target/embOS/target_native_io.c - * native/target/embOS/target_native_io.h - * native/target/embOS/target_native_math.h - * native/target/embOS/target_native_memory.h - * native/target/embOS/target_native_misc.h - * native/target/embOS/target_native_network.h - * native/target/posix/.cvsignore - * native/target/posix/Makefile.am - * native/target/posix/target_posix.c - * native/target/posix/target_posix.h - * native/target/posix/target_posix_file.c - * native/target/posix/target_posix_file.h - * native/target/posix/target_posix_io.c - * native/target/posix/target_posix_io.h - * native/target/posix/target_posix_math.c - * native/target/posix/target_posix_math.h - * native/target/posix/target_posix_memory.c - * native/target/posix/target_posix_memory.h - * native/target/posix/target_posix_misc.c - * native/target/posix/target_posix_misc.h - * native/target/posix/target_posix_network.c - * native/target/posix/target_posix_network.h: - Removed. - -2006-01-24 Wolfgang Baer - - * javax/print/PrintService.java, - * javax/print/DocPrintJob.java, - * javax/print/CancelablePrintJob.java: - Added and enhanced api documentation for class and methods. - -2006-01-24 Wolfgang Baer - - * javax/print/SimpleDoc.java: Make class final. - * javax/print/attribute/standard/PrinterIsAcceptingJobs.java: Likewise. - * javax/print/attribute/DateTimeSyntax.java: - (toString): New overridden method. - * javax/print/attribute/standard/JobStateReasons.java: - (add): Use the super.add method to avoid recursion. - * javax/print/attribute/standard/PrinterStateReasons.java: - (put): Use the super.put method to avoid recursion. - -2006-01-24 Robert Schuster - - * java/beans/XMLEncoder.java: - (writeExpression): Added early return (fixes PR #25941). - (setExceptionListener, anonymous Class): Removed printStackTrace - call. - * java/beans/Encoder: Removed unused imports. - (setupDefaultPersistenceDelegates): Removed unneccessary - PersistenceDelegates for subclasses. - * java/beans/PersistenceDelegate: - (initialize): Use local variable as first argument as it was - intended once. - * java/beans/DefaultPersistenceDelegate: - (initialize): Added call to superclass' implementation, added - early return. - -2006-01-24 Tom Tromey - - * java/util/regex/PatternSyntaxException.java: Added @since. - * java/util/regex/Matcher.java (Matcher): Implements MatchResult. - * java/util/regex/MatchResult.java: New file. - -2006-01-24 David Gilbert - - * javax/swing/text/StringContent.java: Added API docs all over, plus - minor reformatting. - -2006-01-24 Gary Benson - - * java/net/SocketPermission.java: Implemented serialization. - -2006-01-24 David Gilbert - - * javax/swing/text/StringContent.java - (remove): Modified argument check to prevent removal of last character, - (getChars): Removed null argument check to allow NullPointerException, - added API docs, - (checkLocation): Added API docs and white space. - -2006-01-23 Lillian Angel - - * javax/swing/text/DefaultStyledDocument.java - (insertUpdate): Should only call createFracture with - StartTagType. Added check. - (insertContentTag): Should use the tags length for splitting. - Also, added a check to determine if current's start and end offset are - equal to the offset and endOffset. If so, only one leaf element - should be added. - (createFracture): Removed FIXME. This function is complete. - (split): Added calls to replace. Changed so the child is - added immediately to the paragraph. Prevents NPEs. - -2006-01-23 Mark Wielaard - - * examples/Makefile.am (EXAMPLE_ZIP): Group cd and commands. - -2006-01-23 Tom Tromey - - * gnu/java/security/x509/X509Certificate.java (parse): - Unconditionally read value; for version==1 case when reading - algorithm ID. - -2006-01-23 Roman Kennke - - * javax/swing/plaf/synth/ColorType.java, - * javax/swing/plaf/synth/Region.java, - * javax/swing/plaf/synth/SynthConstants.java, - * javax/swing/plaf/synth/SynthContext.java - * javax/swing/plaf/synth/SynthGraphicsUtils.java, - * javax/swing/plaf/synth/SynthLookAndFeel.java, - * javax/swing/plaf/synth/SynthPainter.java, - * javax/swing/plaf/synth/SynthStyle.java, - * javax/swing/plaf/synth/SynthStyleFactory.java, - * javax/swing/plaf/synth/package.html: - New files. Added the public API and framework classes for the - Synth look and feel. - -2006-01-23 David Gilbert - - * javax/swing/text/Segment.java: API docs all over. - -2006-01-23 Lillian Angel - - * javax/swing/text/DefaultStyledDocument.java - (split): Should not use createLeafElement and createBranchElement here. - We should just instaniate the LeafElements and BranchElements instead - to avoid the case where create*Element is overridden. - -2006-01-23 Lillian Angel - - * javax/swing/text/DefaultStyledDocument.java - (insertFirstContentTag): Moved check outside of if-statement. - This should be checked before creating the new leaf element. - (insertFracture): Fixed check to prevent an NPE. The previous - leaf should only be recreated if it has been created by - insertFirstContentTag. Also, fixed up code: if the endOffset is - greater than the offset, then we need to create a temp leaf - as a place holder. Otherwise, the leaf elements should be - created normally. - -2006-01-23 Gary Benson - - * java/net/SocketPermission.java: Almost completely rewritten. - -2006-01-23 Lillian Angel - - * javax/swing/text/DefaultStyledDocument.java - (insertFracture): Set temp leaf's attributes to prevent an NPE. - -2006-01-23 Lillian Angel - - * javax/swing/text/DefaultStyledDocument.java: - Formatted ElementBuffer and added new fields. - (remove): Added check to determine if length is 0. - (insertFirstContentTag): Initialized firstCreated to the element that is created - by the first tag encountered. Removed check in JoinPreviousDirection case, no - longer needed. In OriginateDirection case, added a loop to remove all old leafs - that have been recreated. - (insertContentTag): Cleaned up code. Removed checks that did not do anything. - (insertFracture): Fixed up code, removed unneeded objects and checks. Added - FIXME tags to the lines that need to be rewritten. - -2006-01-23 Mark Wielaard - - * examples/Makefile.am: Add support for fastjar. - -2006-01-23 Ito Kazumitsu - - * gnu/regexp/REToken.java(empty): Made Cloneable. - * gnu/regexp/RETokenOneOf.java(match): RE.java(match): - Use separate methods matchN and matchP depending on the - boolean negative. - (matchN): New method used when negative. Done as before. - (matchP): New method used when not negative. Each token is - tried not by itself but by a clone of it. - -2006-01-23 Chris Burdess - - Fixes bug #25906 - * gnu/xml/dom/DomCharacterData.java: Use a separate empty node list - class to avoid getLength method contention. - * gnu/xml/stream/SAXParser.java: Rethrow correct exception. - -2006-01-23 Chris Burdess - - * native/jni/java-util/Makefile.am: Include library required - explicitly by BSD systems. - * native/target/generic/target_generic_misc.h: Remove old commented - out code. - * native/target/generic/target_generic_network.h: Fallbacks (to - SO_NOSIGPIPE and then 0) for non-portable glibc MSG_NOSIGNAL. - -2006-01-22 Tom Tromey - - * native/target/posix/.cvsignore: Added .deps. - -2006-01-22 Mark Wielaard - - Fixes bug #25832, - reported by James Damour - * java/awt/Container.java (addImpl): Use empty string as name when - null constraints for LayoutManager.addLayoutComponent(). - -2006-01-22 Chris Burdess - - Fixes bug #25903 - * gnu/xml/dom/DomDocumentBuilder.java: Default to using file URL - representing current directory as base for relative URLs. - -2006-01-22 Ito Kazumitsu - - Fixes bug #25837 - * gnu/regexp/REMatch.java(empty): New boolean indicating - an empty string matched. - * gnu/regexp/RE.java(match): Sets empty flag when an empty - string matched. - (initialize): Support back reference \10, \11, and so on. - (parseInt): renamed from getEscapedChar and returns int. - * gnu/regexp/RETokenRepeated.java(match): Sets empty flag - when an empty string matched. Fixed a bug of the case where - an empty string matched. Added special handling of {0}. - * gnu/regexp/RETokenBackRef.java(match): Sets empty flag - when an empty string matched. Fixed the case insensitive matching. - -2006-01-21 Roman Kennke - - * javax/swing/plaf/metal/MetalSplitPaneDivider.java - (paint): Added painting of border if one is installed. - -2006-01-21 Roman Kennke - - PR classpath/25843: - * javax/swing/plaf/basic/BasicBorders.java - (getSplitPaneDividerBorder): Use new border constructor - without arguments. - (SplitPaneDividerBorder.highlight): Removed unneeded field. - (SplitPaneDividerBorder.shadow): Removed unneeded field. - (SplitPaneDividerBorder()): Changed constructor to do nothing. The - colors are fetched dynamically in the paintBorder method. - (SplitPaneDividerBorder.paintBorder): Fetch colors dynamically from - the look and feel. - (SplitPaneDividerBorder.isBorderOpaque): Returns true - unconditionally. - * javax/swing/plaf/basic/BasicLookAndFeel.java - (initComponentDefaults): Added default for SplitPaneDivider.border. - * javax/swing/plaf/basic/BasicSplitPaneDivider.java - (tmpBorder): Removed unneeded inner class. - (BasicSplitPaneDivider): Removed setting of border. - (setSplitPaneUI): Don't add the mouse handler to the splitpane - itself. - * javax/swing/plaf/basic/BasicSplitPaneUI.java - (BasicHorizontalLayoutManager.layoutContainer): Mostly rewritten - to get behaviour right. - (BasicHorizontalLayoutManager.distributeExtraSpace): Removed - implementation. This must be rewritten since the layout now works - slightly different (basically, it shouldn't modify the sizes[] - here but instead the dividerLocation. - (dividerLocation): New field. - (installDefaults): Initialize border on divider. - (uninstallDefaults): Only remove background color and border from - splitPane if they are instances of UIDefaults (== not set by - application). - (setDividerLocation): Set the dividerLocation field instead of - doing stunt acts here. - (getDividerLocation): Return dividerLocation field. - (getMinimumDividerLocation): Fixed calculation of minimum location. - -2006-01-21 Guilhem Lavaux - - * m4/acinclude.m4 - (CLASSPATH_WITH_GLIBJ): Add support for fastjar. - - * lib/Makefile.am: Likewise. - -2006-01-21 Roman Kennke - - * javax/swing/PopupFactory.java - (getPopup): If there is no Swing root found in any way, use a - heavyweight popup. This is useful for mixed Swing/AWT GUIs, or - for the Swing AWT peers. - -2006-01-20 Tom Tromey - - * gnu/java/net/protocol/http/HTTPURLConnection.java (connect): - Read response body for redirect. - -2006-01-20 Chris Burdess - - * gnu/java/net/protocol/http/HTTPURLConnection.java: Don't follow - redirects on 304. - -2006-01-20 Lillian Angel - - * javax/swing/text/DefaultStyledDocument.java - (pad): Removed, not needed. - (printElements): Likewise. - (printEdit): Likewise. - -2006-01-20 Roman Kennke - - * javax/swing/text/DefaultFormatter.java - (DefaultFormatter): Don't set a value class. - -2006-01-19 Audrius Meskauskas - - * javax/swing/DefaultCellEditor.java: Commented. - -2006-01-19 Roman Kennke - - * javax/swing/JOptionPane.java - Added cast to Frame for JDialog constructor. - -2006-01-19 Roman Kennke - - * javax/swing/JWindow.java - (JWindow(Window)): Fixed to accept null owner argument. - (JWindow(Window,GraphicsConfiguration)): Fixed to accept null - owner argument. - * javax/swing/SwingUtilities.java - (getOwnerFrame): Owner parameter and return value are fixed to - be of type Window for compatibity with the above JWindow - constructor. - * javax/swing/JDialog.java - (JDialog): Added cast to Frame to make sure the correct constructor - is called. - * javax/swing/JFileChooser.java - (createDialog): Added cast to Frame for JDialog constructor. - -2006-01-19 Audrius Meskauskas - - * javax/swing/JTable.java (rowAtPoint): Rewritten. - -2006-01-19 Roman Kennke - - * javax/swing/JWindow.java: Added API docs to the constructors. - -2006-01-19 Audrius Meskauskas - - * javax/swing/JTable.java: Commenting method headers. - (EditorUpdateTimer): Removed. - -2006-01-19 Roman Kennke - - * javax/swing/JDialog.java - (JDialog()): Call SwingUtilities.getOwnerFrame() with null. - (JDialog(Frame,String,boolean,GraphicsConfiguration)): Call - SwingUtilities.getOwnerFrame() with the owner argument. - * javax/swing/JFileChooser.java - (showOpenDialog(Component)): Call pack() on the dialog instead of - setting a fixed height. - (showSaveDialog()): Likewise. - (showDialog()): Likewise. - (createDialog): Call SwingUtilities.getOwnerFrame() with null. - * javax/swing/JOptionPane.java: Call SwingUtilities.getOwnerFrame() - with null. - * javax/swing/JWindow.java - (JWindow()): Call SwingUtilities.getOwnerFrame() with null. - (JWindow(Frame)): Call SwingUtilities.getOwnerFrame() with owner - argument. - * javax/swing/SwingUtilities.java - (getOwnerFrame): Changed to take a owner parameter that is returned - as owner frame when not null. - -2006-01-19 Roman Kennke - - * gnu/java/awt/peer/swing/SwingFramePeer.java - (handleMouseEvent): Fixed handling of mouse events. - (handleMouseMotionEvent): Fixed handling of mouse events. - -2006-01-19 Roman Kennke - - * native/target/generic/target_generic_misc.c: - (targetGenericMisc_formatString): Added missing method. - -2006-01-19 Wolfgang Baer - - * m4/acinclude.m4: Test also for ecj found before exiting configure - with no javac found error message. - -2006-01-19 Ito Kazumitsu - - Fixes bug #23212 - * gnu/regexp/RE.java(initialize): Support escaped characters such as - \0123, \x1B, \u1234. - (getEscapedChar): New method. - (CharExpression): New inner class. - (getCharExpression): New Method. - * gnu/regexp/RESyntax.java(RE_OCTAL_CHAR, RE_HEX_CHAR, - RE_UNICODE_CHAR): New syntax bits. - -2006-01-19 Roman Kennke - - * native/target/Makefile.am: Fixed so that posix stuff is really - only built when requested. - -2006-01-19 Audrius Meskauskas - - * javax/swing/JTable.java (editingStopped, editingCancelled): - Repaint the edited cell. - (setValueAt): Do not add the value object to this container. - (editorTimer, rowBeingEdited, columnBeingEdited, oldCellValue): Removed. - (editingStopped): Use editingRow, editingColumn and not - rowBeingEdited, columnBeingEdited. (editValueAt): rewritten. - (doLayout): Move the editor component, if present, into the new - location and call repaint(). (moveToCellBeingEdited): new method. - (TableTextField): new inner class. - (getDefaultEditor): Instantiante TableTextField, not JTextField. - (setValueAt): Repaint the changed segment. - (createDefaultEditors): Implemented. - (BooleanCellRenderer): Center the checkbox and use the default foreground - and background colors. - * javax/swing/plaf/basic/BasicTableUI.java - (paintCell): Do not paint the caret here. Do not accept unused parameters. - (paint): No need to allocate rectangle for each cell. - * javax/swing/DefaultCellEditor.java: Rewritten. - * examples/gnu/classpath/examples/swing/Demo.java (mkTable): - Use TableDemo.java table example. - * examples/gnu/classpath/examples/swing/TableDemo.java: New file. - -2006-01-19 Roman Kennke - - * configure.ac: Added/fixed --enable-posix-layer option to enable - build of posix layer. - * native/target/Makefile.am: Added build for posix layer. - -2006-01-19 Christian Thalinger - - * configure.ac: Set TARGET to Linux per default. - * native/target/Makefile.am (libtarget_la_LIBADD): Removed - libtargetos.la. - * native/target/Linux/Makefile.am: Don't build a libtargetos.la. - * native/target/generic/Makefile.am (INCLUDES): Renamed to - AM_CPPFLAGS. - -2006-01-19 Raif S. Naffah - - * java/security/interfaces/RSAMultiPrimePrivateCrtKey.java: Replaced - what looked like proprietary documentation with original or new one. - * java/security/spec/PSSParameterSpec.java: Likewise. - * java/security/spec/RSAMultiPrimePrivateCrtKeySpec.java: Likewise. - * java/security/spec/RSAOtherPrimeInfo.java: Likewise. - * java/security/AlgorithmParameterGenerator.java: Likewise. - * java/security/AlgorithmParameters.java: Likewise. - * java/security/Identity.java: Likewise. - * java/security/IdentityScope.java: Likewise. - * java/security/KeyFactory.java: Likewise. - * java/security/KeyPairGenerator.java: Likewise. - * java/security/MessageDigest.java: Likewise. - * java/security/Policy.java: Likewise. - * java/security/ProtectionDomain.java: Likewise. - * java/security/Security.java: Likewise. - * java/security/Signature.java: Likewise. - * java/security/SignatureSpi.java: Likewise. - * java/security/SignedObject.java: Likewise. - * java/security/Signer.java: Likewise. - -2006-01-18 Roman Kennke - - * configure.ac: Added --enable-posix-layer option to enable - build of the posix target layer. - -2006-01-18 Roman Kennke - - * native/jni/java-net/java_net_VMInetAddress.c - (Java_java_net_VMInetAddress_lookupInaddrAny): Use target native macro - for INADDR_ANY. - -2006-01-18 Roman Kennke - - * native/jni/java-util/java_util_VMTimeZone.c: - (Java_java_util_VMTimeZone_getSystemTimeZoneId): Rewritten - to use target native layer. - (jint_to_charbuf): Removed unneeded helper function. - -2006-01-18 Roman Kennke - - * native/jni/java-nio/gnu_java_nio_VMPipe.c: - Removed unnecessary include. - * native/jni/java-nio/gnu_java_nio_VMSelector.c: - Reorganized includes to only include sys/* headers when available. - * native/jni/java-nio/java_nio_MappedByteBufferImpl.c: - (get_pagesize): Return 0 when nothing else works. - (Java_java_nio_MappedByteBufferImpl_unmapImpl): - Replaced munmap() and strerror() with corresponding target macros. - (Java_java_nio_MappedByteBufferImpl_isLoadedImpl): - Replaced strerror() with corresponding target macro. - (Java_java_nio_MappedByteBufferImpl_forceImpl): - Replaced strerror() with corresponding target macro. - * native/jni/java-nio/java_nio_VMDirectByteBuffer.c: - (Java_java_nio_VMDirectByteBuffer_allocate): - Replaced malloc() with the corresponding target macro. - (Java_java_nio_VMDirectByteBuffer_free): - Replaced free() with the corresponding target macro. - (Java_java_nio_VMDirectByteBuffer_put__Lgnu_classpath_Pointer_2IB): - Add index to pointer when assigning the value. - (Java_java_nio_VMDirectByteBuffer_get__Lgnu_classpath_Pointer_2I_3BII): - Replaced memcpy with corresponding target macro. Add index when - doing the memcpy, not when fetching the pointer. - (Java_java_nio_VMDirectByteBuffer_put__Lgnu_classpath_Pointer_2I_3BII): - Replaced memcpy with corresponding target macro. - (Java_java_nio_VMDirectByteBuffer_shiftDown): - Replaced memmove with the corresponding target macro. - -2006-01-17 Tom Tromey - - PR classpath/20198: - * java/net/URLClassLoader.java (FileURLLoader): Added argument. - (JarURLLoader): Likewise. - (addURLImpl): Canonicalize file URLs. - -2006-01-17 Christian Thalinger - - * configure.ac: Set TARGET. - * native/Makefile.am, native/jni/classpath/Makefile.am, - native/jni/gtk-peer/Makefile.am, native/jni/java-io/Makefile.am, - native/jni/java-lang/Makefile.am, native/jni/java-net/Makefile.am, - native/jni/java-nio/Makefile.am, native/jni/midi-dssi/Makefile.am, - native/jni/xmlj/Makefile.am, native/target/Makefile.am, - native/target/Linux/Makefile.am, - native/target/generic/Makefile.am, - native/target/posix/Makefile.am: Build libclasspath.so with jcl - and target stuff linked in and link it against lib*.so libraries. - -2006-01-17 Roman Kennke - - * native/jni/java-net/javanet.c: - (_javanet_connect): Changed type of some local variables to jint. - Fixed error handling to throw a SocketTimeoutException if the - connection attempt times out. - (_javanet_bind): Changed type of some local variables to jint. - (_javanet_accept): Likewise. - (_javanet_recvfrom): Likewise. - (_javanet_sendto): Fixed error handling to throw a - PortUnreachableException when connection is refused. - (_javanet_get_option): Changed type of some local variables to jint. - Implemented SOCKOPT_SO_BROADCAST. - (_javanet_shutdownInput): Replaced shutdown call with corresponding - target native macro. - (_javanet_shutdownOutput): Replaced shutdown call with corresponding - target native macro. - * native/jni/java-net/javanet.h: - Defined SOCKET_TIMEOUT_EXCEPTION, PORT_UNREACHABLE_EXCEPTION and - SOCKOPT_SO_BROADCAST. - -2006-01-17 Lillian Angel - - * javax/swing/text/DefaultStyledDocument.java - (insert): Cleaned up loop. No need to make so many calls - to getAddedElements and getRemovedElements. - (insertFracture): Removed unneeded array. - -2006-01-17 Lillian Angel - - * javax/swing/text/JTextComponent.java - (AccessibleJTextComponent): Implemented. - (getCaretPosition): Implemented. - (getSelectedText): Implemented. - (getSelectionStart): Implemented. - (getSelectionEnd): Implemented. - (getSelectionEnd): Implemented. - (getCharCount): Implemented. - (insertTextAtIndex): Implemented. - (getTextRange): Implemented. - (delete): Implemented. - (cut): Implemented. - (paste): Implemented. - (replaceText): Implemented. - (selectText): Implemented. - -2006-01-17 Anthony Balkissoon - - * javax/swing/text/DefaultStyledDocument.java: - (pad): New debugging method. - (printElements): Likewise. - (printPendingEdits): Likewise. - (printElement): Likewise. - (Edit): Improved docs, moved this class to be an inner class of - ElementBuffer since it only applies within that scope. Changed added - and removed to be Vectors instead of arrays because we need to be able - to add to them after construction. - (ElementBuffer): Updated docs with link to article that helped in this - classes implementation. - (ElementBuffer.Edit.getRemovedElements): New method. - (ElementBuffer.Edit.getAddedElements): Likewise. - (ElementBuffer.Edit.addRemovedElement): Likewise. - (ElementBuffer.Edit.addRemovedElements): Likewise. - (ElementBuffer.Edit.addAddedElement): Likewise. - (ElementBuffer.Edit.addAddedElements): Likewise. - (ElementBuffer.Edit): Improved docs, call addRemovedElements and - addAddedElements. - (ElementBuffer.getEditForParagraphAndIndex): New method. - (ElementBuffer.removeUpdate): Changed type of paragraph to - BranchElement. Corrected style of adding the edit to use the new Edit - facilities. - (ElementBuffer.changeUpdate): Changed style of adding the edit to use - the new Edit facilities. - (ElementBuffer.split): Likewise. - (ElementBuffer.insertParagraph): Likewise. - (ElementBuffer.insertContentTag): Likewise. - (ElementBuffer.insert): Push all BranchElements until the deepest one, - not just the root and the first one. Apply the structural changes to - the tree at the same time as updating the DocumentEvent. - (ElementBuffer.insertUpdate): Fixed docs. Removed the special case - handling of EndTags as the first ElementSpec. Instead have to handle - ContentTags as a special case if they are the first ElementSpec and if - not have to fracture the tree. - (ElementBuffer.createFracture): New method. May not be complete yet. - Added FIXME indicating what may remain to be done. - (ElementBuffer.insertFirstContentTag): New method. - (ElementBuffer.insertFracture): Added FIXME explaining what remains to - be done. Changed the adding of edits to use the new Edit facilities. - Removed the adding of edits for Elements that weren't in the tree prior - to the insertion. - (insertUpdate): Removed incorrect condition for setting a StartTag's - direction to JoinNextDirection. - * javax/swing/text/StyleContent.java: - (SmallAttributeSet.toString): Fixed an off-by-one error in the loop - that was causing an ArrayOutOfBoundsException. - -2006-01-17 Roman Kennke - - * native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c: - (Java_gnu_java_nio_channels_FileChannelImpl_init): Improved - exception messages a little. - (Java_gnu_java_nio_channels_FileChannelImpl_open): Provided - alternative implementation for systems without filesystems. - Replaced snprintf with the corresponding target native macro. - (Java_gnu_java_nio_channels_FileChannelImpl_implCloseChannel): - Only do something when we have a filesystem. - (Java_gnu_java_nio_channels_FileChannelImpl_available): Provided - alternative implementation for systems without filesystems. - (Java_gnu_java_nio_channels_FileChannelImpl_size): Provided - alternative implementation for systems without filesystems. - (Java_gnu_java_nio_channels_FileChannelImpl_implPosition): Provided - alternative implementation for systems without filesystems. - (Java_gnu_java_nio_channels_FileChannelImpl_seek): - Only do something when we have a filesystem. - (Java_gnu_java_nio_channels_FileChannelImpl_implTruncate): - Only do something when we have a filesystem. - (Java_gnu_java_nio_channels_FileChannelImpl_mapImpl): Provided - alternative implementation for systems without filesystems. - (Java_gnu_java_nio_channels_FileChannelImpl_read__): - Replaced ssize_t variables with jint. Provided - alternative implementation for systems without filesystems. - (Java_gnu_java_nio_channels_FileChannelImpl_read___3BII): - Replaced ssize_t variables with jint. Provided - alternative implementation for systems without filesystems. - (Java_gnu_java_nio_channels_FileChannelImpl_write__I): - Replaced ssize_t variables with jint. Provided - alternative implementation for systems without filesystems. - (Java_gnu_java_nio_channels_FileChannelImpl_force): - Only do something when we have a filesystem. - (Java_gnu_java_nio_channels_FileChannelImpl_write___3BII): - Replaced ssize_t variables with jint. Provided - alternative implementation for systems without filesystems. - (Java_gnu_java_nio_channels_FileChannelImpl_lock): Reimplemented - to use the corresponding target native macro. - (Java_gnu_java_nio_channels_FileChannelImpl_unlock): Reimplemented - to use the corresponding target native macro. - -2006-01-17 Lillian Angel - - * javax/swing/text/DefaultTextUI.java: - Added deprecated tag. - * javax/swing/text/JTextComponent.java - (AccessibleJTextComponent): Fixed API doc and - partiall9 implemented. - (getCaretPosition): Fixed API doc and implemented. - (getSelectedText): Fixed API doc. - (getSelectionStart): Likewise. - (getSelectionEnd): Likewise. - (caretUpdate): Fixed API doc and - partially implemented. - (getAccessibleStateSet): Likewise. - (getAccessibleRole): Fixed API doc and implemented. - (getAccessibleEditableText): Implemented. - (getAccessibleText): Fixed API doc and implemented. - (insertUpdate): Fixed API doc. - (changedUpdate): Likewise. - (getIndexAtPoint): Likewise. - (getRootEditorRect): Removed. - (getCharacterBounds): Fixed API doc. - (getCharCount): Likewise. - (getCharacterAttribute): Likewise. - (getAtIndex): Likewise. - (getAfterIndex): Likewise. - (getBeforeIndex): Likewise. - (getAccessibleActionCount): Added function stub. - (getAccessibleActionDescription): Added function, - partially implemented. - (doAccessibleAction): Added function stub. - (setTextContents): Likewise. - (insertTextAtIndex): Likewise. - (delete): Likewise. - (cut): Likewise. - (paste): Likewise. - (replaceText): Likewise. - (selectText): Likewise. - (setAttributes): Likewise. - (getAccessibleContext): Implemented. - -2006-01-17 Ito Kazumitsu - - Fixes bug #25817 - * gnu/regexp/RETokenRange.java(constructor): - Keep lo and hi as they are. - (match): Changed the case insensitive comparison. - -2006-01-17 Ito Kazumitsu - - * gnu/regexp/RETokenChar.java(chain): - Do not concatenate tokens whose insens flags are diffent. - -2006-01-17 Roman Kennke - - * native/target/generic/target_generic_network.c: - (targetGenericNetwork_receive): Fixed signature to match the - corresponding .h file. - (targetGenericNetwork_receiveWithAddressPort): Fixed signature - to match the corresponding .h file. - -2006-01-17 Roman Kennke - - * native/jni/classpath/jcl.c: - (JCL_malloc): Replaced calls to malloc with the corresponding - target layer macro. - (JCL_free): Replaced calls to free with the corresponding - target layer macro. - * native/jni/classpath/native_state.c: - (cp_gtk_init_state_table_with_size): Replaced calls to malloc and - calloc with the corresponding target layer macro. - (remove_node): Replaced calls to free with the corresponding - target layer macro. - (add_node): Replaced calls to malloc with the corresponding - target layer macro. - -2006-01-17 Roman Kennke - - * native/jni/java-io/java_io_VMObjectStreamClass.c: - (getFieldReference): Use MALLOC/FREE macros for portability instead - of direct call to malloc() and free(). - -2006-01-17 Roman Kennke - - * native/jni/classpath/jcl.c: Added missing imports. - (JCL_realloc): Fixed signature to include oldsize. This is needed - for some targets. Make this function use the MEMORY_REALLOC macro - for portability. - * native/jni/classpath/jcl.h - (JCL_realloc): Adjusted signature. - * native/jni/java-io/java_io_VMFile.c: - (Java_java_io_VMFile_create): Use target layer macro for handling - errno, for portability. - (Java_java_io_VMFile_length): Release filename string in error cases - before returning. - (Java_java_io_VMFile_list): Initialize filename variable. Use new - version of JCL_realloc. - * native/jni/java-net/java_net_VMInetAddress.c: - (Java_java_net_VMInetAddress_getHostByName): Use renamed macro - TARGET_NATIVE_NETWORK_GET_HOSTADDRESS_BY_NAME. - * native/jni/java-net/javanet.c: - (_javanet_bind): Make errorstr variable const to avoid compiler - warning. - (_javanet_set_option): Fixed typo. - (_javanet_get_option): Fixed typo. - * native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c: - (Java_gnu_java_nio_channels_FileChannelImpl_open): Made - error_string variable const to avoid compiler warning. - * native/target/generic/target_generic_file.h: - Replaced // comments with /* */ comments to avoid compiler warnings. - Added some spaces to make code better readable. - * native/target/generic/target_generic_memory.h: - Replaced // comments with /* */ comments to avoid compiler warnings. - * native/target/generic/target_generic_misc.c: - Removed unused TARGET_NATIVE_MISC_FORMAT_STRING macro. This caused - compiler warnings due to use of varargs. - * native/target/generic/target_generic_misc.h: - Removed unused TARGET_NATIVE_MISC_FORMAT_STRING macro. This caused - compiler warnings due to use of varargs. - * native/target/generic/target_generic_network.h: - Replaced // comments with /* */ comments to avoid compiler warnings. - (targetGenericNetwork_receive): Fixed signature to use signed chars - for buffer parameter to avoid warning when passing a jbyte to the - function. - -2006-01-17 David Gilbert - - * javax/swing/text/StyleConstants.java - (getAlignment): Removed isDefined() check, so that resolving parent is - used for lookup, - (getBackground): Likewise, plus changed default value to Color.BLACK, - (getBidiLevel): Removed isDefined() check, - (getComponent): Likewise, - (getFirstLineIndent): Likewise, - (getFontFamily): Likewise, - (getFontSize): Likewise, - (getForeground): Likewise, - (getIcon): Likewise, - (getLeftIndent): Likewise, - (getLineSpacing): Likewise, - (getRightIndent): Likewise, - (getSpaceAbove): Likewise, - (getSpaceBelow): Likewise, - (getTabSet): Likewise, - (isBold): Likewise, - (isItalic): Likewise, - (isStrikeThrough): Likewise, - (isSubscript): Likewise, - (isSuperscript): Likewise, - (isUnderline): Likewise. - -2006-01-17 Gary Benson - - * java/lang/System.java (setSecurityManager): Catch - ClassNotFoundException not Throwable. - -2006-01-16 Anthony Green - - PR classpath/25803 - * gnu/java/net/protocol/http/Request.java - (createResponseBodyStream): Remove Content-Encoding for - compressed streams. - -2006-01-16 Chris Burdess - - * gnu/xml/stream/XMLParser.java, - gnu/xml/stream/XMLStreamWriterImpl.java: Thoroughly check - XMLStreamWriter arguments for conformance to the XML specifications. - * gnu/xml/transform/Stylesheet.java, - gnu/xml/transform/Template.java, - gnu/xml/transform/TransformerImpl.java, - gnu/xml/xpath/LangFunction.java, - gnu/xml/xpath/Selector.java: better handling of template priorities; - fix indents when pretty-printing; recursive tests for xml:lang. - * gnu/xml/util/XHTMLWriter.java, - gnu/xml/util/XMLWriter.java: Deprecate old serializer classes. - -2006-01-16 Roman Kennke - - * native/target/MinGW/.cvsignore: New file. - * native/target/RTEMS/.cvsignore: New file. - * native/target/SunOS/.cvsignore: New file. - * native/target/embOS/.cvsignore: New file. - * native/target/posix/.cvsignore: New file. - -2006-01-16 David Gilbert - - * javax/swing/text/StyleConstants.java: Updated API docs all over. - -2006-01-16 Roman Kennke - - * configure.ac: Include new target native directories in build. - -2006-01-16 Roman Kennke - - * native/target/generic/target_generic_file.h: Added missing - include. - * native/target/generic/target_generic_network.c: Fixed several - typos and includes. - * native/target/generic/target_generic_network.h: Likewise. - -2006-01-16 Roman Kennke - - * native/target/Makefile.am: Adjusted SUBDIRS and DIST_SUBDIRS - to include the new targets. - * native/target/posix/Makefile.am: Fixed filenames. - -2006-01-16 Roman Kennke - - * native/target/Makefile.am: Include new targets. - * native/target/Linux/Makefile.am: Include new memory layer. - * native/target/MinGW/Makefile.am: New file. Includes MinGW in dist. - * native/target/RTEMS/Makefile.am: New file. Includes RTEMS in dist. - * native/target/SunOS/Makefile.am: New file. Includes SunOS in dist. - * native/target/embOS/Makefile.am: New file. Includes embOS in dist. - * native/target/generic/Makefile.am: Include new memory and math - layer. - * native/target/posix/Makefile.am: New file. Includes posix in dist. - -2006-01-16 Ito Kazumitsu - - Fixes bug #22884 - * gnu/regexp/RE.java(initialize): Parse embedded flags. - * gnu/regexp/RESyntax.java(RE_EMBEDDED_FLAGS): New syntax bit. - -2006-01-16 Roman Kennke - - * native/target/generic/target_generic_network.c: Fixed typo. - * native/target/generic/target_generic_network.h: Fixed typo. - -2006-01-16 Nicolas Geoffray - - * doc/vmintegration.texinfo: Updated subsection of the - java.lang.InstrumentationImpl documentation. - -2006-01-16 Roman Kennke - - * native/target/RTEMS/target_native.h, - * native/target/RTEMS/target_native_file.h, - * native/target/RTEMS/target_native_io.h, - * native/target/RTEMS/target_native_math.h, - * native/target/RTEMS/target_native_memory.h, - * native/target/RTEMS/target_native_misc.h, - * native/target/RTEMS/target_native_network.h: - New files. Implement the target native layer for the RTEMS platform. - -2006-01-16 Roman Kennke - - * native/target/SunOS/target_native.h, - * native/target/SunOS/target_native_file.h, - * native/target/SunOS/target_native_io.h, - * native/target/SunOS/target_native_math.h, - * native/target/SunOS/target_native_memory.h, - * native/target/SunOS/target_native_misc.h, - * native/target/SunOS/target_native_network.h: - New files. Implement the target native layer for the SunOS platform. - -2006-01-16 Roman Kennke - - * native/target/MinGW/target_native.h, - * native/target/MinGW/target_native_file.h, - * native/target/MinGW/target_native_io.h, - * native/target/MinGW/target_native_math.h, - * native/target/MinGW/target_native_memory.h, - * native/target/MinGW/target_native_misc.h, - * native/target/MinGW/target_native_network.h: - New files. Implement the target native layer for the MinGW - platform. - -2006-01-16 Audrius Meskauskas - - PR 25770 - * javax/swing/DefaultCellEditor.java - (delegate): Assign new instance immediately. - (DefaultCellEditor(JTextField textfield)): Require 2 clicks. - (getTableCellEditorComponent): Rewritten. - (prepareAsJTextField):New method (add listener only once). - * javax/swing/JTable.java - (editingCanceled): Rewritten. - (editingStopped ): Rewritten. - (rowAtPoint): Mind row margin. - (getCellRect): Mind row margin. - (getDefaultEditor): Removing JTextComponent border. - (editCellAt): Rewritten. - * javax/swing/plaf/basic/BasicTableUI.java (MouseInputHandler): - Activate editing mode by the mouse clicks. - (getMaximumSize): Mind row margin. - (getPreferredSize): Mind row margin. - (TableAction): Added 'stop editing' command. - -2006-01-16 Roman Kennke - - * jni/java-io/java_io_VMFile.c - (Java_java_io_VMFile_list): Use new 4 argument version of - TARGET_NATIVE_FILE_READ_DIR macro. - * target/Linux/target_native_io.h: Fixed comment at #endif. - * target/Linux/target_native_memory.h: New file. Contains - portability macros for memory operations. - * target/generic/target_generic.c: New file. Contains some functions - for portability. - * target/generic/target_generic.h: Use posix target and shorter macro - names if CP_NEW is set. - * target/generic/target_generic_file.h: Use posix target and shorter - macro names if CP_NEW is set. - (TARGET_NATIVE_FILE_READ_DIR): New parameter for maxNameLength. - * target/generic/target_generic_io.c: New file. Contains some - functions for IO portability. - * target/generic/target_generic_io.h: Use posix target and shorter - macro names if CP_NEW is set. - * target/generic/target_generic_misc.c: New file. Contains some - functions for miscallaneaous portability issues. - * target/generic/target_generic_misc.h: Use posix target and shorter - macro names if CP_NEW is set. - * target/generic/target_generic_network.c: New file. Contains some - functions for networking portability. - * target/generic/target_generic_network.h: Use posix target and - shorter macro names if CP_NEW is set. - * target/posix/Makefile.am, - * target/posix/target_posix.c, - * target/posix/target_posix.h, - * target/posix/target_posix_file.c, - * target/posix/target_posix_file.h, - * target/posix/target_posix_io.c, - * target/posix/target_posix_io.h, - * target/posix/target_posix_math.c, - * target/posix/target_posix_math.h, - * target/posix/target_posix_memory.c, - * target/posix/target_posix_memory.h, - * target/posix/target_posix_misc.c, - * target/posix/target_posix_misc.h, - * target/posix/target_posix_network.c, - * target/posix/target_posix_network.h: - New files. This implements the target native layer macros for - Posix-like systems. - -2006-01-16 Gary Benson - - * java/net/SocketPermission.java (implies): Fix action checks. - -2006-01-16 Roman Kennke - - * native/target/generic/target_generic_math_float.h: Removed. This - file has been replaced by target_generic_math.h. - * native/target/generic/target_generic_math_int.h: Removed. This - file has been replaced by target_generic_math.h. - * native/target/generic/target_generic_math.h: New file. Replaces - the old _int and _float versions. - * native/target/Linux/target_native_math_float.h: Removed. This - file has been replaced by target_native_math.h. - * native/target/Linux/target_native_math_int.h: Removed. This - file has been replaced by target_native_math.h. - * native/target/Linux/target_native_math.h: New file. Replaces - the old _int and _float versions. - * native/target/Linux/Makefile.am: Adjusted for the changed - filenames. - * native/jni/java-io/java_io_VMFile.c: Include target_native_math.h - instead of target_native_math_int.h. - * native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c: + * javax/management/DescriptorAccess.java: Likewise. - * native/target/generic/target_generic_file.h: Likewise. - -2006-01-16 David Gilbert - - * javax/swing/text/MutableAttributeSet.java: Updated API docs all over. - -2006-01-16 David Gilbert - - * javax/swing/text/SimpleAttributeSet.java - (SimpleAttributeSet()): Initialise storage directly, - (SimpleAttributeSet(AttributeSet)): Removed null check and documented - NullPointerException, - (containsAttribute): If key is found locally, don't check resolving - parent if the value doesn't match, - (getAttribute): Removed redundant instanceof and cast. - -2006-01-16 Gary Benson - - * java/lang/System.java (setSecurityManager): Ensure policy - files are loaded before a security manager is put in place. - -2006-01-16 David Gilbert - - * javax/swing/text/SimpleAttributeSet.java: Updated API docs all over. - -2006-01-16 Wolfgang Baer - - * javax/print/attribute/standard/MediaSize.java: - (static_initializer): Added comment. - (MediaSize): Added javadoc to mention cache registration. - (MediaSize): Likewise. - (MediaSize): Likewise. - (MediaSize): Likewise. - -2006-01-16 Raif S. Naffah - - PR classpath/25202 - * gnu/javax/security/auth/login/ConfigFileTokenizer.java: New class. - * gnu/javax/security/auth/login/ConfigFileParser.java: New class. - * gnu/javax/security/auth/login/GnuConfiguration.java: New class. - * javax/security/auth/login/AppConfigurationEntry.java: Updated - copyright year. - (toString): Added method implementation. - (LoginModuleControlFlag.toString): Removed class name from result. - * javax/security/auth/login/Configuration.java: Updated copyright year. - (getConfig(): replaced calls to NullConfiguration with - GnuConfiguration. - -2006-01-15 Tom Tromey - - * javax/swing/text/html/HTMLDocument.java (parseBuffer): Genericized. - * javax/swing/text/StyleContext.java (removeAttributes): Genericized. - * java/beans/PersistenceDelegate.java (initialize): Genericized. - * java/beans/Encoder.java (getPersistenceDelegate): Genericized. - (setPersistenceDelegate): Likewise. - -2006-01-15 Wolfgang Baer - - * javax/print/attribute/standard/PrinterStateReasons.java: - (printerStateReasonSet): Genericize the return type. - -2006-01-15 Audrius Meskauskas - - * javax/swing/table/DefaultTableCellRenderer.java - (getTableCellRendererComponent): Render null as the empty cell. - -2006-01-14 Anthony Green - - * java/net/ServerSocket.java (accept): Remove bogus - security check. - (implAccept): Add FIXME comment. - -2006-01-14 Wolfgang Baer - - Fixes bug #25387 - * javax/print/Doc.java: Added and enhanced documentation. - * javax/print/SimpleDoc.java: New file. - -2006-01-14 Wolfgang Baer - - * javax/print/attribute/standard/MediaSize.java: - (Other.TABLOID): New MediaSize added in 1.5 - -2006-01-14 Chris Burdess - - * gnu/xml/stream/SAXParser.java: Ensure that parser is reset - correctly when I/O and runtime exceptions occur during parsing. - -2006-01-13 Roman Kennke - - * gnu/java/awt/peer/swing/SwingButtonPeer.java, - * gnu/java/awt/peer/swing/SwingCanvasPeer.java, - * gnu/java/awt/peer/swing/SwingComponent.java, - * gnu/java/awt/peer/swing/SwingComponentPeer.java, - * gnu/java/awt/peer/swing/SwingContainerPeer.java, - * gnu/java/awt/peer/swing/SwingFramePeer.java, - * gnu/java/awt/peer/swing/SwingLabelPeer.java, - * gnu/java/awt/peer/swing/SwingMenuBarPeer.java, - * gnu/java/awt/peer/swing/SwingMenuItemPeer.java, - * gnu/java/awt/peer/swing/SwingMenuPeer.java, - * gnu/java/awt/peer/swing/SwingPanelPeer.java, - * gnu/java/awt/peer/swing/SwingTextFieldPeer.java, - * gnu/java/awt/peer/swing/SwingToolkit.java, - * gnu/java/awt/peer/swing/SwingWindowPeer.java, - * gnu/java/awt/peer/swing/package.html: - New files. Implemented some basic AWT peers based on Swing. - -2006-01-13 Roman Kennke - - * java/awt/peer/ComponentPeer.java: Added API docs all over. - -2006-01-13 Roman Kennke - - * java/awt/MenuComponent.java: Reformatted to better match our - coding style. - -2006-01-13 Roman Kennke - - * java/awt/Frame.java: Reformatted to better match our - coding style. - -2006-01-13 Roman Kennke - - * java/awt/MenuBar.java - (accessibleContext): Removed unnecessary field. This is already - defined in MenuComponent. - (setHelpMenu): Renamed the peer variable to myPeer because it was - hiding a field of MenuComponent. - (addNotify): Removed unnecessary cast. - -2006-01-13 Roman Kennke - - * java/awt/MenuBar.java: Reformatted to better match our - coding style. - -2006-01-13 Roman Kennke - - * java/awt/MenuBar.java - (frame): New field. - (removeNotify): Clear frame field when beeing removed from the - frame. - * java/awt/Frame.java - (setMenuBar): Store a reference of the frame in the MenuBar. - * java/awt/MenuComponent.java - (postEvent): Implemented to forward the call to the parent until - a parent can handle the event. - (dispatchEvent): Moved handling of old style events from - dispatchEventImpl() to here. - (dispatchEventImpl): Moved handling of old style events to - dispatchEvent(). - -2006-01-13 Roman Kennke - - * java/awt/Component.java - (dispatchEvent): Moved handling of old style events from - dispatchEventImpl() to this method. - (translateEvent): Removed unnecessary cast. - (dispatchEventImpl): Moved handling of old style events to - dispatchEvent(). -2006-01-13 Lillian Angel - - * javax/swing/text/DefaultStyledDocument.java - (createDefaultRoot): Removed FIXME. - (setLogicalStyle): Added fireUndoableEditUpdate call and - removed FIXME. - -2006-01-13 Lillian Angel - - * javax/swing/text/DefaultStyledDocument.java - (Edit): New inner class. - (changeUpdate): Changed addEdit call to add a new - instance of Edit to the edits Vector, so addEdits can - be done later. - (split): Likewise. - (insertParagraph): Likewise. - (insertFracture): Likewise. - (insertContentTag): Likewise. - (insert): Added loop to go through edits Vector and perform - addEdit on each object. - -2006-01-13 Chris Burdess - - * gnu/xml/transform/AbstractNumberNode.java, - gnu/xml/transform/ApplyImportsNode.java, - gnu/xml/transform/ApplyTemplatesNode.java, - gnu/xml/transform/AttributeNode.java, - gnu/xml/transform/CallTemplateNode.java, - gnu/xml/transform/ChooseNode.java, - gnu/xml/transform/CommentNode.java, - gnu/xml/transform/CopyNode.java, - gnu/xml/transform/CopyOfNode.java, - gnu/xml/transform/DocumentFunction.java, - gnu/xml/transform/ElementNode.java, - gnu/xml/transform/ForEachNode.java, - gnu/xml/transform/IfNode.java, - gnu/xml/transform/LiteralNode.java, - gnu/xml/transform/MessageNode.java, - gnu/xml/transform/OtherwiseNode.java, - gnu/xml/transform/ParameterNode.java, - gnu/xml/transform/ProcessingInstructionNode.java, - gnu/xml/transform/Stylesheet.java, - gnu/xml/transform/Template.java, - gnu/xml/transform/TemplateNode.java, - gnu/xml/transform/TextNode.java, - gnu/xml/transform/TransformerImpl.java, - gnu/xml/transform/ValueOfNode.java, - gnu/xml/transform/WhenNode.java, - gnu/xml/xpath/NodeTypeTest.java, - gnu/xml/xpath/Selector.java: simplified debugging output; ignore - with-param parameters when template does not define parameters; apply - conflict resolution for templates; strip whitespace on documents - retrieved via document() function; allow node() to match document - nodes. - -2006-01-13 Mark Wielaard - - * doc/www.gnu.org/announce/20060113.wml: New file. - * doc/www.gnu.org/newsitems.txt: Add 0.20 release announcement. - * doc/www.gnu.org/downloads/downloads.wml: Add 0.20. - -2006-01-13 Lillian Angel - - * javax/swing/text/DefaultStyledDocument.java: - Removed unused fields. - (insert): Removed unused fields. - (endEdit): Removed, not needed. - (insertUpdate): Removed call to endEdit. - (prepareContentInsertion): Removed, not needed. - (insertContentTag): Removed call to prepareContentInsertion. - (printElements): Removed, not needed. - (attributeSetsAreSame): Removed, not needed. - -2005-01-13 Mark Wielaard - - * java/lang/reflect/Modifier.java (toString(int, StringBuffer)): - Duplicate of toString(int, StringBuilder). - -2005-01-13 Mark Wielaard - - * configure.ac: Set version to 0.20. - * NEWS: Add entries for all the new work done. - -2005-01-13 Mark Wielaard - - * javax/swing/text/DefaultCaret.java: Chain all AssertionErrors. - -2005-01-13 Mark Wielaard - - * java/util/regex/Pattern.java (Pattern): Chain REException. - -2006-01-13 Chris Burdess - - * gnu/xml/xpath/NameTest.java: Removed debugging output. - -2005-01-13 Jeroen Frijters - - * java/security/Security.java - (getProperty): Added hack to skip security check when trusted - code is direct caller. - -2005-01-13 Jeroen Frijters - - * java/io/PrintStream.java - (line_separator, PrintStream(OutputStream,boolean)): Use - SystemProperties. - -2005-01-13 Jeroen Frijters - - * gnu/java/nio/charset/Provider.java: Added comment about its - special relation with CharsetProvider. - (static): Removed. - * gnu/java/nio/charset/iconv/IconvProvider.java: Added comment about - its special relation with CharsetProvider. - (static): Removed. - * java/nio/charset/spi/CharsetProvider.java - (CharsetProvider): Add special case to skip security check for - built in providers. - -2005-01-13 Mark Wielaard - - * javax/swing/JMenuItem.java (JMenuItem(Action)): Check whether - name, accel, mnemonic and command are defined before setting. - -2005-01-12 Mark Wielaard - - * javax/swing/plaf/metal/MetalFileChooserUI.java - (FileRenderer.getListCellRendererComponent): Set empty name and null - icon when File is null. - -2006-01-13 Audrius Meskauskas - - * gnu/java/rmi/server/UnicastRef.java (newCall): - Throw ConnectException after catching IOException. - -2006-01-12 Lillian Angel - - * javax/swing/text/DefaultStyledDocument.java - (insertUpdate): Removed unneeded check. - -2006-01-12 Anthony Balkissoon - - * javax/swing/text/DefaultStyledDocument.java: - (ElementBuffer.insertContentTag): If the direction is JoinNextDirection - and we haven't come immediately after a fracture, adjust the Element - offsets. Added comment explaining the situation. - (insert): Return early if no ElementSpecs passed in. Removed redundant - call to insertUpdate. Fired the UndoableEditUpdate. - -2006-01-12 Ito Kazumitsu +2007-02-16 Matthias Klose - Fixes bug #22802 - * gnu/regexp/RE.java(initialize): Fixed the parsing of - character classes within a subexpression. + * doc/Makefile.am: Add rules to build and install man pages + from texinfo docs. + * doc/hacking.texinfo doc/tools.texinfo, doc/vmintegration.texinfo: + Rename, prefix files with "cp-". + * doc/cp-tools.texinfo: Add markup for man page generation, + add documentation for command line options for gjar, gjavah, + gnative2ascii, gorbd, grmid, grmiregistry, gserialver, gtnameserv. + doc/texi2pod.pl: New, taken from the GCC sources. -2006-12-12 Lillian Angel +2007-02-16 Francis Kung - * javax/swing/text/DefaultStyledDocument.java - (insertUpdate): Added check to check if attribute set is - empty. - (insertUpdate): Added check to determine if last character - is a newline. If it is, we should not be fracturing. - (insert): Added check to determine if attribute set is empty. - If it is, insertUpdate should not be called. + * gnu/java/awt/ClasspathGraphicsEnvironment.java: New file. + * gnu/java/awt/peer/gtk/CairoSurface.java + (CairoDataBuffer): Removed inner class. + (CairoSurface(int,int,int,int)): New constructor. + (CairoSurface(int,int)): Delegate to new constructor. + (CairoSurface(SampleModel,CairoSurface,Rectangle,Point)): New constructor + for creating child rasters. + (create): Added int[] parameter. + (createChild): New method. + (createCompatibleWritableRaster): New methods. + (createTranslatedChild): New method. + (createWritableChild): New method. + (createWritableTranslatedChild): New method. + (destroy): Added int[] parameter. + (dispose): Only free native resources if this Surface has no parents. + (isCompatibleColorModel): New method. + (isCompatibleSampleModel): New method. + * gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java + (draw): Set transform, smarter bounds generation. + (drawComposite): Improved clipping. + (drawImage): Fixed bounds translation. + (drawRenderedImage): Set transform in buffer. + (fill): Set transform in buffer. + * gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java + (createRaster): New method. + * java/awt/image/BufferedImage.java + (BufferedImage(int,int,int)): Use optimized raster if possible. + * include/gnu_java_awt_peer_gtk_CairoSurface.h: Regenerated. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c + (Java_gnu_java_awt_peer_gtk_CairoSurface_create): Share data buffer between + Cairo and Java. + (Java_gnu_java_awt_peer_gtk_CairoSurface_destroy): Free data array. -2006-12-12 Guilhem Lavaux +2007-02-16 Francis Kung - * configure.ac: Check for isnan. + * javax/management/NotificationBroadcasterSupport.java: Update imports. - * native/fdlibm/fdlibm.h: If we have a isnan function then do not - define the macro. +2007-02-16 Andrew Haley -2006-01-12 Chris Burdess + * gnu/java/lang/management/MemoryMXBeanImpl.java, + javax/management/MBeanServerDelegate.java: Use + gnu.javax.management.ListenerData rather than + gnu.classpath.ListenerData. + * gnu/javax/management/ListenerData.java: Move here from + gnu/classpath/ListenerData.java. - * gnu/xml/stream/XMLParser.java: Corrected the handling of some XML - 1.1 character ranges. +2006-10-14 Edwin Steiner -2006-01-12 Anthony Balkissoon + PR classpath/28652: + * javax/management/MBeanInfo.java (MBeanInfo): + Use clone to duplicate the arrays in order to + preserve the array type. + +2007-02-15 Gary Benson - * javax/swing/TransferHandler.java: - (TransferAction): Call super constructor. Fixes Mauve regression - gnu/testlet/javax/swing/JTextField/CopyPaste. + * gnu/javax/management/Server.java + (registerMBean): Always register objects that implement the + MBeanRegistration interface, and check the name returned by + preRegister before using it. -2006-01-12 Christian Thalinger +2007-02-15 Roman Kennke - * resource/Makefile.am: Install - logging.properties into $(prefix)/lib. - * resource/Makefile.am (securitydir): Changed to - $(prefix)/lib/security. + * java/nio/ByteOrder.java + (nativeOrder): Avoid NPE when comparing a system property. -2006-01-12 Roman Kennke +2007-02-13 Gary Benson - * javax/swing/JTextField.java - (createDefaultModel): Moved installation of the filterNewlines - property to setDocument(). - (setDocument): New method. Installs the filterNewlines property - on the document. + * javax/management/ObjectName.java + (toString): Return this item's canonical name. -2006-01-12 Chris Burdess +2007-02-12 Francis Kung - * gnu/xml/dom/DomNode.java, - gnu/xml/transform/ElementAvailableFunction.java: Removed debugging - output. - * gnu/xml/xpath/NameTest.java, - gnu/xml/xpath/NamespaceTest.java, - gnu/xml/xpath/Selector.java: Fix regression for namespace axis - navigation. - * gnu/xml/transform/MessageNode.java: Use standard logging system - for outputting messages. - -2006-01-12 Tom Tromey - - * java/net/InetAddress.java (DEFAULT_CACHE_SIZE): Removed. - (DEFAULT_CACHE_PERIOD, DEFAULT_CACHE_PURGE_PCT): Likewise. - (cache_size, cache_period, cache_purge_pct, cache): Likewise. - (static initializer): Removed cache code. - (checkCacheFor, addToCache): Removed. - (getAllByName): Removed cache code. - (lookup_time): Removed. - (InetAddress): Updated. - -2006-01-12 Chris Burdess - - * gnu/xml/dom/DomDocument.java, - gnu/xml/dom/DomElement.java, - gnu/xml/dom/DomNode.java, - gnu/xml/stream/XMLParser.java, - gnu/xml/transform/Bindings.java, - gnu/xml/transform/ElementAvailableFunction.java, - gnu/xml/transform/ElementNode.java, - gnu/xml/transform/FunctionAvailableFunction.java, - gnu/xml/transform/NamespaceProxy.java, - gnu/xml/transform/StreamSerializer.java, - gnu/xml/transform/Stylesheet.java, - gnu/xml/transform/TransformerImpl.java, - gnu/xml/xpath/Selector.java: Implement isEqualNode correctly for - document and element nodes; correct coalescing semantics when parsing; - attribute-sets can only refer to top-level variables and parameters; - fix namespace retrieval during element-available and - function-available functions; implement xsl:fallback for extension - elements; tokenize whitespace correctly during whitespace stripping; - correct following and previous node axes selectors. - -2006-01-12 Roman Kennke - - * java/util/Hashtable.java - (KeyEnumerator.nextElement): Added null check to avoid NPE. - (ValueEnumerator.nextElement): Added null check to avoid NPE. - -2006-01-12 Lillian Angel - - * javax/swing/text/GapContent.java - (UndoInsertString): Changed name of class to InsertUndo to match the JDK. - -2006-01-12 Mark Wielaard - - * vm/reference/gnu/java/net/VMPlainSocketImpl.java (connect): - Throw UnknowHostException when name could not be resolved. - -2006-01-12 Jeroen Frijters - - * java/net/URL.java - (static, getURLStreamHandler): Use SystemProperties. - -2006-01-12 Mark Wielaard - - * vm/reference/gnu/java/net/VMPlainDatagramSocketImpl.java (receive): - Use packet.getLength(). - * native/jni/java-net/gnu_java_net_VMPlainDatagramSocketImpl.c - (nativeReceive): Check whether the receiver wants zero bytes. - -2006-01-12 Mark Wielaard - - * native/jni/java-net/javanet.c (_javanet_recvfrom): Return -1 when - other side orderly closed connection. - * vm/reference/gnu/java/net/VMPlainSocketImpl.java - (read(PlainSocketImpl)): Mask byte to return unsigned int. Return -1 - when end of stream reached. - -2006-01-12 Mark Wielaard - - * native/jni/java-net/gnu_java_net_VMPlainDatagramSocketImpl.c: - Remove asserts. - * native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c: Likewise. - * native/jni/java-net/java_net_VMInetAddress.c: Likewise. - * native/jni/java-net/java_net_VMNetworkInterface.c: Likewise. - * native/jni/java-net/javanet.c: Likewise. - -2006-01-12 Mark Wielaard - - * native/fdlibm/mprec.c (Balloc): Disable assert to workaround - PR classpath/23863. - -2006-01-11 Chris Burdess - - * gnu/xml/transform/AttributeNode.java, - gnu/xml/transform/ElementNode.java, - gnu/xml/transform/LiteralNode.java, - gnu/xml/transform/StreamSerializer.java, - gnu/xml/transform/StrippingInstruction.java, - gnu/xml/transform/Stylesheet.java, - gnu/xml/transform/TransformerImpl.java, - gnu/xml/transform/ValueOfNode.java, - gnu/xml/xpath/Expr.java, - gnu/xml/xpath/LocalNameFunction.java, - gnu/xml/xpath/NameFunction.java, - gnu/xml/xpath/NameTest.java, - gnu/xml/xpath/NamespaceUriFunction.java, - gnu/xml/xpath/NodeTypeTest.java, - gnu/xml/xpath/SubstringFunction.java, - javax/xml/namespace/QName.java: don't determine element namespace - from namespace aliases when specified; better namespace handling - when serializing elements; don't create HTML meta element unless - head element exists; correct encoding of CDATA sections containing - ']]>'; encode HTML character entity references; use ISO-Latin-1 as - default encoding for HTML output; rewrite of XSLT - strip-space/preserve-space handling; correct doctype-public and - doctype-system output attributes; insert generated doctype before - document element; fixed result tree whitespace stripping - algorithm; fixed semantics of XPath name, local-name, and - namespace-uri functions; name tests handle XML/XMLNS namespaces - correctly; fixed semantics of processing-instruction node test. - * gnu/xml/transform/TransformerFactoryImpl.java: Add main method to - aid debugging. - -2006-01-11 Lillian Angel - - * javax/swing/text/DefaultStyledDocument.java - (insertFracture): Added calls to addEdit for each time a structure - is changed. addEdit is called on the newBranch, previous, and parent - structures. - -2006-01-11 Anthony Balkissoon - - * javax/swing/text/DefaultStyledDocument.java: - (ElementBuffer.insertContentTag): Don't adjust the structure here. - This will have been taken care of in insertFracture. Added a comment - explaining that we need to add edits to the DocumentEvent and that - this may be the place to do it. - -2006-01-11 Anthony Balkissoon - - * javax/swing/text/DefaultStyledDocument.java: - (ElementBuffer.insertUpdate): Properly recreate Elements if the first - tag is an end tag. Avoid NPE by pushing the proper Element on to the - elementStack when there is a start tag with JoinNextDirection. - -2006-01-11 Roman Kennke - - Reported by: Fridjof Siebert - * java/util/Hashtable.java - (KEYS): Removed unneeded field. - (VALUES): Removed unneeded field. - (ENTRIES): Removed unneeded field. - (keys): Return a KeyEnumerator instance. - (elements): Returns a ValueEnumerator instance. - (toString): Use an EntryIterator instance. - (keySet): Return a KeyIterator instance. - (values): Return a ValueIterator instance. - (entrySet): Return an EntryIterator instance. - (hashCode): Use EntryIterator instance. - (rehash): Changed this loop to avoid redundant reads and make - it obvious that null checking is not needed. - (writeObject): Use EntryIterator instance. - (HashIterator): Removed class. - (Enumerator): Removed class. - (EntryIterator): New class. - (KeyIterator): New class. - (ValueIterator): New class. - (EntryEnumerator): New class. - (KeyEnumerator): New class. - (ValueEnumerator): New class. - -2006-01-11 Lillian Angel - - * javax/swing/text/DefaultStyledDocument.java - (toString): Shouldn't append the '>' character here. - (createDefaultRoot): Should not set the resolve parent. This - causes problems when comparing attribute sets. - -2006-01-10 Anthony Balkissoon - - * javax/swing/text/DefaultStyledDocument.java: - (ElementBuffer.insertUpdate): Rewritten to properly handle start and - end tags. - (ElementBuffer.insertFracture): New method. - (ElementBuffer.insertContentTag): Removed unnecessary case for - JoinFractureDirection - this only applies to start tags, not content - tags. - (insertUpdate): Corrected conditions for setting direction to - JoinNextDirection. + * gnu/java/awt/ClasspathToolkit.java: + * gnu/java/awt/peer/gtk/AsyncImage.java, + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java, + * gnu/java/awt/peer/gtk/CairoGraphics2D.java, + * gnu/java/awt/peer/gtk/CairoSurface.java, + * gnu/java/awt/peer/gtk/ComponentGraphics.java, + * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java, + * gnu/java/awt/peer/gtk/GdkFontPeer.java, + * gnu/java/awt/peer/gtk/GdkPixbufDecoder.java, + * gnu/java/awt/peer/gtk/GdkScreenGraphicsDevice.java, + * gnu/java/awt/peer/gtk/GtkCheckboxPeer.java, + * gnu/java/awt/peer/gtk/GtkChoicePeer.java, + * gnu/java/awt/peer/gtk/GtkClipboard.java, + * gnu/java/awt/peer/gtk/GtkClipboardNotifier.java, + * gnu/java/awt/peer/gtk/GtkComponentPeer.java, + * gnu/java/awt/peer/gtk/GtkFileDialogPeer.java, + * gnu/java/awt/peer/gtk/GtkFramePeer.java, + * gnu/java/awt/peer/gtk/GtkImage.java, + * gnu/java/awt/peer/gtk/GtkImageConsumer.java, + * gnu/java/awt/peer/gtk/GtkLabelPeer.java, + * gnu/java/awt/peer/gtk/GtkListPeer.java, + * gnu/java/awt/peer/gtk/GtkMainThread.java, + * gnu/java/awt/peer/gtk/GtkMenuBarPeer.java, + * gnu/java/awt/peer/gtk/GtkMenuComponentPeer.java, + * gnu/java/awt/peer/gtk/GtkMenuPeer.java, + * gnu/java/awt/peer/gtk/GtkMouseInfoPeer.java, + * gnu/java/awt/peer/gtk/GtkScrollbarPeer.java, + * gnu/java/awt/peer/gtk/GtkScrollPanePeer.java, + * gnu/java/awt/peer/gtk/GtkSelection.java, + * gnu/java/awt/peer/gtk/GtkTextAreaPeer.java, + * gnu/java/awt/peer/gtk/GtkTextFieldPeer.java, + * gnu/java/awt/peer/gtk/GtkToolkit.java, + * gnu/java/awt/peer/gtk/GtkWindowPeer.java, + * gnu/java/awt/peer/gtk/VolatileImageGraphics.java, + * java/awt/RenderingHints.java, + * java/awt/image/BufferedImage.java: Reformatted and added generics. -2006-01-10 Roman Kennke +2007-02-12 Tom Tromey - * Makefile.am (EXTRA_DIST): Added ChangeLog-2004. - * ChangeLog-2005: New File. + * java/net/Socket.java (bind): Typo fix. -2006-01-10 Roman Kennke +2007-02-12 Tom Tromey - * native/jni/java-nio/java_nio_VMDirectByteBuffer.c - (get): Release the array with the correct pointer. - (put): Release the array with the correct pointer. Copy the array - around _before_ releasing it. + * vm/reference/java/lang/reflect/Method.java (getDefaultValue): + New method. + * sun/reflect/annotation/AnnotationInvocationHandler.java (create): + New method. + (arrayClone): New method. + (invoke): Clone array return results. -2006-01-10 Roman Kennke +2007-02-12 Jakub Jelinek - * javax/swing/ViewportLayout.java - (layoutContainer): Fixed condition, to avoid ClasscastException. + PR 23566 + * scripts/timezones.pl: Parse each file in 2 passes, in one parse + just Rule lines, in the other everything else. Pass 0 instead of + $savings as second argument to parseRule when parsing the start + rule. + * java/util/TimeZone.java (timezones): Regenerate from tzdata2007a. -2006-01-10 Roman Kennke +2007-02-12 Jakub Jelinek - * javax/swing/plaf/basic/BasicSplitPaneDivider.java - (MouseHandler.mousePressed): Fixed indendation. - (MouseHandler.mouseDragged): Fixed indendation. + * vm/reference/java/util/VMTimeZone.java: Rewrite to handle both + the old 'TZif\0' format and the new one. + * java/util/TimeZone.java: Handle default (one hour) daylight + savings. -2006-01-10 Roman Kennke +2007-02-12 Andrew John Hughes - * javax/swing/plaf/basic/BasicLookAndFeel.java - (playSound): Added @since 1.4 to the API docs. + * javax/management/Query.java: + New file. + * javax/management/StandardMBean.java: + Use the implementation's class loader. + +2007-02-10 Mark Wielaard -2006-01-10 Roman Kennke + * javax/swing/plaf/metal/MetalFileChooserUI.java: Import Date from + java.util, not from java.sql. - * javax/swing/plaf/basic/BasicListUI.java - (maybeUpdateLayoutState): Also update the layout state, if the - list has been invalidated since the last update. +2007-02-10 Roman Kennke -2006-01-10 Roman Kennke + * javax/imageio/stream/ImageOutputStreamImpl.java + (flushBits): Implemented. + (writeBit): Implemented. + (writeBits): Implemented. - * javax/swing/plaf/ComponentUI.java - (update): Fixed indendation. +2007-02-10 Roman Kennke -2006-01-10 Roman Kennke + * javax/swing/TransferHandler.java + (SwingDragGestureRecognizer): New inner class. + (SwingDragHandler): New inner class. + (recognizer): New field. + (exportAsDrag): Implemented missing method. - * javax/swing/ViewportLayout.java - (layoutContainer): Fixed condition, so that Scrollable components - are always forced to have to Viewport size, when they - return true for getScrollableTracksViewportHeight() and ..Width(). +2007-02-10 Roman Kennke -2006-01-10 Roman Kennke + * java/awt/GraphicsConfiguration.java + (createCompatibleVolatileImage(int,int,ImageCapabilities): Provide + default implementation that delegates to + createCompatibleVolatileImage(int,int). + (createCompatibleVolatileImage(int,int,ImageCapabilities,int): + New method from JDK5 spec. Default implementation by delegating to + (createCompatibleVolatileImage(int,int,int). - * javax/swing/RepaintManager.java - (validateInvalidComponents): Fixed condition to avoid NPE. +2007-02-09 Tom Tromey -2006-01-10 Roman Kennke + PR libgcj/30647: + * configure.ac: Also check for jack/jack.h. - * javax/swing/JViewport.java: - (static_initializer): Removed unused variable myScrollMode. +2007-02-09 Mario Torre + + * java/io/File.java: remove import for + gnu.classpath.NotImplementedException. + (getUsableSpace): removed stub. + (getFreeSpace): likewise. + (getTotalSpace): likewise. + +2007-02-09 Mario Torre + + * vm/reference/java/io/VMFile.java: + (canExecute): new 1.6 native method. + (setReadable): likewise. + (setWritable): likewise. + (setExecutable): likewise. + * java/io/File.java: added import for gnu.classpath.NotImplementedException. + (setReadOnly): new 1.6 method. + (canExecute): likewise. + (setReadable): likewise. + (setWritable): likewise. + (setExecutable): likewise. + (getUsableSpace): added stub for new 1.6 method. + (getFreeSpace): likewise. + (getTotalSpace): likewise. + (checkExec): new private method to support new 1.6 additions. + * native/jni/java-io/java_io_VMFile.c: + set_file_permissions: new helper function. + Java_java_io_VMFile_setReadable: new native method to bakcup 1.6 methods + in VMFile.java. + Java_java_io_VMFile_setWritable: likewise. + Java_java_io_VMFile_setExecutable: likewise. + Java_java_io_VMFile_canExecute: likewise. + * native/jni/native-lib/cpio.h: added new flags: CPFILE_FLAG_EXEC, + CPFILE_FLAG_USR and CPFILE_FLAG_OFF. + cpio_chmod: new function declaration. + cpio_checkAccess: likewise. + * native/jni/native-lib/cpio.c: + cpio_chmod: new function definition. + cpio_checkAccess: likewise. -2006-01-10 Roman Kennke +2007-02-09 Gary Benson - * javax/swing/JTabbedPane.java: - Cleared API docs a little. + * javax/management/ObjectName.java + (quote): Initialize StringBuilder correctly. -2006-01-10 Roman Kennke +2007-02-09 Francis Kung - * java/util/StringTokenizer.java - (StringTokenizer(String, String, boolean)): - Don't trigger NPE here for conformance with the spec. + * java/awt/image/BufferedImage: Reformatted. -2006-01-10 Roman Kennke +2007-02-09 Ito Kazumitsu - * java/util/ArrayList.java - (DEFAULT_CAPACITY): Changed default capacity to 10, as specified. + Fixes bug #30732 + * gnu/java/util/regex/RETokenChar.java(chain): Check whether the next + token has a next token. -2006-01-10 Roman Kennke +2007-02-08 Roman Kennke - * gnu/java/awt/peer/gtk/GdkGraphics2D.java - (GdkGraphics2D(GdkGraphics2D)): Added null check for the bg - field to avoid NPE. + PR 30347 + * javax/swing/JViewport.java + (scrollRectToVisible): Use correct X/Y offset for calculations. + (paintBackingStore): Update backbuffer when we are not the paint + root. -2006-01-10 Roman Kennke +2007-02-08 Roman Kennke - * native/jni/java-net/javanet.c - (_javanet_shutdownOutput): Replaced strerror() with - TARGET_NATIVE_LAST_ERROR_STRING() for portability. - (_javanet_shutdownInput): Replaced strerror() with - TARGET_NATIVE_LAST_ERROR_STRING() for portability. + * java/awt/image/SinglePixelPackedSampleModel.java + (getDataElements(int,int,Object,DataBuffer)): + Replace DataBuffer using method with simple + switch. This does not check for the exact type (class) of the + DataBuffer but instead checks the transfer type. + (getDataElements(int,int,int,intObject,DataBuffer)): Removed. + (setDataElements): Fixed indentation. + (setPixels): Removed unused statement. -2006-01-10 Robert Schuster +2007-02-07 Tom Tromey - * java/beans/EventSetDescriptor.java: Reformatted and - fixed API docs. + * tools/gnu/classpath/tools/javah/PathOptionGroup.java + (PathOptionGroup): Allow '-cp' as well. -2006-01-10 Roman Kennke +2007-02-07 Chris Burdess - * java/lang/SecurityManager.java - Fully qualified AWT class references in API docs. + Fixes PR 30718. + * gnu/xml/dom/ls/SAXEventSink.java: Add public accessor/mutators. + * gnu/xml/transform/XSLURIResolver.java: Add support for custom + SAXSources without a backing URL or stream. -2006-01-10 Robert Schuster +2007-02-06 Tom Tromey - * java/beans/EventSetDescriptor.java: - (getGetListenerMethod): New method. + PR libgcj/30707: + * tools/gnu/classpath/tools/javah/JniIncludePrinter.java + (printClass): Always print a header. -2006-01-10 Mark Wielaard +2007-02-06 Chris Burdess - * lib/Makefile.am (GCJX): Add -g to get linenumber info. + Fixes PR 27710. + * gnu/xml/dom/DomDocumentBuilderFactory.java: Fall back to synchronous + LSParser if implementation does not support asynchronous. + * gnu/xml/stream/XMLParser.java, + gnu/xml/stream/XIncludeFilter.java: Use custom code instead of + java.net.URL to resolve to an an absolute URI, to avoid nonexistent + protocol handler problems. -2006-01-10 Jeroen Frijters +2007-02-05 Andrew Haley - PR classpath/25727 - * java/util/Hashtable.java - (contains): Call equals on existing value. - (containsKey, get, put, remove): Call equals on existing key. - (getEntry): Call equals on existing entry. + PR cp-tools/30706 + * tools/gnu/classpath/tools/javah/JniIncludePrinter.java: + (printClass): Replace '/' in filenames with '_'. + * tools/gnu/classpath/tools/javah/JniStubPrinter.java + (printClass): Likewise. -2006-01-10 Jeroen Frijters +2007-02-05 Tom Tromey - PR classpath/24618 - * java/util/AbstractMap.java - (equals(Object,Object)): Test for identity first. - * java/util/WeakHashMap.java - (WeakBucket.WeakEntry.equals): Use helper method to determine equality. - (WeakBucket.WeakEntry.toString): Fixed string representation of - null key. - (internalGet): Use helper method to determine equality. + * java/net/Proxy.java (equals): Handle case where address==null. + (hashCode): Likewise. + (toString): Likewise. -2006-01-09 Robert Schuster +2007-02-04 Jeroen Frijters - * java/beans/EventSetDescriptor.java: Implemented the two 1.4 - constructors. + * java/lang/Class.java + (newInstance): Moved setAccessible call to helper method. + (getEnumConstants): Call new helper method to allow values method to be + called on non-public enum classes. + (setAccessible): New helper method. + * java/lang/Enum.java + (valueOf): Call new helper method in class to allow field value to + be read on non-public enum classes. -2006-01-09 Anthony Balkissoon +2007-02-04 Jeroen Frijters - * javax/swing/text/PlainDocument.java: - (insertUpdate): Handle special case of an insertion immediately - following a newline character. + Fix for #30693 + * gnu/java/nio/charset/ByteCharset.java + (ByteCharset.Decoder.decodeLoop): Reset input buffer position if + the byte read was unmappable. -2006-01-09 Roman Kennke +2007-02-02 Kyle Galloway - * native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c - (connect): Added stream parameter to _connect() call. - * native/jni/java-net/gnu_java_net_VMPlainDatagramSocketImpl.c - (connect): Added stream parameter to _connect() call. - * native/jni/java-net/javanet.c - (_javanet_create_localfd): Added stream parameter. Look up - fd field based on the stream parameter either in SocketImpl or - in DatagramSocketImpl. - (_javanet_connect): Added stream parameter. Call create_localfd - using this stream parameter. Set localPort field either in - SocketImpl or in DatagramSocketImpl, depending on the stream - flag. - * native/jni/java-net/javanet.c - (_javanet_connect): Added stream parameter. + * gnu/classpath/jdwp/processor/StackFrameCommandSet.java + (executeGetValues): Changed getFrame to use a jlong to pass frameID. + (executeSetValues): Ditto. + (executeThisObject): Ditto. + * vm/reference/gnu/classpath/jdwp/VMFrame.java: Added thread field and a + constructor used to create VMFrames. + (getThread): New method. + * vm/reference/gnu/classpath/jdwp/VMVirtualMachine.java(getFrame): Changed + to take a long instead of a ByteBuffer to pass the frameID. -2006-01-09 Audrius Meskauskas +2007-02-01 Tom Tromey - * javax.management.Attribute.java: Grammar and - formatting fixes. + * java/util/logging/LogManager.java (reset): Remove bogus + 'while'. -2006-01-09 Mark Wielaard +2007-01-31 Casey Marshall - * gnu/java/nio/channels/FileChannelImpl.java (map): Throw correct - exception when channel is not readable or writable. - * native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c - (mapImpl): Add PROT_WRITE when mode == 'c' (MAP_PRIVATE). Make sure - there is enough space to mmap(). + * gnu/javax/net/ssl/Base64.java: move to `gnu/java/util/Base64.java.' + * gnu/javax/net/ssl/PrivateCredentials.java: clean up unused imports. + (add): use `gnu.java.util.Base64.' + * gnu/java/net/protocol/http/Request.java (authenticate): use + `gnu.java.util.Base64.' + * tools/gnu/classpath/tools/jarsigner/HashUtils.java (hashStream): + likewise. + * tools/gnu/classpath/tools/keytool/CertReqCmd.java (start): likewise. + * tools/gnu/classpath/tools/keytool/ExportCmd.java (start): likewise. + * tools/gnu/classpath/tools/keytool/ListCmd.java (printRFC1421): + likewise. + * gnu/java/net/Base64.java: removed. + * gnu/java/security/util/Base64.java: removed. -2006-01-09 Robert Schuster +2007-01-31 Casey Marshall - * java/beans/Introspector.java: - (getBeanInfo(Class, int)): New method. - (getBeanInfo(Class, Class): Moved common code in a new method. - (merge): New method. + Fixes PR classpath/24191. + Fix suggested by Rafael Teixeira . + * javax/crypto/CipherOutputStream.java (write): check return value + of `update' for null. -2006-01-09 Robert Schuster +2007-01-31 Tom Tromey - * java/beans/XMLEncoder.java: Fix spelling mistakes. + * resource/gnu/classpath/tools/jar/messages.properties + (Main.Stdin): New message. + * tools/gnu/classpath/tools/jar/Main.java (initializeParser): Add + '-@' option. + (readNames): New method. + (run): Use it. -2006-01-09 Anthony Balkissoon +2007-01-30 Roman Kennke - * javax/swing/text/DefaultStyledDocument.java: - (insertUpdate): Removed call to checkForInsertAfterNewline and instead - inlined this method because it needs to change the value of the - finalStartTag and finalStartDirection variables. - (checkForInsertAfterNewline): Removed this method. - (handleInsertAfterNewline): Added case for making the start tag's - direction JoinNextDirection. - -2006-01-09 Lillian Angel - - * javax/swing/plaf/basic/BasicTreeUI.java: - Added new field. - (setRowHeight): Row height is set to the max height of - all the nodes, or 20 as a default value. - (getPathBounds): Cleaned up code. - (getMaxHeight): New helper function that gets the max - height of all the rows. - (getClosestPathForLocation): Fixed to use getMaxHeight. - (updateCachedPreferredSize): Likewise. - (installUI): Shouldn't expand tree on startup. - (getNodeDimensions): Fixed to use getMaxHeight. - -2006-01-09 Mark Wielaard - - * javax/swing/JList.java (setSelectedIndex): Clear selection when - argument is negative. - -2006-01-08 Mark Wielaard - - * java/net/InetAddress.java (getInaddrAny): Explicitly set hostName. - -2006-01-09 Audrius Meskauskas - - * javax.management.Attribute.java: New file. - -2006-01-09 Roman Kennke - - * java/net/DatagramSocketImpl.java - (localPort): Renamed to localport for correct access from native - code. + PR 20577 + * javax/swing/DefaultDesktopManager.java + (activateFrame): Added a bunch of null checks. Don't call + JInternalFrame.setSelected() to avoid recursion. -2006-01-09 Roman Kennke +2007-01-29 Andrew Haley - * javax/swing/Popup.java - (LightweightPopup.hide): Repaint the layered pane when popup is - removed. - -2006-01-09 Roman Kennke + * java/lang/SecurityManager.java (SecurityManager): Load and + initialize java.security.Security. - * java/awt/Container.java - (remove): Don't repaint the container here. +2007-01-28 Ito Kazumitsu -2006-01-08 Tom Tromey + * native/jni/java-nio/gnu_java_nio_VMChannel.c + (Java_gnu_java_nio_VMChannel_accept): Throw SocketTimeoutException + in case of timeout. + * native/jni/java-nio/javanio.c(cpnio_accept): Call select() if + SO_RCVTIMEO is set. - * java/lang/InheritableThreadLocal.java: Organized imports. +2007-01-26 Tom Tromey -2006-01-08 Ito Kazumitsu + * tools/gnu/classpath/tools/javah/FieldHelper.java (print): Print + 'volatile' after field type. - Fixes bug #25679 - * gnu/regexp/RETokenRepeated.java(match): Optimized the case - when an empty string matched an empty token. +2007-01-26 Chris Burdess -2006-01-08 Chris Burdess + Fixes #30597 + * gnu/xml/dom/DomDocumentBuilder.java: Throw IOException where cause + of LSException is an IOException. + * gnu/xml/dom/ls/DomLSParser.java, + gnu/xml/stream/SAXParser.java: Ensure coalescing feature is set + correctly during LS parsing. - * gnu/xml/stream/SAXParser.java: Check standalone status for mixed - content models from external entities. - * gnu/xml/stream/UnicodeReader.java: Report error instead of - attempting to continue with unpaired surrogates. - * gnu/xml/stream/XMLParser.java: Don't normalize LF equivalents when - resolving entities with character entity references; better - checking of valid character ranges; don't report an error for URI - fragments in notation declarations; check unbound namespace - prefixes for elements and attributes, including XML 1.1 unbinding - syntax; namespace-aware checking of attribute duplicates. +2007-01-21 Andrew John Hughes -2006-01-08 Robert Schuster + * javax/management/PersistentMBean.java: + New file. + +2007-01-21 Andrew John Hughes - * java/beans/Statement.java: Doc fixes. - (doExecute): Workaround for Class.forName call. - (toString): Made output look more like on the JDK. - * java/beans/Expression.java: Doc fixes. - (toString): Made output look more like on the JDK. - * java/beans/PersistenceDelegate.java, - java/beans/DefaultPersistenceDelegate.java, - java/beans/Encoder.java, - java/beans/XMLEncoder.java: New file. - * gnu/java/beans/encoder/ArrayPersistenceDelegate.java, - gnu/java/beans/encoder/ClassPersistenceDelegate.java, - gnu/java/beans/encoder/CollectionPersistenceDelegate.java, - gnu/java/beans/encoder/Context.java, - gnu/java/beans/encoder/GenericScannerState.java, - gnu/java/beans/encoder/IgnoringScannerState.java, - gnu/java/beans/encoder/MapPersistenceDelegate.java, - gnu/java/beans/encoder/ObjectId.java, - gnu/java/beans/encoder/PrimitivePersistenceDelegate.java, - gnu/java/beans/encoder/ReportingScannerState.java, - gnu/java/beans/encoder/Root.java, - gnu/java/beans/encoder/ScanEngine.java, - gnu/java/beans/encoder/ScannerState.java, - gnu/java/beans/encoder/StAXWriter.java, - gnu/java/beans/encoder/Writer.java: New file. - * gnu/java/beans/encoder/elements/Array_Get.java, - gnu/java/beans/encoder/elements/Element.java, - gnu/java/beans/encoder/elements/List_Set.java, - gnu/java/beans/encoder/elements/Array_Set.java, - gnu/java/beans/encoder/elements/NullObject.java, - gnu/java/beans/encoder/elements/StaticMethodInvocation.java, - gnu/java/beans/encoder/elements/StaticFieldAccess.java, - gnu/java/beans/encoder/elements/StringReference.java, - gnu/java/beans/encoder/elements/ClassResolution.java, - gnu/java/beans/encoder/elements/ArrayInstantiation.java, - gnu/java/beans/encoder/elements/PrimitiveInstantiation.java, - gnu/java/beans/encoder/elements/ObjectReference.java, - gnu/java/beans/encoder/elements/ObjectInstantiation.java, - gnu/java/beans/encoder/elements/List_Get.java, - gnu/java/beans/encoder/elements/MethodInvocation.java: New file. + * javax/management/AttributeChangeNotificationFilter.java: + Correct typo. + * javax/management/NotificationFilterSupport.java: + New file. + +2007-01-21 Mark Wielaard -2006-01-08 Chris Burdess + * java/security/SecureClassLoader.java (defineClass): Method returns + Class. + * java/security/SignatureSpi.java (engineUpdate(ByteBuffer): + Does not throw SignatureException. Chain SignatureException inside + IllegalStateException. - * java/lang/Character.java (toChars,toCodePoint): Correct these - methods to use algorithms from Unicode specification. - -2006-01-08 Mark Wielaard +2007-01-21 Andrew John Hughes - * native/jni/xmlj/Makefile.am (libxmlj_la_LIBADD): Add jcl.o. + * javax/management/NotificationBroadcasterSupport.java: + New file. + +2007-01-20 Ito Kazumitsu -2006-01-07 Paul Jenner + * java/text/DecimalFormat.java(parse): Corrected the ParsePosition + settings. - Fixes bug #25711 - * examples/Makefile.am: Corrected DESTDIR install paths. +2007-01-20 Ito Kazumitsu -2006-01-07 Audrius Meskauskas + * java/text/SimpleDateFormat(parse): Corrected the usage of + NumberFormat. - * org/omg/CORBA/INVALID_ACTIVITY.java: Removed non - - ASCII character (line 46). +2007-01-20 Ito Kazumitsu -2006-01-07 Roman Kennke - - * javax/swing/text/TableView.java: New file. + Fixes bug #30488 + * native/jni/native-lib/cpnet.c(SOCKET_NOSIGNAL): Deleted, + (setsockopt_NOSIGPIPE): New function, + (cpnet_send): Corrected the option setting to send(), + (cpnet_sendTo): Corrected the option setting to sendto(). -2006-01-07 Chris Burdess +2007-01-19 Marco Trudel - * gnu/xml/stream/BufferedReader.java: Removed commented out code. - * gnu/xml/stream/XIncludeFilter.java: Correct XML Base behaviour. - * gnu/xml/stream/XMLParser.java: Make additional StAX properties - available; correct handling of unparsed entity references; - absolutize all base URIs; remove commented out code. - -2006-01-07 Chris Burdess - - * gnu/xml/stream/SAXParser.java, - gnu/xml/stream/XMLParser.java: Add SAX property to return base - URI of the current event. - -2006-01-07 Chris Burdess - - * gnu/xml/stream/SAXParser.java: Add SAX feature to set XML Base - aware processing. - -2006-01-07 Chris Burdess - - * gnu/xml/stream/SAXParser.java, - gnu/xml/stream/XIncludeFilter.java, - gnu/xml/stream/XMLParser.java: Updated documentation. - -2006-01-07 Chris Burdess - - * AUTHORS: add self. - -2006-01-06 Casey Marshall - - * AUTHORS: add myself. - -2006-01-06 Casey Marshall - - PR classpath/25699 - * javax/crypto/CipherInputStream.java (logger): new constant. - (cipher): make final. - (outLength, inBuffer, inLength): removed. - (isStream): make final. - (VIRGIN, LIVING, DYING, DEAD, state): removed. - (eof): new field. - (): call `super,' not `this;' remove `inBuffer' and - `outBuffer' initialization; init `eof;' add debug logging. - (): call `this' with a new null cipher. - (available): fix javadoc to reflect the real semantics; if we - don't have a buffer, call `nextBlock.' - (close): synchronize. - (read): synchronize; fix testing for buffered data. - (read): synchronize; add `skip' semantics if first argument is - `null;' decrypt stream cipher data only if there is any; fix tests - for buffered data. - (skip): stop using `available' to see how many data are buffered. - (nextBlock): simplify to use cipher-allocated output buffers - instead of internally allocated ones. - -2006-01-06 Tom Tromey - - * java/lang/String.java (codePointCount): Fixed javadoc. - -2006-01-06 Tom Tromey - - * java/lang/String.java (contains): Added @since. - -2006-01-06 Ito Kazumitsu - - Fixes bug #25616 - * gnu/regexp/RE.java(initialize): Allow repeat.empty.token. - * gnu/regexp/RETokenRepeated.java(match): Break the loop - when an empty string matched an empty token. - -2006-01-06 Jeroen Frijters + * java/util/Arrays.java (binarySearch): Change comparison order. - PR classpath/24858 - * gnu/java/util/WeakIdentityHashMap.java: New file. - * java/lang/InheritableThreadLocal.java - (newChildThread): Modified to remove key indirection. - * java/lang/Thread.java - (locals): Changed type to WeakIdentityHashMap. - (getThreadLocals): Instantiate WeakIdentityHashMap instead of - WeakHashMap. - * java/lang/ThreadLocal.java - (key, Key): Removed. - (get, set): Changed to use "this" instead of "key". +2007-01-17 Keith Seitz -2006-01-06 Dalibor Topic - - * native/fdlibm/Makefile.am (libfdlibm_la_SOURCES): Removed java-assert.h. - - * native/fdlibm/java-assert.h: Removed file. - - * native/fdlibm/mprec.c: Include assert.h. Don't include java-assert.h. - Replaced use of JvAssert by assert. - -2006-01-05 Anthony Balkissoon - - * javax/swing/text/DefaultCaret.java: - (setDot): Fixed paramater to Math.max to be this.dot and not the - parameter dot. - -2006-01-05 Roman Kennke - - * javax/swing/plaf/basic/BasicListUI.java - (getCellHeight): New helper method. - (getCellBounds): Use new helper method for determining the cell - height. - (paint): Don't call list.indexToLocation() but instead call - directly into the same UI method. - (locationToIndex): Fixed calculation of # visible rows and handling - of cell heights. - (indexToLocation): Fixed calculation of # visible rows and handling - of cell heights. - -2006-01-05 Roman Kennke - - * javax/swing/plaf/metal/MetalFileChooserUI.java - (createList): Set VERTICAL_SCROLLBAR_NEVER mode on the JScrollPane - in the file chooser. - -2006-01-05 Anthony Balkissoon - - * javax/swing/JTextPane.java: - (replaceSelection): If the document is an AbstractDocument, use replace - rather than remove and insert. - * javax/swing/event/EventListenerList.java: - (getListeners): Reversed the order of the listeners to match the - reference implementation. - * javax/swing/text/AbstractDocument.java: - (insertString): Add the UndoableEdit from the content.insertString call - to the DocumentEvent. - (DefaultDocumentEvent.toString): Implemented. - * javax/swing/text/DefaultCaret.java: - (setDot): Make sure dot is > 0 and less than the length of the - document. - * javax/swing/text/DefaultStyledDocument.java: - (ElementBuffer.insertUpdate): Set the modified tag of the document - event when we get start and end tags. This ensures that we create the - proper BranchElements in endEdit(). - (ElementBuffer.insertUpdate): Added FIXME to handle - JoinFractureDirection case. - (insertUpdate): Added code to check if we're inserting immediately - after a newline and to handle this case (create start and end tags). - Only change the direction of the first and last tags if they are of - type ContentType. - (checkForInsertAfterNewline): New helper method. - (handleInsertAfterNewline): Likewise. - * javax/swing/text/View.java: - (updateLayout): Avoid NPE by checking if shape is null. Repaint - container. - -2006-01-05 Mark Wielaard - - * newsitems.txt: Add fosdem meeting. - * events/events.wml: Likewise. - * events/fosdem06.wml: New file. - -2006-01-05 Lillian Angel - - * javax/swing/text/GapContent.java - (createPosition): No positions should be created inside the - gap. Fixed check to ensure this does not happen. - -2006-01-05 Roman Kennke - - * javax/swing/RepaintManager.java - (validateInvalidComponents): Search for the validate root - and start validating there. - -2006-01-05 Roman Kennke - - * javax/swing/plaf/basic/BasicListUI.java - (ComponentHandler): Removed unneeded class. - (ListDataHandler.contentsChanged): Revalidate instead of calling - damageLayout(). - (ListDataHandler.intervalAdded): Revalidate instead of calling - damageLayout(). - (ListDataHandler.intervalRemoved): Revalidate instead of calling - damageLayout(). - (PropertyChangeHandler.propertyChange): Or flags together instead - of adding them. Don't call damageLayout(). - (componentListener): Removed unnecessary field. - (damageLayout): Removed unnecessary method. - (installListeners): Don't install unnecessary listeners. - (uninstallListeners): Dito. - (getPreferredSize): Don't ask for the real list height and - calculate with the previously calculated list height. - (locationToIndex): Renamed list parameter to l so that it doesn't - shadow the field with the same name. - (indexToLocation): Renamed list parameter to l so that it doesn't - shadow the field with the same name. - -2006-01-04 Tom Tromey - - * include/.cvsignore: Ignore config-int.h. - -2006-01-04 Roman Kennke - - * javax/swing/plaf/basic/BasicListUI.java - (getPreferredSize): Rewritten to match the specs. - -2006-01-04 Roman Kennke - - * javax/swing/JFileChooser.java - (showOpenDialog): Set fixed width on the dialog. - (showSaveDialog): Set fixed width on the dialog. - (showDialog): Set fixed width on the dialog. - -2006-01-04 Roman Kennke - - * javax/swing/plaf/basic/BasicListUI.java - (locationToIndex): Added FIXME about getVisibleRowCount() usage. - Adjusted iteration to not use visibleRowCount and instead iterate - over the real number of elements in cellHeights. - (indexToLocation): Added FIXME about getVisibleRowCount() usage. - Adjusted iteration to not use visibleRowCount and instead iterate - over the real number of elements in cellHeights. - -2006-01-04 Roman Kennke - - * native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c, - * native/jni/java-net/gnu_java_net_VMPlainDatagramSocketImpl.c: - Added __attribute__((__unused__)) macros to avoid gcc warnings. - -2006-01-04 Roman Kennke - - * vm/reference/gnu/java/net/VMPlainSocketImpl.java: New VM class. - * vm/reference/gnu/java/net/VMPlainDatagramSocketImpl.java: - New VM class. - * native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c: New file. - * native/jni/java-net/gnu_java_net_VMPlainDatagramSocketImpl.c: - New file. - * native/jni/java-net/gnu_java_net_PlainDatagramSocketImpl.c: - Removed. - * native/jni/java-net/gnu_java_net_PlainSocketImpl.c: Removed. - * native/jni/java-net/Makefile.am: Adjusted for new source files. - * gnu/java/net/PlainDatagramSocketImpl.java: Use new VM interface. - * gnu/java/net/PlainSocketImpl.java: Use new VM interface. - * include/gnu_java_net_PlainDatagramSocketImpl.h: Removed. - * include/gnu_java_net_PlainSocketImpl.h: Removed. - * include/gnu_java_net_VMPlainDatagramSocketImpl.h: New header file. - * include/gnu_java_net_VMPlainSocketImpl.h: New header file. - -2006-01-04 Lillian Angel - - * javax/swing/plaf/metal/MetalFileChooserUI.java - (propertyChange): Fixed to change the combo box label - appropriately. Also, fixed to set the textfield's text - correctly. - (editFile): Fixed size of editing field. - (installComponents): Correctly aligned all panels. - (installStrings): Fixed to set the label's text - appropriately depending on the dialog type. + * gnu/classpath/jdwp/events/filters/StepFilter.java: + Update javadoc. + (matches): Implement. -2006-01-04 Lillian Angel + * gnu/classpath/jdwp/event/EventManager.java (EventManager): Honor + agent startup suspension for VM_INIT. - PR classpath/25473 - PR classpath/25479 - * javax/swing/JTree.java - (JTree): Because some L&F defaults have been updated, - the selectionMode for the tree needed to be set to SINGLE. - * javax/swing/plaf/basic/BasicFileChooserUI.java: - Initialized accessoryPanel. - * javax/swing/plaf/metal/MetalFileChooserUI.java - (installComponents): Added accessoryPanel to the filechooser. +2007-01-17 Tom Tromey -2006-01-04 Dalibor Topic + * tools/gnu/classpath/tools/javah/PathOptionGroup.java + (PathOptionGroup): Set default boot class path. - * configure.ac: Added AX_CREATE_STDINT_H +2007-01-17 Mark Wielaard - * include/Makefile.am (DISTCLEANFILES): Remove config-int.h. + * javax/activity/ActivityCompletedException.java: Make constructors + public. + * javax/activity/ActivityRequiredException.java: Likewise. + * javax/activity/InvalidActivityException.java: Likewise. - * m4/ax_create_stdint_h.m4: New file. +2007-01-17 Roman Kennke - * native/fdlibm/mprec.h: Include config-int.h. Removed C99 - typedefs. Removed stdint.h and inttypes.h includes. - -2006-01-03 Mark Wielaard + * javax/swing/plaf/basic/BasicRadioButtonUI.java + (paint): Use helper method to figure out icon. Don't override + the icon field in that class. Check for null icons. + (getCurrentIcon): New helper function to determine icon to be + painted. - * javax/swing/JMenuItem.java (configurePropertiesFromAction): Only - register keyboard action when accelerator is not null. - * javax/swing/plaf/basic/BasicMenuItemUI.java (propertyChange): Only - re-register accelerator if not null. - (installKeyboardActions): Only put accelerator in map when not null. +2007-01-17 Mark Wielaard -2006-01-04 Lillian Angel + * javax/activity/ActivityCompletedException.java: New file. + * javax/activity/ActivityRequiredException.java: Likewise. + * javax/activity/InvalidActivityException.java: Likewise. + * javax/activity/package.html: Likewise. - * javax/swing/plaf/basic/BasicLookAndFeel.java - (initComponentDefaults): Removed unneeded default. - * javax/swing/plaf/metal/MetalLookAndFeel.java - (initComponentDefaults): Added and fixed several defaults. +2007-01-15 Andrew John Hughes -2006-01-04 Roman Kennke + * javax/management/DefaultLoaderRepository.java: + (loadClass(String)): Made static. + (loadClassWithout(String,ClassLoader)): Likewise. - * javax/swing/plaf/basic/BasicHTML.java: New class. +2007-01-15 Kyle Galloway -2006-01-03 Tom Tromey + * gnu/classpath/jdwp/exception/TypeMismatchException.java: New file. + * gnu/classpath/jdwp/exception/InvalidFrameException.java: Fix indentation. + * gnu/classpath/jdwp/exception/InvalidSlotException.java: Fix indentation. + +2007-01-15 Andrew John Hughes - * java/io/OutputStreamWriter.java (OutputStreamWriter): Added @since. - * java/io/InputStreamReader.java (InputStreamReader): Added @since. + * javax/management/AttributeValueExp.java: + Corrected serialVersionUID typo. + * javax/management/DefaultLoaderRepository.java: + New file. + * javax/management/MBeanServerFactory.java: + Add generic typing. + +2007-01-15 Kyle Galloway -2006-01-03 Mark Wielaard + * gnu/classpath/jdwp/exception/InvalidFrameException.java: New file. - * org/omg/CORBA/INVALID_ACTIVITY.java: Remove non-ascii characters. +2007-01-15 Kyle Galloway -2006-01-03 Mark Wielaard + * gnu/classpath/jdwp/exception/AbsentInformationException.java: New file. - * javax/swing/plaf/metal/MetalLookAndFeel.java (MetalLookAndFeel): - Always call createDefaultTheme(). - (createDefaultTheme): Check whether theme is still null. +2007-01-15 Kyle Galloway -2006-01-03 Mark Wielaard + * gnu/classpath/jdwp/exception/InvalidSlotException.java: New file. - * gnu/java/awt/peer/gtk/GdkGraphics2D.java (setBackground): Set to - Color.WHITE if null. +2007-01-14 Andrew John Hughes -2006-01-03 Lillian Angel + * javax/management/AttributeValueExp.java: New file. + * javax/management/QueryEval.java: Likewise. + * javax/management/StringValueExp.java: Likewise. + +2007-01-14 Andrew John Hughes - * javax/swing/plaf/metal/MetalLookAndFeel.java - (getDescription): Fixed to return the correct string. - (getID): Likewise. - (getName): Likewise. - (getDefaults): Added check to avoid NPE. - (getAcceleratorForeground): Likewise. - (getAcceleratorSelectedForeground): Likewise. - (getBlack): Likewise. - (getControl): Likewise. - (getControlDarkShadow): Likewise. - (getControlDisabled): Likewise. - (getControlHighlight): Likewise. - (getControlInfo): Likewise. - (getControlShadow): Likewise. - (getControlTextColor): Likewise. - (getControlTextFont): Likewise. - (getDesktopColor): Likewise. - (getFocusColor): Likewise. - (getHighlightedTextColor): Likewise. - (getInactiveControlTextColor): Likewise. - (getInactiveSystemTextColor): Likewise. - (getMenuBackground): Likewise. - (getMenuDisabledForeground): Likewise. - (getMenuForeground): Likewise. - (getMenuSelectedBackground): Likewise. - (getMenuSelectedForeground): Likewise. - (getMenuTextFont): Likewise. - (getPrimaryControl): Likewise. - (getPrimaryControlDarkShadow): Likewise. - (getPrimaryControlHighlight): Likewise. - (getPrimaryControlInfo): Likewise. - (getPrimaryControlShadow): Likewise. - (getSeparatorBackground): Likewise. - (getSeparatorForeground): Likewise. - (getSubTextFont): Likewise. - (getSystemTextColor): Likewise. - (getSystemTextFont): Likewise. - (getTextHighlightColor): Likewise. - (getUserTextColor): Likewise. - (getUserTextFont): Likewise. - (getWhite): Likewise. - (getWindowBackground): Likewise. - (getWindowTitleBackground): Likewise. - (getWindowTitleFont): Likewise. - (getWindowTitleForeground): Likewise. - (getWindowTitleInactiveBackground): Likewise. - (getWindowTitleInactiveForeground): Likewise. - -2006-01-03 Mark Wielaard - - * javax/swing/JTextArea.java - (JTextArea(Document,text,int,int)): Only call setText() when text is - not null. - -2006-01-03 Lillian Angel - - * javax/swing/plaf/basic/BasicFileChooserUI.java - (installStrings): Fixed installation of defaults that - were changed in BasicLookAndFeel. - * javax/swing/plaf/basic/BasicTabbedPaneUI.java - (installDefaults): Fixed installation of defaults that - were changed in BasicLookAndFeel. - -2006-01-03 Lillian Angel - - * javax/swing/plaf/basic/BasicLookAndFeel.java - (initComponentDefaults): Fixed several defaults that differed - from the JDK. - -2006-01-03 Lillian Angel - - * javax/swing/tree/DefaultTreeSelectionModel.java - (DefaultTreeSelectionModel): Default should be DISCONTIGUOUS_TREE_SELECTION. - -2006-01-03 Lillian Angel - - * javax/swing/AbstractAction.java - (AbstractAction): Fixed to pass in null. Should not be - an empty string. Removed TODO comment. - (AbstractAction): Removed TODO comment. - * javax/swing/JList.java - (init): Default selection mode should be MULTIPLE_INTERVAL_SELECTION. - * javax/swing/JMenuItem.java - (JMenuItem): Set all defaults if the action passed in is not null. - * javax/swing/JProgressBar.java - (JProgressBar): Added check to prevent NPE. - -2006-01-03 Lillian Angel - - * javax/swing/plaf/basic/BasicListUI.java - (getPreferredSize): The JDK adds some extra space to - the list, so we should as well. - * javax/swing/plaf/metal/MetalFileChooserUI.java - (getPreferredSize): Should only take the fileListPanel's - width into account when getting the size. Also, the buttonPanel's - size should not be checked, since it is in the bottomPanel already. - (getMinimumSize): Likewise. - -2006-01-03 Lillian Angel - - * javax/swing/JList.java - (init): visibleRowCount should be 7, like the JDK. - * javax/swing/plaf/metal/MetalFileChooserUI.java - (installComponents): No need to add the fileFilterCombo - to a panel. It can be added to the row directly. - -2006-01-03 Lillian Angel + * javax/management/AttributeChangeNotificationFilter.java: + New file. - PR classpath/25480 PR classpath/25478 - * javax/swing/plaf/basic/BasicScrollPaneUI.java - (updateViewport): Made changes suggested by - Chris Lansdown. - * javax/swing/plaf/metal/MetalFileChooserUI.java: - Removed unneeded import. - (createList): Removed comment, JList wrapping - now works. - (getPreferredSize): Made changes suggested by - Chris Lansdown. Uses fileListPanel, instead - of fileList. - (getMinimumSize): Uses fileListPanel, instead - of fileList. - * javax/swing/plaf/metal/MetalRadioButtonUI.java - (paintFocus): Fixed height. +2007-01-11 Andreas Tobler -2006-01-03 Roman Kennke + * examples/gnu/classpath/examples/awt/AicasGraphicsBenchmark.java + (AicasGraphicsBenchmark): Load images from ../icons. + * examples/gnu/classpath/examples/java2d/J2dBenchmark.java (init): + Likewise. + * examples/Makefile.am (EXAMPLE_ICONS): Add rule to copy *.gif files + to icons. + * examples/gnu/classpath/examples/awt/aicas.png: Move to ../icons. + Delete here. + * examples/gnu/classpath/examples/awt/palme.gif: Likewise. + * examples/gnu/classpath/examples/java2d/aicas.png: Likewise. + * examples/gnu/classpath/examples/java2d/palme.gif: Likewise. + * examples/gnu/classpath/examples/icons/aicas.png: Moved. + * examples/gnu/classpath/examples/icons/palme.gif: Likewise. - * javax/swing/plaf/basic/BasicListUI.java - (locationToIndex): Added check to avoid ArrayOutOfBoundsException. +2007-01-09 Tania Bento -2006-01-03 Roman Kennke + * java/security/Permission.java: + (toString): If there are no actions, then there should not + be a space between its name and ')'. - * javax/swing/plaf/basic/BasicListUI.java - (locationToIndex): Special case for when variable cell heights - are possible. (cellHeights is used instead of cellHeight). - (indexToLocation): Special case for when variable cell heights - are possible. (cellHeights is used instead of cellHeight). +2007-01-08 Andrew John Hughes -2006-01-03 Roman Kennke + * javax/management/AttributeChangeNotification.java: + New file. + +2007-01-08 Cameron McCormack + + PR 30355 + * java/util/Arrays.java: + (binarySearch(byte[],byte)): Added check for zero-length array. + (binarySearch(short[],short)): Likewise. + (binarySearch(int[],int)): Likewise. + (binarySearch(long[],long)): Likewise. + (binarySearch(char[],char)): Likewise. + (binarySearch(float[],float)): Likewise. + (binarySearch(double[],double)): Likewise. + (binarySearch(Object[],Object)): Likewise. + (binarySearch(T[],T,Comparator)): Likewise. + +2007-01-08 Tom Tromey + + * tools/gnu/classpath/tools/native2ascii/Native2ASCII.java (run): + Fix length check. PR classpath/30346. + +2007-01-09 Raif S. Naffah + + * tools/gnu/classpath/tools/jarsigner/SFHelper.java: Updated copyright year. + (sfEntries): Use generics. + (writeDSA()): Likewise. + (startSigning()): Likewise. + (updateEntry()): Likewise. + * tools/gnu/classpath/tools/jarsigner/Messages.java: Updated copyright year. + (CACHED_FORMATS): Use generics. + (getFormattedString()): Likewise. + * tools/gnu/classpath/tools/jarsigner/Main.java: Updated copyright year. + (fileAndAlias): Use generics. + (ToolParser.validate()): Likewise. + * tools/gnu/classpath/tools/jarsigner/JarVerifier.java: + Updated copyright year. + Re-ordered imports and removed unused entries. + (entryHashes): Use generics. + (start()): Likewise. + (verifySFEntries()): Likewise. + Use map's entrySet() instead of its keySet(). + +2007-01-08 Andrew John Hughes + + * java/text/DateFormat.java: + (computeInstance(int,int,Locale,boolean,boolean)): + Throw an exception when locale info. is unavailable. + (computeDefault(int,int,boolean,boolean)): New method. + (getDateInstance(int,Locale)): Check providers. + (getDateTimeInstance(int,int,Locale)): Likewise. + (getTimeInstance(int,Locale)): Likewise. + * java/text/DateFormatSymbols.java: + Update documentation to match DecimalFormatSymbols. + * java/text/DecimalFormatSymbols.java: + (DecimalFormatSymbols(Locale)): Reordered. + (getInstance()): Implemented. + (getInstance(Locale)): Implemented. + * java/text/NumberFormat.java: + (computeInstance(Locale,String,String)): + Throw an exception when locale info is unavailable. + (getCurrencyInstance(Locale)): Check providers. + (getIntegerInstance(Locale)): Likewise. + (getNumberInstance(Locale)): Likewise. + (getPercentInstance(Locale)): Likewise. + * java/text/spi/DateFormatProvider.java: New file. + * java/text/spi/DecimalFormatSymbolsProvider.java: Likewise. + * java/text/spi/NumberFormatProvider.java: Likewise. + +2007-01-07 Ito Kazumitsu + + Fixes bug #30377 + * native/jni/native-lib/cpnet.h: Add some include files. + +2007-01-07 Roman Kennke + + PR 30337 + * java/awt/Component.java + (getFontImpl): Return null when the component has no font set + and also has no parent yet. + * javax/swing/plaf/basic/BasicComboBoxUI.java + (PropertyChangeHandler.propertyChange): Only add editor when combo + box is editable. Avoid fetching the property name repeatedly. + Invalidate when renderer or prototypeDisplayValue change. + (uninstallComponents): Unconfigure everything and then remove all + components. + * javax/swing/plaf/basic/BasicComboPopup.java + (uninstallingUI): Don't nullify list model. + * javax/swing/plaf/metal/MetalComboBoxUI.java + (createArrowButton): Pass currentValuePane to the MetalComboBoxButton + constructor rather than a new (unconnected) CellRendererPane. - * javax/swing/text/DefaultStyledDocument.java - (ElementBuffer.remove): New method. - (ElementBuffer.removeUpdate): New method. - (removeUpdate): New method. +2007-01-06 Roman Kennke -2006-01-03 Roman Kennke + PR 30337 + * javax/swing/plaf/basic/BasicComboBoxUI.java + (installUI): Install popup and list here. + Don't configure the arrow button and editor here. + (installComponents): Don't install popup and list here. (Moved + to installUI). Configure arrow button here and check for null. + (addEditor): Configure editor here. + (configureArrowButton): Directly fetch listeners from popup. + (paintCurrentValue): Removed unused local variables. + (layoutContainer): Removed unused local variables. + (PropertyChangeHandler.propertyChange): Don't invalidate minimumSize + on each property change. Avoid calling getPropertyName() repeatedly. + Clean up. Call addEditor() when editor changes. Configure and + unconfigure editor when editable changes. Use 'model' instead + of non-existing 'dataModel' property. + * javax/swing/plaf/basic/BasicComboPopup.java + (uninstallingUI): Remove property change listener and item listener + here. Uninstall list listeners. Set model to null to prevent leakage. + (configureList): Don't sync list selection there. + (uninstallComboBoxListeners): Moved to uninstallingUI. + (uninstallListeners): Moved to uninstallingUI. + * javax/swing/plaf/metal/MetalComboBoxUI.java + (createPopup): Call super. + (getMinimumSize): Removed unused statement. - * lib/Makefile.am: - (dist-hook): Preserve attributes of Java sources when copying to - dist dir. +2007-01-06 Andrew John Hughes -2006-01-03 Raif S. Naffah + * java/text/Collator.java: + (getInstance(Locale)): Check providers. + * java/text/spi/CollatorProvider.java: + New file. + +2007-01-04 Roman Kennke - * AUTHORS: Added self. - * java/security/Security.java (getProvider): Ensures provider's name is - not null, not an empty string, and is trimmed before usage. + PR 30122 + * java/awt/Component.java + (getFont): Don't synchronize on tree lock here. The method is + thread-safe 'enough' by fetching local variables in getFontImpl(). -2006-01-01 Audrius Meskauskas +2007-01-04 Roman Kennke - * gnu/CORBA/Poa/AOM.java (add): - Changed parameter Object into gnuServantObject. - (Obj.object): Changed type to gnuServantObject. - (findObject): Rewritten. + * java/awt/AWTEvent.java + (toString): Don't include the whole component in the output, + only its name. + * java/awt/Component.java + (isShowing): Create local copy of parent field for better + thread safety and efficiency. + * java/awt/EventDispatchThread.java + (EventDispatchThread): Make sure the event thread is not a daemon + thread in case it gets started by a daemon thread. + * java/awt/image/IndexColorModel.java + (createColorMap): New helper method for creating the color map. + (IndexColorModel): (all constructors) use createColorMap() helper + method. -2006-01-01 Andreas Tobler +2007-01-04 Roman Kennke + + * gnu/java/awt/font/autofit/GlyphHints.java + (alignStrongPoints): Don't special case the vertical dimension. + (computeInflectionPoints): Corrected computation of inflection + points. + * gnu/java/awt/font/autofit/Utils.java + (ANGLE_4PI): Removed. + (ANGLE_PI2): New constant for PI/2. + (ANGLE_PI4): New constant for PI/4. + (angleDiff): Fixed. + (atan): Fixed. + +2007-01-03 Cameron McCormack + + Fixes bug #29246 + * java/awt/Toolkit.java (getLockingKeyState): Use AWTUtilities + isValidKey method. Throw UnsupportedOperationException on a valid + key (for which no locking state can be given). + * gnu/java/awt/AWTUtilities.java (isValidKey): New method. + * gnu/java/awt/peer/gtk/GtkToolkit.java (getLockingKeyState): New + method. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c + (Java_gnu_java_awt_peer_gtk_GtkToolkit_getLockState): New method. + * include/gnu_java_awt_peer_gtk_GtkToolkit.h: Regenerated. - * native/jni/qt-peer/mainqtthread.cpp: Remove call to disable double - buffering. Ability has gone in Qt-4.1.x. +2007-01-03 Andrew John Hughes - * configure.ac (QT_CFLAGS): Check for 4.1.0 version and for QtCore - to have the right include flags. + * java/text/BreakIterator.java: + (getCharacterInstance(Locale)): Check providers. + (getLineInstance(Locale)): Likewise. + (getSentenceInstance(Locale)): Likewise. + (getWordInstance(Locale)): Likewise. + * java/text/spi/BreakIteratorProvider.java: + New file. + * java/text/spi/DateFormatSymbolsProvider.java: + Update header text. + * java/util/ServiceConfigurationError.java: + Add serialVersionUID. + +2007-01-03 Francis Kung -2006-01-01 Raif S. Naffah + * gnu/java/awt/peer/gtk/CairoGraphics2D.java: + (copy): Copy and set antialias value. - * java/security/MessageDigest.java (getInstance(String,String)): - Use trimmed copy of provider name. - * gnu/java/security/Engine.java - (getInstance(String,String,Provider,Object[])): Use trimmed copy of - service and algorithm names. +2007-01-03 Tania Bento -2006-01-01 Raif S. Naffah + * java/awt/CardLayout.java: + (maximumLayoutSize): Return a new Dimension with a width of value + Integer.MAX_VALUE and a height of value Integer.MAX_VALUE if Component + has no components. + +2007-01-03 Andrew John Hughes + + * java/text/DateFormatSymbols.java: + (getZoneStrings(ResourceBundle)): Changed to... + (getZoneStrings(ResourceBundle,Locale)): Added + use of TimeZoneNamesProvider. + (getZoneStrings()): Return either mutated zone + strings or initial ones. + (getInstance(Locale)): Check DateFormatSymbolsProvider + instances. + * java/text/spi/DateFormatSymbolsProvider.java: + New file. + * java/text/spi/package.html: New file. + +2007-01-02 Andrew John Hughes + + * java/util/Currency.java: + (getSymbol(Locale)): Removed unneeded variable + and terminate loop early. + * java/util/Locale.java: + (getDisplayLanguage(Locale)): Fixed to use + LocaleNameProvider. + (getDisplayCountry(Locale)): Likewise. + (getDisplayVariant(Locale)): Likewise. + * java/util/spi/LocaleNameProvider.java: + New file. + * java/util/spi/TimeZoneNameProvider.java: + Likewise. + +2007-01-02 Andrew John Hughes - * java/net/InetAddress.java (getAllByName): use LOCALHOST if - localhost is null or is an empty string. Trim hostname before - lookup. + * gnu/java/locale/LocaleHelper.java: + (getLocalizedString(Locale,String,String,boolean, + boolean)): Removed, no longer needed. + (getFallbackLocale(Locale)): Implemented. + * java/lang/String.java: + (isEmpty()): Implemented. + * java/util/Currency.java: + (getSymbol(Locale)): Reimplemented to use SPI. + * java/util/Locale.java: + (ROOT): Added. + * java/util/spi/CurrencyNameProvider.java: + New file. + * java/util/spi/LocaleServiceProvider.java: + Likewise. + * java/util/spi/package.html: Likewise. + +2007-01-02 Roman Kennke + * gnu/java/awt/java2d/AbstractGraphics2D.java + (FONT): New constant field. This is the default font to use as long + as nothing else is set. + (paintContext): New field. Temporarily stores the paint context. + (scanlineConverters): New field. Stores the scanline converters + for each thread. + (shapeCache): Genericified. + (STANDARD_HINTS): New constant field. The standard rendering hints + as long as nothing else is set. + (STANDARD_STROKE): New constant field. The standard stroke as long + as nothing else is set. + (static_initializer): Initialize standard hints. + (AbstractGraphics2D): Use constant fields for hints and stroke. + (drawGlyphVector): Use simpler method to draw the outline. + (fillScanline): Use paintContext field. + (fillShape): Use new ScanlineConverter to fill shapes. + (fillShapeAntialias): Removed. This will be done in fillShape. + (fillShapeImpl): Removed. This is done now in the ScanlineConverter + class. + (getScanlineConverter): New method. Returns the scanline converter + for each thread. + (getSegments): Removed. This is now implemented in ScanlineConverter. + (getShapeCache): Use genericified shapeCache field. + (init): Use fixed default font. Don't fetch destination raster here. + * gnu/java/awt/java2d/ActiveEdges.java: New class. Stores a set + of active edges for scanline conversion. + * gnu/java/awt/java2d/PolyEdge.java + (poolNext): Implements linked list for edge pool. + (scanlineNext): Implements linked list for scanline edge lists. + (slope): Use fixed point decimal. + (slope,x0,y0,x1,y1,xIntersection): Use fixed point decimal. + (PolyEdge()): New constructor. + (PolyEdge): Use fixed point decimals. + (init): Use fixed point decimals. + (intersect): New method. Intersects this edge with a scanline. + * gnu/java/awt/java2d/Scanline.java: New class. A list of edges + for a scanline plus utilities. + * gnu/java/awt/java2d/ScanlineConverter.java: New class. Implements + an efficient scanline converter for rendering Shape objects. + +2007-01-02 Roman Kennke + + * gnu/java/math/Fixed.java: New class. Fixed point arithmetics + utilities. + +2007-01-01 Andrew John Hughes + + * ChangeLog-2006: New file. + * gnu/classpath/ServiceFactory.java: + Add option of throwing a ServiceConfigurationError. + (lookupProviders(Class,ClassLoader,boolean)): Implemented. + * java/util/ServiceConfigurationError.java: New file. + * java/util/ServiceLoader.java: Likewise. + + + +Local Variables: +coding: iso-latin-1-unix +End: diff --git a/libjava/classpath/ChangeLog-2006 b/libjava/classpath/ChangeLog-2006 new file mode 100644 index 0000000..b8cfb24 --- /dev/null +++ b/libjava/classpath/ChangeLog-2006 @@ -0,0 +1,37380 @@ +2006-12-30 Casey Marshall + + * gnu/java/security/x509/X509Certificate.java (serialVersionUID): + new constant. + (extensions): parameterize. + (getExtendedKeyUsage): parameterize return type. + (getSubjectAlternativeNames): parameterize return type; handle changes + to `SubjectAlternativeNames' class. + (getIssuerAlternativeNames): parameterize return type; handle changes + to `IssuerAlternativeNames' class. + (getCriticalExtensionOIDs, getNonCriticalExtensionOIDs): parameterize + return type. + * gnu/java/security/x509/ext/CertificatePolicies.java + (policies, policyQualifierInfos): parameterize. + * gnu/java/security/x509/ext/ExtendedKeyUsage.java (purposeIds): + parameterize. + * gnu/java/security/x509/ext/Extension.java (): add support + for NameConstraints extension. + * gnu/java/security/x509/ext/GeneralName.java: new class. + * gnu/java/security/x509/ext/GeneralNames.java (names): parameterize; + retrofit to use the GeneralName class. + * gnu/java/security/x509/ext/GeneralSubtree.java: new class. + * gnu/java/security/x509/ext/IssuerAlternativeNames.java (getNames): + change return type to GeneralName parameterized list. + * gnu/java/security/x509/ext/NameConstraints.java: new class. + * gnu/java/security/x509/ext/SubjectAlternativeNames.java (getNames): + change return type to GeneralName parameterized list. + * java/security/cert/X509CertSelector.java: re-sorted methods. + (makeName): new method. + (addPathToName, addPathToName, getPathToNames, getPolicy, + getSubjectAlternativeNames, setPathToNames, setPolicy): implemented. + (keyPurposeSet, altNames, policy): parametized. + (pathToNames): new field. + +2006-12-29 Andrew John Hughes + + * java/text/DateFormatSymbols: + (DateFormatSymbols()): Update documentation. + (DateFormatSymbols(Locale)): Likewise. + (getInstance()): Implemented. + (getInstance(Locale)): Partially implemented. + * java/util/Calendar.java: + (SHORT, LONG, ALL_STYLES): New constants. + (getDisplayName(int,int,Locale)); Implemented. + (getDisplayNames(int,int,Locale)): Likewise. + +2006-12-28 Andrew John Hughes + + * java/util/Arrays.java: + (copyOf(boolean[],int)): Implemented. + (copyOfRange(boolean[],int,int)): Likewise. + (copyOf(byte[],int)): Likewise. + (copyOfRange(byte[],int,int)): Likewise. + (copyOf(char[],int)): Likewise. + (copyOfRange(char[],int,int)): Likewise. + (copyOf(double[],int)): Likewise. + (copyOfRange(double[],int,int)): Likewise. + (copyOf(float[],int)): Likewise. + (copyOfRange(float[],int,int)): Likewise. + (copyOf(int[],int)): Likewise. + (copyOfRange(int[],int,int)): Likewise. + (copyOf(long[],int)): Likewise. + (copyOfRange(long[],int,int)): Likewise. + (copyOf(short[],int)): Likewise. + (copyOfRange(short[],int,int)): Likewise. + (copyOf(T[],int)): Likewise. + (copyOfRange(T[],int,int)): Likewise. + (copyOf(U[],int,Class)): Likewise. + (copyOfRange(U[],int,int,Class)): + Likewise. + * java/util/Collections.java: + (asLifoQueue(Deque)): Implemented. + (newSetFromMap(Map)): Likewise. + (MapSet): New class for newSetFromMap. + (LIFOQueue): New class for asLifoQueue. + +2006-12-28 Jeroen Frijters + + * javax/net/ssl/SSLServerSocketFactory.java: + (getDefault): Return inoperative factory instead of throwing error + (as per spec). + (ErrorServerSocketFactory): New class. + * javax/net/ssl/SSLSocketFactory.java: + (getDefault): Return inoperative factory instead of throwing error + (as per spec). + (ErrorSocketFactory): New class. + +2006-12-28 Andrew John Hughes + + * java/util/AbstractMap.java: + (SimpleImmutableEntry): Document and add + serialVersionUID. + (SimpleEntry): Likewise, and fix JAPI errors. + * java/util/TreeMap.java: + (entrySet()): Return navigableSet instead. + (headMap(K, boolean)): Implemented. + (subMap(K, boolean, K, boolean)): Likewise. + (tailMap(K, boolean)): Likewise. + (highestLessThan(K,boolean)): Likewise. + (lowestGreaterThan(K,boolean,boolean)): Likewise. + (SubMap.ceilingEntry(K)): Likewise. + (SubMap.ceilingKey(K)): Likewise. + (SubMap.descendingKeySet()): Likewise. + (SubMap.descendingMap()): Likewise. + (SubMap.entrySet()): Return navigableSet instead. + (SubMap.firstEntry()): Implemented. + (SubMap.floorEntry(K)): Likewise. + (SubMap.floorKey(K)): Likewise. + (SubMap.headMap(K,boolean)): Likewise. + (SubMap.higherEntry(K)): Likewise. + (SubMap.higherKey(K)): Likewise. + (SubMap.lastEntry()): Likewise. + (SubMap.lowerEntry(K)): Likewise. + (SubMap.lowerKey(K)): Likewise. + (SubMap.navigableKeySet()): Likewise. + (SubMap.pollFirstEntry()): Likewise. + (SubMap.pollLastEntry()): Likewise. + (SubMap.subMap(K,boolean,K,boolean)): Likewise. + (SubMap.tailMap(K,boolean)): Likewise. + (SubMap.KeySet): New class for keySet(). + (SubMap.NavigableKeySet): New class for navigableKeySet(). + (SubMap.EntrySet): New class for entrySet(). + (SubMap.NavigableEntrySet): Likewise. + (ceilingEntry(K)): Likewise. + (ceilingKey(K)): Likewise. + (descendingKeySet()): Likewise. + (descendingMap()): Likewise. + (firstEntry()): Implemented. + (floorEntry(K)): Likewise. + (floorKey(K)): Likewise. + (higherEntry(K)): Likewise. + (higherKey(K)): Likewise. + (lastEntry()): Likewise. + (lowerEntry(K)): Likewise. + (lowerKey(K)): Likewise. + (navigableKeySet()): Likewise. + (pollFirstEntry()): Likewise. + (pollLastEntry()): Likewise. + (DescendingMap): New class for descendingMap(). + (KeySet): New class for keySet(). + (NavigableKeySet): New class for navigableKeySet(). + (DescendingSet): New class for descendingSet(). + (EntrySet): New class for entrySet(). + (NavigableEntrySet): Likewise. + * java/util/TreeSet.java: + (headSet(T,boolean)): Implemented. + (subSet(T,boolean,T,boolean)): Likewise. + (tailSet(T,boolean)): Likewise. + (descendingIterator()): Likewise. + (descendingSet()): Likewise. + (floor(T)): Likewise. + (higher(T)): Likewise. + (lower(T)): Likewise. + (pollFirst(T)): Likewise. + (pollLast(T)): Likewise. + +2006-12-27 Andrew John Hughes + + * java/util/LinkedList.java: + (offer(T)): Documented. + (element()): Likewise. + (peek()): Likewise. + (poll()): Likewise. + (remove()): Likewise. + (descendingIterator()): Implemented. + (offerFirst(T)): Likewise. + (offerLast(T)): Likewise. + (peekFirst()): Likewise. + (peekLast()): Likewise. + (pollFirst()): Likewise. + (pollLast()): Likewise. + (pop()): Likewise. + (push(T)): Likewise. + (removeFirstOccurrence(Object)): Likewise. + (removeLastOccurrence(Object)): Likewise. + +2006-12-26 Andrew John Hughes + + * NEWS: Mention 1.6 support for java.lang.management + * configure.ac: Check for getloadavg. + * examples/gnu/classpath/examples/management/TestOS.java: + Print system load average. + * gnu/java/lang/management/OperatingSystemMXBeanImpl.java: + (getSystemLoadAverage()): Implemented. + * include/Makefile.am: Add new header. + * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h: + Regenerated. + * include/gnu_java_lang_management_VMOperatingSystemMXBeanImpl.h: + Generated. + * java/lang/management/OperatingSystemMXBean.java: + (getSystemLoadAverage()): Implemented. + * native/jni/java-lang/Makefile.am: Add new native code. + * native/jni/java-lang/gnu_java_lang_management_VMOperatingSystemMXBeanImpl.c: + New file. + * vm/reference/gnu/java/lang/management/VMOperatingSystemMXBeanImpl.java: + Likewise. + +2006-12-25 Andrew John Hughes + + * NEWS: + Add information on threading bean VM update. + +2006-12-25 Andrew John Hughes + + * doc/vmintegration.texinfo: + Updated to match new threading bean API. + * gnu/java/lang/management/ThreadMXBeanImpl.java: + (MONITOR_SUPPORT): New constant for object monitor + lock support property. + (SYNCHRONIZER_SUPPORT): New constant for ownable + synchronizer lock support property. + (dumpAllThreads(boolean,boolean)): Implemented. + (findDeadlockedThreads()): Likewise. + (getThreadInfo(long[],boolean,boolean)): Likewise. + (isObjectMonitorUsageSupported()): Likewise. + (isSynchronizerUsageSupported()): Likewise. + * java/lang/management/ThreadInfo.java: + (ThreadInfo(Thread,long,long,Object,Thread,long, + long,boolean,boolean,StackTraceElement[], + MonitorInfo[], LockInfo[])): New constructor. + (ThreadInfo(long,String,Thread.State,long,long, + String,long,String,long,long,boolean,boolean, + StackTraceElement[],MonitorInfo[], LockInfo[])): + Likewise. + (from(CompositeData)): Updated to handle new attributes. + (getLockedMonitors()): Implemented. + (getLockedSynchronizers()): Likewise. + (getLockInfo()): Likewise. + (getLockName()): Handle blocking as documented in 1.6 + (getLockOwnerId()): Likewise. + (getLockOwnerName()): Likewise. + (toString()): Likewise. + (isThreadBlocked()): Thread blocked check based on + documented 1.6 semantics. + * java/lang/management/ThreadMXBean.java: + (dumpAllThreads(boolean,boolean)): Implemented. + (findDeadlockedThreads()): Likewise. + (getThreadInfo(long[],boolean,boolean)): Likewise. + (isObjectMonitorUsageSupported()): Likewise. + (isSynchronizerUsageSupported()): Likewise. + * vm/reference/gnu/java/lang/management/VMThreadMXBeanImpl.java: + (findDeadlockedThreads()): New native method. + (getLockInfo(ThreadInfo)): Likewise. + (getMonitorInfo(ThreadInfo)): Likewise. + +2006-12-25 Andrew John Hughes + + * java/lang/management/MonitorInfo.java: + Make variables private. + * java/util/Arrays.java: + (binarySearch(byte[],byte)): Implemented in terms + of range-based variant. + (binarySearch(short[],short)): Likewise. + (binarySearch(int[],int)): Likewise. + (binarySearch(long[],long)): Likewise. + (binarySearch(char[],char)): Likewise. + (binarySearch(float[],float)): Likewise. + (binarySearch(double[],double)): Likewise. + (binarySearch(byte[],int,int,byte)): Implemented. + (binarySearch(short[],int,int,short)): Likewise. + (binarySearch(int[],int,int,int)): Likewise. + (binarySearch(long[],int,int,long)): Likewise. + (binarySearch(char[],int,int,char)): Likewise. + (binarySearch(float[],int,int,float)): Likewise. + (binarySearch(double[],int,int,double)): Likewise. + (binarySearch(Object[],int,int,Object)): Likewise. + (binarySearch(T[],int,int,T,Comparator)): Likewise. + +2006-12-25 Andrew John Hughes + + * java/beans/ConstructorProperties.java: + New file. + * java/lang/management/LockInfo.java: + Likewise. + * java/lang/management/MonitorInfo.java: + Likewise. + * java/lang/management/ThreadInfo.java: + (getStackTraceType()): New method to + make the StackTraceElement type accessible. + (from(CompositeData)): Refactored to use + getStackTraceType(). + +2006-12-24 Andrew John Hughes + + * gnu/classpath/Pair.java: New class. + * java/io/ObjectInputStream.java: + (readUnshared()): Implemented. + (readObject(boolean)): Renamed from readObject + in order to handle unshared serialization. + (parseContent(byte,boolean)): Added unshared parameter. + (assignNewHandle(Object,boolean)): Likewise. + (rememberHandle(Object,boolean,int)): Likewise. + (lookupHandle(int)): Added handling of invalidated handles. + (processResolution(ObjectStreamClass,Object,int,boolean)): + Added unshared parameter. + * java/io/ObjectOutputStream.java: + (writeUnshared()): Implemented. + (writeObject(Object,boolean)): Renamed from + writeObject(Object) in order to handle + unshared serialization. + +2006-12-23 Andrew John Hughes + + * gnu/java/lang/management/BeanImpl.java: + (translate(String)): Correct handling of + CompositeData objects. + * java/lang/management/ManagementFactory.java: + (ManagementInvocationHandler.invoke(Object, + Method,Object[])): Handle translation and notifications. + (ManagementInvocationHandler.translate(Object, + Method)): Implement type translation. + * java/lang/management/MemoryUsage.java: + (from(CompositeData)): Fix capitalisation. + * java/lang/management/ThreadInfo.java: + (from(CompositeData)): Likewise. + * javax/management/StandardMBean.java: + (getMBeanInfo()): Add notification handling. + +2006-12-23 Sven de Marothy + + * java/util/GregorianCalendar.java, + (add): Don't set fields directly anymore. Use set() + +2006-12-22 Andrew John Hughes + + PR classpath/30268: + * javax/management/MBeanServerFactory.java: + Initialise map of servers immediately. + (createMBeanServer(String)): Remove map + construction. + +2006-12-22 Francis Kung + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (shiftX): Remove rounding. + (shiftY): Likewise. + +2006-12-22 Francis Kung + + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java + (locked): Removed field. + (BufferedImageGraphics): Remove locked flag. + (drawComposite): Transform bounds properly; set cairo composite directly. + (drawImage): Transform bounds properly. + (updateBufferedImage): Remove locked flag; transform bounds properly. + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (copyArea): Add comment. + (drawImage): Transform bounds properly; update clipping region. + (getClipInDevSpace): Transform bounds properly. + (getTransformedBounds): New method. + (setAntialias): Updated javadoc. + (setCustomPaint): Transform bounds properly. + (updateClip): Avoid use of GeneralPath when possible. + +2006-12-22 Andrew John Hughes + + PR classpath/30217: + * javax/management/ObjectName.java: + (getKeyPropertyList()): Remove cast and call + to UnmodifiableMap. + +2006-12-22 Andrew John Hughes + + PR classpath/30216: + * javax/management/MBeanServerDelegate.java: + Initialise list of listeners immediately. + (addListener(NotificationListener)): Remove list + construction. + +2006-12-21 David Daney + + * gnu/java/net/protocol/http/Headers.java: Update imports. Implement + Iterable. + (iterator): Make public. + * gnu/java/net/protocol/http/Request.java (dispatch): Use enhanced for + loop. + (notifyHeaderHandlers): Same. + * gnu/java/net/protocol/http/SimpleCookieManager.java (addCookies): + Remove unneeded cast. + +2006-12-21 Mario Torre + + * .settings/org.eclipse.jdt.core.prefs: set compilation flag to warning + instead of error for empty control flow statements. + * gnu/javax/swing/text/html/css/CSSParser.java (parseSelector): + (parseValue): Reverted last change. + * java/text/BreakIterator.java (preceding): likewise. + * external/jsr166/java/util/AbstractQueue.java (clear): likewise. + * gnu/java/io/Base64InputStream.java (read): likewise. + * javax/swing/text/DefaultStyledDocument.java (ElementBuffer.insertUpdate): + likewise. + * java/util/zip/DeflaterEngine.java (findLongestMatch): likewise. + * java/util/zip/ZipInputStream.java (closeEntry): likewise. + * java/util/zip/DeflaterHuffman.java (Tree.buildLength): likewise. + * java/io/StreamTokenizer.java (nextToken): likewise. + * gnu/javax/imageio/png/PNGICCProfile.java (PNGICCProfile): likewise. + * gnu/java/awt/font/opentype/truetype/VirtualMachine.java (execute): + likewise. + * gnu/java/nio/charset/ByteCharset.java (Decoder.decodeLoop): likewise. + Also fixed typo. + * gnu/java/awt/print/PostScriptGraphics2D.java (spoolPostScript): likewise. + * gnu/java/awt/print/JavaPrinterGraphics.java (spoolPostScript): likewise. + * gnu/javax/net/ssl/provider/SSLRSASignatureImpl.java (engineVerify): + likewise. + * javax/swing/text/html/CSSParser.java: + (parse): likewise. + * java/lang/String.java (trim): likewise. + * java/lang/StrictMath.java (remPiOver2): likewise. + * gnu/java/awt/peer/qt/QtToolkit.java (QtToolkit): likewise. + * javax/swing/JComponent.java (paintImmediately2): likewise. + (paintChildren): likewise. + * java/util/EnumMap.java (..next): likewise. + * java/util/BitSet.java (length): likewise. + * java/util/Collections.java (binarySearch): likewise. + * java/util/StringTokenizer.java (nextToken): likewise. + * java/util/PriorityQueue.java (.next): likewise. + * java/math/BigInteger.java (BigInteger): likewise. + * gnu/java/lang/management/BeanImpl.java (translate): likewise. + +2006-12-19 Mario Torre + + * javax/imageio/spi/ServiceRegistry.java: fixed Empty control-flow + statement. + * tools/gnu/classpath/tools/rmid/ActivationSystemImpl.java: likewise. + * gnu/java/io/Base64InputStream.java (read): likewise. + * gnu/javax/swing/text/html/CharacterAttributeTranslator.java: likewise. + * java/util/zip/DeflaterEngine.java (findLongestMatch): likewise. + * java/util/zip/ZipInputStream.java (closeEntry): likewise. + * java/util/zip/DeflaterHuffman.java (Tree.buildLength): likewise. + * org/omg/CORBA/ORB.java: likewise. + * javax/swing/plaf/metal/MetalFileChooserUI.java: likewise. + * gnu/javax/imageio/png/PNGICCProfile.java (PNGICCProfile): likewise. + * tools/external/asm/org/objectweb/asm/xml/ASMContentHandler.java: likewise. + * java/text/MessageFormat.java (MessageFormatElement.setLocale): likewise. + * java/text/BreakIterator.java (preceding): likewise. + * gnu/javax/net/ssl/provider/SSLEngineImpl.java: likewise. + * gnu/javax/net/ssl/provider/SSLRSASignatureImpl.java (engineVerify): + likewise. + * java/beans/XMLEncoder.java (writeObject): likewise. + * gnu/java/beans/encoder/ScanEngine.java (ScanEngine): likewise. + * java/util/Collections.java (binarySearch): likewise. + * java/util/StringTokenizer.java (nextToken): likewise. + * java/util/PriorityQueue.java (.next): likewise. + * java/util/EnumMap.java (..next): likewise. + * java/util/BitSet.java (length): likewise. + * java/util/Date.java (parse): likewise. + * javax/swing/text/html/CSSParser.java (parse): likewise. + * javax/swing/plaf/basic/BasicTabbedPaneUI.java + (TabbedPaneScrollLayout.calculateTabRects): likewise. + * java/lang/Character.java (UnicodeBlock): likewise. + * java/lang/String.java (trim): likewise. + * java/lang/StrictMath.java (remPiOver2): likewise. + * javax/swing/JFormattedTextField.java (commitEdit): likewise. + * javax/swing/JComponent.java (paintImmediately2): likewise. + (paintChildren): likewise. + * javax/swing/JToolTip.java (paramString): likewise. + * javax/swing/JEditorPane.java (JEditorPane): likewise. + * gnu/CORBA/Poa/gnuPOA.java: likewise. + * gnu/javax/security/auth/login/ConfigFileParser.java + (parseAppOrOtherEntry): likewise. + (parse): likewise. + * java/math/BigInteger.java (setBitOp): likewise. + (add): likewise. + (BigInteger): likewise. + * gnu/java/lang/management/BeanImpl.java (translate): likewise. + * javax/swing/text/DefaultStyledDocument.java (ElementBuffer.insertUpdate): + likewise. + * javax/swing/text/AbstractDocument.java (BranchElement): likewise. + * javax/swing/text/JTextComponent.java (getScrollableTracksViewportWidth): + likewise. + * javax/swing/text/FieldView.java (checkContainer): likewise. + * javax/swing/text/AsyncBoxView.java (ChildLocator.updateChildOffsets): + likewise. + * java/text/DecimalFormat.java (formatToCharacterIterator): likewise. + (parse): small refactoring. + +2006-12-19 Andrew John Hughes + + * java/lang/Enum.java: + (finalize()): Implemented. + +2006-12-18 Andrew John Hughes + + * gnu/java/lang/management/BeanImpl.java: + (getAttribute(String)): Fix Map and List conversion. + * java/lang/management/ManagementFactory.java: + (newPlatformMXBeanProxy(MBeanServerConnection, + String, Class)): Add a comma. + +2006-12-18 Tom Tromey + + * vm/reference/java/net/VMNetworkInterface.java (addresses): + Genericized. + (VMNetworkInterface): Updated. + * java/net/URLClassLoader.java (urls): Genericized. + (urlinfos): Likewise. + (addURLImpl): Updated. + (findClass): Likewise. + (newInstance): Likewise. + * java/net/URL.java (ph_cache): Genericized. + (getURLStreamHandler): Updated. + * java/net/ResolverCache.java (cache): Genericized. + (killqueue): Likewise. + * java/net/NetworkInterface.java (getInetAddresses): Genericized. + * java/net/MimeTypeMapper.java (mime_types): Genericized. + (fillFromFile): Likewise. + (main): Likewise. + * gnu/java/net/protocol/jar/Handler.java (flat): Genericized. + * gnu/java/net/protocol/jar/Connection.java (JarFileCache.cache): + Genericized. + (JarFileCache.get): Updated. + * gnu/java/net/protocol/http/SimpleCookieManager.java (cookies): + Genericized. + (SimpleCookieManager): Updated. + (setCookie): Likewise. + (getCookies): Likewise. + (addCookies): Likewise. + * gnu/java/net/protocol/http/Request.java (responseHeaderHandlers): + Genericized. + (Request): Updated. + (createResponseBodyStream): Removed unused variable. + * gnu/java/net/protocol/http/HTTPURLConnection.java (connect): Remove + unused variable. + (getRequestProperties): Genericized. + * gnu/java/net/protocol/http/HTTPConnection.java + (handshakeCompletedListeners): Genericized. + (nonceCounts): Likewise. + (HTTPConnection): Updated. + (Pool.connectionPool): Likewise. + (getNonceCount): Updated. + (incrementNonce): Likewise. + * gnu/java/net/protocol/http/Headers.java (headers): Genericized. + * gnu/java/net/protocol/http/ChunkedInputStream.java (CR, LF): Removed + unused fields. + * gnu/java/net/protocol/ftp/FTPURLConnection.java (connect): + Genericized. + (getRequestProperties): Likewise. + (addRequestPropertyValue): Likewise. Fixed return result. + * gnu/java/net/protocol/ftp/FTPConnection.java (nameList): + Genericized. + * gnu/java/net/local/LocalSocket.java: Fixed imports. + * gnu/java/net/local/LocalServerSocket.java: Fixed imports. + * gnu/java/net/loader/URLStreamHandlerCache.java (factoryCache): + Genericized. + (add): Updated. + (get): Likewise. + * gnu/java/net/loader/URLLoader.java (getClassPath): Genericized. + * gnu/java/net/loader/JarURLLoader.java (classPath): Genericized. + (initialize): Updated. + (getClassPath): Genericized. + * gnu/java/net/IndexListParser.java (prefixes): Genericized. + (IndexListParser): Updated. + (getHeaders): Likewise. + * gnu/java/net/HeaderFieldHelper.java (headerFieldKeys): Genericized. + (headerFieldValues): Likewise. + (HeaderFieldHelper): Updated. + (getHeaderFieldValueByKey): Likewise. + (getHeaderFields): Likewise. + * gnu/java/net/GetLocalHostAction.java: Genericized. + * gnu/java/net/DefaultContentHandlerFactory.java (imageTypes): + Genericized. + +2006-12-18 Tom Tromey + + * java/util/prefs/Preferences.java (getFactory): Genericized. + * java/util/prefs/AbstractPreferences.java (childCache): Genericized. + (nodeListeners): Likewise. + (preferenceListeners): Likewise. + (cachedChildren): Rewrote. + (childrenNames): Updated. + (addNodeChangeListener): Likewise. + (addPreferenceChangeListener): Likewise. + * gnu/java/util/prefs/gconf/GConfNativePeer.java (getKeys): + Genericized. + (getChildrenNodes): Likewise. + (gconf_client_all_nodes): Likewise. + (gconf_client_all_keys): Likewise. + * gnu/java/util/prefs/MemoryBasedPreferences.java (entries): + Genericized. + (keysSpi): Likewise. + (getSpi): Likewise. + * gnu/java/util/prefs/GConfBasedPreferences.java (childrenNamesSpi): + Genericized. + (keysSpi): Likewise. + (postorderRemove): Likewise. + * gnu/java/util/prefs/EventDispatcher.java (queue): Genericized. + (run): Updated. + +2006-12-18 Francis Kung + + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java + (drawGlyphVector): Round bounds instead of casting & truncating.. + +2006-12-17 Tom Tromey + + * javax/sound/sampled/BooleanControl.java (type): Removed unused + field. + * javax/sound/sampled/AudioSystem.java (getAudioFileTypes): + Genericized. + (getAudioInputStream): Removed unused variable. + (getMixerInfo): Genericized. + (getSourceLineInfo): Likewise. + (getTargetEncodings): Likewise. + (getTargetFormats): Likewise. + (getTargetLineInfo): Likewise. + * javax/sound/sampled/AudioFormat.java (properties): Genericized. + (AudioFormat): Updated. + * javax/sound/sampled/AudioFileFormat.java (properties): Genericized. + (AudioFileFormat): Updated. + +2006-12-17 Andrew John Hughes + + * java/lang/management/ManagementFactory.java: + (newPlatformMXBeanProxy(MBeanServerConnection, + String, Class)): Initial implementation. + +2006-12-17 Tom Tromey + + * javax/naming/spi/Resolver.java: Fixed comments and imports. + * javax/naming/ldap/InitialLdapContext.java (InitialLdapContext): + Genericized. + * javax/naming/directory/BasicAttributes.java (attributes): + Genericized. + (BasicAttributes): Updated. + (get): Likewise. + (getAll): Likewise. + (getIDs): Rewrote. + (readObject): Updated. + (BasicAttributesEnumeration): Genericized. + * javax/naming/directory/BasicAttribute.java (BasicAttribute): + Genericized. + (clone): Likewise. + (readObject): Likewise. + * javax/naming/Reference.java (Reference): Genericized. + (clone): Likewise. + (get): Likewise. + (get): Likewise. + * javax/naming/InitialContext.java (colon_list): Genericized. + (merge): Likewise. + * javax/naming/CompoundName.java (elts): Genericized. + (CompoundName): Updated. + (addAll): Likewise. + (compareTo): Likewise. + (endsWith): Likewise. + (get): Likewise. + (hashCode): Likewise. + (startsWith): Likewise. + (readObject): Likewise. + * javax/naming/CompositeName.java (elts): Genericized. + (CompositeName): Updated. + (addAll): Likewise. + (compareTo): Likewise. + (get): Likewise. + (getPrefix): Likewise. + (getSuffix): Likewise. + (toString): Likewise. + (readObject): Likewise. + +2006-12-17 Mark Wielaard + + * doc/www.gnu.org/include/layout.wml: Remove gif reference. + * doc/www.gnu.org/include/macros.wml: Correct FSF contact info. + + * doc/www.gnu.org/newsitems.txt: Add 0.93. + * doc/www.gnu.org/downloads/downloads.wml: Likewise. + * doc/www.gnu.org/announce/20061211.wml: New file. + +2006-12-17 Mark Wielaard + + * examples/Makefile.am (JCOMPILER): Don't warn for deprecation, + serial, typeHiding, unchecked, unused and varargsCast. + * tools/Makefile.am (JCOMPILER): Likewise. + +2006-12-17 Mark Wielaard + + * tools/Makefile.am (TOOLS_ZIP): Don't remove .lst files immediately. + (clean-local): Remove all .lst files + * tools/.cvsignore: Add *.lst. + +2006-12-16 Roman Kennke + + * examples/gnu/classpath/examples/awt/HintingDemo.java: + New demonstration program for the autohinter. + +2006-12-16 Roman Kennke + + * gnu/java/awt/font/FontDelegate.java + (FLAG_FITTED): New constant field. + (FLAG_NO_HINT_HORIZONTAL): New constant field. + (FLAG_NO_HINT_VERTICAL): New constant field.w + (FLAG_NO_HINT_EDGE_POINTS): New constant field. + (FLAG_NO_HINT_STRONG_POINTS): New constant field. + (FLAG_NO_HINT_WEAK_POINTS): New constant field. + (TYPE_FITTED): Replaced by flags above. + (TYPE_SCALED): Replaced by flags above. + (TYPE_ORIGINAL): Replaced by flags above. + * gnu/java/awt/font/GNUGlyphVector.java + (getGlyphOutline): Use FLAG_FITTED. + * gnu/java/awt/font/autofit/AutoHinter.java + (setFlags): New method. Sets hinting flags. + * gnu/java/awt/font/autofit/GlyphHints.java + (flags): New field. + (alignStrongPoint): Use 16.16 fixed arithmetic. + (doAlignEdgePoints): New helper method. + (doAlignStrongPoints): New helper method. + (doAlignWeakPoints): New helper method. + (doHorizonal): Check flags. + (doVertical): Check flags. + * gnu/java/awt/font/autofit/Latin.java + (applyHints): Check hinting flags. + (computeEdges): Also initialize fitted position. + (scaleMetricsDim): Commented out buggy block. + * gnu/java/awt/font/opentype/Hinter.java + (setFlags): New method. + * gnu/java/awt/font/opentype/OpenTypeFont.java + (checkHinter): Accept flags parameter. + (createGlyphVector): Pass flags to hinter. + (getGlyphOutline): Pass flags to hinter. + * gnu/java/awt/font/opentype/truetype/Fixed.java + (floatValue16): New method. + * gnu/java/awt/font/opentype/truetype/Zone.java + (getX): Use new flags. + (getY): Use new flags. + +2006-12-16 Mark Wielaard + + * tools/Makefile.am (TOOLS_ZIP): Remove all-classes.lst. + (clean-local): Likewise. + +2006-12-16 Mark Wielaard + + * tools/Makefile.am (TOOLS_ZIP): Don't pass -w to JCOMPILER. + +2006-12-15 Andrew John Hughes + + * java/util/Collections.java: + (toArray()): Return Object[] as required. + (toArray(S[])): Use new type variable S rather than + the class one. + +2006-12-15 Christian Thalinger + + * m4/acinclude.m4 (CLASSPATH_FIND_JAVAC): Added support for Sun's + javac. + (CLASSPATH_WITH_JAVAC): Added. + (CLASSPATH_CHECK_JAVAC): Likewise. + * lib/Makefile.am (JAVAC): Renamed to JCOMPILER. + (FOUND_JAVAC): Added support for Sun's javac. + * examples/Makefile.am: Likewise. + * tools/Makefile.am: Likewise. + +2006-12-15 Francis Kung + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java: + (draw): Pass boolean to setAntialias. + (drawGlyphVector): Likewise. + (drawString): Likewise. + (fill): Likewise. + (setAntialias): Change signature to accept boolean. + +2006-12-15 Roman Kennke + + * gnu/java/awt/font/FontDelegate.java + (TYPE_FITTED): New constant. + (TYPE_ORIGINAL): New constant. + (TYPE_SCALED): New constant. + (getGlyphOutline): Allow the kind of outline be specified as one + of the constants above. + * gnu/java/awt/font/GNUGlyphVector.java + (getGlyphOutline(int,int)): Add type parameter for fetching + the intermediate outlines for debugging. + (getGlyphOutline(int)): Fetch TYPE_FITTED outline from font + delegate. + (getOutline(float,float,int)): Added for debugging purpose. + (performDefaultLayout): Round the advance here for better hinting. + This is only a workaround for not hinting the metrics right now. + * gnu/java/awt/font/autofit/AxisHints.java + (getEdgeIndex): New helper method. Fetches the index of + a given edge in the array. + (newEdge): Fixed sorting. + * gnu/java/awt/font/autofit/Edge.java + (pos): New field. Stores the fitted position. + (scale): New field. + (toString): More debug output. + * gnu/java/awt/font/autofit/GlyphHints.java + (alignEdgePoints): New method. Aligns the points of an outline + to their edges hinted positions. + (alignStrongPoints): New method. Aligns strong points. + (alignWeakPoints): New method. Aligns weak points. + (getPointIndex): New helper method. + (iupInterp): New helper method. Interpolates points. + (iupShift): New helper method. Shifts a complete contour. + (storePoint): New helper method. + * gnu/java/awt/font/autofit/Latin.java + (alignEdgePoints): Moved to GlyphHints. + (alignLinkedEdge): New helper method. + (alignSerifEdge): New helper method. + (alignStrongPoints): Moved to GlyphHints. + (alignWeakPoints): Moved to GlyphHints. + (applyHints): Call moved methods on GlyphHints. + (computeStemWidth): New helper method. + (doHorzSnap): New helper method. + (doVertSnap): New helper method. + (doMono): New helper method. + (doneWidth): New helper method. + (doStemAdjust): New helper method. + (hintEdges): Implemented. + (initWidths): Removed old comment. + (snapWidth): New helper method. + * gnu/java/awt/font/autofit/Width.java + (toString): More debug output. + * gnu/java/awt/font/opentype/OpenTypeFont.java + (getGlyphOutline): Add type parameter for debugging. + * gnu/java/awt/font/opentype/Scaler.java + (getOutline): Add type parameter for debugging. + * gnu/java/awt/font/opentype/truetype/Point.java + Make all flags of short type. Add new accessor methods for + coordinates that can return scaled and original shapes too. + * gnu/java/awt/font/opentype/truetype/TrueTypeScaler.java + (getOutline): Add type parameter for debugging. + * gnu/java/awt/font/opentype/truetype/Zone.java + Add type parameter to X and Y accessors. + (getPath): Add type parameter. + (getPathIterator): Likewise. + (transform): Do store transformed value in the x and y fields too. + * gnu/java/awt/font/opentype/truetype/ZonePathIterator.java + (type): New field. + (ZonePathIterator): Add type parameter. + (getSegment): Fetch coordinates with type. + (getStartSegment): Likewise. + +2006-12-15 Christian Thalinger + + * autogen.sh: Check for all 2.6x autoconf versions. + +2006-12-15 Francis Kung + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (antialias): New private field. + (ignoreAA): New private field. + (cairoSetAntialias): New native method. + (draw): Check anti-alias setting. + (drawGlyphVector): Likewise. + (drawString): Likewise. + (fill): Likewise. + (setAntialias): New private method. + (setup): Set default antialias value. + * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h: Regenerated. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c: + (gnu_java_awt_peer_gtk_CairoGraphics2D_cairoSetAntialias): New method. + +2006-12-15 Tom Tromey + + * external/jsr166/.cvsignore: Added Makefile. + +2006-12-15 Tom Tromey + + * tools/gnu/classpath/tools/serialver/SerialVer.java (addFileURL): + Genericized. + (getClassLoader): Likewise. + (classes): Likewise. + * tools/gnu/classpath/tools/native2ascii/Native2ASCII.java (main): + Removed unused variable. + * tools/gnu/classpath/tools/jar/WorkSet.java (allItems): Genericize. + (initSet): Likewise. + * tools/gnu/classpath/tools/jar/Main.java (entries): Genericize. + * tools/gnu/classpath/tools/jar/Indexer.java (indexJarFile): + Genericized. + * tools/gnu/classpath/tools/jar/Creator.java (writeFile): Close the + input stream. + (writtenItems): Genericize. + (addEntries): Likewise. + (getAllEntries): Likewise. + +2006-12-15 Tom Tromey + + PR classpath/29526: + * gnu/java/nio/ChannelInputStream.java (read): New overload. + (read): Mask return result. + +2006-12-15 Andrew Haley + + * tools/Makefile.am (TOOLS_ZIP): Pass -g -w to javac. + Create all-classes.lst that contains all source filenames. + Delete asm.lst. + + * tools/gnu/classpath/tools/jar/Creator.java (writeFile): Close + the inputStream. + +2006-12-14 David Daney + + * gnu/java/net/protocol/http/HTTPURLConnection.java: Clean + imports. + (getHeaderFields): Change return type to Map> + * gnu/java/net/protocol/http/Headers.java: Clean imports. + (headers) Change type to ArrayList. + (iterator) Change return type to Iterator. + (getValue) Remove casts. + (put) Same. + (putAll) Same. + (remove) Same. + (getAsMap) Change return type to Map> and use + generics internally. + (getHeaderName) Remove casts. + (getHeaderValue) Same. + +2006-12-14 Roman Kennke + + * gnu/java/awt/font/autofit/HintScaler.java + Renamed Scaler to HintScaler to avoid name-clash. + * gnu/java/awt/font/autofit/AutoHinter.java + (scaler): New field. + (applyHints): Scale the metrics before applying the hints. + (init): Copy font into scaler. + * gnu/java/awt/font/autofit/Edge.java + (blueEdge): New field. + (toString): Include first and last fields in debug output. + * gnu/java/awt/font/autofit/GlyphHints.java + (reload): Grab the scales here. + * gnu/java/awt/font/autofit/Latin.java + (computeBlueEdges): Implemented blue-edge detection. + (computeEdges): Correctly calculate edgeDistanceThreshold and + the scaled edge position. + (initWidths): Renamed Scaler to HintScaler. Sort widths and + store widthCount. + (scaleMetrics): Add HintScaler parameter. Implemented to scale + the metrics. + (scaleMetricsDim): New helper method. + * gnu/java/awt/font/autofit/LatinAxis.java + (orgDelta): New field. + (orgScale): New field. + * gnu/java/awt/font/autofit/LatinBlue.java: Reordered flags. + (FLAG_BLUE_ACTIVE): New flag. + * gnu/java/awt/font/autofit/Scaler.java: Renamed to HintScaler. + * gnu/java/awt/font/autofit/Script.java + (scaleMetrics): Add HintScaler argument. + * gnu/java/awt/font/autofit/ScriptMetrics.java + Renamed Scaler to HintScaler. + * gnu/java/awt/font/autofit/Utils.java + (sort(int,Width[])): New helper method. Sorts Width arrays. + (mulDiv): New helper method. + (pixFloor): New helper method. + (pixRound): New helper method. + * gnu/java/awt/font/autofit/Width.java + (toString): New method. For debug output. + * gnu/java/awt/font/opentype/truetype/Fixed.java + (mul16): New method. Multiplies with 16.16 fixed point arithmetics. + (div16): New method. Divides with 16.16 fixed point arithmetics. + (valueOf16): New method. Converts double to 16.16 fixed point. + * gnu/java/awt/font/opentype/truetype/Zone.java + (scaleX): New field. + (scaleY): New field. + (shearX): New field. + (shearY): New field. + (transform): Store translation and shearing in fields instead of + local vars. + +2006-12-14 Roman Kennke + + * gnu/java/awt/font/autofit/AutoHinter.java + (hints): New field. + (applyHints): New method. Implements the actual hinting. + * gnu/java/awt/font/autofit/AxisHints.java + (edges): New field. + (AxisHints): Initialize edges field. + (newEdge): New method. Records a new edge and sorts it into the + existing list. + * gnu/java/awt/font/autofit/Edge.java: New class. + * gnu/java/awt/font/autofit/GlyphHints.java + (GlyphHints): Initialize the scales with 1. + (doHorizontal): New method. + (doVertical): New method. + * gnu/java/awt/font/autofit/Latin.java + (alignEdgePoints): New stub method. + (alignStrongPoints): New stub method. + (alignWeakPoints): New stub method. + (applyHints): Take outline as argument. Implemented skeleton. + (computeBlueEdges): New stub method. + (computeEdges): New method. Detects edges on a glyph outline. + (detectFeatures): New methods. Performs local feature analysis. + (hintEdges): New stub method. + (initBlues): Remove debug output. + * gnu/java/awt/font/autofit/LatinAxis.java + (edgeDistanceThreshold): Changed to be an int + (as fixed-point decimal). + * gnu/java/awt/font/autofit/Script.java + (applyHints): Include the outline in the method call. + * gnu/java/awt/font/autofit/Segment.java + (FLAG_EDGE_NORMAL): Set value to 0. + (FLAG_EDGE_SERIF): New constant. + (FLAG_EDGE_DONE): New constant. + (edge): New field. + (edgeNext): New field. + * gnu/java/awt/font/opentype/Hinter.java + (applyHints): New method. Applies the hints to the specified outline. + * gnu/java/awt/font/opentype/OpenTypeFont.java + (getGlyphOutline): Check the hinter and call the scaler with the + hinter. + * gnu/java/awt/font/opentype/Scaler.java + (getOutline): Also pass a Hinter. + * gnu/java/awt/font/opentype/truetype/GlyphLoader.java + (loadCompoundGlyph): Also accept a hinter argument. + (loadGlyph): Also accept a hinter argument. + (loadSimpleGlyph): Also accept a hinter argument. Hint the + resulting outline. + (loadSubGlyph): Also accept a hinter argument. + * gnu/java/awt/font/opentype/truetype/TrueTypeScaler.java + (getOutline): Accept hinter and pass it to the loader. + (getRawOutline): Pass null hinter to the loader. + +2006-12-14 Roman Kennke + + * gnu/java/awt/font/autofit/LatinBlue.java: + New class. + +2006-12-14 Roman Kennke + + * gnu/java/awt/font/autofit/Latin.java + (CAPITAL_TOP): New constant. + (CAPITAL_BOTTOM): New constant. + (SMALL_F_TOP): New constant. + (SMALL_TOP): New constant. + (SMALL_BOTTOM): New constant. + (SMALL_MINOR): New constant. + (BLUE_MAX): New constant. + (IDENTITY): New constant transform. + (MAX_TEST_CHARS): New constant. + (TEST_CHARS): New constants. + (initBlues): Implemented. + (initWidths): Use constant identity transform for loading + the test glyph. + (isTopBlue): New helper method. + * gnu/java/awt/font/autofit/LatinAxis.java + (widths): Initialize in constructor. + (blues): New field. Stores the blue zones. + (blueCount): New field. The number of blue zones. + (LatinAxis): New constructor. + * gnu/java/awt/font/autofit/Utils.java + (sort): New helper method. + * gnu/java/awt/font/opentype/truetype/Zone.java + (getContourEnd): New helper method. + +2006-12-13 David Daney + + * java/lang/Collections.java + (UnmodifiableEntrySet.toArray): Fix bad casts. + +2006-12-13 Roman Kennke + + * gnu/java/awt/font/autofit/AutoHinter.java: New class. The entry + point into the autohinter. + * gnu/java/awt/font/autofit/AxisHints.java + (majorDir): New field. + (numEdges): New field. + (numSegments): New field. + (AxisHints): New constructor. + (newSegment): New method. Records a new segment. + * gnu/java/awt/font/autofit/Constants.java + (DIR_DOWN): New constant. + (DIR_LEFT): New constant. + (DIR_RIGHT): New constant. + (DIR_TOP): New constant. + (DIR_NONE): New constant. + * gnu/java/awt/font/autofit/GlyphHints.java + (contours): New field. + (numContours): New field. + (maxPoints): New field. + (metrics): New field. + (numPoints): New field. + (points): New field. + (GlyphHints): New constructor. + (computeInflectionPoints): New helper method. + (computeSegments): Moved to Latin. + (linkSegments): Moved to Lating. + (reload): Implemented. + (rescale): Copy the metrics. + (setWeakPoint): New helper method. + * gnu/java/awt/font/autofit/Latin.java + (MAX_WIDTH): Make package private. + (computeSegments): New method. Computes the segments to a glyph. + (initWidths): Implemented. Determines the standard widths of stems + for the font. + (linkSegments): New method. Links stem segments and determines + serif segments. + * gnu/java/awt/font/autofit/LatinMetrics.java + (LatinMetrics()): New constructor. + (LatinMetrics(OpenTypeFont)): New constructor. + * gnu/java/awt/font/autofit/ScriptMetrics.java + (ScriptMetrics): New constructor. + * gnu/java/awt/font/autofit/Segment.java + (FLAG_EDGE_NORMAL): New constant. + (FLAG_EDGE_ROUND): New constant. + (contour): New field. + (dir): New field. + (first): New field. + (flags): New field. + (index): Removed. + (last): New field. + (len): New field. + (maxPos): New field. + (minPos): New field. + (numLinked): New field. + (score): New field. + (serif): New field. + (toString): New method. For debug output. + * gnu/java/awt/font/autofit/Utils.java: New utility class. + * gnu/java/awt/font/opentype/Hinter.java: New interface for + hinter implementations. + * gnu/java/awt/font/opentype/OpenTypeFont.java + (hinter): New field. Stores the hinter for that font. + (checkHinter): Checks if a hinter is installed and installs one + if necessary. + (createGlyphVector): Check installed hinter. + * gnu/java/awt/font/opentype/truetype/Fixed.java: Make class public + for access in the autohinting package. + * gnu/java/awt/font/opentype/truetype/Point.java: New class. Stores + coordinates and additional info that describe the outline of a glyph. + * gnu/java/awt/font/opentype/truetype/Zone.java: Use Point class + for storing the points. + +2006-12-13 Tom Tromey + + * java/security/BasicPermission.java: Remove gcj workaround. + * java/security/cert/X509Certificate.java: Remove gcj workaround. + * java/net/ServerSocket.java (ServerSocket): Remove gcj + workaround. + (getImpl): Likewise. + * java/util/TreeMap.java (TreeIterator): Remove gcj workaround. + * java/text/AttributedStringIterator.java (getRunLimit): Remove + qualifications. + (getRunStart): Likewise. + * java/awt/AWTKeyStroke.java (removeEldestEntry): Remove gcj + workaround. + * java/awt/AlphaComposite.java (removeEldestEntry): Remove gcj + workaround. + * java/awt/geom/GeneralPath.java (WIND_EVEN_ODD, WIND_NON_ZERO, + BIG_VALUE): Don't fully qualify. + * gnu/javax/sound/midi/alsa/AlsaMidiSequencerDevice.java: Removed + imports. + * gnu/javax/sound/midi/alsa/AlsaPortDevice.java: Removed import. + * gnu/javax/sound/midi/dssi/DSSISynthesizer.java: Removed import. + * javax/swing/JComponent.java (firePropertyChange): Removed. + * javax/swing/text/InternationalFormatter.java (clone): + Uncomment. + * javax/swing/text/AbstractDocument.java (addEdit): Remove gcj + workaround. + (getChange): Likewise. + +2006-12-13 Tom Tromey + + * examples/Makefile.am: Removed gcjx code. + * lib/Makefile.am: Removed gcjx code. + * tools/Makefile.am: Removed gcjx code. + * m4/acinclude.m4 (CLASSPATH_FIND_JAVAC): Removed gcjx code. + (CLASSPATH_WITH_GCJX): Removed. + (CLASSPATH_CHECK_GCJX): Likewise. + +2006-12-13 Tom Tromey + + * tools/toolwrapper.c (MAINCLASS): New define. + (main): Use it. + * tools/Makefile.am (gnative2ascii_CFLAGS): Added -D for + MAINCLASS. + (gserialver_CFLAGS): Likewise. + * tools/gnative2ascii.in: Main class is named Native2ASCII. + * tools/gserialver.in: Main class is named SerialVer. + +2006-12-12 Roman Kennke + + * javax/imageio/FileCacheImageOutputStream.java + (cache): New field. The actual cache as RandomAccessFile. + (cacheDir): Removed. Not needed at all. + (cacheFile): New field. The cache file. + (maxPos): New field. Stores the maximum position. + (FileCacheImageOutputStream): Initialize cache file. + (checkStreamClosed): Removed. This should be done by the super + method checkClosed(). + (close): Properly close the stream and delete the cache. + (flushBefore): Implemented to also flush the cache. + (length): Implemented to return the length of the cache. + (read()): Implemented to read from the cache. + (read(byte[],int,int)): Likewise. + (seek): Implemented to seek the cache too. + (write(int)): Write to cache. + (write(byte[],int,int)) + +2006-12-12 Francis Kung + + PR 30155 + * javax/imageio/spi/IIORegistry.java (IIORegistry): Register Toolkit SPIs. + +2006-12-12 Andrew John Hughes + + * javax/management/AttributeList.java: + Extend ArrayList. + +2006-12-12 Andrew John Hughes + + PR classpath/30154: + * javax/management/MBeanServer.java: + (createMBeanServer(String)): Check for a null + builder. + +2006-12-11 Roman Kennke + + * java/awt/print/PrinterJob.java + (lookupStreamPrintServices): Uncommented and fixed parameters. + +2006-12-11 Roman Kennke + + * java/awt/datatransfer/SystemFlavorMap.java + (flavorToNativeMap): Make typesafe. + (nativeToFlavorMap): Make typesafe. + (SystemFlavorMap): Read in mapping by reading the flavormap.properties. + (addFlavorForUnencodedNative): Access maps in a typesafe way. + (addUnencodedNativeForFlavor): Access maps in a typesafe way. + (getFlavorsForNative): Implemented. + (getNativesForFlavor): Implemented. + (setupMapping): New helper method. + +2006-12-11 Jeroen Frijters + + * javax/net/ssl/SSLSocketFactory.java (getDefault): + Chain exception cause. + +2006-12-11 Roman Kennke + + * .classpath: Include ASM in Eclipse classpath. + +2006-12-11 Andrew John Hughes + + * gnu/java/lang/management/BeanImpl.java: + (translate(String)): Trim strings of whitespace. + * javax/management/MBeanAttributeInfo.java: + (MBeanAttributeInfo(String,String,Method,Method)): + Use Class.getName() for normal (non-parameterized) cases. + * javax/management/MBeanConstructorInfo.java: + (MBeanConstructorInfo(String, Constructor)): + Likewise. + * javax/management/MBeanOperationInfo.java: + (MBeanOperationInfo(String, Method)): + Likewise. + +2006-12-11 Andrew John Hughes + + * java/lang/Class.java: + (getClasses()): Return Class[]. + (internalGetClasses()): Likewise. + (getConstructor(Class...)): Add type parameter + to parameters. + (getDeclaredConstructor(Class...)): Likewise. + (getDeclaredClasses()): Return Class[]. + (getDeclaredClasses(boolean)): Likewise. + (getDeclaredConstructors()): Return Constructor[]. + (getDeclaredConstructors(boolean)): Likewise. + (getDeclaredMethod(String,Class...)): Add type + parameter to parameters. + (getInterfaces()): Return Class[]. + (getMethods(String,Class...)): Add type + parameter to parameters. + * java/text/CollationKey.java: + Make non-final. + * java/text/DecimalFormatSymbols.java: + Likewise. + +2006-12-11 Andrew John Hughes + + * gnu/java/lang/management/BeanImpl.java: + (translate(String)): Handle Map and List as + Strings of the form "java.util.Map" and + "java.util.List" + * javax/management/MBeanAttributeInfo.java: + (MBeanAttributeInfo(String,String,Method,Method)): + Use generic parameter and return types. + * javax/management/MBeanConstructorInfo.java: + (MBeanConstructorInfo(String, Constructor)): + Use generic parameter types. + * javax/management/MBeanOperationInfo.java: + (MBeanOperationInfo(String, Method)): + Use generic parameter and return types. + +2006-12-10 Andrew John Hughes + + * gnu/java/lang/management/BeanImpl.java: + (translate(String)): Comment out code for using type + variables for Map and List. + * java/lang/Thread.java: + (Thread(ThreadGroup,Runnable,String,long)): Fix + incrementation of totalThreadsCreated to be prior to use. + +2006-12-10 Andrew John Hughes + + * javax/management/MBeanServerFactory.java: + (createMBeanServer(String)): Added security check. + (findMBeanServer(String)): Likewise. + (newMBeanServer(String)): Likewise. + (releaseMBeanServer(String)): Likewise. + * javax/management/MBeanServerPermission.java: + New file. + +2006-12-08 David Daney + + * native/jni/java-nio/gnu_java_nio_VMChannel.c (is_non_blocking_fd): + Fix comment. + +2006-12-08 David Daney + + * NEWS: Mention URLConnection.[get|set]ReadTimeout. + +2006-12-08 David Daney + + * gnu/java/net/protocol/http/HTTPConnection.java (imports): Add + SocketException. + (HTTPConnection): Handle NumberFormatException in properties parsing. + (Pool.get): Set timeout on reused sockets. + * gnu/java/net/protocol/http/HTTPURLConnection.java (proxyPort): + Initialize. + (HTTPURLConnection): Cleanup properties handling. + (getConnection): Use both connection and read timeouts. + (setConnectTimeout): Removed. + (setReadTimeout): New method. + * java/net/URLConnection.java (timeout): Renamed to... + (connectTimeout): ... connectTimeout throughout. + (readTimeout): New field. + (getReadTimeout): New method. + (setReadTimeout): New method. + +2006-12-08 Tania Bento + + * java/awt/ScrollPane.java + (doLayout): Change the location of the scrollpane's child + to (0, 0). + +2006-12-08 David Daney + + * native/jni/java-nio/gnu_java_nio_VMChannel.c (is_non_blocking_fd): + New method. + (Java_gnu_java_nio_VMChannel_read__ILjava_nio_ByteBuffer_2): Throw + SocketTimeoutException if a blocking socket timesout. + (Java_gnu_java_nio_VMChannel_readScattering): Same. + (Java_gnu_java_nio_VMChannel_read__I): Same. + (Java_gnu_java_nio_VMChannel_connect): Initialize the fd set. + (Java_gnu_java_nio_VMChannel_connect6): Same. + +2006-12-08 Mark Wielaard + + * configure.ac (VERSION): Set to 0.93-generics. + * NEWS: Add release date. + +2006-12-08 Tania Bento + + * java/awt/ScrollPane.java + (getScrollPosition): Throw NullPointerException if scrollpane + does have a child. + (setScrollPosition(int, int)): Throw NullPointerException if + scrollpane does have a child. Check that both ints are within + the allowed bounds; If they are not, scroll to the closest allowed + bound. + +2006-12-07 Roman Kennke + + * javax/swing/JEditorPane.java + (EditorKitMapping): New inner helper class. + (editorKits): New static field for caching editor kit instances. + (static_initiazer): Initialize static mappings here. + (createEditorKitForContentType): Try to use cached instance. + Use correct classloader for loading. + (getEditorKitClassNameForContentType): Make use of EditorKitMapping + class. + (getEditorKitForContentType): Store the fetched editor kit. + Fallback to createDefaultEditorKit(). + (init): Don't clean the static registry here. + (registerEditorKitForContentType(String,String,ClassLoader)): + Implemented. + (registerEditorKitForContentType(String,String)): Delegate to + the other version of this method with the thread's context + classloader. + +2006-12-07 Mark Wielaard + + * examples/gnu/classpath/examples/swing/HtmlDemo.java + (setPage): Don't convert URL to String for setPage(). + +2006-12-07 Mark Wielaard + + * tools/Makefile.am (clean-local): Remove iasm and asm.lst. + +2006-12-07 Mark Wielaard + + * tools/Makefile.am: Explicitly define and use bootclasspath as + GLIBJ_BOOTCLASSPATH + +2006-12-07 Mark Wielaard + + * javax/swing/JEditorPane.java (createEditorKitForContentType): + Always load from system class loader. + +2006-12-07 Mark Wielaard + + * java/net/URL.java (URL(URL,String,URLStreamHandler,boolean)): New + private constructor. + (URL(URL,String,URLStreamHandler)): Call new constructor. + (URL(URL,String)): Likewise. + (URL(String)): Likewise. + +2006-12-07 Tom Tromey + + * NEWS: Mention ASM. + * INSTALL: Don't mention --with-asm. + * tools/external/README: New file. + * tools/toolwrapper.c (main): Don't use ASM_JAR. + * tools/gjavah.in: Don't use PATH_TO_ASM. + * tools/grmic.in: Likewise. + * tools/Makefile.am (GLIBJ_CLASSPATH): Removed PATH_TO_ASM, added + 'asm'. + (javah, rmic): Removed variables. + (bin_PROGRAMS): Updated. + (gappletviewer_CFLAGS): Don't define ASM_JAR. + (gjarsigner_CFLAGS): Likewise. + (gkeytool_CFLAGS): Likewise. + (gjar_CFLAGS): Likewise. + (gnative2ascii_CFLAGS): Likewise. + (gserialver_CFLAGS): Likewise. + (grmiregistry_CFLAGS): Likewise. + (gtnameserv_CFLAGS): Likewise. + (gorbd_CFLAGS): Likewise. + (grmid_CFLAGS): Likewise. + (gjavah_CFLAGS): Likewise. + (grmic_CFLAGS): Likewise. + (bin_SCRIPTS): Updated. + (TOOLS_JAVA_FILES): Updated. + ($(TOOLS_ZIP)): Compile ASM sources. Copy resource files. + * configure.ac: Removed --with-asm. Always build gjavah. + +2006-12-06 Roman Kennke + + * examples/gnu/classpath/examples/swing/BrowserEditorKit.java: + New class. + * examples/gnu/classpath/examples/swing/HtmlDemo.java + (LoadActionListener): Call setPage() helper method. + (createContent): Register tweaked editor kit. For FormSubmitEvents + call submitForm(), otherwise setPage(). + (postData): Helper method for posting form data. + (setPage): Helper method for navigating to a new URL. + (submitForm): Helper method for submitting a form. + * examples/gnu/classpath/examples/swing/forms.html: + Added text/password fields and select boxes. + * examples/gnu/classpath/examples/swing/welcome.html: Fixed typo. + +2006-12-06 Roman Kennke + + * javax/swing/text/html/FormView.java + (SubmitThread.postData): Implemented. + (SubmitThread.run): Pass data to postData(). + (actionPerformed): Reset form when reset button is activated. + (createComponent): Add support for select lists and comboboxes. + Don't set value of text and password fields here, this is done + now in HTMLDocument for consistency. + (getElementFormData): Add support for fetching form data from + select lists and comboboxes as well as textareas. + (getSelectData): New helper method. Fetches form data from + select boxes. + (getTextAreaData): New helper method. Fetches form data from + textareas. + (resetForm): New helper method. Resets the entire form. + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.FormAction.end): Handle SELECT and OPTION tags. + (HTMLReader.FormAction.start): Handle SELECT and OPTION tags. + (HTMLReader.FormAction.setModel): Initialize text and password + values here. Also, use the resetable special models. + Group radio buttons into ButtonGroup for exclusive selection. + (HTMLReader.FormTagAction): New class. Handles FORM tags. + (HTMLReader.buttonGroups): New field. + (HTMLReader.numOptions): New field. + (HTMLReader.option): New field. + (HTMLReader.selectModel): New field. + (HTMLReader.textAreaDocument): Make ResetablePlainDocument. + (HTMLReader.handleText): Handle OPTION text. + (HTMLReader.initTags): Map FORM tags to FormTagAction. + (HTMLReader.textAreaContent): Set initial content. + * javax/swing/text/html/Option.java + (Option): Make copy of attribute set. Initialize selected state. + (getValue): Fetch value from attribute set. + * javax/swing/text/html/ResetableModel.java: New interface. + * javax/swing/text/html/ResetablePlainDocument.java: New class. + Supports resetting the state. + * javax/swing/text/html/ResetableToggleButtonModel.java: Likewise. + * javax/swing/text/html/SelectComboBoxModel.java: Likewise. + * javax/swing/text/html/SelectListModel.java: Likewise. + +2006-12-06 Roman Kennke + + * javax/swing/text/DefaultCaret.java + (appear): Adjust visibility here. + (setDotImpl): Don't adjust visibility here. + (moveDotImpl): Don't adjust visibility here. + +2006-12-06 Roman Kennke + + * gnu/java/awt/peer/gtk/AsyncImage.java + (Loader.run): Synchronize on the AsyncImage to avoid threading + issues. + (addObservers): Check for obs==null outside and synchronize on + this inside to avoid locking issues. + (checkImage): New helper method. + (notifyObservers): Check that the correct lock is held and + remove actual locking. + * gnu/java/awt/peer/gtk/GtkToolkit.java + (checkImage): Added special handling for AsyncImages. + +2006-12-06 Roman Kennke + + * examples/gnu/classpath/examples/swing/Demo.java + (getIcon): Made package private. + * examples/gnu/classpath/examples/swing/HtmlDemo.java + (hyperlinkUpdate): Convert URL to string. + +2006-12-06 Mark Wielaard + + * gnu/java/awt/peer/gtk/AsyncImage.java (addObserver): Never notify + null Observer. + +2006-12-06 Roman Kennke + + * examples/gnu/classpath/examples/icons/back.png, + * examples/gnu/classpath/examples/icons/reload.png: + New icons for the HTML browser. + * examples/gnu/classpath/examples/swing/HtmlDemo.java + (history): New field. Manages the browsing history. + (HtmlDemo): Initialize history. + (createContent): Set location and add history. Add toolbar. + (createToolBar): New helper method. + (main): Make default size bigger. + * examples/gnu/classpath/examples/swing/frame1.html, + * examples/gnu/classpath/examples/swing/frame2.html, + * examples/gnu/classpath/examples/swing/frame3.html, + * examples/gnu/classpath/examples/swing/frame4.html, + * examples/gnu/classpath/examples/swing/frames.html, + * examples/gnu/classpath/examples/swing/tables.html: + New example pages. + * examples/gnu/classpath/examples/swing/welcome.html + Add a couple of links and new test pages. + +2006-12-06 Roman Kennke + + * javax/swing/JEditorPane.java + (getStream): Buffer the stream for efficiency. + (setPage): Don't scroll the view at this point. + * javax/swing/plaf/basic/BasicTextUI.java + (RootView.paint): Call RootView's setSize to get synchronization. + (RootView.setSize): Synchronize to prevent race in layout code. + * javax/swing/text/AbstractDocument.java + (notifyListeners): New field. + (fireChangedUpdate): Track notifyListener field. + (fireRemoveUpdate): Track notifyListener field. + (fireIndertUpdate): Track notifyListener field. + (writeLock): Check notifyListener and throw IllegalStateException. + * javax/swing/text/View.java + (preferenceChanged): Create local var for better thread safety and + more efficiency. + +2006-12-06 Thomas Fitzsimmons + + * java/awt/ScrollPane.java (addNotify): Add a parent panel for any + lightweight component, not just for non-Panel components. + (addImpl): Do not call doLayout. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c + (setNativeBounds): Ensure widget parent is a GtkFixed before + calling gtk_fixed_move. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c + (setNativeBounds): Likewise. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c + (setNativeBounds): Likewise. + +2006-12-06 Roman Kennke + + * javax/swing/text/html/TableView.java + (RowView.layoutMajorAxis): Check column index for invalid value. + (updateGrid): Check column index for invalid value. + +2006-12-06 Roman Kennke + + * javax/swing/text/html/BlockView.java + (getAlignment): Align blocks horizontally by the superclass. + * javax/swing/text/html/HTMLEditorKit.java + (HTMLFactory.create): Replace equals comparison by == for efficiency. + Add mapping for misplaced tr, td and th tags. Include object mapping. + * javax/swing/text/html/TableView.java + (RowView.replace): Invalidate grid early. + (gridValid): Initialize with false. + (create): Only create RowView and CellView for correctly placed + tags. Avoid unnecessary casts. + (getAlignment): Removed. + (replace): Invalidate grid early. + +2006-12-06 Francis Kung + + * java/awt/geom/RectangularShape.java + (getBounds): Remove empty rectangle check. + +2006-12-06 Ben Konrath + + Fixes PR 29853. + * gnu/xml/dom/DomAttr.java: Don't report mutation if oldValue and + newValue are the same. + * gnu/xml/dom/DomNode.java: Set parent if null during mutation. + +2006-12-06 Tania Bento + + * javax/swing/border/CompoundBorder.java: + (isBorderOpaque): If inside border is null, return true if outside + border is opaque, false otherwise; if outside border is null, return + true if inside border is opaque, false otherwise; if inside or + outside border are both not null, then return true only if both the + inside and outside border are opaque, false otherwise. + +2006-12-06 Tania Bento + + * javax/swing/border/CompoundBorder.java: + (isBorderOpaque): If inside and outside border both have a null + value, return true. + +2006-12-06 Chris Burdess + + Fixes PR 29272. + * javax/xml/parsers/DocumentBuilderFactory.java: Fix broken Javadoc. + * gnu/xml/stream/SAXParser.java: Fix file descriptor leak. + +2006-12-06 Chris Burdess + + Fixes PR 29264. + * gnu/xml/stream/XMLStreamWriterImpl.java: Allow arbitrary text in + writeDTD method. + +2006-12-06 Chris Burdess + + Fixes PR 28816. + * javax/xml/validation/SchemaFactory.java: Use correct algorithm to + discover schema factory implementation class. + +2006-12-05 Francis Kung + + * java/awt/BasicStroke.java + (capEnd): Prevent division by zero. + * java/awt/geom/Arc2D.java + (ArcIterator.ArcIterator): Do not shift the arc to make the extent positive. + (ArcIterator.currentSegment): Handle a negative extent. + +2006-12-05 Francis Kung + + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java + (constructor): Handle translated subimages properly, ie, if the image's + 0,0 position is not the data buffer's first element. + +2006-12-05 Roman Kennke + + * gnu/java/awt/peer/gtk/AsyncImage.java + (Loader.run): Nullify observers after loading. + (observers): Made package private. + (addObserver): Check for null observers field. Create local + variable for thread safety. + (getHeight): Use addObserver() for checking state of field + and notifying observer when necessary. + (getWidth): Use addObserver() for checking state of field + and notifying observer when necessary. + (getProperty): Use addObserver() for checking state of field + and notifying observer when necessary. + (notifyObservers): Check for null observers field. Create local + variable for thread safety. + +2006-12-05 Roman Kennke + + * javax/swing/text/html/HTMLEditorKit.java + (HTMLFactory.create): Removed debug output. + * javax/swing/text/html/InlineView.java + (getBreakWeight): Likewise. + * javax/swing/text/html/StyleSheet.java + (addRule): Likewise. + (ListPainter.paint): Removed debug output. + +2006-12-05 Roman Kennke + + * javax/swing/text/html/BlockView.java + (painter): Made package visible. + * javax/swing/text/html/StyleSheet.java + (translateBorder): New helper method. + (translateHTMLToCSS): Add mappings for border attributes. + * javax/swing/text/html/TableView.java + Made class subclass of BlockView to get CSS goodness. + (CellView.rowSpan): New field. + (CellView.setPropertiesFromAttributes): Fetch rowspan. + (RowView.overlap): New field. + (RowView.rowIndex): New field. + (RowView.layoutMajorAxis): Skip overlapping cells. + (RowView.layoutMinorAxis): Layout cells that span more than 1 row. + (numColumns): New field. + (tmpRect): New field. + (TableView): Initialize tmpRect. + (calculateColumnRequirements): Adjusted and fixed for multirows. + (getAlignment): Overridden to center tables. + (paint): Overridden to fix clipping. + (getStyleSheet): Made protected. + (layoutMajorAxis): Invalidate rows. + (setPropertiesFromAttributes): Made protected and call super. + (updateGrid): Update the overlapping information for multirows. + +2006-12-05 Roman Kennke + + * gnu/java/awt/peer/gtk/AsyncImage.java + (addObserver): Check for null and ignore null observers. + (getWidth): Check for null and ignore null observers. + (getHeight): Check for null and ignore null observers. + (getProperty): Check for null and ignore null observers. + +2006-12-05 Francis Kung + + * java/awt/BasicStroke.java + (capEnd): Prevent division by zero. + * java/awt/geom/Arc2D.java + (ArcIterator.ArcIterator): Do not shift the arc to make the extent positive. + (ArcIterator.currentSegment): Handle a negative extent. + +2006-12-05 Francis Kung + + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java + (constructor): Handle translated subimages properly, ie, if the image's + 0,0 position is not the data buffer's first element. + +2006-12-05 Roman Kennke + + * javax/swing/text/html/ImageView.java + (imageUpdate): Use spans field to determine if the CSS width/height + are set. Call safePreferenceChanged to protect view structure + from threading issues. + (spans): Made package private. + (ImageView): Initialize loadOnDemand with false. + (loadImage): Call Toolkit.prepareImage() to make sure we have + our Observer registered. + (safePreferenceChanged): New helper method. Calls preferenceChanged + in a thread safe environment. + +2006-12-05 Roman Kennke + + * NEWS: Add entry about improved HTML support. + +2006-12-05 Roman Kennke + + * javax/swing/text/html/ImageView.java + (ImageView): Initialize spans array here. + (setPropertiesFromAttributes): Moved init of spans array to + constructor. + +2006-12-05 Roman Kennke + + * javax/swing/text/html/BlockView.java + (painter): Made package visible. + * javax/swing/text/html/StyleSheet.java + (translateBorder): New helper method. + (translateHTMLToCSS): Add mappings for border attributes. + * javax/swing/text/html/TableView.java + Made class subclass of BlockView to get CSS goodness. + (CellView.rowSpan): New field. + (CellView.setPropertiesFromAttributes): Fetch rowspan. + (RowView.overlap): New field. + (RowView.rowIndex): New field. + (RowView.layoutMajorAxis): Skip overlapping cells. + (RowView.layoutMinorAxis): Layout cells that span more than 1 row. + (numColumns): New field. + (tmpRect): New field. + (TableView): Initialize tmpRect. + (calculateColumnRequirements): Adjusted and fixed for multirows. + (getAlignment): Overridden to center tables. + (paint): Overridden to fix clipping. + (getStyleSheet): Made protected. + (layoutMajorAxis): Invalidate rows. + (setPropertiesFromAttributes): Made protected and call super. + (updateGrid): Update the overlapping information for multirows. + +2006-12-05 Roman Kennke + + * javax/swing/text/html/HTMLEditorKit.java + (HTMLFactory.create): Removed debug output. + * javax/swing/text/html/InlineView.java + (getBreakWeight): Likewise. + * javax/swing/text/html/StyleSheet.java + (addRule): Likewise. + (ListPainter.paint): Removed debug output. + +2006-12-06 Roman Kennke + + * javax/swing/text/html/BlockView.java + (getAlignment): Align blocks horizontally by the superclass. + * javax/swing/text/html/HTMLEditorKit.java + (HTMLFactory.create): Replace equals comparison by == for efficiency. + Add mapping for misplaced tr, td and th tags. Include object mapping. + * javax/swing/text/html/TableView.java + (RowView.replace): Invalidate grid early. + (gridValid): Initialize with false. + (create): Only create RowView and CellView for correctly placed + tags. Avoid unnecessary casts. + (getAlignment): Removed. + (replace): Invalidate grid early. + + +2006-12-06 Roman Kennke + + * javax/swing/text/html/TableView.java + (RowView.layoutMajorAxis): Check column index for invalid value. + (updateGrid): Check column index for invalid value. + +2006-12-06 Roman Kennke + + * javax/swing/JEditorPane.java + (getStream): Buffer the stream for efficiency. + (setPage): Don't scroll the view at this point. + * javax/swing/plaf/basic/BasicTextUI.java + (RootView.paint): Call RootView's setSize to get synchronization. + (RootView.setSize): Synchronize to prevent race in layout code. + * javax/swing/text/AbstractDocument.java + (notifyListeners): New field. + (fireChangedUpdate): Track notifyListener field. + (fireRemoveUpdate): Track notifyListener field. + (fireIndertUpdate): Track notifyListener field. + (writeLock): Check notifyListener and throw IllegalStateException. + * javax/swing/text/View.java + (preferenceChanged): Create local var for better thread safety and + more efficiency. + +2006-12-06 Roman Kennke + + * examples/gnu/classpath/examples/icons/back.png, + * examples/gnu/classpath/examples/icons/reload.png: + New icons for the HTML browser. + * examples/gnu/classpath/examples/swing/HtmlDemo.java + (history): New field. Manages the browsing history. + (HtmlDemo): Initialize history. + (createContent): Set location and add history. Add toolbar. + (createToolBar): New helper method. + (main): Make default size bigger. + * examples/gnu/classpath/examples/swing/frame1.html, + * examples/gnu/classpath/examples/swing/frame2.html, + * examples/gnu/classpath/examples/swing/frame3.html, + * examples/gnu/classpath/examples/swing/frame4.html, + * examples/gnu/classpath/examples/swing/frames.html, + * examples/gnu/classpath/examples/swing/tables.html: + New example pages. + * examples/gnu/classpath/examples/swing/welcome.html + Add a couple of links and new test pages. + +2006-12-06 Roman Kennke + + * examples/gnu/classpath/examples/swing/Demo.java + (getIcon): Made package private. + * examples/gnu/classpath/examples/swing/HtmlDemo.java + (hyperlinkUpdate): Convert URL to string. + +2006-12-06 Roman Kennke + + * javax/swing/text/DefaultCaret.java + (appear): Adjust visibility here. + (setDotImpl): Don't adjust visibility here. + (moveDotImpl): Don't adjust visibility here. + +2006-12-06 Roman Kennke + + * javax/swing/text/html/FormView.java + (SubmitThread.postData): Implemented. + (SubmitThread.run): Pass data to postData(). + (actionPerformed): Reset form when reset button is activated. + (createComponent): Add support for select lists and comboboxes. + Don't set value of text and password fields here, this is done + now in HTMLDocument for consistency. + (getElementFormData): Add support for fetching form data from + select lists and comboboxes as well as textareas. + (getSelectData): New helper method. Fetches form data from + select boxes. + (getTextAreaData): New helper method. Fetches form data from + textareas. + (resetForm): New helper method. Resets the entire form. + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.FormAction.end): Handle SELECT and OPTION tags. + (HTMLReader.FormAction.start): Handle SELECT and OPTION tags. + (HTMLReader.FormAction.setModel): Initialize text and password + values here. Also, use the resetable special models. + Group radio buttons into ButtonGroup for exclusive selection. + (HTMLReader.FormTagAction): New class. Handles FORM tags. + (HTMLReader.buttonGroups): New field. + (HTMLReader.numOptions): New field. + (HTMLReader.option): New field. + (HTMLReader.selectModel): New field. + (HTMLReader.textAreaDocument): Make ResetablePlainDocument. + (HTMLReader.handleText): Handle OPTION text. + (HTMLReader.initTags): Map FORM tags to FormTagAction. + (HTMLReader.textAreaContent): Set initial content. + * javax/swing/text/html/Option.java + (Option): Make copy of attribute set. Initialize selected state. + (getValue): Fetch value from attribute set. + * javax/swing/text/html/ResetableModel.java: New interface. + * javax/swing/text/html/ResetablePlainDocument.java: New class. + Supports resetting the state. + * javax/swing/text/html/ResetableToggleButtonModel.java: Likewise. + * javax/swing/text/html/SelectComboBoxModel.java: Likewise. + * javax/swing/text/html/SelectListModel.java: Likewise. + +2006-12-06 Roman Kennke + + * examples/gnu/classpath/examples/swing/BrowserEditorKit.java: + New class. + * examples/gnu/classpath/examples/swing/HtmlDemo.java + (LoadActionListener): Call setPage() helper method. + (createContent): Register tweaked editor kit. For FormSubmitEvents + call submitForm(), otherwise setPage(). + (postData): Helper method for posting form data. + (setPage): Helper method for navigating to a new URL. + (submitForm): Helper method for submitting a form. + * examples/gnu/classpath/examples/swing/forms.html: + Added text/password fields and select boxes. + * examples/gnu/classpath/examples/swing/welcome.html: Fixed typo. + +2006-12-07 Mark Wielaard + + * java/net/URL.java (URL(URL,String,URLStreamHandler,boolean)): New + private constructor. + (URL(URL,String,URLStreamHandler)): Call new constructor. + (URL(URL,String)): Likewise. + (URL(String)): Likewise. + +2006-12-07 Mark Wielaard + + * javax/swing/JEditorPane.java (createEditorKitForContentType): + Always load from system class loader. + +2006-12-06 Ben Konrath + + Fixes PR 29853. + * gnu/xml/dom/DomAttr.java: Don't report mutation if oldValue and + newValue are the same. + * gnu/xml/dom/DomNode.java: Set parent if null during mutation. + +2006-12-06 Chris Burdess + + Fixes PR 29272. + * javax/xml/parsers/DocumentBuilderFactory.java: Fix broken Javadoc. + * gnu/xml/stream/SAXParser.java: Fix file descriptor leak. + +2006-12-06 Chris Burdess + + Fixes PR 29264. + * gnu/xml/stream/XMLStreamWriterImpl.java: Allow arbitrary text in + writeDTD method. + +2006-12-056 Chris Burdess + + Fixes PR 28816. + * javax/xml/validation/SchemaFactory.java: Use correct algorithm to + discover schema factory implementation class. + +2006-12-05 Roman Kennke + + * gnu/java/awt/peer/gtk/AsyncImage.java: New class. Supports + asynchronous loading of images. + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (drawImage): Fetch real image from possibly AsyncImage. + * gnu/java/awt/peer/gtk/ComponentGraphics.java + (drawImage): Fetch real image from possibly AsyncImage. + * gnu/java/awt/peer/gtk/GtkToolkit.java + (createImage(URL)): Create async image. + (imageOrError): Made method static for easy access from AsyncImage. + (prepareImage): For async images, register the observer to the + image. + +2006-12-05 Roman Kennke + + (paintComponent): Include paint area from event. + (updateComponent): Include paint area from event. + +2006-12-06 Thomas Fitzsimmons + + * java/awt/ScrollPane.java (addNotify): Add a parent panel for any + lightweight component, not just for non-Panel components. + (addImpl): Do not call doLayout. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c + (setNativeBounds): Ensure widget parent is a GtkFixed before + calling gtk_fixed_move. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c + (setNativeBounds): Likewise. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c + (setNativeBounds): Likewise. + +2006-12-04 Thomas Fitzsimmons + + * java/awt/Component.java (getFontImpl): Return a default font if + topmost parent's font is null. + +2006-12-04 Mark Wielaard + + * javax/swing/text/html/CSS.java (parseMarginShorthand): + Remove debug output. + +2006-12-04 Roman Kennke + + * java/awt/font/TextLayout.java + (hitTestChar): Fixed conditions for inclusion of range. + Use layout information in the run for more efficiency. + +2006-12-04 Roman Kennke + + * javax/swing/text/GlyphView.java + (J2DGlyphPainter): New inner class. + (checkPainter): For Java2D capable environments create + a J2DGlyphPainter. + +2006-12-04 Roman Kennke + + * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java + (FreeTypeGlyphVector): Don't filter control chars here. + (getGlyphs): Filter control chars and replace them by + hair space char. + +2006-12-04 Roman Kennke + + * native/jni/java-nio/gnu_java_nio_VMChannel.c + (Java_gnu_java_nio_VMChannel_connect): Retry on EINTR. + +2006-12-04 Andrew John Hughes + + * gnu/java/lang/management/BeanImpl.java: + (translate(String)): Don't assume the list uses "E", + just use the first and only type variable. + * java/lang/management/ManagementFactory.java: + (getPlatformMBeanServer()): Register logging bean. + * javax/management/openmbean/OpenType.java: + (OpenType(String,String,String)): Actually use + the string created to handle arrays. + +2006-12-04 Mark Wielaard + + * native/jni/java-nio/gnu_java_nio_VMChannel.c + (JCL_thread_interrupted): Use CallStaticBooleanMethod. + +2006-12-04 Mark Wielaard + + * vm/reference/gnu/java/nio/VMChannel.java (isThreadInterrupted): + Make static. + * native/jni/java-nio/gnu_java_nio_VMChannel.c + (JCL_thread_interrupted): Only take JNIEnv. + (vm_channel_class): New static variable. + (initID): Set vm_channel_class. + Wrap all reads() and writes() in do-while blocks that check + interrupted status. + +2006-12-04 Andrew John Hughes + + * gnu/javax/management/Server.java: + Make map final and initialise it. + (unregisterMBean(ObjectName)): Match against + delegate's object name and not the instance. + * java/lang/management/ManagementFactory.java: + Added constant fields. + (getPlatformMBeanServer()): Implemented. + * javax/management/MBeanServerFactory.java: New file. + +2006-12-04 Roman Kennke + + * javax/swing/text/BoxView.java + (paint): Replaced painting algorithm with more simple and more + reliable painting of the box. + * javax/swing/text/html/BlockView.java + (PositionInfo): New inner class. Stores additional CSS + positioning information. + (positionInfo): New field. + (BlockView): Initialize positionInfo field. + (fetchLayoutInfo): New helper method. Fetches additional + CSS positioning information. + (layoutMajorAxis): Perform additional CSS layout. + (layoutMinorAxis): Perform additional CSS layout. + (positionView): New helper method. + (replace): Overridden to fetch additional layout information. + * javax/swing/text/html/CSS.java + (Attribute.POSITION): New field. + (Attribute.LEFT): New field. + (Attribute.RIGHT): New field. + (Attribute.TOP): New field. + (Attribute.BOTTOM): New field. + (getValue): Create Length for left, right, top and bottom + attributes. + +2006-12-04 Roman Kennke + + * gnu/javax/swing/text/html/parser/support/Parser.java + (Sgml): Consume any whitespace that immediately follows + and sgml insertion. + (parseDocument): Consume any initial whitespace. + +2006-12-03 Mark Wielaard + + * gnu/javax/management/Server.java (beans): Initialize. + (registerMBean): Don't initialize beans. + +2006-12-03 Mark Wielaard + + * java/util/logging/LogManager.java (getLevelProperty): Check + whether value is null before passing to Level.parse(). + +2006-12-04 Robert Lougher + + * java/lang/management/ThreadInfo.java (ThreadInfo): Check + whether given a null lock and lockOwner. + +2006-12-03 Mark Wielaard + + * javax/swing/JEditorPane.java (PageLoader.in): Made a PageStream. + (PageLoader.page): Made package local. + (PageLoader.run): Don't reset loader. + (PageLoader.cancel): New method. + (loading): Renamed to loader. + (getPage): Return loader.page. + (setPage): Always set loader. Never reset to null. + +2006-12-03 Mark Wielaard + + * javax/swing/plaf/basic/BasicTreeUI.java (paint): Check whether + path[k] is null. + (isLastChild): Return false when path is null. + +2006-12-03 Mark Wielaard + + * gnu/java/awt/peer/gtk/GtkComponentPeer.java (paintArea): Renamed + to currentPaintArea. + (paintComponent): Work with local reference to currentPaintArea. + (updateComponent): Likewise. + (coalescePaintEvent): Set currentPaintArea. + +2006-12-02 Andrew John Hughes + + * javax/management/MBeanServerBuilder.java: New file. + +2006-12-01 Mark Wielaard + + * java/text/DecimalFormat.java (parse): Always increment parsing + index and adjust pos result. + +2006-12-01 Roman Kennke + + * javax/swing/text/html/HTML.java + (Attribute.DYNAMIC_CLASS): New field. + (Attribute.PSEUDO_CLASS): New field. + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.CharacterAction.start): Initialize anchor with link + pseudo attribute. + (updateSpecialClass): New helper method. Updates the dynamic + or pseudo class for anchor tags. + * javax/swing/text/html/HTMLEditorKit.java + (LinkController.lastAnchorElement): New field. For tracking + enter/exit of anchors. + (LinkController.activateLink): Set pseudo class to 'visited'. + (LinkController.mouseMoved): Added support for tracking + the 'hover' dynamic class. + * javax/swing/text/html/InlineView.java + (changedUpdate): Fetch new properties. + * javax/swing/text/html/StyleSheet.java + (attributeSetToMap): New helper method. + (getRule): Also append dynamic and pseudo class to key. + (resolveStyle): Resolve style based generally on all attributes. + * javax/swing/text/html/TableView.java + (RowView.layoutMajorAxis): Make sure the grid is valid. + (updateGrid): Made package private. + * gnu/javax/swing/text/html/css/Selector.java + (calculateSpecificity): Added support for dynamic and pseudo classes. + (matches): Changed to operate on general attributes. + Added support for dynamic and pseudo classes. + +2006-12-01 Mario Torre + + * java/text/DecimalFormat.java (formatInternal): move the formatting of + fractional portion in a separate method. + Also fixes the handling of decimal separator and its associated field. + (handleFractionalPart): new method, needed to relax a bit + formatInternal. + +2006-12-01 Andrew John Hughes + + * java/beans/beancontext/BeanContextServicesSupport.java: + (BCSSProxyServiceProvider.getCurrentServiceSelectors(BeanContextServices, + Class)): Implemented. + (BCSSProxyServiceProvider.getService(BeanContextServices, Object, + Class, Object)): Implemented. + (BCSSProxyServiceProvider.releaseService(BeanContextServices, + Object, Object)): Implemented. + (BCSSProxyServiceProvider.serviceRevoked(BeanContextServiceRevokedEvent)): + Implemented. + (initialiseBeanContextResources()): Implemented. + (releaseBeanContextResoures()): Implemented. + +2006-12-01 Mark Wielaard + + * include/gnu_java_awt_peer_gtk_GdkFontPeer.h: Regenerated. + +2006-12-01 Roman Kennke + + * gnu/javax/swing/text/html/css/BorderStyle.java: New class for + handling border styles. + * gnu/javax/swing/text/html/css/BorderWidth.java + (isValid): New method. + * gnu/javax/swing/text/html/css/Length.java + (isValid): New method. + * javax/swing/text/html/CSS.java + (addInternal): Added shorthand parsing for border, padding and + margin. + (parseBackgroundShorthand): Added API docs. + (parsePaddingShorthand): New method. Handles padding shorthand + values. + (parseMarginShorthand): New method. Handles margin shorthand + values. + (parseBorderShorthand): New method. Handles border shorthand + values. + * javax/swing/text/html/StyleSheet.java + (translateHTMLToCSS): Set specific padding attributes. + (BoxPainter.BoxPainter): Don't handle PADDING and MARGIN here. + These shorthands are now handled in CSS. + (BoxPainter.paint): Exclude the outer margin. + +2006-12-01 Roman Kennke + + * gnu/javax/swing/text/html/css/Length.java + (emBase): New field. + (exBase): New field. + (isFontEMRelative): New field. + (isFontEXRelative): New field. + (Length): Recognize and setup EM and EX relative values. + (getValue): Handle EM and EX relative values. + (isEMRelative): New method. + (isEXRelative): New method. + (setEMBase): New method. + (setEXBase): New method. + (setFontBases): New method. + * gnu/javax/swing/text/html/parser/support/Parser.java + (_handleEmptyTag): Use new isBlock() helper method. + (_handleEndTag_remaining): Use new isBlock() helper method. + (_handleStartTag): Consume whitespace after block start tag. + (Comment): Consume whitespace after a comment. + (isBlock): New helper method. + (readAttributes): Consider all characters in unquoted attribute + values. + * javax/swing/text/html/BlockView.java + (layoutMinorAxis): Use cached span value. + (paint): Added debug code (commented out). + (setPropertiesFromAttributes): Set the EM and EX base on lengths. + * javax/swing/text/html/CSSBorder.java + (CSSBorder): Take StyleSheet as argument. Call getBorderWidth() + with stylesheet. + (getBorderWidth): Set the EM and EX base on the length values. + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.ParagraphAction.end): Do not set the inParagraph field. + (HTMLReader.ParagraphAction.start): Do not set the inParagraph field. + (HTMLReader.inImpliedParagraph): Removed. + (HTMLReader.inParagraph): Removed. + (HTMLReader.parseStack): New field. + (HTMLReader.addContent): Use new paragraph handling. + (HTMLReader.addSpecialElement): Use new paragraph handling. + (HTMLReader.blockClose): Use new paragraph handling. + (HTMLReader.blockOpen): Use new paragraph handling. + (HTMLReader.inImpliedParagraph): New helper method. + (HTMLReader.inParagraph): New helper method. + * javax/swing/text/html/ImageView.java + (attributes): New field. Caches view attributes. + (spans): New field. Caches CSS spans. + (getAttributes): Correctly setup CSS view attributes. + (getPreferredSpan): Use caches spans. + (getStyleSheet): Use the view's getDocument() method. + (setPropertiesFromAttributes): Cache spans and setup EM and EX. + (updateSize): Use cached spans. + * javax/swing/text/html/ParagraphView.java + (setPropertiesFromAttributes): Setup EM and EX. + * javax/swing/text/html/StyleSheet.java + (BoxPainter.BoxPainter): Setup EM and EX correctly. + (getEMBase): New helper method. + (getEXBase): New helper method. + * javax/swing/text/html/TableView.java + (width): New field. Caches the table width. + (calculateMinorAxisRequirements): Use caches span. + (setPropertiesFromAttributes): Cache span and setup EM/EX. + (updateGrid): Correctly setup EM/EX. + +2006-11-30 Roman Kennke + + * javax/swing/text/html/FormSubmitEvent.java: New class. + * javax/swing/text/html/FormView.java + (SubmitThread): New class for submitting data in a separate thread. + (actionPerformed): Fetch the actual for data. + (addData): New helper method. + (getElementFormData): New helper method. + (getFormData): New helper method. + (getInputFormData): New helper method. + (submitData): Implemented. + * javax/swing/text/html/FrameView.java + (createComponent): Add this as hyperlink listener. + Set the target document as frame document. + (getTopEditorPane): New helper method. + (hyperlinkUpdate): Implementation of the HyperlinkListener interface. + (handleHyperlinkEvent): New helper method. + (handleFormSubmitEvent): New helper method. + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.BaseAction.start): Track the base target. + (HTMLReader.BaseAction.end): Removed. + (baseTarget): New field. + (frameDocument): New field. + (getBaseTarget): New property accessor. + (isFrameDocument): New property accessor. + (processHTMLFrameHyperlinkEvent): Implemented. + (setFrameDocument): New property accessor. + (updateFrame): New helper method. + (updateFrameSet): New helper method. + * javax/swing/text/html/HTMLEditorKit.java + (LinkController.createHyperlinkEvent): Handle frame documents. + (autoFormSubmission): New field. + (HTMLEditorKit): Set autoFormSubmission to true. + (isAutoFormSubmission): New property accessor. + (setAutoFormSubmission): New property accessor. + +2006-11-30 Roman Kennke + + * javax/swing/text/ElementIterator.java + (ElementRef): New inner class. + (currentDepth): Removed. + (currentElement): Removed. + (previousItem): Removed. + (stack): New field. Holds the iteration stack. + (state): Removed. + (ElementIterator(Document)): Removed init of removed fields. + (ElementIterator(Element)): Removed init of removed fields. + (current): Changed to stack based algorithm. + (deepestLeaf): New helper method. + (depth): Changed to stack based algorithm. + (first): Changed to stack based algorithm. + (next): Changed to stack based algorithm. + (previous): Changed to stack based algorithm. + +2006-11-30 Francis Kung + + * .settings/org.eclipse.jdt.core.prefs: Set compilar compliance to 1.4. + * .externalToolBuilders/ClasspathJar.launch: Include sun.* classses. + +2006-11-30 Francis Kung + + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java + (draw): Set transform in buffered composite. + (drawComposite): Do not transform bounds; round bounds. + (drawGlyphVector): Set transform in buffered composite. + (drawRenderedImage): Set transform in buffered composite. + (fill): Set transform in buffered composite. + (updateBufferedImage): Fix scanline & height calculations. + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (createPath): Simplify width & height calculation. + (drawImage): Also transform width & height. + +2006-11-30 Roman Kennke + + * javax/swing/text/html/FrameSetView.java: New class. Implements + HTML framesets. + * javax/swing/text/html/FrameView.java: New class. Implements + HTML frames. + * javax/swing/text/html/HTMLDocument.java: + (HTMLReader.addSpecialElement): Only add one artificial space. + * javax/swing/text/html/HTMLEditorKit.java + (HTMLFactory.create): Uncomment code for FrameSetView and FrameView. + * gnu/javax/swing/text/html/parser/support/Parser.java + (_handleEmptyTag): Also consume whitespace after frame tags. + +2006-11-30 Gary Benson + + * java/lang/Thread.java: Javadoc fixes. + +2006-11-29 Tom Tromey + + PR classpath/28203: + * java/lang/Class.java (getAnnotations): Rewrote. + +2006-11-29 Tania Bento + + * tools/gnu/classpath/tools/appletviewer/TagParser.java: + (parseParams): Unescape 'val' before putting it into the Map. + (unescapeString): New private method. + +2006-11-29 Tom Tromey + + * tools/gnu/classpath/tools/getopt/package.html: New file. + +2006-11-29 David Gilbert + + * javax/swing/plaf/metal/MetalIconFactory.java + (HorizontalSliderThumbIcon.paintIcon()): Commented out gradient paint, + (VerticalSliderThumbIcon.paintIcon()): Likewise. + +2006-11-29 Mario Torre + + * java/text/NumberFormat.java (getCurrencyInstance): Replaced dollar sign + with the default international currency sign \u00A4. + * java/text/DecimalFormat.java (scanFix): Fix to use the localized symbol + table for string formatting. + (formatInternal): likewise. + (scanNegativePattern): likewise. + (applyPattern): likewise. + * java/text/DecimalFormatSymbols.java (clone): Revert to old version as + Locale is immutable and does not need clone. + +2006-11-29 Francis Kung + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (drawLine): Remove hard-coded pixel shifting. + +2006-11-29 Roman Kennke + + * java/awt/Component.java + (isShowing): Simplified condition code and avoid unnecessary + if-codepaths. + (coalesceEvents): Always coalesce paint events and let the peer + figure out the expanding of the repaint area. + * gnu/java/awt/peer/swing/SwingComponentPeer.java + (currentPaintEvents): Removed. Replaced by paintArea. + (paintArea): New field. Tracks the dirty area. + (SwingComponentPeer): Removed init of currentPaintEvents. + (coalescePaintEvent): Simplified to only union the dirty regions. + (handleEvent): Paint dirty region that was tracked in paintArea. + * gnu/java/awt/peer/gtk/GtkComponentPeer.java + (paintArea): New field. Tracks the dirty region. + (coalescePaintEvent): Implemented to track the dirty region. + (paintComponent): Use the dirty region in paintArea. Protect + state by putting the paint and dispose code in a try-finally. + (updateComponent): Use the dirty region in paintArea. Protect + state by putting the paint and dispose code in a try-finally. + +2006-11-29 Roman Kennke + + * java/awt/font/TextLayout.java + (getVisualHighlightShape): Removed debug output. + +2006-11-28 Andrew Haley + + * vm/reference/sun/reflect/misc/ReflectUtil.java + (checkPackageAccess): Implement. + +2006-11-28 Dalibor Topic + + * native/jni/java-lang/java_lang_VMDouble.c: + (parseDoubleFromChars) New function. Factored out from ... + (Java_java_lang_VMDouble_parseDouble): Factored out the parsing. + (dtoa_toString): New function. Factored out from ... + (Java_java_lang_VMDouble_toString) : Factored out the conversion. + Changed conversion mode to 2, as modes 0 and 1 don't round + as the API spec demands. Invoke conversion function as often + as necessary with growing precision until a reversible + representation of the double in form of a string is reached. + +2006-11-28 Roman Kennke + + * javax/swing/JComponent.java + (putClientProperty): Do not fire event when both old and new + value are == null. + +2006-11-27 Andrew John Hughes + + * java/lang/Enum.java: + Make name and ordinal final. + +2006-11-27 Casey Marshall + + * java/util/jar/JarEntry.java (certs): removed. + (jarfile): new field. + (getCertificates): read the certificates from the containing JarFile. + * java/util/jar/JarFile.java (JarEnumeration.nextElement): don't + fill in 'certs,' fill in 'jarfile' for the entry. + (getEntry): likewise. + +2006-11-27 Francis Kung + + * java/awt/image/WritableRaster.java + (createChild): Implemented. + +2006-11-27 Roman Kennke + + * java/awt/font/TextLayout.java + (TextLayout(TextLayout,int,int)): Also layout the new runs. + (getVisualHighlightShape): Implemented. + (layoutRuns): Fixed boundary so that the last run is also laid out. + (left): New helper method. + (right): New helper method. + +2006-11-27 Roman Kennke + + * java/awt/font/TextLayout.java + (getCaretShape(TextHitInfo,Rectangle2D)): Implemented. + (getCaretShape(TextHitInfo)): Use natural bounds. + (getCaretShapes(int,Rectangle2D,CaretPolicy)): New API method. + (getCaretShapes(int,Rectangle2D)): Delegate to new method + above with DEFAULT_CARET_POLICY. + (getCaretShapes(int)): Use natural bounds. + +2006-11-27 Roman Kennke + + * java/awt/font/TextLayout.java + (Run.font): New field. + (Run.location): New field. + (Run.Run): Initialize font. + (font): Removed field. This is moved into Run as the actual font + is something run-specific. + (TextLayout(String,Font,FontRenderContext)): Set font on the + single runs. Layout the runs here. + (TextLayout(TextLayout,int,int)): Copy over the run fonts. + (findRunAtIndex): New helper method. + (getCaretInfo): Implemented. + (layoutRuns): New helper method. + (toString): Don't put font in output string. + +2006-11-27 Raif S. Naffah + + * AUTHORS: Added Jeroen Fritjers. + +2006-11-27 neugens + + * java/text/DecimalFormat.java (formatInternal): Add an explicit test + for FieldPosition to be null. + Check if the factional part is just 0 and can be omitted from the + result. + (scanNegativePattern): Fixed index out of bound exception when searching + for international currency symbol in negative pattern. + +2006-11-27 Andrew John Hughes + + * java/beans/beancontext/BeanContextSupport.java: + (readObject(ObjectInputStream)): Implemented. + (writeObject(ObjectOutputStream)): Likewise. + (BCSChild.getTargetChild()): Added. + (bcsPreDeserializationHook()): Implemented. + (bcsPreSerializationHook()): Likewise. + (childDeserializedHook(Object,BCSChild)): Likewise. + (isSerializing()): Likewise. + (readChildren(ObjectInputStream)): Likewise. + (writeChildren(ObjectOutputStream)): Likewise. + +2006-11-26 Roger Sayle eyesopen.com> + Ian Lance Taylor airs.com> + Paolo Bonzini gnu.org> + + Fixes bug #25557. + + * lib/gen-classlist.sh.in: Avoid using test's -ef operator for + increased portability. Likewise, use -f instead of -e. + +2006-11-26 Mark Wielaard + + * lib/Makefile.am (propertydirs): Removed. + (resources): Explicitly create all dirs. + +2006-11-26 Mark Wielaard + + * gnu/java/net/PlainSocketImpl.java (accept): Reset timeout on Socket. + +2006-11-26 Dalibor Topic + + * native/target/.cvsignore, + native/target/generic/.cvsignore, + native/target/Linux/.cvsignore: + Removed no longer used files. + + * native/target: Removed no longer used directory. + +2006-11-26 Dalibor Topic + + Fixes bug #29133. + + * libraries/clib/nio/gnu_java_nio_VMSelector.c + (Java_gnu_java_nio_VMSelector_select): + Use strerror if strerror_r is not available. + + Reported by: Michael Franz , + Riccardo Mottola + +2006-11-26 Dalibor Topic + + Fixes bug #26756. + + * native/jni/midi-dssi/Makefile.am (AM_CFLAGS): Removed + STRICT_WARNING_CFLAGS since it caused the build to fail + on GNU/Linux. + +2006-11-26 Ian Rogers + + * doc/vmintegration.texinfo: Update VM Threading Model section. + +2006-11-26 Tom Tromey + + * native/jni/java-net/java_net_VMNetworkInterface.c: Conditionally + include ifaddrs.h. + (Java_java_net_VMNetworkInterface_getVMInterfaces): Updated + conditional. + * native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c: + Conditionally include ifaddrs.h. + (getif_address): Updated conditional. + (getif_index): Likewise. + * configure.ac: Check for ifaddrs.h. + +2006-11-25 Mark Wielaard + + * java/io/File.java (list): Return empty list for unreadable dirs. + +2006-11-25 Mark Wielaard + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java (drawGlyphVector): + Synchronize on font peer. + (setFont): Likewise. + * gnu/java/awt/peer/gtk/GdkFontPeer.java (getFontMetrics): Mark + synchronized. + (getTextMetrics): Likewise. + +2006-11-25 Roman Kennke + + * javax/swing/text/GapContent.java + (getPositionsInRange): Rewritten to use the more efficient + binary search searchFirst() and avoid an NPE that was caused + by GC'ed positions. + +2006-11-25 Mark Wielaard + + * javax/swing/text/CompositeView.java (modelToView): Never return + null. + +2006-11-25 Mark Wielaard + + * javax/swing/text/html/TableView.java (calculateColumnRequirements): + Check whether rowView instanceof RowView. + (updateGrid): Likewise. + +2006-11-25 Mario Torre + + PR28462 + * java/text/DecimalFormat.java: Almost new rewrite, and update to 1.5. + * java/text/NumberFormat.java (format): all format methods, fixed + FieldPosition argument should never be null. + (format(Object, StringBuffer, FieldPosition)): fixed signature, + method is not final. + * java/text/DecimalFormatSymbols.java (clone): fixed to also clone + locale. + * AUTHORS: added my name to the file. + +2006-11-25 Mark Wielaard + + * javax/swing/text/html/StyleSheet.java (paint): Guard against + getChildAllocation() returning null. + +2006-11-25 Mark Wielaard + + * gnu/javax/swing/text/html/css/Selector.java (calculateSpecificity): + Use clazzIndex for id substring. + +2006-11-25 Mark Wielaard + + * java/awt/EventQueue.java (pop): Only terminate dispatchThread when + it is still running. + +2006-11-25 Mark Wielaard + + Fixes bug #28822 + * doc/api/Makefile.am (create_html): Guard GJDOC invocation with + CREATE_API_DOCS + +2006-11-24 Tania Bento + + * java/awt/font/TextHitInfo.java + (equals(TextHitInfo)): If TextHitInfo parameter is null, return false. + (beforeOffset): Decreased first parameter by 1. + +2006-11-24 Francis Kung + + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java + (constructor): Check sample model when setting fastCM flag. + (updateBufferedImage): Check scanline and sample model offsets before + copying data directly into the image data buffer. + +2006-11-24 Francis Kung + + * gnu/java/awt/java2d/QuadSegment.java + (offsetSubdivided): Handle special straight-line cases. + +2006-11-24 Roman Kennke + + * java/awt/dnd/DropTarget.java + (DropTargetAutoScroller.HYSTERESIS): New constant. + (DropTargetAutoScroller.DELAY): New constant. + (DropTargetAutoScroller.inner): New field. A cached + Rectangle instance. + (DropTargetAutoScroller.outer): New field. A cached + Rectangle instance. + (DropTargetAutoScroller.timer): New field. The actual timer. + (DropTargetAutoScroller.DropTargetAutoScroller): + Initialize timer. + (DropTargetAutoScroller.actionPerformed): Implemented. + (DropTargetAutoScroller.stop): Implemented. + (DropTargetAutoScroller.updateLocation): Implemented. + (clearAutoscroll): Stop the autoscroller before nullifying it. + (createDropTargetAutoScroller): Don't set the field here, + only return a new instance. + (dragEnter): Only do something when active. Initialize + auto scrolling. + (dragExit): Only do something when active. Stop auto scrolling. + (dragOver): Only do something when active. Update auto scrolling. + (drop): Only do something when active. Update auto scrolling. + (dropActionChanged): Only do something when active. Update + auto scrolling. + (initializeAutoScrolling): Check if component is an instance + of Autoscroll, otherwise do nothing. + (setActive): Disable autoscrolling when deactivating. + (setComponent): When component is set to null, disable autoscrolling. + +2006-11-24 David Gilbert + + * java/beans/beancontext/BeanContextServicesSupport.java + (getChildBeanContextServicesListener): Implemented. + +2006-11-23 Roman Kennke + + * gnu/java/awt/peer/headless/HeadlessGraphicsEnvironment.java + (createGraphics): Use constructor to create new instance of + BufferedImageGraphics. + * java/awt/Toolkit.java + (getDefaultToolkit): Really try to get a real toolkit. Only + use HeadlessToolkit if no other is available. + * gnu/java/awt/peer/gtk/GtkToolkit.java + (checkHeadless): New helper method. Checks for headless environment + and throws HeadlessException if appropriate. + (createButton): Check for headless. + (createCanvas): Check for headless. + (createCheckbox): Check for headless. + (createCheckboxMenuItem): Check for headless. + (createChoice): Check for headless. + (createDialog): Check for headless. + (createDragGestureRecognizer): Check for headless. + (createDragSourceContextPeer): Check for headless. + (createEmbeddedWindow): Check for headless. + (createFileDialog): Check for headless. + (createFrame): Check for headless. + (createCheckbox): Check for headless. + (createLabel): Check for headless. + (createList): Check for headless. + (createMenu): Check for headless. + (createMenuBar): Check for headless. + (createMenuItem): Check for headless. + (createPanel): Check for headless. + (createPopupMenu): Check for headless. + (createScrollbar): Check for headless. + (createScrollPane): Check for headless. + (createTextArea): Check for headless. + (createTextField): Check for headless. + (createWindow): Check for headless. + +2006-11-23 David Gilbert + + * java/beans/beancontext/BeanContextSupport.java + (deserialize): Implemented, + (serialize): Implemented. + +2006-11-23 Roman Kennke + + * gnu/java/awt/peer/headless/HeadlessGraphicsEnvironment.java + (createGraphics): Try to use Cairo graphics if available. + +2006-11-22 David Gilbert + + * java/beans/beancontext/BeanContextSupport.java + (toArray): Added API docs, + (toArray(Object[])): Added API docs, removed NotImplementedException. + +2006-11-22 Tania Bento + + * javax/swing/JRootPane.java + (setLayeredPane): Added documentation; throw + IllegalComponentStateException if layered pane parameter is null. + +2006-11-22 David Gilbert + + * java/beans/beancontext/BeanContextSupport.java + (avoidingGui): Removed NotImplementedException. + +2006-11-22 Francis Kung + + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java + (drawGlyphVector): Clip updated area to glyph bounds. + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (createPath): Eliminate distortion when pixel-shifting rectangles; separate + x-coordinate and y-coordinate pixel shifting. + (shifted): Removed method. + (shiftX): New method, recognising scaling transforms. + (shiftY): New method, recognising scaling transforms. + (walkPath): Separate x-coordinate and y-coordinate pixel shifting. + +2006-11-22 Roman Kennke + + * java/awt/font/TextLayout.java + (hash): New field. Caches the hash code. + (hashCode): Implemented. + +2006-11-22 Roman Kennke + + * java/awt/image/ImageFilter.java + Reformat whole class. + (getFilterInstance): Don't touch the consumer field. Don't check + consumer. + (imageComplete): Don't check consumer. + (setColorModel): Don't check consumer. + (setDimensions): Don't check consumer. + (setHints): Don't check consumer. + (setPixels): Don't check consumer. + (setProperties): Pass the original property too. + * java/awt/image/IndexColorModel.java + (IndexColorModel(int,int,byte[],byte[],byte[],int)): Set the + transparent pixel by calling the new helper method. + (IndexColorModel(int,int,byte[],int,boolean,int)): Set the + transparent pixel by calling the new helper method. + (IndexColorModel(int,int,int[],int,boolean,int,int)): Set the + transparent pixel by calling the new helper method. + (coerceData): Removed. This is not needed. + (getAlpha): Simply return value from color map. The transparent + pixel has to be there. + (setTransparentPixel): New helper method. Inserts the transparent + pixel. + * java/awt/image/RGBImageFilter.java + Reformat whole class. + (convertColorModelToDefault): Removed. No longer needed. + (filterIndexColorModel): Don't handle transparent pixels + separately. + (filterRGBPixels): Set pixels on consumer already. + (makeColor): Removed. No longer needed. + * java/awt/image/ReplicateScaleFilter.java + (replicatePixels): Removed. + (setDimension): Correctly compute destination size, avoid double + calculations. + (setPixels): Avoid double calculations. Fixed some boundary cases. + (setupSources): New helper method. + * java/awt/image/SampleModel.java + (setDataElements): Also handle TYPE_SHORT, TYPE_FLOAT + and TYPE_DOUBLE. + * java/awt/image/SinglePixelPackedSampleModel.java + (setDataElements(int,int,int,int,Object,DataBuffer)): Removed. + This is not needed as the superclass already copies line + by line. + (setDataElements(int,int,Object,DataBuffer)): Simplified code, + removed some checks that the RI also doesn't perform. Call + DataBuffer.setElem(). + +2006-11-22 Roman Kennke + + * java/awt/text/TextLayout.java + (getLogicalRangesForVisualSelection): Implemented. + +2006-11-21 Andrew John Hughes + + * sun/reflect/annotation/AnnotationParser.java, + * sun/reflect/annotation/AnnotationType.java, + * sun/reflect/annotation/EnumConstantNotPresentExceptionProxy.java, + * sun/reflect/annotation/ExceptionProxy.java: + Stubbed. + * sun/misc/ServiceConfigurationError.java, + * sun/misc/Service.java: + Implemented. + +2006-11-21 Roman Kennke + + * java/awt/text/TextLayout.java + (Run.isLeftToRight): New helper method. + (logicalToVisual): New field. Maps logical indices to visual + indices. + (visualToLogical): New field. Maps visual indices to logical + indices. + (TextLayout): Setup mappings. + (setupMappings): New method for setting up the mappings. + (getCharacterLevel): Reorganized code. + (getNextLeftHit(int)): Implemented. + (getNextLeftHit(int,CaretPolicy)): New method. + (getNextLeftHit(TextHitInfo)): Implemented. + (getNextRightHit(int)): Implemented. + (getNextRightHit(int,CaretPolicy)): New method. + (getNextRightHit(TextHitInfo)): New method. + (getVisualOtherHit): Implemented. + (checkHitInfo): New helper methods for checking parameters. + (hitToCaret): New helper method. Maps hit infos to caret locations. + (caretToHit): New helper method. Maps caret locations to hit infos. + (isCharacterLTR): New helper method. + (CaretPolicy.getStrongCaret): Implemented. + +2006-11-21 Francis Kung + + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java + (draw): Include stroke width when calculating bounds. + (updateBufferedImage): Round bounds more generously, handle negative + height/width values, and clip more intelligently. + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (createPath): Add shortcut optimization for lines. + (draw): Include stroke width when calculating bounds. + (drawLine): Delegate to main draw() method. + (drawRect): Likewise. + (fillRect): Delegate to main fill() method. + (findStrokedBounds): New method. + (setCustomPaint): Round bounds more generously. + * gnu/java/awt/peer/gtk/ComponentGraphics.java + (drawLine): Removed. + (drawRect): Removed. + (fillRect): Removed. + +2006-11-21 Francis Kung + + * gnu/java/awt/java2d/TexturePaintContext.java + (getRaster): Handle negative coordinate values. + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (setPaint): Moved custom paint processing to a new method. + (setPaintPixels): Added x, y parameters. + (getRealBounds): Added documentation. + (copy): Copy clipping information. + (drawLine): Process custom paints. + (setCustomPaint): New method. + (fill): Process custom paints. + (drawGlyphVector): Process custom paints. + (drawRect): Process custom paints. + (draw): Process custom paints. + * gnu/java/awt/peer/gtk/CairoSurface.java + (cairoCM_opaque): New constant. + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java + (argb32): Removed constant. + (rgb32): Removed constant. + (BufferedImageGraphics(BufferedImage)): Updated constant names. + (BufferedImageGraphics(BufferedImageGraphics)): Copy color model flags. + (updateBufferedImage): Transform to device-space before updating. + * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h + (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_setPaintPixels): Added x, y + parameters. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c + (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_setPaintPixels): Set pattern + source at designated x, y origin. + +2006-11-21 Roman Kennke + + * java/awt/text/TextLayout.java + (Run): New inner helper class. + (length): New field. + (naturalBounds): New field. + (offset): New field. + (runIndices): Removed. This is now encapsulate in a Run object. + (runs): Changed to Run[]. + (string): Changed to char[]. + (totalAdvance): New field. Caches advance value. + (TextLayout(String,Font,FontRenderContext)): Change to store + string as char[] and run layout as Run[]. Clean out empty + run items. + (TextLayout(TextLayout,int,int)): Change to store + string as char[] and run layout as Run[]. + (clone): Call private constructor for maximum efficiency. + (determineWhitespace): Adapted to use char[] data. + (draw): Adapted to use Run objects. + (getAdvance): Cache computed total advance. + (getBlackBoxBounds): Adapted to use Run objects. + (getCaretInfo): Use natural layout bounds. + (getCharacterCount): Return length field. + (getLogicalHighlightShape): Adapted to use Run objects. + (getNaturalBounds): New helper method. Calculates and returns the + natural bounds of this text layout. + (getOutline): Adapted to use Run objects. + (getStringProperties): Adapted to use char[] data. + (getVisibleAdvance): Adapted to use char[] and Run data. + (handleJustify): Adapted to use char[] and Run data. + (hitTestChar(float,float,Rectangle2D)): Implemented. + (hitTestChar(float,float)): Use natural bounds. + (setCharIndices): Adapted to use char[] and Run data. + (toString): Adapted to use char[] and Run data. + * java/text/Bidi.java + (requiresBidi): Exclude paragraph separators from bidi-triggers. + +2006-11-21 Roman Kennke + + * gnu/java/awt/peer/gtk/GdkFontMetrics.java: + Removed. This is now an inner class in GdkFontPeer. + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (drawString(float,float)): Use text layout cache from + GdkFontPeer. + (getFontMetrics): Delegate to GdkFontPeer. + * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java + (getGlyphCodes): Also check array size. + (getGlyphPositions): Also check array size. + * gnu/java/awt/peer/gtk/GdkFontPeer.java + (GdkFontLineMetrics.fm): Removed. + (GdkFontLineMetrics.strikeThroughOffset): Removed. + (GdkFontLineMetrics.strikeThroughThickness): Removed. + (GdkFontLineMetrics.underlineOffset): Removed. + (GdkFontLineMetrics.underlineThickness): Removed. + (GdkFontLineMetrics.GdkFontLineMetrics): Don't take + FontMetrics argument. Don't init removed fields. + (GdkFontLineMetrics.getAscent): Return font peer's field. + (GdkFontLineMetrics.getDescent): Return font peer's field. + (GdkFontLineMetrics.getHeight): Return font peer's field. + (GdkFontLineMetrics.getLeading): Return font peer's field. + (GdkFontLineMetrics.getNumChars): Reformat. + (GdkFontLineMetrics.getStrikeThroughOffset): Return half ascent. + (GdkFontLineMetrics.getStrikeThroughThickness): Return 1. + (GdkFontLineMetrics.getUnderlineOffset): Return font peer's field. + (GdkFontLineMetrics.getUnderlineThickness): Return font peer's field. + (GdkFontMetrics): Moved class in here as inner class. + Make it use the font peer's fields and for the char(s) width + and string width method, use TextLayout to measure the actual widths. + (ascent): New field. + (bundle): Removed. + (DEFAULT_CTX): New constant field. + (descent): New field. + (FONT_METRICS_ASCENT): New constant. + (FONT_METRICS_DESCENT): New constant. + (FONT_METRICS_HEIGHT): New constant. + (FONT_METRICS_MAX_ADVANCE): New constant. + (FONT_METRICS_MAX_ASCENT): New constant. + (FONT_METRICS_MAX_DESCENT): New constant. + (FONT_METRICS_UNDERLINE_OFFSET): New constant. + (FONT_METRICS_UNDERLINE_THICKNESS): New constant. + (height): New field. + (maxAdvance): New field. + (maxAscent): New field. + (maxDescent): New field. + (metrics): New field. Stores a FontMetrics for this font. + (textLayoutCache): New field. Caches TextLayout instances. + (underlineOffset): New field. + (underlineThickness): New field. + (cinit): Don't initialize resource bundle. + (GdkFontPeer): Setup the metrics. + (getFontMetrics): Return stored metrics if possible. + (getLineMetrics): Adapt to new constructor. + (initFont): New helper method. + (setupMetrics): New helper method. + * gnu/java/awt/peer/gtk/GtkToolkit.java + (LRUCache): Made class a static class. + (getFontMetrics): Delegate to GdkFontPeer. + * native/jni/gtk-peer/gdkfont.h + Added new constant defines. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c + (getFontMetrics): Rewritten to fetch the font metrics from + FreeType. + +2006-11-20 Tania Bento + + * javax/swing/ButtonGroup.java: + (setSelected): Select the ButtonModel if all conditions + are met. + +2006-11-20 Tania Bento + + * javax/swing/JSlider.java: + (updateLabelUIs): Removed casting. + +2006-11-20 Mark Wielaard + + * gnu/java/util/regex/RE.java (messages): Don't initialize. + (bundle): New static final String field. + (getLocalizedMessage): Initialize messages when still null. + * gnu/java/util/regex/RESyntax.java (SYNTAX_IS_FINAL): Removed. + (set): Use RE.getLocalizedMessage(). + (clear): Likewise. + (setLineSeparator): Likewise. + +2006-11-20 Roman Kennke + + * javax/swing/text/html/StyleSheet.java + (linked): New field. + (styleSheet): Replaced by linked. + (addStyleSheet): Use an arraylist for simplicity. + (getRule): Removed useless instantiation. + (getStyleSheets): Convert array list to array. + (removeStyleSheet): Use an arraylist for simplicity. + (resolveStyle): Include styles from linked lists. + +2006-11-20 Roman Kennke + + * javax/swing/text/BoxView.java + (BoxView): Initialize with invalid req's. + (forwardUpdate): Trigger repaint when children changed the + major axis. + (getResizeWeight): Return resizable when the pref differs from + the min or the pref differs from the max size. + (layoutMajorAxis): Actually sum up the preferred sizes. + (paint): Made binary search more robust. + (replace): Let arrays shrink when needed. + (replaceLayoutArray): Let arrays shrink when needed. + (setAxis): Trigger preferenceChanged. + * javax/swing/text/CompositeView.java + (getInsideAllocation): Call insets method to take account + of overriding subclasses. + * javax/swing/text/DefaultStyledDocument.java + (ElementBuffer.finishEdit): Clear the stack and edits buffer. + (ElementBuffer.insertUpdate): Only remove the found element, not + all. + * javax/swing/text/GlyphView.java + (insertUpdate): Pass null in preferenceChanged. + (removeUpdate): Pass null in preferenceChanged. + (changedUpdate): Pass null in preferenceChanged. + * javax/swing/text/Utilities.java + (drawTabbedText): Avoid single calls to charWidth() and instead + call charsWidth() on whole chunks. + * javax/swing/text/html/HTMLDocument.java + (BlockElement.getName): Fall back to super when necessary. + (RunElement.getName): Fall back to super when necessary. + (HTMLReader.MAX_THRESHOLD): New constant field. + (HTMLReader.GROW_THRESHOLD): New constant field. + (HTMLReader.theshold): New field. + (HTMLReader.HTMLReader): Fetch threshold from document. + (HTMLReader.addContent): Sucessivly grow the threshold. + (createLeafElement): Don't create two elemens and don't set + attribute. + * javax/swing/text/html/TableView.java + (RowView.replace): Invalidate grid. + (gridValid): Made package private. + (layoutMinorAxis): Mark all rows as invalid. + (replace): Invalidate grid. + +2006-11-20 Roman Kennke + + * javax/swing/text/AbstractDocument.java + (DefaultDocumentEvent.changes): Changed to be a HashMap. + (DefaultDocumentEvent.modified): Made private. + (DefaultDocumentEvent.THRESHOLD): New constant field. + (DefaultDocumentEvent.DefaultDocumentEvent): Don't initialize + changes table. + (DefaultDocumentEvent.addEdit): Switch to hashmap only when + exceeding threshold. + (DefaultDocumentEvent.getChange): Use iterative approach + when we have no hashmap yet. + (documentCV): Removed. + (numWriters): Renamed from numWritersWaiting. + (createPosition): Reformat. + (getCurrentWriter): Synchronized. + (readLock): Implement more straightforward. + (readUnlock): Implement more straightforward. + (writeLock): Implement more straightforward. + (writeUnlock): Implement more straightforward. + (remove): Write-lock here. + (removeImpl): Don't write-lock here. + +2006-11-20 Roman Kennke + + * javax/swing/JEditorPane.java + (setPage): Set priority on loading thread. + +2006-11-20 Roman Kennke + + * javax/swing/plaf/basic/BasicTextUI.java + (RootView.paint): Avoid allocation. + (cachedInsets): New field. Caches an Insets instance. + (getNextVisualPositionFrom): Read-lock the document to avoid + thread nastiness. Push allocation. + (getPreferredSize): Push fake allocation when not yet laid out. + (getVisibleEditorRect): Use cached insets. + (viewToModel): Read-lock the document to avoid + thread nastiness. Push allocation. + +2006-11-20 Roman Kennke + + * javax/swing/text/StyleContext.java + (attributeSetPool): Synchronize this map. + (addAttribute): Synchronize this method. + (addAttributes: Synchronize this method. + (readObject): Install synchronized map on target object. + (removeAttribute): Synchronize this method. + (removeAttributes): Synchronize this method. + (removeAttributes): Synchronize this method. + +2006-11-20 Roman Kennke + + * javax/swing/text/GapContent.java + (GapContentPosition.GapContentPosition): Removed constructor. + (Mark): Made subclass of WeakReference to refer directly to + the associated position. + (Mark.refCount): Removed. + (Mark.Mark(int,GapContentPosition,ReferenceQueue): + New constructor. Used to reference a position and register the + reference queue. + (Mark.Mark(index)): Call super and don't adjust mark offset. + (Mark.compareTo): Removed. + (Mark.equals): Removed. + (Mark.getOffset): Return at least null. Removed assert. + (Mark.getPosition): New helper method. + (garbageMarks): New field. + (positions): Removed. + (searchMark): New field. + (GapContent): Removed init of positions map. + (addImpl): New helper method. + (adjustPositionsInRange): Removed. + (compare): New helper method. + (createPosition): Rewritten for new datastructures. This now + performs a much more efficient binary search for finding + a position at the requested offste. + (garbageCollect): Rewritten to collect unused marks. + (getPositionsInRange): Adjusted for new data structures. + (removeImpl): New helper method. + (replace): Use new addImpl() and removeImpl() helper method for + correctly adjusting the positions and gap. + (search): Rewritten. Implements a more suitable binary search. + (searchFirst): New helper method. + (setPositionsInRange): Removed. + (shiftEnd): Update the marks here. + (shiftGap): Update the marks here. + (shiftGapEndUp): Update the marks here. + (shiftGapStartDown): Update the marks here. + +2006-11-20 Marco Trudel + + * java/util/jar/JarFile.java (digestAlgorithms): New field used to cache + digest algorithm implementations. + (readSignatures): Parse the manifest once and reuse that data. + Add support for line breaks. + (verifyHashes): Use the parsed manifest entry. + (readManifestEntry): Removed. + +2006-11-20 Andrew John Hughes + + * java/beans/beancontext/BeanContextServicesSupport.java: + Added more documentation. + (addService(Class,BeanContextServiceProvider,boolean)): + Synchronized over global hierarchy lock. + (bcsPreDeserializationHook(ObjectInputStream)): Implemented. + (bcsPreSerializationHook(ObjectOutputStream)): Implemented. + (childJustRemovedHook(Object,BCSChild)): Implemented. + (createBCSSServiceProvider(Class,BeanContextServiceProvider)): + Implemented. + (fireServiceRevoked(BeanContextServiceRevokedEvent)): + Added revocation-only listeners. + (getBeanContextServicesPeer()): Implemented. + (getCurrentServiceClasses(Class)): Synchronized over global + hierarchy lock. + (getCurrentServiceSelectors(Class)): Synchronized over global + hierarchy lock, and fixed FIXME. + (getService(BeanContextChild,Object,Class,Object, + BeanContextServiceRevokedListener)): Implemented. + (hasService(Class)): Synchronized over global hierarchy lock. + (releaseService(BeanContextChild,Object,Object)): Implemented. + (revokeService(Class,BeanContextServiceProvider,boolean)): Implemented. + * java/beans/beancontext/BeanContextSupport.java: + (remove(Object, boolean)): Documentation correction. + +2006-11-19 Roman Kennke + + * javax/swing/JEditorPane.java + (PageStream): New inner class. + (PageLoader): New inner class. + (loading): New field. + (setPage): Implemented asynchronous loading. + * javax/swing/text/DefaultStyledDocument.java + (ElementBuffer.create): New helper method. + (create): Use new ElementBuffer method instead of hack. + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.flushImpl): New helper method. + (HTMLReader.addContent): Use flushImpl(). + (HTMLReader.blockClose): Added null check. + (HTMLReader.flush): Use flushImpl(). + * javax/swing/text/html/HTMLEditorKit.java + (createDefaultDocument): Set load priority to 4 and token threshold + to 100. + * javax/swing/text/html/TableView.java + (insertUpdate): Overridden to provide correct view factory. + (removeUpdate): Overridden to provide correct view factory. + (changedUpdate): Overridden to provide correct view factory. + +2006-11-19 Roman Kennke + + * javax/swing/text/BoxView.java + (clipRect): New field. + (tmpRect): New field. + (layout): Reorganized code. Now uses layoutAxis() helper method. + (layoutAxis): New helper method. + (paint): Optimized by using cached Rectangle objects and + a binary search for child views inside the clip. + * javax/swing/text/CompositeView.java + (insideAllocation): Made private and initialized in constructor. + (getInsideAllocation): Removed initialization block for + insideAllocation field. Avoid unnecessary allocations. + * javax/swing/text/GlyphView.java + (DefaultGlyphPainter.paint): Only paint the actual glyphs here + The remaining stuff (background, underline and striking) is + done in the GlpyhView itself. Avoid unnecessary allocations. + (cached): A cached Segment instance. + (getText): Return cached segment. + (paint): Paint underline, strike and background here. Avoid + unecessary allocs. + +2006-11-19 Roman Kennke + + * javax/swing/text/html/StyleSheet.java + (getFontSize): Removed debug output. + (ListPainter.tmpRect): New field. + (ListPainter.paint): Align bullet vertically centered to + the first line of the paragraph. + +2006-11-17 Roman Kennke + + * gnu/javax/swing/text/html/css/CSSParser.java + (parseDeclaration): Trim string before reporting. + * gnu/javax/swing/text/html/css/FontSize.java + (size): New field. + (isRelative): New field. + (sizeIndex): New field. + (FontSize): Initialize new fields. + (getValue): Changed to call getValue(int). + (getValue(int)): New method. Implements relative font sizes. + (isRelative): New method. + (mapAbsolute): Store index. + (mapEM): New helper method. + (mapLarger): New helper method. + (mapPercent): New helper method. + (mapRelative): New helper method. + (mapSmaller): New helper method. + (mapValue): New helper method. + * javax/swing/text/html/CSS.java + (parseBackgroundShorthand): Create CSSColor directly. + * javax/swing/text/html/StyleSheet.java + (addRule): Invalidate resolved styles. + (getFont): Call new getFontSize() method to resolve relative + font sizes. + (getFontSize): New helper method. Resolves relative font sizes. + (translateHTMLToCSS): Create CSS objects directly. + +2006-11-13 Andrew John Hughes + + * gnu/java/util/regex/RETokenNamedProperty.java: + (getHandler(String)): Add support for 'all'. + +2006-11-18 Andrew John Hughes + + * gnu/javax/management/Server.java: + Initial implementation of a GNU management server. + * javax/management/MBeanPermission.java, + * javax/management/MBeanRegistration.java, + * javax/management/MBeanTrustPermission.java: + Implemented. + +2006-11-17 Mark Wielaard + + * docs/www.gnu.org/newsitems.txt: Add Sun GPL news announcement. + +2006-11-17 Gary Benson + + * java/net/DatagramSocket.java (getLocalAddress, connect, + receive): Perform security check on address not hostname. + +2006-11-16 Roman Kennke + + * gnu/javax/swing/text/html/parser/support/Parser.java + (_handleText): Fixed condition for consuming whitespace. + Removed validator check, this is superfluous now. + +2006-11-16 Roman Kennke + + * gnu/javax/swing/text/html/css/CSSParser.java + (parseRuleset): Support 'combined' selectors. + (main): Adapt callback for combined selectors support. + * gnu/javax/swing/text/html/css/CSSParserCallback.java + (startStatement): Take selector array as argument, to + support combined selectors. + * javax/swing/text/html/BlockView.java + (calculateMinorAxisRequirements): Fetch and apply alignment. + * javax/swing/text/html/StyleSheet.java + (CSSStyle): Inverted the constants for correct precedence. + (CSSStyleSheetParserCallback.styles): New field. Stores the current + styles. + (CSSStyleSheetParserCallback.style): Removed. + (CSSStyleSheetParserCallback.declaration): Update multiple styles. + (CSSStyleSheetParserCallback.end): Push multiple styles. + (CSSStyleSheetParserCallback.start): Initialize multiple styles. + +2006-11-16 Roman Kennke + + * javax/swing/text/FlowView.java + (LogicalView.getPreferredSpan): Calculate maximum correctly. + * javax/swing/text/GlyphView.java + (tabExpander): New field. + (tabX): New field. + (breakView): Set tabX on broken view. + (getPartialSpan): Let the painter fetch the span. + (getTabbedSpan): Update the tab expander field. Maybe trigger + relayout. + (getTabExpander): Simply return the stored expander. + * javax/swing/text/Utilities.java + (getTabbedTextOffset): Made algoritm a little smarter and more + efficient. + (getTabbedTextWidth): Don't add single char widths, instead add + chunks of characters. + * javax/swing/text/html/ParagraphView.java + (calculateMinorAxisRequirements): Adjust margin only when the + CSS span is not fixed. + +2006-11-16 David Gilbert + + * java/beans/beancontext/BeanContextSupport.java + (getChildBeanContextMembershipListener): Implemented, + (getChildPropertyChangeListener): Implemented, + (getChildSerializable): Implemented, + (getChildVetoableChangeListener): Implemented, + (getChildVisibility): Implemented, + (setDesignTime): Use same property name as Sun's implementation. + +2006-11-16 David Gilbert + + * java/beans/DesignMode.java: Reformatted and removed a FIXME, + * java/beans/Statement.java + (toString): Updated to match reference implementation. + +2006-11-15 Roman Kennke + + * javax/swing/text/html/HTMLEditorKit.java + (InsertHTMLTextAction.actionPerformed): Also try inserting + the alternate tag. Adjust the selection accordingly. + (InsertHTMLTextAction.adjustSelection): New helper method. + Adjusts the selection after an insertion. + (insertAtBoundary): Delegate to deprecated method. + (insertAtBoundry): Implemented missing method. + (tryInsert): New helper method. + (defaultActions): Implemented to fill the array with + a couple of InsertHTMLTextActions. + +2006-11-15 Roman Kennke + + * javax/swing/text/html/ImageView.java + (Observer): New class. Observes image loading. + (haveHeight): New field. + (haveWidth): New field. + (height): New field. + (width): New field. + (image): New field. + (imageIcon): New field. + (loading): New field. + (observer): New field. + (reloadImage): New field. + (reloadProperties): New field. + (ImageView): Initialize observer and some flags. + (getImage): Update the image state and return the image. + (loadImage): New helper method. Actually starts loading. + (paint): Rewritten to paint the image directly, not via Icon. + (reloadImage): Rewritten. Loads the image and its properties. + (renderIcon): Removed. No more necessary. + (setPropertiesFromAttributes): Don't nullify image here. + Added comment about missing impl. + (setSize): Added comment about missing impl. + (updateSize): New helper method. Updates the size attributes. + (updateState): New helper method. Makes sure the image + and its properties are valid. + +2006-11-15 Roman Kennke + + * gnu/javax/swing/text/html/parser/support/Parser.java + (_handleEndTag_remaining): Consume whitespace after a closing + block like tag. + +2006-11-15 Roman Kennke + + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.ParagraphAction.end): Call super instead of blockClose() + directly. + (HTMLReader.ParagraphAction.start): Call super instead of blockOpen() + directly. + (HTMLReader.parseStack): Removed. + (HTMLReader.blockClose): Simply call addContent() with ' ' + instead of doing more complicated stuff. Removed parseStack + handling. + (HTMLReader.blockOpen): Removed parseStack handling. + (getInsertingReader): Removed parseStack init. + * gnu/javax/swing/text/html/parser/htmlValidator.java + (closeTag): Return true only when the tag actually should be + closed. + * gnu/javax/swing/text/html/parser/support/Parser.java + (_handleEndTag): Only actually close the tag when the validator + allows it. + +2006-11-15 Roman Kennke + + * javax/swing/text/html/CSS.java + (Attribute.BORDER_SPACING): New field for the CSS border-spacing + attribute. + * javax/swing/text/html/StyleSheet.java + (BoxPainter.bottomPadding): New field. + (BoxPainter.leftPadding): New field. + (BoxPainter.rightPadding): New field. + (BoxPainter.topPadding): New field. + (BoxPainter.BoxPainter): Fetch the MARGIN and PADDING* attributes + too. + (BoxPainter.getInset): Recognize and include the padding. + (translateHTMLToCSS): Added mapping for CELLPADDING and CELLSPACING. + javax/swing/text/html/TableView.java + (RowView.calculateMajorAxisRequirements): Adjust req's for + cellSpacing. + (RowView.layoutMajorAxis): Adjust multi-column span for cellSpacing. + (cellSpacing): New field. + (columnRequirements): Made package private to avoid accessor method. + (calculateMinorAxisRequirements): Include cellSpacing. + (calculateMajorAxisRequirements): Overridden to include cellSpacing. + (layoutMajorAxis): Likewise. + (layoutColumns): Respect cellSpacing. + (setParent): Overridden to fetch the CSS attributes when view gets + connected. + (setPropertiesFromAttributes): New method. Fetches the cell + spacing from the CSS attributes. + +2006-11-15 Roman Kennke + + * gnu/javax/swing/text/html/parser/support/Parser.java + (_handleText): Consume whitespace directly before a closing tag. + (restOfTag): Consume whitespace directly after opening. + * gnu/javax/swing/text/html/parser/support/textPreProcessor.java + (preprocess): Don't perform array boundary checking by + catch AIOOBE, instead check the boundary in loop condition. + * gnu/javax/swing/text/html/parser/support/low/Constants.java + (TAG_CLOSE): New constants. Describes the token pattern for + a closing tag. + +2006-11-14 Roman Kennke + + * javax/swing/text/html/ImageView.java + (getPreferredSpan): Use CSS length values. + * javax/swing/text/html/TableView.java + (CellView.calculateMajorAxisRequirements): Overridden to + set the maximum reqs to maximum. + (RowView.getMaximumSize): For the X_AXIS, set the maximum + span to maximum. + (RowView.getMinimumSpan): Overridden. For the X_AXIS, return + the total column reqs. + (RowView.getPreferredSpan): Overridden. For the X_AXIS, return + the total column reqs. + * gnu/javax/swing/text/html/css/CSSColor.java + (convertValue): Catch NumberFormatExceptions for more robustness. + * gnu/javax/swing/text/html/css/FontSize.java + (mapPixels): Actually map px values. Catch NFE for more robustness. + +2006-11-14 Roman Kennke + + * gnu/java/awt/font/autofit/AxisHints.java, + * gnu/java/awt/font/autofit/Constants.java, + * gnu/java/awt/font/autofit/GlyphHints.java, + * nu/java/awt/font/autofit/Latin.java, + * nu/java/awt/font/autofit/LatinAxis.java, + * gnu/java/awt/font/autofit/LatinMetrics.java, + * gnu/java/awt/font/autofit/Scaler.java, + * gnu/java/awt/font/autofit/Script.java, + * gnu/java/awt/font/autofit/ScriptMetrics.java, + * gnu/java/awt/font/autofit/Segment.java, + * gnu/java/awt/font/autofit/Width.java: + New classes. This is some skeleton stuff for the FreeType-alike + auto-gridfitter. + * gnu/java/awt/font/opentype/CharGlyphMap.java: Made class public. + * gnu/java/awt/font/opentype/OpenTypeFont.java + (unitsPerEm): Made field public. + (getRawGlyphOutline): New method. Fetches the raw outline. + * gnu/java/awt/font/opentype/Scaler.java + (getRawGlyphOutline): New method. Fetches the raw outline. + * gnu/java/awt/font/opentype/truetype/GlyphLoader.java + (loadGlyph): New method. This is used to load raw outlines. + * gnu/java/awt/font/opentype/truetype/TrueTypeScaler.java + (getRawOutline): New method. Fetches the raw outline. + * gnu/java/awt/font/opentype/truetype/Zone.java: + Made class public. + +2006-11-14 Roman Kennke + + * javax/swing/RepaintManager.java + (RepaintManager): Fetch the default state for the double buffering + from a system property gnu.swing.doublebuffering. + +2006-11-14 Roman Kennke + + * javax/swing/plaf/basic/BasicLabelUI.java + (cachedInsets): New field. + (getFontMetrics): New helper method. Fetches the font metrics + from the component or the toolkit. + (getPreferredSize): Use getFontMetrics() helper method for + fetching the font metrics. + (paint): Use getFontMetrics() helper method for + fetching the font metrics. Only paint if icon or text + are != null. Use cached insets. + (paintDisabledText): Don't store/restore color object. The + JComponent painting mechanism takes care of this by calling + create(). + (paintEnabledText): Don't store/restore color object. The + JComponent painting mechanism takes care of this by calling + create(). + +2006-11-14 Roman Kennke + + * gnu/java/awt/peer/GLightweightPeer.java + (handleEvent): Try to do something reasonable and trigger painting + for the lightweight component. + (getFontMetrics): Fetch and return a font metrics object from + the Toolkit. + +2006-11-13 Andrew John Hughes + + * gnu/java/util/regex/RETokenNamedProperty.java: + (getHandler(String)): Add support for 'all'. + +2006-11-13 Andreas Tobler + + * AUTHORS: Add myself. + +2006-11-13 Thomas Fitzsimmons + + * AUTHORS: Add Tania Bento, Thomas Fitzsimmons, Francis Kung and + Dalibor Topic. Re-order 'K' section. Remove trailing space from + Roman Kennke's entry. + +2006-11-13 Roman Kennke + + * java/awt/image/IndexColorModel.java + (createCompatibleSampleModel): Implemented missing method. + +2006-11-11 Andreas Tobler + + * gnu/java/awt/peer/gtk/GtkImageConsumer.java (setPixels): Handle data + from big endian systems correctly. + +2006-11-11 Roman Kennke + + * gnu/javax/swing/text/html/css/CSSColor.java + (isValidColor): New helper method. Checks strings if they + form a valid color value. + * gnu/javax/swing/text/html/css/Length.java + (Length): Catch number format exceptions. + * javax/swing/text/html/CSS.java + (addInternal): New method. Checks for shorthand CSS attributes + and parses them. + (parseBackgroundShorthand): New method. Parses the background + shorthand attribute. + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.LinkAction): Made class a subclass of HiddenAction. + (HTMLReader.LinkAction.start): Implemented to load the linked + stylesheet. + (HTMLReader.LinkAction.end): Removed. This is not needed. + * javax/swing/text/html/StyleSheet.java + (CSSStyleSheetParserCallback.declaration): Push declaration + through CSS.addInternal() to parse shorthand attributes. + (addCSSAttribute): Push declaration through CSS.addInternal() + to parse shorthand attributes. + (importStyleSheet): Implemented. This adds a stylesheet from + an URL. + * javax/swing/text/html/TableView.java + (calculateColumnRequirements): Increase column index for + non CellView children to avoid endless loop. + * javax/swing/text/CompositeView.java + (setParent): Comparen with numChildren not with real arraylength. + +2006-11-11 David Gilbert + + * java/beans/beancontext/BeanContextSupport.java + (getChildBeanContextChild): Implemented. + +2006-11-10 Roman Kennke + + * javax/swing/text/View.java + (updateLayout): Only repaint when needed. + +2006-11-10 David Gilbert + + * java/util/Collections.java + (sort(List)): Minor API doc addition, + (sort(List, Comparator)): Likewise. + +2006-11-10 David Fu + + * javax/swing/text/html/HTMLWriter.java + (traverse): Removed Classpath specific handling of implied + tags. + (traverseHtmlFragment): Removed Classpath specific handling of + implied tags. + +2006-11-10 Roman Kennke + + * javax/swing/text/ParagraphView.java + (Row.getMaximumSize): Removed. This method is not necessary. + * javax/swing/text/html/TableView.java + (CellView): Moved attribute init to setPropertiesFromAttributes(). + (setPropertiesFromAttributes): Fetch attributes here. + (RowView.RowView): Documented. + (RowView.getMaximumSpan): Overridden to restrict the max span + in the Y direction. + (RowView.layoutMajorAxis): Correctly layout the spans. + (columnWidths): New field. Stores the width attributes of + the columns. + (calculateColumnRequirements): Added support for relative + (== percent) width attributes. + (calculateMajorAxisRequirements): Removed. + (calculateMinorAxisRequirements): Removed unnecessary code. + (getMaximumSpan): Overridden to restrict the table's width. + (layoutColumns): Documented. Implement more clever table layout, + i.e. for relative columns etc. + (layoutMinorAxis): Don't mark rows invalid. + (updateGrid): Added docs. Initialize column widths. + +2006-11-09 Roman Kennke + + * gnu/java/awt/peer/headless/HeadlessGraphicsEnvironment, + * gnu/java/awt/peer/headless/HeadlessToolkit: New classes. + Implement basic headless toolkit. + * java/awt/Toolkit.java + (getDefaultToolkit): Check headless property and create + headless toolkit when true. + +2006-11-09 Ingo Proetel +2006-11-09 Roman Kennke + + * gnu/java/awt/peer/swing/SwingButtonPeer.java + (SwingButton.button): New field. + (SwingButton.SwingButton): Added constructor. + (SwingButton.isShowing): Access button field instead of + the surrounding class. + (SwingButton.getParent): Access button field instead of + the surrounding class. + (SwingButtonPeer): Call new SwingButton constructor. + * gnu/java/awt/peer/swing/SwingComponent.java: + Several documentation updates. + * gnu/java/awt/peer/swing/SwingComponentPeer.java + (currentPaintEvents): New field. + (peerFont): New field. + (SwingComponentPeer): Initialize currentPaintEvents fields. + (coalescePaintEvents): Implemented. + (dispose): Unregister peer from heavyweight list of its container. + (getGraphics): Fetch graphics from parent component. + (handleEvent): Discard paint event if its coalesced. + (init): Register component with its container for proper painting. + (paint): Call peerPaint(). + (peerPaint): Added argument that indicates if we should update. + Call paint or update on the actual AWT component. + (peerPaintComponent): New method. Paints the peer (Swing) component. + (setFont): Set peerFont field. + * gnu/java/awt/peer/swing/SwingContainerPeer.java + (backbuffer): New field. + (focusOwner): New field. + (heavyweightDescendents): New field. + (SwingContainerPeer): Take Container as argument. Don't call init + yet. + (addHeavyweightDescendent): New method. + (getFocusOwner): New helper method. + (getInsets): Delegate to insets(). + (handleKeyEvent): Dispatch event to focus owner. + (handleMouseEvent): Dispatch to child component. + (isDoubleBuffering): New helper method. + (peerPaint): Overridden to implement container painting with + double buffering. + (peerPaintChildren): New method. Paints the descendents of this + container. + (removeHeavyweightDescendent): New helper method. + * gnu/java/awt/peer/swing/SwingFramePeer.java + (peerPaint): Removed. + (peerPaintComponent): Overridden to paint the menu bar. + * gnu/java/awt/peer/swing/SwingLabelPeer.java + (SwingLabel.label): New field. + (SwingLabel.SwingLabel): Added constructor with Label argument. + (SwingLabel.getGraphics): Implemented to fetch the graphics from + the actual AWT component. + (SwingLabel.getParent): Implemented to fetch the parent from + the AWT component. + (SwingLabel.isShowing): Access the label field. + (SwingLabelPeer): Set alignment from label. + * gnu/java/awt/peer/swing/SwingListPeer.java: New class. + * gnu/java/awt/peer/swing/SwingMenuBarPeer.java: Documentation + fixlet. + * gnu/java/awt/peer/swing/SwingPanelPeer.java: + Don't be a lighweight peer. + (SwingPanelPeer): Call init. + * gnu/java/awt/peer/swing/SwingTextAreaPeer.java: New class. + * gnu/java/awt/peer/swing/SwingTextFieldPeer.java + (SwingTextField.textField): New field. + (SwingTextField.SwingTextField): New constructor. + (SwingTextField.isShowing): Access field not enclosing class. + (SwingTextField.getGraphics): New method. + (SwingTextField.getParent): New method. + (SwingTextFieldPeer): Call new constructor. + (select): Renamed arguments. + * gnu/java/awt/peer/swing/SwingWindowPeer.java + (SwingWindowPeer): Call init. + +2006-11-09 Tania Bento + + * javax/swing/JLabel.java + (JLabel(Icon)): Changed documentation; Changed text to null. + (JLabel(Icon,int)): Likewise. + (JLabel(text)): Changed documenation. + (JLabel(text,int)): Likewise. + (JLabel(text,Icon,int)): Changed documentation; Throw + IllegalArgumentException if int is not one of LEFT, RIGHT, + CENTER, LEADING or TRAILING. + +2006-11-09 David Gilbert + + * java/beans/beancontext/BeanContextSupport.java + (BeanContextSupport): Use correct dtime default, + (BeanContextSupport(BeanContext)): Likewise, + (BeanContextSupport(BeanContext, Locale)): Likewise, plus renamed + locale argument, + (BeanContextSupport(BeanContext, Locale, boolean)): Likewise, + (BeanContextSupport(BeanContext, Locale, boolean, boolean)): Likewise. + +2006-11-09 David Gilbert + + * java/beans/beancontext/BeanContextSupport.java + (getBeanContextPeer): Implemented. + +2006-11-09 Roman Kennke + + * javax/swing/text/html/BlockView.java + (cssHeight): Removed. + (cssWidth): Removed. + (cssSpans): New field. Replaces the two fields above. + (BlockView): Allocate cssSpans array. + (layoutMinorAxis): Fetch and use child span, not this view's span. + (setCSSSpan): Adjusted to use cssSpans array. + (setPropertiesFromAttributes): Adjusted to use cssSpans array. + +2006-11-09 Roman Kennke + + * javax/swing/text/html/InlineView.java + (nowrap): New field. + (getBreakWeight): Add support for nowrap. + (setPropertiesFromAttributes): Fetch the nowrap setting. + +2006-11-09 Roman Kennke + + * gnu/javax/swing/text/html/css/CSSParser.java + (parseRuleset): Use new Selector class. + (parseValue): Parse multiple anys, not only one. + (main): Allow stylesheet be specified on the command line. + Use new Selector class. + * gnu/javax/swing/text/html/css/CSSParserCallback.java + (startStatement): Use Selector class. + * gnu/javax/swing/text/html/css/CSSScanner.java + (readName): Actually read a character in the loop to avoid + endless loop. + * gnu/javax/swing/text/html/css/Length.java + (getValue): Only multiply when we have a percentage value. + * gnu/javax/swing/text/html/css/Selector.java: + New class. Provides handling of CSS selectors. + * javax/swing/text/html/StyleSheet.java + (CSSStyle.PREC_AUTHOR_IMPORTANT): New constant field. + (CSSStyle.PREC_AUTHOR_NORMAL): New constant field. + (CSSStyle.PREC_NORM): New constant field. + (CSSStyle.PREC_UA): New constant field. + (CSSStyle.PREC_USER_IMPORTANT): New constant field. + (CSSStyle.precedence): New field. + (CSSStyle.priority): Removed. + (CSSStyle.selector): New field. + (CSSStyle.CSSStyle(int,Selector)): Initialize with Selector + and precendence. + (CSSStyle.compareTo): Adjusted to use the precedence and + specificity of the selector. + (CSSStyleSheetParserCallback.precedence): New field. + (CSSStyleSheetParserCallback.selector): Removed. + (CSSStyleSheetParserCallback.style): New field. + (CSSStyleSheetParserCallback.CSSStyleSheetParserCallback): + Initialize with precedence. + (CSSStyleSheetParserCallback.declaration): Don't look up + existing rule, simply create new one. + (CSSStyleSheetParserCallback.endStatement): Append style + to stylesheet. + (CSSStyleSheetParserCallback.startStatement): Use new Selector + class. + (css): Changed to be ArrayList. + (addRule): Create parser with author-normal precendence. + (getRule): Fixed implementation. + (loadRules): Create parser with UA precendence. + (resolveStyle): Use Selector class for resolving and matching + stylesheet rules. + (translateHTMLToCSS): Added mappings for a couple of HTML + attributes. + +2006-11-09 David Gilbert + + Fixes bug #29770 + * java/beans/SimpleBeanInfo.java + (loadImage): Check for nulls. + +2006-11-09 Robert Schuster + + * native/jni/java-nio/gnu_java_nio_VMChannel.c: + (getpeername): Added 16 byte offset to memcpy operation. + +2006-11-09 Robert Schuster + + * native/jni/java-nio/gnu_java_nio_VMChannel.c: + (getsockname): Added 16 byte offset to memcpy operation. + +2006-11-08 Mark Wielaard + + Fixes bug #29754 + * java/io/OutputStreamWriter.java + (OutputStreamWriter(OutputStream,Charset)): Set encodingName. + (OutputStreamWriter(OutputStream,CharsetEncoder)): Likewise. + +2006-11-08 Roman Kennke + + * javax/swing/text/html/HTMLEditorKit.java + (getParser): Use plain HTML_401F DTD. + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.print): Removed method and all calls to it. + (HTMLReader.printBuffer): Removed method and all calls to it. + (HTMLReader.inImpliedParagraph): New field. + (HTMLReader.inParagraph): New field. + (HTMLReader.addContent): Create implied p-tag if necessary. + (HTMLReader.addSpecialElement): Create implied p-tag if necessary. + (HTMLReader.blockClose): Close implied p-tag if necessary. + (HTMLReader.blockOpen): Close implied p-tag if necessary. + * gnu/javax/swing/text/html/parser/HTML_401Swing.java: Removed. + +2006-11-08 Roman Kennke + + * javax/swing/text/html/HTMLEditorKit.java + (HTMLFactory.create): Removed mapping for TD tag. This + is done in TableView. + * javax/swing/text/html/TableView.java: + Implemented from scratch. + +2006-11-07 Roman Kennke + + * gnu/javax/swing/text/html/parser/support/Parser.java + (_handleText): Check if text content is actually allowed before + passing empty text fragments on to the parser callbacks. + +2006-11-07 Mark Wielaard + + * gnu/java/net/protocol/jar/Handler.java (parseURL): Flatten jar + path. + (flat): New method. + +2006-11-07 Tania Bento + + * java/awt/FlowLayout.java + (getSize): If parent does not have a component, then a + different formula is used to calcuate the width. + +2006-11-07 Roman Kennke + + * javax/swing/text/html/HTMLEditorKit.java + (HTMLFactory.create): Include ListView. + * javax/swing/text/html/ListView.java + (paint): Removed comment. + * javax/swing/text/html/StyleSheet.java + (CSSStyle.priority): New field. + (CSSStyle.CSSStyle(int)): New constructor with priority. + (CSSStyle.compareTo): New method. Used for sorting the styles. + (CSSStyleSheetParserCallback.declaration): Store the style + with the complete selector. + (ListPainter.attributes): Renamed as field. + (ListPainter.styleSheet): New field. + (ListPainter.type): New field. + (ListPainter.ListPainter): Pass StyleSheet to constructor. + (ListPainter.paint): Provide simplistic implementation. + (getListPainter): Pass StyleSheet to constructor. + (resolveStyle): Fixed CSS style resolving. + +2006-11-07 Roman Kennke + + * gnu/javax/swing/text/html/css/BorderWidth.java: + New class. Handles CSS border width values. + * gnu/javax/swing/text/html/css/Length.java + (floatValue): Made protected so that BorderWidth can access it. + * javax/swing/text/html/CSS.java + (Attribute.BORDER_BOTTOM_COLOR): New static field. + (Attribute.BORDER_BOTTOM_STYLE): New static field. + (Attribute.BORDER_LEFT_COLOR): New static field. + (Attribute.BORDER_LEFT_STYLE): New static field. + (Attribute.BORDER_RIGHT_COLOR): New static field. + (Attribute.BORDER_RIGHT_STYLE): New static field. + (Attribute.BORDER_TOP_COLOR): New static field. + (Attribute.BORDER_TOP_STYLE): New static field. + (getValue): Added some mappings for the border color and + border width values. + * javax/swing/text/html/CSSBorder.java: New class. Implements + CSS borders. + * javax/swing/text/html/StyleSheet.java + (BoxPainter.background): New field. + (BoxPainter.border): New field. + (BoxPainter.bottomInset): Documented. + (BoxPainter.leftInset): Documented. + (BoxPainter.rightInset): Documented. + (BoxPainter.topInset): Documented. + (BoxPainter.BoxPainter): Added support for borders and background. + (BoxPainter.getInset): Add border insets. + (BoxPainter.paint): Implemented. Paints the background and the + CSS border. + (addRule): Be less picky about parse and IO exceptions. + (getBoxPainter): Adjust to new BoxPainter constructor. + +2006-11-07 Andreas + + * examples/Makefile.am: Add rule to install the *.html files we use + in the Swing Demo. + +2006-11-06 Francis Kung + + * gnu/java/awt/peer/gtk/ComponentGraphics.java + (fillRect): Handle custom composites. + (drawRenderedImage): Handle custom composites. + (drawImage): Handle custom composites. + (createBuffer): New method. + (drawLine): Handle custom composites. + (drawComposite): New method. + (fill): Handle custom composites. + (getNativeCM): New method. + (drawGlyphVector): Handle custom composites. + (drawRect): Handle custom composites. + (draw): Handle custom composites. + * gnu/java/awt/peer/gtk/VolatileImageGraphics.java + (drawComposite): Unset composite during draw call, to prevent parent + from handling composite again. + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (getBufferCM): Added comments. + (getNativeCM): Made abstract. + (setComposite): Removed comments. + +2006-11-06 Roman Kennke + + * examples/gnu/classpath/examples/swing/HtmlDemo.java: + Fixed initial window size and start document. + +2006-11-06 Roman Kennke + + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.addSpecialElement): Removed comment about + htmlAttributeSet. + (HTMLReader.handleComment): Create SimpleAttributeSet instead + of htmlAttributeSet. + * javax/swing/text/html/parser/DocumentParser.java + (gnuParser.handleStartTag): Use SimpleAttributeSet instead + of htmlAttributeSet. + * javax/swing/text/html/parser/ParserDelegator.java + (gnuParser.handleStartTag): Use SimpleAttributeSet instead + of htmlAttributeSet. + * gnu/javax/swing/text/html/parser/GnuParserDelegator.java + (gnuParser.handleStartTag): Use SimpleAttributeSet instead + of htmlAttributeSet. + * gnu/javax/swing/text/html/parser/support/Parser.java + (getAttributes): Return a SimpleAttributeSet. + (restOfTag): Don't set resolving parent here. + +2006-11-06 Tania Bento + + * java/awt/TextComponent.java + (setSelectionStart): Added check. + +2006-11-06 Tania Bento + + * java/awt/TextField.java + (minimumSize(int)): Check if minimum size has been previously + set and changed values of Dimension returned if peer == null. + (preferredSize(int)): Check if preferred size has been previously + set and changed values of Dimension returned if peer == null. + +2006-11-06 Roman Kennke + + * javax/swing/JTree.java + (TreeModelHandler.treeNodesRemoved): Implemented. + (TreeModelHandler.treeStructureChanged): Implemented. + (nodeStates): Made package private. + +2006-11-06 Francis Kung + + PR 29420 + * javax/swing/JTree.java + (clearSelectionPathStates): New private method to clean up nodeStates. + (removeSelectionPath): Call clearSelectionPathStates(). + (removeSelectionPaths): Call clearSelectionPathStates(). + (removeSelectionRow): Call clearSelectionPathStates(). + (setSelectionPath): Call clearSelectionPathStates(). + (setSelectionPaths): Call clearSelectionPathStates(). + (setSelectionRow): Call clearSelectionPathStates(). + +2006-11-06 Ito Kazumitsu + + Fixes bug #29703 + * java/util/regex/Matcher.java(reset): Reset inputCharIndexed. + +2006-11-06 Roman Kennke + + * examples/gnu/classpath/examples/swing/HtmlDemo.java: + Changed to implement a minimalistic browser. + * examples/gnu/classpath/examples/swing/forms.html, + * examples/gnu/classpath/examples/swing/textstyles.html, + * examples/gnu/classpath/examples/swing/welcome.html: + Some example content. + +2006-11-06 Roman Kennke + + * javax/swing/text/ComponentView.java + (setParent): Lock the document and repaint the hosting + container. + * javax/swing/text/FlowView.java + (FlowStrategy.createView): Removed comment. + (FlowView): Initialize span with Short.MAX_VALUE. + (getFlowStart): Return 0 unconditionally. + (layout): Moved code around to make it more readable. + (loadChildren): Always set the parent. + * javax/swing/text/GlyphView.java + (DefaultGlyphPainter.fontMetrics): New field. + (DefaultGlyphPainter.getAscent): Use new helper method to + synchronize the font metrics. + (DefaultGlyphPainter.getBoundedPosition): Use new helper method + to synchronize the font metrics. + (DefaultGlyphPainter.getDescent): Use new helper method to + synchronize the font metrics. + (DefaultGlyphPainter.getHeight): Use new helper method to + synchronize the font metrics. + (DefaultGlyphPainter.getSpan): Use new helper method to + synchronize the font metrics. + (DefaultGlyphPainter.modelToView): Use new helper method to + synchronize the font metrics. + (DefaultGlyphPainter.updateFontMetrics): New helper method for + font metrics caching. + (DefaultGlyphPainter.viewToModel): Use new helper method to + synchronize the font metrics. Fixed view to model mapping. + * javax/swing/text/View.java + (removeAll): Pass null to replace(). + (setParent): Only reparent children that have this view as parent. + +2006-11-05 Mark Wielaard + + * include/gnu_java_net_VMPlainDatagramSocketImpl.h: Removed. + * include/gnu_java_nio_channels_FileChannelImpl.h: Removed. + * native/jni/java-net/gnu_java_net_VMPlainDatagramSocketImpl.c: + Removed. + * native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c: + Removed. + * native/jni/java-nio/Makefile.am (libjavanio_la_SOURCES): + Remove gnu_java_nio_channels_FileChannelImpl.c. + +2006-11-03 Roman Kennke + + * javax/swing/text/html/BlockView.java + (attributes): New field. + (cssHeight): New field. + (cssWidth): New field. + (painter): New field. + (calculateMajorAxisRequirements): Overridden to account for + CSS settings. + (calculateMinorAxisRequirements): Overridden to account for + CSS settings. + (layoutMinorAxis): Overridden to account for CSS settings. + (changedUpdate): Formatting fixlet. + (constrainSize): New helper method. + (getAlignment): Fix alignment. + (getAttributes): Cache attributes for better performance. + (getStyleSheet): Fetch stylesheet from document rather than creating + a new one. + (paint): Remove comment. + (setCSSSpan): New helper method. + (setPropertiesFromAttributes): Implemented to fetch the + recognized properties. + * javax/swing/text/html/CSS.java + (getValue): Added mapping for width and height attributes. + * javax/swing/text/html/InlineView.java + (longestWord): New field. + (getLongestWord): New helper method. + (calculateLongestWord): New helper method. + (getMinimumSpan): Overridden to constrain the minimum span by the + longest word. + * javax/swing/text/html/ParagraphView.java + (cssHeight): New field. + (cssWidth): New field. + (calculateMinorAxisRequirements): Overridden to account for + CSS settings. + (setCSSSpan): New helper method. + (setPropertiesFromAttributes): Fetch CSS width and height. Added + null check. + * gnu/javax/swing/text/html/css/Length.java + (percentage): New field. + (Length): Determine percentage values. + (getValue(float)): New method for handling percentage values. + (isPercentage): New method. + +2006-11-03 Tania Bento + + * java/awt/TextArea.java + (getMinimumSize): Changed documentation. + (getPreferredSize): Changed documentation. + (getMinimumSize(int,int)): Changed documenation. + (getPreferredSize(int,int)): Changed documenation. + (minimumSize): Changed documentation. + (preferredSize): Changed documenation. + (minimumSize(int,int)): Changed documentation. Checked if + minimum size had been previously set and changed values of + Dimension returned if peer == null. + (preferredSize(int, int)): Checked if preferred size had been + previously set and changed values of Dimension returned if + peer = null. + +2006-11-03 Tania Bento + + * java/awt/event/ComponentEvent.java + (paramString): Changed format of string representation returned. + +2006-11-03 Roman Kennke + + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.FormAction.start): Added support for textarea. + (HTMLReader.FormAction.end): Added support for textarea. + (HTMLReader.HeadAction.end): Call super to actually close the + block. + (HTMLReader.inTextArea): New field. + (HTMLReader.textAreaDocument): New field. + (HTMLReader.handleText): Call textAreaContent when inside + a textarea tag. + (HTMLReader.textAreaContent): Implemented to initialize + the text area's model. + * javax/swing/text/html/FormView.java + (createComponent): Added support for textarea tag. + +2006-11-03 Roman Kennke + + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.IsindexAction.start): Implemented. + +2006-11-03 Roman Kennke + + * javax/swing/text/html/StyleSheet.java + (addRule): Implemented. + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.inStyleTag): New field. + (HTMLReader.styles): New field. + (HTMLReader.HeadAction.end): Implemented to read all stylesheets, + if any. + (HTMLReader.StyleAction.start): Set inStyleTag flag. + (HTMLReader.StyleAction.end): Set inStyleTag flag. + (HTMLReader.handleText): When inside a style tag, add + content to the styles array. + +2006-11-02 Roman Kennke + + * javax/swing/text/html/FormView.java + (maxIsPreferred): New field. + (createComponent): Initialize components correctly. + (getMaximumSpan): Return the preferred span for components + that need this. The maxIsPreferred flag is set accordingly + in createComponent. + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.FormAction.start): Implemented to set the + correct model as attribute. + (HTMLReader.FormAction.setModel): New helper method. + (HTMLReader.FormAction.end): Call super to finish the element. + Added TODO about things left to do. + (HTMLReader.handleComment): Use SimpleAttributeSet rather + than htmlAttributeSet. + * javax/swing/text/html/HTMLEditorKit.java + (HTMLFactory.create): Create BlockView for FORM tags. + Create FormView for INPUT, TEXTAREA and SELECT tags. + +2006-11-02 David Gilbert + + * java/awt/geom/GeneralPath.java: API doc fixes. + +2006-11-02 Roman Kennke + + * javax/swing/text/html/ImageView.java + (getImageURL): Fetch attribute from element. Consider the + base URL for relative image locations. + +2006-11-02 Roman Kennke + + * javax/swing/JEditorPane.java + (setContentType): Strip off attributes. + * javax/swing/text/html/HTMLEditorKit.java + (LinkController.activateLink(int,JEditorPane,int,int): New + method. Implements activation of a hyperlink. + (LinkController.activateLinke(int,JEditorPane)): Delegate + to the other activateLink() method. + (LinkController.createHyperlinkEvent): New helper method. + (LinkController.mouseClicked): Implemented to activate the link. + (LinkController.mouseDragged): Added comment that this + method does nothing. + (LinkController.mouseMoved): Update cursor for hyperlinks. + (mouseHandler): Renamed field to linkController. + (HTMLEditorKit): Create a link controller. + (clone): Give the clone a new link controller. + (deinstall): De-install link controller as mouseMotionListener too. + (install): Install link controller as mouseMotionListener too. + +2006-11-02 Roman Kennke + + PR 29644 + * javax/swing/text/FlowView.java + (FlowStrategy.changedUpdate): Reversed condition. This caused + wrong layout and bad performance. + (FlowStrategy.insertUpdate): Reversed condition. This caused + wrong layout and bad performance. + (FlowStrategy.removeUpdate): Reversed condition. This caused + wrong layout and bad performance. + (LogicalView): Changed to be a subclass of CompositeView. + (LogicalView()): Only take one Element argument. + (LogicalView.childAllocation): New method for implementing + the abstract CompositeView method. + (LogicalView.forwardUpdateToView): Overridden for correct + reparenting. + (getMinimumSpan): Overridden to handle line breaking correctly. + (getPreferredSpan): Implemented to handle line breaking correctly. + (getViewAtPoint): New method for implementing + the abstract CompositeView method. + (getViewIndexAtPosition): Overridden to handle leaf elements + correctly. + (isAfter): New method for implementing + the abstract CompositeView method. + (isBefore): New method for implementing + the abstract CompositeView method. + (loadChildren): Overridden to handle leaf elements + correctly. + (paint): New method for implementing + the abstract CompositeView method. + (calculateMinorAxisRequirements): Use preferredSpan in calculation. + (loadChildren): Initialize flow layout by sending a synthetic + insertUpdate() to the layout strategy. + * javax/swing/text/GlyphView.java + (DefaultGlyphPainter.getBoundedPosition): Fall back to Toolkit's + font metrics if component is not available. Add initial offset + to result. + (breakView): Be more clever when breaking the view. + (getBreakLocation): New helper method to determine a good + break location. + (getBreakWeight): Be more clever when breaking the view. + (getTabbedSpan): Make sure we have a painter. Use view's + start and end offset rather than the element's. + * javax/swing/text/Utilities.java + (drawTabbedText): Avoid useless add and sub with the y offset. + +2006-11-02 Roman Kennke + + PR 29644 + * gnu/java/awt/peer/ClasspathFontPeer.java + (getStringBounds): Removed abstract method. This is replaced + in java.awt.Font to use a TextLayout. + * gnu/java/awt/peer/gtk/GtkWindowPeer.java + (GtkWindowPeer): Set a font on the window object. + * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java + (FreetypeGlyphVector(Font,String,FontRenderContext,int)): + Changed to take char,int,int instead of String. Filter + control characters. + (FreetypeGlyphVector(Font,String,FontRenderContext)): + Create char array out of string. + (getLogicalBounds): Don't translate bounds. They already are + translated. + * gnu/java/awt/peer/gtk/GdkFontMetrics.java + (stringWidth): Filter out control characters. + * gnu/java/awt/peer/gtk/GdkFontPeer.java + (getStringBounds): Removed unneeded method. + (layoutGlyphVector): Pass char array directly to FreetypeGlyphVector + constructor. + * gnu/java/awt/peer/qt/QtFontPeer.java + (getStringBounds): Removed unneeded method. + * gnu/java/awt/peer/x/XFontPeer.java + (getStringBounds): Removed unneeded method. + * gnu/java/awt/peer/x/XFontPeer2.java + (getStringBounds): Removed unneeded method. + * java/awt/Font.java + (getStringBounds(char[],int,int,FontRenderContext)): + Use TextLayout to determine the bounds. + (getStringBounds(CharacterIterator,int,int,FontRenderContext)): + Delegate to the char[] version of this method. + (getStringBounds(String,FontRenderContext)): + Delegate to the char[] version of this method. + (getStringBounds(String,int,int,FontRenderContext)): + Delegate to the String version of this method. + +2006-11-01 Tania Bento + + * java/awt/ScrollPaneAdjustable.java + (paramString): Changed format of string representation returned. + (paramStringHelper): New private method. + +2006-11-01 Tania Bento + + * java/awt/GridBagLayout.java + (toString): Implemented method. + +2006-10-30 Thomas Fitzsimmons + + * native/plugin/gcjwebplugin.cc (GCJ_New): Move GLib threading + initialization to NP_Initialize. + (NP_Initialize): Initialize GLib threading. + +2006-10-31 Tania Bento + + * javax/swing/JTextField.java + (fireActionPerformed): When creating the new event, if + actionCommand == null, then getText() is used. + +2006-10-31 Francis Kung + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (fillArc): Corrected arc type to Arc2D.PIE. + +2006-10-31 Roman Kennke + + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.PreAction.end): Implemented. + (HTMLReader.PreAction.start): Implemented. + (HTMLReader.inPreTag): New field. + (HTMLReader.handleTag): When inside a pre tag, call preContent(). + (HTMLReader.preContent): Implemented. + +2006-10-31 Tania Bento + + * javax/swing/JTextField.java + (fireActionPerformed): When creating the new event, + actionCommand should be used as the command, not + getText(). + +2006-10-31 Roman Kennke + + * javax/swing/text/html/HTMLEditorKit.java + (write): Use HTMLWriter or MinimalHTMLWriter for writing + HTML or Styled documents. + +2006-10-31 David Fu + + * javax/swing/text/html/HTMLWriter.java: New class. + +2006-10-30 Roman Kennke + + * java/awt/dnd/DragSourceContext.java + (dragExit): Use constant fields instead of 0. + (updateCurrentCursor): Completed implementation. + +2006-10-30 Roman Kennke + + * java/awt/dnd/DragGestureRecognizer.java + (resetRecognizer): Added API docs. Do not replace the events object + but rather clear() it. Removed not implemented tag. + +2006-10-30 Roman Kennke + + * java/awt/datatransfer/DataFlavor.java + (writeExternal): Remove not implemented tag. + +2006-10-30 Roman Kennke + + * java/awt/datatransfer/DataFlavor.java + (javaFileListFlavor): Don't explicitly specify class. + (plainTextFlavor): Don't explicitly specify class. + (mimeType): Changed to type MimeType. Remove final. + (representationClass): Remove final. + (DataFlavor): Don't do anything here. + (DataFlavor(Class,String,String)): Removed. + (DataFlavor(Class,String)): Initialize here. + (DataFlavor(String,String,ClassLoader)): Initialize in init(). + (DataFlavor(String,String)): Initialize in init(). + (DataFlavor(String)): Initialize in init(). + (init): New initialization method. + (getMimeType): Delegate to MimeType.toString(). + (getParameter(String,String)): Removed. Is now done in MimeType. + (getParameter(String)): Delegate to MimeType. + (getPrimaryType): Delegate to MimeType. + (getRepresentationClassFromMime): Removed. + (getRepresentationClassFromMimeThrows): Removed. + (getSubType): Delegate to MimeType. + (hashCode): Take MimeType.toString() for the hashCode. + (isFlavorRemoveObjectType): Return true only when representation + class is remove and serializable and the mime type is remote. + (isFlavorSerializedObjectType): Return true only when representation + class is serializable and the mime type is serialized. + (isMimeTypeEqual): Rewritten to delegate to MimeType.matches(). + (isMimeTypeSerializedObject): Delegate to isMimeTypeEqual(). + (readExternal): Implemented stub method. + (writeExternal): Implemented stub method. + * java/awt/datatransfer/MimeType.java: New helper class. + +2006-10-28 Roman Kennke + + * javax/swing/TransferHandler.java + (importData): Implemented stub method. Added API docs. + +2006-10-26 Christian Elias Naur + + * native/jni/gtk-peer/gtk_jawt.c (classpath_jawt_get_depth): New + function. + * native/jni/classpath/classpath_jawt.h: Likewise. + * native/jawt/jawt.c (_Jv_GetDrawingSurfaceInfo): Added + initializer for surface_info_x11->depth. + +2006-10-26 Tania Bento + + * java/awt/FileDialog.java: + (setFile): Changed if-clause condition. + +2006-10-25 Francis Kung + + * include/gnu_java_nio_VMChannel.h, + * include/java_net_VMNetworkInterface.h, + * include/gnu_java_nio_EpollSelectorImpl.h, + * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h, + * include/gnu_java_nio_FileChannelImpl.h, + * include/gnu_java_nio_KqueueSelectorImpl.h, + * include/gnu_java_nio_VMPipe.h, + * include/gnu_java_net_VMPlainSocketImpl.h: Regenerated. + +2006-10-25 Tania Bento + + * java/awt/Dialog.java: Created new private variable + next_dialog_number. + (Dialog(Frame, String, boolean, GraphicsConfiguration)): + Set cursor to default cursor. + (Dialog(Dialog, STring, boolean, GraphicsConfiguration)): + Same. + (generateName): New method. + (getUniqueLong): New private method. + * java/awt/FileDialog.java: Created new private variable + next_file_dialog_number. + (setFile): If file == "", set it to null. + (generateName): New method. + (getUniqueLong): New private method. + +2006-10-25 Robert Schuster + + * java/net/MulticastSocket.java: + (setNetworkInterface): Rewritten. + +2006-10-25 Robert Schuster + + * native/jni/java-net/javanet.h: Added declaration for + _javanet_create_inetaddress. + * native/jni/java-net/javanet.c: + (_javanet_create_inetaddress): Removed static keyword. + +2006-10-25 Robert Schuster + + * gnu/java/net/PlainDatagramSocketImpl.java: + (connect): Use VMChannel instance for connect call. + (getTimeToLive): Call VMPlainSocketImpl.getTimeToLive. + (setTimeToLive): Call VMPlainSocketImpl.setTimeToLive. + (setOption): Handle multicast options. + (getOption): Handle multicast options. + * gnu/java/net/PlainSocketImpl.java: + (getTimeToLive): Call VMPlainSocketImpl.getTimeToLive. + (setTimeToLive): Call VMPlainSocketImpl.setTimeToLive. + (setOption): Filter unappropriate options. + (getOption): Filter unappropriate options. + (connect): Use given SocketAddress. + (close): Reset address and port. + (getInetAddress): + * include/Makefile.am: Removed all occurences of + gnu_java_net_VMPlainDatagramSocketImpl.h. + * include/gnu_java_net_VMPlainDatagramSocketImpl.h: Removed. + * native/jni/java-net/Makefile.am: Removed + gnu_java_net_VMPlainDatagramSocketImpl.c from sources. + * native/jni/java-net/gnu_java_net_VMPlainDatagramSocketImpl.c: + Removed. + as SocketException, declare to throw SocketException. + * native/jni/java-nio/gnu_java_nio_VMChannel.c: Added definitions + for SocketException and ConnectException. + (Java_gnu_java_nio_VMChannel_connect): Throw SocketException instead + of IOException. + (Java_gnu_java_nio_VMChannel_connect6): Throw SocketException instead + of IOException. + (Java_gnu_java_nio_VMChannel_accept): Rewritten. + (JCL_thread_interrupted): New function. + (initIDs): Added initialisation for isThreadInterrupted method id. + * native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c: Added + CPNET_IP_TTL to java_sockopt enum. + (Java_gnu_java_net_VMPlainSocketImpl_setOption): Handle CPNET_IP_TTL + case, handle SO_LINGER case properly. + (Java_gnu_java_net_VMPlainSocketImpl_getOption): Handle CPNET_IP_TTL + case, handle SO_LINGER case properly. + (Java_gnu_java_net_VMPlainSocketImpl_getMulticastInterface): New + function. + (Java_gnu_java_net_VMPlainSocketImpl_setMulticastInterface): New + function. + (Java_gnu_java_net_VMPlainSocketImpl_setMulticastInterface6): New + function. + (Java_gnu_java_net_VMPlainSocketImpl_leave6): Fixed constant to be + IPV6_LEAVE_GROUP. + * vm/reference/gnu/java/net/VMPlainDatagramSocketImpl.java: Removed. + * vm/reference/gnu/java/nio/VMChannel.java: + (connect(int, byte[], int, int)): Declare to throw SocketException. + (connect6): Declare to throw SocketException. + (connect(InetSocketAddress, int)): Catch IOException and rethrow + (isThreadInterrupted): New method. + * vm/reference/gnu/java/net/VMPlainSocketImpl.java: Added CP_IP_TTL + field. + (setTimeToLive): New method. + (getTimeToLive): New method. + (setMulticastInterface(int, InetAddress)): New method. + (setMulticastInterface(int, int, Inet4Address): New method. + (setMulticastInterface6(int, int, Inet6Address): New method. + (setOptions): Handle SO_LINGER case. + (getOptions): Add missing SO_REUSEADDR case. + * java/net/Socket.java: + (Socket(InetAddress, int, InetAddress, int, boolean)): Close socket + when exception was thrown out of connect(). + (setSoLinger): Replaced instantiations with valueOf calls, replaced + Boolean.FALSE with Integer.valueOf(-1). + * native/jni/native-lib/cpio.h: Added cpio_closeOnExec declaration. + * native/jni/native-lib/cpio.c: Added cpio_closeOnExec implementation. + * NEWS: Documented VM interface changes. + +2006-10-25 Robert Schuster + + * java/net/Inet6Address.java: + (isMulticastAddress): Fixed check. + +2006-10-25 Robert Schuster + + Fixes PR29576 + * java/net/MulticastSocket.java: + (getNetworkInterface): Return a special NetworkInterface instance + if the socket's multicast interface is set to any. + +2006-10-25 Robert Schuster + + Fixes PR29576 + * java/net/NetworkInterface.java: + (createAnyInterface): New method. + (equals): Added if-statement to handle case where netif.name is null. + * vm/reference/java/net/VMNetworkInterface.java: + (hashCode): Rewritten. + (VMNetworkInterface): New constructor. + +2006-10-24 Thomas Fitzsimmons + + * tools/Makefile.am: Add ASM_JAR define to each tool's CFLAGS. + * tools/toolwrapper.c (main): Set bootclasspath, not classpath. + Add ASM_JAR to bootclasspath. + +2006-10-24 Tania Bento + + * java/awt/Scrollbar.java: + (setLineIncrement): Removed unnecessary if-clause and if + lineIncrement == 0, then it should be set to 1, not 0. + (setPageIncrement): Removed unnecessary if-clause and if + pageIncrement == 0, then it should be set to 1, not 0. + (setValues): If visibleAmount <= 0, it should be set to 1, not 0. + If maximum <= minimum, maximum should be set to mininum + 1. The + actual value of maximum is maximum - visibleAmount, so I made + this change to the appropriate if-check. Remove the two unneccessary + if-clauses. + +2006-10-23 Francis Kung + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (cairoSetFont): New method. + (copy): Set font using setFont method. + (setFont): Call cairoSetFont. + (setup): Set font using setFont method. + * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h: Added method. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c + (install_font_peer): Removed. + (cairoDrawGlyphVector): Removed call to install_font_peer. + (cairoSetFont): New method. + +2006-10-23 Thomas Fitzsimmons + + * gnu/java/awt/peer/NativeEventLoopRunningEvent.java: New file. + * gnu/java/awt/peer/gtk/GtkMainThread.java: Post + NativeEventLoopRunningEvent after GTK main loop start and stop. + * java/awt/EventQueue.java (isShutdown): Check nativeLoopRunning. + (getNextEvent): Set dispatchThread to null. + (postEventImpl): Set nativeLoopRunning. + (pop): Interrupt event dispatch thread. + * java/awt/Frame.java (noteFrame): Synchronize on weakFrames. + +2006-10-22 Christian Thalinger + + * native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c (config-int.h): + Added include. + * native/jni/java-nio/gnu_java_nio_VMChannel.c (config-int.h): + Likewise. + +2006-10-23 Marco Trudel + + * gnu/javax/crypto/pad/PKCS7.java (unpad): Removed an unnecessary test. + * javax/crypto/CipherOutputStream.java: Re-implemented. + * gnu/javax/crypto/jce/cipher/CipherAdapter.java + (engineUpdate(byte[], int, int)): Always keep data for unpadding in padded + decryption mode and check if it is a complete block. + (engineUpdate(byte[], int, int, byte[], int)): Likewise. + (engineDoFinal(byte[], int, int)): In padded decryption mode, take + partially processed data into account. + +2006-10-21 Tom Tromey + + PR classpath/29086: + * java/util/AbstractCollection.java (toArray): Removed cast. + +2006-10-20 Tom Tromey + + * tools/gnu/classpath/tools/javah/JniIncludePrinter.java (printClass): + Don't use mangled class name for .h file. + * tools/gnu/classpath/tools/javah/JniStubPrinter.java (printClass): + Don't use mangled class name for .c file. + * tools/gnu/classpath/tools/javah/CniPrintStream.java (writeClass): + Handle classes from the default package. + +2006-10-20 Francis Kung + + * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h: Added missing constants. + +2006-10-19 Francis Kung + + PR 29510 + * java/awt/image/BufferedImage.java + (constructor): Updated some properties of default image types. + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java + (argb32): Updated field to match default in BufferedImage. + +2006-10-18 Roman Kennke + + PR 29419 + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (copyArea): Changed size comparison to return when size == 0 + too. + * javax/swing/JViewport.java + (paintBackingStore): Check width and height of blitted area + and only do blit if its > 0. + (paintBlit): Check width and height of blitted area + and only do blit if its > 0. + +2006-10-18 Roman Kennke + + PR 27091 + * gnu/java/awt/peer/gtk/GtkFramePeer.java + (maximize): New native method. + (unmaximize): New native method. + (iconify): New native method. + (deiconify): New native method. + (getState): Implemented. + (setState): Implemented. + * gnu/java/awt/peer/gtk/GtkWindowPeer.java + (oldState): Rename to windowState and made protected, so that + the FramePeer can access it. + (postWindowEvent): Handle state change events more gently and + correctly. + * java/awt/Frame.java + (getState): Fetch state from getExtendedState(). + (setExtendedState): Update the peer. Check if the state change + is actually supported. + (getExtendedState): Update the state from the peer. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFramePeer.c + (maximize): New method. + (unmaximize): New method. + (iconify): New method. + (deiconify): New method. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c + (AWT_FRAME_NORMAL): New macro. + (AWT_FRAME_ICONIFIED): New macro. + (AWT_FRAME_MAXIMIZED_BOTH): New macro. + (window_window_state_cb): Rewritten to handle window state changes + more gently (mostly on the java side of the world). + * include/gnu_java_awt_peer_gtk_GtkFramePeer.h: Regenerated. + +2006-10-18 Tania Bento + + * java/awt/CardLayout.java: + (maximumLayoutSize): Return a new Dimension with Integer.MAX_VALUE as + its height and width if Container passed as argument is null. + (gotoComponent): Consider the case where the component is not visible. + +2006-10-18 Thomas Fitzsimmons + + * resource/gnu/classpath/tools/appletviewer/MessagesBundle.properties: + Rename file... + * resource/gnu/classpath/tools/appletviewer/messages.properties: + New file. + * resource/gnu/classpath/tools/appletviewer/MessagesBundle_de.properties: + Remove file. + * tools/gnu/classpath/tools/appletviewer/AppletWarning.java: + Remove file. + * tools/gnu/classpath/tools/appletviewer/ConsoleDialog.java: + Likewise. + * tools/gnu/classpath/tools/appletviewer/Messages.java: New file. + * tools/gnu/classpath/tools/appletviewer/CommonAppletStub.java: + Retrieve user-visible strings through Messages.getString. + * tools/gnu/classpath/tools/appletviewer/Main.java: Likewise. + * tools/gnu/classpath/tools/appletviewer/PluginAppletContext.java: + Likewise. + * tools/gnu/classpath/tools/appletviewer/PluginAppletViewer.java: + Likewise. + * tools/gnu/classpath/tools/appletviewer/PluginAppletWindow.java: + Likewise. + * tools/gnu/classpath/tools/appletviewer/StandaloneAppletContext.java: + Likewise. + * tools/gnu/classpath/tools/appletviewer/StandaloneAppletViewer.java: + Likewise. + * tools/gnu/classpath/tools/appletviewer/StandaloneAppletWindow.java: + Likewise. + +2006-10-18 Roman Kennke + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c + (AWT_WINDOW_OPENED): Remove unnecessary macro. + (window_show_cb): Removed unnecessary function. + (connect_signals): Don't connect signal for show. * + gnu/java/awt/peer/gtk/GtkWindowPeer.java + (hasBeenShown): Removed. This is handled in java.awt.Window. + (postWindowEvent): Removed handling of WINDOW_OPENED. This is done + in java.awt.Window. * java/awt/Window.java + (dispose): Post WINDOW_CLOSED here, not WINDOW_OPENED. + +2006-10-18 Francis Kung + + * gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java + (drawRenderedImage): New method. + (drawImage): New method. + (CairoSurfaceGraphics): Set clip. + (createBuffer): New method. + (getBufferCM): New method. + (drawComposite): New method. + (fill): New method. + (getNativeCM): New method. + (drawGlyphVector): New method. + (draw): New method. + * gnu/java/awt/peer/gtk/VolatileImageGraphics.java + (getNativeCM): Reflect renamed field. + * gnu/java/awt/peer/gtk/CairoSurface.java + (cairoCM_pre): Renamed from cairoColorModel. + (cairoColorModel): Set premultiplication to false. + +2006-10-18 Roman Kennke + + PR 28769 + * javax/swing/JScrollPane.java + (viewportBorder): Made field private. + (wheelScrollingEnabled): Made field private. + (JScrollPane): Enabled wheel scrolling by default. + * javax/swing/JTree.java + (TreeSelectionRedirector.valueChanged): Don't repaint anything + here. + (getScrollableUnitIncrement): Fixed thinko. + * javax/swing/plaf/basic/BasicScrollBarUI.java + (static scrollByBlock): New static method to avoid code duplication + for the BasicScrollPane wheel scrolling. + (static scrollByUnits): New static method to avoid code duplication + for the BasicScrollPane wheel scrolling. + (scrollByBlock): Delegate to static helper method. + (scrollByUnit): Delegate to static helper method. + * javax/swing/plaf/basic/BasicScrollPaneUI.java + (MouseWheelHandler.mouseWheelMoved): Delegate to BasicScrollBarUI + static helper methods to avoid code duplication. + (MouseWheelHandler.bounds): Removed. + (MouseWheelHandler.getValue): Removed. + (MouseWheelHandler.scroll): Removed. + +2006-10-18 Roman Kennke + + PR 29502 + * gnu/java/awt/peer/gtk/GtkWindowPeer.java + (updateComponent): Don't override this here. + * java/awt/Window.java + (addWindowListener): Ignore null listener. Set newEventsOnly flag. + (addWindowFocusListener): Ignore null listener. Set newEventsOnly + flag. + (addWindowStateListener): Ignore null listener. Set newEventsOnly + flag. + +2006-10-18 Roman Kennke + + * javax/swing/JEditorPane.java + (getStream): Try to detect and set the content type of the + connection stream. + +2006-10-18 Roman Kennke + + * javax/swing/RepaintManager.java + (RepaintWorkerEvent): Pass full set of params to super. + (RepaintWorker.dispatch): Overridden to allow apps to call this + via reflection. + (addDirtyRegion): Synchronize a little more to protect the + dirtyComponents field and avoid NPEs. + (invokeLater): Pass full set of params to RepaintWorkerEvent + constructor. + +2006-10-18 Roman Kennke + + * javax/swing/JEditorPane.java + (page): Removed field. The page is now stored in the correct + document property. + (getPage): Fetch page URL from document property. + (read): Set the document for this JEditorPane. Use a Reader + for reading in the document. + (setPage): Call getStream() to get the stream from which we read. + Fire property change. Store page in document property. + +2006-10-18 Roman Kennke + + * java/awt/datatransfer/DataFlavor.java + (DataFlavor(String)): Removed check for space in mime string. + +2006-10-18 Roman Kennke + + * java/awt/Container.java + (validateTree): Call ContainerPeer.begin|endLayout() rather than + begin|endValidate(). + (validate): Call ContainerPeer.begin|endValidate() here. + Added some local vars to avoid NPEs. + +2006-10-18 Roman Kennke + + * native/target/.cvsignore + * native/target/Linux/.cvsignore + * native/target/generic/.cvsignore: + Added to let CVS ignore the generated Makefile and Makefile.in + files. + +2006-10-18 Roman Kennke + + PR 29448 + * java/awt/Window.java + (eventTypeEnabled): Overridden to handle WindowEvents. + (processEvent): Switch between processWindowEvent(), + processWindowFocusEvent() and processWindowStateEvent() here, + rather than simply calling processWindowEvent(). + (processWindowEvent): Only dispatch event to listener, do not + switch to processWindowFocusEvent() or processWindowStateEvent() + here. + * javax/swing/JFrame.java + (frameInit): Explicitly enable window and key events here. + (processWindowEvent): Throw out some unnecessary code. + * javax/swing/JWindow.java + (windowInit): Explicitly enable key events here. + * javax/swing/JDialog.java + (close_action): Renamed to closeAction. + (dialogInit): Explicitly enable window events here. + (getDefaultCloseOperation): Renamed close_action to closeAction. + (processWindowEvent): Throw out some unnecessary code. + Renamed close_action to closeAction. + (setDefaultCloseOperation): Renamed close_action to closeAction. + +2006-10-17 Thomas Fitzsimmons + + * gnu/java/awt/peer/gtk/GtkMainThread.java: Introduce running flag + to track native GTK event loop status. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c: Set and + clear running flag when native GTK event loop starts and stops. + +2006-10-17 Roman Kennke + + * javax/swing/TransferHandler.java + (exportToClipboard): Implemented. + +2006-10-17 Francis Kung + + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java (draw): Extend updated + region to account for pixel-shifting. + * gnu/java/awt/peer/gtk/CairoGraphics2D.java (shiftDrawCalls): Made + proctected. + +2006-10-17 Francis Kung + + PR 29450 + * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java + (getLogicalBounds): Translate individual glyphs before appending bounds. + (getOutline): Translate individual glyphs before appending outline. + +2006-10-17 Cameron McCormack + + PR 29014 + * java/awt/font/TextLayout.java + (bidi): New field. + (constructor): Store bidi in field. + (getCharacterLevel): Implemented. + +2006-10-17 Roman Kennke + + * javax/swing/TransferHandler.java + (PropertyTransferable): New inner class. Handles transfers + from component properties. + (createTransferable): Implemented. + +2006-10-17 Francis Kung + + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java + (drawComposite): Ensure composite does not extend beyond buffer + bounds. + * java/awt/image/Raster.java + (createChild): Ensure child does not extend beyond parent's + bounds. + * java/awt/image/WritableRaster.java + (createWritableChild): Ensure child does not extend beyond + parent's bounds. + +2006-10-17 Jeroen Frijters + + * native/jni/classpath/jcl.c + (JNI_OnLoad): Corrected calling convention. + +2006-10-16 Roman Kennke + + * javax/swing/TransferHandler.java + (propertyName): New field. + (TransferHandler(String)): Store property name in field. + (canImport): Implemented stub method. + (exportDone): This is a no-op. Removed not-implemented mark. + (getPropertyDataFlavor): New helper method. + (getPropertyDescriptor): New helper method. + +2006-10-16 Roman Kennke + + * javax/swing/AbstractButton.java + (AccessibleJButton.getAfterIndex): Implemented. + (AccessibleJButton.getAtIndex): Implemented. + (AccessibleJButton.getBeforeIndex): Implemented. + (AccessibleJButton.getCharacterAttribute): Completed incomplete + method implementation. + +2006-10-16 Roman Kennke + + * javax/swing/JLabel.java + (AccessibleJLabel.getIndexAtPoint): Implemented. + (AccessibleJLabel.getCharacterBounds): Implemented. + (AccessibleJLabel.getTextRectangle): New helper method. + +2006-10-16 Roman Kennke + + * javax/swing/filechooser/FileSystemView.java + (getFileSystemView): Mark as implemented. + +2006-10-14 Roman Kennke + + PR 27957 + * javax/swing/JComponent.java + (toolTipText): Removed field. + (createToolTip): Don't set tooltip text here. This is done + in the ToolTipManager. + (setToolTipText): Set tooltip text as client property. + (getToolTipText): Get tooltip text from client property. + * javax/swing/ToolTipManager.java + (currentComponent): Made field non-static and of type JComponent. + (currentPoint): Made field non-static. + (currentTip): Made field non-static. + (popup): Made field non-static. + (toolTipText): New field. Stores the current tooltip text. + (checkTipUpdate): New helper method. Checks for updates of + the tooltip text and triggers the appropriate actions. + (getContentPaneDeepestComponent): Removed unneeded casts. + (mouseEntered): Removed unneeded cast. Initially fetch tooltip + text from component. + (mouseMoved): Check for tooltip text updates. + (showTip): Set tooltip text from current setting. + +2006-10-14 Roman Kennke + + PR 27956 + * javax/swing/JSlider.java + (setPaintLabels): Call setLabelTable() instead of setting + the field directly. This also updates the label's size. + +2006-10-13 Tom Tromey + + * tools/gnu/classpath/tools/javah/ClassWrapper.java (toString): New + method. + +2006-10-13 Tania Bento + + * java/awt/ScrollPane.java + (setLayout): Should throw AWTError whenever called. + +2006-10-13 Roman Kennke + + PR 29448 + * java/awt/Component.java + (dispatchEventImpl): Special handle ComponentReshapeEvents to + update the AWT's knowledge about a component's size. + * gnu/java/awt/ComponentReshapeEvent.java: New class. + * gnu/java/awt/peer/gtk/GtkWindowPeer.java + (postConfigureEvent): Directly dispatch a ComponentReshapeEvent + to update the AWT's knowledge about the component bounds. + +2006-10-13 Tania Bento + + * java/awt/ScrollPaneAdjustable.java + (setMaximum): Should throw AWTError whenever called. + (setMinimum): Same. + (setVisibleAmount): Same. + +2006-10-13 Tania Bento + + * java/awt/ScrollPane.java + (addImpl): When calling super, index should be value passed, + not -1. + (getIsValidString): New helper method for paramString(). + (getScrollbarDisplayString): New helper method for paramString(). + (paramString): Changed format of outputted string. + +2006-10-13 David Gilbert + + * javax/swing/tree/DefaultTreeSelectionModel.java + (clone): Added cast to TreePath[]. + +2006-10-13 Roman Kennke + + PR 27780 + * javax/swing/JMenuItem.java + (isDragging): New field. Indicates if we are inside a mouse + drag. + (createMenuDragMouseEvent): Removed unneeded method. + (processMenuDragMouseEvent): Track if we are dragging. + (processMouseEvent): Simply forward to processMenuDragMouseEvent(). + * javax/swing/plaf/basic/BasicMenuItemUI.java + (MenuDragMouseHandler.menuDragMouseDragged): Fetch + MenuSelectionManager from event. + (MenuDragMouseHandler.menuDragMouseEntered): Fetch + MenuSelectionManager from event. + (MenuDragMouseHandler.menuDragMouseExited): Fetch + MenuSelectionManager from event. + (MenuDragMouseHandler.menuDragMouseReleased): Click on mouse + release inside menu item, otherwise clear selection. + (MenuInputHandler.mouseReleased): Avoid multiple calls to getX() + and getY(). Call doClick() rather than the doClick() of JMenuItem. + (doClick): Perform an immediate click. + +2006-10-13 Thomas Fitzsimmons + + * javax/swing/DefaultComboBoxModel.java (setSelectedItem): Simply + return if object is not in the list. + +2006-10-12 Andrew Haley + + * java/lang/InheritableThreadLocal.java: Rename NULL to sentinel. + * java/lang/ThreadLocal.java: Likewise. + +2006-10-12 Roman Kennke + + PR 27956 + * javax/swing/JSlider.java + (LabelUIResource): New inner class. A JLabel as UIResource. + (createStandardLabels): Don't set label bounds here. + Create LabelUIResource instances. + (setInverted): Repaint. + (setLabelTable): Update the label UIs. Revalidate and repaint. + (setMajorTickSpacing): Update the label table. Repaint if + necessary. + (setMinorTickSpacing): Repaint if necessary. + (setOrientation): Revalidate. + (setPaintLabels): Revalidate and repaint. + (setPaintTicks): Revalidate and repaint. + (setPaintTrack): Repaint. + (updateLabelUIs): Set the label sizes here. + (updateUI): Also update the label UIs. + * javax/swing/plaf/basic/BasicSliderUI.java + (ComponentHandler.componentResized): Don't revalidate. + (FocusHandler.focusGained): Don't set field. + (FocusHandler.focusLost): Don't set field. + (PropertyChangeHandler.propertyChange): Calculate geometry + and repaint for a couple more properties. + (TrackListener.mouseReleased): Repaint. + (hasFocus): Removed unneeded field. + (calculateContentRect): No need to check for content size < 0. + (calculateFocusRect): Use insets from insetCache. + (calculateLabelRect): Fixed calculation of label rectangle. + It is relative to the tick rectangle, rather than the content + rectangle. + (calculateTickRect): Small restructuring to avoid unnecessary + comparisons. + (calculateTrackRect): Fixed calculation of track rectangle. + (getMaximumSize): Fixed. Fetch preferred size and set + the height of width to Short.MAX_VALUE. + (getMinimumHorizontalSize): Fixed to return UIManager value. + (getMinimumVerticalSize): Fixed to return UIManager value. + (getPreferredHorizontalSize): Fixed to return UIManager value. + (getPreferredVerticalSize): Fixed to return UIManager value. + (getMinimumSize): Fixed to return the UIManager value plus + insets added. + (getPreferredSize): Fixed to return the UIManager value plus + insets added. + (getWidthOfWidestLabel): Restructured for more cleanness and + efficiency. + (hitClip): New helper method. + (paintHorizontalLabel): Replaced by more efficient and clean + implementation. + (paintVerticalLabel): Replaced by more efficient and clean + implementation. + (paintLabels): Replaced by more efficient and clean + implementation. + (paint): Check if rectangles intersect with clip for maximum + efficiency. + (recalculateIfInsetsChanged): Fixed. This method should + recalculate only when the insets changed. + (setThumbLocation): Repaint with a reasonable clip. + (xPositionForValue): Made more clean and efficient. + (yPositionForValue): Made more clean and efficient. + * javax/swing/plaf/basic/BasicLookAndFeel.java + (initComponenDefaults): Added Slider.horizontalSize, + Slider.verticalSize, Slider.minimumHorizontalSize and + Slider.minimumVerticalSize properties. + * javax/swing/plaf/metal/MetalSliderUI.java + (getTickLength): Add 1 for horizontal sliders and 3 for + vertical sliders. + (paintMajorTickForHorizSlider): Fix colors. Fix line locations. + (paintMinorTickForHorizSlider): Fix colors. Fix line locations. + (paintMajorTickForVertSlider): Fix colors. Fix line locations. + (paintMinorTickForVertSlider): Fix colors. Fix line locations. + +2006-10-12 Roman Kennke + + PR 28696 + * javax/swing/text/FlowView.java + (FlowStrategy.layout): Preserve logical views from getting lost. + (FlowStrategy.layoutRow): Fix line breaking. + (FlowStrategy.adjustRow): Fix line breaking. + (FlowStrategy.changedUpdate): Mark layout invalid, or repaint. + (FlowStrategy.insertUpdate): Mark layout invalid, or repaint. + (FlowStrategy.removeUpdate): Mark layout invalid, or repaint. + (createView): Don't check index. + (contains): New helper method. + (reparent): New helper method. + (layoutDirty): Removed unneeded field. + (FlowView): Removed layoutDirty field init. + (changedUpdate): Removed layoutDirty handling. + (insertUpdate): Removed layoutDirty handling. + (removeUpdate): Removed layoutDirty handling. + (layout): Use isLayoutValid() rather than the layoutDirty field. + * javax/swing/text/GlyphView.java + (startOffset): Removed. + (endOffset): Removed. + (offset): New field. + (length): New field. + (GlyphView): Initialize new fields. Removed old fields. + (createFragment): Create fragment with new relative offsets. + (getEndOffset): Work with new relative offsets. + (getStartOffset): Work with new relative offsets. + * javax/swing/text/ParagraphView.java + (Row.getStartOffset): Overidden to determine the minimum start + offset from the children. + (Row.getEndOffset): Overidden to determine the maximum end + offset from the children. + * javax/swing/text/html/BRView.java + Make subclass of InlineView. + (getBreakWeight): Fall back to super for Y_AXIS. + +2006-10-12 Roman Kennke + + PR 28733 + * javax/swing/plaf/basic/BasicTabbedPaneUI.java + (TabPaneLayout.normalizeTabRuns): Replaced algorithm with + one that avoids faulty state that could cause division by zero + error. + +2006-10-12 Roman Kennke + + PR 28057 + * javax/swing/plaf/basic/BasicRadioButtonUI.java + (paint): Determine correct icon. Added support for HTML label. + Added small optimizations. + (getPreferredSize): Only consider the buttons iconTextGap, and + only when the text is not null. + * javax/swing/plaf/basic/BasicLookAndFeel.java + (initComponentDefaults): Fetch border for RadioButton from + BasicButtons.getRadioButtonBorder(). + * javax/swing/plaf/metal/MetalRadioButtonUI.java + (paintFocus): Paint focus rectangle one pixel smaller. + +2006-10-12 Roman Kennke + + PR 29418 + * javax/swing/tree/AbstractLayoutCache.java + (getNodeDimensions): Don't throw InternalError, but instead + return null. + (getRowsForPaths): Check for null here. + (isFixedRowHeight): Returns true when rowHeight > 0. + (setSelectionModel): Set this as the row mapper for the selection + model. + * javax/swing/tree/VariableHeightLayoutCache.java + (NodeRecord.NodeRecord): Initialize bounds field. + (getBounds): Simply return the bounds field. + (row2Node): Changed to be an ArrayList. + (RECT_CACHE): New field. Caches a Rectangle instance. + (countRows): Added y parameter and return value. The method + now takes the current y position as parameter, and returns + the updated y position. + (getBounds): Fixed to return the correct bounds. + (getPathForRow): Replaced by fixed implementation. + (getPreferredHeight): Replaced by more efficient implementation. + This simply fetches the last node record and returns its lower + bounds. + (getPreferredWidth): Added null check. + (getVisibleChildCount): Added null check. + (getVisiblePathsFrom): Added null check. + (setExpandedState): Also expand the ancestors of the node + to be expanded. + (setModel): Set dirty flag rather than updating for real. + (setNodeDimensions): Overridden to set the dirty flag. + (setRowHeight): Overridden to set the dirty flag. + (update): Don't special case the root here, this is done now + in countRows(). + +2006-10-12 Roman Kennke + + * javax/swing/JComponent.java + (paintImmediately2): Added support for components which need + to force themselves as paint root. + (isPaintRoot): New method. This should be overridden by components + which need to force themselves as paint root. + * javax/swing/JViewport.java + (isPaintRoot): Overridden to force the viewport as paint root + when running in backingstore mode. + +2006-10-12 Roman Kennke + + * javax/swing/tree/DefaultTreeSelectionModel.java + (PathPlaceHolder): New inner class. Wraps a path and its status + wrt to its newness. + (selectedPaths): New field. A supporting datastructure. + (tmpPaths): New field. A supporting datastructure. + (DefaultTreeSelectionModel): Initialize the list selection model, + the leadIndex and the supporting datastructures. + (addPropertyChangeListener): Create changeSupport object lazily. + (addSelectionPaths): Mostly rewritten to handle the different + selection modes correctly. + (addSelectionPath): Delegate to addSelectionPaths(). + (arePathsContiguous): Replaced with more efficient implementation + using BitSet + (canPathBeAdded): Removed unneeded method. + (canPathsBeAdded): Replaced with more efficient implementation. + (clearSelection): Create correct event. Clear the fields correctly, + including the supporting datastructures. + (clone): Also clone the supporting datastructures and nullify + changeSupport field. + (getMaxSelectionRow): Delegate to list selection model. + (getMinSelectionRow): Delegate to list selection model. + (getPath): Removed unneeded method. + (getPropertyChangeListeners): Handle null changeSupport field + correctly. + (getRow): Handle null rowMapper field correctly. + (getSelectionRows): Handle invisible rows correctly. + (insureRowContinuity): Replaced by more efficient and correct + implementation. + (isRowSelected): Delegate to list selection model. + (notifyPathChange): Made more efficient by use of PathPlaceHolder + class. + (removePropertyChangeListener): Handle null changeSupport field. + (removeSelectionPaths): Mostly rewritten to handle the different + selection modes correctly. + (removeSelectionPath): Delegate to removeSelectionPaths(). + (resetRowSelection): Handle list selection model. + (selectOne): Removed unneeded field. + (setRowMapper): Reset the row selection. + (setSelectionMode): Check for invalid mode and set to + DISCONTINUOUS_TREE_SELECTION in this case. Fire property change. + (setSelectionPaths): Mostly rewritten to handle the different + selection modes correctly. + (setSelectionPath): Delegate to setSelectionPaths(). + (updateLeadIndex): Made more efficient. + +2006-10-11 Francis Kung + + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java + (buffer, locked): New fields. + (constructors): Initialize new variables. + (createBuffer): New method. + (draw): Implement custom composites. + (drawComposite): New method. + (drawGlyphVector): Implement custom composites. + (drawImage): Implement custom composites. + (drawRenderedImage): Implement custom composites. + (fill): Implement custom composites. + (getBufferCM): New method. + (getNativeCM): New method. + (updateBufferedImage): Fix premultiplication. + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (copy): Copy composite. + (drawImage): Set background properly. + (getBufferCM): New method. + (setComposite): Reset alpha composite when using custom composite. + * gnu/java/awt/peer/gtk/CairoSurface.java + (cairoColorModel): New field. + (nativeColorModel): Renamed. + (constructor): Use renamed createCairoSampleModel method. + (createCairoSampleModel): New method. + (createNativeSampleModel): Renamed. + (getBufferedImage): Use renamed cairoColorModel field. + * gnu/java/awt/peer/gtk/GtkVolatileImage.java + (gdkColorModel): New field. + (createGdkSampleModel): New method. + (getPixels): Added comments. + (getSnapshot): Use GDK colour and sample models. + * gnu/java/awt/peer/gtk/VolatileImageGraphics.java + (createBuffer): Use GDK colour and sample models. + (getNativeCM): Added comments. + * java/awt/image/BufferedImage.java + (constructor): Set premultiplied flag properly. + +2006-10-11 Edwin Steiner + + * native/jni/java-nio/gnu_java_nio_VMChannel.c + (Java_gnu_java_nio_VMChannel_lock): Special case Long.MAX_VALUE. + +2006-10-10 Francis Kung + + PR 29372 + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (createPath): Added isDraw parameter. + (draw): Updated createPath call. + (fill): Updated createPath call. + +2006-10-10 Tom Tromey + + PR classpath/29362: + * gnu/xml/transform/TransformerImpl.java (transform): Only strip if + there is a stylesheet. + +2006-10-10 Roman Kennke + + * java/awt/Toolkit.java + (getDefaultTookit): Make method synchronized to avoid + accidentally creating more than one toolkits from different + threads. + +2006-10-10 Roman Kennke + + * java/awt/LightweightDispatcher.java + (handleMouseEvent): Redispatch MOUSE_WHEEL events too. + (redispatch): Transfer the button to the redispatched event. + +2006-10-10 Francis Kung + + * java/awt/image/ColorModel.java (coerceData): Implemented. + +2006-10-09 Christian Elias Naur + + * vm/reference/java/lang/VMClassLoader.java: + (defineClassWithTransformers): Use proper class name format. + +2006-10-09 Gary Benson + + * java/net/ServerSocket.java + (implAccept): Add security check. + (accept): Close socket if security check fails. + (setSocketFactory): Add security check and already-set check. + +2006-10-09 Roman Kennke + + PR 29325 + * javax/swing/JSplitPane.java + (dividerLocation): New field. Stores the divider location. + (JSplitPane): Initialize dividerLocation with -1. + (addImpl): Removed unneeded local variables. + (getDividerLocation): Manage dividerLocation in the JSplitPane + class, not in the UI. + (setDividerLocation): Manage dividerLocation in the JSplitPane + class, not in the UI. Only call the UI method for notification. + * javax/swing/plaf/basic/BasicSplitPaneUI.java + (BasicHorizontalLayoutManager.layoutContainer): Fetch divider + location from the JSplitPane. Honour the minimumSize, but only + if the divider location hasn't been set explicitly. + (BasicHorizontalLayoutManager.minimumLayoutSize): Removed unneeded + statement. + (BasicHorizontalLayoutManager.preferredLayoutSize): Removed unneeded + statement. + (BasicHorizontalLayoutManager.resetToPreferredSizes): Don't touch + the divider location. + (dividerLocationSet): New field. + (dividerLocation): Removed field. + (createActionMap): Fetch and set divider location on the JSplitPane. + (getDividerLocation): Return the actual real divider location. + (getMaximumSize): Removed unneeded cast. + (getPreferredSize): Removed unneeded cast. + (getMinimumSize): Removed unneeded cast. + (installUI): Initialize dividerLocationSet with false. + (uninstallUI): Initialize dividerLocationSet with false. + (setDividerLocation): Set dividerLocationSet to true. + +2006-10-09 Robert Schuster + + * native/jni/java-net/gnu_java_net/VMPlainSocketImpl.c: + (Java_gnu_java_net_VMPlainSocketImpl_joinGroup): Properly + convert jstring into char *. + (Java_gnu_java_net_VMPlainSocketImpl_joinGroup6): Dito. + (Java_gnu_java_net_VMPlainSocketImpl_leaveGroup): Dito. + (Java_gnu_java_net_VMPlainSocketImpl_leaveGroup6): Dito. + (getif_address): Added const modifier to second argument. + (getif_index): Dito. + +2006-10-09 Roman Kennke + + * javax/swing/JTree.java + (isSelected): Added API docs. + +2006-10-09 Roman Kennke + + * javax/swing/JTree.java + (isSelected): Delegate to the selection model directly. + +2006-10-09 Robert Schuster + + * gnu/java/nio/KqueueSelectorImpl.java: Renamed field + sizeof_struct_kevent to _sizeof_struct_kevent. + +2006-10-07 Audrius Meskauskas + + * tools/gnu/classpath/tools/rmic/RMICException.java: + javadoc corrections, reformatted. + +2006-10-07 Christian Elias Naur + + * gnu/java/lang/InstrumentationImpl.java: + Made constructor package visible. + +2006-10-05 Gary Benson + + * java/net/Socket.java + (Socket): Perform security check on address not hostname. + +2006-10-04 Roman Kennke + + * javax/swing/tree/VariableHeightLayoutCache.java + (getBounds): When rect is null, create a new Rectangle. + +2006-10-04 Christian Thalinger + + * native/jni/java-nio/javanio.c (cpnio_read, cpnio_readv) + (cpnio_write, cpnio_writev, cpnio_socket, cpnio_connect) + (cpnio_accept, cpnio_sendto, cpnio_recvfrom, cpnio_fcntl) + (cpnio_select): Use CPNIO_EXPORT. + * native/jni/java-nio/javanio.h (CPNIO_EXPORT): Define to static + inline instead of extern inline, as newer GCCs changed their + behavior. + +2006-10-04 Gary Benson + + * java/net/InetAddress.java: Updated javadoc. + (, getByLiteral): Throw InternalError on failures. + +2006-10-03 Francis Kung + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (compCtx): New field for composite context. + (copy): Copy composite. + (dispose): Dispose of composite context. + (getNativeCM): New method. + (setComposite): Discard old composite context and set up new context. + (setRenderingHints): Update composite context. + * gnu/java/awt/peer/gtk/CairoSurface.java + (nativeColorModel): New field, renamed from nativeModel. + (nativeModel): Renamed field to nativeColorModel. + (CairoSurface(int, int)): Call new method to create sample model. + (createNativeSampleModel): New method. + (getBufferedImage): Updated variable name. + * gnu/java/awt/peer/gtk/VolatileImageGraphics.java + (buffer): New field. + (createBuffer): New method. + (draw): New method. + (drawComposite): New method. + (drawGlyphVector): New method. + (drawImage(Image, AffineTransform, Color, ImageObserver)): New method. + (drawImage(Image, int, int, ImageObserver)): Check composite. + (drawImage(Image, int, int, int, int, ImageObserver)): Check composite. + (fill): New method. + (getNativeCM): New method. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkVolatileImage.c + (Java_gnu_java_awt_peer_gtk_GtkVolatileImage_nativeGetPixels): Use + intermediary pixbuf to grab on-screen pixels. + +2006-10-03 Tom Tromey + + PR classpath/28987: + * java/util/IdentityHashMap.java (tombstone): Removed. + (emptyslot): Removed. + (nullslot): New field. + (IdentityHashMap): Don't fill array. + (clear): Fill with null. + (hash): Now final. Use linear probing. + (xform): New method. + (unxform): Likewise. + (removeAtIndex): Likewise. + (clone, containsKey, containsValue, entrySet, get, hashCode, + keySet, put, remove, values): Updated. + (IdentityIterator, IdentityEntry): Likewise. + (writeObject): Likewise. + +2006-10-03 Tom Tromey + + * java/util/Locale.java (hashcode): Updated javadoc. + (hashcodeCache): Removed. + (Locale): Updated. + (hashCode): Updated. + (writeObject): New method. + (readObject): Updated. + +2006-10-02 Francis Kung + + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java + (updateBufferedImage): Recognise that raw data is alpha-premultiplied. + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (clearRect): Paint background colour with AlphaComposite.SRC rule. + (drawImage(Image, AffineTransform, Color, ImageObserver)): Alpha + pre-multiply data before drawing. + (fillRect): Draw using regular fill() method. + (setComposite): Handle null case with AlphaComposite.SrcOver default. + * gnu/java/awt/peer/gtk/CairoSurface.java + (nativeModel): Use correct value for alpha premultiplication (true). + * java/awt/image/BufferedImage.java + (coerceData): Update isPremultiplied field. + +2006-10-02 Andrew John Hughes + + * gnu/classpath/ListenerData.java: + New class for holding listener data. + * gnu/java/lang/management/MemoryMXBeanImpl.java: + ListenerData class moved to its own file. + * javax/management/MBeanServerDelegate.java, + * javax/management/MBeanServerDelegateMBean.java, + * javax/management/MBeanServerNotification.java: + Implemented. + +2006-10-02 Tania Bento + + * java/ast/Rectangle.java: + (Rectangle(Rectangle)): Do not throw NPE. + (Rectangle(Point, Dimension)): Same. + (Rectangle(Point)): Same. + (Rectangle(Dimension)): Same. + +2006-09-29 Casey Marshall + + PR 29190 + * gnu/java/nio/EpollSelectionKeyImpl.java: extend + `AbstractSelectionKey.' + (cancel, isValid): removed. + * gnu/java/nio/EpollSelectorImpl.java (cancelledKeys): removed. + (events): new field. + (INITIAL_CAPACITY, MAX_DOUBLING_CAPACITY, CAPACITY_INCREMENT): new + fields. + (): initialize those constants. + (): don't initialize `cancelledKeys;' initialize `events.' + (doSelect): deregister cancelled keys; remove keys attached to + closed channels; wrap `epoll_wait' in `begin' and `end' calls; use + `events' buffer; reallocate `events' buffer if needed. + (register): reallocate `events' buffer if needed. + (reallocateBuffer): new method. + (cancel): removed. + +2006-09-29 Roman Kennke + + PR 28929 + * javax/swing/JViewport.java + (cinit): Renamed system property to gnu.swing.scrollmode + to avoid bloat. Default to BACKINGSTORE, this is much + more reliable. + (repaint): Forward repaint() to parent as is specified. + +2006-09-29 Tania Bento + + * javax/swing/plaf/basic/BasicTableUI.java + (getPreferredSize): The number of iterations for the for-loop should be + the number of columns in the table's column model, not the number of + columns of the table. + * javax/swing/JTable.java + (JTable(TableModel, TableColumnModel, ListSelectionModel): Removed 4 + lines that are not needed. + (initializeLocalVars): dragEnabled should be set to false, not true. + (getCellRenderer): Added a check to prevent an + ArrayIndexOutOfBoundsException. + (doLayout): The number of iterations for the for-loops should be the + number of columns in the table's column model, not the number of columns + of the table. + +2006-09-29 Roman Kennke + + * gnu/java/awt/java2d/AbstractGraphics2D.java: Updated + API docs. + (isOptimized): Initialize with true. + (paintRaster): Removed unneeded field. + (shapeCache): New static field. Caches certain shapes for reuse. + (computeIntersection): Removed unneeded casts. + (drawArc): Use shape cache. + (drawImage): Removed unneeded statement. + (drawLine): Use shape cache. Pass untranslated coordinates + to rawDrawLine(). + (drawOval): Use shape cache. + (drawPolygon): Use shape cache. + (drawRect): Overridden to provide accelerated rectangle drawing + if possible and to use the shape cache. + (drawRoundRect): Use shape cache. + (fillArc): Use shape cache. + (fillOval): Use shape cache. + (fillPolygon): Use shape cache. + (fillRect): Pass untranslated coordinates to rawFillRect(). + Use shape cache. + (fillRoundRect): Use shape cache. + (fillScanlineAA): Removed unneeded statement. + (fillScanline): Updated API docs. + (fillShapeAntialias): Removed unnecessary cast. + (fillShapeImpl): Update API docs. Removed unnecessary cast. + (fillShape): Updated API docs. + (getShapeCache): New helper method. + * gnu/java/awt/java2d/ShapeCache.java: New class. Caches + certain shapes for reuse in AbstractGraphics2D. + +2006-09-28 Andrew John Hughes + + * javax/management/BadBinaryOpValueExpException.java: + (getExp()): Implemented. + * javax/management/MBeanConnection.java: + Renamed to MBeanServerConnection. + * javax/management/MBeanServer.java: + (setAttribute(Attribute)): Fixed... + (setAttribute(ObjectName,Attribute)): to this. + * javax/management/MBeanServerConnection.java: + Renamed from MBeanConnection. + * javax/management/QueryExp.java: + Extend Serializable. + * javax/management/ValueExp.java: + Likewise. + * javax/management/loading/ClassLoaderRepository.java: + (loadClass(String)): Throw ClassNotFoundException. + (loadClassBefore(ClassLoader,String)): Likewise. + (loadClassWithout(String, ClassLoader): Fixed... + (loadClassWithout(ClassLoader,String)): to this. + +2006-09-28 Roman Kennke + + * javax/swing/tree/DefaultTreeCellRenderer.java + (DefaultTreeCellRenderer): Fetch drawsFocusBorderAroundIcon + property from UIManager. + (paint): Rewritten to use super's implementation and only paint + background and focus indicator before. + (paintFocus): New helper method. + (getXOffset): New helper method. + +2006-09-28 Andrew John Hughes + + * javax/management/BadBinaryOpValueExpException.java, + * javax/management/MBeanConnection.java, + * javax/management/MBeanServer.java, + * javax/management/ObjectInstance.java: + Implemented. + * javax/management/ObjectName.java: + (setMBeanServer(MBeanServer)): Implemented. + * javax/management/QueryExp.java, + * javax/management/ValueExp.java, + * javax/management/loading/ClassLoaderRepository.java: + Implemented. + +2006-09-27 Robert Schuster + + * gnu/java/nio/VMChannelOwner.java: Removed unneeded imports. + +2006-09-27 Robert Schuster + + * vm/reference/gnu/java/nio/VMChannel.java: Removed unneeded imports. + * vm/reference/gnu/java/nio/VMPipe.java: Removed unneeded imports. + * gnu/java/nio/EpollSelectorImpl.java: + (doSelect): Use Integer.valueOf() instead of constructor call. + (register): Use Integer.valueOf() instead of constructor call. + +2006-09-27 Roman Kennke + + * java/awt/Container.java + (addContainerListener): Activate newEventsOnly for the component. + Ignore null listeners. + +2006-09-27 Roman Kennke + + * java/awt/EventQueue.java + (Queue): New inner class. Implements the actual queue. + (LOW_PRIORITY): New constant field. + (NORM_PRIORITY): New constant field. + (queueHead): Removed. Moved into Queue. + (queueTail): Removed. Moved into Queue. + (queues): New field. + (EventQueue): Initialize two internal queues, one for + normal events, one for low priority events. + (getNextEventImpl): New helper method, fetches the next event. + (getNextEvent): Use getNextEventImpl() for fetching the event. + (peekEvent): Use getNextEventImpl() for fetching the event. + (peekEvent(int)): Search for event in all queues. + (postEventImpl(AWTEvent)): Moved actual posting into + postEventImpl(AWTEvent,int). Prioritize events here. + (postEventImpl(AWTEvent,int)): Take priority parameter and insert + event into correct queue. Re-enable event coalescing. + * gnu/java/awt/LowPriorityEvent.java: New marker interface. + * javax/swing/RepaintManager.java + (RepaintWorkerEvent): New internal class. This is a low priority + event for the repaint worker. + (addDirtyRegion): Use new internal invokeLater() for sending + a low priority event. + (addInvalidComponent): Use new internal invokeLater() for sending + a low priority event. + (commitBuffer): Added some null checks. + (invokeLater): New helper method. Sends a low priority + repaint worker event on the event queue. + +2006-09-27 Roman Kennke + + PR 29036 + PR 29161 + * javax/swing/plaf/basic/BasicButtonUI.java + (cachedInsets): New field. + (installListeners): Fire synthetic property change to initialize + TEXT_LAYOUT_CACHE for the button because the font has been + installed before. + (uninstallUI): Clear the TEXT_LAYOUT_CACHE for the button. + (paint): Use cached insets. + (paintText): Let new method forward to old one, not vice versa. + * javax/swing/plaf/basic/BasicMenuItemUI.java + (defaultAcceleratorLabelGap): Removed unused field. + (MenuGap): Removed unused field. + (propertyChangeListener): Made private. + (getAcceleratorRect): Removed unused method. + (getAcceleratorText): Removed unused method. + (getPath): Removed unnecessary cast. + (installListeners): Fire synthetic property change to initialize + TEXT_LAYOUT_CACHE for the button because the font has been + installed before. + (uninstallUI): Clear the TEXT_LAYOUT_CACHE for the button. + (layoutMenuItem): Removed unused statements. + +2006-09-27 Roman Kennke + + PR 29218 + * javax/swing/tree/DefaultTreeModel.java + (isLeaf): Check if the node allows children when + asksAllowsChildren is true, otherwise fall back + to return the node's leaf property. + +2006-09-27 Mario Torre + + * scripts/check_jni_methods.sh: removed methods from the + ignore list: + Java_gnu_java_util_prefs_gconf_GConfNativePeer_finalize_1class + Java_gnu_java_util_prefs_gconf_GConfNativePeer_init_1id_1cache + Java_gnu_java_util_prefs_gconf_GConfNativePeer_init_1class + Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1escape_1key + Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1unescape_1key + * native/jni/gconf-peer/GConfNativePeer.c: fixed coding style + to better follow the GNU style. + * include/gnu_java_util_prefs_gconf_GConfNativePeer.h. + regenerated header file for GConfNativePeer. + +2006-09-27 Robert Schuster + + * INSTALL: Added information about grmic being built when ASM + is available, added information about gconf dependency, indented + Qt4 dependency section. + * configure.ac: Added information about grmic being built when ASM + is available. + +2006-09-27 Ian Rogers + + * native/jni/classpath/jcl.c (JNI_OnLoad): Don't call + DeleteGlobalRef on a local ref. + +2006-09-24 Mario Torre + + * scripts/check_jni_methods.sh: added two new methods in the + ignore list: + Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1escape_1key + and + Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1unescape_1key + * native/jni/gconf-peer/GConfNativePeer.c: + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1all_1keys): + refacored method name, renamed from + Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1gconf_1client_1all_1keys. + Added code to unescape escaped GConf key names. + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1all_1nodes): + refacored method name, renamed from + Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1gconf_1client_1all_1nodes. + Added code to unescape escaped GConf key names. + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1escape_1key): + new function. + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1unescape_1key): + new function. + * gnu/java/util/prefs/gconf/GConfNativePeer.java: removed + version javadoc tag. + (escapeString): new method. + (unescapeString): likewise. + (gconf_escape_key): new native method. + (gconf_unescape_key): likewise. + (gconf_client_suggest_sync): update native method signature, now + explicity throws BackingStoreException. + (gconf_client_all_nodes): update native method signature, now + explicity throws BackingStoreException. Refactored method name, + renamed from gconf_client_gconf_client_all_nodes. + (gconf_client_all_keys): update native method signature, now + explicity throws BackingStoreException. Refactored method name, + renamed from gconf_client_gconf_client_all_keys. + (getKeys): refactored to use the new method name + gconf_client_all_keys. + (getChildrenNodes): refactored to use the new method name + gconf_client_all_nodes. + * gnu/java/util/prefs/GConfBasedPreferences.java: removed + version javadoc tag. + (GConfBasedPreferences): Added code to escape node names from + invalid characters so that GConf now accept invalid node names. + (GConfBasedPreferences): Moved code to register the current + node to the list of nodes watched by GConf outside the constructor. + (childSpi): Added code to register the current node to the + list of nodes watched by GConf. + (getGConfKey): Added code to escape key names from + invalid characters so that GConf now accept invalid key names. + +2006-09-26 Tom Tromey + + * tools/gnu/classpath/tools/javah/Printer.java (Printer): Don't + call mkdirs in output-directory case. + (getPrintStream): Create output directory. + * tools/gnu/classpath/tools/javah/Main.java (makeOutputDirectory): + Don't call mkdirs. + +2006-09-27 Raif S. Naffah + + * tools/gnu/classpath/tools/javah/CniIncludePrinter.java (CniIncludePrinter): + Accept three additional arguments. + (writePreambleImpl): New method. + (getPrintStreamImpl): Likewise. + (printClass): Adapted to use new methods in Printer superclass. + * tools/gnu/classpath/tools/javah/CniStubPrinter.java: Likewise. + * tools/gnu/classpath/tools/javah/JniIncludePrinter.java: Likewise. + * tools/gnu/classpath/tools/javah/JniStubPrinter.java: Likewise. + * tools/gnu/classpath/tools/javah/Main.java (outFileName): New field. + (force): Likewise. + (getParser): Add support for -o option. + Check that only one of -d or -o is defined. + Add support for -jni option. + Add support for -force option. + (makeOutputFile): New method. + (writeHeaders): Removed File argument from signature. + (run): Take into account newly added fields. + Invoke concrete PrintStream implementations with augmented constructors. + * tools/gnu/classpath/tools/javah/Printer.java (outputFileObject): New field. + (isDirectory): Likewise. + (force): Likewise. + (wrotePreamble): Likewise. + (Printer): Changed ctor to accept three additional arguments. + (printClass): Changed signature to accept one ClassWrapper argument. + (writePreambleImpl): New abstract method. + (getPrintStreamImpl): Likewise. + (getPrintStream): New method. + (writePreamble): Likewise. + +2006-09-26 Tania Bento + + * java/awt/GridLayout.java + (toString): There is no common before hgap. + * java/awt/Rectangle.java + (Rectangle(Rectangle)): Throw NPE if Rectangle is null. + (Rectangle(Point, Rectangle)): Throw NPE if either Point or + Rectangle is null. + (Rectangle(Point)): Throw NPE if Point is null. + (Rectangle(Dimension)): Throw NPE if Dimension is null. + +2006-09-26 David Gilbert + + * javax/swing/plaf/metal/MetalIconFactory.java + (FileIcon16.paintIcon): Apply vertical shift by the number of pixels + returned by getShift(), + (FileIcon16.getShift): Updated API docs, + (FolderIcon16.paintIcon): Apply vertical shift by the number of pixels + returned by getShift(), + (FolderIcon16.getShift): Updated API docs, + (TreeFolderIcon.getShift): Likewise, + (TreeLeafIcon.getShift): Likewise. + +2006-09-26 David Gilbert + + * javax/swing/plaf/metal/MetalIconFactory.java + (FileIcon16.paintIcon): Fetch colors from look and feel, + (FolderIcon16.paintIcon): Likewise. + +2006-09-25 Casey Marshall + + * gnu/java/nio/FileChannelImpl.java (read): revert back to using + `readScattering.' + (write): revert back to using `writeGathering.' + * vm/reference/gnu/java/nio/VMChannel.java (writeGathering): find + the first buffer that has data remaining, and start at that one. + +2006-09-25 Tom Tromey + + * native/jni/gconf-peer/Makefile.am (libgconfpeer_la_LDFLAGS): New + variable. + +2006-09-25 Tom Tromey + + * tools/.cvsignore: Updated. + +2006-09-25 Tom Tromey + + PR libgcj/29178: + * gnu/java/nio/charset/US_ASCII.java (Encoder.canEncode): New method. + (Encoder.canEncode): Likewise. + (Encoder.encodeLoop): Return unmappable for all non-ASCII characters. + * gnu/java/nio/charset/ByteCharset.java (Encoder.canEncode): New + method. + (Encoder.canEncode): Likewise. + * gnu/java/nio/charset/ISO_8859_1.java (Encoder.canEncode): New + method. + (Encoder.canEncode): Likewise. + +2006-09-25 Tom Tromey + + * native/fdlibm/mprec.c (mprec_calloc): Renamed. + (Balloc): Updated. + +2006-09-25 Francis Kung + + * java/awt/image/ColorModel.java + (coerceData): Made abstract. + (coerceDataWorker): New protected method. + * java/awt/image/ComponentColorModel.java + (coerceData): Return new instance of proper ColorModel. + * java/awt/image/DirectColorModel.java + (coerceData): Return new instance of proper ColorModel. + * java/awt/image/IndexColorModel.java + (coerceData): New method. + +2006-09-24 Casey Marshall + + * gnu/java/nio/FileChannelImpl.java + (read): call `read' in a loop, don't use `readScattering.' + (write): call `write' in a loop, don't use `writeGathering.' + +2006-09-24 Mark Wielaard + + * configure.ac: Move -pedantic from WARNING to STRICT flags. + +2006-09-24 Jeroen Frijters + + * java/nio/channels/spi/AbstractSelectableChannel.java + (register): Set interestOps and attachment when the key already + exists. + +2006-09-24 Jeroen Frijters + + * java/net/ServerSocket.java + (bind(SocketAddress,int)): Added support for null address. + Throw proper exception if already bound. + Handle unresolved addresses correctly. Ignore exceptions that + happen during close in error path (to prevent losing the original + exception.) + +2006-09-24 Mark Wielaard + + Suggested by Aaron M. Ucko + Fixes bug #29203 + * native/fdlibm/mprec.c (ulp): Define L as int32_t. + +2006-09-24 Jeroen Frijters + + * java/nio/channels/spi/AbstractSelectableChannel.java + (implCloseChannel): Cancel all keys after closing the channel. + +2006-09-22 Casey Marshall + + * gnu/java/nio/EpollSelectorImpl.java (doSelect): remove keys + after we delete them. + (selectedKeys): return an empty set if nothing's been selected. + * native/jni/java-nio/gnu_java_nio_EpollSelectorImpl.c + (Java_gnu_java_nio_EpollSelectorImpl_epoll_1delete): don't + throw an exception on EBADF. + (Java_gnu_java_nio_EpollSelectorImpl_epoll_1wait): don't + throw exception on EINTR, just return 0. + +2006-09-22 Casey Marshall + + * native/jni/java-io/java_io_VMFile.c (Java_java_io_VMFile_list): + remove `const' from `filename.' + * native/jni/native-lib/cpio.c (cpio_readDir): remove `const' from + `filename.' + * native/jni/native-lib/cpio.h (cpio_readDir): likewise. + +2006-09-22 Casey Marshall + + * configure.ac (AC_CHECK_FUNCS): check for `readdir_r.' + * native/jni/java-io/java_io_VMFile.c (Java_java_io_VMFile_list): + allocate `filename,' and handle changes to `cpio_readDir.' + * native/jni/native-lib/cpio.c (cpio_readDir): use `readdir_r' if + available; copy the filename into the destination buffer; return + an error code if readdir returns NULL, but errno is 0. + * native/jni/native-lib/cpio.h (cpio_readDir): change second + parameter to `const char *.' + +2006-09-23 Andrew John Hughes + + * javax/management/ObjectName.java: + Implemented. + +2006-09-22 Thomas Fitzsimmons + + * resource/gnu/classpath/tools/orbd: New directory. + * resource/gnu/classpath/tools/rmic: Likewise. + * resource/gnu/classpath/tools/rmid: Likewise. + * resource/gnu/classpath/tools/rmiregistry: Likewise. + * resource/gnu/classpath/tools/tnameserv: Likewise. + * tools/gnu/classpath/tools/giop: Move contents to... + * tools/gnu/classpath/tools/orbd, + tools/gnu/classpath/tools/tnameserv: New directories. + * tools/gnu/classpath/tools/rmi/rmic: Move contents to... + * tools/gnu/classpath/tools/rmic: New directory. + * tools/gnu/classpath/tools/rmi/rmid: Move contents to... + * tools/gnu/classpath/tools/rmid: New directory. + * tools/gnu/classpath/tools/rmi/registry: Move contents to... + * tools/gnu/classpath/tools/rmiregistry: New directory. + * resource/gnu/classpath/tools/orbd/messages.properties: New file. + * resource/gnu/classpath/tools/rmic/messages.properties: Likewise. + * resource/gnu/classpath/tools/rmid/messages.properties: Likewise. + * resource/gnu/classpath/tools/rmiregistry/messages.properties: + Likewise. + * resource/gnu/classpath/tools/tnameserv/messages.properties: + Likewise. + * tools/gnu/classpath/tools/orbd/Main.java, + tools/gnu/classpath/tools/orbd/Messages.java, + tools/gnu/classpath/tools/orbd/PersistentContext.java, + tools/gnu/classpath/tools/orbd/PersistentContextMap.java, + tools/gnu/classpath/tools/orbd/PersistentMap.java, + tools/gnu/classpath/tools/rmic/AbstractMethodGenerator.java, + tools/gnu/classpath/tools/rmic/CompilationError.java, + tools/gnu/classpath/tools/rmic/Generator.java, + tools/gnu/classpath/tools/rmic/GiopIo.java, + tools/gnu/classpath/tools/rmic/HashFinder.java, + tools/gnu/classpath/tools/rmic/Main.java, + tools/gnu/classpath/tools/rmic/Messages.java, + tools/gnu/classpath/tools/rmic/MethodGenerator.java, + tools/gnu/classpath/tools/rmic/RMICException.java, + tools/gnu/classpath/tools/rmic/RmiMethodGenerator.java, + tools/gnu/classpath/tools/rmic/RmicBackend.java, + tools/gnu/classpath/tools/rmic/SourceGiopRmicCompiler.java, + tools/gnu/classpath/tools/rmic/SourceRmicCompiler.java, + tools/gnu/classpath/tools/rmic/Variables.java, + tools/gnu/classpath/tools/rmic/WrapUnWrapper.java, + tools/gnu/classpath/tools/rmic/templates, + tools/gnu/classpath/tools/rmid/ActivationSystemImpl.java, + tools/gnu/classpath/tools/rmid/ActivationSystemImpl_Stub.java, + tools/gnu/classpath/tools/rmid/Main.java, + tools/gnu/classpath/tools/rmid/Messages.java, + tools/gnu/classpath/tools/rmid/PersistentBidiHashTable.java, + tools/gnu/classpath/tools/rmiregistry/Main.java, + tools/gnu/classpath/tools/rmiregistry/Messages.java, + tools/gnu/classpath/tools/rmiregistry/PersistentHashTable.java, + tools/gnu/classpath/tools/rmiregistry/RegistryImpl.java, + tools/gnu/classpath/tools/rmiregistry/RegistryImpl_Skel.java, + tools/gnu/classpath/tools/rmiregistry/RegistryImpl_Stub.java, + tools/gnu/classpath/tools/tnameserv/Main.java, + tools/gnu/classpath/tools/tnameserv/Messages.java: New files. + * tools/gnu/classpath/tools/rmic/ClassRmicCompiler.java: Import + RMIC.java from cp-tools. + * configure.ac (AC_CONFIG_FILES): Add tools/grmiregistry, + tools/gtnameserv, tools/gorbd, tools/grmid and tools/grmic. + (AC_CONFIG_COMMANDS): Add grmiregistry, gtnameserv, gorbd, grmid + and grmic. + * examples/Makefile.am (GLIBJ_CLASSPATH): Add tools.zip. + * gnu/CORBA/NamingService/NamingServiceTransient.java (main): + Rename... + (start): New method. + * tools/Makefile.am: Add build support for new tool wrappers. + * tools/gorbd.in: New file. + * tools/grmic.in: Likewise. + * tools/grmid.in: Likewise. + * tools/grmiregistry.in: Likewise. + * tools/gtnameserv.in: Likewise. + * tools/gnu/classpath/tools/AbstractMethodGenerator.java: Move to... + * tools/gnu/classpath/tools/rmic/AbstractMethodGenerator.java: New + file. + * tools/gnu/classpath/tools/HelpPrinter.java: Remove file. + * tools/gnu/classpath/tools/rmi/Persistent.java: Move to... + * tools/gnu/classpath/tools/common/Persistent.java: New file. + +2006-09-22 Ito Kazumitsu + + Fixes bug #29047 + * gnu/java/util/regex/RETokenRepeated.java + (findMatch): Rewriten without using recursive calls, + (FindMatchControlStack): New class, + (FindMatchControl): New class, + (TryAnotherResult): New class, + (tryAnother): New method. + +2006-09-22 Gary Benson + + * java/net/SocketPermission.java + (processHostport): Cope with IPv6 addresses with a + one-digit first component. + +2006-09-22 Roman Kennke + + * java/awt/Component.java + (enableEvents): Set newEventsOnly flag. + * java/awt/Container.java + (dispatchEventImpl): Consume event if lightweight dispatcher + dispatched the event. Don't call processEvent() here, this + is already done in Component.dispatchEventImpl(). For + heavyweights or when the lightweight dispatcher could + not dispatch, fall back to calling super. + (dispatchNoLightweight): New helper method to avoid + recursivly calling the lightweight dispatcher. + * java/awt/LightweightDispatcher.java + (dragButton): Removed field. + (dragTarget): Removed field. + (mouseEventTarget): New field. + (convertPointToChild): Removed method. + (dispatchEvent): Don't depend on component beeing + a window. + (findTarget): Improved algorithm for finding a target. + Before we went down to the deepest component and went + up again to find a suitable target. Now we go + down only once, without going up. + (handleMouseEvent): Broke method down into some smaller + helper methods. + (isDragging): New helper method. + (isMouseListening): New helper method. + (redispatch): New helper method. + (trackEnterExit): New helper method. + +2006-09-22 David Gilbert + + * javax/swing/SizeSequence.java + (getSize): Return 0 if index is out of bounds. + +2006-09-21 Tom Tromey + + * tools/gnu/classpath/tools/javah/PathOptionGroup.java + (PathOptionGroup): Make -I a joined option. + * tools/gnu/classpath/tools/keytool/CACertCmd.java: Updated. + * tools/gnu/classpath/tools/keytool/CertReqCmd.java: Updated. + * tools/gnu/classpath/tools/keytool/DeleteCmd.java: Updated. + * tools/gnu/classpath/tools/keytool/ExportCmd.java: Updated. + * tools/gnu/classpath/tools/keytool/GenKeyCmd.java: Updated. + * tools/gnu/classpath/tools/keytool/IdentityDBCmd.java: Updated. + * tools/gnu/classpath/tools/keytool/ImportCmd.java: Updated. + * tools/gnu/classpath/tools/keytool/KeyCloneCmd.java: Updated. + * tools/gnu/classpath/tools/keytool/KeyPasswdCmd.java: Updated. + * tools/gnu/classpath/tools/keytool/ListCmd.java: Updated. + * tools/gnu/classpath/tools/keytool/MainCmd.java: Updated. + * tools/gnu/classpath/tools/keytool/PrintCertCmd.java: Updated. + * tools/gnu/classpath/tools/keytool/SelfCertCmd.java: Updated. + * tools/gnu/classpath/tools/keytool/StorePasswdCmd.java: Updated. + * tools/gnu/classpath/tools/appletviewer/Main.java: Updated. + * tools/gnu/classpath/tools/jar/Main.java: Updated. + * tools/gnu/classpath/tools/jarsigner/Main.java: Updated. + * tools/gnu/classpath/tools/javah/Main.java: Updated. + * tools/gnu/classpath/tools/native2ascii/Main.java: Updated. + * tools/gnu/classpath/tools/serialver/SerialVer.java: Updated. + * resource/gnu/classpath/tools/getopt/Messages.properties: Removed + unused entries. + * resource/gnu/classpath/tools/common/Messages.properties: New file. + * tools/gnu/classpath/tools/common/Messages.java: New file. + * tools/gnu/classpath/tools/getopt/Messages.java: Now package-private. + * tools/gnu/classpath/tools/common/ClasspathToolParser.java: Moved + from getopt. + (ClasspathToolParser): Add -J option here. + (ClasspathToolParser): Call other constructor in this class. + * tools/gnu/classpath/tools/getopt/Parser.java (handleLongOption): + Handle joined options. + (handleShortOptions): Likewise. + (handleShortOption): Removed. + (finalGroup): New field. + (Parser): Initialize new field. Don't add -J option. + (addFinal): New method. + * tools/gnu/classpath/tools/getopt/OptionGroup.java (printHelp): Use + isJoined. + * tools/gnu/classpath/tools/getopt/Option.java (isJoined): New method. + (Option): Check short option for validity. + (Option): New constructors. + (joined): New field. + +2006-09-21 csm + + * gnu/java/net/PlainDatagramSocketImpl.java (send): ignore + `InterruptedIOException;' try again if it gets thrown. + (receive): likewise, but re-throw `SocketTimeoutException.' + * gnu/java/nio/EpollSelectorImpl.java (doSelect): just return 0 + if we have nothing to select. + +2006-09-21 Francis Kung + + * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java: + (getLogicalBounds): Respect glyph transformations. + (getGlyphOutline): Added null pointer check. + (getGlyphTransform): Do not generate identity transform (API permits null). + (setGlyphPosition): Do not invalidate transform. + (setGlyphTransform): Do not modify glyph position. + +2006-09-21 Francis Kung + + * java/awt/image/ColorModel.java (coerceData): Set alpha premultiplied flag. + +2006-09-21 Francis Kung + + * java/awt/image/ColorModel.java (coerceData): Return proper colour model. + * java/awt/image/ComponentColorModel.java (coerceData): Likewise. + * java/awt/image/DirectColorModel.java (coerceData): Likewise. + +2006-09-21 Tania Bento + + * javax/swing/JTabbedPane.java: + (insertTab): Notify ChangeListeners if the tab inserted is selected. + (setModel): A ChangeListener should be created only if there does not + currently exist one. + +2006-09-21 David Gilbert + + * javax/swing/plaf/basic/BasicInternalFrameTitlePane.java + (MaximizeAction.actionPerformed): Change icon on maxButton. + +2006-09-21 Roman Kennke + + * javax/swing/plaf/basic/BasicScrollPaneUI.java + (syncScrollPaneWithViewport): Fixed typo (hsb vs. vsb). + Use more efficient getViewPosition() and getViewSize() methods + to avoid creating a rectangle. + (HSBChangeListener.stateChanged): Update the view position + unconditionally. Let the Viewport figure out if something + changed. + (VSBChangeListener.stateChanged): Update the view position + unconditionally. Let the Viewport figure out if something + changed. + * javax/swing/JViewport.java + (ViewListener.componentResized): Fire state change, because + the extentSize changes. + (extentSize): Removed unneeded field. + (viewSize): Removed unneeded field. + (getExtentSize): Return the viewport's size here. + (getViewRect): Reformatted. + (getViewSize): Reordered for only one return statement. + (paintImmediately2): Fixed up javadoc. + (paint): Removed unneeded statement. + (setExtentSize): Set viewport size and check for actual change + of value. + (setViewPosition): Simplified condition. Set scrollUnderway + true and don't set isViewSizeSet. Avoid creating one Point + object. + (setViewSize): Fixed != comparison with equals(). Set scrollUnderway + to false. + * javax/swing/JScrollBar.java + (ScrollBarListener): New class. Forwards change events from + the model as adjustment events. + (sbChangeListener): New field. + (JScrollBar): Install listener on new model. + (fireAdjustmentValueChanged(int,int,int)): Delegate to new helper + method. + (fireAdjustmentValueChanged(int,int,int,boolean)): New helper + method to allow custom isAdjusting value. + (setMaximum): Only forward to model. + (setMinimum): Only forward to model. + (setValue): Only forward to model. + (setVisibleAmount): Only forward to model. + (setValues): Only forward to model. + (setModel): Update the change listener. + +2006-09-20 Christian Thalinger + + * java/util/Formatter.java (basicIntegralConversion): Removed + check for ZERO && !LEFT_JUSTIFY. + +2006-09-20 Roman Kennke + + PR 29036 + * javax/swing/plaf/metal/DefaultMetalTheme.java + (PLAIN_CONTROL_TEXT_FONT): New constant field. + (BOLD_CONTROL_TEXT_FONT): New constant field. + (PLAIN_MENU_TEXT_FONT): New constant field. + (BOLD_MENU_TEXT_FONT): New constant field. + (controlTextFont): Removed. + (menuTextFont): Removed. + (CONTROL_TEXT_FONT): New constant field. + (MENU_TEXT_FONT): New constant field. + (getControlTextFont): Use getFont() helper method for fetching + the correct font. + (getMenuTextFont): Use getFont() helper method for fetching + the correct font. + (getFont): New helper method. + (isBoldMetal): New helper method. + +2006-09-20 Casey Marshall + + * NEWS: mention epoll selector along with the kqueue one. + +2006-09-20 Casey Marshall + + * native/jni/java-nio/gnu_java_nio_EpollSelectorImpl.c + (Java_gnu_java_nio_EpollSelectorImpl_epoll_1delete): ignore ENOENT. + +2006-09-20 Francis Kung + + PR 29011 + * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java: + (getGlyphTransform): Use translation instead of scale. + (performDefaultLayout): Increment position values instead of resetting, and + pre-increment instead of post-increment. + (setGlyphTransform): Handle null case with identity transform. + +2006-09-20 Casey Marshall + + * configure.ac (AC_CHECK_HEADERS): check for `sys/epoll.h.' + (AC_CHECK_FUNCS): check for `epoll_create.' + * gnu/java/nio/EpollSelectionKeyImpl.java: new file. + * gnu/java/nio/EpollSelectorImpl.java: new file. + * gnu/java/nio/SelectorProviderImpl.java (epoll_failed): new class + field. + (openSelector): return epoll selector if requested and available. + * include/Makefile.am (H_FILES): add gnu_java_nio_EpollSelectorImpl.h. + (gnu_java_nio_EpollSelectorImpl.h): new target. + * include/gnu_java_nio_EpollSelectorImpl.h: new file. + * native/jni/java-nio/Makefile.am (libjavanio_la_SOURCES): add + gnu_java_nio_EpollSelectorImpl.c. + * native/jni/java-nio/gnu_java_nio_EpollSelectorImpl.c: new file. + +2006-09-20 Casey Marshall + + * gnu/java/nio/SocketChannelImpl.java (finishConnect): don't + call `isConnected.' + (isConnected): return false if `connectionPending' is true. + +2006-09-20 Francis Kung + + PR 29011 + * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java: + (constructor): Expanded glyphPositions array to accomodate Y-coordinates. + (getGlyphOutline): Call getGylphTransform to generate transform. + (getGylphPosition): Read position directly out of array. + (getGlyphPositions): Read positions directly out of array. + (getGlyphTransform): Generate transform based on gylphPositions array. + (performDefaultLayout): Populate glyphPositions array instead of transforms. + (setGlyphPosition): Set position directly into array. + (setGlyphTransform): Update positions array as well. + +2006-09-20 David Daney + + PR classpath/28661 + * gnu/java/net/protocol/http/HTTPURLConnection.java (connect): Add + default content-type for POST method. + +2006-09-20 David Gilbert + + * javax/swing/plaf/basic/BasicRadioButtonUI.java + (BasicRadioButtonUI): Don't fetch icon here, + (installDefaults): Initialise icon here, + (getDefaultIcon): Just return icon. + +2006-09-20 Mark Wielaard + + * native/jni/java-nio/Makefile.am (libjavanio_la_SOURCES): + Add gnu_java_nio_channels_FileChannelImpl.c and javanio.h. + (EXTRA_DIST): Include javanio.c. + +2006-09-20 David Gilbert + + * java/awt/geom/RoundRectangle2D.java: + (getPathIterator): Reimplemented, + and updated various API doc comments. + +2006-09-20 Roman Kennke + + * java/awt/Container.java + (addImpl): Set the new component's parent after it has been + added to the array. Call addNotify() and invalidate() + after the component has been added, so that the peer + gets to know about the component structure when it is created. + * java/awt/Window.java + (dispatchEventImpl): Only revalidate when window is resized, + let the other stuff be processed by the superclass. + (dispose): Post WINDOW_CLOSED event only when some listener + is registered or event is explicitly enabled. + (show): Post WINDOW_OPENED event when appropriate. + +2006-09-20 Roman Kennke + + * java/awt/Component.java + (addNotify): Invalidate here. Fetch peer font. + (getFont): Delegate to helper method, to protect from + overriding client code. Lock the tree while fetching the font. + (getFontImpl): New helper method. Moved code from getFont() in + here. + (removeNotify): Nullify peerFont too. + (setFont): Synchronize on tree and component to avoid threading + issues. Update the peerFont correctly. + (validate): Update the peer font if necessary, before validating. + (getGraphics): Revert to recursive graphics fetching. + Set component font on the Graphics object. + (translateEvent): Removed unnecessary cast. + * java/awt/Container.java + (invalidateTree): Made final and private. Made implementation + slightly more efficient. + (setFont): Get old and new font via getFont() to account for + the real font, and only invalidate the tree when they are not + the same and not equal. + (visitChild): Set the font of the child on the component graphics. + * java/awt/Frame.java + (setMenuBar): Create local reference of peer for thread safety. + Only call simple invalidate, not invalidateTree(). + +2006-09-19 Cameron McCormack + + PR 29012 + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java: + (constructor): Copy image field. + +2006-09-19 David Gilbert + + * javax/swing/JMenuBar.java + (getHelpMenu): Implemented to throw an Error, and added API docs, + (getMargin): Added API docs, + (setMargin): Likewise. + +2006-09-19 David Gilbert + + * javax/swing/AbstractButton.java + (AbstractButton): Don't call updateUI(), + * javax/swing/JButton.java + (JButton(String, Icon)): Call setModel() before init(), + * javax/swing/JMenuItem.java + (JMenuItem()): Delegate to another constructor, + (JMenuItem(Icon)): Likewise, + (JMenuItem(Action)): Set model, + (JMenuItem(String, Icon)): Likewise, + * javax/swing/JToggleButton.java + (init): Call setModel() before init(). + +2006-09-19 Mark Wielaard + + Fixes bug #29137 + * java/util/logging/LogManager.java (addLogger): Always check for + existing children of a new Logger. + +2006-09-19 Roman Kennke + + * javax/swing/plaf/basic/BasicScrollPaneUI.java + (HSBChangeListener.stateChanged): Moved handling of header to + syncScrollPaneWithViewport(). + (VSBChangeListener.stateChanged): Moved handling of header to + syncScrollPaneWithViewport(). + (ViewportChangedHandler.stateChanged): Removed unused statements. + (syncScrollPaneWithViewport): Added null checks. Use setValues + rather then the single setter methods to avoid multiple + adjustments and side effects. Also snyc the headers here. + (updateScrollBarDisplayPolicy): Revalidate and repaint here. + (uninstallUI): Removed unnecessary cast and this qualifier as well + as the call to super. + +2006-09-19 Gary Benson + + * java/net/ResolverCache.java: New class (a DNS cache). + * java/net/InetAddress.java + (internalGetCanonicalHostName, getAllByName): Use the above. + +2006-09-19 Jeroen Frijters + + * gnu/java/nio/SocketChannelImpl.java: Removed unused import. + * java/net/ServerSocket.java + (port): New field. + (bind): Set port field. + (close): Set impl to null. + (isClosed): Check impl and channel instead of using VMChannel. + (toString): Use port field and getLocalPort() method. + * java/net/Socket.java + (isClosed): Check impl and channel instead of using VMChannel. + +2006-09-18 Tom Tromey + + * java/util/concurrent/CopyOnWriteArrayList.java + (CopyOnWriteArrayList): New constructor. + +2006-09-18 Casey Marshall + + * native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c + (Java_gnu_java_net_VMPlainSocketImpl_listen): remove debug printf. + +2006-09-18 Tom Tromey + + * gnu/javax/net/ssl/provider/SSLSocket.java (isBound, isClosed, + isConnected): Removed old comment. + (getRemoteSocketAddress): Uncommented. + (setOOBInline, getOOBInline, setKeepAlive, getKeepAlive, + setTrafficClass, getTrafficClass, setReuseAddress, + getReuseAddress, shutdownInput, shutdownOutput, isInputShutdown, + isOutputShutdown): Uncommented. + +2006-09-18 David Pirkle + + Fixes PR 28589 + * gnu/xml/transform/XSLURIResolver.java: Test SAXSource for specific + input stream during resolution. + +2006-09-18 Roman Kennke + + * java/awt/LightweightDispatcher.java + (findTarget): Correctly translate child coordinates. + Use Component.eventTypeEnabled() for checking if a component + has a certain event enabled. + (handleMouseEvent): Find the correct mouse event target. + Use Component.eventTypeEnabled() for checking if a component + has a certain event enabled. + +2006-09-18 Roman Kennke + + * java/awt/Component.java + (show): Test for the peer beeing lightweight directly. + (paintAll): Validate before painting. Don't paint when not + showing. Call peer.paint() when the component is heavyweight. + (repaint): Delegate to the parent when lightweight, rather + than skipping to the nearest heavyweight. + (createImage): Added null check to prevent NPE. + (dispatchEvent): Moved old event dispatching and toolkit + event dispatching to dispatchEventImpl. + (addComponentListener): Don't enable event. Only add listener + when not null. Switch to new event dispatching only. + (addFocusListener): Likewise. + (addHierarchyListener): Likewise. + (addHierarchyBoundsListener): Likewise. + (addKeyListener): Likewise. + (addMouseListener): Likewise. + (addMouseMotionListener): Likewise. + (addMouseWheelListener): Likewise. + (addInputMethodListener): Likewise. + (coalesceEvents): For mouse events coalesce them only when + their modifiers are equal. For paint events coalesce the events + when one contains the other, without going through complicated + heuristics. + (dispatchEventImpl): Moved old event dispatching and toolkit + event dispatching to dispatchEventImpl. + (coalescePaintEvents): Removed. + (HeavyweightInLightweightListener.componentHidden): + Fixed condition. + * java/awt/Container.java + (addImpl): Don't enable events on lightweights. + (remove): Reordered operations. Don't remove any listeners. + Throw ArrayIndexOutOfBoundsException when index >= ncomponents. + Only removeNotify() when peer is != null. Only invalidate if + not already invalid. Only fire ContainerEvent if there is + an interested listener or the event is enabled. Dispatch this + event directly without the event queue. + (removeAll): Likewise. + (paintComponents): Only paint when showing. Also paint heavyweights. + Don't paint the container itself. + (removeNotify): Create local variables for improved thread safety. + (addNotifyContainerChildren): Don't enable events for lightweights. + +2006-09-18 Roman Kennke + + * java/awt/EventQueue.java + (INITIAL_QUEUE_DEPTH): Removed obsolete field. + (next_in): Removed obsolete field. + (next_out): Removed obsolete field. + (queueHead): New field. Markes the head of the queue. + (queueTail): New field. Markes the tail of the queue. + (queue): Removed obsolete field. + (EventQueue): Documented empty block. + (getNextEvent): Changed array based implementation to single-linked + list based implementation. + (invokeAndWait): Use an Object as synchronization object rather + than the current thread. + (peekEvent(int)): Changed array based implementation to single-linked + list based implementation. + (peekEvent()): Changed array based implementation to single-linked + list based implementation. + (pop()): Changed array based implementation to single-linked + list based implementation. + (postEvent): Foward to postEventImpl. + (postEventImpl): Changed array based implementation to single-linked + list based implementation. + (push): Changed array based implementation to single-linked + list based implementation. + * java/awt/AWTEvent.java + (queueNext): New field. Implements a single-linked list for + the EventQueue. + +2006-09-17 Mark Wielaard + + * javax/swing/text/html/HTMLEditorKit (getStyleSheet): Load + resource from HTMLEditorKit.class. + +2006-09-17 Mark Wielaard + + * javax/swing/plaf/basic/BasicToolBarUI.java + (setBorderToNonRollover): Check whether border is null. + (setBorderToRollover): Likewise. + +2006-09-17 Mark Wielaard + + * javax/swing/JTree.java (setLeadSelectionPath): Handle null path. + +2006-09-17 Mark Wielaard + + * native/jni/java-nio/javanio.c (cpnio_fcntl): Last argument is long. + * native/jni/java-nio/javanio.h (cpnio_fcntl): Likewise. + * native/jni/java-nio/gnu_java_nio_VMChannel.c + (Java_gnu_java_nio_VMChannel_lock): Likewise. + (Java_gnu_java_nio_VMChannel_unlock): Likewise. + +2006-09-17 Casey Marshall + + * native/jni/classpath/jcl.c (JNI_OnLoad): mark `reserved' as + unused. + +2006-09-17 Chris Burdess + + Fixes PR 27610 27687. + * gnu/xml/dom/ls/SAXEventSink.java: Permit limited subclassing. + * gnu/xml/transform/SAXTemplatesHandler.java, + * gnu/xml/transform/SAXTransformerHandler.java: New files. + * gnu/xml/transform/TransformerFactoryImpl.java: Implement + SAXTransformerFactory. + +2006-09-16 Casey Marshall + + * NEWS: updated. + * configure.ac (AC_CHECK_HEADERS): check for `sys/event.h'. + (AC_CHECK_FUNCS): add checks for readv, writev, getifaddrs, + kqueue, and kevent. + (HAVE_INET6): define if IPv6 is supported. + * gnu/java/net/PlainDatagramSocketImpl.java (channel): new field. + (native_fd): removed. + (impl): new field. + (): throw IOException; initialize fields. + (finalize): removed. + (getNativeFD): removed. + (bind): use `PlainSocketImpl.bind.' + (create): use `PlainSocketImpl.initSocket.' + (disconnect): use `PlainSocketImpl.disconnect.' + (getLocalPort): new method. + (send): use `VMChannel.send.' + (receive): use `VMChannel.receive.' + (setOption): use `PlainSocketImpl.setOption.' + (getOption): use `PlainSocketImpl.getOption.' + (close): use `VMChannel.State.close.' + (join): use `PlainSocketImpl.join.' + (leave): use `PlainSocketImpl.leave.' + (joinGroup, leaveGroup): implemented. + * gnu/java/net/PlainSocketImpl.java: make non-final. + (native_fd): removed. + (impl): new field. + (channel): new field. + (): initialize `impl.' + (finalize, getNativeFD): removed. + (setOption): use `PlainSocketImpl.setOption.' + (getOption): use `PlainSocketImpl.getOption.' + (shutdownInput): use `PlainSocketImpl.shutdownInput.' + (shutdownOutput): use `PlainSocketImpl.shutdownOutput.' + (create): create `channel,' initialize `impl's native state. + (connect): use `connect(SocketAddress, int).' + (connect): use `SocketChannelImpl.connect;' initialize `address' + and `port.' + (bind): use `VMPlainSocketImpl.bind.' + (listen): use `VMPlainSocketImpl.listen.' + (accept): use `SocketChannelImpl.accept.' + (available): use `VMChannel.available.' + (close): use `PlainSocketImpl.close.' + (sendUrgentData): use `PlainSocketImpl.sendUrgentData.' + (getVMChannel, getInetAddress, getLocalPort, getLocalAddress, + getPort): new methods. + (SocketInputStream.read): use `VMChannel.read.' + (SocketInputStream.read): use `SocketChannel.read.' + (SocketOutputStream.write): use `VMChannel.write.' + (SocketOutputStream.write): use `SocketChannel.write.' + * gnu/java/nio/DatagramChannelImpl.java: implement VMChannel. + (channel): new field. + (): initialize `channel.' + (implCloseSelectableChannel): use `VMChannel.close.' + (implConfigureBlocking): use `VMChannel.setBlocking.' + (connect): use `VMChannel.connect.' + (disconnect): use `VMChannel.disconnect.' + (isConnected): use `VMChannel.getPeerAddress.' + (write): use `VMChannel.write.' + (write): use `VMChannel.writeGathering.' + (read): use `VMChannel.read.' + (read): use `VMChannel.readScattering.' + (receive): use `VMChannel.receive.' + (send): use `VMChannel.send.' + (getVMChannel): new method. + * gnu/java/nio/DatagramChannelSelectionKey.java (getNativeFD): + access native FD through VMChannel.State. + * gnu/java/nio/FileChannelImpl.java: moved from + gnu/java/nio/channels/FileChannelImpl.java. + * gnu/java/nio/FileLockImpl.java: fix imports. + * gnu/java/nio/KqueueSelectionKeyImpl.java: new file. + * gnu/java/nio/KqueueSelectorImpl.java: new file. + * gnu/java/nio/NIOSocket.java (impl): removed. + (channel): new field. + (): init superclass with a `NIOSocketImpl;' init `channel.' + (getPlainSocketImpl, setChannel): removed. + (isConnected): new method. + * gnu/java/nio/NIOSocketImpl.java: new file. + * gnu/java/nio/PipeImpl.java (SourceChannelImpl): implement + `VMChannelOwner.' + (SourceChannelImpl.native_fd): removed. + (SourceChannelImpl.): init with a `VMChannel.' + (SourceChannelImpl.getNativeFD): removed. + (SourceChannelImpl.getVMChannel): new method. + (SourceChannelImpl.implCloseSelectableChannel): implement. + (SinkChannelImpl): implement `VMChannelOwner.' + (SinkChannelImpl.native_fd): removed. + (SinkChannelImpl.): init with a `VMChannel.' + (SinkChannelImpl.implCloseSelectableChannel): implement. + (SinkChannelImpl.getNativeFD): removed. + (SinkChannelImpl.getVMChannel): new method. + * gnu/java/nio/SelectionKeyImpl.java (getNativeFD): mark + deprecated. + * gnu/java/nio/SelectorProviderImpl.java (SELECTOR_IMPL_KQUEUE, + SELECTOR_IMPL_EPOLL, SELECTOR_IMPL): new constants. + (openSelector): return kqueue selector if available. + * gnu/java/nio/ServerSocketChannelImpl.java: implement + `VMChannelOwner.' + (channel): new field. + (): init `channel.' + (finalizer): check if the `VMChannel.State' is valid. + (implCloseSelectableChannel): use `VMChannel.close.' + (implConfigureBlocking): use `VMChannel.setBlocking.' + (accept): use `VMChannel.accept.' + (getVMChannel): new method. + * gnu/java/nio/ServerSocketChannelSelectionKey.java (getNativeFD): + access native FD through `VMChannel.State.' + * gnu/java/nio/SocketChannelImpl.java: implement `VMChannelOwner.' + (impl): removed. + (channel, connected, connectAddress): new field. + (): new constructors. + (getPlainSocketImpl): removed. + (implCloseSelectableChannel): use `VMChannel.close.' + (implConfigureBlocking): use `VMChannel.setBlocking.' + (connect): use `connect(SocketAddress,int).' + (connect): use `VMChannel.connect.' + (finishConnect): don't use a selector. + (isConnected): use `VMChannel.getPeerAddress.' + (read): use `VMChannel.read.' + (read): use `VMChannel.readScattering.' + (write): use `VMChannel.write.' + (write): use `VMChannel.writeGathering.' + (getVMChannel): new method. + * gnu/java/nio/SocketChannelSelectionKey.java (getNativeFD): get + native FD from `VMChannel.State.' + * gnu/java/nio/SocketChannelSelectionKeyImpl.java (getNativeFD): + get native FD from `VMChannel.State.' + * gnu/java/nio/VMChannelOwner.java: new file. + * gnu/java/nio/channels/FileChannelImpl.java: removed. + * include/Makefile.am: generate `gnu_java_nio_FileChannelImpl.h' + and `gnu_java_nio_KqueueSelectorImpl.h;' don't generate + `gnu_java_nio_channels_FileChannelImpl.h.' + * include/gnu_java_net_VMPlainSocketImpl.h: regenerated. + * include/gnu_java_nio_FileChannelImpl.h: new file. + * include/gnu_java_nio_KqueueSelectorImpl.h: new file. + * include/gnu_java_nio_VMChannel.h: regenerated. + * include/gnu_java_nio_VMPipe.h: regenerated. + * include/java_net_VMNetworkInterface.h: regenerated. + * java/io/FileDescriptor.java: fix imports. + * java/io/FileInputStream.java (): handle exceptions. + (read): wrap the destination arary. + * java/io/FileOutputStream.java (): handle exceptions. + (write): wrap the source array. + * java/io/RandomAccessFile.java (): handle exceptions. + * java/net/DatagramSocket.java (): handle exceptions. + (receive): handle length/port setting. + (connect): bind to any address/port if the argument is null. + * java/net/NetworkInterface.java (name, inetAddress): removed. + (netif): new field. + (): make private. + (getName): return `netif.name.' + (getInetAddresses): access `netif.addresses.' + (getDisplayName): return `netif.name.' + (getByName, getByAddress): handle changes to `VMNetworkInterface.' + (condense): removed. + (getNetworkInterfaces): handle changes to `VMNetworkInterface.' + (equals): compare `netif' fields. + (hashCode): get hash codes from `netif.' + (toString): use a StringBuffer. + * java/net/ServerSocket.java (close): don't set `impl' to null. + (isClosed): use `VMChannel.State.isClosed.' + * java/net/Socket.java (getLocalAddress): don't use `getOption' if + the `SocketImpl' is a `PlainSocketImpl.' + (close): just close the `impl.' + (toString): use `super.toString' in the value we return. + (isConnected): just access `impl,' not `getImpl.' + (isBound): use `PlainSocketImpl' methods if we can. + (isClosed): look at `VMChannel.State.' + * native/jni/classpath/jcl.c (JNI_OnLoad): new function. + (JCL_NewRawDataObject): don't initialize cached fields here; throw + an exception if they were not. + (JCL_GetRawData): throw an exception if cached fields weren't + created. + * native/jni/java-lang/java_lang_VMProcess.c: handle + FileChannelImpl move. + * native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c + (IO_EXCEPTION, SOCKET_EXCEPTION, BIND_EXCEPTION, + THROW_NO_NETWORK): new macros. + (Java_gnu_java_net_VMPlainSocketImpl_bind): reipmlemented. + (Java_gnu_java_net_VMPlainSocketImpl_bind6): new function. + (Java_gnu_java_net_VMPlainSocketImpl_listen): reimplemented. + (java_sockopt): new enum. + (Java_gnu_java_net_VMPlainSocketImpl_setOption): reimplemented. + (Java_gnu_java_net_VMPlainSocketImpl_getOption): reimplemented. + (Java_gnu_java_net_VMPlainSocketImpl_shutdownInput): + reimplemented. + (Java_gnu_java_net_VMPlainSocketImpl_shutdownOutput): + reimplemented. + (Java_gnu_java_net_VMPlainSocketImpl_sendUrgentData): new + function. + (Java_gnu_java_net_VMPlainSocketImpl_join): new function. + (Java_gnu_java_net_VMPlainSocketImpl_join6): new function. + (Java_gnu_java_net_VMPlainSocketImpl_read): removed. + (Java_gnu_java_net_VMPlainSocketImpl_leave): new function. + (Java_gnu_java_net_VMPlainSocketImpl_leave6): new function. + (Java_gnu_java_net_VMPlainSocketImpl_joinGroup): new function. + (Java_gnu_java_net_VMPlainSocketImpl_write): removed. + (Java_gnu_java_net_VMPlainSocketImpl_joinGroup6): new function. + (Java_gnu_java_net_VMPlainSocketImpl_leaveGroup): new function. + (Java_gnu_java_net_VMPlainSocketImpl_leaveGroup6): new function. + (getif_address): new function. + (getif_index): new function. + * native/jni/java-net/java_net_VMNetworkInterface.c + (java_net_VMNetworkInterface_init, + java_net_VMNetworkInterface_addAddress): new file-scope globals. + (Java_java_net_VMNetworkInterface_initIds): new function. + (struct netif_entry): new struct. + (free_netif_list): new function. + (Java_java_net_VMNetworkInterface_getInterfaces): removed. + (Java_java_net_VMNetworkInterface_getVMInterfaces): new function. + * native/jni/java-nio/Makefile.am (libjavanio_la_SOURCES): remove + gnu_java_nio_channels_FileChannelImpl.c, add + gnu_java_nio_KqueueSelectorImpl.c. + * native/jni/java-nio/gnu_java_nio_KqueueSelectorImpl.c: new file. + * native/jni/java-nio/gnu_java_nio_VMChannel.c + (INTERRUPTED_IO_EXCEPTION, SOCKET_TIMEOUT_EXCEPTION, ALIGN_UP, + ALIGN_DOWN): new macros. + (JCL_init_buffer): get the address through GetDirectBufferAddress + if possible. + (Java_gnu_java_nio_VMChannel_stdin_1fd, + Java_gnu_java_nio_VMChannel_stdout_1fd, + Java_gnu_java_nio_VMChannel_stderr_1fd): new functions. + (Java_gnu_java_nio_VMChannel_setBlocking): fix setting blocking + value. + (Java_gnu_java_nio_VMChannel_read): renamed... + (Java_gnu_java_nio_VMChannel_read__ILjava_nio_ByteBuffer_2): to + this; handle interrupted IO; add HAVE_READ check. + (Java_gnu_java_nio_VMChannel_write): renamed... + (Java_gnu_java_nio_VMChannel_write__ILjava_nio_ByteBuffer_2): to + this; handle zero-length write; add HAVE_WRITE check. + (Java_gnu_java_nio_VMChannel_receive): new function. + (Java_gnu_java_nio_VMChannel_send): new function. + (Java_gnu_java_nio_VMChannel_send6): new function. + (Java_gnu_java_nio_VMChannel_read__I): new function. + (Java_gnu_java_nio_VMChannel_write__II): new function. + (Java_gnu_java_nio_VMChannel_socket): new function. + (Java_gnu_java_nio_VMChannel_connect): new function. + (Java_gnu_java_nio_VMChannel_connect6): new function. + (Java_gnu_java_nio_VMChannel_getsockname): new function. + (Java_gnu_java_nio_VMChannel_getpeername): new function. + (Java_gnu_java_nio_VMChannel_accept): new function. + (Java_gnu_java_nio_VMChannel_disconnect): new function. + (Java_gnu_java_nio_VMChannel_close): new function. + (Java_gnu_java_nio_VMChannel_available): new function. + (FileChannel_mode): new enum. + (Java_gnu_java_nio_VMChannel_open): new function. + (Java_gnu_java_nio_VMChannel_position): new function. + (Java_gnu_java_nio_VMChannel_seek): new function. + (Java_gnu_java_nio_VMChannel_truncate): new funciton. + (Java_gnu_java_nio_VMChannel_lock): new function. + (Java_gnu_java_nio_VMChannel_unlock): new function. + (Java_gnu_java_nio_VMChannel_size): new function. + (Java_gnu_java_nio_VMChannel_map): new function. + (Java_gnu_java_nio_VMChannel_flush): new function. + * native/jni/java-nio/gnu_java_nio_VMPipe.c + (Java_gnu_java_nio_VMPipe_init): removed. + (Java_gnu_java_nio_VMPipe_pipe0): new function. + * native/jni/java-nio/javanio.c: new file. + * native/jni/java-nio/javanio.h: new file. + * native/jni/native-lib/cpnet.c (cpnet_getHostByName): fix for + systems without `gethostbyname_r.' + * vm/reference/gnu/java/net/VMPlainSocketImpl.java (nfd): new + field. + (, ): new constructors. + (setOption, getOption): make instance methods; defer to native + implementation. + (connect): removed. + (bind): make an instance method; defer to native methods. + (accept): removed. + (available): removed. + (listen): make an instance method; defer to native method. + (read): removed. + (join, leave): new methods. + (write): removed. + (joinGroup, leaveGroup): new methods. + (shutdownInput, shutdownOutput): make instance methods. + (sendUrgentData): removed. + (State): new class. + * vm/reference/gnu/java/nio/VMChannel.java: make final. + (fd): removed. + (nfd): new field. + (): new, public constructors. + (getVMChannel): methods removed. + (getState, getStdin, getStdout, getStderr, stdin_fd, stdout_fd, + stderr_fd): new methods. + (setBlocking): make an instance method. + (available): new method. + (read): get native fd from `nfd.' + (read): new single-byte read method. + (readScattering): get native fd from `nfd.' + (receive): new method. + (write, writeGathering): get native fd from `nfd.' + (send): new method. + (write): new single-byte write method. + (initSocket): new method. + (connect): new method. + (disconnect): new method. + (getLocalAddress): new method. + (getPeerAddress): new method. + (accept): new method. + (openFile): new method. + (position): new method. + (seek): new method. + (truncate): new method. + (lock): new method. + (unlock): new method. + (size): new method. + (map): new method. + (flush): new method. + (close): new method. + (State): new class. + (Kind): new class. + * vm/reference/gnu/java/nio/VMPipe.java (init): removed. + (pipe, pipe0): new method. + * vm/reference/java/net/VMNetworkInterface.java (name, addresses): + new fields. + (): call `initIds.' + (initIds): new method. + (getInterfaces): removed. + (getVMInterfaces): new method. + (addAddress): new method. + * vm/reference/java/nio/channels/VMChannels.java: fix imports. + +2006-09-16 Chris Burdess + + Fixes PR 28572. + * gnu/xml/transform/StreamSerializer.java: Don't escape XML entities + when in text output mode. + +2006-09-16 Chris Burdess + + Fixes PR 27293. + * gnu/xml/dom/DomNode.java: Increment length of node during insert. + +2006-09-14 Michael Koch + + * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h: Recreated. + +2006-09-15 Chistian Elias Naur + + * java/io/ObjectStreamClass.java (setClass(Class, ObjectStreamClass)): + Added !cl.isArray() to serialVersionUID mismatch check. + +2006-09-14 Francis Kung + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c + (gnu_java_awt_peer_gtk_CairoGraphics2D_setGradient): Updated constants to + be compatibe with Cairo 1.2.x. + +2006-09-14 Francis Kung + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java: Added interpolation constants. + (cairoSurfaceSetFilter): Removed method. + (drawImage): Pass interpolation type as argument to drawing methods. + (drawPixels): Added interpolation parameter. + (drawRaster): Pass interpolation type as argument to drawing method. + (getInterpolation): New method. + (setRenderingHint): Store hints, but do not set interpolation in cairo. + (setRenderingHints): Store hints, but do not set interpolation in cairo. + * gnu/java/awt/peer/gtk/CairoSurface.java + (drawSurface): Added interpolation parameter. + (nativeDrawSurface): Added interpolation parameter. + * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h + (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_drawPixels): Added interpolation + parameter. + (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoSurfaceSetFilter): Removed. + * native/jni/gtk-peer/cairographics2d.h + (java_awt_rendering_hints_filter): Added bicubic interpolation constant. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c + (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_drawPixels): Added interpolation + parameter. + (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoSurfaceSetFilter): Removed. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c + (Java_gnu_java_awt_peer_gtk_CairoSurface_nativeDrawSurface): Added + interpolation parameter. + +2006-09-14 Gary Benson + + * java/net/InetAddress.java + (internalGetCanonicalHostName): New method. + (getCanonicalHostName): Use internalGetCanonicalHostName. + (getByLiteral): New method. + (getAllByName): Use getByLiteral. + * java/net/SocketPermission.java + (host): Replaced with... + (hostname, address): New fields. + (equals, hashcode): Reflect the above. + (setHostPort): Parse host into hostname or address. + (implies): Rewrite host checks. + +2006-09-14 David Gilbert + + Fixes PR28699 + * java/awt/Menu.java + (insert(MenuItem, int)): Fixed loop range, + (insert(String, int)): Updated API docs. + +2006-09-14 Christian Thalinger + + Fixes PR22800 + * native/fdlibm/mprec.h (Storeinc): Define correctly for LE + architectures (like Arm). + * native/jni/java-lang/java_lang_VMDouble.c (doubleToLongBits): + Reverted SWAP_DOUBLE patch. + (doubleToRawLongBits): Likewise. + (longBitsToDouble): Likewise. + +2006-09-14 David Gilbert + + * java/awt/Menu.java: Reformatted source file. + +2006-09-14 Jeroen Frijters + + * gnu/java/rmi/server/ActivatableRef.java + (readExternal, writeExternal): Partial fix for serialization format. + +2006-09-14 Jeroen Frijters + + PR classpath/28984 + * java/io/InputStreamReader.java + (read(char[],int,int)): Fixed bug. + +2006-09-13 Francis Kung + + * java/awt/image/BandCombineOp.java: Updated documentation. + (filter(Raster, WritableRaster)): Use int arrays, and added simple cache. + +2006-09-13 Tom Tromey + + PR classpath/29034: + * java/io/PipedReader.java (read): Return early if len==0. + * java/io/PipedInputStream.java (read): Return early if len==0. + +2006-09-13 Francis Kung + + * java/awt/image/ConvolveOp.java (filter(Raster, WritableRaster)): + Removed hard-coded max sample value. + * java/awt/image/RescaleOp.java (filter(Raster, WritableRaster)): + Fixed finding of max sample value. + +2006-09-12 David Gilbert + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (setPaint): Check null argument ('p'). + +2006-09-12 Francis Kung + + PR 27940 + * gnu/java/awt/java2d/TexturePaintContext.java + (constructor): Fixed typo, getMinY instead of getMaxX. + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (setPaint): Implemented support for custom Paint classes. + (setPaintPixels): Renamed from setTexturePixels, added repeat parameter. + (setTexturePixels): Renamed to setPaintPixels, added repeat parameter. + * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h: Renamed setTexturePixels + to setPaintPixels, and added repeat parameter. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c: + Renamed setTexturePixels to setPaintPixels, and added repeat parameter. + +2006-09-12 Gary Benson + + * java/net/NetworkInterface.java (getInetAddresses): + Fix port used in security check. + +2006-09-12 David Gilbert + + * javax/swing/plaf/metal/DefaultMetalTheme.java + (CONTROL_TEXT_FONT): Renamed 'controlTextFont', + (MENU_TEXT_FONT): Renamed 'menuTextFont', + (getControlTextFont): Check 'swing.boldMetal' setting before + initialising font, + (getMenuTextFont): Likewise. + +2006-09-12 David Gilbert + + * javax/swing/plaf/metal/OceanTheme.java + (addCustomEntriesToTable): Added 'List.focusCellHighlightBorder' entry. + +2006-09-12 David Gilbert + + * javax/swing/plaf/metal/MetalIconFactory.java + (InternalFrameDefaultMenuIcon.paintIcon): Use theme colors. + +2006-09-12 David Gilbert + + * javax/swing/AbstractSpinnerModel.java: API doc updates. + +2006-09-12 David Gilbert + + * javax/swing/AbstractButton.java + (AbstractButton): Initialise textIconGap field. + +2006-09-11 Tom Tromey + + * tools/gnu/classpath/tools/javah/FieldHelper.java (print): Print + "volatile" when needed. + +2006-09-11 David Gilbert + + * java/text/AttributedCharacterIterator.java + (LANGUAGE): Initialise with lower case string, + (INPUT_METHOD_SEGMENT): Likewise, + (READING): Likewise, + * java/text/AttributedStringIterator.java + (getRunLimit): Check all attributes for changes. + +2006-09-11 David Gilbert + + * java/text/AttributedCharacterIterator.java: Added @since tag, + renamed some variables (no underscores) and removed some spaces to + match the common style, + * java/text/AttributedString.java: Likewise, + * java/text/AttributedStringIterator.java: Likewise. + +2006-09-11 Gary Benson + + * java/net/Inet4Address.java + (FAMILY): Renamed back to AF_INET. + (, writeReplace): Reflect the above. + * java/net/Inet6Address.java + (FAMILY): Renamed back to AF_INET6. + (): Reflect the above. + +2006-09-11 Cameron McCormack + + Fixes PR29010 + * java/text/AttributedString.java + (AttributedString(AttributedCharacterIterator, int, int, + AttributedCharacterIterator.Attribute[])): Fixed check for defined + attribute. + +2006-09-11 Gary Benson + + * java/net/Inet4Address.java + (AF_INET): Renamed to FAMILY. + (, writeReplace): Reflect the above. + * java/net/Inet6Address.java + (AF_INET6): Renamed to FAMILY. + (): Reflect the above. + +2006-09-10 Ito Kazumitsu + + Fixes bug #28867 + Originally in Kaffe: 2004-04-16 Helmer Kraemer + * java/net/ServerSocket.java(implAccept): Deleted socket.implCreated. + * java/net/Socket.java: Avoid creating a redundant file descriptor. + (implCreated): Deleted, (getImpl): Don't check impleCreated, + (bind): Call getImpl().create(true). + +2006-09-09 Chris Burdess + + * gnu/xml/xpath/Expr.java: Ensure that node-set evaluation returns + an instance of org.w3c.dom.NodeList. + +2006-09-08 Thomas Fitzsimmons + + * tools/gnu/classpath/tools/appletviewer/Main.java: Warn about + missing security manager when run in standalone mode. + +2006-09-08 Francis Kung + + * java/awt/image/AffineTransformOp.java: Updated documentation. + (createCompatibleDestRaster): Updated formatting. + (filter(BufferedImage, BufferedImage)): Updated formatting. + (filter(Raster, WritableRaster)): Delegated processing to native peers for + if colour model is compatible. + (filterBicubic): Get entire pixel at once, and use appropriate array type. + (filterBilinear): Get entire pixel at once, and use appropriate array type. + +2006-09-08 Gary Benson + + * java/net/InetAddress.java + (family): Updated javadoc and made private. + (): Add an address family argument. + (readObject): Don't overwrite family. + * java/net/Inet4Address.java + (AF_INET): New constant. + (): Use AF_INET as the family. + (writeReplace): Likewise. + * java/net/Inet6Address.java + (AF_INET6): New constant. + (): Use AF_INET6 as the family. + +2006-09-08 Gary Benson + + * java/net/InetAddress.java + (getHostName): Move lookup into getCanonicalHostName. + (getCanonicalHostName): Move lookup from getHostName, + Perform security check on canonical name (ie after lookup). + +2006-09-08 Gary Benson + + * java/net/Inet4Address.java (isMulticastAddress, + isLoopbackAddress, isAnyLocalAddress, isLinkLocalAddress, + isSiteLocalAddress, isMCGlobal, isMCNodeLocal, isMCLinkLocal, + isMCSiteLocal, isMCOrgLocal, getHostAddress): Moved + implementations from InetAddress. + * java/net/InetAddress.java (isMulticastAddress, + isLoopbackAddress, isAnyLocalAddress, isLinkLocalAddress, + isSiteLocalAddress, isMCGlobal, isMCNodeLocal, isMCLinkLocal, + isMCSiteLocal, isMCOrgLocal, getHostAddress): Replace + implementations with UnsupportedOperationExceptions. + +2006-09-08 Gary Benson + + * java/net/InetAddress.java + (inaddr_any): Removed. + (ANY_IF, LOCALHOST): Create using getByAddress. + (): Updated javadoc. + (getHostName): Cache hostname even if the lookup failed. + (getByAddress): Create Inet4Address objects when passed + IPv4-mapped IPv6 addresses. + (aton): Removed. + (getAllByName): Create address objects using getByAddress. + Do not perform security checks unless actually required. + Do not strip whitespace from the hostname. + (getInaddrAny): Removed. + (getLocalHost): Return the loopback address if getByName + throws a SecurityException. + (readResolve): Updated javadoc. + * vm/reference/java/net/VMInetAddress.java (aton): Declared. + * include/java_net_VMInetAddress.h + (Java_java_net_VMInetAddress_aton): Likewise. + * native/jni/java-net/java_net_VMInetAddress.c + (Java_java_net_VMInetAddress_aton): New method. + * native/jni/native-lib/cpnet.h (cpnet_aton): Declared. + * native/jni/native-lib/cpnet.c (cpnet_aton): New method. + * configure.ac (AC_CHECK_FUNCS): Checks for cpnet_aton. + * java/net/Inet4Address.java (writeReplace): Updated javadoc. + * NEWS: Added note about updated VM interface. + +2006-09-07 David Gilbert + + * javax/swing/plaf/basic/BasicInternalFrameUI.java + (setNorthPane): Assign component to titlePane. + +2006-09-07 Audrius Meskauskas + + * gnu/CORBA/NamingService/NameParser.java (corbaloc): + Remove unused variable alt_addr. + * gnu/CORBA/NamingService/NameTransformer.java (toName): + Remove unused variables. + +2006-09-07 David Gilbert + + * javax/swing/plaf/metal/MetalScrollBarUI.java + (installDefaults): Initialise scrollBarWidth from UI defaults here, + (createDecreaseButton): Don't fetch scrollBarWidth here, + (createIncreaseButton): Likewise. + +2006-09-07 David Gilbert + + * java/awt/image/MemoryImageSource.java: Added API docs. + +2006-09-06 David Gilbert + + * javax/swing/plaf/basic/BasicScrollBarUI.java + (installDefaults): Call configureScrollBarColors(). + +2006-09-06 Francis Kung + + * java/awt/image/RescaleOp.java: Updated documentation and formatting. + (constructor): Make copy of arrays. + (createCompatibleDestImage): Changed treatment of null ColorModel. + (filter(BufferedImage, BufferedImage)): Re-implemented. + (filter(Raster, WritableRaster, boolean[])): New method. + (filter(Raster, WritableRaster)): Re-implemented. + (getOffsets): Prevent ArrayIndexOutOfBoundsException. + (getPoint2D): Cleaned up formatting. + (getScaleFactors): Prevent ArrayIndexOutOfBoundsException. + +2006-09-06 David Gilbert + + * javax/swing/UIManager.java + (getBoolean(Object)): Reimplemented, + (getBoolean(Object, Locale)): Likewise, + (getBorder(Object)): Likewise, + (getBorder(Object, Locale)): Likewise, + (getColor(Object)): Likewise, + (getColor(Object, Locale)): Likewise, + (getDimension(Object)): Likewise, + (getDimension(Object, Locale)): Likewise, + (getFont(Object)): Likewise, + (getFont(Object, Locale)): Likewise, + (getIcon(Object)): Likewise, + (getIcon(Object, Locale)): Likewise, + (getInsets(Object)): Updated API docs, + (getInsets(Object, Locale)): Likewise, + (getInt(Object)): Reimplemented, + (getInt(Object, Locale)): Likewise, + (getString(Object)): Likewise, + (getString(Object, Locale)): Likewise. + +2006-09-06 David Gilbert + + * javax/swing/UIManager.java + (MultiplexUIDefaults.MultiplexUIDefaults()): Don't allow null fallback, + (getDefaults): Initialise MultiplexUIDefaults with empty fallback. + +2006-09-06 David Gilbert + + * javax/swing/plaf/metal/MetalLookAndFeel.java + (initComponentDefaults): Corrected various font defaults. + +2006-09-05 David Gilbert + + * java/awt/List.java: Added @since to various methods. + +2006-09-05 Andrew John Hughes + + * native/jni/native-lib/cpprocess.c: + (forkAndExec(char*,char*,int,int,pid_t,char*)): + Add redirection of stdout to stderr. + * native/jni/native-lib/cpprocess.h: + Added redirect argument. + * native/jni/java-lang/java_lang_VMProcess.c + (Java_java_lang_VMProcess_nativeSpawn): Readd redirect argument. + * vm/reference/java/lang/VMProcess.java: Likewise. + * include/java_lang_VMProcess.h: Regenerated. + +2006-09-05 Andreas Tobler + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkVolatileImage.c: Adjust + __attribute to __attribute__. + + * native/jni/java-nio/java_nio_MappedByteBufferImpl.c: Remove duplicate + header include. + +2006-09-05 David Gilbert + + * java/awt/List.java: Source code reformatted. + +2006-09-05 Audrius Meskauskas + + * gnu/CORBA/CollocatedOrbs.java, + gnu/CORBA/SafeForDirectCalls.java: New files. + * gnu/CORBA/NamingService/Binding_iterator_impl.java: + Implement gnu.CORBA.SafeForDirectCalls. + * gnu/CORBA/NamingService/Ext.java: Likewise. + * gnu/CORBA/NamingService/TransientContext.java: Likewise. + * gnu/CORBA/OrbFunctional.java (createIor):Cache the address + of the local host. (ior_to_object): Return the local object + where possible. (run): Register/unregister this ORB. + * gnu/CORBA/Poa/LocalRequest.java (v_invoke): Call gnuPOA.checkDiscarding. + * gnu/CORBA/Poa/gnuPOA.java (checkDiscarding): Made package private. + * gnu/CORBA/Poa/gnuServantObject.java (noRetain): New field. + (constructors): Initialize noRetain. (_invoke): Drop servant + if noRetain is true. (getHandler): Always seach for the new servant + if noRetain is true. + * gnu/CORBA/SimpleDelegate.java (create_request): Implemented. + * NEWS: Added note about the new feature. + +2006-09-05 David Gilbert + + * java/awt/Choice.java + (addItem): Fixed API doc glitch. + +2006-09-05 Francis Kung + + * java/awt/image/LookupOp.java: Updated documentation & formatting. + (createCompatibleDestImage): Re-implemented. + (filter(BufferedImage, BufferedImage)): Added check for src/dest image + compatibility, and use ColorConvertOp for color conversion if needed. + (filter(Raster, WritableRaster)): Made exceptions more descriptive. + +2006-09-05 Audrius Meskauskas + + gnu/CORBA/CDR/Vio.java, + org/omg/CORBA_2_3/ORB.java, + org/omg/CORBA_2_3/portable/InputStream.java, + org/omg/CORBA_2_3/portable/OutputStream.java, + org/omg/CosNaming/BindingIteratorHelper.java, + org/omg/CosNaming/BindingTypeHelper.java, + org/omg/CosNaming/NameComponentHelper.java, + org/omg/CosNaming/NameHelper.java, + org/omg/CosNaming/NamingContextExtHelper.java, + org/omg/CosNaming/NamingContextExtPackage/AddressHelper.java, + org/omg/CosNaming/NamingContextExtPackage/InvalidAddressHelper.java, + org/omg/CosNaming/NamingContextExtPackage/InvalidAddressHolder.java, + org/omg/CosNaming/NamingContextExtPackage/StringNameHelper.java, + org/omg/CosNaming/NamingContextExtPackage/URLStringHelper.java, + org/omg/CosNaming/NamingContextHelper.java, + org/omg/CosNaming/NamingContextPackage/AlreadyBoundHelper.java, + org/omg/CosNaming/NamingContextPackage/InvalidName.java, + org/omg/CosNaming/NamingContextPackage/InvalidNameHelper.java, + org/omg/CosNaming/NamingContextPackage/NotEmptyHelper.java, + org/omg/CosNaming/NamingContextPackage/NotFoundReasonHelper.java, + org/omg/CosNaming/NamingContextPackage/NotFoundReasonHolder.java, + org/omg/DynamicAny/AnySeqHelper.java, + org/omg/DynamicAny/DynAnyFactoryHelper.java, + org/omg/DynamicAny/DynAnyFactoryOperations.java, + org/omg/DynamicAny/DynAnyFactoryPackage/InconsistentTypeCodeHelper.java, + org/omg/DynamicAny/DynAnyHelper.java, + org/omg/DynamicAny/DynAnyOperations.java, + org/omg/DynamicAny/DynAnyPackage/InvalidValueHelper.java, + org/omg/DynamicAny/DynAnyPackage/TypeMismatchHelper.java, + org/omg/DynamicAny/DynAnySeqHelper.java, + org/omg/DynamicAny/DynArrayHelper.java, + org/omg/DynamicAny/DynEnumHelper.java, + org/omg/DynamicAny/DynFixedHelper.java, + org/omg/DynamicAny/DynSequenceHelper.java, + org/omg/DynamicAny/DynStructHelper.java, + org/omg/DynamicAny/DynStructOperations.java, + org/omg/DynamicAny/DynUnionHelper.java, + org/omg/DynamicAny/DynValueHelper.java, + org/omg/DynamicAny/NameDynAnyPairHelper.java, + org/omg/DynamicAny/NameDynAnyPairSeqHelper.java, + org/omg/IOP/CodecFactoryHelper.java, + org/omg/IOP/CodecFactoryPackage/UnknownEncodingHelper.java, + org/omg/IOP/CodecOperations.java, + org/omg/IOP/CodecPackage/FormatMismatchHelper.java, + org/omg/IOP/CodecPackage/InvalidTypeForEncodingHelper.java, + org/omg/IOP/CodecPackage/TypeMismatchHelper.java, + org/omg/IOP/ComponentIdHelper.java, + org/omg/IOP/ExceptionDetailMessage.java, + org/omg/IOP/MultipleComponentProfileHelper.java, + org/omg/IOP/ProfileIdHelper.java, + org/omg/IOP/ServiceContextListHelper.java, + org/omg/IOP/ServiceIdHelper.java, + org/omg/IOP/TAG_CODE_SETS.java, + org/omg/PortableInterceptor/ClientRequestInfoOperations.java, + org/omg/PortableInterceptor/ClientRequestInterceptorOperations.java, + org/omg/PortableInterceptor/CurrentHelper.java, + org/omg/PortableInterceptor/IORInfo.java, + org/omg/PortableInterceptor/IORInterceptor_3_0Helper.java, + org/omg/PortableInterceptor/ORBIdHelper.java, + org/omg/PortableInterceptor/ORBInitInfoOperations.java, + org/omg/PortableInterceptor/ORBInitInfoPackage/InvalidNameHelper.java, + org/omg/PortableInterceptor/ORBInitializerOperations.java, + org/omg/PortableInterceptor/ObjectReferenceFactoryHelper.java, + org/omg/PortableInterceptor/ObjectReferenceTemplateHelper.java, + org/omg/PortableInterceptor/RequestInfoOperations.java, + org/omg/PortableInterceptor/ServerIdHelper.java, + org/omg/PortableInterceptor/ServerRequestInfoOperations.java, + org/omg/PortableInterceptor/ServerRequestInterceptorOperations.java, + org/omg/PortableServer/AdapterActivatorOperations.java, + org/omg/PortableServer/CurrentHelper.java, + org/omg/PortableServer/CurrentPackage/NoContextHelper.java, + org/omg/PortableServer/ForwardRequestHelper.java, + org/omg/PortableServer/IdAssignmentPolicyValue.java, + org/omg/PortableServer/IdUniquenessPolicyValue.java, + org/omg/PortableServer/ImplicitActivationPolicyValue.java, + org/omg/PortableServer/LifespanPolicyValue.java, + org/omg/PortableServer/POA.java, + org/omg/PortableServer/POAHelper.java, + org/omg/PortableServer/POAManagerPackage/AdapterInactiveHelper.java, + org/omg/PortableServer/POAManagerPackage/State.java, + org/omg/PortableServer/POAOperations.java, + org/omg/PortableServer/POAPackage/AdapterAlreadyExistsHelper.java, + org/omg/PortableServer/POAPackage/AdapterNonExistentHelper.java, + org/omg/PortableServer/POAPackage/InvalidPolicy.java, + org/omg/PortableServer/POAPackage/NoServantHelper.java, + org/omg/PortableServer/POAPackage/ObjectAlreadyActiveHelper.java, + org/omg/PortableServer/POAPackage/ObjectNotActiveHelper.java, + org/omg/PortableServer/POAPackage/ServantAlreadyActiveHelper.java, + org/omg/PortableServer/POAPackage/ServantNotActiveHelper.java, + org/omg/PortableServer/POAPackage/WrongAdapterHelper.java, + org/omg/PortableServer/POAPackage/WrongPolicyHelper.java, + org/omg/PortableServer/RequestProcessingPolicyValue.java, + org/omg/PortableServer/ServantActivatorHelper.java, + org/omg/PortableServer/ServantLocatorHelper.java, + org/omg/PortableServer/ServantLocatorOperations.java, + org/omg/PortableServer/ServantRetentionPolicyValue.java, + org/omg/PortableServer/ThreadPolicyValue.java, + org/omg/PortableServer/_ServantActivatorStub.java, + org/omg/PortableServer/_ServantLocatorStub.java, + org/omg/PortableServer/portable/Delegate.java: Documentation fixes. + +2006-09-05 Audrius Meskauskas + + * javax/rmi/CORBA/Tie.java, + org/omg/CORBA/AnyHolder.java, + org/omg/CORBA/AnySeqHelper.java, + org/omg/CORBA/AnySeqHolder.java, + org/omg/CORBA/BooleanHolder.java, + org/omg/CORBA/BooleanSeqHelper.java, + org/omg/CORBA/BooleanSeqHolder.java, + org/omg/CORBA/ByteHolder.java, + org/omg/CORBA/CharHolder.java, + org/omg/CORBA/CharSeqHelper.java, + org/omg/CORBA/CharSeqHolder.java, + org/omg/CORBA/Context.java, + org/omg/CORBA/CurrentHelper.java, + org/omg/CORBA/CustomValue.java, + org/omg/CORBA/DataOutputStream.java, + org/omg/CORBA/DefinitionKindHelper.java, + org/omg/CORBA/DomainManagerOperations.java, + org/omg/CORBA/DoubleHolder.java, + org/omg/CORBA/DoubleSeqHelper.java, + org/omg/CORBA/DoubleSeqHolder.java, + org/omg/CORBA/DynAny.java, + org/omg/CORBA/DynSequence.java, + org/omg/CORBA/DynValue.java, + org/omg/CORBA/DynamicImplementation.java, + org/omg/CORBA/FieldNameHelper.java, + org/omg/CORBA/FixedHolder.java, + org/omg/CORBA/FloatHolder.java, + org/omg/CORBA/FloatSeqHelper.java, + org/omg/CORBA/FloatSeqHolder.java, + org/omg/CORBA/IdentifierHelper.java, + org/omg/CORBA/IntHolder.java, + org/omg/CORBA/LocalObject.java, + org/omg/CORBA/LongHolder.java, + org/omg/CORBA/LongLongSeqHelper.java, + org/omg/CORBA/LongLongSeqHolder.java, + org/omg/CORBA/LongSeqHelper.java, + org/omg/CORBA/LongSeqHolder.java, + org/omg/CORBA/ORB.java, + org/omg/CORBA/ObjectHelper.java, + org/omg/CORBA/ObjectHolder.java, + org/omg/CORBA/OctetSeqHelper.java, + org/omg/CORBA/OctetSeqHolder.java, + org/omg/CORBA/PolicyErrorCodeHelper.java, + org/omg/CORBA/PolicyErrorHelper.java, + org/omg/CORBA/PolicyHelper.java, + org/omg/CORBA/PolicyListHelper.java, + org/omg/CORBA/PolicyTypeHelper.java, + org/omg/CORBA/PrincipalHolder.java, + org/omg/CORBA/RepositoryIdHelper.java, + org/omg/CORBA/Request.java, + org/omg/CORBA/ShortHolder.java, + org/omg/CORBA/ShortSeqHelper.java, + org/omg/CORBA/ShortSeqHolder.java, + org/omg/CORBA/StringSeqHelper.java, + org/omg/CORBA/StringSeqHolder.java, + org/omg/CORBA/ULongLongSeqHelper.java, + org/omg/CORBA/ULongLongSeqHolder.java, + org/omg/CORBA/ULongSeqHelper.java, + org/omg/CORBA/ULongSeqHolder.java, + org/omg/CORBA/UShortSeqHelper.java, + org/omg/CORBA/UShortSeqHolder.java, + org/omg/CORBA/ValueBaseHelper.java, + org/omg/CORBA/ValueBaseHolder.java, + org/omg/CORBA/VersionSpecHelper.java, + org/omg/CORBA/WCharSeqHelper.java, + org/omg/CORBA/WCharSeqHolder.java, + org/omg/CORBA/WStringSeqHelper.java, + org/omg/CORBA/WStringSeqHolder.java, + org/omg/CORBA/WrongTransactionHelper.java, + org/omg/CORBA/_IDLTypeStub.java, + org/omg/CORBA/_PolicyStub.java, + org/omg/CORBA/portable/BoxedValueHelper.java, + org/omg/CORBA/portable/Delegate.java, + org/omg/CORBA/portable/ObjectImpl.java, + org/omg/CORBA/portable/ServantObject.java, + org/omg/CORBA/portable/StreamableValue.java, + org/omg/CosNaming/BindingType.java, + org/omg/CosNaming/IstringHelper.java, + org/omg/DynamicAny/FieldNameHelper.java, + org/omg/PortableServer/Servant.java: Documentation fixes. + +2006-09-04 David Gilbert + + * java/awt/Rectangle.java + (setRect(double, double, double, double)): Modified rounding of input + values. + +2006-09-03 Audrius Meskauskas + + * gnu/javax/swing/text/html/parser/HTML_401F.java (defineElements): + Disallow H1 - H6 in the paragraphs. + * gnu/javax/swing/text/html/parser/support/textPreProcessor.java + (preprocess): Leave at most one leading and/or trailing space. + * javax/swing/text/html/HTMLDocument.java (HTMLReader.handleText): + Do not add any text after closing the HTML tag. + +2006-09-02 Roman Kennke + + PR 28928 + * javax/swing/plaf/basic/BasicTextUI.java + (RootView.getPreferredSpan): Default to 10 when there is no + real view. + (RootView.getMinimumSpan): Forward to view and default to 10 + when there is no real view. + (RootView.getMaximumSpan): Return Integer.MAX_VALUE. + (getMaximumSize): Check for overflow. + * javax/swing/text/FieldView.java + (getResizeWeight): Removed unneeded assignment. + +2006-09-01 Francis Kung + * java/awt/image/ColorConvertOp.java + (copyImage): Updated javadoc and comments. + (copyRaster): Add javadoc. + (createCompatibleColorModel): Add javadocs and comments. + (createCompatibleDestImage): Use correct transfer type. + (createCompatibleDestRaster): Add new parameter for transfer type. + (filter): Use correct transfer type. + * java/awt/image/ConvolveOp.java: Updated javadocs. + (createCompatibleDestImage): Set new image properties correctly. + (filter(BufferedImage, BufferedImage): Correct handling of premultiplication. + (filter(WritableRaster, Raster): Clip sample values to [0-255]. + +2006-09-01 Robert Schuster + + * javax/swing/table/DefaultTableModel.java: + (checkSize): Added null check for dataVector. + +2006-09-01 Robert Schuster + + * javax/swing/plaf/basic/BasicSplitPaneUI.java: + (BasicHorizontalLayout.getAlignmentX): Return fixed value. + (BasicHorizontalLayout.getAlignmentY): Return fixed value. + +2006-09-01 Robert Schuster + + * javax/swing/plaf/metal/MetalCheckBoxIcon.java: + (paintIcon): Removed unused import statements, lowered cast requirement + from JCheckBox to AbstractButton. + +2006-09-01 Robert Schuster + + * javax/swing/plaf/basic/BasicLookAndFeel.java: + (initComponentDefaults): Added, changed and removed some + tabbed pane properties. + +2006-09-01 Robert Schuster + + * examples/gnu/classpath/examples/swing/TabbedPaneDemo.java: + (createContent): Changed menu item name and tab naming. + +2006-09-01 Roman Kennke + + PR 28922 + * javax/swing/plaf/basic/BasicHTML.java + (HTMLRootView.getAttributes): Overridden to return null. + (HTMLRootView.getElement): Overridden to return the view's + element. + +2006-09-01 Robert Schuster + + * javax/swing/plaf/basic/BasicTabbedPaneUI.java: + (calculateTabAreaHeight): Use getTabRunOverlay method instead + of accessing variable directly. + (calculateTabAreaWidth): Dito. + +2006-08-31 Keith Seitz + + * include/jvmti.h: Include jvmti_md.h. + +2006-08-31 Keith Seitz + + From Martin Platter : + * Makefile.am (include_HEADERS): Include jvmti.h. + * include/jvmti.h (jvmtiEnv) [!__cplusplus]: Add missing '*'. + (jvmtiError): Remove superfluous comma after last entry. + (jvmtiEvent): It's "BREAKPOINT" not "BERAKPOINT". + (_Jv_jvmtiEnv.StopThread): Add missing exception parameter. + (_Jv_jvmtiEnv.RawMonitorWait): Add missing millis parameter. + (_Jv_jvmtiEnv.GetSourceFileName): source_name_ptr is pointer to + character pointer. + (_Jv_JVMTIEnv::StopThread): Add missing exception parameter. + (_Jv_JVMTIEnv::RawMonitorWait): Add missing millis parameter. + (_Jv_JVMTIEnv::GetSourceFileName): source_name_ptr is pointer to + character pointer. + +2006-08-31 Roman Kennke + + * javax/swing/text/BoxView.java + (getWidth): Return the width with insets added, not with one + added and one removed. + (getHeight): Return the height with insets added, not with one + added and one removed. + * javax/swing/text/GlyphView.java + (DefaultGlyphPainter.viewToModel): Need to add the start offset. + * javax/swing/text/ParagraphView.java + (Row.getAlignment): Adjust alignment with respect to + the justification attribute. + (Row.getLeftInset): Overridden to adjust for firstLineIndent + attribute. + * javax/swing/text/html/CSS.java + (getValue): Convert length values. + * javax/swing/text/html/Paragraph.java + (painter): New field. + (paint): Implemented to delegate painting to the BoxPainter too. + (setPropertiesFromAttributes): Implemented to load attributes + from CSS. + * javax/swing/text/html/StyleSheet.java + (BoxPainter.as): Removed field. + (BoxPainter.leftInset): New field. + (BoxPainter.bottomInset): New field. + (BoxPainter.rightInset): New field. + (BoxPainter.topInset): New field. + (BoxPainter.BoxPainter): Implemented to load the insets from + CSS. + (BoxPainter.getInset): Implemented. + * gnu/javax/swing/text/html/Length.java: New class. + Converts CSS length units to usable values. + +2006-08-31 Andreas Tobler + + * configure.ac: Add check for gethostbyname_r. + Add check for MSG_NOSIGNAL and SO_NOSIGPIPE. + * native/jni/native-lib/cpnet.c (SOCKET_NOSIGNAL): Define + SOCKET_NOSIGNAL according to the configure check. + (cpnet_send): Use SOCKET_NOSIGNAL. + (cpnet_sendTo): Likewise. + (cpnet_getHostByName): Use gethostbyname in case gethostbyname_r is not + defined. + * native/jni/native-lib/cpio.c: Define O_SYNC and O_DSYNC in case they + are not available. + + * lib/Makefile.am (cssfiles): Add new rule to install css files. + +2006-08-31 Roman Kennke + + * javax/swing/JEditorPane.java + (getPreferredSize): Replace preferred size with minimum + UI size only if the scrollable does _not_ track the viewport + size and only if the viewport's size is smaller than the + scrollable's size. + (getScrollableTracksViewportWidth): Avoid unnecessary multiple + method calls. + * javax/swing/plaf/basic/BasicTextUI.java + (getPreferredSize): Read-lock the document to avoid + concurrency problems. + (getMaximumSize): Return maximum size of the view. + Read-lock the document to avoid concurrency problems. + (getMinimumSize): Return minimum size of the view. + Read-lock the document to avoid concurrency problems. + +2006-08-31 Gary Benson + + * java/net/SocketPermission.java + (maybeBracketIPv6Address): Renamed to processHostport. + (processHostport): Also translate "" to "localhost". + (setHostPort): Remove special cases for empty hostport and for + extra colons in hostport (processHostport handles these now). + +2006-08-31 Mark Wielaard + + * javax/swing/text/ZoneView.java (Zone): Make static class. + Constructor takes axis parameter. + (createZone): Create Zone with getAxis() as major axis. + +2006-08-30 Roman Kennke + + * javax/swing/text/ZoneView.java + (loadChildren): Implemented. + (getViewIndexAtPosition): Implemented. + (checkZoneAt): New helper method. + (splitZone): New helper method. + (getPreferredZoneEnd): New helper method. + +2006-08-30 Roman Kennke + + * javax/swing/text/ZoneView.java: New class. + +2006-08-30 Roman Kennke + + * javax/swing/JMenu.java + (getMenu): Removed unneeded cast. + (getPopupMenuOrigin): Made positioning algorithm better respect + the screen bounds. + (setMenuLocation): Also set the location on the popup if it's + not null. + (setModel): Use menuChangeListener so that we don't override + the changeListener field from AbstractButton. + (setPopupMenuVisible): Use custom location if set, otherwise + fallback to getPopupMenuOrigin(). + +2006-08-29 Roman Kennke + + * javax/swing/text/InternationalFormatter.java + (stringToValue): Fixed bounds check. + * javax/swing/text/MaskFormatter.java + (MaskFormatter): Don't explicitly set allosInvalid property. + (convertStringToValue): New helper method. + (convertValueToString): New helper method. + (convertValue): Removed. Replaced by the 2 convert* methods + above. + (getPadCharAt): Removed. + (isCharValid): Removed. + (pad): Removed. + (stringToValue): Fixed stringToValue conversion. + (stripLiterals): Removed. + (valueToString): Fixed valueToString conversion. + * javax/swing/text/DefaultFormatter.java + (DefaultFormatter): Default to commitsOnValidEdit = false. + +2006-08-29 Roman Kennke + + * javax/swing/text/TextAction.java + (getTextComponent): Check event for null and return null in + this case. + (augmentList): Augment Actions based on their names. + * javax/swing/text/DefaultEditorKit.java + (BeginAction.actionPerformed): Check target for null. + (BeginLineAction.actionPerformed): Check target for null. + (CopyAction.actionPerformed): Check target for null. + (CutAction.actionPerformed): Check target for null. + (EndAction.actionPerformed): Check target for null. + (EndLineAction.actionPerformed): Check target for null. + (InsertBreakAction.actionPerformed): Check target for null. + (InsertTabAction.actionPerformed): Check target for null. + (PasteAction.actionPerformed): Check target for null. + (SelectAllAction.actionPerformed): Check target for null. + (SelectionBeginAction.actionPerformed): Check target for null. + (SelectionBeginLineAction.actionPerformed): Check target for null. + (SelectionEndAction.actionPerformed): Check target for null. + (SelectionEndLineAction.actionPerformed): Check target for null. + (SelectLineAction.actionPerformed): Check target for null. + (SelectWordAction.actionPerformed): Check target for null. + +2006-08-29 Roman Kennke + + * javax/swing/plaf/basic/BasicTextUI.java + (FocusHandler): New class. This is moved from the anonymous + inner focus listener class to a static member class, and + is now shared between components. + (DocumentHandler): This class is combined with the PropertyHandler + into the Handler class. + (PropertyChangeHandler): This class is combined with the + DocumentHandler into the Handler class. + (Handler): New class. This combines the Property and Document + handler into one class. + (RootView.changedUpdate): Only forward if real view != null. + (RootView.insertUpdate): Only forward if real view != null. + (RootView.removeUpdate): Only forward if real view != null. + (documentHandler): Removed field and replaced by handler. + (focuslistener): Made field static and renamed to focusListener. + (handler): New field. + (kit): Lazily initialize field. + (rootView): Lazily initialize field. + (updateHandler): Removed and replaced by handler. + (getEditorKit): Lazily instantiate field. + (installDefaults): Don't set margin twice. Install correct + property for disabledTextColor. Moved caret and highlighter + initialization to installFixedDefaults. + (installFixedDefaults): New method. Installs defaults that + can't be overridden by subclasses. + (installListeners): Only install focus handler when new + system property gnu.swing.text.no-xlike-clipboard is not set. + Lazily initialize focus handler. + (installUI): Lazily initialize rootView. Install handler + both for property and document changes. + (uninstallDefaults): Uninstall the UI defaults. + (uninstallFixedDefaults): New method. Uninstalls the fixed + defaults. + (installListeners): Only uninstall focus handler when not null. + (uninstallUI): Uninstall property and document listener here. + +2006-08-29 Gary Benson + + * java/net/SocketPermission.java + (maybeBracketIPv6Address): New method. + (): Pass the hostport argument through the above. + + * java/net/NetworkInterface.java (getInetAddresses): + Don't bracket IPv6 addresses. + +2006-08-28 Roman Kennke + + * javax/swing/text/BoxView.java + (calculateMinorAxisRequirements): Initialize max size + with Integer.MAX_VALUE. + * javax/swing/text/Utilities.java + (getBreakLocation): For simple chars, scan the text directly. + * javax/swing/text/WrappedPlainView.java + (tabBase): New field. + (tabSize): New field. + (calculateBreakPosition): Use Utilities. Fixed for correct + break calculation. + (changedUpdate): Update children directly. + (insertUpdate): Update children directly. Notify children. + (removeUpdate): Update children directly. Notify children. + (updateChildren): New helper method. + (nextTabStop): Fixed to return correct results. + (paint): Update tabBase. + (updateMetrics): Update tab size. + +2006-08-28 Roman Kennke + + * javax/swing/text/Position.java + (Bias.Forward): Initialize with 'Forward' rather then 'forward'. + (Bias.Backward): Initialize with 'Backward' rather then 'backward'. + +2006-08-28 Roman Kennke + + * javax/swing/text/View.java + (height): Removed unneeded field. + (width): Removed unneeded field. + (getBreakWeight): Return GoodBreakWeight when pos is after + the view's span. + (getToolTipText): Check view index more carefully. Avoid + Rectangle creation. + (insertUpdate): Only execute method body if view count > 0. + When updateChildren returns false, clear the ec variable. + (updateChildren): Added null checks. + (viewToModel): Initialize bias array correctly. + * javax/swing/text/CompositeView.java + (children): Made private. + (numChildren): New field. + (loadChildren): Check factory for null. Don't load children + when factory is null. + (replace): Removed null check. Nullify removed children. Made + growing the array more efficient. + (getViewCount): Return numChildren rather then the real array + size. + * javax/swing/text/BoxView.java + (getViewAtPoint): Fixed algorithm for finding the view. + (replace): Made array growing more efficient. + (replaceLayoutArray): New helper method for growing/patching + the layout arrays. + (viewToModel): Make sure we have a valid layout. + +2006-08-28 Tania Bento + + * java/awt/MenuShortcut.java + (MenuShortcut (int, boolean)): Set keyName. + (toString): Modified string output. + (setKeyName): New private method. + +2006-08-28 Roman Kennke + + * javax/swing/text/GapContent.java + (Mark.getOffset): Made assert less strict, include boundary. + (search): Made package private to avoid accessor method. + +2006-08-28 Roman Kennke + + * javax/swing/text/StringContent.java + (InsertUndo.positions): New field. + (InsertUndo.redo): Update the undo positions. + (InsertUndo.undo): Fetch the undo positions. + (Mark): New class. Layer of indirection to allow Positions + to be GC'ed while we still hold references to the Mark. + (RemoveUndo.len): New field. + (RemoveUndo.positions): New field. + (RemoveUndo.RemoveUndo): Fetch undo positions. + (RemoveUndo.redo): Re-fetch positions and string. + (RemoveUndo.undo): Update undo positions. + (StickyPosition.mark): New field. + (StickyPosition.offset): Removed field. + (StickyPosition.StickyPosition): Create new Mark. Register + Position in queueOfDeath. Update reference count on mark. + (StickyPosition.getOffset): Return offset stored in mark. + (StickyPosition.setOffset): Removed unneeded method. + (UndoPosRef): New class. Handles undo/redo on positions/marks. + (EMPTY): New field. + (marks): New field. Stores the marks. + (positions): Removed field. + (queueOfDeath): New field. Used for GCing the positions. + (StringContent): Initialize queueOfDeath. + (createPosition): Lazily create marks vector. + (garbageCollect): New helper method. Collects positions + to be GCed and updates their marks. + (getChars): Fixed bounds check. + (getPositionsInRange): When v == null, create new Vector, + otherwise use v. Store UndoPosRefs in vector. + (getString): Added comment about bug in RI. + (insertString): Use new helper method for replacing the array. + Correctly update positions. + (length): Removed this qualifier. + (remove): Use new helper method for replacing the array. + Correctly update positions. + (replace): New helper method for growing or patching the array. + (updateUndoPositions): Implemented. Updates the positions + for undo/redo operations. + +2006-08-27 Roman Kennke + + * javax/swing/text/StyleContext.java + (NamedStyle.attributes): Made field transient. + (NamedStyle.changeEvent): Made field transient. + (NamedStyle.name): Removed field. The name is stored as + attribute. + (NamedStyle.NamedStyle(String,Style)): Call setName() for + storing the name and check for null name and resolveParent. + Don't initialize changeEvent. + (NamedStyle.copyAttributes): Return a new NamedStyle, + rather than a plain copy of the attributes field. + (NamedStyle.fireStateChange): Lazily create changeEvent + field. + (NamedStyle.getName): Fetch name from attributes. + (NamedStyle.setName): Store name from attributes. + (NamedStyle.readObject): Implemented for correct + deserialization. + (NamedStyle.writeObject): Implemented for correct + serialization. + (NamedStyle.setResolveParent): When new parent is null, + remove resolveParent attribute. Use addAttribute() method + rather than StyleContext addAttribute(). + (NamedStyle.toString): Fixed to produce output equal to the + RI. + (SmallAttributeSet.resolveParent): New field. + (SmallAttributeSet.SmallAttributeSet(AttributeSet)): Update + the resolveParent field correctly. + (SmallAttributeSet.SmallAttributeSet(Object[])): Don't copy + array but store it directly. Update + the resolveParent field correctly. + (SmallAttributeSet.clone): Return this as the object is + immutable. + (SmallAttributeSet.containsAttributes): Make sure that keys + and values are the same. + (SmallAttributeSet.containsAttribute): Make sure that keys + and values are the same. + (SmallAttributeSet.copyAttributes): Return this as the object is + immutable. + (SmallAttributeSet.equals): Fixed comparison. Two AttributeSet + are equal if they have the same number of attributes and + one contains the other. + (SmallAttributeSet.getAttribute): Improved lookup of + resolveParent. + (SmallAttributeSet.getResolveParent): Improved lookup of + resolveParent. + (SmallAttributeSet.isEqual): When comparing object is a + SmallAttributeSet, consider them equal only if they are the + same object. + (SmallAttributeSet.toString): Fixed to produce output equal to the + RI. + (attributeSetPool): New field. + (defaultStyleContext): Initialize lazily. + (defaultStyle): Removed field. This is stored in the style context + as attribute. + (listenerList): Removed field. The NamedStyle stores the + listeners. + (readAttributeKeys): New static field. Used for looking up + the serialization mappings when reading. + (search): New field. Used as search key. + (staticAttributeKeys): Replaced by read/writeAttributeKeys. + (styles): New field. Stores the styles and listeners. + (styleTable): Removed field. Replaced by styles field. + (writeAttributeKeys): New static field. Used for looking up + the serialization mappings when writing. + (static_initializer): Register mappings for all keys in + StyleConstants. + (StyleContext): Initialize styles correctly. + (addAttributes): Fixed caching of immutable attributes. + (addAttribute): Fixed caching of immutable attributes. + (removeAttributes): Fixed caching of immutable attributes. + (removeAttribute): Fixed caching of immutable attributes. + (addChangeListener): Add listener to styles field. + (removeChangeListener): Remove listener from styles field. + (getChangeListeners): Fetch listeners from styles field. + (addStyle): Add style to styles field. + (cleanupPool): New method. + (getDefaultStyleContext): Lazily create context. + (getEmptySet): Simply return SimpleAttributeSet.EMPTY. + (getMutableAttributeSet): New helper method. Used for + caching. + (getStaticAttribute): Fetch key from readAttributeKeys. + (getStyleNames): Return names from styles field. + (getStyle): Lookup style in styles field. + (removeStyle): Remove style from styles field. + (readAttributeSet): Fixed deserialization. + (writeAttributeSet): Fixed serialization. + (readObject): Fixed deserialization. + (writeObject): Fixed serialization. + (reclaim): Simply cleanup the pool. + (registerStaticAttributeKey): Store mapping in both ways. + (searchImmutableSet): New helper method for caching. + (toString): Fixed for output like the RI. + * javax/swing/text/StyleConstants.java + (keys): New field. Stores all known keys. + (StyleConstants): Store created key in keys list. + * javax/swing/event/EventListenerList.java + (readObject): Fixed deserialization. + (writeObject): Fixed serialization. + +2006-08-25 Roman Kennke + + * javax/swing/text/CompositeView.java + (insets): Removed. Replaced by single short fields. + (top): New field. Replaces insets. + (bottom): New field. Replaces insets. + (left): New field. Replaces insets. + (right): New field. Replaces insets. + (CompositeView): Initialize insets fields. + (createDefaultLocation): Removed unneeded method. + (getBottomInset): Return field directly. + (getTopInset): Return field directly. + (getLeftInset): Return field directly. + (getRightInset): Return field directly. + (getInsideAllocation): Adjusted to work on new insets fields. + (getViewIndex): Fixed check. + (loadChildren): Don't replace the old children. + (replace): Make sure that there is an array to operate on. + Only set parent to null, when it is this View. + (setInsets): Adjusted to work with new insets fields. + (setParagraphInsets): Fixed to pull insets directly from + StyleConstants. + +2006-08-25 Roman Kennke + + * javax/swing/text/ComponentView.java + (Interceptor): New inner helper class. Used to propagate + invalidate requests and cache component layout sizes. + (interceptor): New field. + (getAlignment): Fetch alignment from interceptor container. + (getComponent): Don't create component here. This is done + in setParent(). + (getMaximumSpan): Fetch layout info from interceptor. Check + for illegal axis. + (getMinimumSpan): Fetch layout info from interceptor. Check + for illegal axis. + (getPreferredSpan): Fetch layout info from interceptor. Check + for illegal axis. + (modelToView): Fixed model to view mapping. + (viewToModel): Fixed view to model mapping. + (paint): Check for null. Set bounds on interceptor rather + then component. + (setParentImpl): Install interceptor between component + and hosting container. + (setParent): Call super.setParent() immediately. + +2006-08-25 Roman Kennke + + * javax/swing/text/LabelView.java + (setPropertiesFromAttributes): Only set background when + the corresponding attribute is actually defined, otherwise + set to null, as the StyleConstants would return black. + * javax/swing/text/DefaultStyledDocument.java + (ElementBuffer.documentEvent): Removed obsolete field. + (ElementBuffer.change): Do prepareEdits() and finishEdits() + to correctly update the element structure. + (ElementBuffer.insertContentTag): Removed unused statement. + (ElementBuffer.recreateAfterFracture): Removed + unused obsolete method. + (setCharacterAttributes): Removed unused statement. + +2006-08-25 Roman Kennke + + * examples/gnu/classpath/examples/swing/Demo.java + (LaterMain.run): Removed unused local variable. + (Demo): Don't put desktop in scrollpane. + (addChildren): Removed unused method. + (mkButtonBar): Added HTML demo. + (mkMenuBar): Added HTML demo. + (mkPanel): Removed unused method. + (mkScrollPane): Removed unused method. + (mkTree): Removed unused method. + (valign2str): Removed unused method. + * examples/gnu/classpath/examples/swing/HtmlDemo.java: + Initialize text field with some HTML that already works. + (DEBUG): New field. Set to true for debugging output. + (createContent): Dump element tree after parsing. + +2006-08-25 Roman Kennke + + * javax/swing/text/html/CSS.java + (getValue): Added color value conversion. + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.ConvertAction): New class, converts HTML style tags + to CSS attributes. + (HTMLReader.initTags): Register ConvertAction for tag. + * javax/swing/text/html/InlineView.java + (setPropertiesFromAttributes): Implemented to fetch + CSS character attributes. + * javax/swing/text/html/StyleSheet.java + (addCSSAttribute): Convert value. + (getBackground): Implemented to fetch CSS background color + attribute. + (getForeground): Implemented to fetch CSS color + attribute. + (getFont): Adjust font size for superscript and subscript. + (translateHTMLToCSS): Rudimentary implementation that + copies the original attributes, so that any CSS attributes in + there are preserved. + (stringToColor): Use CSSColor for conversion. + * gnu/javax/swing/text/html/css/CSSColor.java: + New class. Converts CSS color values to RGB color values. + * gnu/javax/swing/text/html/CharacterAttributeTranslator.java: + Removed. This is more or less replaced by CSSColor and the + ConvertAction in HTMLReader. + +2006-08-25 Roman Kennke + + * javax/swing/text/BoxView.java + (childReqs): Removed obsolete field. + (baselineLayout): Reimplemented for correct baseline layout. + (baselineRequirements): Reimplemented for correct baseline + layout. + (updateChildRequirements): Removed obsolete method. + * javax/swing/text/GlyphView.java + (DefaultGlyphPainter.getSpan): Removed unused statement. + (DefaultGlyphPainter.paint): Dont paint subscript/superscript + specially. The subscript/superscript layout is performed + via the alignment, the font is supplied by the StyleContext. + (breakView): Removed unused statements. + (getAlignment): Adjust alignment according to the + superscript/subscript setting. + (getFont): Reimplemented to fetch the font from the style + context, or from the document if the stylecontext is not + available. + (getPreferredSpan): Adjust span for superscript. Use switch + instead of if-else. + * javax/swing/text/LabelView.java + (setPropertiesFromAttributes): Fetch background and foreground + from document / style context. + (isSubscript): Resync properties if needed. + * javax/swing/text/ParagraphView.java + (Row.calculateMinorAxisRequirements): Overridden to perform + a baseline layout. + (Row.layoutMinorAxis): Overridden to perform a baseline layout. + +2006-08-24 Roman Kennke + + * javax/swing/text/Utilities.java + (BUF_LENGTH): Removed unused field. + (drawTabbedText): Removed unneeded cast. + (getBreakLocation): Removed unneeded cast. + Fixed offset to account for Segments not starting at 0. + +2006-08-24 Roman Kennke + + * javax/swing/plaf/basic/BasicTabbedPaneUI.java + (TabbedPaneLayout.normalizeTabRuns): Removed unused statement. + (TabbedPaneScrollLayout.layoutContainer): Likewise. + (ScrollingPane.updateUI): Likewise. + (calculateTabWidth): Rewritten to correctly and efficiently + layout the tab width. + (layoutLabel): Call SwingUtilities method with the tabPane + as argument. + (paintContentBorderLeftEdge): Removed unused statement. + (paintContentBorderRightEdge): Removed unused statement. + (paintContentBorder): Removed unused statement. + +2006-08-24 Roman Kennke + + * javax/swing/plaf/basic/BasicTextUI.java + (RootView.getAttributes): Overridden to return null, + as the RootView has no parent. + +2006-08-24 Roman Kennke + + * javax/swing/text/html/CSSParser.java: Removed. + * javax/swing/text/html/CSS.java + (getValue): New helper method. Returns special converter + instances for certain kinds of property values. + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.CharacterAction.start): Don't translate tags + here. Instead, store the attributes directly with the tag + as key. + (content): Removed field. The Content object is handled + by AbstractDocument. + (styleSheet): Removed field. The styleSheet is the styleContext + of this document and handled by the DefaultStyledDocument already. + (HTMLDocument(Content,StyleSheet): Simply call super here. + The super classes already handle the content and styleContext. + (HTMLDocument()): Call this() with a default GapContent and + StyleSheet. + (getStyleSheet): Return the styleContext here. + (insertUpdate): New method. Overridden to add the + CONTENT dummy tag to the element's attributes. + (setBase): Set the base on the styleContext. + * javax/swing/text/html/HTMLEditorKit.java + (styleContext): Removed unneeded field. + (styleSheet): Made field private. + (HTMLEditorKit): Do nothing here. The StyleSheet is + created lazily in getStyleSheet(). A styleContext is not + needed here. + (getStyleSheet): Create StyleSheet correctly. + (insertHTML): Removed unneeded cast. + * javax/swing/text/html/InlineView.java + (attributes): New field. + (changedUpdate): Reload attributes. Trigger preferenceChanged. + (getAttributes): Implemented to fetch the attributes from + the stylesheet. + * javax/swing/text/html/MultiAttributeSet.java: New class. + Multiplexes between several AttributeSets. + * javax/swing/text/html/MultiStyle.java: New class. + Multiplexes between several Styles. + * javax/swing/text/html/ParagraphView.java + (attributes): New field. + (getAttributes): Implemented to fetch the attributes from + the stylesheet. + * javax/swing/text/html/StyleSheet.java + (CssParser): Removed inner class. + (CSSStyle): New inner class. Represents a style defined + by a CSS rule. + (CSSStyleSheetParserCallback): New class, for parsing + CSS stylesheets. + (css): New field. Stores the CSS rules. + (resolvedStyles): New field. Stores resolved styles. + (StyleSheet): Initialize resolvedStyles map. + (addRule): Removed bogus impl. + (getFont): Implemented to fetch font, based on CSS rules. + (getResolvedStyle): New helper method. Looks up resolved + styles, and resolves a style if necessary. + (resolveStyle): New pair of helper methods. Resolves + CSS style rules. + (getRule(String)): Provide rudimentary implementation. + (getRule(Tag,Element)): Implemented. + (getViewAttributes): Implemented. + (loadRules): Implemented. + (translateHTMLToCSS): Tagged as not implemented. + * javax/swing/text/html/ViewAttributeSet.java: New class. + +2006-08-24 Roman Kennke + + * javax/swing/text/FlowView.java: + (LogicalView.getAttributes): New method. Overrides super + impl to return the attributes of the FlowView instance. + * javax/swing/text/LabelView.java: + (setPropertiesFromAttributes): Fetch attributes from + View, rather then from the Element. (In the HTML + package the getAttributes() method is overridden to + return different attributes). Fetch font from the StyledDocument. + +2006-08-24 Roman Kennke + + * javax/swing/text/DefaultEditorKit.java: + (DefaultKeyTypedAction.actionPerform): Also filter + ALT and CTRL modifiers. + +2006-08-24 Roman Kennke + + * gnu/javax/swing/text/html/css/FontSize.java, + * gnu/javax/swing/text/html/css/FontStyle.java, + * gnu/javax/swing/text/html/css/FontWeight.java: + New classes. Used to convert CSS font attributes to AWT/Swing + Font constants. + +2006-08-24 Francis Kung + * gnu/java/awt/color/PyccConverter.java: Throw UnsupportedOperationExceptions. + * java/awt/image/ColorConvertOp.java: Updated javadocs. + (srccs, dstcs, rasterValid): Variables removed. + (ColorConvertOp(RenderingHints)): Initialize spaces to empty array. + (copyRaster): Check for null rendering hints + (createCompatibleColorModel): New private method. + (createCompatibleDestImage): Re-implemented. + (createCompatibleDestRaster(Raster, ColorSpace, boolean)): New private method. + (createCompatibleDestRaster(Raster)): Re-implemented. + (filter(BufferedImage, BufferedImage)): Add checks; fix temp image creation. + (filter(Raster, WritableRaster)): Add checks; fix temp raster creation. + (getPoint2D): Clean up formatting. + * java/awt/image/ComponentColorModel.java + (constructor): use findBits method instead of passing null. + (findBits): New method. + +2006-08-24 Gary Benson + + * java/net/NetworkInterface.java (getInetAddresses): Bracket IPv6 + addresses. + +2006-08-24 Jeroen Frijters + + * java/lang/ref/Reference.java + (queue, nextOnQueue): Made volatile. + (enqueue): Made thread safe. + * java/lang/ref/ReferenceQueue.java + (lock): New field. + (poll): Removed synchronized. + (enqueue): Changed to synchronize on lock object, to update Reference + state and return success status. + (dequeue, remove): Synchronize on lock object. + +2006-08-24 Jeroen Frijters + + * java/security/SecureClassLoader.java + (protectionDomainCache): Changed to HashMap. + (SecureClassLoader): Removed redundant security check. + (defineClass(String,byte[],int,int,CodeSource): Moved + protection domain lookup/construction to new method. + (defineClass(String,ByteBuffer,CodeSource): New method. + (getProtectionDomain): New method. + +2006-08-23 Roman Kennke + + * javax/swing/JComponent.java + (isRepainting): Made package private. + (paintChild): New field. + (findOpaqueParent): Removed method. This is now in + paintImmediately(). + (findOverlapFreeParent): Removed method. This is now + in paintImmediately2(). + (findPaintRoot): Removed method. This is now + in paintImmediately2(). + (isCompletelyObscured): Changed to take rectangle as single + ints as argument. + (isPaintingDoubleBuffered): Removed method. This is now + in paintImmediately2(). + (isPartiallyObscured): New helper method. + (onTop): New helper method for optimization. + (paintChildren): Paint only to specific child when + requested like this from paintImmediately2(). + (paintDoubleBuffered): Changed to take rectangle as single int + arguments. + (paintImmediately2): Changed to take rectangle as single int + arguments. Optimized determination of paint root. + (paintImmediately(Rectangle)): Change to delegate to + paintImmediately(int,int,int,int). + (paintImmediately(int,int,int,int)): Look for opaque ancestor + and start painting there. + (paint): Call paintDoubleBuffered() with int arguments. Only + paint component, when not completely occupied by opaque child. + (processKeyBinding): Removed unnecessary cast. + (isOccupiedByChild): New helper method. + * javax/swing/RepaintManager.java + (repaintUnderway): Removed obsolete field. + (commitRequests): Removed obsolete field. + (RepaintManager): Removed initialization of obsolete fields. + (addDirtyRegion): Removed unused statement. + (commitBuffer): Changed to take plain ints as argument. + (compileRepaintRoots): Optimized to avoid use of Rectangle. + Compute offsets in place, rather than using SwingUtilities. + (paintDirtyRegions): Removed unused field. + * javax/swing/JMenuItem.java + (onTop): Return true when not descendant of JInternalFrame. + * javax/swing/JPopupMenu.java + (onTop): Return true. + * javax/swing/JToolTip.java + (onTop): Return true. + * javax/swing/JViewport.java + (paintImmediately2): Change signature to match the + corresponding JComponent method. + +2006-08-23 Tania Bento + + * java/awt/Color.java + (brighter): Modified algorithm to correctly determine the + new brighter colour. + +2006-08-23 Roman Kennke + + * java/awt/Container.java + (maxSize): Removed field. This is already declared in Component. + (validateTree): Check for ContainerPeer. Don't addNotify here. + Only validate Component instances if they are invalid. + +2006-08-22 Roman Kennke + + * javax/swing/JComponent.java + (preferredSize): Removed field. + (maximumSize): Removed field. + (minimumSize): Removed field. + (getMaximumSize): Adjusted to delegate to Component, rather + then managing the size in JComponent. + (getMinimumSize): Adjusted to delegate to Component, rather + then managing the size in JComponent. + (getPreferredSize): Adjusted to delegate to Component, rather + then managing the size in JComponent. + (isMaximumSizeSet): Removed. + (isMinimumSizeSet): Removed. + (isPreferredSizeSet): Removed. + (setMaximumSize): Removed. + (setMinimumSize): Removed + (setPreferredSize): Removed. + +2006-08-22 Roman Kennke + + * javax/swing/AbstractButton.java + (ButtonChangeListener.stateChanged): Delegate to combined + handler. + (EventHandler): New inner class. Handles all three types + of events on the model. + (eventHandler): New field. Stores the combined event + handler. + (AbstractButton): Moved listener initialization to + setModel(). + (createActionListener): Return combined handler. + (createChangeListener): Return combined handler. + (createItemListener): Return combined handler. + (getEventHandler): New helper method for creating the combined + handler. + (setModel): Initialize listeners here. + * javax/swing/plaf/basic/BasicButtonListener.java + (ButtonAction): New class. Implements the keyboard action + for buttons. + (checkOpacity): Implemented. + (createDefaultActionMap): New helper method. + (installKeyboardActions): Rewritten to install InputMap + and ActionMap according to 'new' keyboard input method. + (mouseClicked): Commented as no-op. + (mouseDragged): Commented as no-op. + (mouseMoved): Commented as no-op. + (propertyChange): Check for contentAreaFilled change and + update opacity. Pull handling of HTLM in font and text handler. + (stateChanged): Repaint button. + (uninstallKeyboardActions): Properly uninstall keyboard actions. + * javax/swing/plaf/basic/BasicButtonUI.java + (listener): Removed. + (sharedListener): New static field. Stores the shared listener. + (sharedUI): New static field. Stores the shared UI. + (createButtonListener): Return shared instance here. + (createUI): Return shared instance here. + (getButtonListener): New helper method. Looks for the + BasicButtonListener installed on a button and returns it. + (installDefaults): Correctly install rollover property here. + Fetch defaultTextShiftOffset. Initialize opaqueness correctly. + (installKeyboardActions): Fetch listener with new helper method. + (installListeners): Don't use removed field. Check for null. + (installUI): Added comment about order of method invocations. + (uninstallDefaults): Don't uninstall non-uninstallable properties. + (uninstallKeyboardActions): Fetch listener with new helper method. + (uninstallListeners): Fetch listener with new helper method. + (paintIcon): Paint icon offset when pressed and armed. + * javax/swing/plaf/metal/MetalButtonListener.java: Removed. + * javax/swing/plaf/metal/MetalButtonUI.java + (sharedUI): New field. Stores the shared UI. + (MetalButtonUI): Don't initialize fields here. + (createButtonListener): Removed method. Use super impl. + (createUI): Return shared instance. + (getDisabledTextColor): Update field here. + (getFocusColor): Update field here. + (getSelectColor): Update field here. + (installDefaults): Don't handle rollover property here. + (uninstallDefaults): Don't handle rollover property here. + (paintButtonPressed): Use accessor method to update the + field value. + +2006-08-21 Mark Wielaard + + Merge NATIVE_LAYER branch. + + 2006-08-20 Mark Wielaard + + * doc/tools.texinfo: Add file from trunk. + * native/jni/Makefile.am (DIST_SUBDIRS): Add native-lib. + * native/jni/java-io/java_io_VMFile.c: Include lstat and readlink + headers. + * native/jni/java-lang/java_lang_VMProcess.c + (Java_java_lang_VMProcess_nativeSpawn): Remove redirect argument. + * native/jni/java-net/java_net_VMInetAddress.c + (Java_java_net_VMInetAddress_getHostByName): Remove unused variable. + * native/jni/native-lib/Makefile.am: Remove empty and nonexisting + files. + * native/jni/native-lib/cpio.c (cpio_setFileReadonly): Use correct + mask. + * native/jni/native-lib/cpnet.c (cpnet_connect): Removed unused + theaddr. + * native/jni/native-lib/cpnet.h (cpnet_freeAddresses): Moved from + cpnet.h. + * native/jni/native-lib/cpnet.h (cpnet_freeAddresses): Declare, + don't implement. + * vm/reference/java/lang/VMProcess.java: Removed unused redirect + argument. + * include/java_lang_VMProcess.h: Regenerated. + + 2006-07-09 Guilhem Lavaux + + * native/jni/java-net/gnu_java_net_VMPlainDatagramSocketImpl.c + (nativeReceive): Fixed the type of the arrays (use java types). + (nativeSendTo): Force throwing an exception if port is 0. + + * native/jni/java-net/javanet.c: + (_javanet_accept): Throw SocketTimeoutException if ETIMEDOUT is + returned. + (_javanet_recvfrom): Likewise. + (_javanet_sendto): Throw a NullPointerException if the socket is + not connected and no address is given. + + * native/jni/java-net/javanet.h + (NULL_EXCEPTION): Defined. + + 2006-06-16 Guilhem Lavaux + + * native/jni/java-net/java_net_VMInetAddress.c + (Java_java_net_VMInetAddress_getHostByName): Fix detection of + error. + + * native/jni/java-net/javanet.c + (_javanet_accept): Fixed bogus call to TARGET. + (_javanet_create_inetaddress): Fixed address generation. Fixed + bogus memory free. + (_javanet_bind): set "Reuse address" flag. + + * native/jni/native-lib/cpio.c + (cpio_getModificationTime): Fixed type. + (cpio_removeFile): Use rmdir too. + + * native/jni/native-lib/cpnet.c + (cpnet_getHostByName): Fixed error detection. + + * native/jni/native-lib/cpnet.h + (cpnet_newIPV4address, cpnet_newIPV6address): Put zero in the + memory. + (cpnet_IPV4AddressToBytes): Fixed types. + + 2006-06-10 Guilhem Lavaux + + * native/jni/native-lib/cpio.c + (cpio_openDir, cpio_closeDir, cpio_readDir): Implemented. + + * native/jni/native-lib/cpnet.h: + (cpnet_bytesToIPV4Address): Fixed type casting to avoid being + messed by signs in jbyte. + + * native/jni/native-lib/cpproc.h + (CPIO_EXEC_NUM_PIPES): Compilation fix. + + 2006-05-09 Guilhem Lavaux + + * native/jni/native-lib/cpnet.c + (cpnet_getSocketTimeout, cpnet_setSocketTimeout): Reimplemented. + (waitForWritable, waitForReadable): New functions. + (socketTimeouts): New static global table to hold timeouts for all + socket fds. + (cpnet_accept,cpnet_bind,cpnet_sendTo,cpnet_recv,cpnet_recvFrom): + Added waitForXXXX safeguards to handle socket timeouts. + + * native/jni/java-net/javanet.c + (_javanet_accept): Check for the right error value when a timeout + occurs. + + 2006-03-25 Guilhem Lavaux + + * native/jni/java-io/Makefile.am, + native/jni/java-lang/Makefile.am, + native/jni/java-net/Makefile.am, + native/jni/java-nio/Makefile.am: Link to libclasspathnative.la now. + + * native/jni/native-lib/Makefile.am: Added cpproc.c + + * native/jni/native-lib/cpio.c: Implemented missing functions for + CPIO. + + * native/jni/native-lib/cpnet.c + (cpnet_getHostByName): Fixed address array initialization. + + * native/jni/native-lib/cpproc.c: Implemented. + + 2006-02-19 Guilhem Lavaux + + * configure.ac: Invoke GCC_ATTRIBUTE_UNUSED. + + * m4/gcc_attribute.m4: New file from ac_archive. + + * native/jni/java-net/javanet.c: Adapted to cpnet API + modification. + + * native/jni/native-lib/cpnet.c: Implemented. + + * native/jni/native-lib/cpnet.h + (cpnet_openSocketDatagram, + cpnet_openSocketStream): These calls need an address family now. + (cpnet_IPV4AddressToBytes, + cpnet_bytesToIPV4Address): Convert the address to network order. + + 2006-02-19 Guilhem Lavaux + + * native/jni/java-io/java_io_VMFile.c, + native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c, + native/jni/midi-dssi/dssi_data.h, + native/jni/native-lib/cpio.c, + native/jni/native-lib/cpmath.h: Removed cpmath + dependency. Fixed coding style. + + 2006-02-18 Guilhem Lavaux + + * native/jni/java-lang/java_lang_VMProcess.c: Removed TARGET + dependency. Simplified the JNI code by moving some part into the + native layer. + + * native/jni/native-lib/cpproc.h: New interface to handle processes. + + 2006-02-18 Guilhem Lavaux + + * native/jni/java-net/java_net_VMInetAddress.c: Fixed compilation + errors. Removed any remaining TARGET invocations. + + * native/jni/java-net/javanet.c + (_javanet_create_inetaddress): Removed spurious arr and + octets. Fixed compilation errors. + + * native/jni/native-lib/cpnet.h + (cpnet_getHostname, cpnet_getHostByName, cpnet_getHostByAddr, + cpnet_setIPV4Any, cpnet_freeAddresses, cpnet_isIPV6Address, + cpnet_isIPV4Address): New functions. + (cpnet_bytesToIPV4Address): Fixed interface to be consistent with + the rest. + + 2006-01-28 Guilhem Lavaux + + * native/jni/java-io/java_io_VMFile.c, + native/jni/java-net/gnu_java_net_VMPlainDatagramSocketImpl.c, + native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c, + native/jni/java-net/javanet.c, + native/jni/java-net/javanet.h: Adapted the VM layer code + to the new native layer. + + * native/jni/native-lib/cpnet.h + (cpnet_addMembership, + cpnet_dropMembership, + cpnet_getAvailableBytes): Added the declarations of + some new functions. + (cpnet_newIPV6Address, + cpnet_IPV6AddressToBytes, + cpnet_bytesToIPV6Address): Implemented. + (cpnet_newIPV4Address): Initialize the sin_family field. + + 2006-01-28 Guilhem Lavaux + + * native/target: Removed. + + * configure.ac: Removed target from CLASSPATH_INCLUDES and + Makefile generation. + + * native/jni/native-lib/Makefile.am, + native/jni/native-lib/cpnet.h, + native/jni/native-lib/cpnet.c + native/jni/native-lib/cpio.h, + native/jni/native-lib/cpio.c, + native/jni/native-lib/cpmath.h: Imported new native compatibility + layer. + +2006-08-21 Roman Kennke + + * gnu/javax/swing/text/html/css/CSSParser.java: + New class. + * gnu/javax/swing/text/html/css/CSSParserCallback.java: + New interface. + * gnu/javax/swing/text/html/css/CSSParserException.java: + New exception. + * gnu/javax/swing/text/html/css/CSSScanner.java: + Adjusted API comments. Made all constants package private. + (EOF): New constant field. + (parseBuffer): Made package private. + (tokenEnd): Made package private. + (CSSScanner): Initialize lookahead buffer with -1. + (main): Print out to System.out rather then System.err. + (nextToken): Push back character after IDENT. + +2006-08-21 Jeroen Frijters + + * java/io/File.java (normalizePath): Fixed handling of "//" and "\\". + +2006-08-21 Roman Kennke + + * gnu/javax/swing/text/html/css/CSSScanner.java + (main): Use buffered input stream. + (nextToken): Removed 65536 workaround. Use int value directly + without cast to char. + (readComment): Use int value directly without cast to char. + Cast to char only when putting the character into the buffer. + (readEscape): Likewise. + (readIdent): Likewise. + (readName): Likewise. + (readNum): Likewise. + (readString): Likewise. + (readWhitespace): Likewise. + +2006-08-21 Ingo Proetel + + * java/io/InputStreamReader.java + (bytesCache): New field. + (cacheLock): New field. + (read(byte[],int,int): Avoid allocations of new byte + array on every call and reuse cached byte array if possible. + +2006-08-21 Roman Kennke + + * gnu/java/net/local/LocalSocketImpl.java + Only load native lib if this is supported by runtime. + * native/jni/java-net/local.c + Include config.h unconditionally. + * native/jni/java-net/gnu_java_net_local_LocalSocketImpl.c + Include config.h unconditionally. + +2006-08-21 Friedjof Siebert + + * java/io/ObjectInputStream.java + (objectLookupTable): Changed to be a Vector. + (ObjectInputStream): Initialize objectLookupTable as Vector. + (assignNewHandle): Store Object using handle index rather than + Hashtable, using the new rememberHandle() method. + (hierarchy): New method. This replaces inputGetObjectStreamClasses() + with a caching in ObjectStreamClass. + (inputGetObjectStreamClass): Replaced by hierarchy(). + (lookupHandle): New method. Looks up an object by it's handle + index. + (parseContent): Avoid creating of Integer objects. Use + hierarchy() method for looking up the class hierarchy. + (processResolution): Use rememberHandle() to store + handle per index, rather than Hashtabling the object. + (readFields): + (rememberHandle): New method. + * java/io/ObjectOutputStream.java + (OIDLookupTable): Use ObjectIdentityMap2Int instead of + Hashtable for improved lookup performance. + (ObjectOutputStream): Initialize OIDLookupTable as + ObjectIdentityMap2Int. + (assignNewHandle): Change to use ObjectIdentityMap2Int. + (findHandle): Change to use ObjectIdentityMap2Int. + (getBooleanField): Removed. + (getByteField): Removed. + (getCharField): Removed. + (getDoubleField): Removed. + (getField): Removed. + (getFloatField): Removed. + (getIntField): Removed. + (getLongField): Removed. + (getObjectField): Removed. + (writeFields(Object,ObjectStreamClass)): Use new helper method. + (writeFields(Object,ObjectStreamField)): New helper method. + Use switch rather then if-else cascade. + (writeObject): Use int handle, rather then Integer. + * java/io/ObjectStreamClass.java + (hierarchy): New field. Caches the class hierarchy. + (methodCache): New field. Caches methods. + (readObjectSignature): New field. Stores the read signature. + (uidCache): New field. Caches UIDs. + (writeObjectSignature): New field. Stores the write signature. + (cacheMethods): Cache methods in methodCache. + (calculateClassID): Outsourced from getClassUID() + for computing the UIDs. + (getClassUIDFromField): Outsourced from getClassUID() for + fetching the UID from the class field. + (getClassUID): Use cached uid if possible. Use new helper + methods for fetching the UID from the field or computing + from scratch. + (getObjectStreamClasses): Removed. Replaced by more + efficient hierarchy() method, that also caches the result. + (hierarchy): Replaces getObjectStreamClasses() for caching + the result. + (loadedByBootOrApplicationClassLoader): New helper method. + (setClass): Invalidate hierarchy cache. + (setSuperclass): Invalidate hierarchy cache. + * java/io/ObjectStreamField.java + (field): Made field package private for access from other + classes. + * gnu/java/io/ObjectIdentityWrapper.java: Removed. + * gnu/java/io/ObjectIdentityMap2Int.java: Efficient + hashtable for mapping objects to ints. + +2006-08-21 Roman Kennke + + * java/io/File.java + (getAbsolutePath): Fetch absolute path from + VMFile.getAbsolutePath(). Moved actual impl to there. + (isAbsolute): Let VMFile determine the absoluteness. + (toURL): Let VMFile convert the filename. + * vm/reference/java/io/VMFile.java + (getAbsolutePath): New method. + (isAbsolute): New method. + (toURL): New method. + +2006-08-21 Jeroen Frijters + + * NEWS: Added note about updated VM interface. + +2006-08-20 Andrew John Hughes + + * java/lang/management/ManagementFactory.java: + Updated documentation. + +2006-08-20 Ito Kazumitsu + + Fixes bug #28412 + * gnu/java/util/regex/CharIndexed.java(move1, setHitEnd, hitEnd): + New methods. + * gnu/java/util/regex/CharIndexedCharSequence.java, + gnu/java/util/regex/CharIndexedInputStream.java: Implemented the + new methods above. + * gnu/java/util/regex/RE.java(REG_FIX_STARTING_POSITION): New flag, + (match): call the new method setHitEnd of the input, + (getMatchImpl): Handle the new flag REG_FIX_STARTING_POSITION, + Some optimization commented out, Use CharIndexed#move1 instead of move. + * gnu/java/util/regex/REMatch.java: Made some debugging methods public. + * gnu/java/util/regex/REToken.java(match): The method body has been + moved to an internal private method, (matchFake): New method, + (setHitEnd): New method. + * gnu/java/util/regex/RETokenChar.java(matchThis): Call setHitEnd + if the match is not complete, (matchOneString): Count the number of + characters which matched the pattern. + * gnu/java/util/regex/RETokenEnd.java(fake): New field, + (setFake): New method, (match): Call super.match or super.matchFake. + * gnu/java/util/regex/RETokenEndSub.java(setHitEnd): New method. + * gnu/java/util/regex/RETokenOneOf.java(match): call the new method + setHitEnd of the input, + * gnu/java/util/regex/RETokenRepeated.java(match): Likewise. + * java/util/regex/Matcher.java(lookingAt, match): Use the new flag + RE.REG_FIX_STARTING_POSITION, (hitEnd, toString): New methods. + +2006-08-18 Tom Tromey + + * gnu/javax/swing/text/html/css/CSSScanner.java (readWhitespace): Push + the 'int', not the cast char. + +2006-08-18 Roger Sayle + + * scripts/check_jni_methods.sh: Don't use the "set -C" command + which isn't available in all shells. + +2006-08-18 Roger Sayle + + * lib/Makefile.am (resources): Fix some shell portability issues. + +2006-08-18 Thomas Fitzsimmons + + * configure.ac (tool-wrappers): Check for ltdl support when tool + wrapper binaries are enabled. + * tools/Makefile.am (LIBJVM): Remove variable. + (AM_CPPFLAGS): Add LIBJVM define. + (gappletviewer_LDFLAGS, gjarsigner_LDFLAGS, gkeytool_LDFLAGS, + gjar_LDFLAGS, gnative2ascii_LDFLAGS, gserialver_LDFLAGS, + gjavah_LDFLAGS): Remove variables. + * tools/toolwrapper.c (main): Use dlopen to load libjvm library. + +2006-08-18 Tom Tromey + + * gnu/java/util/prefs/NodeWriter.java (writeParents): Removed + debugging prints. + * gnu/java/util/prefs/NodeReader.java (readNodes): Removed debugging + print. + (readEntries): Likewise. + +2006-08-17 Roman Kennke + + * javax/swing/plaf/basic/BasicTabbedPaneUI.java + (layoutLabel): Reset the text and icon rectangles. + +2006-08-17 Thomas Fitzsimmons + + PR classpath/28537 + * native/plugin/Makefile.am (libgcjwebplugin_la_CXXFLAGS): + Transform gappletviewer name using program_transform_name. + +2006-08-17 Jeroen Frijters + + * javax/swing/filechooser/FileSystemView.java + (getFileSystemView): Always return UnixFileSystemView, since + that's the only one we got. Marked with NotImplementedException. + * javax/swing/plaf/basic/BasicFileChooserUI.java + (mouseClicked, installUI): Don't parse path by hand. + +2006-08-17 Roman Kennke + + * javax/swing/JComponent.java + (scrollRectToVisible): Handle intermediate non-JComponents + more gracefully. + +2006-08-17 Roman Kennke + + * javax/swing/RepaintManager.java + (blitBuffer): Removed. This is now done in commitBuffer(). + (commitBuffer): Always paint on the root window or applet. + No need to look for intermediate heavyweights. Optimized + rectangle translation. + (commitRemainingBuffers): Removed. Not needed anymore. + (getHeavyweightParent): Removed. Not needed anymore. + (getOffscreenBuffer): Fetch offscreen image from the + actual root component. + (paintDirtyRegions): Don't call commitRemainingBuffers(). + +2006-08-17 Roman Kennke + + * javax/swing/SwingUtilities.java + (clipString): New helper method for trimming strings. + (layoutCompoundLabelImpl): Fixed algorithm to conform + testsuites. Trim text if it's too long. Avoid creating + new Rectangles. Optimized for performance. + (layoutCompoundLabel): Use switch rather then if-else-chain. + * javax/swing/plaf/basic/BasicButtonUI.java + (viewR): New field. + (iconR): New field. + (textR): New field. + (paint): Reset and use cached rectangles. Only call paintIcon() + if icon is not null. Don't call paintButtonPressed() when + button is selected, only when it is both armed and pressed. + * javax/swing/plaf/basic/BasicGraphicsUtils.java + (getPreferredButtonSize): Reused cached rectangles rather + then creating new ones. Don't create new Rectangle via + Rectangle.union(). + * javax/swing/plaf/basic/BasicLabelUI.java + (getPreferredSize): Correctly reset cached rectangles. Especially + the view rect must have a big size to give it room for layouting. + Short cut layout when text == null. + (paint): Correctly reset cached rectangles. + * javax/swing/plaf/basic/BasicMenuItemUI.java + (resetRectangles): New helper method. + (getPreferredMenuItemSize): Correctly reset the cached rectangles. + (paintMenuItem): Correctly reset the cached rectangles. + * javax/swing/plaf/basic/BasicRadioButtonUI.java + (getPreferredSize): Use cached Rectangle objects and initialize + them correctly. + (paint): Use cached Rectangle objects and initialize + them correctly. + +2006-08-17 David Gilbert + + * java/util/Calendar.java: API doc additions. + +2006-08-17 Robert Schuster + + * javax/swing/DefaultButtonModel.java: + (setRollover): Simplified statement. + +2006-08-17 Jeroen Frijters + + * gnu/java/rmi/server/RMIClassLoaderImpl.java + (loadClass): Rewritten to use getClassLoader. + (loadProxyClass): Implemented. + (getClassLoader): Fixed support for null or empty codebase. + * gnu/java/rmi/server/RMIObjectInputStream.java + (resolveClass): Use user class loader as default class loader. + (resolveProxyClass): Delegate to RMIClassLoader.loadProxyClass. + * gnu/javax/rmi/CORBA/UtilDelegateImpl.java + (loadClass): Simplified and use user class loader instead of + context class loader as default. + * java/io/ObjectInputStream.java + (currentLoader): Use VMStackWalker.firstNonNullClassLoader(). + * vm/reference/gnu/classpath/VMStackWalker.java + (firstNonNullClassLoader): New method. + * vm/reference/java/io/VMObjectInputStream.java + (loaderAction, currentClassLoader): Removed. + +2006-08-17 Robert Schuster + + * javax/swing/plaf/basic/BasicTabbedPaneUI.java: + (getTabBounds(JTabbedPane, int)): Added code to shift rectangle + by current scroll offset, added method documention. + (getTabBounds(int, Rectangle)): Added method documentation. + * javax/swing/plaf/metal/MetalTabbedPaneUI.java: + (paintContentBorderLeftEdge): Changed y to 1. + +2006-08-17 Robert Schuster + + * javax/swing/plaf/basic/BasicTabbedPaneUI.java: + (MouseHandler.mouseReleased): Implemented. + (MouseHandler.mousePressed): Added delegation to tabbed pane. + (MouseHandler.mouseEntered): Dito. + (MouseHandler.mouseExited): Dito. + (MouseHandler.mouseMoved): Dito. + (MouseHandler.redispatchEvent): New method. + (PropertyChangeHandler.propertyChange): Added extra block level, + added code to handle tab placement changes, added comment. + (updateViewPosition): Set unneeded coordinate to 0, added comment. + +2006-08-16 Roman Kennke + + * gnu/javax/swing/text/html/css/CSSScanner.java: New file. + * gnu/javax/swing/text/html/css/CSSLexicalException.java: + New file. + +2006-08-16 Mark Wielaard + + * java/awt/Component.java (orientation): Renamed to + componentOrientation. + (setComponentOrientation): Use new field name. + (getComponentOrientation): Likewise. + +2006-08-16 Roman Kennke + + PR 28750 + * javax/swing/plaf/basic/BasicTreeUI.java + (CellEditorHandler.editingCancelled): Call completeEditing + directly. + (CellEditorHandler.editingStopped): Call completeEditing + directly. + (NodeDimensionHandler.getNodeDimensions): Rewritten + to use the preferred sizes of the renderer and editor. + (TreeExpansionHandler.treeCollapsed): Complete editing + here. + (TreeSelectionHandler.valueChanged): Complete editing + here. + (cancelEditing): Call completeEditing with false, false and + false. Don't call finish (removed method). + (completeEditing(boolean,boolean,boolean): Only do something when + stopEditingInCompleteEditing is true. Nullify editingComponent + and editingPath. Remove editingComponent from tree. Update + the layout when necessary and repaint. + (completeEditing): Stop editing when necessary. + (editorRequestFocus): New helper method. Request focus + on the actual editor. + (finish) Removed. This is now done in completeEditing(). + (prepareForUIInstall): Set stopEditingInCompleteEditing to true. + (setLargeModel): Complete editing here. + (setRootVisible): Complete editing here. + (setRowHeight): Complete editing here. + (setSelectionModel): Complete editing here. + (startEditing): Correctly initialize and start editing. + (updateExpandedDescendants): Complete editing here. + * javax/swing/tree/DefaultTreeCellEditor.java + (DefaultTextField): Fetch size from super and use renderer's height + if appropriate. + (EditorContainer.EditorContainer): Set layout to null, just + to make sure. + (EditorContainer.doLayout): Layout so that the editor + is offset to the right of the icon. + (EditorContainer.getPreferredSize): Implemented to + provide a reasonable preferred size. + (EditorContainer.paint): Position icon in the middle. + Also paint border if appropriate. + (EditorContainer.setBounds): Removed. + (RealEditorListener): Removed. + (DefaultTreeCellEditor): Set correct border. + (cancelCellEditing): Message real editor. Call finish(). + (createCellEditor): Don't add listener. + (determineOffset): Correctly determine offset, and update + the icon. + (finish): New helper method. + (getTreeCellEditorComponent): Set correct font. Call + prepareForEditing() and determineOffset() to correctly initialize + the state. + (stopCellEditing): Messsage realEditor to stop editing. Call + finish to clean up. + (stopEditingTimer): Removed. + (valueChanged): Correctly reset lastPath. + * javax/swing/tree/DefaultTreeCellRenderer.java + (getPreferredSize): Return super plus some extra space for + better readability. + +2006-08-16 Roman Kennke + + * javax/swing/plaf/metal/MetalTreeUI.java + (LineStyleListener): New property listener, that updates + the line style setting if the corresponding property + changes. + (lineStyleListener): New field. + (lineStyle): New field. + (LINE_STYLE_ANGLED): New constant field. + (LINE_STYLE_HORIZONTAL): New constant field. + (LINE_STYLE_NONE): New constant field. + (LINE_STYLE_VALUE_ANGLED): New constant field. + (LINE_STYLE_VALUE_HORIZONTAL): New constant field. + (LINE_STYLE_VALUE_NONE): New constant field. + (LINE_STYLE_PROPERTY): New constant field. + (decodeLineStyle): Implemented. + (installUI): Install line style listener. Set initial + lineStyle. + (uninstallUI): Uninstall line style listener. + (paintHorizontalPartOfLeg): Only call super for angled + lineStyle. + (paintVerticalPartOfLeg): Only call super for angled + lineStyle. + (paintHorizontalSeparators): Implemented. + (paint): If lineStyle==HORIZONTAL, call + paintHorizontalSeparators(). + * examples/gnu/classpath/examples/swing/TreeDemo.java + (createContent): Add panel for selecting line styles. + +2006-08-16 Robert Schuster + + * examples/gnu/classpath/demo/swing/TabbedPaneDemo.java: + (createContent): Rewritten. + (createPlacementChangingMenuItem): New method. + (createLayoutPolicyChangingMenuItem): New method. + (createTabbedPane): New method. + (createTabContent): New method. + +2006-08-16 Robert Schuster + + * javax/swing/plaf/basic/BasicTabbedPaneUI.java: + (MouseHandler.mousePressed): Fixed indentation, intercept clicks on + disabled tabs, do proper revalidation in WRAP_TAB_LAYOUT mode. + +2006-08-16 Robert Schuster + + * javax/swing/text/WrappedPlainView.java: + (WrappedLine.modelToView): Provide variable pos as argument and not a fixed value. + (calculateBreakPosition): Add p0 to return value. + +2006-08-15 Roman Kennke + + * javax/swing/plaf/basic/BasicTreeUI.java + (MouseHandler.selectedOnPress): New field. + (MouseHandler.handleEvent): New helper method for handling + selection and start/stop editing for mouse events. + (MouseHandler.mouseDragged): Commented as no-op method. + (MouseHandler.mouseMoved): Commented as no-op method. + (MouseHandler.mousePressed): Use handleEvent() to handle + selection and editing handling. + (MouseHandler.mouseReleased): Use handleEvent() to handle + selection and editing handling. + (MouseInputHandler.MouseInputHandler): Register itself + as mouse listener on source. Redispatch event to + destination. + (MouseInputHandler.dispatch): New helper method. + (MouseInputHandler.mouseClicked): Dispatch event. + (MouseInputHandler.mouseDragged): Dispatch event. + (MouseInputHandler.mouseEntered): Stop dispatching + if dragging stopped. + (MouseInputHandler.mouseExited): Stop dispatching + if dragging stopped. + (MouseInputHandler.mouseMoved): Stop dispatching. + (MouseInputHandler.mousePressed): Marked as no-op. + (MouseInputHandler.mouseReleased): Dispatch and stop + dispatching afterwards. + (MouseInputHandler.removeFromSource): Implemented. + (PropertyChangeHandler.propertyChange): Also handle + editable property changes by calling setEditable(). + (SelectionModelPropertyChangeHandler.propertyChange): + Reset row selection. + (startEditTimer): Removed. + (setCellEditor): Call updateEditor(). + (setEditable): Call updateEditor(). + (startEditingAtPath): Make path fully visible before starting + editing. + (startEditing): Maybe cancel previous edit session. Add + editing component itself, not its parent container. + Register MouseInputHandler for correctly redispatching + initial events. + (stopEditing): Message cellEditor and only completeEditing() + when approved by cell editor. + (updateCellEditor): Complete editing before updating + the cell editor. Get cell editor from JTree if possible, + otherwise create default editor. Update the listeners + on the editor. + * javax/swing/tree/DefaultTreeCellEditor.java + (CLICK_COUNT_TO_START): Removed. + (DefaultTreeCellEditor): Install correct border. Let setTree() + update the listeners. Don't initialize lastPath and font yet. + (actionPerformed): Implemented to start editing. + (createTreeCellEditor): Set click count to start to 1, rather than + 3. + (isCellEditable): Prepare editor here. Determine if we can + start immediately, or if we trigger a timer to do so. + (prepareForEditing): Don't removeAll() (not necessary), + check editingComponent to be non-null. + (setTree): Update listeners. + (shouldStartEditingTimer): Check for left mouse button. + (startEditingTimer): Lazily create timer. + +2006-08-15 Lillian Angel + + * java/awt/dnd/DropTargetDragEvent.java + (getTransferable): Implemented. + +2006-08-15 Roman Kennke + + * java/util/Vector.java + (removeAll): Added comment about NPE. + (retainAll): Added comment about NPE. + +2006-08-15 Roman Kennke + + * java/util/zip/ZipFile.java + (UTF8DECODER): Removed. + (UTF8CHARSET): New constant field. Stores the UTF8 charset. + (utf8Decoder): New instance field. + (decodeChars): Lazily create UTF8 decoder. Use instance + field rather than a static field to avoid corruption. + +2006-08-15 Roman Kennke + + * java/io/PrintStream.java + (line_separator): Provide default for system property. + * java/io/FileDescriptor.java + (valid): Create local copy of channel field for better + threading safetly. + +2006-08-15 Ingo Proetel + + * java/util/zip/ZipFile.java + (PartialInputStream.UTF8DECODER): New constant field, used + for decoding UTF8 strings. + (readLeShort): Access buffer directly if it has enough bytes + available. + (readLeInt): Access buffer directly if it has enough bytes + available. + (decodeChars): New helper method for decoding UTF8 strings. + (readString): Avoid NIO charset decoder if possible. + +2006-08-15 Roman Kennke + + * java/util/Vector.java + (removeAll): Don't explicitly null-check here. The RI allows + null arguments when Vector is empty. In other cases we + implicitly throw an NPE. + (retainAll): Don't explicitly null-check here. The RI allows + null arguments when Vector is empty. In other cases we + implicitly throw an NPE. + +2006-08-14 Casey Marshall + + Merge in ssl-nio-branch work. See `ChangeLog-ssl-nio' for a record + of changes made on this branch. + Files modified: + * gnu/classpath/debug/Component.java + * gnu/classpath/debug/SystemLogger.java + * gnu/java/security/action/GetPropertyAction.java + * gnu/java/security/action/GetSecurityPropertyAction.java + * gnu/javax/crypto/RSACipherImpl.java + * gnu/javax/net/ssl/PrivateCredentials.java + * gnu/javax/net/ssl/provider/Alert.java + * gnu/javax/net/ssl/provider/AlertException.java + * gnu/javax/net/ssl/provider/Certificate.java + * gnu/javax/net/ssl/provider/CertificateRequest.java + * gnu/javax/net/ssl/provider/CertificateType.java + * gnu/javax/net/ssl/provider/CertificateVerify.java + * gnu/javax/net/ssl/provider/CipherSuite.java + * gnu/javax/net/ssl/provider/ClientHello.java + * gnu/javax/net/ssl/provider/ClientKeyExchange.java + * gnu/javax/net/ssl/provider/CompressionMethod.java + * gnu/javax/net/ssl/provider/Constructed.java + * gnu/javax/net/ssl/provider/ContentType.java + * gnu/javax/net/ssl/provider/DiffieHellman.java + * gnu/javax/net/ssl/provider/Extension.java + * gnu/javax/net/ssl/provider/Finished.java + * gnu/javax/net/ssl/provider/Handshake.java + * gnu/javax/net/ssl/provider/Jessie.java + * gnu/javax/net/ssl/provider/ProtocolVersion.java + * gnu/javax/net/ssl/provider/Random.java + * gnu/javax/net/ssl/provider/ServerHello.java + * gnu/javax/net/ssl/provider/ServerKeyExchange.java + * gnu/javax/net/ssl/provider/Signature.java + * gnu/javax/net/ssl/provider/Util.java + * gnu/javax/net/ssl/provider/X509KeyManagerFactory.java + * gnu/javax/net/ssl/provider/X509TrustManagerFactory.java + * java/security/MessageDigest.java + * java/security/MessageDigestSpi.java + * java/security/Signature.java + * java/security/SignatureSpi.java + * javax/crypto/Mac.java + * javax/crypto/MacSpi.java + * javax/net/ssl/HandshakeCompletedEvent.java + * javax/net/ssl/HttpsURLConnection.java + * javax/net/ssl/SSLContext.java + * javax/net/ssl/SSLContextSpi.java + * javax/net/ssl/SSLSession.java + Files added: + * gnu/javax/net/ssl/provider/ServerKeyExchangeBuilder.java + * gnu/javax/net/ssl/provider/SSLv3HMacSHAImpl.java + * gnu/javax/net/ssl/provider/SimpleSessionContext.java + * gnu/javax/net/ssl/provider/ServerRSAParams.java + * gnu/javax/net/ssl/provider/SSLContextImpl.java + * gnu/javax/net/ssl/provider/ServerDHParams.java + * gnu/javax/net/ssl/provider/ClientHelloBuilder.java + * gnu/javax/net/ssl/provider/ClientDHE_PSKParameters.java + * gnu/javax/net/ssl/provider/SignatureAlgorithm.java + * gnu/javax/net/ssl/provider/CipherSuiteList.java + * gnu/javax/net/ssl/provider/ServerNameList.java + * gnu/javax/net/ssl/provider/SSLServerSocketImpl.java + * gnu/javax/net/ssl/provider/CompressionMethodList.java + * gnu/javax/net/ssl/provider/ServerRSA_PSKParameters.java + * gnu/javax/net/ssl/provider/ClientKeyExchangeBuilder.java + * gnu/javax/net/ssl/provider/TrustedAuthorities.java + * gnu/javax/net/ssl/provider/CertificateStatusRequest.java + * gnu/javax/net/ssl/provider/ServerHelloDone.java + * gnu/javax/net/ssl/provider/ServerDHE_PSKParameters.java + * gnu/javax/net/ssl/provider/SSLSocketImpl.java + * gnu/javax/net/ssl/provider/ServerHelloBuilder.java + * gnu/javax/net/ssl/provider/Record.java + * gnu/javax/net/ssl/provider/SSLRSASignatureImpl.java + * gnu/javax/net/ssl/provider/EncryptedPreMasterSecret.java + * gnu/javax/net/ssl/provider/PreSharedKeyManagerFactoryImpl.java + * gnu/javax/net/ssl/provider/KeyExchangeAlgorithm.java + * gnu/javax/net/ssl/provider/SSLServerSocketFactoryImpl.java + * gnu/javax/net/ssl/provider/CertificateBuilder.java + * gnu/javax/net/ssl/provider/ClientRSA_PSKParameters.java + * gnu/javax/net/ssl/provider/CertificateStatusType.java + * gnu/javax/net/ssl/provider/ExtensionList.java + * gnu/javax/net/ssl/provider/ClientCertificateTypeList.java + * gnu/javax/net/ssl/provider/ClientPSKParameters.java + * gnu/javax/net/ssl/provider/X500PrincipalList.java + * gnu/javax/net/ssl/provider/ServerHandshake.java + * gnu/javax/net/ssl/provider/ClientDiffieHellmanPublic.java + * gnu/javax/net/ssl/provider/SessionImpl.java + * gnu/javax/net/ssl/provider/SSLSocketFactoryImpl.java + * gnu/javax/net/ssl/provider/ServerPSKParameters.java + * gnu/javax/net/ssl/provider/TruncatedHMAC.java + * gnu/javax/net/ssl/provider/MaxFragmentLength.java + * gnu/javax/net/ssl/provider/HelloRequest.java + * gnu/javax/net/ssl/provider/ServerKeyExchangeParams.java + * gnu/javax/net/ssl/provider/UnresolvedExtensionValue.java + * gnu/javax/net/ssl/provider/CipherAlgorithm.java + * gnu/javax/net/ssl/provider/ClientHandshake.java + * gnu/javax/net/ssl/provider/ExchangeKeys.java + * gnu/javax/net/ssl/provider/CertificateURL.java + * gnu/javax/net/ssl/provider/EmptyExchangeKeys.java + * gnu/javax/net/ssl/provider/CertificateRequestBuilder.java + * gnu/javax/net/ssl/provider/SSLv3HMacMD5Impl.java + * gnu/javax/net/ssl/provider/Builder.java + * gnu/javax/net/ssl/provider/Debug.java + * gnu/javax/net/ssl/provider/SSLEngineImpl.java + * gnu/javax/net/ssl/provider/MacAlgorithm.java + * gnu/javax/net/ssl/provider/DelegatedTask.java + * gnu/javax/net/ssl/provider/InputSecurityParameters.java + * gnu/javax/net/ssl/provider/ClientHelloV2.java + * gnu/javax/net/ssl/provider/OutputSecurityParameters.java + * gnu/javax/net/ssl/provider/AbstractHandshake.java + * javax/net/ssl/SSLEngine.java + * javax/net/ssl/CertPathTrustManagerParameters.java + * javax/net/ssl/KeyStoreBuilderParameters.java + * javax/net/ssl/X509ExtendedKeyManager.java + * javax/net/ssl/SSLEngineResult.java + * gnu/javax/net/ssl/PreSharedKeyManager.java + * gnu/javax/net/ssl/Session.java + * gnu/javax/net/ssl/PreSharedKeyManagerParameters.java + * gnu/javax/net/ssl/SSLCipherSuite.java + * gnu/javax/net/ssl/AbstractSessionContext.java + * gnu/javax/net/ssl/SessionStoreException.java + * gnu/javax/net/ssl/SSLRecordHandler.java + * gnu/javax/net/ssl/SSLProtocolVersion.java + * gnu/javax/crypto/key/GnuPBEKey.java + * gnu/java/security/util/ByteBufferOutputStream.java + * gnu/java/security/Requires.java + * gnu/javax/security/auth/callback/CertificateCallback.java + Files removed: + * gnu/javax/net/ssl/provider/Context.java + * gnu/javax/net/ssl/provider/DigestInputStream.java + * gnu/javax/net/ssl/provider/DigestOutputStream.java + * gnu/javax/net/ssl/provider/Enumerated.java + * gnu/javax/net/ssl/provider/Extensions.java + * gnu/javax/net/ssl/provider/GNUSecurityParameters.java + * gnu/javax/net/ssl/provider/JCESecurityParameters.java + * gnu/javax/net/ssl/provider/JDBCSessionContext.java + * gnu/javax/net/ssl/provider/JessieDHPrivateKey.java + * gnu/javax/net/ssl/provider/JessieDHPublicKey.java + * gnu/javax/net/ssl/provider/JessieRSAPrivateKey.java + * gnu/javax/net/ssl/provider/JessieRSAPublicKey.java + * gnu/javax/net/ssl/provider/KeyPool.java + * gnu/javax/net/ssl/provider/OverflowException.java + * gnu/javax/net/ssl/provider/RecordInput.java + * gnu/javax/net/ssl/provider/RecordInputStream.java + * gnu/javax/net/ssl/provider/RecordOutputStream.java + * gnu/javax/net/ssl/provider/RecordingInputStream.java + * gnu/javax/net/ssl/provider/SSLRSASignature.java + * gnu/javax/net/ssl/provider/SSLServerSocket.java + * gnu/javax/net/ssl/provider/SSLServerSocketFactory.java + * gnu/javax/net/ssl/provider/SSLSocket.java + * gnu/javax/net/ssl/provider/SSLSocketFactory.java + * gnu/javax/net/ssl/provider/SSLSocketInputStream.java + * gnu/javax/net/ssl/provider/SSLSocketOutputStream.java + * gnu/javax/net/ssl/provider/SecurityParameters.java + * gnu/javax/net/ssl/provider/Session.java + * gnu/javax/net/ssl/provider/SessionContext.java + * gnu/javax/net/ssl/provider/SynchronizedRandom.java + * gnu/javax/net/ssl/provider/XMLSessionContext.java + +2006-08-14 Roman Kennke + + * javax/swing/plaf/basic/BasicSplitPaneDivider.java + (DividerLayout.layoutContainer): Removed debug output. + * javax/swing/plaf/basic/BasicSplitPaneUI.java + (BasicHorizontalLayoutManager.axis): New field. + (BasicHorizontalLayoutManager.BasicHorizontalLayoutManager(int)): + New constructor. + (BasicHorizontalLayoutManager.BasicHorizontalLayoutManager()): + Call new axis constructor. + (BasicHorizontalLayoutManager.getAvailableSize): Refactored to + handle direction. + (BasicHorizontalLayoutManager.getInitialLocation): Refactored to + handle direction. + (BasicHorizontalLayoutManager.getPreferredSizeOfComponent): + Refactored to handle direction. + (BasicHorizontalLayoutManager.getSizeOfComponent): Refactored + to handle direction. + (BasicHorizontalLayoutManager.minimumLayoutSize): Refactored to + handle direction. + (BasicHorizontalLayoutManager.preferredLayoutSize): Refactored + to handle direction. + (BasicHorizontalLayoutManager.minimumSizeOfComponent): Refactored + to handle direction. + (BasicHorizontalLayoutManager.setComponentToSize): Refactored + to handle direction. + (BasicHorizontalLayoutManager.updateComponents): Don't reset + divider size. + (BasicVerticalLayoutManager.BasicVerticalLayoutManager): + New explicit constructor. Calls super with vertical axis. + (BasicVerticalLayoutManager.getAvailableSize): Functionality moved + to BasicHorizontalLayoutManager. + (BasicVerticalLayoutManager.getInitialLocation): Functionality + moved to BasicHorizontalLayoutManager. + (BasicVerticalLayoutManager.getPreferredSizeOfComponent): + Functionality moved to BasicHorizontalLayoutManager. + (BasicVerticalLayoutManager.getSizeOfComponent): Functionality + moved to BasicHorizontalLayoutManager. + (BasicVerticalLayoutManager.minimumLayoutSize): Functionality + moved to BasicHorizontalLayoutManager. + (BasicVerticalLayoutManager.minimumSizeOfComponent): + Functionality moved to BasicHorizontalLayoutManager. + (BasicVerticalLayoutManager.preferredLayoutSize): Functionality + moved to BasicHorizontalLayoutManager. + (BasicVerticalLayoutManager.setComponentToSize): Functionality + moved to BasicHorizontalLayoutManager. + * javax/swing/plaf/metal/MetalSplitPaneDivider.java + (BUTTON_SPRITE): Renamed to BUTTON_SPRITE_L. + (BUTTON_SPRITE_R): New constant field. + (MetalOneTouchButton.paint): Paint R sprite for right buttons, + L sprite for left buttons. + +2006-08-14 Andreas Tobler + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkPixbufDecoder.c + (query_formats): g_free 'name' after usage. + g_strfreev 'ch', the gdk_pixbuf_format_get_extensions instance. + g_strfreev 'ch', the gdk_pixbuf_format_get_mime_types instance. + +2006-08-14 Thomas Fitzsimmons + + PR classpath/27723 + * configure.ac (MOZILLA_FOUND): Add pkg-config check for + seamonkey-plugin. + +2006-08-14 Francis Kung + + PR 28694 + * java/awt/image/ColorModel.java + (coerceData): Added check for non-transparent images. + +2006-08-14 Francis Kung + + * java/awt/image/BandCombineOp.java + (BandCombineOp): Perform checks on validity of matrix. + (createCompatibleDestRaster): Add checks and choose raster type dynamically. + (filter): Updated to work with new matrix storage. + (getMatrix): Updated javadoc. + (getPoint2D): Formatting change. + +2006-08-14 Francis Kung + + * java/awt/image/AffineTransformOp.java + (AffineTransformOp): Updated javadoc. + (createCompatibleDestImage): Match behaviour of reference implementation. + (createCompatibleDestRaster): Formatting changes. + (filter(BufferedImage, BufferedImage)): Create compatible destination image. + (filter(Raster, WritableRaster)): Re-implemented. + (filterBicubic): New private method. + (filterBilinear): New private method. + (filterNearest): New private method. + (getBounds2D): No longer fixed around one point for rotations. + (getInterpolationType): Add support for bicubic interpolation. + +2006-08-14 Roman Kennke + + * javax/swing/plaf/metal/MetalLookAndFeel.java + (MetalLookAndFeel): Moved theme initialization to + getDefaults(). + (createDefaultTheme): Forward to getCurrentTheme(). + (getDefaults): Initialize theme before doing anything else. + (getCurrentTheme): Recognize swing.metalTheme property. + +2006-08-14 Roman Kennke + + * javax/swing/JTable + (getScrollableUnitIncrement): Expose partially exposed + row in scrolling direction. + +2006-08-14 Audrius Meskauskas + + * javax/swing/JTable (getScrollableUnitIncrement): + Removing my name as the whole method body have been + recently completely replaced. + +2006-08-14 Roman Kennke + + PR 28028 + * javax/swing/text/Utilities.java + (getTabbedTextOffset): Don't add p0 here. + +2006-08-14 Roman Kennke + + PR 28719 + * javax/swing/plaf/basic/BasicScrollPaneUI.java + (MouseWheelHandler.mouseWheelMoved): Scroll negative delta + when wheel is going up. + +2006-08-14 Roman Kennke + + PR 28693 + * javax/swing/plaf/basic/BasicSplitPaneDivider.java + (BasicOneTouchButton): New inner class. + (DividerLayout.changeButtonOrientation): Removed. + (DividerLayout.positionButtons): Moved into layoutContainer. + (DividerLayout.layoutContainer): Reworked for correct layout. + (OneTouchAction): New inner class. + (centerOneTouchButtons): New field. + (BasicSplitPaneDivider): Initialize centerOneTouchButton from + UIManager. + (createLeftOneTouchButton): Reimplemented to return + BasicOneTouchButton. + (createRightOneTouchButton): Reimplemented to return + BasicOneTouchButton. + (getPreferredSize): Reimplemented to return fixed preferredSize. + (oneTouchExpandableChanged): Add OneTouchAction action to + buttons. Don't install mouse listeners. + (MouseHandler.mousePressed): Removed handling of one touch buttons. + (paint): Don't trigger extra paint for buttons. + (propertyChange): Revalidate splitPane when orientation is changed. + (setBasicSplitPaneUI): Call oneTouchExpandableChanged only when + oneTouchExpandable is true. + * javax/swing/plaf/basic/BasicSplitPaneUI.java + (installDefaults): Install dividerSize on the divider too. + * javax/swing/plaf/metal/MetalSplitPaneDivider.java + (MetalDividerLayout): Removed. Functionality is already + in BasicSplitPaneDivider.DividerLayout. + (MetalOneTouchButton): New inner class. + (BUTTON_SPRITE): New constant field. + (MetalSplitPaneDivider): Don't change layout. + (createLeftOneTouchButton): Overridden to return custom button + for Metal. + (createRightOneTouchButton): Overridden to return custom button + for Metal. + (paint): Don't trigger button painting. Call super instead. + +2006-08-13 Roman Kennke + + * javax/swing/plaf/basic/BasicTableHeaderUI.java + (installKeyboardAction): Unmarked as stub. Added comment + explaining that the RI seems to do nothing here. + (uninstallKeyboardAction): Unmarked as stub. Added comment + explaining that the RI seems to do nothing here. + +2006-08-13 Roman Kennke + + PR 28135 + * javax/swing/ScrollPaneLayout.java + (layoutContainer): Consider the viewportBorder of the + JScrollPane. + (minimumLayoutSize): Consider the viewportBorder of the + JScrollPane. + (preferredLayoutSize): Consider the viewportBorder of the + JScrollPane. + * javax/swing/plaf/basic/BasicScrollPaneUI.java + (installDefaults): Also install viewportBorder if specified. + (paint): Paint viewportBorder if present. + (uninstallDefaults): Uninstall viewportBorder if appropriate. + Don't nullify foreground, background and font. Uninstall + border via LookAndFeel helper method to avoid uninstall + user set border. + +2006-08-13 Roman Kennke + + PR 28696 + * javax/swing/plaf/basic/BasicHTML.java + (HTMLRootView.HTMLRootView): Trigger initial layout. + (HTMLRootView.setSize): Overridden to forward to real view. + * javax/swing/plaf/basic/BasicToolTipUI.java + (PropertyChangeHandler): New inner class. Updates the HTML + renderer. + (propertyChangeHandler): New field. + (getMaximumSize): Add HTML width delta. + (getMinimumSize): Add HTML width delta. + (getPreferredSize): Reimplemented to use HTML view for size + calculation if appropriate, otherwise use simple stringWidth() + measurement. + (installListeners): Install propertyChangeHandler. + (uninstallListeners): Uninstall propertyChangeHandler. + (installUI): Update HTML renderer. + (uninstallUI): Update HTML renderer. + (paint): Reimplemented to use HTML view for rendering if + appropriate, simple drawString otherwise. + * javax/swing/plaf/metal/MetalToolTipUI.java + (getPreferredSize): Call super and add accelerator delta. + (paint): Simply call super. + +2006-08-13 Roman Kennke + + * javax/swing/JMenu.java + (changeListener): Renamed to menuChangeListener to avoid + shadowing changeListener field from AbstractButton. + +2006-08-13 Roman Kennke + + * javax/swing/JTree.java + (getScrollableUnitIncrement): Fixed direction. + (getScrollableBlockIncrement): Implemented to scroll one + page. + * javax/swing/tree/VariableHeightLayoutCache.java + (distance): Consider y + height already outside the node. + +2006-08-13 Roman Kennke + + * javax/swing/JTable.java + (getScrollableUnitIncrement): Fixed direction. Make it behave + like the RI. + (getScrollableBlockIncrement): Fixed direction. Make it behave + like the RI. + +2006-08-13 Roman Kennke + + * javax/swing/JList.java + (getScrollableUnitIncrement): Fixed direction. Implemented + horizontal scrolling. Improved usability. + (getScrollableBlockIncrement): Fixed direction. Improved usability. + +2006-08-13 Roman Kennke + + * javax/swing/plaf/basic/BasicScrollBarUI.java + (scrollByUnit): Scroll by -unit when direction is not positive + and +unit otherwise. + (scrollByBlock): Scroll by -unit when direction is not positive + and +unit otherwise. + +2006-08-13 Roman Kennke + + PR 28028 + * javax/swing/text/PlainView.java + (paint): Limit painted area to the lines inside the clip + and allocation. + +2006-08-13 Roman Kennke + + * javax/swing/plaf/basic/BasicTextUI.java + (uninstallListeners): Unregister document listener. + +2006-08-13 Sven de Marothy + + * java/util/Locale.java + (hashcodeCache): New field. + (hashCode): use the above field instead of the serialized one + (writeObject): Removed method. + (readObject): Intern strings. + (equals): Revert to previous method. + +2006-08-13 Roman Kennke + + * javax/swing/JTabbedPane.java + (JTabbedPane): Call setModel() here and let this install the + change listener correctly. + (setModel): Correctly uninstall and reinstall ChangeListener when + model changes. + +2006-08-13 Raif S. Naffah + + PR Classpath/23952 + * java/util/ResourceBundle.java (CACHE_SIZE): New constant. + (bundleCache): Replaced with an LRU of CACHE_SIZE elements. + (lastDefaultLocale): Removed. + (emptyLocale): Likewise. + (BundleKey.defaultLocale): New field. + (BundleKey.BundleKey): Add a Locale (as a 1st positional) argument. + (BundleKey.set): Likewise. + (BundleKey.equals): Take defaultLocal field into consideration. + (getBundle(String, Locale, ClassLoader)): Use updated BundleKey and LRU. + +2006-08-13 Roman Kennke + + * javax/swing/JMenu.java + (MenuChangeListener): New inner class, helps firing menu events. + (changeListener): New field. + (add(text)): Create new JMenuItem here and call add(JMenuItem). + (add(Action)): Create Action using createActionComponent() + and add via add(Component). + (setModel): Install and uninstall MenuChangeListener here. + +2006-08-13 Raif S. Naffah + + PR Classpath/27372 + * java/math/BigInteger.java: Updated copyright year. + (init): Consume as little bytes as possible. + (BigInteger(int, int, Random)): Ensure bitLength bits are used. + (valueOf(String, int)): Throw NumberFormatException for malformed strings + as per RI's documentation. + +2006-08-13 Sven de Marothy + + * java/util/Locale.java + (hashcode): Is a serialized field, not transient. + (equals): Should NOT compare strings by reference. + (readObject/writeObject): Use the default methods and handle the hash + seperately. + +2006-08-13 Raif S. Naffah + + PR Classpath/28678 + * gnu/java/security/Engine.java (getInstance(String, String, Provider)): + Updated documentation. + Formatting. + (getInstance(String, String, Provider, Object[])): Likewise. + Separate checks for null and empty string arguments. + Include as much information as possible in the exception's message. + Do not swallow original exception; instead use it as the cause of the + resulting exception. + * gnu/javax/security/auth/callback/AbstractCallbackHandler.java + (getInstance(String)): Updated documentation. + Formatting. + Store last exception caught when iterating through all providers. + If no implementation found, raise last exception if one was caught. + (getInstance(String, String)): Updated documentation. + Formatting. + Check for null or empty provider as per RI-5's documentation. + (getInstance(String, Provider)): Updated documentation. + Formatting. + Use as much information as possible in the exception message. + Do not swallow original exception; instead use it as the cause for the + ultimate raised exception(s). + * java/security/cert/CertificateFactory.java: Likewise. + * java/security/cert/CertPathBuilder.java: Likewise. + * java/security/cert/CertPathValidator.java: Likewise. + * java/security/cert/CertStore.java: Likewise. + * java/security/AlgorithmParameterGenerator.java: Likewise. + * java/security/AlgorithmParameters.java: Likewise. + * java/security/KeyFactory.java: Likewise. + * java/security/KeyPairGenerator.java: Likewise. + * java/security/KeyStore.java: Likewise. + * java/security/MessageDigest.java: Likewise. + * java/security/SecureRandom.java: Likewise. + * java/security/Signature.java: Likewise. + * javax/crypto/Cipher.java: Likewise. + * javax/crypto/ExemptionMechanism.java: Likewise. + * javax/crypto/KeyAgreement.java: Likewise. + * javax/crypto/KeyGenerator.java: Likewise. + * javax/crypto/Mac.java: Likewise. + * javax/crypto/SecretKeyFactory.java: Likewise. + * javax/net/ssl/KeyManagerFactory.java: Likewise. + * javax/net/ssl/SSLContext.java: Likewise. + * javax/net/ssl/TrustManagerFactory.java: Likewise. + +2006-08-13 Roman Kennke + + * javax/swing/JEditorPane.java + (getScrollableTracksViewportHeight): Also check maximum size. + * javax/swing/JTextPane.java + (insertIcon): Use input attributes for adding the icon + attribute. + * javax/swing/plaf/basic/BasicTextUI.java + (RootView.setSize): Overridden to forward to real view. + (getPreferredSize): Trigger setSize() on the view. + (viewToModel(JTextComponent,Point)): Pass Position.Bias array + to viewToModel() call, rather then null. + * javax/swing/text/ParagraphView.java + (changedUpdate): Invalide layout. Call super. + * javax/swing/text/SimpleAttributeSet.java + (clone): Use super's clone method to create clone. + * javax/swing/text/StyleConstants.java + (setIcon): Also set element name attribute. + * javax/swing/text/StyledEditorKit.java + (BoldAction.actionPerformed): Actually set the bold attribute, + not italic. + (setCharacterAttributes): Replaced with more straightforward + impl. + * javax/swing/text/TextAction.java + (getFocusedComponent): Implemented. + * javax/swing/text/Utilities.java + (getNextVisualPositionFrom): Pass Position.Bias arrays instead + of null. + * javax/swing/text/View.java + (changedUpdate): Nullify element change when updateChildren + says so. + +2006-08-11 Andrew John Hughes + + * vm/reference/gnu/java/lang/management/VMMemoryMXBeanImpl.java: + Fix documentation typos. + +2006-08-11 David Daney + + PR classpath/28580 + * gnu/java/net/protocol/http/Request.java (readResponse): Call + createResponseBodyStream in more cases and with new parameter. + (createResponseBodyStream): Added new parameter mayHaveBody. Handle + HEAD and !mayHaveBody responses specially. + +2006-08-11 Roman Kennke + + * javax/swing/text/GlyphView.java + (DefaultGlyphPainter.modelToView): Fixed model->view mapping. + * javax/swing/text/LabelView.java + (valid): New flag indicating if the text attributes are valid. + (LabelView): Initialize valid field with false. + (setPropertiesFromAttributes): Call setter methods instead + of setting properties directly. Set valid to true. + (changedUpdate): Invalidate attributes. Call super. + (getBackground): Sync attributes if necessary. + (getForeground): Sync attributes if necessary. + (getFont): Sync attributes if necessary. + (isUnderline): Sync attributes if necessary. + (isSuperscript): Sync attributes if necessary. + (isStrikeThrough): Sync attributes if necessary. + (getFontMetrics): Sync attributes if necessary. Fetch font metrics + from toolkit if Container is not available yet. + +2006-08-11 Roman Kennke + + * javax/swing/text/PlainView.java + (tabBase): New field. + (tabSize): New field. + (updateMetrics): Update tabSize. + (lineToRect): Only allocate when really necessary. + (modelToView): Use tabBase for offset calculations. + (paint): Only allocate when really necessary. Update tabBase. + (nextTabStop): Fixed tab calculation. + (viewToModel): Correctly handle multiline text and locations + outside the view's bounds. Set bias. + (getLineLength): Use tabBase. + * javax/swing/text/Utilities.java + (drawTabbedText): Don't special case newlines. The views + must take care of this. + +2006-08-11 Roman Kennke + + * javax/swing/text/GapContent.java + (UndoPosRef): New inner class. Used for resetting positions + after undo/redo operations. + (InsertUndo.positions): New field. + (InsertUndo.undo): Store positions in removed range. + (InsertUndo.redo): Restore positions in re-inserted range. + (UndoRemove.positions): New field. + (UndoRemove.UndoRemove): Store positions in removed range. + (UndoRemove.undo): Restore positions in re-inserted range. + (UndoRemove.redo): Store positions in removed range. + (insertString): Create InsertUndo instance before actually + inserting the string. + (remove): Create UndoRemove instance before actually + removing. + (getPositionsInRange): Don't clear the Vector. Return Vector + of UndoPosRefs. + (updateUndoPositions): Implemented to reset all UndoPosRefs + in the vector. + +2006-08-11 Jeroen Frijters + + * java/io/ObjectInputStream.java (readClassDescriptor): + Use class's class loader to resolve field types. + * java/io/ObjectStreamField.java + (ObjectStreamField(String,String,ClassLoader)): Removed. + (ObjectStreamField(String,String)): Don't try to resolve typename. + (resolveType): New method. + +2006-08-10 Roman Kennke + + * javax/swing/text/BoxView.java + (calculateMajorAxisRequirements): Sum up the preferred and + maximum sizes. + (isAfter): Also add in the rectangle's with/height. + (childAllocation): Don't trigger layout here. + (layoutMinorAxis): Removed debug output. + (getWidth): Consider the insets. + (getHeight): Consider the insets. + (setSize): Consider the insets. + (updateRequirements): Check axis and throw + IllegalArgumentException. + +2006-08-10 Roman Kennke + + * javax/swing/text/AbstractDocument.java + (BidiRootName): New constant field, denotes the element name + for bidi root elements. + (AsyncLoadPriority): New constant field, denotes the property + to store the asynchronousLoadPriority. + (I18N): New constant field, denotes the property for + I18N support. + (bidiRoot): Made field type BidiRootElement. + (AbstractDocument): Build initial element structure for + bidi. + (getAsynchronousLoadPriority): Implemented. Returns the + value stored in the document properties. + (setAsynchronousLoadPriority): Implemented. Sets the + value stored in the document properties. + (getEndPosition): Implemented to use a Position from the + content. + (getStartPosition): Implemented to use a Position from the + content. + (insertStringImpl): Update the I18N setting if necessary. + (insertUpdate): Update the bidi structure if necessary. + (postRemoveUpdate): Update the bidi structure if necessary. + (putProperty): Update the I18N setting and bidi structure + if necessary. + (updateBidi): New helper method for updating the bidi + structure. + (getBidis): New helper method. Fetches the Bidi analysers + for the paragraphs of the range to check. + (dump): Also dump the bidi structure. + (AbstractElement.dump): Indent the '>' correctly. + (AbstractElement.children): Check numChildren rather then + children.length. + (BidiRootElement): New inner class. + (BidiElement): New inner class. + +2006-08-10 Roman Kennke + + * javax/swing/text/GapContent.java + (getChars): Optimized to only copy array when really necessary. + Respect the partialReturn property. + +2006-08-10 Lillian Angel + + * gnu/java/awt/dnd/peer/gtk/GtkDragSourceContextPeer.java + (getComponentPeer): Added check to prevent NPE. + +2006-08-10 Gary Benson + + * java/security/AccessControlContext.java (): + Avoid a duplicated AccessController.getContext() call. + +2006-08-09 Mark Wielaard + + * doc/www.gnu.org/newsitems.txt: Add 0.92. + * doc/www.gnu.org/downloads/downloads.wml: Likewise. + * doc/www.gnu.org/announce/20060809.wml: New file. + +2006-08-09 Mark Wielaard + + * configure.ac (VERSION): Set to 0.92-generics. + * NEWS: Add updates for 0.92 release. + +2006-08-09 Tom Tromey + + PR classpath/28658: + * java/text/SimpleDateFormat.java (parse): Let an unquoted space in + the pattern match any number of spaces in the text. + +2006-08-09 Sven de Marothy + + * java/awt/image/BufferedImage.java + (BufferedImage): Reimplement predefined-type constructor. + (observers/tileObservers): Field renamed to tileObservers. + (createDefaultIndexedColorModel): New method. + +2006-08-09 Tom Tromey + + PR classpath/28666: + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkScreenGraphicsDevice.c + (Java_gnu_java_awt_peer_gtk_GdkScreenGraphicsDevice_nativeGetDisplayModes): + Create a 'short' array. + +2006-08-09 Tom Tromey + + * tools/gnu/classpath/tools/javah/JniHelper.java (getName): Properly + handle arrays. + * tools/gnu/classpath/tools/javah/JniIncludePrinter.java + (writeFields): Print "L" after int constant. Don't mangle the field + name. Only print int/long fields. + +2006-08-09 Tom Tromey + + * tools/gnu/classpath/tools/javah/Main.java (getParser): Name program + "javah". + +2006-08-09 Sven de Marothy + + * javax/swing/JTree.java + (JTree): Default SelectionModel should be DefaultTreeSelectionModel. + (setSelectionModel): Null parameter should create an EmptySelectionM. + +2006-08-09 Roman Kennke + + * javax/swing/text/AbstractDocument.java + (insertString): Perform modifications inside a write lock. + (insertStringImpl): Don't lock here. This is already done + in insertString(). + (replace): Perform modifications inside a write lock. + (AbstractElement.AbstractElement): Call addAttributes() to + add the attributes. + (AbstractElement.getName): Fetch name from the ElementNameAttibute. + (BranchElement.lastIndex): New field. Optimizes getElementIndex(). + (BranchElement.BranchElement): Set lastIndex to -1. + (BranchElement.getElementIndex): Implemented more efficient + search. + +2006-08-09 Roman Kennke + + * javax/swing/text/DefaultStyledDocument.java + (Edit): Moved this inner class into ElementBuffer where it + is actually needed. + (edits): Moved this field into ElementBuffer. + (getEditForParagraphAndIndex): Removed obsolete method. + (insertUpdate): Added some optimizations and fixes. Split + out handling insertion after newlines. + (insertAfterNewline): New helper method. Handles insertions + after a newline. + (ElementBuffer.Edit): New inner class. Moved here from + DefaultStyledDocument. + (ElementBuffer.createdFracture): New field. + (ElementBuffer.documentEvent): Made private. + (ElementBuffer.edits): New field. Moved here from + DefaultStyledDocument. + (ElementBuffer.fracNotCreated): Replaced by createdFracture. + (ElementBuffer.fracturedChild): New field. + (ElementBuffer.fracturedParent): New field. + (ElementBuffer.insertPath): New field. + (ElementBuffer.lastFractured): Removed. Replaced by fracturedChild and + fracturedParent. + (ElementBuffer.offsetLastIndex): New field. + (ElementBuffer.offsetLastIndexReplace): New field. + (ElementBuffer.recreateLeafs): New field. + (ElementBuffer.ElementBuffer): Don't initialize stack here. + (ElementBuffer.canJoin): New helper method. + (ElementBuffer.changeUpdate): Changed to use elementStack with + Edits rather than Elements. Let the split method do the work. + (ElementBuffer.cloneAsNecessary): New helper method. + (ElementBuffer.createFracture): Changed to fracture the bottommost + child in the stack. + (ElementBuffer.finishEdit): New helper method. Moved out + from insertUpdate to perform the actual changes and update + the event. + (fracture): New helper method. + (insertContentTag): Fixed some bugs and changed to use Edit + instances in the stack, rather then Elements. + (insertElement): New helper method. Moved out from insertUpdate() + to process the ElementSpecs. + (insertFirstContentTag): Fixed some problems and changed to use Edit + instances in the stack, rather then Elements. + (insertFracture): Removed. Basically moved into createFracture() + and fracture(). + (insertParagraph): Removed. + (insertUpdate): Split out the ElementSpec processing into + insertElement(). Use Edit instances in the stack. Fixed some + problems. + (insert): Split out the preparation and finishing code into + prepareEdit() and finishEdit(). + (join): New helper method. + (pop): New helper method. + (prepareEdit): New helper method. + (recreateFracturedElement): New helper method. + (recreateLeaves): Removed. + (recreate): New helper method. + (removeElements): New helper method. Split out from removeUpdate(). + (removeUpdate): Split out the actual removal. Use the + Edit stack to perform removal and perform the remove actions + and event updates afterwards, just like in insertImpl(). + (remove): Use prepareEdit() and finishEdit(). + (split): Replaced with more flexible impl. + +2006-08-09 Sven de Marothy + + * gnu/java/awt/peer/gtk/CairoSurface.java + Change class to extend WritableRaster and not DataBuffer. + (CairoDataBuffer): New inner class. + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + * gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java + Accomodate the above change. + +2006-08-09 Sven de Marothy + + * gnu/java/awt/peer/gtk/GtkMainThread.java + New file. + * gnu/java/awt/peer/gtk/GtkChoicePeer.java + * gnu/java/awt/peer/gtk/GtkComponentPeer.java + Replace GtkToolkit.mainThread with GtkMainThread.mainThread. + * gnu/java/awt/peer/gtk/GtkToolkit.java + Minor style fixes; removed unused fields, + set fields to private where possible. + (createDialog, createFrame, createWindow, createEmbeddedWindow): + Call GtkMainThread.createWindow(). + * gnu/java/awt/peer/gtk/GtkWindowPeer.java + (dispose): New method. + * include/gnu_java_awt_peer_gtk_GtkToolkit.h + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c + (gtkQuit): New native method. + +2006-08-08 Lillian Angel + + * java/awt/Component.java + (setDropTarget): Added check. + +2006-08-08 Lillian Angel + + * gnu/java/awt/dnd/peer/gtk/GtkDragSourceContextPeer.java + (GtkDragSourceContextPeer): Added FIXME. Changed call + to setTarget. + * gnu/java/awt/dnd/peer/gtk/GtkDropTargetContextPeer.java + (GtkDropTargetContextPeer): Removed target initialization. + * java/awt/Component.java + (setTarget): Removed commented out code. + +2006-08-08 Mark Wielaard + + * javax/swing/text/DefaultHighlighter.java: Qualify + Highlighter.HighlightPainter class name for gcj. + +2006-08-05 Roman Kennke + + * javax/swing/plaf/basic/BasicTableUI.java + (MouseInputHandler.mousePressed): Request focus on list + component. + +2006-08-05 Roman Kennke + + * javax/swing/plaf/basic/BasicListUI.java + (MouseInputHandler.mousePressed): Request focus on list + component. + +2006-08-05 Roman Kennke + + PR 28650 + * javax/swing/plaf/basic/BasicMenuBarUI.java + (getActionMap): Store ActionMap in MenuBar.actionMap, rather + than Tree.actionMap. + * javax/swing/plaf/basic/BasicTreeUI.java + (action): Removed obsolete field. + (uninstallKeyboardActions): Removed action field handling. + (installKeyboardActions): Removed action field handling. + (createDefaultActions): Don't install removed TreeAction. + (TreeAction): Removed obsolete inner class. + (ActionListenerProxy): Removed obsolete inner class. + (MouseHandler.mousePressed): Request focus on JTree component + on mouse press. + +2006-08-08 Roman Kennke + + * javax/swing/plaf/basic/BasicListUI.java + (MouseInputHandler.mousePressed): Request focus on list + component. + +2006-08-08 Roman Kennke + + * javax/swing/plaf/basic/BasicTableUI.java + (MouseInputHandler.mousePressed): Request focus on list + component. + +2006-08-08 Roman Kennke + + * javax/swing/plaf/basic/BasicTextUI.java + (damageRange(JTextComponent,int,int)): Call damageRange() with + correct biases, rather than null. + (damageRange(JTextComponent,int,int,Bias,Bias)): Rewritten + to use simpler modelToView() approach without much special + casing. This seems not worth the effort and actually + caused problems. Added locking of the document. + * javax/swing/text/BoxView.java + (requirementsValid): New field. + (calculateMajorAxisRequirements): Rewritten without using + SizeRequirements. The SizeRequirements algorithms are slightly + different and too inefficient. + (calculateMinorAxisRequirements): Rewritten without using + SizeRequirements. The SizeRequirements algorithms are slightly + different and too inefficient. + (getAlignment): Simply return the alignment of the cached + requirements. + (getMaximumSpan): Add insets. + (getMinimumSpan): Add insets. + (getPreferredSpan): Add insets. + (layoutMajorAxis): Rewritten without using + SizeRequirements. The SizeRequirements algorithms are slightly + different and too inefficient. + (layoutMinorAxis): Rewritten without using + SizeRequirements. The SizeRequirements algorithms are slightly + different and too inefficient. + (modelToView): Call setSize() rather than layout(). + (paint): Check clip for more efficient painting. + (preferenceChanged): Invalidate requirements here. + (replace): Invalidate requirements here. + (updateRequirements): Update requirements only when requirements + are marked invalid. + * javax/swing/text/CompositeView.java + (modelToView): Added some more checks and handling of corner cases. + * javax/swing/text/FlowView.java + (calculateMinorAxisRequirements): Set aligment to 0.5 and maximum + span to Integer.MAX_VALUE. Limit preferredSize to minimumSize. + * javax/swing/text/IconView.java + (getAlignment): Implemented to return 1.0 for vertical alignment. + * javax/swing/text/ParagraphView.java + (Row.getMaximumSpan): Implemented to let Rows span the whole + ParagraphView. + (getAlignment): Fixed horizontal alignment and vertical alignment + for empty paragraphs to be 0.5. + +2006-08-08 Roman Kennke + + * javax/swing/text/View.java + (modelToView): Added special handling for corner case at the end + of the view and for multiline views. + +2006-08-08 Roman Kennke + + * javax/swing/plaf/basic/BasicTextUI.java + (modelToView): Read-lock the document. Set size of the + root view before fetching the model-to-view mapping. + (getViewIndex): Check of the position is inside the range and + return -1 if this is not the case. + (getViewAtPosition(int,Rectangle): Update child allocation for valid + view index. + (getViewIndexAtPosition(int)): Delegate the index search to + the element since we have a 1:1 mapping between elements and + views here. + * javax/swing/text/DefaultCaret.java + (appear): Ignore BadLocationException. + (paint): Ignore BadLocationException. + * javax/swing/text/FlowView.java + (changedUpdate): Also notify the layoutPool view. + (removeUpdate): Also notify the layoutPool view. + * javax/swing/text/ParagraphView.java + (Row.getViewIndexAtPosition): Overridden to search linearily + through the view instead of relying on a 1:1 model to view + mapping. + * javax/swing/text/View.java + (removeUpdate): Clear ElementChange object if updateChildren + returns false. + (forwardUpdate): Special handle some boundary cases. + +2006-08-07 Raif S. Naffah + + * gnu/java/security/key/dss/DSSKey.java: Updated documentation. + (hasInheritedParameters): New method. + (equals): Updated documentation. + Take into consideration the outcome of hasInheritedParameters invocation. + (toString): Call hasInheritedParameters and adjust the result accordingly. + * gnu/java/security/key/dss/DSSKeyPairX509Codec.java (encodePublicKey): + Updated documentation. + Handle case of public keys with null p, q, and g MPIs. + (decodePublicKey): Handle case of absent or NULL p, q and g MPIs. + +2006-08-07 Tom Tromey + + PR libgcj/23682: + * java/nio/channels/SelectionKey.java (attach): Now synchronized. + (attachment): Likewise. + * java/nio/channels/spi/AbstractSelectionKey.java (cancel): Now + synchronized. + (isValid): Likewise. + * gnu/java/nio/SelectionKeyImpl.java (impl): Now final + (ch): Likewise. + (interestOps): Synchronize. + (readyOps): Likewise. + * gnu/java/nio/SelectorImpl.java (register): Synchronize around + interestOps call. + +2006-08-07 C. Scott Marshall + + Fixes PR 28608. + * java/nio/DirectByteBufferImpl.java (duplicate): only reset if + the mark has been set. + * native/jni/java-nio/java_nio_VMDirectByteBuffer.c + (Java_java_nio_VMDirectByteBuffer_allocate): zero out the + allocated data. + +2006-08-07 Sven de Marothy + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (drawGlyphVector): Synchronize against font object when drawing. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c + (nativeDrawGlyphVector): Use pango locking when drawing. + (install_font_peer): Use pango locking when creating the cairo face. + +2006-08-06 Roman Kennke + + PR 28571 + * gnu/java/awt/peer/gtk/GtkCanvasPeer.java + (getPreferredSize): Renamed method to preferredSize(). That's + the one that gets called from java.awt.*. + * java/awt/peer/ComponentPeer.java + (getPreferredSize): Added specnote about this method never + beeing called in the RI. + (getMinimumSize): Added specnote about this method never + beeing called in the RI. + +2006-08-03 Sven de Marothy + + * gnu/java/awt/peer/gtk/ComponentGraphics.java + (grab, nativeGrab): New methods. + * include/gnu_java_awt_peer_gtk_ComponentGraphics.h + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c + (nativeGrab): New method. + * gnu/java/awt/peer/gtk/GtkComponentPeer.java + (print): Implement. + * java/awt/Component.java + (printAll): Should call peer print method. + +2006-08-06 Thomas Minor <1nocentrabidlamb@sexMagnet.com> + + * java/net/URL.java (getContent(Class[])): Implement. + +2006-08-06 Mark Wielaard + + PR 28555 + Suggested by Matthew Burgess + * gnu/xml/transform/ApplyTemplatesNode.java (clone): Check whether + withParams is null. + * gnu/xml/transform/ForEachNode.java (clone): Check whether + sortKeys is null. + +2006-08-06 Roman Kennke + + * NEWS: Added note about the X peers. + * INSTALL: Added install notes about the X peers. + +2006-08-06 Raif S. Naffah + Paul Jenner + + * README: Update bug, patches and cvs instructions plus new URLs of + various external projects. + +2006-08-06 Thomas Fitzsimmons + + * configure.ac (MOZILLA_FOUND): Fall back to + mozilla-firefox-plugin. + +2006-08-06 Mario Torre + + Reported by Raif S. Naffah + * native/jni/gconf-peer/GConfNativePeer.c (init_gconf_client): + g_type_init earlier in function to correctly initialize the + type system used by the backend. + +2006-08-05 Roman Kennke + + * javax/swing/text/DefaultHighlight.java + (DefaultHighlightPainter.paintHighlight): Removed method. + (DefaultHighlightPainter.paintLayer): Implemented. + (DefaultHighlightPainter.paint): Implemented more efficient + painting for multiline-highlights. + (HighlightEntry.p0): Changed to be a Position. + (HighlightEntry.p1): Changed to be a Position. + (HighlightEntry.HighlightEntry): Changed to take Position + arfuments. + (HighlightEntry.getStartOffset): Changed to return p0.getOffset(); + (HighlightEntry.getEndOffset): Changed to return p1.getOffset(); + (LayerHighlightEntry): New inner class. Extends HighlightEntry + and tracks the painted rectangle for efficient repainting. + (addHighlight): Handle layered highlight. + (changeHighlight): Handle layered highlight. + (paintLayeredHighlights): Implemented. + (paint): Paint only non-layered highlights here. + (removeAllHighlights): Trigger correct repaint. + (removeHighlight): Handle layered highlight here for + more efficient repainting. + * javax/swing/text/GlyphView.java + (paint): Handle layered highlights. + * javax/swing/text/PlainView.java + (paint): Handle layered highlights. + * javax/swing/text/WrappedPlainView.java + (WrappedLine.paint): Handle layered highlights. + +2006-08-07 Audrius Meskauskas + + PR 26972 + * NEWS: As suggested by Paul Jennier, added note about the fix of + the InitialContext. + +2006-08-07 Audrius Meskauskas + + * NEWS: Added entry about the context factories for JNDI. + +2006-08-07 Audrius Meskauskas + + PR 27383 + * gnu/CORBA/Connected_objects.java (size): New method. + * gnu/CORBA/OrbFunctional.java (countConnectedObjects): + New method. + * javax/naming/spi/NamingManager.java (getURLContext): + Also search for the URL context factories in + gnu/javax/naming/jndi/url. + * gnu/javax/naming/giop/ContextContinuation.java, + gnu/javax/naming/giop/CorbalocParser.java, + gnu/javax/naming/giop/GiopNamingEnumeration.java, + gnu/javax/naming/giop/GiopNamingServiceFactory.java, + gnu/javax/naming/giop/GiopNamingServiceURLContext.java, + gnu/javax/naming/giop/ListBindingsEnumeration.java, + gnu/javax/naming/giop/ListEnumeration.java, + gnu/javax/naming/jndi/url/corbaname/corbanameURLContextFactory.java, + gnu/javax/naming/jndi/url/rmi/ContextContinuation.java, + gnu/javax/naming/jndi/url/rmi/ListBindingsEnumeration.java, + gnu/javax/naming/jndi/url/rmi/ListEnumeration.java, + gnu/javax/naming/jndi/url/rmi/RmiContinuation.java, + gnu/javax/naming/jndi/url/rmi/RmiNamingEnumeration.java, + gnu/javax/naming/jndi/url/rmi/rmiURLContext.java, + gnu/javax/naming/jndi/url/rmi/rmiURLContextFactory.java: New files. + +2006-08-06 Sven de Marothy + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (drawGlyphVector): Synchronize against font object when drawing. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c + (nativeDrawGlyphVector): Use pango locking when drawing. + (install_font_peer): Use pango locking when creating the cairo face. + +2006-08-06 C. Scott Marshall + + Fixes PR 28608. + * java/nio/DirectByteBufferImpl.java (duplicate): only reset if + the mark has been set. + * native/jni/java-nio/java_nio_VMDirectByteBuffer.c + (Java_java_nio_VMDirectByteBuffer_allocate): zero out the + allocated data. + +2006-08-06 Mark Wielaard + + PR 28555 + Suggested by Matthew Burgess + * gnu/xml/transform/ApplyTemplatesNode.java (clone): Check whether + withParams is null. + * gnu/xml/transform/ForEachNode.java (clone): Check whether + sortKeys is null. + +2006-08-06 Raif S. Naffah + Paul Jenner + + * README: Update bug, patches and cvs instructions plus new URLs of + various external projects. + +2006-08-05 Andrew John Hughes + + * gnu/java/lang/management/BeanImpl.java: + (cacheMBeanInfo(MBeanInfo)): Override given MBeanInfo + with open variant. + (getCachedMBeanInfo()): Return open variant. + (getMBeanInfo()): Likewise. + (getTypeFromClass(Class)): Implemented. + (translateSignature(MBeanParameterInfo)): Likewise. + (translate(String)): Likewise. + * javax/management/StandardMBean.java: + (getMBeanInfo()): Return attribute names with capital letters, + as in docs for java.lang.management.ManagementFactory, and + ensure descriptions are not "". + * javax/management/openmbean/OpenMBeanConstructorInfoSupport.java, + * javax/management/openmbean/OpenMBeanInfoSupport.java, + * javax/management/openmbean/OpenMBeanOperationInfoSupport.java: + (toString()): Use Arrays.toString(). + * javax/management/openmbean/OpenMBeanParameterInfoSupport.java: + (OpenMBeanParameterInfoSupport(String, String, OpenType)): + Set open type here rather than in other constructors. + +2006-08-05 Andrew John Hughes + + * javax/management/MBeanFeatureInfo.java: + Make string variable package-private. + * javax/management/StandardMBean.java: + (getMBeanInterface()): Made final. + * javax/management/openmbean/SimpleType.java: + Made final. + +2006-08-05 Jeroen Frijters + + * java/awt/Component.java (setDropTarget): Commented out GTK specific + code. + +2006-08-05 Andrew John Hughes + + * examples/gnu/classpath/examples/swing/FillRect.java, + * gnu/CORBA/Focused_ORB.java, + * gnu/CORBA/interfaces/gnuSocketFactory.java, + * gnu/classpath/ByteArray.java, + * gnu/classpath/ObjectPool.java, + * gnu/java/awt/peer/ClasspathTextLayoutPeer.java, + * gnu/java/awt/peer/x/fonts.properties, + * gnu/java/security/util/Prime2.java, + * gnu/javax/imageio/gif/GIFStream.java, + * javax/swing/text/html/HTMLTableView.java, + * native/cni/Makefile.am, + * org/omg/CORBA/SendingContext/RunTimeOperations.java, + * org/omg/CORBA/SendingContext/Runtime.java, + * resource/gnu/regexp/MessagesBundle.properties, + * resource/gnu/regexp/MessagesBundle_fr.properties, + * resource/gnu/regexp/MessagesBundle_it.properties, + * tools/appletviewer.in, + * tools/jarsigner.in, + * tools/keytool.in, + * vm/reference/java/lang/management/VMThreadInfo.java: + Removed. + * examples/gnu/classpath/examples/awt/aicas.png, + * examples/gnu/classpath/examples/awt/palme.gif, + * examples/gnu/classpath/examples/java2d/aicas.png, + * examples/gnu/classpath/examples/java2d/palme.gif, + * gnu/java/awt/font/opentype/truetype/doc-files/ZonePathIterator-1.dia, + * gnu/java/awt/font/opentype/truetype/doc-files/ZonePathIterator-1.png, + * java/awt/doc-files/capjoin.png, + * java/awt/geom/doc-files/Area-1.png, + * java/awt/geom/doc-files/Ellipse-1.png, + * java/awt/geom/doc-files/GeneralPath-1.png: + Added. + +2006-08-05 Andrew John Hughes + + * configdiag.jnlp: + Removed. + +2006-08-05 Andrew John Hughes + + * gnu/java/lang/management/BeanImpl.java: + (getAttribute(String)): Implemented. + +2006-08-05 Roman Kennke + + * javax/swing/text/JTextComponent.java + (AccessibleJTextComponent.dot): Renamed field into caretDot. + (AccessibleJTextComponent.textComp): Removed field + and replace with JTextComponent.this construct. + (AccessibleJTextComponent.AccessibleJTextComponent): + Fetch caret position. + (caretUpdate): Implemented. Fires property change events and + updates the caretDot field. + (changedUpdate): Implemented. Fires property change events. + (insertUpdate): Implemented. Fires property change events. + (removeUpdate): Implemented. Fires property change events. + (cut): Replaced textComp with JTextComponent.this construct. + (paste): Replaced textComp with JTextComponent.this construct. + (replaceText): Replaced textComp with JTextComponent.this construct. + (selectText): Replaced textComp with JTextComponent.this construct. + (getCaretPosition): Replaced textComp with JTextComponent.this + construct. + (getCharCount): Replaced textComp with JTextComponent.this construct. + (getSelectedText): Replaced textComp with JTextComponent.this + construct. + (getSelectionEnd): Replaced textComp with JTextComponent.this + construct. + (getSelectionStart): Replaced textComp with JTextComponent.this + construct. + (getTextRange): Replaced textComp with JTextComponent.this + construct. + (doAccessibleAction): Implemented. + (getAccessibleActionCount): Implemented. + (getAccessibleActionDescription): Implemented. + (getAccessibleStateSet): Implemented. + (getAfterIndex): Implemented. + (getBeforeIndex): Implemented. + (getAtIndex): Implemented. + (getAtIndexImpl): New helper method. + (getCharacterAttribute): Implemented. + (getCharacterBounds): Implemented. + (getIndexAtPoint): Implemented. + (insertTextAtIndex): Implemented. + (setAttributes): Implemented. + (setTextContents): Implemented. + +2006-08-05 Raif S. Naffah + + * configure.ac: Better handling of default-preferences-peer option. + +2006-08-04 Andreas Tobler + + * java/awt/BasicStroke.java (dashedStroke): Cast coords.clone to + double[]. + +2006-08-04 Andrew John Hughes + + * javax/management/openmbean/TabularData.java: + Documentation corrections. + * javax/management/openmbean/TabularDataSupport.java: + New file. + +2006-08-04 Francis Kung + + * java/awt/BasicStroke.java + (dashedStroke): Implemented. + +2006-08-04 Andrew John Hughes + + * javax/management/BadAttributeValueExpException.java, + * javax/management/BadStringOperationException.java, + * javax/management/InstanceAlreadyExistsException.java, + * javax/management/InstanceNotFoundException.java, + * javax/management/InvalidApplicationException.java, + * javax/management/MBeanRegistrationException.java, + * javax/management/MalformedObjectNameException.java, + * javax/management/RuntimeErrorException.java, + * javax/management/RuntimeMBeanException.java, + * javax/management/ServiceNotFoundException.java: + New files. + +2006-08-04 Roman Kennke + + * javax/swing/SwingUtilities.java + (layoutCompoundLabel(JComponent,FontMetrics,String,Icon,int,int,int, + int,Rectangle,Rectangle,Rectangle,int)): Delegate to new + layoutCompoundLabelImpl(). + (layoutCompoundLabel(FontMetrics,String,Icon,int,int,int,int, + Rectangle,Rectangle,Rectangle,int)): Delegate to new + layoutCompoundLabelImpl(). + (layoutCompoundLabelImpl): New helper method. Moved impl from + layoutCompoundLabel() to here and added handling of HTML. + * javax/swing/plaf/basic/BasicButtonUI.java + (installUI): Update HTML view if appropriate. + (uninstallUI): New method. Do the usual uninstallUI things + and uninstall HTML view. + (getMinimumSize): New method. Adjusts the minimum size + by the HTML view minimum size. + (getMaximumSize): New method. Adjusts the maximum size + by the HTML view maximum size. + (getPreferredSize): Pass the button's iconTextGap to the + BasicGraphicsUtils method. + (paint): Let HTML view paint the text, if present. + * javax/swing/plaf/basic/BasicButtonListener.java + (propertyChange): Update the HTML view when the button's + text is changed. + +2006-08-04 Mario Torre + + Reported by Raif S. Naffah + * native/jni/gconf-peer/GConfNativePeer.c (init_gconf_client): + g_type_init earlier in function to correctly initialize the + type system used by the backend. + +2006-08-04 Audrius Meskauskas + + PR 26972 + * javax/naming/Name.java (addAll, getPrefix, getSuffix): + Documented. + * gnu/javax/naming/ictxImpl/trans/GnuName.java: New file. + +2006-08-04 Robert Schuster + + Reported by Henrik Gulbrandsen + Fixes PR27864. + * gnu/xml/dom/DomIterator.java: + (successor): Added if-statement. + +2006-08-04 Mark Wielaard + + * scripts/Makefile.am (EXTRA_DIST): Add import-cacerts.sh. + +2006-08-04 Robert Schuster + + * javax/swing/plaf/metal/MetalMenuBarUI.java: + (update): Check size and paint smaller gradient. + * javax/swing/plaf/metal/MetalBorders.java: + (MenuBarBorder): Removed borderColor field. + (MenuBarBorder.paintBorder): Added note, fetch color from UIManager or + MetalLookAndFeel. + +2006-08-03 Roman Kennke + + PR 27637 + * javax/swing/plaf/basic/BasicInternalFrameUI.java + (ComponentHandler.componentResized): Reimplemented to handle + arbitrary parents. + (InternalFramePropertyChangeHandler.propertyChange): (Un)install + component listener on changed ancestor. + (installListeners): Install componentListener. + (uninstallListeners): Uninstall componentListener. + +2006-08-03 Carsten Neumann + + * StrictMath.java (cbrt): Return argument if it is a NaN. + (cosh): Likewise. + (expm1): Likewise. + (sinh): Likewise. + +2006-08-03 Carsten Neumann + + * java/lang/StrictMath.java (tanh): New method. + +2006-08-03 Raif S. Naffah + + * scripts/import-cacerts.sh: Batch CA certificates import script. + +2006-08-03 Roman Kennke + + PR 27606 + * javax/swing/plaf/basic/BasicListUI.java + (paintCell): Pass row index to cell renderer. + * javax/swing/plaf/basic/MetalFileChooserUI.java + (DirectoryComboBoxRenderer.indentIcon): New field. + (DirectoryComboBoxRenderer.DirectoryComboBoxRenderer): + Initialize indentIcon. + (DirectoryComboBoxRenderer.getListCellRendererComponent): + Fall back to super and removed standard functionality. + Handle indentation. + (IndentIcon): New class. Wraps and indents another icon. + +2006-08-02 Andrew John Hughes + + * javax/management/MBeanConstructorInfo.java: + (MBeanConstructorInfo(String,String,MBeanParameterInfo[]): + Copy array rather than directly assigning. + * javax/management/MBeanInfo.java: + (MBeanInfo(String,String,MBeanAttributeInfo[], + MBeanConstructorInfo[], MBeanOperationInfo[], + MBeanNotificationInfo[])): Likewise. + * javax/management/MBeanOperationInfo.java: + (MBeanOperationInfo(String,String,MBeanParameterInfo[],String,int)): + Likewise. + * javax/management/openmbean/OpenMBeanAttributeInfoSupport.java, + * javax/management/openmbean/OpenMBeanConstructorInfoSupport.java: + New files. + * javax/management/openmbean/OpenMBeanInfo.java: + Corrected documentation. + * javax/management/openmbean/OpenMBeanInfoSupport.java: + New file. + * javax/management/openmbean/OpenMBeanOperationInfo.java: + Corrected documentation. + * javax/management/openmbean/OpenMBeanOperationInfoSupport.java: + New file. + * javax/management/openmbean/OpenMBeanParameterInfoSupport.java: + (MBeanParameterInfo(String,String,OpenType,Object,Object[])): + Call other constructor rather than reimplementing. + +2006-08-02 Lillian Angel + + * java/awt/dnd/DragSource.java + (isDragImageSupported): Implemented. + (getDragThreshold): Changed default value. + * java/awt/dnd/DropTarget.java + (DropTarget): Default action is changed to ACTION_COPY_OR_MOVE. + (DropTarget): Likewise. + (DropTarget): If FlavorMap passed in is null, we should use the system default. + (addDropTargetListener): Added check to determine if new DropTargetListener + is this class. If so, an IllegalArgumentException is thrown. If the + new listener is null, nothing happens. + +2006-08-02 Thomas Fitzsimmons + + * configure.ac (MOZILLA_FOUND): Fall back to + mozilla-firefox-plugin. + +2006-08-02 Sven de Marothy + + * java/awt/geom/AffineTransform.java + (hashCode): Tweak impl. + * java/awt/font/FontRenderContext.java + (hashCode): Implement. + +2006-08-02 Carsten Neumann + + * java/lang/StrictMath.java (sinh): New method. + +2006-08-02 Roman Kennke + + PR 27605 + * javax/swing/JComboBox.java + (setSelectedItem): Fire ActionEvent here. + * javax/swing/plaf/basic/BasicDirectoryModel.java + (directories): Changed to type Vector. + (files): New field. + (loadThread): New field. + (DirectoryLoadThread): New inner class. This loads the contents + of directories asynchronously. + (getDirectories): Return cached Vector. + (getFiles): Return cached Vector. + (getSize): Return plain size of contents Vector. + (propertyChange): Reread directory also for DIRECTORY_CHANGED, + FILE_FILTER_CHANGED, FILE_HIDING_CHANGED and FILE_VIEW_CHANGED. + (sort): Don't store sorted list in contents. This must be done + asynchronously from the EventThread. + (validateFileCache): Rewritten for asynchronous reading + of directory contents. + * javax/swing/plaf/basic/BasicFileChooserUI.java + (installListeners): Install model as PropertyChangeListener. + (uninstallListeners): Uninstall model as PropertyChangeListener. + (createPropertyChangeListener): Return null just like the + RI. + +2006-08-02 Sven de Marothy + + * gnu/java/awt/peer/gtk/GtkChoicePeer.java + (remove): Force event on removing item 0 when it's selected. + (handleEvent): Always call Choice.selected(). + * java/awt/Choice.java: + (remove): Simplify and correct. + +2006-08-02 Mark Wielaard + + PR 28535 + * configure.ac (gconf-peer): Check for gdk-2.0. + * native/jni/gconf-peer/Makefile.am + (AM_LDFLAGS): Use GDK_LIBS. + (AM_CFLAGS): Use GDK_CFLAGS. + +2006-08-02 Thomas Minor <1nocentrabidlamb@sexMagnet.com> + + * java/net/URL.java (getContent(Class[])): Implement. + +2006-08-02 Roman Kennke + + PR 27624 + * javax/swing/JMenu.java + (JMenu()): Removed setting of delay. + (JMenu(String)): Removed setting of delay. + (JMenu(Action)): Removed setting of delay. + (JMenu(String,boolean)): Removed setting of delay. + (setSelectedHelper): Removed unneeded method. + (setSelected): Simply set the model state. + (setPopupMenuVisible): Recognize the popup location + determined by getPopupMenuOrigin(). + (getPopupMenuOrigin): Recognize the UI properties for + X and Y offset. + (menuSelectionChanged): Call setSelected() directly. + * javax/swing/JPopupMenu.java + (menuSelectionChanged): If invoker is a JMenu, then delegate + to that to get the position right. + * javax/swing/Popup.java + (LightweightPopup.show): Insert the popup as first component + in the layer, so that it overlaps it's caller. + * javax/swing/plaf/basic/BasicMenuItemUI.java + (getPath): Don't include the popup. + * javax/swing/plaf/basic/BasicMenuUI.java + (SelectMenuAction): New class. This invokes the popup when + a menu is selected. + (installDefaults): Install delay of 200 ms. + (setupPostTimer): Implemented. + (MouseInputHandler.mouseClicked): Do nothing here. + (MouseInputHandler.mouseEntered): Use MenuSelectionManager + magic to handle the selection. Open the menu via a timer. + (MouseInputHandler.mousePressed): Use MenuSelectionManager + magic to handle the selection. Open the menu via a timer. + (MenuDragMouseHandler.menuMouseDragged): Probably use + timer. + (menuDragMouseEntered): Do nothing here. + +2006-08-02 Andrew John Hughes + + * javax/management/openmbean/InvalidOpenTypeException.java, + * javax/management/openmbean/KeyAlreadyExistsException.java: + New files. + +2006-08-02 Roman Kennke + + PR 27604 + * javax/swing/plaf/basic/BasicChooserUI.java + (BasicFileView.getName): Fetch the real name from the + file chooser's FileSystemView. + * javax/swing/plaf/metal/MetalChooserUI.java + (DirectoryComboBoxRenderer.getListCellRendererComponent): + Set the text fetched from the JFileChooser.getName(). + * javax/swing/FileSystemView.java + (createFileObject): When file is a filesystem root, + create a filesystem root object first. + (getSystemDisplayName): Return the filename. Added specnote + about ShellFolder class that is mentioned in the spec. + * javax/swing/UnixFileSystemView.java + (getSystemDisplayName): Implemented to return the real name + of a file, special handling files like '.' or '..'. + +2006-08-03 Mark Wielaard + + * examples/gnu/classpath/examples/icons/badge.png: Add file. + +2006-08-03 Roman Kennke + + PR 28562 + * javax/swing/plaf/basic/BasicOptionPaneUI.java + (PropertyChangeHandler.propertyChange): Cleanly reinstall + components when visual property chanegs. + +2006-08-03 Roman Kennke + + PR 28562 + * javax/swing/plaf/basic/BasicOptionPaneUI.java + (PropertyChangeHandler.propertyChange): Uninstall and reinstall + component when visual properties change. + +2006-08-03 Roman Kennke + + PR 28534 + * javax/swing/JTree.java + (JTree(TreeModel)): Set cell renderer to null. + * javax/swing/plaf/basic/BasicTreeUI.java + (setCellRenderer): Finish editing before setting the + cell renderer. Refresh the layout. Don't set the + currentCellRenderer field here (that's done in updateRenderer). + (updateRenderer): Handle createdRenderer field here too. + Set renderer to a default handler when the current renderer + in the JTree is null. + +2006-08-02 Raif S. Naffah + + PR Classpath/23899 + * java/security/SecureRandom.java (next): Call nextBytes as per specs. + +2006-08-02 Raif S. Naffah + + PR Classpath/28556 + * gnu/java/security/key/rsa/RSAKeyPairPKCS8Codec.java (encodePrivateKey): + Updated documentation to clarify that RFC-2459 states that the parameters + field of the AlgorithmIdentifier element MUST be NULL if present. + Amended the code to reflect the specs. + (decodePrivateKey): Handle case of NULL AlgorithmIdentifier.parameters. + +2006-08-01 Andrew John Hughes + + * javax/management/openmbean/OpenMBeanParameterInfoSupport.java: + Call parameter 'defaultValue' not 'defValue'. + +2006-08-01 Andrew John Hughes + + * javax/management/openmbean/OpenMBeanParameterInfoSupport.java: + New file. + +2006-08-01 Roman Kennke + + PR 28562 + * javax/swing/plaf/basic/BasicOptionPaneUI.java + (PropertyChangeHandler.propertyChange): Cleanly reinstall + components when visual property chanegs. + +2006-08-01 Andrew John Hughes + + * javax/management/openmbean/OpenMBeanAttributeInfo.java: + (toString()): Corrected documentation. + * javax/management/openmbean/OpenMBeanConstructorInfo.java, + * javax/management/openmbean/OpenMBeanInfo.java, + * javax/management/openmbean/OpenMBeanOperationInfo.java: + New files. + * javax/management/openmbean/OpenMBeanParameterInfo.java: + (toString()): Corrected documentation. + +2006-08-01 Tania Bento + + * java/awt/Choice.java + (remove(int)): Added documentation. + +2006-08-01 Tania Bento + + * java/awt/Choice.java + (remove(int)): An IllegalArgumentException should not be thrown + if int is invalid. Update selectedIndex and peer selection. + +2006-08-01 Tania Bento + + * java/awt/CardLayout.java + (toString): Changed format of string outputted. + (goToComponent): Changed the order of the if-clause. + +2006-07-31 Tom Tromey + + * INSTALL: Updated for ASM. + +2006-07-31 Tom Tromey + + PR libgcj/23682: + * java/nio/channels/SelectionKey.java (attach): Now synchronized. + (attachment): Likewise. + * java/nio/channels/spi/AbstractSelectionKey.java (cancel): Now + synchronized. + (isValid): Likewise. + * gnu/java/nio/SelectionKeyImpl.java (impl): Now final + (ch): Likewise. + (interestOps): Synchronize. + (readyOps): Likewise. + * gnu/java/nio/SelectorImpl.java (register): Synchronize around + interestOps call. + +2006-07-31 Roman Kennke + + * NEWS: Added note about the X peers. + * INSTALL: Added install notes about the X peers. + +2006-07-31 Carsten Neumann + + * StrictMath.java (getLowDWord): Return long instead of int. + (getHighDWord): Likewise. + (buildDouble): Take two long arguments. + (cbrt): Adapted to int -> long change. + (expm1): Likewise. + (cosh): Likewise. + +2006-07-31 Thomas Fitzsimmons + + * native/jni/qt-peer/Makefile.am (libqtpeer_la_LDFLAGS): Add + -avoid-version. + +2006-07-31 Raif S. Naffah + + * java/security/Provider.java: Updated copyright year. + Updated documentation. + Formatting. + (put): Updated documentation. + Added security manager check. + Canonicalize the key before adding its mapping. + (get): Override superclass implementation to use canonicalized keys. + (remove): Updated documentation. + Added security manager check. + Canonicalize the key before removing its mapping. + (clear): Updated documentation. + Added security manager check. + (toCanonicalKey): New method. + +2006-07-30 Matt Wringe + + * gnu/java/security/Engine.java + (getInstance): Ignore self referencing aliases. + +2006-07-30 Mark Wielaard + + * javax/swing/JComponent.java (getListeners): Revert + un-genericization. + +2006-07-30 Mark Wielaard + + * resource/java/security/classpath.security: Add /dev/urandom as + default securerandom.source. + +2006-07-30 Mark Wielaard + + * java/util/GregorianCalendar.java (maximums): Months can have up to + 6 weeks. + (nonLeniencyCheck): weeks is either 5 or 6. + +2006-07-30 Andrew John Hughes + + * javax/management/openmbean/OpenMBeanAttributeInfo.java, + * javax/management/openmbean/OpenMBeanParameterInfo.java: + New files. + +2006-07-30 Matt Wringe + + * gnu/java/security/Engine.java + (getInstance): Ignore self referencing aliases. + +2006-07-30 Sven de Marothy + + * java/awt/Choice.java: + (accessibleAction): Call select() directly. + (add, insert, remove): Reimplement. + (dispatchEventImpl): Always call super. + (processItemEvent): Does not set the index. + * include/gnu_java_awt_peer_gtk_GtkChoicePeer.h + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.c + (append): removed. + (nativeAdd): Name changed to add. + (selection_changed_cb): Simplify callback. + * gnu/java/awt/peer/gtk/GtkChoicePeer.java + (selected): New field. + (add): Replaced with native impl. + (handleEvent): New method. + +2006-07-30 Sven de Marothy + + * java/awt/Choice.java: + Reformat, fix copyright year. + +2006-07-29 Mark Wielaard + + * javax/swing/JComponent.java (paintingDoubleBuffered): Renamed + static field isPaintingDoubleBuffered to not have the same name + as a method. + +2006-07-29 Andrew John Hughes + + * examples/gnu/classpath/examples/management/TestBeans.java: + New file. + * javax/management/MBeanAttributeInfo.java: + (toString()): Implemented. + * javax/management/MBeanConstructorInfo.java: + (toString()): Implemented. + * javax/management/MBeanFeatureInfo.java: + (toString()): Implemented. + * javax/management/MBeanInfo.java: + (toString()): Implemented. + * javax/management/MBeanNotificationInfo.java: + (toString()): Implemented. + * javax/management/MBeanOperationInfo.java: + (toString()): Implemented. + * javax/management/MBeanParameterInfo.java: + (toString()): Implemented. + * javax/management/StandardMBean.java: + (getMBeanInfo()): Fix attribute naming. + +2006-07-29 Andrew John Hughes + + * gnu/java/lang/management/BeanImpl.java: + Extended javax.management.StandardMBean. + * gnu/java/lang/management/ClassLoadingMXBeanImpl.java, + * gnu/java/lang/management/CompilationMXBeanImpl.java, + * gnu/java/lang/management/GarbageCollectorMXBeanImpl.java, + * gnu/java/lang/management/MemoryMXBeanImpl.java, + * gnu/java/lang/management/MemoryManagerMXBeanImpl.java, + * gnu/java/lang/management/MemoryPoolMXBeanImpl.java, + * gnu/java/lang/management/OperatingSystemMXBeanImpl.java, + * gnu/java/lang/management/RuntimeMXBeanImpl.java, + * gnu/java/lang/management/ThreadMXBeanImpl.java: + Call the superclass with the appropriate class. + * java/lang/management/ManagementFactory.java: + (getOperatingSystemMXBean()): Catch exception from + StandardMBean. + (getRuntimeMXBean()): Likewise. + (getClassLoadingMXBean()): Likewise. + (getThreadMXBean()): Likewise. + (getMemoryMXBean()): Likewise. + (getCompilationMXBean()): Likewise. + (getMemoryPoolMXBeans()): Likewise. + (getMemoryManagerMXBeans()): Likewise. + (getGarbageCollectorMXBeans()): Likewise. + * javax/management/MBeanFeatureInfo.java: + hashCode()): Fixed to check for null values. + +2006-07-29 Matt Wringe + + * gnu/java/security/Engine.java + (getInstance): Add case insentivity to algorithm names + * java/security/Provider.java + (put): Stop using canonical key naming + (remove): Likewise + (toCanonicalKey): Method removed + (get): Method removed, no longer needs to overwrite + parent implementation + +2006-07-29 Mark Wielaard + + * gnu/java/awt/peer/gtk/GdkTextLayout.java: Removed. + * gnu/java/awt/peer/gtk/GtkCheckboxGroupPeer.java: Removed. + * include/gnu_java_awt_peer_gtk_GdkTextLayout.h: Removed. + * include/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.h: Removed. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkTextLayout.c: Removed. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.c: + Removed. + +2006-07-29 Sven de Marothy + + * java/math/BigDecimal.java + Adjust copyright date. + (divide(BigDecimal): Implement. + (precision): Reimplement. + (numDigitsInBigInteger, numDigitsInLong): Removed. + (toString): Get exponent from string length, + fix negative values with exponential form. + (toEngineeringString): Same as for toString. + (setScale): Throw ArithmeticException if scale < 0. + +2006-07-27 Francis Kung + + * gnu/java/awt/java2d/CubicSegment.java: Added import. + (cp1): Renamed from first(). + (c2): Renamed from last(). + (first): Renamed to cp1(). + (getDisplacedSegments): Implemented. + (last): Renamed to cp2(). + * gnu/java/awt/java2d/LineSegment.java + (cp1): Renamed from first(). + (c2): Renamed from last(). + (first): Renamed to cp1(). + (last): Renamed to cp2(). + * gnu/java/awt/java2d/QuadSegment.java + (cp1): Renamed from first(). + (c2): Renamed from last(). + (first): Renamed to cp1(). + (last): Renamed to cp2(). + * gnu/java/awt/java2d/Segment.java: Added comments. + (first): New field. + (Segment): Keep track of first element in list. + (add): Update first & last element variables. + (cp1): Renamed from first(). + (c2): Renamed from last(). + (first()): Renamed to cp1() to reduce ambiguity. + (last()): Renamed to cp2() to reduce ambiguity. + (reverseAll): Update first element variable.. + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (draw): Remove flattening path iterator. + * java/awt/BasicStroke.java: Clarified comments. + (addSegments): Refactored some code into joinSegments and + joinInnerSegments. + (capEnd): Rename of Segment.first() and Segment.end(). + (joinInnerSegments): New method. + (joinOuterSegments): New method. + (joinSegments): Refactored some code into joinOuterSegments. + (solidStroke): Connect segments together properly. + +2006-07-28 Thomas Fitzsimmons + + * native/jawt/Makefile.am (libjawt_la_LDFLAGS): Add + -avoid-version. + * native/jni/gtk-peer/Makefile.am (libgtkpeer_la_LDFLAGS): + Likewise. + * native/jni/midi-alsa/Makefile.am (libgjsmalsa_la_LDFLAGS): + Likewise. + * native/jni/midi-dssi/Makefile.am (libgjsmdssi_la_LDFLAGS): + Likewise. + +2006-07-28 Tom Tromey + + * configure.ac: Enable -Werror by default on Linux-with-gcc. + +2006-07-28 Lillian Angel + + * native/jni/gtk-peer/GtkDragSourceContextPeer.c: + Removed function declarations. + (connect_signals_for_widget): Removed implementation because + stub functions have been removed. + (drag_begin_cb): Removed function. + (drag_motion_cb): Likewise. + (drag_data_get_cb): Likewise. + (drag_data_delete_cb): Likewise. + (drag_drop_cb): Likewise. + (drag_end_cb): Likewise. + (drag_data_received_cb): Likewise. + +2006-07-28 Mark Wielaard + + * configure.ac: Set version to 0.93-pre. + +2006-07-29 Raif S. Naffah + + * tools/Makefile.am: Added source 1.4 compliance option when ECJ is used. + +2006-07-29 Raif S. Naffah + + * tools/gnu/classpath/tools/keytool/Command.java: Removed unused import. + (getCallbackHandler): Fully qualify linked class in javadoc. + * tools/gnu/classpath/tools/keytool/GenKeyCmd.java (cmdOptionsParser): Removed. + * tools/gnu/classpath/tools/keytool/ImportCmd.java (imported): Likewise. + * tools/gnu/classpath/tools/keytool/Main.java (printHelp): Likewise. + +2006-07-27 Tom Tromey + + PR classpath/28486: + * java/net/URLStreamHandler.java (equals): Properly handle default + port. Rewrote javadoc. Don't compare 'authority' parts of URLs. + +2006-07-27 Roman Kennke + + * javax/swing/text/AbstractDocument.java + (documentCV): Made field private. + (bypass): Made field private. + (bidiRoot): New field. + (AbstractDocument): Initialize bidiRoot. + (getBidiRootElement): Return bidiRoot. + (getRootElements): Adjusted to also return the bidiRoot element. + (BranchElement.startOffset): Removed unneeded field. + (BranchElement.endOffset): Removed unneeded field. + (BranchElement.BranchElement): Removed unneeded fields. + (BranchElement.getEndOffset): Don't explicitly throw NPE here. This is + done automatically when there's no element left in the array. + (BranchElement.getStartOffset): Likewise. + (BranchElement.replace): Reordered calculations to avoid double + calculations. + (removeImpl): Silently ignore requests with length <= 0. + * javax/swing/text/GapContent.java + (createPosition): Removed explicit check for correct offset. + This class can deal with offsets outside the document. + (shiftEnd): Update all positions, even those outside the + document. + (adjustPositionsInRange): Fixed to also adjust positions outside + the document boundary. + +2006-07-18 Kyle Galloway + + * gnu/classpath/jdwp/event/ExceptionEvent.java: Added _klass field to hold + defining class. + (getParameter): Returns _klass field instead of determining + class from _instance. + (setCatchLoc): New method. + (writeData): Now assumes Location deals with empty locations instead of + using null. + * gnu/classpath/jdwp/util/Location.java (write): Check for empty + locations and write out accordingly. + (getEmptyLocation): New method. + +2006-07-27 Roman Kennke + + * javax/swing/text/SimpleAttributeSet.java + (EMPTY): Use EmptyAttributeSet for this field rather than + SimpleAttributeSet. + * javax/swing/text/EmptyAttributeSet.java: New class. Implements + an empty and immutable AttributeSet. + +2006-07-27 Roman Kennke + + * java/awt/Component.java + (reshape): Invalidate the component itself only when the + size has changed. Invalidate the parent always. Fixed + repainting. Pulled out the notification into + notifyReshape(). + (notifyReshape): New helper method. Notify interested listeners + about a reshape. + (update): Simply call paint() without clearing the background. + This is done in Container.update() if appropriate. + (repaint): Delagate the repaint to the nearest heavyweight + parent (for lightweights) and send an UPDATE event, rather than + calling ComponentPeer.repaint(). + * java/awt/Container.java + (backCleared): Removed field. + (paint): Removed handling of backCleared flag. + (update): Only paint if the container is actually + showing. Removed handling of backCleared flag. + +2006-07-27 Robert Schuster + + * javax/swing/plaf/basic/BasicTabbedPaneUI.java: Fixed copyright and + authorship. + (NavigateAction): New inner class. + (NavigatePageDownAction): New inner class. + (NavigatePageUpAction): New inner class. + (RequestFocusAction): New inner class. + (RequestFocusForVisibleComponentAction): New inner class. + (FocusHandler.focusGained): Implemented. + (FocusHandler.focusLost): Implemented. + (MouseHandler.mouseReleased): Implemented. + (MouseHandler.mousePressed): Rewritten. + (PropertyChangeHandler.propertyChange): Reset currentScrollOffset and + currentScrollLocation to 0. + (TabbedPaneLayout.calculateSize): Stored tab count in local variable, + removed local variables, fixed indentation to stay under 80 column + limit. + (TabbedPaneLayout.calculateTabRects): Decrease tab area position by + one, set selectedIndex to 0 if its negative, corrected start values + for normalization, suppressed padding when only one tab run, + (TabbedPaneLayout.minimumLayoutSize): Toggled argument value. + (TabbedPaneLayout.normalizeTabRuns): Fixed indentation to stay under + 80 column limit, corrected the starting value for the bounds fixing + phase. + (TabbedPaneLayout.preferredTabAreaWidth): Fixed indentation. + (TabbedPaneLayout.rotateTabInRuns): Corrected comparison value for + selectedRun, set start index for loop to 0. + (TabbedPaneScrollLayout.preferredLayoutSize): Toggled argument value. + (TabbedPaneScrollLayout.calculateTabRects): Rewritten. + (TabbedPaneScrollLayout.layoutContainer): Added scrolling button + alignment and visibility handling. + (TabSelectionHandler.stateChanged): Do revalidation only in wrap tab + layout mode. + (ScrollingPanel.ScrollingPanelUI.paint): Rewritten. + (currentScrollOffset): New field. + (tabRuns): Rewritten documentation. + (selectedColor): New field. + (tempTextRect): New field. + (tempIconRect): New field. + (scrollTab): New method. + (updateButtons): New method. + (updateViewPosition): New method. + (createLayoutManager): Reordered method calls, predefine new fields, + register proper listeners. + (uninstallComponents): Implemented. + (installDefaults): Corrected property names, fixed indentation,. + (uninstallDefaults): Set new fields to null. + (uninstallListeners): Remove listeners from components neccessary for + scrolling tab layout. + (installKeyboardActions): Implemented. + (uninstallKeyboardActions): Implemented. + (paint): Paint tab area background. + (paintTabArea): Fixed indentation, removed usage of local Rectangle + objects. + (getTabLabelShiftX): Rewritten. + (getTabLabelShiftY): Rewritten. + (paintFocusIndicator): Reindented. + (paintTabBorder): Rewritten. + (paintTabBackground): Corrected color usage, rewritten background + rectangle painting. + (paintContentBorderTopEdge): Rewritten. + (paintContentBorderBottomEdge): Rewritten. + (paintContentBorderLeftEdge): Rewritten. + (paintContentBorderRightEdge): Rewritten. + (tabForCoordinate): Return selected index when no tab could be + found, removed FIXME note. + (getRunForTab): Changed return value for first if-statement. + (navigateSelectedTab): Fixed last argument for both + getTabRunOffset() calls. + (selectedNextTabInRun): Added scrolling code. + (selectedPreviousTabInRun): Added scrolling code. + (selectedNextTab): Added scrolling code. + (selectedPreviousTab): Added scrolling code. + (selectAdjacentRunTab): Added scrolling code. + (getTextViewForTab): Added FIXME note. + (calculateTabHeight): Changed FIXME note. + (getTabRunOffset): Fixed indentation. + (getNextTabIndexInRun): Corrected return value. + (rotateInsets): Make TOP case the default in switch-statement. + (getActionMap): New method. + (createActionMap): New method. + * javax/swing/plaf/metal/MetalTabbedPaneUI.java: + (createLayoutManager): Rewritten. + (paintLeftTabBorder): Do not paint left line when previous tab + is selected but current tab is the first in its run, do not paint + left line when current tab is selected and is first in its run. + (paintRightTabBorder): Added missing setColor() call, fixed color + usage, do not paint right line if previous tab is selected but + current tab is the first in its run. + (paintBottomTabBorder): Do not paint left line if tab is selected + and is the first tab in the last run. + (paintFocusIndicator): New method. + (getLabelShiftX): New method. + (getLabelShiftY): New method. + +2006-07-27 Andreas Tobler + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c + (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoSetMatrix): Remove + g_assert from unused obj. + (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoDrawGlyphVector): Mark + obj as unused and remove g_assert on it. + +2006-07-26 Roman Kennke + + * javax/swing/RepaintManager.java + (markCompletelyDirty): Add dirty region with Integer.MAX_VALUE + for the component. + (isCompletelyDirty): Consider a component completely dirty + when it has a dirty region with Integer.MAX_VALUE. + +2006-07-26 Roman Kennke + + * java/awt/KeyboardFocusManager.java + (getGlobalFocusOwner): Explicitly check for thread security. + (getGlobalPermanentFocusOwner): Explicitly check for thread security. + (getGlobalFocusedWindow): Explicitly check for thread security. + (getGlobalActiveWindow): Explicitly check for thread security. + (getGlobalCurrentFocusCycleRoot): Explicitly check for thread security. + (getGlobalObject): Added new argument for specifying if + a security check should be performed or not. + (setGlobalObject): Don't check for thread security when + calling getGlobalObject. + +2006-07-26 Andrew John Hughes + + * javax/management/MBeanConstructorInfo.java: + Documentation fix. + * javax/management/MBeanInfo.java: + (MBeanInfo(String,String,MBeanAttributeInfo[], + MBeanConstructorInfo[], MBeanOperationInfo[], + MBeanNotificationInfo[])): Implemented. + (equals(Object)): Likewise. + (getAttributes()): Likewise. + (getConstructors()): Likewise. + (getOperations()): Likewise. + (hashCode()): Likewise. + * javax/management/MBeanOperationInfo.java, + * javax/management/NotCompliantMBeanException.java, + * javax/management/StandardMBean.java: + New files. + +2006-07-26 Sven de Marothy + + * java/awt/geom/GeneralPath.java: Fix severe typo. + +2006-07-26 Sven de Marothy + + * include/java_lang_VMSystem.h + * vm/reference/java/lang/VMSystem.java + * native/jni/java-lang/java_lang_VMSystem.c + (nanoTime, currentTimeMillis): Switch the former to native code and + the latter to java. + +2006-07-26 Andreas Tobler + + * gnu/java/awt/peer/qt/QtCheckboxPeer.java: Removed unneeded imports. + * gnu/java/awt/peer/qt/QtComponentGraphics.java: Likewise. + * gnu/java/awt/peer/qt/QtComponentPeer.java: Likewise. + * gnu/java/awt/peer/qt/QtContainerPeer.java: Likewise. + * gnu/java/awt/peer/qt/QtDialogPeer.java: Likewise. + * gnu/java/awt/peer/qt/QtEmbeddedWindowPeer.java: Likewise. + * gnu/java/awt/peer/qt/QtFontMetrics.java: Likewise. + * gnu/java/awt/peer/qt/QtFontPeer.java: Likewise. + * gnu/java/awt/peer/qt/QtGraphics.java: Likewise. + * gnu/java/awt/peer/qt/QtGraphicsEnvironment.java: Likewise. + * gnu/java/awt/peer/qt/QtImage.java: Likewise. + * gnu/java/awt/peer/qt/QtImageConsumer.java: Likewise. + * gnu/java/awt/peer/qt/QtImageDirectGraphics.java: Likewise. + * gnu/java/awt/peer/qt/QtImageGraphics.java: Likewise. + * gnu/java/awt/peer/qt/QtMenuBarPeer.java: Likewise. + * gnu/java/awt/peer/qt/QtMenuItemPeer.java: Likewise. + * gnu/java/awt/peer/qt/QtPopupMenuPeer.java: Likewise. + * gnu/java/awt/peer/qt/QtScreenDeviceConfiguration.java: Likewise. + * gnu/java/awt/peer/qt/QtScrollPanePeer.java: Likewise. + * gnu/java/awt/peer/qt/QtToolkit.java: Likewise. + * gnu/java/awt/peer/qt/QtVolatileImage.java: Likewise. + +2006-07-26 Roman Kennke + + * java/awt/KeyboardFocusManager.java + (getFocusOwner): Don't check permanent owner. + (getGlobalFocusOwner): Don't check permanent owner. + +2006-07-26 Carsten Neumann + + * StrictMath.java (cosh): New method. + (expm1): New method. + (EXPM1_Q1): New field. + (EXPM1_Q2): Likewise. + (EXPM1_Q3): Likewise. + (EXPM1_Q4): Likewise. + (EXPM1_Q6): Likewise. + +2006-07-26 Roman Kennke + + * javax/swing/plaf/basic/BasicButtonListener.java + (mousePressed): Request focus if appropriate. + * javax/swing/text/DefaultCaret.java + (mousePressed): Also handle the focus of the text component + as specified. Don't consume events. + +2006-07-26 Roman Kennke + + * gnu/java/awt/peer/gtk/GtkComponentPeer.java + (focusRequest): Removed field. + (postFocusEvent(int,boolean,Component)): Removed. + (postFocusEvent(int,boolean)): Reverted to post event using + the heavyweight component. + (requestFocus): Post focus event using the heavyweight + component. + * gnu/java/awt/peer/gtk/GtkWindowPeer.java + (requestFocus): Post focus event using the heavyweight + component. + * java/awt/AWTEvent.java + (isFocusManagerEvent): New field, indicating if this is + an event that is redispatched by the KeyboardFocusManager. + * java/awt/Component.java + (requestFocusImpl): Register component for + heavyweight->lightweight mapping. + (dispatchEventImpl): Retarget focus events before dispatching + to the KeyboardFocusManager. Use new AWTEvent flag instead + of locking hack. Dispatch all events through the + KeyboardFocusManager. Don't request focus on lightweight + components. + * java/awt/DefaultKeyboardFocusManager.java + (dispatchEvent): Pulled out handling of FOCUS_GAINED and + FOCUS_LOST. + (handleFocusGained): Fixed handling of temporary vs permanent + focus changes. Added some checks. + (handleFocusLost): Fixed handling of temporary vs permanent + focus changes. Added some checks. + * java/awt/EventDispatchThread.java + (run): Don't dispatch to KeyboardFocusManager here. This + is done in Component.dispatchEventImpl(). + * java/awt/KeyboardFocusManager.java + (redispatchEvent): Use new AWTEvent flag instead of locking hack. + (focusRequests): New field. + (retargetFocusEvent): New method. Retargets focus events + that come from heavyweights to the correct lightweight component. + (addLightweightFocusRequest): New method. Stores a mapping + for later retargetting of heavyweight focus events. + * java/awt/Window.java + (addFocusListener): Removed bogus method. If at all, this + should be performed in the KeyboardFocusManager. + (Window): Don't install a focus listener on the Window. + +2006-07-26 Robert Schuster + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java: + (drawLine): Apply shift to line coordinates. + +2006-07-26 Robert Schuster + + * java/awt/image/ColorConvertOp.java: Fixed copyright header. + (copyimage): Do not call setRenderingHints() when the respective map + does not exist. + (filter): Removed code to clone the ColorModel instance. + * java/awt/image/ColorModel.java: + (cloneColorModel): Removed. + +2006-07-26 Robert Schuster + + * javax/swing/JTabbedPane.java: + (setSelectedIndex): Removed updating of component visibility status, + added note. + (remove(Component)): Use indexOfComponent() to find whether we have + to use super.remove(int) or removeTabAt(). + +2006-07-26 Roman Kennke + + * javax/swing/JOptionPane.java + (createDialog): Add property change handler for closing + the dialog when the value property changes. + (ValuePropertyHandler): New inner helper class. + * javax/swing/plaf/basic/BasicOptionPaneUI.java + (OptionPaneCloseAction): New class. + (messageForeground): Removed field. + (messageBorder): Removed field. + (buttonBorder): Removed field. + (addIcon): Configure the new label. + (addMessageComponents): Configure newly created labels. + (burstStringInto): Likewise. + (createButtonArea): Install border here. + (createMessageArea): Install border and foreground here. + (createSeparator): Added comment and removed + NotImplementedException. + (installComponents): Don't install the UI defaults for the + message and button area here. This is moved to the + corresponding create* methods. Adjusted comment about + separator. + (installDefaults): Removed initialization of removed fields. + (installKeyboardActions): Implemented. + (getActionMap): New helper method. + (createDefaultActions): New helper method. + (uninstallDefaults): Removed de-initialization of removed fields. + (uninstallKeyboardActions): Implemented. + (configureLabel): New helper method. + * javax/swing/plaf/basic/BasicTableUI.java + (getActionMap): Fixed the UI property names. + * javax/swing/plaf/basic/BasicToolBarUI.java + (getActionMap): Fixed the UI property names. + +2006-07-26 David Gilbert + + * java/awt/image/BandedSampleModel.java + (getDataElements): Check for negative x or y, + (getPixels): Likewise, + (getSamples): Likewise, + (setSamples): Likewise. + +2006-07-26 Roman Kennke + + * javax/swing/plaf/basic/BasicToolBarUI.java + (ToolBarAction): New inner class for handling keyboard + actions. + (installKeyboardActions): Implemented. + (getActionMap): New helper method. + (createDefaultActions): New helper method. + (installListeners): Install focus listener on toolbar's + children, rather than the toolbar itself. + (navigateFocusedComp): Implemented. + (uninstallKeyboardActions): Implemented. + (uninstallListeners): Uninstall focus listener from + toolbar's children, rather than the toolbar itself. + (ToolBarContListener.componentAdded): Install focus + listener on added child. + (ToolBarContListener.componentRemoved): Uninstall focus + listener from removed child. + (ToolBarFocusListener.ToolBarFocusListener): Nothing to do here. + (ToolBarFocusListener.focusGained): Implemented. + (ToolBarFocusListener.focusLost): Implemented. + +2006-07-26 Roman Kennke + + * java/awt/DefaultKeyboardFocusManager.java + (dispatchEvent): Notify old focus owner when it has lost + focus. + +2006-07-26 Roman Kennke + + * javax/swing/plaf/basic/BasicTableUI.java + (FocusHandler.focusGained): Implemented to refresh the + lead cell. + (FocusHandler.focusLost): Implemented to refresh the + lead cell. + (FocusHandler.repaintLeadCell): New helper method. + (MouseInputHandler.mouseEntered): Do nothing here. + (MouseInputHandler.mouseExited): Do nothing here. + (MouseInputHandler.mouseMoved): Do nothing here. + (installKeyboardActions): Rewritten to use a shared InputMap + and ActionMap and correctly install the maps via SwingUtilities + methods. + (getActionMap): New helper method. + (createDefaultActions): New helper method. + (ActionListenerProxy): Removed unneeded class. + (TableAction): Made class static. + (TableAction.actionPerformed): Determine table by fetching + the event source. Pass the table to helper methods. + Use __command__ hack to determine the action command. + (TableAction.getFirstVisibleColumnIndex): Get table as argument. + (TableAction.getLastVisibleColumnIndex): Get table as argument. + (TableAction.getFirstVisibleRowIndex): Get table as argument. + (TableAction.getLastVisibleRowIndex): Get table as argument. + (TableAction.advanceMultipleSelection): Get table as argument. + (uninstallDefaults): Do nothing here. + (uninstallKeyboardActions): Uninstall the keyboard actions. + +2006-07-26 Roman Kennke + + * javax/swing/JComponent.java + (processKeyBinding): Store the action command as property + in the Action instance that we call. This allows for + improvement on the side of the Action. + +2006-07-26 Roman Kennke + + * javax/swing/plaf/metal/MetalUtils.java + (fillMetalPattern): Use fillRect() instead of drawLine() to + fill single pixels. + +2006-07-26 Roman Kennke + + * javax/swing/text/GapContent.java + (getChars): Check for negative length and throw + BadLocationException. + +2006-07-26 Roman Kennke + + * javax/swing/plaf/basic/BasicMenuBarUI.java + (FocusAction): Made class static. + +2006-07-26 Roman Kennke + + * javax/swing/plaf/basic/BasicLookAndFeel.java + (initComponentDefaults): Add keyboard bindings for + PopupMenu. + +2006-07-26 Roman Kennke + + * javax/swing/UIManager.java + (getLookAndFeelDefaults): Return the look and feel defaults. + (setLookAndFeel): Improved exception messsage. + +2006-07-26 David Gilbert + + * javax/swing/text/StringContent.java + (StringContent): Changed initialLength to 10. + +2006-07-26 David Gilbert + + * java/util/Vector.java: Fixed API doc typo. + +2006-07-26 David Gilbert + + * java/awt/image/BandedSampleModel.java + (createCompatibleSampleModel): Fixed typo in loop increment, set + correct scanlineStride, and updated API docs. + +2006-07-25 Roman Kennke + + * javax/swing/plaf/basic/BasicPopupMenuUI.java + (NavigateAction): New inner class. This is responsible for + keyboard navigation through menus. + (KeyboardHelper): New inner class. This manages the + keyboard mappings and focus when a popup opens or closes. + (keyboardHelper): New static field. + (numPopups): New static field. + (installUI): Create KeyboardHelper for first popup. + Call installKeyboardActions(). + (installKeyboardActions): Removed NotImplementedException. + This method is a no-op. + (installKeyboardActionsImpl): New method. Installs keyboard + mapping when a popup is opened. + (getActionMap): New helper method. + (createDefaultActions): New helper method. + (uninstallUI): Uninstall KeyboardHelper when last Popup is + uninstalled. Call uninstallKeyboardActions(). + (uninstallKeyboardActions): Removed NotImplementedException. + This method is a no-op. + (uninstallKeyboardActionsImpl): New method. Uninstalls keyboard + mapping when a popup is closed. + +2006-07-25 Roman Kennke + + * java/awt/Component.java + (requestFocus()): Reimplemented to use requestFocusImpl(). + (requestFocus(boolean)): Reimplemented to use requestFocusImpl(). + (requestFocusInWindow()): Reimplemented to use requestFocusImpl(). + (requestFocusInWindow(boolean)): Reimplemented to use + requestFocusImpl(). + (requestFocusImpl): Reimplemented focus request to use + new peer method. Also added some obvious additional checks + for rejecting focus requests early. + * java/awt/ComponentPeer.java + (requestFocus(Component,boolean,boolean,long)): Documented + this method. + * gnu/java/awt/peer/gtk/GtkComponentPeer.java + (requestFocus): New field. + (gtkWidgetHasFocus): New native method. + (gtkWidgetCanFocus): New native method. + (requestFocus): Replaced with assert false to prevent + usage of obsolete method. + (postFocusEvent(int,boolean,Component)): New overloaded method + for posting the focus event to a specific target. + (postFocusEvent(int,boolean)): Post event to requestFocus + component. + (requestFocus(Component,boolean,boolean,long)): Implemented. + (getWindowFor): New helper method. + (isLightweightDescendant): New helper method. + * gnu/java/awt/peer/gtk/GtkWindowPeer.java + (gtkWindowHasFocus): New native method. + (requestFocus(Component,boolean,boolean,long)): New method. + Overrides GtkComponentPeer method to specially handly the + case when a Window receives a focus request for a lightweight + child. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c + (gtkWidgetHasFocus): New native method. + (gtkWidgetCanFocus): New native method. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c + (gtkWindowHasFocus): New native method. + * include/gnu_java_awt_peer_gtk_GtkComponentPeer.h, + * include/gnu_java_awt_peer_gtk_GtkWindowPeer.h: + Regenerated. + +2006-07-25 Francis Kung + + * java/awt/DefaultKeyboardFocusManager.java + (dispatchEvent): Add check for valid component. + +2006-07-25 Andrew John Hughes + + * javax/management/MBeanConstructorInfo.java: + New file. + * javax/management/MBeanNotificationInfo.java: + Documentation fix. + * javax/management/MBeanParameterInfo.java: + New file. + +2006-07-25 Robert Schuster + + * java/awt/peer/gtk/CairoGraphics.java: + (drawLine): Added special case for 1 pixel lines. + +2006-07-25 Robert Schuster + + Fixes PR27844. + * java/awt/peer/gtk/CairoGraphics.java: + (drawLine): Removed calls to shifted(). + +2006-07-25 Robert Schuster + + * javax/swing/JTabbedPane.java: + (remove(Component)): Rewritten. + (setSelectedIndex): Implemented updating of component visibility state. + +2006-07-25 Sven de Marothy + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkVolatileImage.c + (init): Default to the actual depth in the worst case. + + * java/awt/Font.java + (createFont(int, File)): New method. + +2006-07-25 Ito Kazumitsu + + Fixes bug #28413 + * gnu/java/util/regex/RETokenEnd.java(check_java_line_terminators): + New field. + (RETokenEnd): New constructer to set check_java_line_terminators. + (matchThis): Checck line terminators if check_java_line_terminators. + * gnu/java/util/regex/RETokenStart.java: Likewise. + * gnu/regexp/RE.java(initialize): Use the new constructors for + RETokenEnd and RETokenStart if REG_MULTILINE is set. + * java/util/regex/Pattern.java(Patteren): Changed so that + gnu/regexp/RE.java may use the new the new constructors. + +2006-07-25 Roman Kennke + + * java/awt/Container.java + (focusTraversalPolicyProvider): New field. + (isFocusTraversalPolicyProvider): New method. + (setFocusTraversalPolicyProvider): New method. + * java/awt/ContainerOrderFocusTraversalPolicy.java + (getFirstComponent): Use accept() instead of lengthy checks. + Don't fetch getComponents() to avoid copying of array. + Traverse down the hierarchy to find the first focused component. + * java/awt/DefaultKeyboardFocusManager.java + (dispatchEvent): Let the initial component request focus. + +2006-07-25 David Gilbert + + * javax/swing/text/Segment.java + (last): Update current index before returning DONE for zero count. + +2006-07-24 Mark Wielaard + + * javax/swing/tree/TreePath.java (equals): Swap path equals call. + +2006-07-25 Roman Kennke + + * javax/swing/plaf/basic/BasicMenuBarUI.java + (FocusAction): New inner class. Used to grab focus. + (installKeyboardActions): Implemented. + (uninstallKeyboardActions): Implemented. + (getActionMap): New helper method. + (createDefaultActions): New helper method. + +2006-07-25 Robert Schuster + + * examples/gnu/classpath/examples/swing/Demo.java: + (mkMenuBar): Install instantiable basic look and feel. + (InstantiableBasicLookAndFeel): New inner class. + +2006-07-25 Roman Kennke + + * javax/swing/plaf/basic/BasicInternalFrameUI.java + (GlassPaneDispatcher.dragTarget): New field. + (GlassPaneDispatcher.isDragging): New field. + (GlassPaneDispatcher.pressedComponent): Removed field. + (GlassPaneDispatcher.tempComponent): Removed field. + (GlassPaneDispatcher.pressCount): Removed field. + (GlassPaneDispatcher.mousePressed): Call + borderListener.mousePressed() to activate the frame. + (acquireComponentForMouseEvent): Removed method. + (handleEvent): Rewritten. + (redispatch): New method. + (InternalFramePropertyChangeListener.propertyChange): + Make glasspane invisible when frame is selected, and visible + if it gets deselected. + +2006-07-25 Roman Kennke + + * java/awt/LightweightDispatcher.java + (handleMouseEvent): Dispatch event to real target if + the dragTarget has become invisible in the meantime. + +2006-07-25 David Gilbert + + * javax/swing/text/TabSet.java + (equals): New method override for 1.5, + (hashCode): Likewise, + (toString): Added spaces to match reference implementation. + +2006-07-24 Andrew John Hughes + + * javax/management/IntrospectionException.java, + * javax/management/MBeanAttributeInfo.java: + New files. + * javax/management/MBeanNotificationInfo.java: + Documentation cleanups. + +2006-07-24 David Gilbert + + * javax/swing/text/TabSet.java + (TabSet): Check for null argument, + (getTab): Throw IllegalArgumentException for index out of bounds, + (getTabIndexAfter): Changed test to '<=', + and updated API docs all over, + * javax/swing/text/TabStop.java: Updated API docs. + +2006-07-24 David Gilbert + + * javax/swing/text/TabStop.java + (toString): Don't use 'left ' prefix, and added space between tab + location and '(w/leader)' suffix. + +2006-07-24 Francis Kung + + * javax/swing/JComboBox.java + (DefaultKeySelectionManager): Implemented. + (createDefaultKeySelectionManager): Implemented. + (getKeySelectionManager): Implemented. + (processKeyEvent): Removed duplicate code. + * javax/swing/JPopupMenu.java + (selectionModel): Changed visibility. + * javax/swing/plaf/basic/BasicComboBoxUI.java + (KeyHandler.keyPressed): Added navigation keys. + (configureEditor): Add key listener. + (installListeners): Install focus listener to combo box. + (isNavigationKey): Added enter, escape, and tab. + (selectPreviousPossibleValue): Added out of bounds check. + (unconfigureEditor): Remove key listener. + * javax/swing/plaf/metal/MetalComboBoxButton.java + (paintComponent): Highlight combo box when in focus. + +2006-07-24 Roman Kennke + + * javax/swing/SwingUtilities.java + (isLeftMouseButton): Fixed condition. + * java/awt/LightweightDispatcher.java + (handleMouseEvent): Dispatch MOUSE_ENTERED even when mouse + is dragged. + +2006-07-24 Roman Kennke + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (setPaint): Fixed scaleX and scaleY. + +2006-07-24 Roman Kennke + + * javax/swing/JTable.java + (handleInsert): Repaint the whole table for variable row + height tables and an optimized region otherwise. + (handleDelete): Likewise. + (handleUpdate): Likewise. + +2006-07-24 Mario Torre + + * gnu/java/awt/peer/gtk/GtkToolkit.java (createDragGestureRecognizer): + now explicity registerListeners on GtkMouseDragGestureRecognizer + instance. + * gnu/java/awt/dnd/GtkMouseDragGestureRecognizer.java + (unregisterListeners): new method, overrided from base class + to rise visibility (from protected to public). + (registerListeners): Likewise. + (GtkMouseDragGestureRecognizer): fixed potential threading issue: + removed call to registerListeners from the constructor. + +2006-07-23 Andrew John Hughes + + * gnu/java/lang/management/MemoryPoolMXBeanImpl.java, + * java/lang/management/MemoryPoolMXBean.java: + (getType()): Changed return type to MemoryType. + * java/lang/management/MemoryType.java: + New file. + +2006-07-23 Mark Wielaard + + * configure.ac: Check for moc and moc-qt4. + +2006-07-23 David Gilbert + + * java/awt/image/Kernel.java: API doc updates. + +2006-07-22 Andreas Tobler + + * gnu/java/awt/peer/gtk/CairoSurface.java: Optimize pixel swap code a + bit more. + +2006-07-22 Mark Wielaard + + * java/lang/Iterable.java: Import all of java.util. + * lib/mkcollections.pl.in (javautilclasses): Add Iterable. + * lib/Makefile.am: Only search for .java files in COLLECTIONS_PREFIX. + +2006-07-22 Andrew John Hughes + + * doc/vmintegration.texinfo: + Document getType(String). + * gnu/java/lang/management/MemoryPoolMXBeanImpl.java, + * java/lang/management/MemoryPoolMXBean.java: + (getType()): Implemented. + * vm/reference/gnu/java/lang/management/VMMemoryPoolMXBeanImpl.java + (getType(String)): Implemented. + +2006-07-22 Andrew John Hughes + + * doc/vmintegration.texinfo: + Move end of itemization block. + +2006-07-22 Robert Schuster + + * javax/swing/plaf/metal/MetalLookAndFeel.java: + (initComponentDefaults): Added new properties, added comments. + +2006-07-22 Andrew John Hughes + + * doc/vmintegration.texinfo: + Mention callback methods. + * gnu/java/lang/management/MemoryMXBeanImpl.java: + (fireNotification(String,String,long,long,long,long,long)): + Made package-private. + (fireThresholdExceededNotification(String,long,long,long, + long,long)): Likewise. + (fireCollectionThresholdExceededNotification(String,long, + long,long,long,long)): Likewise. + * java/lang/management/MemoryMXBean.java: + Document notifications. + +2006-07-22 Andrew John Hughes + + * gnu/java/lang/management/MemoryMXBeanImpl.java: + (fireNotification(String,String,long,long,long,long,long)): + Implemented. + (fireThresholdExceededNotification(String,long,long,long, + long,long)): Likewise. + (fireCollectionThresholdExceededNotification(String,long, + long,long,long,long)): Likewise. + * java/lang/management/MemoryNotificationInfo.java: + Use composite type from MemoryMXBeanImpl. + * javax/management/openmbean/CompositeData.java: + Correct documentation. + * javax/management/openmbean/CompositeDataSupport.java, + * javax/management/openmbean/InvalidKeyException.java: + New files. + +2006-07-22 Raif S. Naffah + + * gnu/java/security/util/IntegerUtil.java: New file. + +2006-07-22 Raif S. Naffah + + PR Classpath/28100 + * gnu/javax/crypto/cipher/TripleDES.java: Updated documentation. + (KEY_SIZE): Likewise. + (adjustParity(int,byte[],int): New method. + (adjustParity(byte[],int): Call above method with 3 as 1st argument. + (isParityAdjusted(int,byte[],int)): New method. + (isParityAdjusted): Call above method with 3 as 1st argument. + (keySizes): Add 8 and 16 as other valid key sizes. + (makeKey): Amended to cater for 1, 2 and 3 independent DES keys. + +2006-07-22 Andreas Tobler + + * gnu/java/awt/peer/gtk/CairoSurface.java (CairoSurface): Rearrange + code for the pixel swap routine to be more efficient. + +2006-07-21 Carsten Neumann + + * java/util/CopyOnWriteArrayList.java (indexOf(E, int)): New method. + (lastIndexOf(E, int)): Likewise. + (add(E)): Increase the size of newData array by one. + (add(int, E)): Likewise. + +2006-07-20 Lillian Angel + + * gnu/java/awt/dnd/GtkMouseDragGestureRecognizer.java: + Removed unused fields. + (GtkMouseDragGestureRecognizer): Removed initializations. + +2006-07-20 Lillian Angel + + * gnu/java/awt/dnd/GtkMouseDragGestureRecognizer.java + (GtkMouseDragGestureRecognizer): New constructor. + (GtkMouseDragGestureRecognizer): New constructor. + (GtkMouseDragGestureRecognizer): New constructor. + (mouseClicked): Removed FIXME. + (mousePressed): Implemented. + (mouseReleased): Implemented. + (mouseEntered): Implemented. + (mouseDragged): Implemented to check mouse point and trigger origin. + (mouseMoved): Removed FIXME. + (getDropActionFromEvent): New helper function used to convert mouse event + modifiers to a drop action. + * java/awt/dnd/DragSource.java + (getDragThreshold): Changed to return some arbitrary value for testing + purposes. + +2006-07-20 Roman Kennke + + * java/awt/LightweightDispatcher.java + (findTarget): Also consider components that have their eventMask + set, for compatibility with stonage AWT. Optimized check + for MouseListener. + (handleMouseEvent): Likewise. + +2006-07-20 Roman Kennke + + * javax/swing/JTable.java + (tableChanged): Split out handling of the event into multiple + subroutines. + (handleCompleteChange): New method. Clear the selection and + check the lead/anchor indices. + (handleInsert): New method. Check the lead/anchor indices. + Optimized repainting. + (handleDelete): New method. Check the lead/anchor indices. + Optimized repainting. + (handleUpdate): New method. Optimized repainting. + (checkSelection): New helper method. + (setSelectionModel): Update lead/anchor indices. + +2006-07-20 Lillian Angel + + PR 28440 + * gnu/java/awt/peer/gtk/GtkCheckboxPeer.java + (dispose): Reset all fields. + +2006-07-20 Roman Kennke + + * gnu/java/awt/peer/x/XToolkit.java + (createImage(InputStream)): Only copy image to Pixmap if + it's actually opaque. Transparent images are left as + BufferedImage and composited later onto the screen. + * gnu/java/awt/peer/x/XGraphics.java + (XGraphics): Fetch some parameters for image rendering. + (drawImage): Added special handling of transparent images. + (getRGB): New helper method. + (setRGB): New helper method. + +2006-07-20 Roman Kennke + + * gnu/javax/imageio/IIOInputStream.java: New class. Wraps + ImageInputStreams as normal InputStreams. + * gnu/javax/imageio/gif/GIFStream.java: + Moved to gnu/javax/imageio/IIOInputStream.java. + * gnu/javax/imageio/gif/GIFImageReader.java + (readImage): Use IIOInputStream. + * gnu/javax/imageio/gif/GIFImageReaderSpi.java + (canDecodeInput): Use IIOInputStream. + * gnu/javax/imageio/png/PNGException.java: Make subclass + of IOException. + * gnu/javax/imageio/png/PNGImageReader.java: New class. + Implements the ImageIO ImageReader for PNG. + * gnu/javax/imageio/png/PNGImageReaderSpi.java: New class. + Implements the ImageIO ImageReaderSpi for PNG. + * javax/imageio/spi/IIORegistry.java: + (IIORegistry): Add PNGImageReaderSpi. + +2006-07-20 David Gilbert + + * java/awt/image/ComponentSampleModel.java + (getPixel): Added argument check, + (getSample): Modified exception message. + +2006-07-20 David Gilbert + + PR Classpath/28422 + * java/awt/image/ConvolveOp.java + (filter(Raster, WritableRaster)): Reimplemented, + (fillEdge): New private method. + +2006-07-19 Keith Seitz + + * include/jvmti.h (JVMTI_VERSION_1_0): Define. + (JVMTI_VERSION): Define. + +2006-07-19 Roman Kennke + + * resource/gnu/regexp/MessagesBundle.properties, + * resource/gnu/regexp/MessagesBundle_fr.properties, + * resource/gnu/regexp/MessagesBundle_it.properties: + Moved to resource/gnu/java/util/regex. + * resource/gnu/java/util/regex/MessagesBundle.properties, + * resource/gnu/java/util/regex/MessagesBundle_fr.properties, + * resource/gnu/java/util/regex/MessagesBundle_it.properties: + New files. + * gnu/java/util/regex/RE.java + Use new resource bundle location. + +2006-07-19 Roman Kennke + + * javax/swing/JComponent.java + (paintChildren): Refactored. The paintChildrenOptimized method + has been moved back in here. Added locking of the tree and + only check for completely obscured child components + when not optimized drawing enabled. Use Graphics.create() to + protect from irreversible changes. + (isCompletelyObscured): New helper method. + (paintComponent): Also use Graphics.create() for Graphics2D, + to protect from irreverible changes. + (clipAndTranslateGraphics): Refactored to use more efficient + iterative (vs recursive) approach. + * javax/swing/RepaintManager.java + (getOffscreenBuffer): Create image from root component. + +2006-07-19 Roman Kennke + + * gnu/java/awt/peer/x/XGraphics.java + (translate): Don't set the clip on the X server. + (clipRect): Use setXClip() to set the clip on the X server. + (hitClip): More efficient and correct implementation. + (setClip): Use setXClip() to set the clip on the X server. + (setClip(Shape)): Use setXClip() to set the clip on the X server. + (copyArea): Translate and clip the source rectangle correctly. + (dispose): Only flush when object is not yet disposed. + (clone): Use setXClip() to set the clip on the X server. + +2006-07-19 Sven de Marothy + + * gnu/javax/imageio/png/PNGChunk.java, + * gnu/javax/imageio/png/PNGData.java, + * gnu/javax/imageio/png/PNGDecoder.java, + * gnu/javax/imageio/png/PNGEncoder.java, + * gnu/javax/imageio/png/PNGException.java, + * gnu/javax/imageio/png/PNGFile.java, + * gnu/javax/imageio/png/PNGFilter.java, + * gnu/javax/imageio/png/PNGGamma.java, + * gnu/javax/imageio/png/PNGHeader.java, + * gnu/javax/imageio/png/PNGICCProfile.java, + * gnu/javax/imageio/png/PNGPalette.java, + * gnu/javax/imageio/png/PNGPhys.java, + * gnu/javax/imageio/png/PNGTime.java: + New files. + +2006-07-19 Sven de Marothy + + * java/net/Inet6Address.java: + (getScopedId, getScopedInterface): New methods. + +2006-07-19 Lillian Angel + + * examples/gnu/classpath/examples/awt/Demo.java + (DragDropWindow): Fixed typo in Label text. + * gnu/java/awt/dnd/peer/gtk/GtkDragSourceContextPeer.java + (GtkDragSourceContextPeer): Removed unneeded initialization for field. + (startDrag): Initialized context field. + (transferablesFlavorsChanged): Removed FIXME. Nothing is done in this + function. + (dragEnter): New function. + (dragExit): Likewise. + (dragDropEnd): Likewise. + (dragMouseMoved): Likewise. + (dragOver): Likewise. + (dragActionChanged): Likewise. + +2006-07-19 Raif S. Naffah + + PR Classpath/26302 + * resource/java/security/classpath.security: Updated copyright year. + (auth.login.defaultCallbackHandler): New property; set to our default + callback handler. This is needed by the LoginContext when no callback + handler was specified. + * javax/security/auth/login/LoginContext.java: Updated copyright year. + (LoginContext(4)): Assign passed parameters to local fields before invoking + lookup method. + +2006-07-19 Roman Kennke + + * gnu/java/awt/peer/x/XGraphics.java + (drawImage(Image,int,int,int,int,int,int,int,int,ImageObserver)): + Fixed ordering of parameters. + +2006-07-18 Andrew John Hughes + + * gnu/java/lang/management/MemoryMXBeanImpl.java: + (MemoryMXBeanImpl()): Implemented. + (ListenerData): New private class. + (addNotificationListener(NotificationListener, + NotificationFilter, Object)): Implemented. + (getNotificationInfo()): Likewise. + (removeNotificationListener(NotificationListener)): + Likewise. + (removeNotificationListener(NotificationListener, + NotificationFilter, Object)): Likewise. + +2006-07-18 Roman Kennke + + * gnu/java/awt/peer/x/XFontPeer.java + (encodeFont): Be more flexible with font sizes. + (validSize): New helper method. + * gnu/java/awt/peer/x/XGraphics.java + (drawImage(Image,int,int,int,int,int,int,int,int,ImageObserver)): + Implemented. + (drawImage(Image,int,int,int,int,int,int,int,int,Color,ImageObserver)): + Implemented. + * gnu/java/awt/peer/x/XImage.java + (properties): New field. + (getProperty): Implemented. + * resource/gnu/java/awt/peer/x/fonts.properties: + Added copyright header. Fixed font size field. + +2006-07-18 David Gilbert + + * java/awt/image/BandedSampleModel.java + (createDataBuffer): New method override, + * java/awt/image/ByteLookupTable.java + (ByteLookupTable(int, byte[][])): Create new array to hold references, + (ByteLookuptable(int, byte[])): Check for null array, + * java/awt/image/ComponentSampleModel.java + (createDataBuffer): Removed unnecessary braces, + (getSample): Check (x, y) is within bounds, + * java/awt/image/ShortLookupTable.java + (ShortLookupTable(int, short[][])): Create new array to hold references, + (ShortLookupTable(int, short[])): Check for null array, + (getTable): Added API docs, + (lookupPixel): Source reformatting. + +2006-07-18 Tania Bento + + * java/awt/GridLayout.java + (setHgap): Illegal Argument Exception should not be thrown if + hgap < 0. + (setVgap): Illegal Argument Exception should not be thrown if + vgap < 0. + (toString): Opening square braket ([) should appear before hgap + value, not the name of the class. + +2006-07-18 Roman Kennke + + * lib/copy-vmresources.sh.in: Reverted. + * gnu/java/awt/peer/x/fonts.properties: Moved to resource/ + * resource/gnu/java/awt/peer/x/fonts.properties: New file. + +2006-07-18 Roman Kennke + + * lib/copy-vmresources.sh.in: Include properties from X peers. + +2006-07-18 Raif S. Naffah + + PR Classpath/27205 + * tools/gnu/classpath/tools/jarsigner/SFHelper.java (writeDSA): Check + certificate validity. + (getIssuerName): New method. + (getSubjectName): Likewise. + (getNotAfterDate): Likewise. + (getNotBeforeDate): Likewise. + * resource/gnu/classpath/tools/jarsigner/messages.properties: Added + messages for newly added messages in SFHelper. + +2006-07-18 Roman Kennke + + * gnu/java/awt/peer/x/XDialogPeer.java: New class. + * gnu/java/awt/peer/x/XEventPump.java + (handleEvent): Cast to XWindowPeer rather than XFramePeer. + * gnu/java/awt/peer/x/XFramePeer.java + Made a subclass of XWindowPeer, rather than SwingFramePeer. + * gnu/java/awt/peer/x/XGraphics.java + Made subclass of Graphics rather than Graphics2D. Removed + all Graphics2D specific method stubs. + (setColor): Map colors using the X color map that is + stored in XToolkit. + * gnu/java/awt/peer/x/XToolkit.java + (colorMap): New field. + (getLocalGraphicsEnvironment): Return new XGraphicsEnvironment + instance. + (createDialog): Implemented. + (createImage(ImageProducer)): Implemented. + (createImage(InputStream)): Use createImage(ImageProducer) + to convert the BufferedImage to an XImage. + * gnu/java/awt/peer/x/XWindowPeer.java + (XWindowPeer): Removed debug output. + +2006-07-18 David Gilbert + + * java/awt/image/BufferedImageOp.java: API docs added, + * java/awt/image/RasterOp.java: Likewise. + +2006-07-18 David Gilbert + + * java/awt/Graphics2D.java: API docs updated. + +2006-07-18 David Gilbert + + * java/awt/image/WritableRaster.java: Added API docs and reformatted + source code. + +2006-07-18 Sven de Marothy + + * java/net/Inet6Address.java: + Add 1.5 serialized fields. + (getByAddress): New methods. + (readObject, writeObject): New methods. + (equals): Reimplement. + +2006-07-18 David Gilbert + + * java/awt/image/Raster.java: Added API docs and reformatted source + code. + +2006-07-18 Andreas Tobler + + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java: Remove unneeded + imports. + * gnu/java/awt/peer/gtk/CairoSurface.java: Likewise. + * gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java: Likewise. + * gnu/java/awt/peer/gtk/ComponentGraphicsCopy.java: Likewise. + * gnu/java/awt/peer/gtk/GdkFontPeer.java: Likewise. + * gnu/java/awt/peer/gtk/GdkPixbufDecoder.java: Likewise. + * gnu/java/awt/peer/gtk/GtkButtonPeer.java: Likewise. + * gnu/java/awt/peer/gtk/GtkClipboardNotifier.java: Likewise. + * gnu/java/awt/peer/gtk/GtkComponentPeer.java: Likewise. + * gnu/java/awt/peer/gtk/GtkContainerPeer.java: Likewise. + * gnu/java/awt/peer/gtk/GtkDialogPeer.java: Likewise. + * gnu/java/awt/peer/gtk/GtkFramePeer.java: Likewise. + * gnu/java/awt/peer/gtk/GtkImage.java: Likewise. + * gnu/java/awt/peer/gtk/GtkImageConsumer.java: Likewise. + * gnu/java/awt/peer/gtk/GtkMenuBarPeer.java: Likewise. + * gnu/java/awt/peer/gtk/GtkMenuItemPeer.java: Likewise. + * gnu/java/awt/peer/gtk/GtkMouseInfoPeer.java: Likewise. + * gnu/java/awt/peer/gtk/GtkPanelPeer.java: Likewise. + * gnu/java/awt/peer/gtk/GtkPopupMenuPeer.java: Likewise. + * gnu/java/awt/peer/gtk/GtkScrollbarPeer.java: Likewise. + * gnu/java/awt/peer/gtk/GtkWindowPeer.java: Likewise. + * gnu/java/awt/peer/gtk/VolatileImageGraphics.java: Likewise. + +2006-07-17 Andreas Tobler + + * javax/swing/text/html/HTMLEditorKit.java: Rearrange import statements + to make it compile again under jikes. Note added. + +2006-07-17 Lillian Angel + + * examples/gnu/classpath/examples/awt/Demo.java + (Demo): Added new window for DnD demo. + (DragDropWindow): New class. + * gnu/java/awt/dnd/peer/gtk/GtkDragSourceContextPeer.java: + Added new fields and declarations for native functions. + (GtkDragSourceContextPeer): Implemented. + (getComponentPeer): New function. + (startDrag): Partially implemented. + (getCursor): Implemented. + (setCursor): Implemented. + * include/GtkDragSourceContextPeer.h: New file. + * include/Makefile.am: Added new header file. + * java/awt/Component.java + (addNotify): Added call to the dropTarget's addNotify. + * java/awt/dnd/DragSource.java + (startDrag): Fixed code to use shared instances of peer and + context. + (getDragThreshold): Added stub. + * java/awt/dnd/DropTarget.java + (DropTarget): Implemented fully. + (addNotify): Added code to get the peer of the parent that is + not lightweight. + * java/awt/dnd/DropTargetDragEvent.java + (getTransferable): Added stub. + * native/jni/gtk-peer/GtkDragSourceContextPeer.c: New file. + * native/jni/gtk-peer/Makefile.am: Added new c file. + * gnu/java/awt/dnd/peer/gtk/GtkDropTargetContextPeer.java: + Changed to extend GtkGenericPeer. + (GtkDropTargetContextPeer): New constructor. + * gnu/java/awt/dnd/peer/gtk/GtkDropTargetPeer.java: + Changed to extend GtkGenericPeer. + (GtkDropTargetContextPeer): New constructor. + +2006-07-17 David Gilbert + + * java/awt/image/SinglePixelPackedSampleModel.java + (createSubsetSampleModel): Added argument check and API docs. + +2006-07-17 Roman Kennke + + * gnu/java/awt/peer/x/XGraphics.java + (copyArea): Implemented. + +2006-07-17 David Gilbert + + * java/awt/image/SinglePixelPackedSampleModel.java + (getSampleSize): Return copy of array, + (getOffset): Added API docs, + (getScanlineStride): Likewise, + (hashCode): Implemented. + +2006-07-17 David Gilbert + + * java/awt/image/MultiPixelPackedSampleModel.java + (getOffset): Updated API docs and source reformatting, + (getBitOffset): Source reformatting only, + (getDataElements): Likewise, + (getPixel): Likewise, + (getPixels): Removed method override, + (setDataElements): Reimplemented. + +2006-07-17 Gary Benson + + * resource/META-INF/services/.cvsignore: New file. + * lib/.cvsignore: Updated. + +2006-07-17 Roman Kennke + + * javax/swing/plaf/basic/BasicButtonListener.java + (propertyChange): Only do the text layout caching as long + as the noGraphics2D property isn't set. + * javax/swing/plaf/basic/BasicMenuItemUI.java + (PropertyChangeHandler.propertyChange): Only do the text layout + caching as long as the noGraphics2D property isn't set. + +2006-07-17 Roman Kennke + + * gnu/java/awt/peer/x/XGraphicsEnvironment.java + (XGraphicsEnvironment): Make constructor public so that it + can be called via Class.forName().newInstance(). + * gnu/java/awt/peer/x/XImage.java + (XImage): Fetch GraphicsEnvironment via + GraphicsEnvironment.getLocalGraphicsEnvironment() rather + than the XToolkit method, to avoid double instantiation + of the XGraphicsEnvironment. + * gnu/java/awt/peer/x/XToolkit.java + (env): Removed field. + (getLocalGraphicsEnvironment): Removed impl. This method + should not be called since we set the graphicsenv property + in the constructor. + +2006-07-16 Andrew John Hughes + + * java/util/UUID.java: + (compareTo(Object)): Call compareTo(UUID). + (compareTo(UUID)): Implemented. + +2006-07-16 Tom Tromey + + * java/lang/StrictMath.java (cbrt): Added '@since'. + +2006-07-16 Carsten Neumann + + * java/lang/StrictMath.java (cbrt): New method. + (getLowDWord): New helper method. + (getHighDWord): Likewise. + (buildDouble): Likewise. + (CBRT_B1): New field. + (CBRT_B2): Likewise. + (CBRT_C): Likewise. + (CBRT_D): Likewise. + (CBRT_E): Likewise. + (CBRT_F): Likewise. + (CBRT_G): Likewise. + +2006-07-16 Andrew John Hughes + + * javax/management/MBeanInfo.java: + (getNotifications()): Implemented. + * javax/management/NotificationBroadcaster.java: + (removeNotificationListener(NotificationListener)): + Renamed from removeListener. + * javax/management/NotificationEmitter.java: + (removeNotificationListener(NotificationListener, + NotificationFilter, Object)): Likewise. + * javax/management/NotificationFilter.java: + Implement Serializable. + * javax/management/NotificationListener.java: + Implement java.util.EventListener. + * javax/rmi/ssl/SslRMIClientSocketFactory.java: + Implement Serializable. + +2006-07-16 Andrew John Hughes + + * java/lang/management/MemoryNotificationInfo.java: + New file. + +2006-07-16 Audrius Meskauskas + + PR 28392 + * gnu/javax/swing/text/html/parser/htmlValidator.java + (tagIsValidForContext): If it is not possible to insert any tag, but + is possible to insert a P, insert a P. + * gnu/javax/swing/text/html/parser/HTML_401Swing.java + (newInstance): Removed print statement. (getBodyElements): + Removed ABBR, ACRONYM, BDO, Q, S, SUB, SUP and ADDRESS from the + valid body level tags (will be enclosed into P's). + +2006-07-17 Raif S. Naffah + + * tools/gnu/classpath/tools/keytool/Command.java (setKeystoreURLParam): + Condition the creation of .keystore (a default keystore) based on the + createIfNotFound argument as well. + +2006-07-16 Audrius Meskauskas + + PR 28392 + * examples/gnu/classpath/examples/swing/HtmlDemo.java: + Removed heading p tag from the parsing example. + * gnu/javax/swing/text/html/parser/HTML_401F.java: + (createHtmlContentModel): Explained. + (defineElements): Call getBodyElements to get the body + elements. (getBodyElements): New method. (model): + Made protected from private. + * gnu/javax/swing/text/html/parser/htmlValidator.java + (openTag): Mind that current content model may be null. + (tagIsValidForContext): If the tag is PCDATA, and it is not + valid for context, but the paragraph (P) is valid for context, + suggest to insert the P tag here. + * javax/swing/text/html/HTMLDocument.java (HTMLReader.addContent, + HTMLReader.blockOpen, HTMLReader.blockClose): Do not handle + implied P tags here. + * javax/swing/text/html/HTMLEditorKit.java (getParser): + Get the custom parser, using HTML_401Swing.java DTD. + * javax/swing/text/html/parser/ParserDelegator.java: + Removed the obsolete note that HTMLEditorKit does not exist. + * gnu/javax/swing/text/html/parser/GnuParserDelegator.java, + gnu/javax/swing/text/html/parser/HTML_401Swing.java: New files. + +2006-07-16 Andrew John Hughes + + * javax/management/ListenerNotFoundException.java: + New file. + * javax/management/MBeanFeatureInfo.java: + (hashCode()): Use summation instead of multiplication + for consistency with other classes. + * javax/management/MBeanNotificationInfo.java, + * javax/management/Notification.java, + * javax/management/NotificationBroadcaster.java, + * javax/management/NotificationEmitter.java, + * javax/management/NotificationFilter.java, + * javax/management/NotificationListener.java: + New files. + * javax/management/OperationsException.java: + (serialVersionUID): Added. + +2006-07-16 Thomas Minor <1nocentrabidlamb@sexMagnet.com> + Mark Wielaard + + * java/io/PrintStream.java: Added four constructors, for File and + String describing a filename with or without explicit encoding. + +2006-07-16 Sven de Marothy + + * javax/rmi/ssl/SslRMIServerSocketFactory.java, + * javax/rmi/ssl/SslRMIClientSocketFactory.java: + New files. + +2006-07-16 Raif S. Naffah + + PR Classpath/28391 + * tools/gnu/classpath/tools/keytool/Command.java (setKeyStoreParams(5)): + New method. + (setKeyStoreParams(4)): Call the above method with false as its 1st arg. + (setProviderClassNameParam): Made private. + (setKeystoreTypeParam): Likewise. + (setKeyPasswordParam): Likewise + (setKeystorePasswordParam): Likewise. + (setKeystoreURLParam): Now accepts 2 more arguments; the first a boolean to + create or not the keystore if it's not there, and the second is the store's + password to process before loading the keystore. Amended the code + accordingly. + * tools/gnu/classpath/tools/keytool/GenKeyCmd.java (setup): Call super's + setKeyStoreParams(5) with true as its first argument. + * tools/gnu/classpath/tools/keytool/IdentityDBCmd.java (setup): Likewise. + * tools/gnu/classpath/tools/keytool/ImportCmd.java (setup): Likewise. + +2006-07-16 Sven de Marothy + + * java/util/UUID.java: New file. + +2006-07-16 Raif S. Naffah + + * gnu/javax/crypto/jce/cipher/KeyWrappingAlgorithmAdapter.java: New file. + * gnu/javax/crypto/jce/cipher/AESKeyWrapSpi.java: New file. + * gnu/javax/crypto/jce/cipher/AES128KeyWrapSpi.java: Likewise. + * gnu/javax/crypto/jce/cipher/AES192KeyWrapSpi.java: Likewise. + * gnu/javax/crypto/jce/cipher/AES256KeyWrapSpi.java: Likewise. + * gnu/javax/crypto/jce/cipher/TripleDESKeyWrapSpi.java: Likewise. + * gnu/javax/crypto/jce/GnuCrypto.java (.run): Added mappings for newly + added Key Wrapping Algorithm SPIs. + +2006-07-16 Raif S. Naffah + + * javax/crypto/Cipher.java (getOutputSize): Allow SPIs initialised for key + wrapping/unwrapping to invoke their engineGetOutputSize. + +2006-07-16 Raif S. Naffah + + * gnu/javax/crypto/kwa/TripleDESKeyWrap.java (rnd): New field. + (engineInit): If a SecureRandom was specified then use it. + (nextRandomBytes): New method. + (engineWrap): Use above method. + * gnu/javax/crypto/kwa/BaseKeyWrappingAlgorithm.java (prng): New field. + (getDefaultPRNG): New method. + * gnu/javax/crypto/kwa/AESKeyWrap.java (engineInit): Reset underlying AES. + * gnu/javax/crypto/kwa/IKeyWrappingAlgorithm.java (SOURCE_OF_RANDOMNESS): + New constant. + +2006-07-16 Raif S. Naffah + + * gnu/javax/crypto/jce/params/BlockCipherParameters.java + (engineGetParameterSpec): Should be able to return an IvParameterSpec. + +2006-07-16 Raif S. Naffah + + * gnu/javax/crypto/cipher/DES.java (adjustParity): Index limit now takes + offset into consideration. + +2006-07-16 Mario Torre + + * native/jni/gconf-peer/GConfNativePeer.c (init_gconf_client): + Fixed comment. This functions now requires to be called + with gdk lock held, the comment states that. + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_init_1id_1cache): + Introduces gdk locks around critical regions of code. + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1gconf_1client_1all_1keys): + Likewise. + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1gconf_1client_1all_1nodes): + Likewise. + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1suggest_1sync): + Likewise. + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1unset): + Likewise. + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1get_1string): + Likewise. + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1set_1string): + Likewise. + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1remove_1dir): + Likewise. + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1add_1dir): + Likewise. + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1dir_1exists): + Likewise. + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_finalize_1class): + * native/jni/gconf-peer/Makefile.am: The GConf peer now depends on GTK. + +2006-07-15 Sven de Marothy + + * javax/swing/JFileChooser.java + Change default selection mode to FILES_ONLY. + * javax/swing/plaf/basic/BasicDirectoryModel.java + Document, fix selection mode filtering. + (renameFile): Implement + * javax/swing/plaf/basic/BasicFileChooserUI.java + (selectedDir): New field to handle selected directories, + disallow selecting of directories in FILES_ONLY mode. + * javax/swing/plaf/metal/MetalFileChooserUI.java: + (EditingActionListener.actionPerformed): + Stop editing on all actions (e.g. return-key press) + +2006-07-15 Mark Wielaard + + * doc/vmintegration.texinfo (gnu.java.lang.management): Change xref + to code. + (JNI Implementation): Mark JVMTI Implementation as next. + (JVMTI Implementation): Mark JNI Implementation as prev. + +2006-07-15 Mark Wielaard + + * include/Makefile.am: Remove + include/gnu_java_awt_peer_gtk_GdkTextLayout.h. + * include/gnu_java_awt_peer_gtk_GdkTextLayout.h: Removed. + * native/jni/gtk-peer/Makefile.am: Remove + gnu_java_awt_peer_gtk_GdkTextLayout.c + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkTextLayout.c: + Removed. + + * include/gnu_java_awt_peer_gtk_GtkWindowPeer.h: Regenerated. + +2006-07-15 Mark Wielaard + + * autogen.sh: Recognize autoconf 2.60. + +2006-07-15 Keith Seitz + + * NEWS: Update for JVMTI and jvmti.h. + * doc/vmintegration.texinfo: Likewise. + * include/jvmti.h: New file. + +2006-07-15 Mark Wielaard + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c: + Removed C++ style comment. + +2006-07-15 Sven de Marothy + + * gnu/java/awt/peer/gtk/GtkMouseInfoPeer.java, + * java/awt/MouseInfo.java, + * java/awt/PointerInfo.java, + * java/awt/peer/MouseInfoPeer.java: + New files. + + * java/awt/Image.java + (accelerationPriority): New field. + (setAccelerationPriority, getAccelerationPriority): New methods.. + + * include/gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.h, + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.c, + * gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java: + (getMouseCoordinates): New method. + + * gnu/java/awt/peer/gtk/GtkFramePeer.java + (updateAlwaysOnTop): Remove stub overload. + + * gnu/java/awt/ClasspathToolkit.java, + * gnu/java/awt/peer/gtk/GtkToolkit.java, + * include/gnu_java_awt_peer_gtk_GtkToolkit.h, + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c: + (getMouseInfoPeer): New method. + (getMouseNumberOfButtons): New method. + + * gnu/java/awt/peer/gtk/GtkWindowPeer.java + * include/gnu_java_awt_peer_gtk_GtkWindowPeer.h + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c + (gtkWindowSetAlwaysOnTop): New method. + (updateAlwaysOnTop): Implement. + + * java/awt/Toolkit.java, + (getMouseInfoPeer): New method. + + * java/awt/Window.java + (alwaysOnTop): New field. + (isAlwaysOnTop, setAlwaysOnTop): New methods. + + * java/awt/peer/WindowPeer.java: Doc fix. + +2006-07-14 Sven de Marothy + + * java/awt/font/TextLayout.java: + (hitTestChar): Stub method. + * java/awt/font/TextMeasurer.java: + (getLayout): Throw exception on invalid argument. + +2006-07-14 Sven de Marothy + + * java/awt/image/DataBuffer.java + (DataBuffer): Call constructors in the correct order, + +2006-07-14 Mark Wielaard + + Revert to previous implementation. + * java/awt/GridBagLayout.java (AdjustForGravity): Only adjust for + constraints insets. + +2006-07-14 Roman Kennke + + * gnu/java/awt/peer/x/XToolkit.java + (XToolkit): Install properties to SystemProperties + rather than System, to avoid SecurityManager. + (getImage(String)): Return error image when string is invalid. + (createImage(URL)): Moved image loading to helper method. + (createImage(ImageProducer)): Implemented. + (createImage(byte[],int,int)): Implemented. + (createImage(InputStream)): New helper method. + +2006-07-14 Tania Bento + + * java/awt/FlowLayout.java + (setHgap): No Excpetion should be thrown if hgap has + a negative value. + (setVgap): No Exception should be thrown if vgap has + a negative value. + +2006-07-14 David Gilbert + + * java/awt/image/MultiPixelPackedSampleModel.java: + Added API docs all over. + +2006-07-14 Matt Wringe + + * gnu/javax/crypto/jce/cipher/CipherAdapter.java + (engineInit): Throw InvalidAlgorithmParameterException + for invalid IVParameterSpec IV length. + +2006-07-14 David Gilbert + + * java/awt/image/MultiPixelPackedSampleModel.java + (createDataBuffer): Include dataBitOffset in calculating the size for + the data buffer. + +2006-07-14 David Gilbert + + * java/awt/image/MultiPixelPackedSampleModel.java + (getSampleSize()): Return a copy of the array, + (getTransferType()): New method override. + +2006-07-14 Roman Kennke + + * java/awt/CardLayout.java + (show): Validate parent to make sure that the layout is + valid. + +2006-07-14 Roman Kennke + + * java/awt/Component.java + (enable): Added tree locking. + (disable): Added tree locking. + (show): Added tree locking. + (hide): Added tree locking. + (getLocationOnScreen): Added tree locking. + (reshape): Added tree locking. + (addHierarchyListener): Added tree locking. + (removeHierarchyListener): Added tree locking. + (addHierarchyBoundsListener): Added tree locking. + (removeHierarchyBoundsListener): Added tree locking. + (addNotify): Added tree locking. + (removeNotify): Added tree locking. + * java/awt/Container.java + (invalidateTree): Added tree locking. + (getAlignmentX): Added tree locking. + (getAlignmentY): Added tree locking. + (addNotify): Added tree locking. + (setComponentZOrder): Added tree locking. + (getComponentZOrder): Added tree locking. + +2006-07-14 David Gilbert + + * java/awt/image/MultiPixelPackedSampleModel.java + (createSubsetSampleModel): Restored argument check, but let null + through. + +2006-07-14 David Gilbert + + * java/awt/image/MultiPixelPackedSampleModel.java + (createSubsetSampleModel): Removed argument check. + +2006-07-14 Roman Kennke + + * java/awt/Component.java + (numHierarchyListeners): New field. + (numHierarchyBoundsListeners): New field. + (show): Fire hierarchy events here. Only fire component event + if there is actually a listener for it. + (hide): Fire hierarchy events here. Only fire component event + if there is actually a listener for it. + (reshape): Fire hierarchy events here. Only fire component event + if there is actually a listener for it. + (addHierarchyListeners): Update listener counters. + (removeHierarchyListeners): Update listener counters. + (addHierarchyBoundsListeners): Update listener counters. + (removeHierarchyBoundsListeners): Update listener counters. + (fireHierarchyEvent): New helper method for firing hierarchy + events. + * java/awt/Container.java + (addImpl): Update listener counters. Fire hierarchy event. + (remove): Update listener counters. Fire hierarchy event. + (fireHierarchyEvent): New helper method for firing hierarchy + events. + (updateHierarchyListenerCount): New helper method for + updating the listener counters. + +2006-07-14 David Gilbert + + * java/awt/image/MultiPixelPackedSampleModel.java + (equals): New method override, + (hashCode): Likewise. + +2006-07-14 David Gilbert + + * java/awt/image/MultiPixelPackedSampleModel.java + (MultiPixelPackedSampleModel(int, int, int, int, int, int)): + Corrected scanlineStride calculation. + +2006-07-14 Raif S. Naffah + + * gnu/java/security/Registry.java (KWA_PREFIX): New constant. + (AES_KWA): Likewise. + (AES128_KWA): Likewise. + (AES192_KWA): Likewise. + (AES256_KWA): Likewise. + (RIJNDAEL_KWA): Likewise. + (TRIPLEDES_KWA): Likewise. + (DESEDE_KWA): Likewise. + * gnu/javax/crypto/kwa/AESKeyWrap.java: New file + * gnu/javax/crypto/kwa/BaseKeyWrappingAlgorithm.java: Likewise. + * gnu/javax/crypto/kwa/IKeyWrappingAlgorithm.java: Likewise. + * gnu/javax/crypto/kwa/KeyUnwrappingException.java: Likewise. + * gnu/javax/crypto/kwa/KeyWrappingAlgorithmFactory.java: Likewise. + * gnu/javax/crypto/kwa/TripleDESKeyWrap.java: Likewise. + +2006-07-14 Raif S. Naffah + + * gnu/javax/crypto/pad/IPad.java: Updated class documentation. + (PADDING_BLOCK_SIZE): New constant. + (init(Map attributes)): New method. + * gnu/javax/crypto/pad/BasePad.java (init): New method. + +2006-07-14 Mario Torre + + * gnu/java/security/OID.java (OID): Private Constructor removed as + it is not needed anymore. + (clone): Fixed. Now uses super.clone instead of the private + constructor as per specification of clone method. + (serialVersionUID): added new field to allow serialization. + +2006-07-13 Sven de Marothy + + * gnu/javax/imageio/gif/GIFImageReader.java + (read): Remove old debugging trace. + +2006-07-13 Andreas Tobler + + PR awt/28369: + * gnu/java/awt/peer/gtk/CairoSurface.java (ColorModel): Swap red and + blue mask. + +2006-07-13 Roman Kennke + + * java/awt/Component.java + (DEFAULT_MAX_SIZE): New static constant. + (preferredSize): Return copy of the actual value computed + by new helper method. + (preferredSizeImpl): New helper method. Adds locking and + correct handling of cached value. + (minimumSize): Return copy of the actual value computed + by new helper method. + (minimumSizeImpl): New helper method. Adds locking and + correct handling of cached value. + (getMaximumSize): Return copy of the actual value computed + by new helper method. + (maximumSizeImpl): New helper method. Adds locking and + correct handling of cached value. + (invalidate): Correct handling of cached layout information. + Added locking. + * java/awt/Container.java + (preferredSize): Minimized locking. Corrected handling of cached + values. Return copy of real value. + (minimumSize): Minimized locking. Corrected handling of cached + values. Return copy of real value. + (getMaximumSize): Minimized locking. Corrected handling of cached + values. Return copy of real value. + +2006-07-13 Tania Bento + + * gnu/java/awt/peer/ClasspathFontPeer.java + (isLogicalFontName): Return true if name == default. + (logicalFontNameToFaceName): Check if name == default, + and if so, return "Dialog.plain". + (setStandardAttributes(String, Map)): If name == null, + it should be set to "Default", not "SansSerif". + * java/awt/Canvas.java + (generateName): Fixed documentation. + * java/awt/CheckboxMenuItem.java + Added static variable "next_chkmenuitem_number". + (generateName): Added and implemented method. + (getUniqueLong): Likewise. + * java/awt/Choice.java + Added static variable "next_choice_number". + (generateName): Added and implemented method. + (getUniqueLong): Likewise. + * java/awt/Cursor.java + (Cursor(int)): Set name depending on the type passed. + * java/awt/List.java + Added static variable "next_list_number". + (generateName): Added and implemented method. + (getUniqueLong): Likewise. + * java/awt/Menu.java + Added static variable "next_menu_number". + (generateName): Added and implemented method. + (getUniqueLong): Likewise. + * java/awt/MenuBar.java + Added static variable "next_menubar_number". + (generateName): Added and implemented method. + (getUniqueLong): Likewise. + * java/awt/MenuComponent.java + (getName): Before returning name, check if name == null + and name is not explicity set. If this is the case, + name will be generated. + (generateName): Added and implemented method. + * java/awt/MenuItem.java + Added static variable "next_menuitem_number". + (generateName): Added and implemented method. + (getUniqueLong): Likewise. + * java/awt/PopupMenu.java + Added static variable "next_popup_number". + (generateName): Added and implemented method. + (getUniqueLong): Likewise. + * java/awt/ScrollPane.java + Added static variable "next_scrollpane_number". + (generateName): Added and implemented method. + (getUniqueLong): Likewise. + * java/awt/TextField.java + Added static variable "next_textfield_number". + (generateName): Added and implemented method. + (getUniqueLong): Likewise. + + +2006-07-13 David Gilbert + + * java/awt/image/SinglePixelPackedSampleModel.java + (SinglePixelPackageSampleModel(int, int, int, int, int[])): Convert + mask correctly as an unsigned integer, + (equals): New method override. + +2006-07-13 Audrius Meskauskas + + * javax/swing/text/html/HTMLDocument.java (insertAfterEnd, + insertAfterStart, insertBeforeEnd): Removed stub markings. + +2006-07-13 David Gilbert + + * java/awt/image/BandedSampleModel.java: API doc updates and source + code reformatting, + * java/awt/image/SinglePixelPackageSampleModel.java: Likewise. + +2006-07-13 David Gilbert + + * java/awt/image/BandedSampleModel.java: API doc updates. + +2006-07-13 Audrius Meskauskas + + * javax/swing/text/html/HTMLDocument.java (HTMLReader.parseStack): + Made package private. (HTMLReader.charAttr, HTMLReader.charAttrStack, + HTMLReader.insertTag, HTMLReader.insertTagEncountered, + HTMLReader.pushDepth, HTMLReader.popDepth): Documented. + (HRMLReader.blockClose): Mind that parser stack may be empty. + (HTMLReader.handeComment, HTMLReader.handleStartTag, + HTMLReader.handleEndTag, HTMLReader.handleSimpleTag): Rewritten. + (HTMLReader.shouldInsert): New method. (getElement(String)): + Pass HTML.Atrribute.ID. (insertAfterEnd, insertBeforeEnd, + insertAfterStart, insertBeforeStart, setInnerHTML, setOuterHTML): + Implemented. (getInsertingReader): New method. + * examples/gnu/classpath/examples/swing/HtmlDemo.java: + Added buttons to demonstrate the work of the insert actions. + +2006-07-13 David Gilbert + + * java/awt/image/SampleModel.java: API doc updates and additions, + * java/awt/image/SinglePixelPackedSampleModel.java: Likewise. + +2006-07-12 Sven de Marothy + + * javax/swing/JFileChooser.java: + (createDialog): Close operation should cause a cancel. + +2006-07-12 Francis Kung + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java: Organized imports. + (cairoArc): New native method. + (cairoRestore): New native method. + (cairoSave): New native method. + (cairoScale): New native method. + (createPath): New method to centralize code from draw and fill. + (draw): Modified to use createPath method. + (fill): Modified to use createPath method. + * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h: Added + function declarations. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c + (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoScale): New + method. + (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoSave): New + method. + (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoArc): New + method. + +2006-07-12 Tom Tromey + + PR libgcj/27271: + * java/util/zip/ZipFile.java (getInputStream): Call addDummyByte + on PartialInputStream. + (PartialInputStream.dummyByteCount): New field. + (PartialInputStream.fillBuffer): Handle dummy byte. + (PartialInputStream.read): Likewise. + (PartialInputStream.addDummyByte): New method. + +2006-07-12 Mario Torre + + * native/jni/gconf-peer/GConfNativePeer.c + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1get_1string): + Fixed C++ style comment. + +2006-07-12 David Gilbert + + * java/util/Arrays.java + (asList): Updated API docs. + +2006-07-11 Robert Schuster + + Fixes PR28350. + * native/jni/gconf-peer/GConfNativePeer.c: + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1set_1string): + Changed if-expression. + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1get_1string): + Added check for _value not being NULL. + +2006-07-11 Roman Kennke + + * native/jni/java-net/gnu_java_net_local_LocalSocketImpl.c + (read): Use fd when local sockets are disabled to make the + compiler quite. + (write): Likewise. + +2006-07-11 Roman Kennke + + * java/awt/image/MultiPixelPackedSampleModel.java + (MultiPixelPackedSampleModel): Substract -1 so that the integer + division gets rounded up. + +2006-07-11 Andrew John Hughes + + * java/lang/management/ManageFactory.java: + (getMemoryManagerMXBeans()): Use addAll, not add. + +2006-07-11 Vivek Lakshmanan + + PR 27649: + * gnu/classpath/ByteArray.java: Removed (moved). + * gnu/java/security/util/ByteArray.java: New File. + * gnu/javax/crypto/RSACipherImpl.java: Reference + gnu.java.security.util.ByteArray instead of gnu.classpath.ByteArray. + +2006-07-11 Roman Kennke + + * native/jni/java-net/gnu_java_net_local_LocalSocketImpl.c + (available): Pass fd as argument and avoid JNI class/field + lookup. + (read): Likewise. + (write): Likewise. + * include/gnu_java_net_local_LocalSocketImpl.h: + Regenerated. + * gnu/java/net/local/LocalSocketImpl.h + (available): Pass fd as argument and avoid JNI class/field + lookup. + (read): Likewise. + (write): Likewise. + +2006-07-11 Sven de Marothy + + * gnu/javax/sound/sampled/AU/AUReader.java: + Correct file extension from .as to .au. + +2006-07-11 Sven de Marothy + + * gnu/javax/sound/sampled/AU/AUReader.java: + New file. + * resource/META-INF/services/javax.sound.sampled.spi.AudioFileReader: + Added new provider. + +2006-07-11 David Gilbert + + * javax/swing/JTable.java + (setRowSelectionAllowed): Fire required PropertyChangeEvent, + (setColumnSelectionAllowed): Likewise. + +2006-07-10 Vivek Lakshmanan + + PR 27649: + * gnu/classpath/debug/Simple1LineFormatter.java: Use + AccessController.doPrivileged instead of SystemProperties.getProperty. + * gnu/classpath/debug/SystemLogger.java: Likewise. + * gnu/java/security/PolicyFile.java: Likewise and cut unnecessary + repeated getProperty calls for "file.seperator". + (refresh): Since already in privileged block, call System.getProperty + instead of SystemProperties.getProperty. + * gnu/java/security/key/dss/DSSKey.java + (toString): Use AccessController.doPrivileged instead of + SystemProperties.getProperty. + * gnu/java/security/key/dss/DSSPrivateKey.java + (toString): Likewise. + * gnu/java/security/key/dss/DSSPublicKey.java + (toString): Likewise. + * gnu/java/security/key/rsa/GnuRSAKey.java + (toString): Likewise. + * gnu/java/security/key/rsa/GnuRSAPrivateKey.java + (toString): Likewise. + * gnu/java/security/key/rsa/GnuRSAPublicKey.java + (toString): Likewise. + * gnu/javax/crypto/sasl/plain/PasswordFile.java: Likewise. + * gnu/javax/crypto/key/dh/GnuDHKey.java + (toString): Likewise. + * gnu/javax/crypto/key/dh/GnuDHPrivateKey.java + (toString): Likewise. + * gnu/javax/crypto/key/dh/GnuDHPublicKey.java + (toString): Likewise. + +2006-07-11 David Gilbert + + * javax/swing/AbstractButton.java + (disabledIcon): Fixed name (was 'disabeldIcon'), + (getDisabledIcon): Updated for corrected field name, + (setDisabledIcon): Fire a PropertyChangeEvent. + +2006-07-11 David Gilbert + + * javax/swing/DefaultBoundedRangeModel.java + (readObject): New private method, + (writeObject): Likewise. + +2006-07-11 David Gilbert + + * javax/swing/ButtonGroup.java + (add): Ignore null argument, + (remove): Ignore null argument. If removing selected button, clear the + sel field, + (findButton): Changed case for method name, and documented, + (setSelected): Updated for modification to findButton() method name, + (isSelected): Updated API docs. + +2006-07-11 David Gilbert + + * java/awt/image/BufferedImage.java + (BufferedImage(int, int, int)): Use correct color space for + TYPE_BYTE_GRAY and TYPE_USHORT_GRAY, and throw an + IllegalArgumentException for an unrecognised type. + +2006-07-10 Andrew John Hughes + + * java/lang/management/ManagementFactory.java: + (getMemoryPoolMXBeans): Genericized fully. + (getMemoryManagerMXBeans): Likewise. + (getGarbageCollectorMXBeans): Likewise. + +2006-07-10 Tom Tromey + + * java/lang/management/ManagementFactory.java (getMemoryPoolMXBeans): + Genericized. + (getMemoryManagerMXBeans): Likewise. + (getGarbageCollectorMXBeans): Likewise. + +2006-07-10 Mario Torre + + * java/awt/BasicStroke.java: Removed unused import. + * gnu/java/awt/java2d/CubicSegment.java (clone): Fixed. + * gnu/java/awt/java2d/LineSegment.java (clone): Fixed. + * gnu/java/awt/java2d/QuadSegment.java (clone): Fixed. + +2006-07-10 Matt Wringe + + PR classpath/28212: + * javax/crypto/spec/SecretKeySpec.java + (equals): Check object type. + +2006-07-10 Audrius Meskauskas + + * examples/gnu/classpath/examples/CORBA/SimpleCommunication/ + communication/StructureToPassHelper.java, + examples/gnu/classpath/examples/CORBA/SimpleCommunication/ + communication/StructureToReturnHelper.java, + examples/gnu/classpath/examples/CORBA/SimpleCommunication/ + communication/TreeNodeHelper.java, + examples/gnu/classpath/examples/CORBA/SimpleCommunication/ + communication/WeThrowThisExceptionHelper.java, + gnu/CORBA/ForwardRequestHelper.java, + org/omg/CORBA/CompletionStatusHelper.java, + org/omg/CORBA/CurrentHelper.java, + org/omg/CORBA/DefinitionKindHelper.java, + org/omg/CORBA/IDLTypeHelper.java, + org/omg/CORBA/NameValuePairHelper.java, + org/omg/CORBA/ObjectHelper.java, + org/omg/CORBA/ParameterModeHelper.java, + org/omg/CORBA/PolicyErrorCodeHelper.java, + org/omg/CORBA/PolicyErrorHelper.java, + org/omg/CORBA/PolicyHelper.java, + org/omg/CORBA/PolicyListHelper.java, + org/omg/CORBA/PolicyTypeHelper.java, + org/omg/CORBA/ServiceDetailHelper.java, + org/omg/CORBA/ServiceInformationHelper.java, + org/omg/CORBA/SetOverrideTypeHelper.java, + org/omg/CORBA/StringValueHelper.java, + org/omg/CORBA/UnionMemberHelper.java, + org/omg/CORBA/UnknownUserExceptionHelper.java, + org/omg/CORBA/VisibilityHelper.java, + org/omg/CORBA/WStringValueHelper.java, + org/omg/CORBA/WrongTransactionHelper.java, + org/omg/CosNaming/BindingHelper.java, + org/omg/CosNaming/BindingIteratorHelper.java, + org/omg/CosNaming/BindingListHelper.java, + org/omg/CosNaming/BindingTypeHelper.java, + org/omg/CosNaming/NameComponentHelper.java, + org/omg/CosNaming/NameHelper.java, + org/omg/CosNaming/NamingContextExtHelper.java, + org/omg/CosNaming/NamingContextExtPackage/AddressHelper.java, + org/omg/CosNaming/NamingContextExtPackage/InvalidAddressHelper.java, + org/omg/CosNaming/NamingContextExtPackage/StringNameHelper.java, + org/omg/CosNaming/NamingContextExtPackage/URLStringHelper.java, + org/omg/CosNaming/NamingContextHelper.java, + org/omg/CosNaming/NamingContextPackage/AlreadyBoundHelper.java, + org/omg/CosNaming/NamingContextPackage/CannotProceedHelper.java, + org/omg/CosNaming/NamingContextPackage/InvalidNameHelper.java, + org/omg/CosNaming/NamingContextPackage/NotEmptyHelper.java, + org/omg/CosNaming/NamingContextPackage/NotFoundHelper.java, + org/omg/CosNaming/NamingContextPackage/NotFoundReasonHelper.java, + org/omg/DynamicAny/AnySeqHelper.java, + org/omg/DynamicAny/DynAnyFactoryHelper.java, + org/omg/DynamicAny/DynAnyFactoryPackage/InconsistentTypeCodeHelper.java, + org/omg/DynamicAny/DynAnyHelper.java, + org/omg/DynamicAny/DynAnyPackage/InvalidValueHelper.java, + org/omg/DynamicAny/DynAnyPackage/TypeMismatchHelper.java, + org/omg/DynamicAny/DynAnySeqHelper.java, + org/omg/DynamicAny/DynArrayHelper.java, + org/omg/DynamicAny/DynEnumHelper.java, + org/omg/DynamicAny/DynFixedHelper.java, + org/omg/DynamicAny/DynSequenceHelper.java, + org/omg/DynamicAny/DynStructHelper.java, + org/omg/DynamicAny/DynUnionHelper.java, + org/omg/DynamicAny/DynValueHelper.java, + org/omg/DynamicAny/NameDynAnyPairHelper.java, + org/omg/DynamicAny/NameDynAnyPairSeqHelper.java, + org/omg/DynamicAny/NameValuePairHelper.java, + org/omg/DynamicAny/NameValuePairSeqHelper.java, + org/omg/IOP/CodecFactoryHelper.java, + org/omg/IOP/CodecFactoryPackage/UnknownEncodingHelper.java, + org/omg/IOP/CodecPackage/FormatMismatchHelper.java, + org/omg/IOP/CodecPackage/InvalidTypeForEncodingHelper.java, + org/omg/IOP/CodecPackage/TypeMismatchHelper.java, + org/omg/IOP/ComponentIdHelper.java, + org/omg/IOP/IORHelper.java, + org/omg/IOP/MultipleComponentProfileHelper.java, + org/omg/IOP/ProfileIdHelper.java, + org/omg/IOP/ServiceContextHelper.java, + org/omg/IOP/ServiceContextListHelper.java, + org/omg/IOP/ServiceIdHelper.java, + org/omg/IOP/TaggedComponentHelper.java, + org/omg/IOP/TaggedProfileHelper.java, + org/omg/PortableInterceptor/AdapterManagerIdHelper.java, + org/omg/PortableInterceptor/AdapterNameHelper.java, + org/omg/PortableInterceptor/AdapterStateHelper.java, + org/omg/PortableInterceptor/CurrentHelper.java, + org/omg/PortableInterceptor/ForwardRequestHelper.java, + org/omg/PortableInterceptor/IORInterceptor_3_0Helper.java, + org/omg/PortableInterceptor/InvalidSlotHelper.java, + org/omg/PortableInterceptor/ORBInitInfoPackage/DuplicateNameHelper.java, + org/omg/PortableInterceptor/ORBInitInfoPackage/InvalidNameHelper.java, + org/omg/PortableInterceptor/ObjectReferenceFactoryHelper.java, + org/omg/PortableInterceptor/ObjectReferenceTemplateHelper.java, + org/omg/PortableInterceptor/ObjectReferenceTemplateSeqHelper.java, + org/omg/PortableServer/CurrentHelper.java, + org/omg/PortableServer/CurrentPackage/NoContextHelper.java, + org/omg/PortableServer/ForwardRequestHelper.java, + org/omg/PortableServer/POAHelper.java, + org/omg/PortableServer/POAManagerPackage/AdapterInactiveHelper.java, + org/omg/PortableServer/POAPackage/AdapterAlreadyExistsHelper.java, + org/omg/PortableServer/POAPackage/AdapterNonExistentHelper.java, + org/omg/PortableServer/POAPackage/InvalidPolicyHelper.java, + org/omg/PortableServer/POAPackage/NoServantHelper.java, + org/omg/PortableServer/POAPackage/ObjectAlreadyActiveHelper.java, + org/omg/PortableServer/POAPackage/ObjectNotActiveHelper.java, + org/omg/PortableServer/POAPackage/ServantAlreadyActiveHelper.java, + org/omg/PortableServer/POAPackage/ServantNotActiveHelper.java, + org/omg/PortableServer/POAPackage/WrongAdapterHelper.java, + org/omg/PortableServer/POAPackage/WrongPolicyHelper.java, + org/omg/PortableServer/ServantActivatorHelper.java, + org/omg/PortableServer/ServantLocatorHelper.java: Remove the + typecode caching and always use OrbRestricted.Singleton. + +2006-07-09 Tom Tromey + + * java/util/logging/LoggingMXBean.java (getLoggerNames): Genericized. + +2006-07-09 Mark Wielaard + + * gnu/java/awt/peer/gtk/ComponentGraphics.java (hasXRenderExtension): + New static final boolean field. + (getComponentGraphics): Use hasXRenderExtension. + (setClip): Override method for locking. + +2006-07-09 David Gilbert + + * javax/swing/AbstractButton.java + (setHorizontalTextPosition): Added check for illegal argument, + (setVerticalTextPosition): Likewise. + +2006-07-09 David Gilbert + + * javax/swing/Timer.java + (setDelay): Throw IllegalArgumentException for negative delay, + (setInitialDelay): Likewise, + * javax/swing/ToolTipManager.java + (setInitialDelay): Document IllegalArgumentException, + (setDismissDelay): Likewise, + (setReshowDelay): Likewise. + +2006-07-09 Andrew John Hughes + + * java/lang/management/MemoryUsage.java: + (from(javax.management.openmbean.CompositeData)): + Implemented. + * java/lang/management/ThreadInfo.java: + Changed to use open types throughout for the state. + (ThreadInfo(long,String,String,long,long,String, + long,String,long,long,boolean,StackTraceElement[])): + New constructor. + (checkAttribute(javax.management.openmbean.CompositeType, + String, javax.management.openmbean.OpenType)): New method. + (from(javax.management.openmbean.CompositeData)): + Implemented. + (getLockName()): Fixed to use new variable. + (getLockOwnerId()): Likewise. + (getLockOwnerName()): Likewise. + (getThreadId()): Likewise. + (getThreadName()): Likewise. + (getThreadState()): Likewise. + (toString()): Refactored to use new variables. + * javax/management/openmbean/ArrayType.java: + New file. + * javax/management/openmbean/CompositeType.java: + Variables should be transient, not volatile. + * javax/management/openmbean/OpenDataException.java: + (serialVersionUID): Added. + * javax/management/openmbean/SimpleType.java: + New file. + * javax/management/openmbean/TabularType.java + Variables should be transient, not volatile. + +2006-07-09 Tom Tromey + + * tools/.cvsignore: Updated for new tools. + +2006-07-09 Andrew John Hughes + + * javax/management/openmbean/CompositeData.java, + * javax/management/openmbean/CompositeType.java, + * javax/management/openmbean/OpenDataException.java, + * javax/management/openmbean/OpenType.java, + * javax/management/openmbean/TabularData.java, + * javax/management/openmbean/TabularType.java, + * javax/management/openmbean/package.html: + New files. + +2006-07-09 Mark Wielaard + + * gnu/javax/print/ipp/IppRequest.java: Remove double assignment. + * gnu/java/rmi/server/UnicastServerRef.java: Likewise. + * gnu/java/rmi/server/ActivatableServerRef.java: Likewise. + +2006-07-08 Anthony Green + + * gnu/javax/sound/sampled/WAV/WAVReader.java, + resource/META-INF/services/javax.sound.sampled.spi.AudioFileReader: + New files. + +2006-07-09 Mario Torre + + * native/jni/gconf-peer/GConfNativePeer.c: + Fixed indentation to be more compliant to the GNU coding + guidelines. + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1unset): + Added explicit test for errors in the GConf backend. + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1get_1string): + Added explicit test for errors in the GConf backend. + Fixed Segmentation Fault when non valid key names are given as input. + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1set_1string): + likewise. + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1dir_1exists): + Added explicit test for errors in the GConf backend. + * gnu/java/util/prefs/gconf/GConfNativePeer.java: + Added javadoc comments for all native methods. + (nodeExist): removed test to check for valid absolute path name + for nodes. + (startWatchingNode): likewise. + (stopWatchingNode): likewise. + (setString): likewise, plus fixed javadoc comments. + (unset): likekwise. + (getKey): likewise. + (getKeys): likewise, also fixed javadoc comments. + (getChildrenNodes): likewise. + * gnu/java/util/prefs/GConfBasedPreferences.java: + changed DEFAULT_USER_ROOT to /apps/classpath. + (constructor): Test to check for a valid absolute path for nodes + is now in the contructor for that node, instead of being on + each method of the backend. + (getGConfKey): removed empty new line. + +2006-07-08 Mark Wielaard + + * .classpath: Add gnu/java/awt/peer/x/ to excludes. + +2006-07-08 Audrius Meskauskas + + * javax/swing/text/FlowView.java (FlowStrategy.layoutRow): + Handle the forced break in the same way as exceeding the + available row space. + * javax/swing/text/html/HRuleView.java: Rewritten. + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.addSpecialElement):Reserve two characters for + the special elements. + * examples/gnu/classpath/examples/swing/HtmlDemo.java + (text): Extended the HTML example to parse. + +2006-07-07 David Gilbert + + * javax/swing/AbstractButton.java + (setHorizontalAlignment): Check for illegal argument, + (setVerticalAlignment): Likewise. + +2006-07-07 Audrius Meskauskas + + * javax/swing/text/html/TableView.java + (getStyleSheet): New method. (RowView.getStyleSheet): + New method. + +2006-07-07 David Gilbert + + * javax/swing/AbstractButton.java + (setRolloverIcon): Call setRolloverEnabled(true), + (setRolloverSelectedIcon): Likewise. + +2006-07-07 David Gilbert + + * javax/swing/border/TitledBorder.java + (setTitlePosition): Added message to exception, + (setTitleJustification): Likewise. + +2006-07-07 David Gilbert + + * javax/swing/plaf/metal/MetalLookAndFeel.java + (createDefaultTheme): Corrected API docs, + (initComponentDefaults): Added entry for 'TitledBorder.border', + (getCurrentTheme): Initialise theme if it is null. + +2006-07-07 Roman Kennke + + * java/awt/Component.java + (isValid): Return false when component has no peer, + don't query the showing state. + +2006-07-07 Audrius Meskauskas + + * javax/swing/text/FlowView.java (FlowStrategy.layoutRow): + Advance the offset also in the case of the enforced break. + +2006-07-07 David Gilbert + + * javax/swing/plaf/basic/BasicArrowButton.java + (MAXIMUM_SIZE): Removed field, + (MINIMUM_SIZE): Likewise, + (PREFERRED_SIZE): Likewise, + (getMaximumSize): Return new instance every time, + (getMinimumSize): Likewise, + (getPreferredSize): Likewise. + +2006-07-07 Roman Kennke + + * java/awt/LightweightDispatcher.java + (findTarget): Avoid array copying in + Container.getComponents(). + +2006-07-07 Roman Kennke + + * javax/swing/JComponent.java + (paintChildrenWithOverlap): Avoid array copying in + Container.getComponents(). + (paintChildrenOptimized): Avoid array copying in + Container.getComponents(). + (fireAncestorEvent): Avoid array copying in + Container.getComponents(). + (findOverlapFreeParent): Avoid array copying in + Container.getComponents(). + +2006-07-07 Matt Wringe + + * javax/crypto/spec/PBEKeySpec.java: Updated copyright year. + (passwordValid): New field. + (setPassword): New method. + (setSalt): Likewise. + (setIterationCount): Likewise. + (setKeyLength): Likewise. + (PBEKeySpec(char[])): Use new setter methods. + (PBEKeySpec(char[], byte[], int)): Likewise. + (PBEKeySpec(char[], byte[], int, int)): Likewise. + (clearPassword): Set passwordValid to false. + (getPassword): Check that clearPassword() was not called earlier. + Return a clone of the password. + (getSalt): Return a clone of the salt if it was not null. + +2006-07-07 Roman Kennke + + * java/awt/Component.java + (isValid): Always return false when component is + not showing. + (setFont): Always set font, even when setting + the same or equal font again. + +2006-07-07 David Gilbert + + * javax/swing/plaf/metal/MetalIconFactory.java + (CheckBoxMenuItemIcon): Implement UIResource, + (FileChooserDetailViewIcon): Likewise, + (FileChooserHomeFolderIcon): Likewise, + (FileChooserListViewIcon): Likewise, + (FileChooserNewFolderIcon): Likewise, + (FileChooserUpFolderIcon): Removed redundant 'implements', + (RadioButtonMenuItemIcon): Implement UIResource, + (HorizontalSliderThumbIcon): Likewise, + (InternalFrameCloseIcon): Likewise, + (InternalFrameDefaultMenuIcon): Likewise, + (InternalFrameAltMaximizeIcon): Likewise, + (InternalFrameMaximizeIcon): Likewise, + (InternalFrameMinimizeIcon): Likewise, + (VerticalSliderThumbIcon): Likewise, + (TreeHardDriveIcon): Likewise, + (TreeFloppyDriveIcon): Likewise, + (TreeComputerIcon): Likewise, + (horizontalSliderThumbIcon): New field, + (verticalSliderThumbIcon): New field, + (getHorizontalSliderThumbIcon): Cache icon, + (getVerticalSliderThumbIcon): Likewise. + +2006-07-06 Mark Wielaard + + * lib/Makefile.am (CLEANFILES): Add Makefile.deps. + (DISTCLEANFILES): Add standard.omit. + (clean-local): Remove Makefile.deps, only remove dirs. + +2006-07-06 Roman Kennke + + * java/awt/Component.java + (setFont): Only invalidate when component is valid. + * java/awt/Container.java + (setLayout): Only invalidate when component is valid. + +2006-07-06 Lillian Angel + + * gnu/java/awt/dnd/GtkMouseDragGestureRecognizer.java: + New class not fully implemented. + * gnu/java/awt/dnd/peer/gtk/GtkDragSourceContextPeer.java: + New class not fully implemented. + * gnu/java/awt/dnd/peer/gtk/GtkDropTargetPeer.java: + New class not fully implemented. + * gnu/java/awt/dnd/peer/gtk/GtkDropTargetContextPeer.java: + New class not fully implemented. + * nu/java/awt/peer/gtk/GtkToolkit.java: + Fixed Imports. + (createDragSourceContextPeer): Implemented. + (createDragGestureRecognizer): New function to override + java.awt.Toolkit.createDragGestureRecognizer. + * java/awt/dnd/DragSource.java + (NoDragGestureRecognizer): Removed inner class. + (createDragGestureRecognizer): Re-Implemented to + call Toolkit's createDragGestureRecognizer. + (createDefaultDragGestureRecognizer): Re-Implemented to + call Toolkit's createDragGestureRecognizer. + * java/awt/dnd/DropTarget.java + (addNotify): Added check to determine type of peer and call + addDropTarget. + (removeNotify): Added call to removeDropTarget. + +2006-07-06 Tom Tromey + + * gnu/java/util/prefs/EventDispatcher.java (dispatch): Notify + 'queue'. + (run): Wait on queue, not 'this'. + +2006-07-06 Lillian Angel + + * java/awt/dnd/DragSource.java + (startDrag): Implemented. Added comments describing + what the function should do. Removed FIXME. + +2006-07-06 Tania Bento + + * gnu/java/awt/Canvas.java + Added new private variable 'next_canvas_number'. + (generateName): Added. + (getUniqueLong): Added. + +2006-07-06 Audrius Meskauskas + + * gnu/javax/swing/text/html/CharacterAttributeTranslator.java + (getColor): Made public. + * javax/swing/text/html/StyleSheet.java (stringToColor): + Use CharacterAttributeTranslator.getColor(String) + +2006-07-06 Audrius Meskauskas + + * javax/swing/text/html/HTMLEditorKit.java: + (HTMLFactory.createElement): Update reference to the html table view. + * javax/swing/text/html/HTMLTableView.java: Removed (renamed). + * javax/swing/text/html/TableView.java: New file. + +2006-07-06 Audrius Meskauskas + + * javax/swing/text/html/HTMLEditorKit.java: + (HTMLFactory.createElement): Uncomment + code for BRView and HRuleView. + * javax/swing/text/html/BRView.java, + javax/swing/text/html/HRuleView.java: New files. + +2006-07-05 Andrew John Hughes + + * java/lang/Thread.java: + (getAllStackTraces(Map)): + Added generic type signature. + +2006-07-05 Andrew John Hughes + + * NEWS: Updated. + * doc/vmintegration.texinfo: Likewise. + * examples/gnu/classpath/examples/management/TestGarbageCollector.java, + * examples/gnu/classpath/examples/management/TestMemoryManager.java, + * gnu/java/lang/management/GarbageCollectorMXBeanImpl.java, + * gnu/java/lang/management/MemoryManagerMXBeanImpl.java, + * java/lang/management/GarbageCollectorMXBean.java: + New files. + * java/lang/management/ManagementFactory.java: + (getGarbageCollectorMXBeans()): Implemented. + (getMemoryManagerMXBeans()): Likewise. + * vm/reference/gnu/java/lang/management/VMGarbageCollectorMXBeanImpl.java, + * vm/reference/gnu/java/lang/management/VMMemoryManagerMXBeanImpl.java: + New files. + * vm/reference/java/lang/management/VMManagementFactory.java: + (getMemoryManagerNames()): Added. + (getGarbageCollectorNames()): Added. + +2006-07-05 Thomas Fitzsimmons + + * native/plugin/Makefile.am (nativeexeclib_LTLIBRARIES): Rename + from lib_LTLIBRARIES. + (install-plugin): Depend on nativeexeclib_LTLIBRARIES. + +2006-07-05 Lillian Angel + + * java/awt/dnd/DragGestureEvent.java: + Added new fields. + (DragGestureEvent): Initialized new fields, added to check and + added documentation. + (getSourceAsDragGestureRecognizer): Added documentation and + changed to use getSource. + (getComponent): Added documentation and fixed to return the proper + value. + (getDragSource): Likewise. + (getDragOrigin): Added documentation. + (iterator): Implemented and added documentation. + (toArray): Likewise. + (toArray): Likewise. + (getDragAction): Likewise. + (getTriggerEvent): Likewise. + (startDrag): Likewise. + * java/awt/dnd/DragGestureRecognizer.java + (resetRecognizer): Added FIXME. + * java/awt/dnd/DragSource.java: + Added new field. + (DragSource): Set ds to be null if headless. + (getDefaultDragSource): Added documentation and implemented. + (isDragImageSupported): Marked as unimplemented. + (startDrag): Likewise. + (createDragSourceContext): Implemented. + (NoDragGestureRecognizer): Formatted inner class. + * java/awt/dnd/DropTarget.java + (stop): Marked as unimplemented. + (actionPerformed): Likewise. + (addDropTargetListener): Added code to throw exception. + (removeDropTargetListener): Added check, removed FIXME. + (dragEnter): Implemented. + (dragOver): Implemented. + (dropActionChanged): Implemented. + (dragExit): Implemented. + (drop): Implemented. + (addNotify): Implemented. + (removeNotify): Implemented. + (createDropTargetContext): Implemented. + (createDropTargetAutoScroller): Implemented. + (initializeAutoscrolling): Implemented. + (updateAutoscroll): Implemented. + (clearAutoscroll): Implemented. + * java/awt/dnd/DropTargetContext.java + (dropComplete): Implemented. + (acceptDrag): Implemented. + (rejectDrag): Implemented. + (acceptDrop): Implemented. + (rejectDrop): Implemented. + (getCurrentDataFlavors): Implemented. + (getTransferable): Partially implemented. + * java/awt/dnd/DropTargetDragEvent.java + (getDropAction): Uncommented correct code. + * java/awt/dnd/DropTargetDropEvent.java + (dropComplete) :Implemented. + * java/awt/dnd/InvalidDnDOperationException.java + (InvalidDnDOperationException): Added call to super. + +2006-07-05 Robert Schuster + + * javax/swing/plaf/basic/BasicArrowButton.java: + (paint): Removed getBounds() call, changed center point + calculation. + +2006-07-05 David Gilbert + + * javax/swing/InputMap.java + (inputMap): Don't initialize yet, + (InputMap): Removed TODO, + (get): Check for null inputMap, + (put): Return immediately for null keyStroke, check for null inputMap + and initialize if necessary, + (remove): Check for null inputMap, + (size): Likewise, + (clear): Likewise, + (keys): Likewise, + (allKeys): Likewise, + (writeObject): Removed, + (readObject): Removed. + +2006-07-05 David Gilbert + + * gnu/classpath/examples/swing/TabbedPaneDemo.java + (createContent): Use different labels for buttons. + +2006-07-04 Andrew John Hughes + + * NEWS: Updated. + * doc/vmintegration.texinfo: Likewise. + * examples/gnu/classpath/examples/management/TestMemoryPool.java, + * gnu/java/lang/management/MemoryPoolMXBeanImpl.java: + New files. + * java/lang/management/ManagementFactory.java: + (getMemoryPoolMXBeans()): Implemented. + * vm/reference/gnu/java/lang/management/VMMemoryPoolMXBeanImpl.java, + * vm/reference/java/lang/management/VMManagementFactory.java: + New files. + +2006-07-04 Lillian Angel + + * java/awt/dnd/DragSourceContext.java: + Removed FIXMEs from fields. + (DragSourceContext): Added code to initialize cursor and sourceActions. + (getDragSource): Added documentation. + (getComponent): Likewise. + (getTrigger): Likewise. + (getSourceActions): Added documentation and implemented. + (setCursor): Implemented. Added documentation. + (getCursor): Implemented. Added documentation. + (dragEnter): Added code to notify DragSource's listeners. + (dragOver): Likewise. + (dragExit): Likewise. + (dropActionChanged): Likewise. + (dragDropEnd): Likewise. + (dragMouseMoved): Implemented. + (getTransferable): Added API documentation. + (updateCurrentCursor): Added API documentation and partially implemented. + +2006-07-04 Audrius Meskauskas + + * javax/swing/plaf/basic/BasicTreeUI.java (KeyHandler): Implemented. + +2006-07-04 Lillian Angel + + * java/awt/dnd/DragSourceContext.java + (DragSourceContext): Implemented fully. Fixed API docs. + (transferablesFlavorsChanged): Implemented. + (dragEnter): Implemented. + (dragOver): Implemented. + (dragExit): Implemented. + (dropActionChanged): Implemented. + (dragDropEnd): Implemented. + +2006-07-04 Lillian Angel + + * javax/swing/plaf/basic/BasicOptionPaneUI.java: + Fixed name of constant. + (getIconWidth): Changed name of constant returned. + (getIconHeight): Likewise. + (paint): Likewise. + (createSeparator): Marked as unimplemented. + * javax/swing/plaf/basic/BasicTableUI.java + (focusGained): Marked as unimplemented. + (focusLost): Marked as unimplemented. + (mouseEntered): Likewise. + (mouseMoved): Likewise. + (uninstallDefaults): Likewise. + * javax/swing/plaf/basic/BasicToolBarUI.java + (mouseClicked): Changed comment. + (mouseEntered): Likewise. + (mouseExited): Likewise. + (mouseMoved): Likewise. + (setOrientation): Implemented. + (ToolBarFocusListener): Marked as unimplemented. + (focusGained): Marked as unimplemented. + (focusLost): Marked as unimplemented. + +2006-07-04 Audrius Meskauskas + + PR 28061 + * javax/swing/plaf/basic/BasicTreeUI.java (isLocationInExpandControl): + Mind the effect of the root visibility on the position of the control. + Quess icon width 18. (paintVerticalPartOfLeg): Do no paint the + vertical line over first level nodes. + +2006-07-04 Lillian Angel + + * javax/swing/plaf/basic/BasicMenuUI.java + (installKeyboardActions): Implemented to call super. Nothing else + needs to be done here. + (setupPostTimer): Marked as unimplemented. + (uninstallKeyboardActions): Implemented to call super. Nothing else + needs to be done here. + (mouseMoved): Removed TODO. Nothing to be done here. + (ChangeHandler): Implemented. + (menuDragMouseExited): Removed TODO. Nothing to be done here. + (menuDragMouseReleased): Removed TODO. Nothing to be done here. + (menuKeyReleased): Removed TODO. Nothing to be done here. + (menuKeyTyped): Marked as unimplemented. + +2006-07-04 Audrius Meskauskas + + PR 28061 + * gnu/javax/swing/plaf/gnu/GNULookAndFeel.java + (getDefaults): Set hash color to black. + * javax/swing/plaf/basic/BasicLookAndFeel.java + (initComponentDefaults): Set hash color to grey blue. + * javax/swing/plaf/basic/BasicTreeUI.java + (instellDefaults): Set hash color. + * javax/swing/plaf/metal/MetalIconFactory.java + (TreeControlIcon.paint): Rewritten. + +2006-07-04 Audrius Meskauskas + + PR 28061 + * javax/swing/plaf/basic/BasicTreeUI.java (MouseHandler.mousePressed): + Always cancel the current editing session before doing anything else, + return immediately if this fails. + (TreeHomeAction): Ensure that the lead selection path is visible after + the action is performed. TreeIncrementAction: Likewise. TreeToggleAction: + Likewise. TreeTraverseAction: Likewise. + +2006-07-04 Audrius Meskauskas + + PR 28061 + * javax/swing/plaf/basic/BasicTreeUI.java (MouseHandler.mousePressed): + Returned back the code to handle the start of the click-pause-click + editing initiation, explained about this code. + (TreeStartEditingAction): New inner class. + (stopEditingInCompleteEditing): Explained about this field. + (completeEditing(boolean, boolean, boolean): Only return early + if there is no current editing session. + (createDefaultActions): Install TreeStartEditingAction and + TreeCancelEditingAction. + +2006-07-04 Mario Torre + + * configure.ac: Added new option --enable-default-preferences-peer + to pass user specified default preference backend. + If the GConf peer is built, GConf become the default backend. + * resource/META-INF/services/java.util.prefs.PreferencesFactory.in: + new file. + * lib/Makefile.am: excludes files terminating in 'in' from + the metafiles list. + * lib/copy-vmresources.sh.in: excludes files terminating in 'in' + from copy into META-INF. + * java/util/prefs/Preferences.java: added two new import + classes gnu.classpath.ServiceFactory and java.util.Iterator. + (getFactory): Now try to check for + a system defined default preference backend before to fall back on + FileBasedPreference. + +2006-07-04 Audrius Meskauskas + + PR 28061 + * javax/swing/JTree.java (COLLAPSED): Initialise to Boolean.FALSE. + (EXPANDED): Initialise to Boolean.TRUE. + * javax/swing/plaf/basic/BasicTreeUI.java (completeUIInstall): + First configure layout cache and then set the assigned value + as row mapper. Set the root visibility property. + (toggleExpandState): Obtains expansion state from the layout cache. + +2006-07-03 Andrew John Hughes + + * java/lang/management/MemoryPoolMXBean.java: + New file. + +2006-07-03 Raif S. Naffah + + * gnu/javax/crypto/RSACipherImpl.java: Source formatting. + +2006-07-03 Raif S. Naffah + + * gnu/javax/crypto/sasl/anonymous/AnonymousClient.java: Source formatting. + * gnu/javax/crypto/sasl/anonymous/AnonymousServer.java: Likewise. + * gnu/javax/crypto/sasl/anonymous/AnonymousUtil.java: Likewise. + * gnu/javax/crypto/sasl/crammd5/CramMD5AuthInfoProvider.java: Likewise. + * gnu/javax/crypto/sasl/crammd5/CramMD5Client.java: Likewise. + * gnu/javax/crypto/sasl/crammd5/CramMD5Registry.java: Likewise. + * gnu/javax/crypto/sasl/crammd5/CramMD5Server.java: Likewise. + * gnu/javax/crypto/sasl/crammd5/CramMD5Util.java: Likewise. + * gnu/javax/crypto/sasl/crammd5/PasswordFile.java: Likewise. + * gnu/javax/crypto/sasl/plain/PasswordFile.java: Likewise. + * gnu/javax/crypto/sasl/plain/PlainAuthInfoProvider.java: Likewise. + * gnu/javax/crypto/sasl/plain/PlainClient.java: Likewise. + * gnu/javax/crypto/sasl/plain/PlainRegistry.java: Likewise. + * gnu/javax/crypto/sasl/plain/PlainServer.java: Likewise. + * gnu/javax/crypto/sasl/srp/CALG.java: Likewise. + * gnu/javax/crypto/sasl/srp/ClientStore.java: Likewise. + * gnu/javax/crypto/sasl/srp/IALG.java: Likewise. + * gnu/javax/crypto/sasl/srp/KDF.java: Likewise. + * gnu/javax/crypto/sasl/srp/PasswordFile.java: Likewise. + * gnu/javax/crypto/sasl/srp/SecurityContext.java: Likewise. + * gnu/javax/crypto/sasl/srp/ServerStore.java: Likewise. + * gnu/javax/crypto/sasl/srp/SRP.java: Likewise. + * gnu/javax/crypto/sasl/srp/SRPAuthInfoProvider.java: Likewise. + * gnu/javax/crypto/sasl/srp/SRPClient.java: Likewise. + * gnu/javax/crypto/sasl/srp/SRPRegistry.java: Likewise. + * gnu/javax/crypto/sasl/srp/SRPServer.java: Likewise. + * gnu/javax/crypto/sasl/srp/StoreEntry.java: Likewise. + * gnu/javax/crypto/sasl/AuthInfo.java: Likewise. + * gnu/javax/crypto/sasl/AuthInfoProviderFactory.java: Likewise. + * gnu/javax/crypto/sasl/ClientFactory.java: Likewise. + * gnu/javax/crypto/sasl/ClientMechanism.java: Likewise. + * gnu/javax/crypto/sasl/ConfidentialityException.java: Likewise. + * gnu/javax/crypto/sasl/IAuthInfoProvider.java: Likewise. + * gnu/javax/crypto/sasl/IAuthInfoProviderFactory.java: Likewise. + * gnu/javax/crypto/sasl/IllegalMechanismStateException.java: Likewise. + * gnu/javax/crypto/sasl/InputBuffer.java: Likewise. + * gnu/javax/crypto/sasl/IntegrityException.java: Likewise. + * gnu/javax/crypto/sasl/NoSuchMechanismException.java: Likewise. + * gnu/javax/crypto/sasl/NoSuchUserException.java: Likewise. + * gnu/javax/crypto/sasl/OutputBuffer.java: Likewise. + * gnu/javax/crypto/sasl/SaslEncodingException.java: Likewise. + * gnu/javax/crypto/sasl/SaslInputStream.java: Likewise. + * gnu/javax/crypto/sasl/SaslOutputStream.java: Likewise. + * gnu/javax/crypto/sasl/SaslUtil.java: Likewise. + * gnu/javax/crypto/sasl/ServerFactory.java: Likewise. + * gnu/javax/crypto/sasl/ServerMechanism.java: Likewise. + * gnu/javax/crypto/sasl/UserAlreadyExistsException.java: Likewise. + +2006-07-02 Anthony Green + + * gnu/javax/sound/midi/file/MidiFileWriter.java (writeTrack): Make + sure that every track written ends with an End Of Track meta + message. + +2006-07-02 Andrew John Hughes + + * java/lang/management/MemoryUsage.java: + (toString()): Fix missing MB for maximum memory usage. + +2006-07-02 Andrew John Hughes + + * NEWS: + Updated to include VMCompilationMXBeanImpl. + * doc/vmintegration.texinfo: + Likewise, along with update to VMMemoryMXBeanImpl + as below. + * examples/gnu/classpath/examples/management/TestCompilation.java, + * gnu/java/lang/management/CompilationMXBeanImpl.java, + * java/lang/management/CompilationMXBeanImpl.java: + New files. + * java/lang/management/ManagementFactory.java: + (getCompilationMXBean()): Implemented. + * vm/reference/gnu/java/lang/management/VMCompilationMXBeanImpl.java: + New file. + * vm/reference/gnu/java/lang/management/VMMemoryMXBeanImpl.java: + (getHeapMemoryUsage()): Added default implementation. + +2006-07-02 Anthony Green + + * NEWS: Mention MIDI file reader/writer providers. + +2006-07-02 Anthony Green + + * resource/META-INF/services/javax.sound.midi.spi.MidiFileWriter, + gnu/javax/sound/midi/file/MidiFileWriter.java, + gnu/javax/sound/midi/file/MidiDataOutputStream.java: New files. + +2006-07-01 Andrew John Hughes + + * NEWS: + Updated to include VMMemoryMXBeanImpl. + * doc/vmintegration.texinfo: Likewise. + * examples/gnu/classpath/examples/management/TestMemory.java: + New file. + * gnu/java/lang/management/ClassLoadingMXBeanImpl.java: + Remove redundant import. + * gnu/java/lang/management/MemoryMXBeanImpl.java: + New file. + * gnu/java/lang/management/ThreadMXBeanImpl.java: + Remove redundant import. + * java/lang/management/ManagementFactory.java: + (getMemoryMXBean()): Implemented. + * java/lang/management/MemoryMXBean.java, + * java/lang/management/MemoryUsage.java: + New files. + * java/lang/management/ThreadInfo.java: + (toString()): Updated documentation. + * vm/reference/gnu/java/lang/management/VMMemoryMXBeanImpl.java: + New file. + +2006-07-01 Anthony Green + + * resource/META-INF/services/javax.sound.midi.spi.MidiFileReader, + gnu/javax/sound/midi/file/MidiFileReader.java, + gnu/javax/sound/midi/file/ExtendedMidiFileFormat.java, + gnu/javax/sound/midi/file/MidiDataInputStream.java: New files. + +2006-07-02 Raif S. Naffah + + * gnu/javax/crypto/prng/ARCFour.java: Source formatting. + * gnu/javax/crypto/prng/CSPRNG.java: Likewise. + * gnu/javax/crypto/prng/Fortuna.java: Likewise. + * gnu/javax/crypto/prng/ICMGenerator.java: Likewise. + * gnu/javax/crypto/prng/PBKDF2.java: Likewise. + * gnu/javax/crypto/prng/PRNGFactory.java: Likewise. + * gnu/javax/crypto/prng/UMacGenerator.java: Likewise. + +2006-07-02 Raif S. Naffah + + * gnu/javax/crypto/pad/BasePad.java: Source formatting. + * gnu/javax/crypto/pad/IPad.java: Likewise. + * gnu/javax/crypto/pad/PadFactory.java: Likewise. + * gnu/javax/crypto/pad/PKCS1_V1_5.java: Likewise. + * gnu/javax/crypto/pad/PKCS7.java: Likewise. + * gnu/javax/crypto/pad/SSL3.java: Likewise. + * gnu/javax/crypto/pad/TBC.java: Likewise. + * gnu/javax/crypto/pad/TLS1.java: Likewise. + * gnu/javax/crypto/pad/WrongPaddingException.java: Likewise. + +2006-07-01 Anthony Green + + * javax/sound/midi/SysexMessage.java (setMessage): Fix sysex + status byte test. + (setMessage): Fix it again, in a different setMessage method. + +2006-07-02 Raif S. Naffah + + * gnu/javax/crypto/mode/BaseMode.java: Source formatting. + * gnu/javax/crypto/mode/CBC.java: Likewise. + * gnu/javax/crypto/mode/CFB.java: Likewise. + * gnu/javax/crypto/mode/CTR.java: Likewise. + * gnu/javax/crypto/mode/EAX.java: Likewise. + * gnu/javax/crypto/mode/ECB.java: Likewise. + * gnu/javax/crypto/mode/IAuthenticatedMode.java: Likewise. + * gnu/javax/crypto/mode/ICM.java: Likewise. + * gnu/javax/crypto/mode/IMode.java: Likewise. + * gnu/javax/crypto/mode/ModeFactory.java: Likewise. + * gnu/javax/crypto/mode/OFB.java: Likewise. + +2006-07-02 Raif S. Naffah + + * gnu/javax/crypto/mac/BaseMac.java: Source formatting. + * gnu/javax/crypto/mac/HMac.java: Likewise. + * gnu/javax/crypto/mac/HMacFactory.java: Likewise. + * gnu/javax/crypto/mac/IMac.java: Likewise. + * gnu/javax/crypto/mac/MacFactory.java: Likewise. + * gnu/javax/crypto/mac/MacInputStream.java: Likewise. + * gnu/javax/crypto/mac/MacOutputStream.java: Likewise. + * gnu/javax/crypto/mac/OMAC.java: Likewise. + * gnu/javax/crypto/mac/TMMH16.java: Likewise. + * gnu/javax/crypto/mac/UHash32.java: Likewise. + * gnu/javax/crypto/mac/UMac32.java: Likewise. + +2006-07-01 Anthony Green + + * javax/sound/midi/Track.java (vector, eventSet): Initialize. + +2006-07-02 Raif S. Naffah + + * gnu/javax/crypto/keyring/AuthenticatedEntry.java: Source formatting. + * gnu/javax/crypto/keyring/BaseKeyring.java: Likewise. + * gnu/javax/crypto/keyring/BinaryDataEntry.java: Likewise. + * gnu/javax/crypto/keyring/CertificateEntry.java: Likewise. + * gnu/javax/crypto/keyring/CertPathEntry.java: Likewise. + * gnu/javax/crypto/keyring/CompressedEntry.java: Likewise. + * gnu/javax/crypto/keyring/EncryptedEntry.java: Likewise. + * gnu/javax/crypto/keyring/Entry.java: Likewise. + * gnu/javax/crypto/keyring/EnvelopeEntry.java: Likewise. + * gnu/javax/crypto/keyring/GnuPrivateKeyring.java: Likewise. + * gnu/javax/crypto/keyring/GnuPublicKeyring.java: Likewise. + * gnu/javax/crypto/keyring/IKeyring.java: Likewise. + * gnu/javax/crypto/keyring/IPrivateKeyring.java: Likewise. + * gnu/javax/crypto/keyring/IPublicKeyring.java: Likewise. + * gnu/javax/crypto/keyring/MalformedKeyringException.java: Likewise. + * gnu/javax/crypto/keyring/MaskableEnvelopeEntry.java: Likewise. + * gnu/javax/crypto/keyring/MeteredInputStream.java: Likewise. + * gnu/javax/crypto/keyring/PasswordAuthenticatedEntry.java: Likewise. + * gnu/javax/crypto/keyring/PasswordEncryptedEntry.java: Likewise. + * gnu/javax/crypto/keyring/PasswordProtectedEntry.java: Likewise. + * gnu/javax/crypto/keyring/PrimitiveEntry.java: Likewise. + * gnu/javax/crypto/keyring/PrivateKeyEntry.java: Likewise. + * gnu/javax/crypto/keyring/Properties.java: Likewise. + * gnu/javax/crypto/keyring/PublicKeyEntry.java: Likewise. + +2006-07-01 David Gilbert + + * javax/swing/AbstractCellEditor.java: Source code formatting, + * javax/swing/AbstractSpinnerModel.java: Likewise, + * javax/swing/Box.java: Likewise, + * javax/swing/BoxLayout.java: Likewise, + * javax/swing/DefaultListModel.java: Likewise, + * javax/swing/GrayFilter.java: Likewise, + * javax/swing/LookAndFeel.java: Likewise, + * javax/swing/ProgressMonitor.java: Likewise, + * javax/swing/ProgressMonitorInputStream.java: Likewise, + * javax/swing/ScrollPaneLayout.java: Likewise, + * javax/swing/SpringLayout.java: Likewise, + * javax/swing/event/EventListenerList.java: Likewise, + * javax/swing/event/MenuEvent.java: Likewise, + * javax/swing/event/TreeExpansionListener.java: Likewise. + +2006-07-01 Andrew John Hughes + + * NEWS: + Mention threading bean and getState(). + * doc/vmintegration.texinfo: + Update documentation for threading bean and new + method of VMThread. + +2006-07-01 Andrew John Hughes + + * examples/gnu/classpath/examples/management/TestClassLoading.java, + * examples/gnu/classpath/examples/management/TestOS.java, + * examples/gnu/classpath/examples/management/TestRuntime.java, + * examples/gnu/classpath/examples/management/TestThread.java: + New files. + +2006-07-01 Jeroen Frijters + + * java/lang/ThreadGroup.java + (getThreadFromId, getThreadFromIdImpl): New methods. + +2006-07-01 Jeroen Frijters + + * java/lang/Thread.java: + Make thread IDs start from 1 in a more efficient way. + +2006-07-01 Andrew John Hughes + + * java/lang/Thread.java: + Make thread IDs start from 1. + +2006-07-01 Andrew John Hughes + + * gnu/java/lang/management/BeanImpl.java: + New superclass for all bean implementations. + * gnu/java/lang/management/ClassLoadingMXBeanImpl.java: + Extend BeanImpl and call permission code there. + * gnu/java/lang/management/OperatingSystemMXBeanImpl.java: + Extend BeanImpl. + * gnu/java/lang/management/RuntimeMXBeanImpl.java: + Extend BeanImpl and call permission code there. + * gnu/java/lang/management/ThreadMXBeanImpl.java: + New file. + * java/lang/management/ManagementFactory.java: + (getThreadMXBean()): Implemented. + * java/lang/management/ThreadInfo.java: + (ThreadInfo(Thread,int)): Replaced... + (ThreadInfo(Thread,long,long,Object,Thread,long,long, + boolean, boolean, StackTraceElement[])): with this. + (getBlockedCount()): Refactored to use local variables. + (getBlockedTime()): Likewise. + (getLockName()): Likewise. + (getLockOwnerId()): Likewise. + (getLockOwnerName()): Likewise. + (getStackTrace()): Likewise. + (getWaitedCount()): Likewise. + (getWaitedTime()): Likewise. + (isInNative()): Likewise. + (isSuspended()): Likewise. + (toString()): Changed to use new local variables. + * java/lang/management/ThreadMXBean.java: + (getThreadInfo(long, int)): Corrected documentation. + (getThreadInfo(long[], int)): Likewise. + * vm/reference/gnu/java/lang/management/VMThreadMXBeanImpl.java: + New file. + * vm/reference/java/lang/management/VMThreadInfo.java: + Removed. + +2006-07-01 Raif S. Naffah + + * gnu/javax/crypto/key/dh/DHKeyPairRawCodec.java: Source formatting. + * gnu/javax/crypto/key/dh/DiffieHellmanKeyAgreement.java: Likewise. + * gnu/javax/crypto/key/dh/DiffieHellmanReceiver.java: Likewise. + * gnu/javax/crypto/key/dh/DiffieHellmanSender.java: Likewise. + * gnu/javax/crypto/key/dh/ElGamalKeyAgreement.java: Likewise. + * gnu/javax/crypto/key/dh/ElGamalReceiver.java: Likewise. + * gnu/javax/crypto/key/dh/ElGamalSender.java: Likewise. + * gnu/javax/crypto/key/dh/GnuDHKey.java: Likewise. + * gnu/javax/crypto/key/dh/GnuDHKeyPairGenerator.java: Likewise. + * gnu/javax/crypto/key/dh/GnuDHPrivateKey.java: Likewise. + * gnu/javax/crypto/key/dh/GnuDHPublicKey.java: Likewise. + * gnu/javax/crypto/key/dh/RFC2631.java: Likewise. + * gnu/javax/crypto/key/srp6/SRP6Host.java: Likewise. + * gnu/javax/crypto/key/srp6/SRP6KeyAgreement.java: Likewise. + * gnu/javax/crypto/key/srp6/SRP6SaslClient.java: Likewise. + * gnu/javax/crypto/key/srp6/SRP6SaslServer.java: Likewise. + * gnu/javax/crypto/key/srp6/SRP6TLSClient.java: Likewise. + * gnu/javax/crypto/key/srp6/SRP6TLSServer.java: Likewise. + * gnu/javax/crypto/key/srp6/SRP6User.java: Likewise. + * gnu/javax/crypto/key/srp6/SRPAlgorithm.java: Likewise. + * gnu/javax/crypto/key/srp6/SRPKey.java: Likewise. + * gnu/javax/crypto/key/srp6/SRPKeyPairGenerator.java: Likewise. + * gnu/javax/crypto/key/srp6/SRPKeyPairRawCodec.java: Likewise. + * gnu/javax/crypto/key/srp6/SRPPrivateKey.java: Likewise. + * gnu/javax/crypto/key/srp6/SRPPublicKey.java: Likewise. + * gnu/javax/crypto/key/BaseKeyAgreementParty.java: Likewise. + * gnu/javax/crypto/key/GnuSecretKey.java: Likewise. + * gnu/javax/crypto/key/IKeyAgreementParty.java: Likewise. + * gnu/javax/crypto/key/IncomingMessage.java: Likewise. + * gnu/javax/crypto/key/KeyAgreementException.java: Likewise. + * gnu/javax/crypto/key/KeyAgreementFactory.java: Likewise. + * gnu/javax/crypto/key/OutgoingMessage.java: Likewise. + +2006-07-01 Roman Kennke + + * gnu/java/awt/java2d/AbstractGraphics2D.java + (transform): Make field protected. + (getDestinationRaster): Provide default implementation for + previously abstract method. + +2006-06-30 Tania Bento + + * java/awt/TextArea.java + (TextArea(String, int, int, int)): No longer throws + IllegalArgumentException if rows, columns, or scrollbarVisibility + values are invalid. + (TextArea(String, int, int, int)): If rows or columns are < 0, + they get set to 0. If scrollbarVisibility is < 0 or > 4, it + gets set to the default value of 0 (SCROLLBARS_BOTH). + (appendText): Added case when peer = null. + (insertText): Added case when peer == null. + (replaceText): Added case when peer == null. + * java/awt/TextComponent.java + (TextComponent(String)): If text == null, set it to "". + +2006-06-30 Lillian Angel + + * gnu/java/awt/peer/gtk/GtkCheckboxPeer.java + (create): Added synchronized block around groupMap.get calls. + (setCheckboxGroup): Likewise. + +2006-06-30 Lillian Angel + + * gnu/java/awt/peer/gtk/GtkCheckboxPeer.java + (create): Changed to be non-synchronized. + (setLabel): Likewise. + (setCheckboxGroup): Likewise. + (addToGroupMap): Likewise. Added synchronized block around + code. + (dispose): Changed to be non-synchronized. + +2006-06-30 Lillian Angel + + * gnu/java/awt/peer/gtk/GtkCheckboxPeer.java: + Changed all return values of native functions to void. + (create): Changed function to be synchronized. Removed + call to put value in groupMap, this is now done from + the native code. + (setState): Changed function to be synchronized. + (setLabel): Changed function to be synchronized. + (setCheckboxGroup): Changed function to be synchronized. Removed + call to put value in groupMap, this is now done from + the native code. + (postItemEvent): Changed function to be synchronized. + (addToGroupMap): New function. Called by native code to add + new value to the group. + (dispose): Changed function to be synchronized. + * include/gnu_java_awt_peer_gtk_GtkCheckboxPeer.h: Updated + all functions. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c + (cp_gtk_checkbox_init_jni): Added code to link to + java function. + (Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_createRadioButton): + Changed return value to void. Added call + to java function to set pointer in groupMap. + (Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_addtoGroup): Likewise. Also, + changed check to an assert. Also, removed call to set/del pointer. + (Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_removeFromGroup): + Likewise. Also, added check to determine if native_group should be + set to NULL. + (Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_switchToGroup): Likewise. + +2006-06-30 Sven de Marothy + + * gnu/java/awt/ClasspathToolkit.java, + * gnu/java/awt/peer/x/XToolkit.java, + * gnu/java/awt/peer/qt/QtToolkit.java, + * gnu/java/awt/peer/gtk/GtkToolkit.java, + Remove ClasspathTextLayoutPeer. + * gnu/java/awt/peer/gtk/GdkTextLayout.java, + * gnu/java/awt/peer/ClasspathTextLayoutPeer: + Files removed. + +2006-06-30 Sven de Marothy + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java: + (drawGlyphVector): Don't draw empty vectors. + +2006-06-30 Lillian Angel + Tom Fitzsimmons + + * gnu/java/awt/peer/gtk/GtkCheckboxGroupPeer.java: Removed class. + * gnu/java/awt/peer/gtk/GtkCheckboxPeer.java: + Added current_group, groupMap fields. Added definitions for + new native functions. + (create): Removed FIXME. Added code to create the check button or + radio button when appropriate. Updated groupMap to contain + pointer to the newly created group. + (setCheckboxGroup): Added code to handle all cases. Removing + a button from a group, adding a button to a group, or changing the + group of a button. + (dispose): Changed to call super. + * include/Makefile.am: Removed reference to + gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.h. + * include/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.h: Removed file. + * include/gnu_java_awt_peer_gtk_GtkCheckboxPeer.h: Added definitions + for new functions. + * native/jni/gtk-peer/Makefile.am: Removed reference to + gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.c. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.c: + Removed file. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c + (Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_combobox_get_widget): + Renamed to checkbox_get_widget. + (Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_connectSignals): + Changed to use checkbox_get_widget. + (Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_nativeSetCheckboxGroup): + Removed. + (Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_gtkWidgetModifyFont): + Changed to use checkbox_get_widget. + (Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_gtkButtonSetLabel): + Likewise. + (Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_createCheckButton): + New function. Creates checkbutton without a group. + (Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_createRadioButton): + Creates a radio button in a group, using groupPointer. If groupPointer + is 0, then a new group is created. + (Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_addToGroup): Adds the + check button to a group, using groupPointer. A radio button is created + in its place. If groupPointer is 0, then a new group is created. + (Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_removeFromGroup): The + radio button is removed from the group. A check button is created in + its place. + (Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_switchToGroup): The + radio button is moved to a new group. + +2006-06-30 Mark Wielaard + + * configure.ac: Move standard.omit creation after dirs are created. + Cat standard.omit.in from srcdir. Make exclude regex more explicit. + * lib/Makefile.am (EXTRA_DIST): Add standard.omit.in. + (clean-local): Remove standard.omit. + * lib/gen-classlist.sh.in: Use omit file in build dir. + * lib/standard.omit.in: Make exclude regex more explicit. + +2006-06-30 Roman Kennke + + * lib/Makefile.am: Added Escher dir/jar to classpath when + requested. + * configure.ac: Moved handling of standard.omit to a place + where it actually gets executed. + +2006-06-30 David Gilbert + + * java/awt/TextComponent.java: Reformatted source code, + * java/awt/TextField.java: Likewise. + +2006-06-29 Jeroen Frijters + + * java/lang/Thread.java: + (getState()): Handle case of no VMThread + correctly. + +2006-06-29 Andrew John Hughes + + * java/lang/Thread.java, + * java/lang/VMThread.java: + Reverted patch from 2006-06-28. + +2006-06-29 Roman Kennke + + * gnu/java/awt/peer/x/GLGraphics.java, + * gnu/java/awt/peer/x/ImageConverter.java, + * gnu/java/awt/peer/x/KeyboardMapping.java, + * gnu/java/awt/peer/x/XEventPump.java, + * gnu/java/awt/peer/x/XFontPeer.java, + * gnu/java/awt/peer/x/XFontPeer2.java, + * gnu/java/awt/peer/x/XFramePeer.java, + * gnu/java/awt/peer/x/XGraphics.java, + * gnu/java/awt/peer/x/XGraphics2D.java, + * gnu/java/awt/peer/x/XGraphicsConfiguration.java, + * gnu/java/awt/peer/x/XGraphicsDevice.java, + * gnu/java/awt/peer/x/XGraphicsEnvironment.java, + * gnu/java/awt/peer/x/XImage.java, + * gnu/java/awt/peer/x/XLightweightPeer.java, + * gnu/java/awt/peer/x/XToolkit.java, + * gnu/java/awt/peer/x/XWindowPeer.java, + * gnu/java/awt/peer/x/fonts.properties: New files. + * lib/standard.omit: Removed. + * lib/standard.omit.in: Added. + * configure.ac: Added configure option --with-escher. Added some + configury for omitting gnu.java.awt.peer.x package when + this option is not specified. + +2006-06-29 David Gilbert + + * javax/swing/JComponent.java + (JComponent()): Initialize the locale here, not the default locale, + (getDefaultLocale): If null, return Locale.getDefault(), + (setDefaultLocale): Added API docs. + +2006-06-29 Tania Bento + + * java/awt/Container.java + (applyComponentOrientation): Implemented method. + +2006-06-29 Gary Benson + + * java/io/File.java (listRoots): Merge security checks from libgcj. + +2006-06-29 Gary Benson + + * java/io/FilePermission.java (implies): Work when path is "/". + +2006-06-28 Andrew John Hughes + + * java/lang/Thread.java: + (Thread(ThreadGroup,Runnable,String,long)): Update + state. + (Thread(VMThread,String,int,boolean)): Likewise. + (join(long,int)): Likewise. + (resume()): Likewise. + (sleep(long,int)): Likewise. + (start()): Likewise. + (stop()): Likewise. + (suspend()): Likewise. + (die()): Likewise. + (getState()): Return either state or use VMThread. + * java/lang/VMThread.java: + (getState()): Added default implementation to return + thread.state + +2006-06-28 Andreas Tobler + + * gnu/java/awt/peer/gtk/CairoSurface.java: Swap the data from the + GdkPixbuf correctly on big endian systems. Fix a typo in the little + endian swapping code. + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c + (Java_gnu_java_awt_peer_gtk_GtkImage_getPixels): Swap the pixeldata + without alpha information correctly on big endian systems. + +2006-06-28 Roman Kennke + + * gnu/java/net/local/LocalSocket.java + (setSoTimeout): Don't throw exception and ignore request. + (getSoTimeout): Don't throw exception and always return 0. + +2006-06-28 David Gilbert + + * javax/swing/JComponent.java + (getRegisteredKeyStrokes): Implemented. + +2006-06-28 David Gilbert + + * javax/swing/JComponent.java + (verifyInputWhenFocusTarget): Initialise to true. + +2006-06-28 David Gilbert + + * java/beans/VetoableChangeSupport.java + (addVetoableChangeListener(VetoableChangeListener)): Do nothing for + null listener, + (addVetoableChangeListener(String, VetoableChangeListener)): Do nothing + for null property name and/or listener, + * javax/swing/JComponent.java + (getListeners): Handle VetoableChangeListener.class as a special case, + (getVetoableChangeListeners): Fetch these from the + vetoableChangeSupport object. + +2006-06-28 David Gilbert + + * javax/swing/JComponent.java + (componentPopupMenu): New field, + (inheritsPopupMenu): New field, + (getInheritsPopupMenu): Implemented, + (setInheritsPopupMenu): Likewise, + (getComponentPopupMenu): Likewise, + (setComponentPopupMenu): Likewise, + * javax/swing/JLabel.java + (JLabel(String, Icon, int)): Set inheritsPopupMenu to true. + +2006-06-28 Raif S. Naffah + + * gnu/javax/crypto/key/dh/GnuDHPublicKey.java (str): New field. + (toString): New method. + * gnu/javax/crypto/key/dh/GnuDHPrivateKey.java (str): New field. + (toString): New method. + * gnu/javax/crypto/key/dh/GnuDHKey.java (str): New field. + (toString): New method. + * gnu/javax/crypto/key/dh/DHKeyPairPKCS8Codec.java (encodePrivateKey): + Handle case when Q is null. + (decodePrivateKey): Likewise. + * gnu/javax/crypto/key/dh/DHKeyPairX509Codec.java (encodePublicKey): + Likewise. + (decodePublicKey): Likewise. + * gnu/javax/crypto/jce/GnuCrypto.java (run): Added AlgorithmParameters + aliases for all block ciphers. + * gnu/javax/crypto/jce/DiffieHellmanImpl.java (result): Changed to byte[]. + (engineDoPhase): Compute fully the shared secret. + (checkState): New method. + (reset): Likewise. + (engineGenerateSecret()): Reset key-agreement before returning. + (engineGenerateSecret(byte[],int)): Check for short-buffer. + Reset key-agreement before returning. + (engineGenerateSecret(String)): Reset key-agreement before returning. + (engineInit(Key,SecureRandom)): Call reset() before returning. + * gnu/javax/crypto/jce/params/BlockCipherParameters.java (log): New field. + (engineInit): Replace printing to System.out with conditional logging. + * gnu/javax/crypto/jce/cipher/CipherAdapter.java (engineInitHandler): + When the key-size is not specified, attempt best effort to find a suitable + value among those advertised by the cipher before setting it to the length + of provided key material. + +2006-06-28 David Gilbert + + * javax/swing/table/DefaultTableColumnModel.java + (changeEvent): Don't initialize yet, removed FIXME, + (fireColumnModelChanged): Initialize changeEvent if necessary. + +2006-06-27 Andrew John Hughes + + * java/lang/Thread.java: + (getAllStackTraces()): Implemented. + (getStackTrace()): Likewise. + +2006-06-27 Tania Bento + + * java/awt/Component.java + (setComponentOrientation): NPE should not be thrown. + +2006-06-27 Tom Tromey + + * configure.ac: Create gjar, gnative2ascii, gserialver. + * tools/gappletviewer.in: Quote $@. + * tools/gkeytool.in: Likewise. + * tools/gjarsigner.in: Likewise. + * tools/gjar.in: New file. + * tools/gnative2ascii.in: Likewise. + * tools/gserialver.in: Likewise. + * tools/Makefile.am (bin_PROGRAMS): Added gjar, gnative2ascii, + gserialver. + (bin_SCRIPTS): Likewise. + +2006-06-27 Andrew John Hughes + + * java/lang/management/ThreadMXBean.java: + (getThreadInfo(long[])): Corrected return type. + (getThreadInfo(long[], int)): Likewise. + +2006-06-27 Mark Wielaard + + * java/awt/datatransfer/Clipboard.java (addFlavorListener): Do + nothing when listener is null. + (removeFlavorListener): Likewise. + + * java/awt/datatransfer/DataFlavor.java + (getRepresentationClassFromMime): Renamed to + getRepresentationClassFromMimeThrows. + (isRepresentationClassInputStream): Use Class.isAssignableFrom(). + (isRepresentationClassSerializable): Likewise. + (isFlavorJavaFileListType): Likewise and check primary and + subtype. + (getParameter): Parameters are separated by semi-colons. + (DataFlavor(Class,String,String)): Do some sanity checks. + (DataFlavor(String,String,ClassLoader)): Call + getRepresentationClassFromMimeThrows. + (DataFlavor(String)): Likewise. + (equals(DataFlavor)): Special case primary type text and charset + parameter. + +2006-06-27 David Gilbert + + * java/awt/Component.java + (setName): Fire required PropertyChangeEvent, + * java/awt/Label.java + (getText): Removed redundant brackets, + (generateName): New method (override), + (nextLabelNumber): New field, + (getUniqueLong): New method. + +2006-06-27 Roman Kennke + + * gnu/java/awt/peer/swing/SwingComponentPeer.java + (createImage): Delegate this to the parent. + (handleEvent): Only handle PAINT/UPDATE events when the + component is actually showing. + (hide): Repaint the parent after hiding a component. + (prepareImage): Have only one return point. + (setVisible): Delegate to show() and hide(). + (createVolatileImage): Added null check to avoid NPE. + +2006-06-27 David Gilbert + + * java/awt/Label.java: Reformatted source code. + +2006-06-27 Roman Kennke + + * java/awt/image/BufferedImage.java + (getSource): Use a fixed DirectColorModel to deliver the + RGB pixels to the ImageConsumer. + +2006-06-27 David Gilbert + + * java/awt/Point.java + (setLocation(double, double)): Round to nearest integer coordinates. + +2006-06-27 David Gilbert + + * java/awt/Component.java + (minSizeSet): New field, + (maxSize): Likewise, + (maxSizeSet): Likewise, + (isMaximumSizeSet): Implemented, + (isMinimumSizeSet): Likewise, + (isPreferredSizeSet): Likewise, + (setMaximumSize): Likewise, + (setMinimumSize): Likewise, + (setPreferredSize): Likewise. + +2006-06-27 Roman Kennke + + * javax/imageio/spi/IIORegistry.java + (IIORegistry): Added BMP codec. + +2006-06-27 Mark Wielaard + + * javax/swing/JComponent.java + (firePropertyChange(String,char,char)): New override method. + +2006-06-26 Andrew John Hughes + + * java/lang/Thread.java: + (getState()): New method. + * java/lang/management/ClassLoadingMXBean.java: + Corrected class documentation. + * java/lang/management/ManagementFactory.java: + Added new temporary marked stub to get thread bean. + * java/lang/management/OperatingSystemMXBean.java: + Corrected class documentation. + * java/lang/management/RuntimeMXBean.java: + Corrected class documentation. + * java/lang/management/ThreadInfo.java, + * java/lang/management/ThreadMXBean.java: + New classes. + * vm/reference/java/lang/VMThread.java: + (getState()): New method. + * vm/reference/java/lang/management/VMThreadInfo.java: + New VM class. + +2006-06-26 Sven de Marothy + + * gnu/javax/imageio/gif/GIFFile.java + * gnu/javax/imageio/gif/GIFImageReader.java + * gnu/javax/imageio/gif/GIFImageSpi.java + * gnu/javax/imageio/gif/GIFStream.java + New files. + * javax/imageio/spi/IIORegistry.java: Load new GIF decoder plugin. + +2006-06-26 Tania Bento + + * java/awt/List.java + (List): A list should have at least 4 visible rows. + (replaceItem): Should throw an ArrayIndexOutOfBoundsException, + not an IllegalArgumentException. + (makeVisible): Should not throw an IllegalArgumentException if + the specified index is out of range. + +2006-06-26 David Gilbert + + * javax/swing/JList.java + (getNextMatch): Reimplemented to perform a circular search for the + matching item. + +2006-06-26 David Gilbert + + * javax/swing/JList.java + (init): Set default value for visibleRowCount to 8, + (setVisibleRowCount): Fire PropertyChangeEvent when value changes. + +2006-06-26 David Gilbert + + * javax/swing/JList.java + (valueIsAdjusting): Removed, + (init): Removed initialization of valueIsAdjusting field, + (getValueIsAdjusting): Fetch value from selection model, + (setValueIsAdjusting): Store value in selection model. + +2006-06-26 Roman Kennke + + * javax/swing/plaf/basic/BasicListUI.java + (installKeyboardActions): Rewritten to fit with the + ActionMap/InputMap architecture. + (uninstallKeyboardActions): Implemented. + (ListAction): Made private. Added TODO for splitting + up this bulk Action. + (ListAction.ListAction): New constructor. This one + takes a cmd parameter to be installed as actionCommand. + +2006-06-26 Raif S. Naffah + + * gnu/java/security/key/rsa/RSAKeyPairRawCodec.java: Remove RCS Revision. + * gnu/javax/crypto/assembly/DeflateTransformer.java: Likewise. + +2006-06-26 Raif S. Naffah + + * gnu/javax/crypto/jce/PBKDF2SecretKeyFactory.java: Source formatting. + * gnu/javax/crypto/jce/GnuSasl.java: Likewise. + * gnu/javax/crypto/jce/GnuCrypto.java: Likewise. + * gnu/javax/crypto/jce/DiffieHellmanImpl.java: Likewise. + * gnu/javax/crypto/jce/spec/UMac32ParameterSpec.java: Likewise. + * gnu/javax/crypto/jce/spec/TMMHParameterSpec.java: Likewise. + * gnu/javax/crypto/jce/spec/BlockCipherParameterSpec.java: Likewise. + * gnu/javax/crypto/jce/sig/DHKeyFactory.java: Likewise. + * gnu/javax/crypto/jce/prng/UMacRandomSpi.java: Likewise. + * gnu/javax/crypto/jce/prng/ICMRandomSpi.java: Likewise. + * gnu/javax/crypto/jce/prng/FortunaImpl.java: Likewise. + * gnu/javax/crypto/jce/prng/CSPRNGSpi.java: Likewise. + * gnu/javax/crypto/jce/prng/ARCFourRandomSpi.java: Likewise. + * gnu/javax/crypto/jce/params/DERWriter.java: Likewise. + * gnu/javax/crypto/jce/params/DERReader.java: Likewise. + * gnu/javax/crypto/jce/params/DEREncodingException.java: Likewise. + * gnu/javax/crypto/jce/params/BlockCipherParameters.java: Likewise. + * gnu/javax/crypto/jce/mac/UMac32Spi.java: Likewise. + * gnu/javax/crypto/jce/mac/UHash32Spi.java: Likewise. + * gnu/javax/crypto/jce/mac/TMMH16Spi.java: Likewise. + * gnu/javax/crypto/jce/mac/OMacTwofishImpl.java: Likewise. + * gnu/javax/crypto/jce/mac/OMacTripleDESImpl.java: Likewise. + * gnu/javax/crypto/jce/mac/OMacSquareImpl.java: Likewise. + * gnu/javax/crypto/jce/mac/OMacSerpentImpl.java: Likewise. + * gnu/javax/crypto/jce/mac/OMacRijndaelImpl.java: Likewise. + * gnu/javax/crypto/jce/mac/OMacKhazadImpl.java: Likewise. + * gnu/javax/crypto/jce/mac/OMacImpl.java: Likewise. + * gnu/javax/crypto/jce/mac/OMacDESImpl.java: Likewise. + * gnu/javax/crypto/jce/mac/OMacCast5Impl.java: Likewise. + * gnu/javax/crypto/jce/mac/OMacBlowfishImpl.java: Likewise. + * gnu/javax/crypto/jce/mac/OMacAnubisImpl.java: Likewise. + * gnu/javax/crypto/jce/mac/MacAdapter.java: Likewise. + * gnu/javax/crypto/jce/mac/HMacWhirlpoolSpi.java: Likewise. + * gnu/javax/crypto/jce/mac/HMacTigerSpi.java: Likewise. + * gnu/javax/crypto/jce/mac/HMacSHA512Spi.java: Likewise. + * gnu/javax/crypto/jce/mac/HMacSHA384Spi.java: Likewise. + * gnu/javax/crypto/jce/mac/HMacSHA256Spi.java: Likewise. + * gnu/javax/crypto/jce/mac/HMacSHA160Spi.java: Likewise. + * gnu/javax/crypto/jce/mac/HMacRipeMD160Spi.java: Likewise. + * gnu/javax/crypto/jce/mac/HMacRipeMD128Spi.java: Likewise. + * gnu/javax/crypto/jce/mac/HMacMD5Spi.java: Likewise. + * gnu/javax/crypto/jce/mac/HMacMD4Spi.java: Likewise. + * gnu/javax/crypto/jce/mac/HMacMD2Spi.java: Likewise. + * gnu/javax/crypto/jce/mac/HMacHavalSpi.java: Likewise. + * gnu/javax/crypto/jce/keyring/GnuKeyring.java: Likewise. + * gnu/javax/crypto/jce/key/TwofishSecretKeyFactoryImpl.java: Likewise. + * gnu/javax/crypto/jce/key/TwofishKeyGeneratorImpl.java: Likewise. + * gnu/javax/crypto/jce/key/TripleDESKeyGeneratorImpl.java: Likewise. + * gnu/javax/crypto/jce/key/SquareSecretKeyFactoryImpl.java: Likewise. + * gnu/javax/crypto/jce/key/SquareKeyGeneratorImpl.java: Likewise. + * gnu/javax/crypto/jce/key/SerpentSecretKeyFactoryImpl.java: Likewise. + * gnu/javax/crypto/jce/key/SerpentKeyGeneratorImpl.java: Likewise. + * gnu/javax/crypto/jce/key/SecretKeyGeneratorImpl.java: Likewise. + * gnu/javax/crypto/jce/key/SecretKeyFactoryImpl.java: Likewise. + * gnu/javax/crypto/jce/key/RijndaelSecretKeyFactoryImpl.java: Likewise. + * gnu/javax/crypto/jce/key/RijndaelKeyGeneratorImpl.java: Likewise. + * gnu/javax/crypto/jce/key/KhazadSecretKeyFactoryImpl.java: Likewise. + * gnu/javax/crypto/jce/key/KhazadKeyGeneratorImpl.java: Likewise. + * gnu/javax/crypto/jce/key/DESSecretKeyFactoryImpl.java: Likewise. + * gnu/javax/crypto/jce/key/DESKeyGeneratorImpl.java: Likewise. + * gnu/javax/crypto/jce/key/DESedeSecretKeyFactoryImpl.java: Likewise. + * gnu/javax/crypto/jce/key/Cast5SecretKeyFactoryImpl.java: Likewise. + * gnu/javax/crypto/jce/key/Cast5KeyGeneratorImpl.java: Likewise. + * gnu/javax/crypto/jce/key/BlowfishSecretKeyFactoryImpl.java: Likewise. + * gnu/javax/crypto/jce/key/BlowfishKeyGeneratorImpl.java: Likewise. + * gnu/javax/crypto/jce/key/AnubisSecretKeyFactoryImpl.java: Likewise. + * gnu/javax/crypto/jce/key/AnubisKeyGeneratorImpl.java: Likewise. + * gnu/javax/crypto/jce/cipher/TwofishSpi.java: Likewise. + * gnu/javax/crypto/jce/cipher/TripleDESSpi.java: Likewise. + * gnu/javax/crypto/jce/cipher/SquareSpi.java: Likewise. + * gnu/javax/crypto/jce/cipher/SerpentSpi.java: Likewise. + * gnu/javax/crypto/jce/cipher/RijndaelSpi.java: Likewise. + * gnu/javax/crypto/jce/cipher/PBES2.java: Likewise. + * gnu/javax/crypto/jce/cipher/NullCipherSpi.java: Likewise. + * gnu/javax/crypto/jce/cipher/KhazadSpi.java: Likewise. + * gnu/javax/crypto/jce/cipher/DESSpi.java: Likewise. + * gnu/javax/crypto/jce/cipher/CipherAdapter.java: Likewise. + * gnu/javax/crypto/jce/cipher/Cast5Spi.java: Likewise. + * gnu/javax/crypto/jce/cipher/BlowfishSpi.java: Likewise. + * gnu/javax/crypto/jce/cipher/ARCFourSpi.java: Likewise. + * gnu/javax/crypto/jce/cipher/AnubisSpi.java: Likewise. + * gnu/javax/crypto/jce/cipher/AESSpi.java: Likewise. + +2006-06-26 David Gilbert + + * javax/swing/JList.java + (setLayoutOrientation): Check for valid argument. + +2006-06-26 Roman Kennke + + * javax/swing/JComponent.java + (firePropertyChange(String,int,int)): New method. Overrides + Component method and makes it public. + (firePropertyChange(String,boolean,boolean)): Likewise. + +2006-06-25 Vivek Lakshmanan + + * gnu/java/security/.cvsignore: New File. + * gnu/java/security/Configuration.java.in: New File. + * gnu/java/security/Properties.java: Change import from + gnu.classpath.Configuration to gnu.java.security.Configuration. + * gnu/java/security/hash/Whirlpool.java: Likewise. + * gnu/java/security/jce/sig/EncodedKeyFactory.java: Likewise. + * gnu/java/security/jce/sig/SignatureAdapter.java: Likewise. + * gnu/java/security/key/dss/DSSKeyPairGenerator.java: Likewise. + * gnu/java/security/key/dss/DSSKeyPairPKCS8Codec.java: Likewise. + * gnu/java/security/key/dss/DSSPrivateKey.java: Likewise. + * gnu/java/security/key/rsa/GnuRSAPrivateKey.java: Likewise. + * gnu/java/security/key/rsa/RSAKeyPairGenerator.java: Likewise. + * gnu/java/security/key/rsa/RSAKeyPairPKCS8Codec.java: Likewise. + * gnu/java/security/key/rsa/RSAKeyPairX509Codec.java: Likewise. + * gnu/java/security/pkcs/PKCS7SignedData.java: Likewise. + * gnu/java/security/pkcs/SignerInfo.java: Likewise. + * gnu/java/security/provider/PKIXCertPathValidatorImpl.java: Likewise. + * gnu/java/security/sig/rsa/EMSA_PSS.java: Likewise. + * gnu/java/security/sig/rsa/RSAPSSSignature.java: Likewise. + * gnu/java/security/util/Base64.java: Likewise. + * gnu/java/security/x509/X509CRL.java: Likewise. + * gnu/java/security/x509/X509CRLEntry.java: Likewise. + * gnu/java/security/x509/ext/Extension.java: Likewise. + * gnu/javax/crypto/cipher/Anubis.java: Likewise. + * gnu/javax/crypto/cipher/BaseCipher.java: Likewise. + * gnu/javax/crypto/cipher/Khazad.java: Likewise. + * gnu/javax/crypto/cipher/Rijndael.java: Likewise. + * gnu/javax/crypto/cipher/Twofish.java: Likewise. + * gnu/javax/crypto/jce/keyring/GnuKeyring.java: Likewise. + * gnu/javax/crypto/jce/prng/ICMRandomSpi.java: Likewise. + * gnu/javax/crypto/jce/prng/UMacRandomSpi.java: Likewise. + * gnu/javax/crypto/key/dh/GnuDHKeyPairGenerator.java: Likewise. + * gnu/javax/crypto/key/srp6/SRPKeyPairGenerator.java: Likewise. + * gnu/javax/crypto/keyring/Entry.java: Likewise. + * gnu/javax/crypto/keyring/EnvelopeEntry.java: Likewise. + * gnu/javax/crypto/keyring/GnuPrivateKeyring.java: Likewise. + * gnu/javax/crypto/keyring/GnuPublicKeyring.java: Likewise. + * gnu/javax/crypto/keyring/PasswordAuthenticatedEntry.java: Likewise. + * gnu/javax/crypto/keyring/PasswordEncryptedEntry.java: Likewise. + * gnu/javax/crypto/mac/OMAC.java: Likewise. + * gnu/javax/crypto/pad/BasePad.java: Likewise. + * gnu/javax/crypto/pad/PKCS1_V1_5.java: Likewise. + * gnu/javax/crypto/pad/PKCS7.java: Likewise. + * gnu/javax/crypto/pad/TBC.java: Likewise. + * gnu/javax/crypto/prng/CSPRNG.java: Likewise. + * gnu/javax/crypto/sasl/SaslInputStream.java: Likewise. + * gnu/javax/crypto/sasl/SaslOutputStream.java: Likewise. + * gnu/javax/crypto/sasl/srp/SRPClient.java: Likewise. + * gnu/javax/crypto/sasl/srp/SRPServer.java: Likewise. + * gnu/javax/security/auth/login/ConfigFileParser.java: Likewise. + * gnu/javax/security/auth/login/ConfigFileTokenizer.java: Likewise. + * gnu/javax/security/auth/login/GnuConfiguration.java + (getAppConfigurationEntry): Change reference to + gnu.classpath.Configuration.DEBUG to gnu.java.security.Configuration.DEBUG. + (getConfigFromUserHome): Likewise. + (getInputStreamFromURL): Likewise. + (getUserHome): Likewise. + (init): Likewise. + (processSecurityProperties): Likewise. + (processSystemProperty): Likewise. + (processUserHome): Likewise. + * configure.ac: Add gnu/java/security/Configuration.java to AC_CONFIG_FILES list. + * lib/Makefile.am: Remove gnu/java/security/Configuration.java when required. + + +2006-06-25 Carsten Neumann + + * javax/swing/text/DefaultCaret.java (isActive): New method. + +2006-06-26 Andrew John Hughes + + * gnu/java/lang/management/ClassLoadingMXBeanImpl.java, + * java/lang/management/ClassLoadingMXBean.java: + (getTotalLoadedClassCount()): Corrected return type. + (getUnloadedClassCount()): Likewise. + * vm/reference/gnu/java/lang/management/VMClassLoadingMXBeanImpl.java: + (getUnloadedClassCount()): Likewise. + +2006-06-25 Raif S. Naffah + + * gnu/javax/crypto/cipher/WeakKeyException.java: Source formatting. + * gnu/javax/crypto/cipher/Twofish.java: Likewise. + * gnu/javax/crypto/cipher/TripleDES.java: Likewise. + * gnu/javax/crypto/cipher/Square.java: Likewise. + * gnu/javax/crypto/cipher/Serpent.java: Likewise. + * gnu/javax/crypto/cipher/Rijndael.java: Likewise. + * gnu/javax/crypto/cipher/NullCipher.java: Likewise. + * gnu/javax/crypto/cipher/Khazad.java: Likewise. + * gnu/javax/crypto/cipher/IBlockCipherSpi.java: Likewise. + * gnu/javax/crypto/cipher/IBlockCipher.java: Likewise. + * gnu/javax/crypto/cipher/DES.java: Likewise. + * gnu/javax/crypto/cipher/CipherFactory.java: Likewise. + * gnu/javax/crypto/cipher/Cast5.java: Likewise. + * gnu/javax/crypto/cipher/Blowfish.java: Likewise. + * gnu/javax/crypto/cipher/BaseCipher.java: Likewise. + * gnu/javax/crypto/cipher/Anubis.java: Likewise. + +2006-06-25 Raif S. Naffah + + * gnu/javax/crypto/assembly/TransformerException.java: Source formatting. + * gnu/javax/crypto/assembly/Transformer.java: Likewise. + * gnu/javax/crypto/assembly/Stage.java: Likewise. + * gnu/javax/crypto/assembly/PaddingTransformer.java: Likewise. + * gnu/javax/crypto/assembly/Operation.java: Likewise. + * gnu/javax/crypto/assembly/ModeStage.java: Likewise. + * gnu/javax/crypto/assembly/LoopbackTransformer.java: Likewise. + * gnu/javax/crypto/assembly/Direction.java: Likewise. + * gnu/javax/crypto/assembly/DeflateTransformer.java: Likewise. + * gnu/javax/crypto/assembly/CascadeTransformer.java: Likewise. + * gnu/javax/crypto/assembly/CascadeStage.java: Likewise. + * gnu/javax/crypto/assembly/Cascade.java: Likewise. + * gnu/javax/crypto/assembly/Assembly.java: Likewise. + +2006-06-24 Andrew John Hughes + + * NEWS, + * doc/vmintegration.texinfo: + Updated with information on new VM interface. + * gnu/java/lang/management/ClassLoadingMXBeanImpl.java, + * java/lang/management/ClassLoadingMXBean.java: + New files implementing the class loading bean. + * java/lang/management/ManagementFactory.java: + (getClassLoadingMXBean()): Implemented. + * vm/reference/gnu/java/lang/management/VMClassLoadingMXBeanImpl.java: + New VM interface file. + +2006-06-24 Andrew John Hughes + + * gnu/java/lang/management/RuntimeMXBeanImpl.java: + (isBootClassPathSupported()): Use SystemProperties + rather than System.getProperty. + +2006-06-24 Raif S. Naffah + + * gnu/java/security/Properties.java: Source formatting. + * gnu/java/security/Registry.java: Likewise. + +2006-06-24 Raif S. Naffah + + * gnu/java/security/util/Util.java: Source formatting. + * gnu/java/security/util/SimpleList.java: Likewise. + * gnu/java/security/util/Sequence.java: Likewise. + * gnu/java/security/util/PRNG.java: Likewise. + * gnu/java/security/util/ExpirableObject.java: Likewise. + * gnu/java/security/util/Base64.java: Likewise. + * gnu/java/security/sig/SignatureFactory.java: Likewise. + * gnu/java/security/sig/ISignatureCodec.java: Likewise. + * gnu/java/security/sig/ISignature.java: Likewise. + * gnu/java/security/sig/BaseSignature.java: Likewise. + * gnu/java/security/sig/rsa/RSAPSSSignatureRawCodec.java: Likewise. + * gnu/java/security/sig/rsa/RSAPSSSignature.java: Likewise. + * gnu/java/security/sig/rsa/RSAPKCS1V1_5Signature.java: Likewise. + * gnu/java/security/sig/rsa/RSA.java: Likewise. + * gnu/java/security/sig/rsa/EMSA_PSS.java: Likewise. + * gnu/java/security/sig/rsa/EMSA_PKCS1_V1_5.java: Likewise. + * gnu/java/security/sig/rsa/EME_PKCS1_V1_5.java: Likewise. + * gnu/java/security/sig/dss/DSSSignatureRawCodec.java: Likewise. + * gnu/java/security/sig/dss/DSSSignature.java: Likewise. + * gnu/java/security/provider/X509CertificateFactory.java: Likewise. + * gnu/java/security/provider/PKIXCertPathValidatorImpl.java: Likewise. + * gnu/java/security/provider/Gnu.java: Likewise. + * gnu/java/security/prng/RandomEventListener.java: Likewise. + * gnu/java/security/prng/RandomEvent.java: Likewise. + * gnu/java/security/prng/PRNGFactory.java: Likewise. + * gnu/java/security/prng/MDGenerator.java: Likewise. + * gnu/java/security/prng/LimitReachedException.java: Likewise. + * gnu/java/security/prng/IRandom.java: Likewise. + * gnu/java/security/prng/EntropySource.java: Likewise. + * gnu/java/security/prng/BasePRNG.java: Likewise. + +2006-06-23 Francis Kung + + * examples/gnu/classpath/examples/java2d/J2dBenchmarkGUI.java + (Harness.actionPerformed): Process additional options. + (J2dBenchmarkWrapper): Defer init call until after options are processed. + (J2dBenchmarkWrapper.setAlias): New method. + (J2dBenchmarkWrapper.setComposite): New method. + (J2dBenchmarkWrapper.setFill): New method. + (J2dBenchmarkWrapper.setRotation): New method. + (J2dBenchmarkWrapper.setShear): New method. + (J2dBenchmarkWrapper.setStroke): New method. + (J2dBenchmarkWrapper.setTranslation): New method. + (run): Add additional options to GUI. + * examples/gnu/classpath/examples/java2d/J2dBenchmark.java: + Added protected fields for various options. + (GraphicsTest.runSet_noClipping): Reset graphics settings between tests. + (GraphicsTest.runSet_withClipping): Reset graphics settings between tests. + (GraphicsTest.runSet_zeroClipping): Reset graphics settings between tests. + (getNextColor): Renamed to setRandom. + (init): Load additional image for texturing if needed. + (loadBufferedImage): New method. + (main): Accept additional command-line switches. + (prepareGraphics): New method. + (resetGraphics): New method. + (runTestSuite): Accept additional image-processing options. + (setRandom): Renamed from getNextColor; generate various random options + (test_drawArc): Rename getNextColor to setRandom. + (test_drawCubic): Likewise. + (test_drawEllipse): Likewise. + (test_drawGeneralPath): Likewise. + (test_drawImage): Likewise. + (test_drawLine): Likewise. + (test_drawQuadCurve): Likewise. + (test_drawRectangle): Likewise. + (test_drawRoundRectangle): Likewise. + (test_drawTransparentImage): Likewise. + (test_fillArc): Rename getNextColor to setRandom. + (test_fillEllipse): Likewise. + (test_fillGeneralPath): Likewise. + (test_fillRectangle): Likewise. + (test_fillRoundRectangle): Likewise. + (TestRecorder.getAverage): Round the average time. + +2006-06-23 Tom Tromey + + * java/util/logging/LoggingMXBean.java: New file. + * java/util/logging/LogManager.java (LOGGING_MXBEAN_NAME): New field. + (loggingBean): New field. + (getLoggingMXBean): New method. + +2006-06-23 Tania Bento + + * java/awt/TextField.java + (TextField): Default number of columns should be 0, not 1. + (TextField): Check if number of columns given as argument + is valid (>= 0) and set the number of columns accordingly. + (TextField): Check if the string passed is null. If it is, + set columns to 0, else columns is set to the length of + the string. + +2006-06-23 Roman Kennke + + * javax/swing/plaf/basic/BasicInternalFrameUI.java + (InternalFramePropertyChangeListener.propertyChange): + Don't call getPropertyName() repeatedly. Added null checks + to avoid NPEs. Call closeFrame() if the closed property + changes. + +2006-06-23 Roman Kennke + + * javax/swing/JInternalFrame.java + (maxTransition): Removed. + (JInternalFrame): Set maxium=false. Initialize desktopIcon here. + Don't initialize storedBounds here. + (dipose): Rewritten to correctly dispose the JInternalFrame. + (getDesktopIcon): Don't initialize desktopIcon here. + (getLayer): Delegate to JLayeredPane.getLayer(). + (getNormalBounds): Return bounds when storedBounds == null, + otherwise storedBounds. + (hide): Don't change selection. Also hide the desktopIcon. + (moveToBack): Call getParent() only once. + (moveToFront): Call getParent() only once. + (pack): Call validate() to make sure that the layout is + propagated to the children. + (setClosed): Fire InternalFrameEvent first, before the + PropertyVetoEvent. + (setJMenuBar): Fire PropertyChangeEvent for this property. + (setLayer): Delegate to JLayeredPane. + (setLayeredPane): Check for null and throw IllegalArgumenException. + (setMaximum): Remove handling of maxTransition and normalBounds. + Should probably be done in the UI. + (setNormalBounds): Store Rectangle object directly, not a copy. + (setRootPane): Go into rootPaneCheckingEnabled mode so that + adding the RootPane doesn't add it to the contentPane. + Fire PropertyChangeEvent. + (setSelected): Added condition for when this property must not + be changed. + (show): Don't ask the DesktopPane to select the frame. Moved + code around to fire InternalFrameEvent before actually calling + super.show(). Also make the desktopIcon visible. + (setTitle): Fire PropertyChangeEvent unconditionally. + +2006-06-23 Roman Kennke + + * javax/swing/JLayeredPane.java + (getPosition): Moved code around to avoid unnecessary method calls. + (setPosition): Delegate to setLayer(). + (insertIndexForLayer(int,int)): Delegate to new private helper method. + (insertIndexForLayer(Component,int,int)): New helper method + to support the use of setComponentZOrder() which doesn't remove + the component and thus the insertIndexForLayer must ignore + the component to be moved to get the index right. + (setLayer): Added check to prevent unnecessary execution of + method body. Changed to update the component order here. + Added repaint() to make sure that the update becomes visible. + (addImpl): Call setLayer() only when a constraint has been specified. + Validate and repaint the JLayeredPane. + +2006-06-23 Roman Kennke + + * java/awt/Container.java + (getComponentZOrder): Use ncomponents instead of + component.length so that we don't consider the empty space + after the last component. + +2006-06-22 Roman Kennke + + * javax/swing/JComponent.java + (vetoableChangeSupport): New field. + (removeVetoableChangeListener): Rewritten to use + vetoableChangeSupport. + (addVetoableChangeListener): Rewritten to use + vetoableChangeSupport. + (fireVetoableChange): Rewritten to use + vetoableChangeSupport. + (addPropertyChangeListener): Removed. This is handled in + Component already. + (firePropertyChange(String,boolean,boolean)): Likewise. + (firePropertyChange(String,char,char)): Likewise. + (firePropertyChange(String,int,int)): Likewise. + (revalidate): Don't do anything when the commponent has no + parent. + +2006-06-22 David Gilbert + + * javax/swing/JLabel.java: Updated API docs. + +2006-06-22 Robert Schuster + + * java/awt/Insets.java: Updated copyright year. + (toString): Changed string, removed a line from the + documentation. + +2006-06-22 Roman Kennke + + * javax/swing/text/AbstractDocument.java + (AbstractDocument): Set the i18n document property. + (removeImpl): Added checks for correct boundaries. + +2006-06-22 Roman Kennke + + * javax/swing/text/PlainDocument.java + (rootElement): Changed type to Element. + (tabSize): Removed field. This is stored in the document properties + instead. + (PlainDocument): Set tabSize property. Init rootElement without + cast. + (insertUpdate): Rewritten. The previous implementation did not + handle some corner cases properly and was a mess. + (removeUpdate): Cast rootElement to BranchElement. + +2006-06-22 David Gilbert + + * javax/swing/plaf/basic/BasicLabelUI.java + (installKeyboardActions): Implemented, + (uninstallKeyboardActions): Implemented, + (propertyChange): Add handling for 'displayedMnemonic' and 'labelFor' + properties. + +2006-06-22 Robert Schuster + + * javax/swing/JMenu.java: + (removeAll): Added check for popupMenu not being null. + +2006-06-22 David Gilbert + + * javax/swing/JLabel.java + (getText): Updated API docs, + (setText): Corrected the check for an unchanged value, and the update + of the displayedMnemonicIndex. + +2006-06-22 David Gilbert + + * javax/swing/JLabel.java + (setDisplayedMnemonic(int)): Fire property change event AFTER updating + field, + (setDisplayedMnemonicIndex): Modified argument checking to handle case + where label text is null. + +2006-06-22 David Gilbert + + * javax/swing/JLabel.java + (setDisplayedMnemonic): Updated API docs, + (getDisplayedMnemonic): Removed unnecessary type-cast, + (setDisplayedMnemonicIndex): Removed unnecessary validation, + (getDisplayedMnemonicIndex): Updated API docs. + +2006-06-21 Jeroen Frijters + + * java/util/Collections (entrySet): Fixed compile error. + +2006-06-21 David Gilbert + + * javax/swing/DefaultListSelectionModel.java + (getSelectionMode): Updated API docs, + (setAnchorSelectionIndex): Added ListSelectionEvent generation, + (addSelectionInterval): If mode is SINGLE_SELECTION, just call + setSelectionInterval(), + (setSelectionInterval): Reimplemented SINGLE_SELECTION and + SINGLE_INTERVAL_SELECTION cases. + +2006-06-21 Roman Kennke + + * javax/swing/text/AbstractDocument.java + (BranchElement.numChildren): New field. + (BranchElement.BranchElement): Initialize children array with + one element (that's the least number of elements that makes sense). + Initialize numChildren. + (BranchElement.children): Use numChildren as boundary. + (BranchElement.getElement): Use numChildren as boundary. + (BranchElement.getElementCount): Use numChildren as boundary. + (BranchElement.getElementIndex): Use numChildren as boundary. + (BranchElement.getEndOffset): Use numChildren as boundary. + (BranchElement.getStartOffset): Use numChildren as boundary. + (BranchElement.positionToElement): Use numChildren as boundary. + (BranchElement.replace): Handle the children array more efficiently + by growing in blocks > 1, and reusing space from removed elements. + (LeafElement.startDelta): Removed. + (LeafElement.endDelta): Removed. + (LeafElement.LeafElement): Removed handling of deltas. + (LeafElement.getEndOffset): Likewise. + (LeafElement.getStartOffset): Likewise. + * javax/swing/text/JTextComponent.java + (setDocument): Added locking of the old document to avoid dangling + notification beeing delivered while the document is beeing + disconnected. + (getScrollableTracksViewportWidth): Fixed condition. + * javax/swing/text/PlainDocument.java + (createDefaultRoot): Create elements without AttributeSet. + * javax/swing/text/rtf/RTFParser.java + (parseFile): Handle slightly incorrect RTF gracefully. + * javax/swing/text/rtf/RTFScanner.java + (lastToken): New field. + (readTokenImpl): New method. + (peekToken): New method. + (readToken): Changed to call readTokenImpl or return the lastToken + if there's one present. + +2006-06-21 Tania Bento + + * javax/swing/JMenu.java + (remove): An IllegalArgumentException should be thrown if + either index < 0 or if index > 0 and there are no menu + components. Also, a check was added that ensures there are + menu components before removing the desired the component. + +2006-06-21 Lillian Angel + + * javax/swing/text/DefaultCaret.java + (install): Added check to prevent NPE. + (propertyChange): Added checks to prevent NPEs. + +2006-06-21 Tania Bento + + * javax/swing/JMenu.java + Changed instantiation of popupMenu to null. + (JMenu): Instantiated popupMenu to new JPopupMenu. + (JMenu): Instantiated popupMenu to new JPopupMenu. + (add): Changed popupMenu to getPopupMenu(). + (add): Changed popupMenu to getPopupMenu(). + (add): Changed popupMenu to getPopupMenu(). + (add): Changed popupMenu to getPopupMenu(). + (remove): Changed popupMenu to getPopupMenu(). + (remove): Changed popupMenu to getPopupMenu(). + (insert): Changed popupMenu to getPopupMenu(). + (setSelectedHelper): Changed popupMenu to getPopupMenu(). + (isPopupMenuVisible): Changed popupMenu to getPopupMenu(). + (setPopupMenuVisible): Changed popupMenu to getPopupMenu(). + (getMenuComponentCount): Changed popupMenu to getPopupMenu(). + (getMenuComponents): Changed popupMenu to getPopupMenu(). + (getPopupMenu): Check first if popupMenu is null and if so, + instantiate it to a new JPopupMenu and set the invoker. + * javax/swing/plaf/basic/BasicPopupMenuUI.java + (popupMenuWillBecomeVisible): Component Listener should only + be added to the root container if the root container is not + null. This avoids a null pointer exception. + +2006-06-21 Tania Bento + + * javax/swing/JMenu.java + (JMenu): Delay should be set to 200, not default of 0. + (JMenu): Delay should be set to 200, not default of 0. + (JMenu): Delay should be set to 200, not default of 0. + (JMenu): Delay should be set to 200, not default of 0. + (remove): Added check that index >= 0 before removing + the component. + (getItem): Return null if item count equals 0. + (isTearOff): Should throw new error and not return false. + (getMenuComponent): Return null if popupMenu is null or + if there are no menu components. + +2006-06-21 Roman Kennke + + * java/awt/font/FontRenderContext.java: + (equals): Added special conditions for affineTransform beeing + null. + +2006-06-21 Roman Kennke + + * javax/swing/UIManager.java + (MultiplexUIDefaults.clear): Removed method. The fallback UIDefaults + must not be cleared. + +2006-06-21 Roman Kennke + + * javax/swing/plaf/metal/MetalUtils.java + (paintHorizontalGradient): Use paintHorizontalGradient2D when + Graphics2D is available. Use fillRect instead of drawLine, this + is much faster. + (paintVerticalGradient): Use paintHorizontalGradient2D when + Graphics2D is available. Use fillRect instead of drawLine, this + is much faster. + (paintHorizontalGradient2D): New method. Paints gradient + using Graphics2D functions. + (paintVerticalGradient2D): New method. Paints gradient + using Graphics2D functions. + +2006-06-21 Roman Kennke + + * javax/swing/plaf/basic/BasicButtonListener.java + (propertyChange): Create a TextLayout and store it in the button + when the 'text' property changes. + * javax/swing/plaf/basic/BasicButtonUI.java + (paintText): Call BasicGraphicsUtils utility method for + drawing strings, instead of Graphics.drawString(). + * javax/swing/plaf/basic/BasicGraphicsUtils.java + (CACHE_TEXT_LAYOUT): New constant field. Used as a key for storing + cached text layouts as client properties in JComponents. + (drawString(JComponent,Graphics,String,int,int)): New helper method. + (drawStringUnderlineCharAt): New helper method. + * javax/swing/plaf/basic/BasicMenuItemUI.java + (PropertyChangeHandler.propertyChange): Update cached text layout + when 'text' property changes. Use equals() instead of == for + string comparison. + (paintText): Use new BasicGraphicsUtils methods for painting + the cached text layout. + (installListeners): Call super.installListeners() and remove + the unneeded listener installs. + (uninstallListeners): Call super.uninstallListeners() and remove + the unneeded listener uninstalls. + +2006-06-21 Roman Kennke + + * javax/swing/plaf/basic/BasicTextUI.java + (PropertyChangeHandler.propertyChange): Handle document listener + update here. + (background): Removed unneeded fields. + (inactiveBackground): Remove unneeded fields. + (installUI): Install the document listener. Slightly changed + order of operations. Don't trigger modelChanged(). + (installDefaults): Only install properties when the + current properties are null or instances of UIResource. + (installListeners): Removed unnecessary listener installs. + (installDocumentListeners): Removed unneeded method. + (uninstallListeners): Removed unnecessary listener uninstalls. + (modelChanged): Removed call to installDocumentListeners(). + * javax/swing/plaf/basic/BasicTextFieldUI.java + (propertyChange): Update the colors by fetching them from + SharedUIDefaults. Fixed conditions. + * javax/swing/plaf/basic/SharedUIDefaults.java + (getColor): New method. + +2006-06-21 Roman Kennke + + * javax/swing/SizeSequence.java + (SizeSequence): Initialize array with correct number of entries. + +2006-06-21 Roman Kennke + + * javax/swing/JSplitPane.java + (setDividerLocation): Substract divider size when computing + the absolute size. + +2006-06-21 Roman Kennke + + * javax/swing/JComponent.java + (paintChildrenWithOverlap): Determine opaque property by + calling the corresponding Component method, without requiring + a JComponent. + (paintChildrenOptimized): Removed old unneeded code. + (paintImmediately): Use JComponent's convertRectangleToAncestor() + method instead of SwingUtilities.convertRectangle(). This is + more efficient. + +2006-06-21 Roman Kennke + + * javax/swing/AbstractButton.java + (init): Call setText() instead of setting the property directly, + so that listeners (especially in the UI) get notified. + +2006-06-21 Roman Kennke + + * javax/swing/UIManager.java + (MultiplexUIDefaults): New inner class. + (currentUIDefaults): Changed type to be MultiplexUIDefaults. + (userUIDefaults): Changed name to be lookAndFeelDefaults. + (): Call setLookAndFeel(String) instead of trying to load + directly. Print stacktrace if something goes wrong. + (get): Delegate call to currentUIDefaults. + (getDefaults): If currentUIDefaults is null, then lazily instantiate + it. + (getUI): Delegate call to currentUIDefaults. + (put): Delegate call to currentUIDefaults. + (setLookAndFeel): Initialize currentUIDefaults with + MultiplexUIDefaults. Set lookAndFeelDefaults. + (setLookAndFeel): Use current thread's context classloader for + loading the L&F. + +2006-06-21 Roman Kennke + + * javax/swing/text/GapContent.java + (GapContentPosition.GapContentPosition): Replace + Collections.binarySearch with call to local search() to make + sure we find the first object that equals the searched object. + (setPositionsInRange): Likewise. + (adjustPositionsInRange): Likewise. + (search): New helper method. + +2006-06-21 Gary Benson + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java: Add security check. + * gnu/java/awt/peer/qt/QtGraphics.java: Likewise. + * gnu/java/awt/java2d/AbstractGraphics2D.java: Likewise. + +2006-06-20 Thomas Fitzsimmons + + * native/plugin/Makefile.am (libgcjwebplugin_la_CXXFLAGS): Define + APPLETVIEWER_EXECUTABLE to gappletviewer. + +2006-06-20 Tom Tromey + + PR classpath/28095: + * java/net/URL.java (URL): Throw MalformedURLException if a + RuntimeException is caught. Chain exceptions. + +2006-06-20 Lillian Angel + + * gnu/java/awt/peer/gtk/GtkCheckboxPeer.java + (create): Added check to prevent Seg Fault. Should not + set the label if it is null. + * gnu/java/awt/peer/gtk/GtkLabelPeer.java + (setText): Changed to be a non-native function. Calls + setNativeText if the String parameter is non-null. + (setNativeText): Replaces old native setText function. + * include/gnu_java_awt_peer_gtk_GtkLabelPeer.h: Regenerated. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c + (Java_gnu_java_awt_peer_gtk_GtkLabelPeer_setText): Removed. + Replaced by Java_gnu_java_awt_peer_gtk_GtkLabelPeer_setNativeText. + (Java_gnu_java_awt_peer_gtk_GtkLabelPeer_setNativeText): Replaced + Java_gnu_java_awt_peer_gtk_GtkLabelPeer_setText. + +2006-06-20 Lillian Angel + + * javax/swing/text/JTextComponent.java + (AccessibleJTextComponent): Rewrote all javadocs + for this inner class. + +2006-06-20 Francis Kung + + * examples/gnu/classpath/examples/java2d/J2dBenchmark.java: + Changed many members to be protected. + (J2dBenchmark): moved to init() instead. + (init): New method. + (main): Call init() after creating object + (testComplete): New method. + (test_drawArc): Use maxTests varialbe instead of constant. + (test_drawCubicCurve): Likewise. + (test_drawEllipse): Likewise. + (test_drawGeneralPath): Likewise. + (test_drawImage): Likewise. + (test_drawLine): Likewise. + (test_drawQuadCurve): Likewise. + (test_drawRectangle): Likewise. + (test_drawRoundRectangle): Likewise. + (test_drawTransparentImage): Likewise. + (test_fillArc): Likewise. + (test_fillEllipse): Likewise. + (test_fillGeneralPath): Likewise. + (test_fillRectangle): Likewise. + (test_fillRoundRectangle): Likewise. + (GraphicsTest.runSetNoClipping): Added runCount parameter. + (GraphicsTest.runSetWithClipping): Likewise. + (GraphicsTest.runSetZeroClipping): Likewise. + (GraphicsTest.run): Added checks for more option flags. + * examples/gnu/classpath/examples/java2d/J2dBenchmarkGUI.java: + New file. + +2006-06-20 Roman Kennke + + * javax/swing/text/GapContent.java + (GapContentPosition.mark): New field. + (GapContentPosition.index): Removed. + (GapContentPosition.GapContentPosition): Changed to take the + real offset as parameter. Added handling of reference counter. + Try to cleanup before creating new instances. + (getOffset): Delegate to the Mark method with same name. + (Mark): New class, encapsulating a mark. + (positionMarks): Removed field. + (numMarks): Removed field. + (marks): New field. + (queueOfDeath): New field. + (GapContent): Removed init of old fields, added init of new fields. + (createPosition): Added check for validity of arguments. + Create GapContentPosition directly with offset. + (shiftEnd): Pass end of buffer directly to adjustPositionsInRange. + (shiftGap): Pass end of buffer directly to adjustPositionsInRange. + (shiftGapStartDown): Call resetMarksAtZero(). + (shiftGapEndUp): Call resetMarksAtZero(). + (replace): Don't call resetMarksAtZero(). + (setPositionInRange): Replaced by simpler algorithm, similar to + adjustPositionsInRange. + (adjustPositionsInRange): Adapted to use of Mark objects. + (resetMarksAtZero): Reset all marks that point to zero instead + of only the first one. + (dumpMarks): Adjusted to dump Mark objects. + (insertMark): Removed. + (garbageCollect): New method. Cleans up the marks list. + (binarySearch): Removed. + +2006-06-20 Lillian Angel + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (drawImage): Added call to updateColor because + Cairo seems to lose the current color. + +2006-06-20 Gary Benson + + * java/awt/Toolkit.java: Add security check. + * gnu/java/awt/peer/gtk/GtkToolkit.java: Likewise. + * gnu/java/awt/peer/qt/QtToolkit.java: Likewise. + +2006-06-20 Raif S. Naffah + + * gnu/java/security/key/dss/DSSKey.java: Source formatting. + * gnu/java/security/key/dss/DSSKeyPairGenerator.java: Likewise. + * gnu/java/security/key/dss/DSSKeyPairPKCS8Codec.java: Likewise. + * gnu/java/security/key/dss/DSSKeyPairRawCodec.java: Likewise. + * gnu/java/security/key/dss/DSSKeyPairX509Codec.java: Likewise. + * gnu/java/security/key/dss/DSSPrivateKey.java: Likewise. + * gnu/java/security/key/dss/DSSPublicKey.java: Likewise. + * gnu/java/security/key/dss/FIPS186.java: Likewise. + * gnu/java/security/key/rsa/GnuRSAKey.java: Likewise. + * gnu/java/security/key/rsa/GnuRSAPrivateKey.java: Likewise. + * gnu/java/security/key/rsa/GnuRSAPublicKey.java: Likewise. + * gnu/java/security/key/rsa/RSAKeyPairGenerator.java: Likewise. + * gnu/java/security/key/rsa/RSAKeyPairPKCS8Codec.java: Likewise. + * gnu/java/security/key/rsa/RSAKeyPairRawCodec.java: Likewise. + * gnu/java/security/key/rsa/RSAKeyPairX509Codec.java: Likewise. + * gnu/java/security/key/IKeyPairCodec.java: Likewise. + * gnu/java/security/key/IKeyPairGenerator.java: Likewise. + * gnu/java/security/key/KeyPairCodecFactory.java: Likewise. + * gnu/java/security/key/KeyPairGeneratorFactory.java: Likewise. + +2006-06-19 Lillian Angel + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (drawImage): Should always use getRGB to get the pixels. + getData returns an incorrect array of pixels. + +2006-06-19 Raif S. Naffah + + * gnu/java/security/jce/hash/HavalSpi.java: Source formatting. + * gnu/java/security/jce/hash/MD2Spi.java: Likewise. + * gnu/java/security/jce/hash/MD4Spi.java: Likewise. + * gnu/java/security/jce/hash/MD5Spi.java: Likewise. + * gnu/java/security/jce/hash/MessageDigestAdapter.java: Likewise. + * gnu/java/security/jce/hash/RipeMD128Spi.java: Likewise. + * gnu/java/security/jce/hash/RipeMD160Spi.java: Likewise. + * gnu/java/security/jce/hash/Sha160Spi.java: Likewise. + * gnu/java/security/jce/hash/Sha256Spi.java: Likewise. + * gnu/java/security/jce/hash/Sha384Spi.java: Likewise. + * gnu/java/security/jce/hash/Sha512Spi.java: Likewise. + * gnu/java/security/jce/hash/TigerSpi.java: Likewise. + * gnu/java/security/jce/hash/WhirlpoolSpi.java: Likewise. + * gnu/java/security/jce/prng/HavalRandomSpi.java: Likewise. + * gnu/java/security/jce/prng/MD2RandomSpi.java: Likewise. + * gnu/java/security/jce/prng/MD4RandomSpi.java: Likewise. + * gnu/java/security/jce/prng/MD5RandomSpi.java: Likewise. + * gnu/java/security/jce/prng/RipeMD128RandomSpi.java: Likewise. + * gnu/java/security/jce/prng/RipeMD160RandomSpi.java: Likewise. + * gnu/java/security/jce/prng/SecureRandomAdapter.java: Likewise. + * gnu/java/security/jce/prng/Sha160RandomSpi.java: Likewise. + * gnu/java/security/jce/prng/Sha256RandomSpi.java: Likewise. + * gnu/java/security/jce/prng/Sha384RandomSpi.java: Likewise. + * gnu/java/security/jce/prng/Sha512RandomSpi.java: Likewise. + * gnu/java/security/jce/prng/TigerRandomSpi.java: Likewise. + * gnu/java/security/jce/prng/WhirlpoolRandomSpi.java: Likewise. + * gnu/java/security/jce/sig/DSSKeyFactory.java: Likewise. + * gnu/java/security/jce/sig/DSSKeyPairGeneratorSpi.java: Likewise. + * gnu/java/security/jce/sig/DSSParameters.java: Likewise. + * gnu/java/security/jce/sig/DSSRawSignatureSpi.java: Likewise. + * gnu/java/security/jce/sig/EncodedKeyFactory.java: Likewise. + * gnu/java/security/jce/sig/KeyPairGeneratorAdapter.java: Likewise. + * gnu/java/security/jce/sig/RSAKeyFactory.java: Likewise. + * gnu/java/security/jce/sig/RSAKeyPairGeneratorSpi.java: Likewise. + * gnu/java/security/jce/sig/RSAPSSRawSignatureSpi.java: Likewise. + * gnu/java/security/jce/sig/SignatureAdapter.java: Likewise. + +2006-06-19 Raif S. Naffah + + * NEWS: Updated (delayed) for security tools and tools.texinfo. + +2006-06-19 Roman Kennke + + * gnu/java/awt/peer/gtk/ComponentGraphics.java + (drawImage): Clip volatile image correctly. + (drawVolatileImage): Added arguments for clipping. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c + (drawVolatileImage): Added arguments for clipping. Clip image + correctly. + * include/gnu_java_awt_peer_gtk_ComponentGraphics.h: Regenerated. + +2006-06-19 Audrius Meskauskas + + PR 28035 + * java/rmi/server/UID.java (constructor): Synchronized + the whole constructor on the UID class. + +2006-06-19 Roman Kennke + + * javax/swing/RepaintManager.java + (addInvalidComponent): Only add component that are displayable, + that have displayable parents and that have a validateRoot. + Also, don't validate components that have a CellRendererPane + ancestor. + +2006-06-19 David Gilbert + + * javax/swing/plaf/IconUIResource.java + (IconUIResource): Throw IllegalArgumentException for null icon. + +2006-06-18 Audrius Meskauskas + + PR 28035 + * java/rmi/server/UID.java (constructor): First increment + uidCounter, and then use the value. + +2006-06-18 Thomas Fitzsimmons + + * java/awt/GridBagLayout.java (AdjustForGravity): Implement. + * java/awt/GridBagConstraints.java: Indent. + +2006-06-18 Tom Tromey + + * native/jni/gconf-peer/.cvsignore: New file. + +2006-06-18 Tom Tromey + + * tools/gnu/classpath/tools/getopt/Parser.java (handleLongOption): + Also handle short options. + +2006-06-18 Jim Huang + + PR classpath/28076: + * native/jni/gconf-peer/Makefile.am (libgconfpeer_la_LIBADD): + Fixed typo. + +2006-06-19 Mark Wielaard + + * include/Makefile.am: gnu_java_util_prefs_gconf_%.h should depend + on gnu/java/util/prefs/gconf/%.class. + * Java_gnu_java_util_prefs_gconf_GConfNativePeer_init_1class: Fix + chache typo, should be cache. + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1gconf_1client_1all_1keys): + Declare tmp early. + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1gconf_1client_1all_1nodes): + Likewise. + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1remove_1dir): + Don't return a value for void function. + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1add_1dir) + Likewise. + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1dir_1exists): + Mark clazz as unused. Return JNI_FALSE, not NULL for jboolean + function. + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_finalize_1class): + Mark clazz ad unused. + +2006-06-18 Raif S. Naffah + + * gnu/java/security/hash/Whirlpool.java: Source formatting. + * gnu/java/security/hash/Tiger.java: Likewise. + * gnu/java/security/hash/Sha512.java: Likewise. + * gnu/java/security/hash/Sha384.java: Likewise. + * gnu/java/security/hash/Sha256.java: Likewise. + * gnu/java/security/hash/Sha160.java: Likewise. + * gnu/java/security/hash/RipeMD160.java: Likewise. + * gnu/java/security/hash/RipeMD128.java: Likewise. + * gnu/java/security/hash/MD5.java: Likewise. + * gnu/java/security/hash/MD4.java: Likewise. + * gnu/java/security/hash/MD2.java: Likewise. + * gnu/java/security/hash/IMessageDigest.java: Likewise. + * gnu/java/security/hash/Haval.java: Likewise. + * gnu/java/security/hash/HashFactory.java: Likewise. + * gnu/java/security/hash/BaseHash.java: Likewise. + +2006-06-18 Sven de Marothy + + * java/awt/event/KeyEvent.java: + (VK_WINDOWS, VK_CONTEXT_MENU, VK_BEGIN): Add new keysym fields. + * natve/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c: + Implement WINDOWS, ALT_GR and CONTEXT_MENU keysyms. + +2006-06-18 Raif S. Naffah + + * gnu/java/security/util/Prime2.java: Removed. + * gnu/java/security/key/dss/FIPS186.java: Remove unused imports. + (generateParameters): Use isProbablePrime() in BigInteger instead of Prime2. + * gnu/java/security/key/rsa/RSAKeyPairGenerator.java: Remove unused imports. + (generate): Use isProbablePrime() in BigInteger instead of Prime2. + * gnu/javax/crypto/key/dh/RFC2631.java: Remove unused imports. + (generateParameters): Use isProbablePrime() in BigInteger instead of Prime2. + * gnu/javax/crypto/key/srp6/SRPAlgorithm.java: Remove unused imports. + (checkParams): Use isProbablePrime() in BigInteger instead of Prime2. + * gnu/javax/crypto/key/srp6/SRPKeyPairGenerator.java: Remove unused imports. + (generateParameters): Use isProbablePrime() in BigInteger instead of Prime2. + * gnu/javax/net/ssl/provider/KeyPool.java: Remove unused imports. + (generateRSAKeyPair): Use isProbablePrime() in BigInteger instead of Prime2. + +2006-06-18 Sven de Marothy + + * java/awt/GridBagLayout.java (AdjustForGravity): Implement. + * java/awt/font/TextMeasurer.java: Fix copyright date, + remove commented-out code. + +2006-06-18 Sven de Marothy + + * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java + (FreetypeGlyphVector, clone): Implement cloning. + (getGlyphLogicalBounds): Bounds should be offset to the glyph position. + * java/awt/font/TextMeasurer.java: Implement. + * java/awt/font/LineBreakMeasurer.java: + Reimplement to use TextMeasurer. + * java/awt/font/TextLayout.java + New constructors. + (getBlackboxBounds, getLogicalHighlightShape): Reimplement. + (getText, getFont): New private static methods. + (setCharIndices): New method. + * java/text/AttributedString.java + (AttributedString): Fix constructor to stop at end point. + +2006-06-17 Tom Tromey + + * lib/gen-classlist.sh.in: Search all top-level directories, not + just 'org', in external. + +2006-06-12 Mario torre + + * gnu/java/util/prefs/GConfBasedPreferences.java: new class. + * gnu/java/util/prefs/GConfBasedFactory.java: new class. + * gnu/java/util/prefs/gconf/GConfNativePeer.java: new class. + * gnu_java_util_prefs_gconf_GConfNativePeer.h: generated + header file. + * classpath/native/jni/gconf-peer/GConfNativePeer.c: new C file. + * configure.ac: update to introduce new files. Added options + to build gconf native peer used by the GConf preference backend. + * include/Makefile.am: update to introduce new files. + * native/jni/Makefile.am update to introduce new files. + * scripts/check_jni_methods.sh: added three new ignored file + from check. + * native/jni/gconf-peer/Makefile.am: new Makefile needed to + build gconf-peer shared library. + +2006-06-17 Raif S. Naffah + + * gnu/java/security/jce/sig/DSSKeyPairGeneratorSpi.java: + Use Integer.valueOf() instead of new Integer(). + * gnu/java/security/jce/sig/EncodedKeyFactory.java: Likewise. + * gnu/java/security/jce/sig/RSAKeyPairGeneratorSpi.java: Likewise. + * gnu/java/security/util/Sequence.java: Likewise. + * gnu/java/security/x509/ext/GeneralNames.java: Likewise. + * gnu/java/security/x509/X509Certificate.java: Likewise. + * gnu/javax/crypto/assembly/ModeStage.java: Likewise. + * gnu/javax/crypto/cipher/Anubis.java: Likewise. + * gnu/javax/crypto/cipher/Blowfish.java: Likewise. + * gnu/javax/crypto/cipher/Cast5.java: Likewise. + * gnu/javax/crypto/cipher/DES.java: Likewise. + * gnu/javax/crypto/cipher/Khazad.java: Likewise. + * gnu/javax/crypto/cipher/NullCipher.java: Likewise. + * gnu/javax/crypto/cipher/Rijndael.java: Likewise. + * gnu/javax/crypto/cipher/Serpent.java: Likewise. + * gnu/javax/crypto/cipher/Square.java: Likewise. + * gnu/javax/crypto/cipher/TripleDES.java: Likewise. + * gnu/javax/crypto/cipher/Twofish.java: Likewise. + * gnu/javax/crypto/jce/cipher/CipherAdapter.java: Likewise. + * gnu/javax/crypto/jce/cipher/PBES2.java: Likewise. + * gnu/javax/crypto/jce/key/SecretKeyGeneratorImpl.java: Likewise. + * gnu/javax/crypto/jce/PBKDF2SecretKeyFactory.java: Likewise. + * gnu/javax/crypto/jce/prng/ICMRandomSpi.java: Likewise. + * gnu/javax/crypto/jce/prng/UMacRandomSpi.java: Likewise. + * gnu/javax/crypto/jce/sig/DHKeyPairGeneratorSpi.java: Likewise. + * gnu/javax/crypto/keyring/AuthenticatedEntry.java: Likewise. + * gnu/javax/crypto/keyring/EncryptedEntry.java: Likewise. + * gnu/javax/crypto/keyring/PasswordAuthenticatedEntry.java: Likewise. + * gnu/javax/crypto/keyring/PasswordEncryptedEntry.java: Likewise. + * gnu/javax/crypto/keyring/PasswordProtectedEntry.java: Likewise. + * gnu/javax/crypto/mac/UHash32.java: Likewise. + * gnu/javax/crypto/mac/UMac32.java: Likewise. + * gnu/javax/crypto/mode/BaseMode.java: Likewise. + * gnu/javax/crypto/mode/EAX.java: Likewise. + * gnu/javax/crypto/prng/ICMGenerator.java: Likewise. + * gnu/javax/crypto/prng/UMacGenerator.java: Likewise. + * gnu/javax/crypto/sasl/srp/KDF.java: Likewise. + * gnu/javax/security/auth/callback/ConsoleCallbackHandler.java: Likewise. + * java/security/cert/X509CertSelector.java: Likewise. + +2006-06-17 Andrew John Hughes + + * javax/management/DynamicMBean.java: + (setAttribute): Fixed to return void. + * javax/management/MBeanFeatureInfo.java: + New file. + +2006-06-17 Raif S. Naffah + + On behalf of Vivek Lakshmanan + * gnu/javax/crypto/jce/cipher/CipherAdapter.java + (engineInit(int, Key, SecureRandom)): Seperate common initialization logic + into engineInitHandler and reuse the code in + engineInit(int, Key, AlgorithmSpec, SecureRandom). + (engineInitHandler): New method. + (engineInit(int, Key, AlgorithmParameterSpec, SecureRandom)): When param is + null, use random or default information when possible. + +2006-06-16 Francis Kung + + * examples/gnu/classpath/examples/swing/Demo.java: + (mkButtonBar): Rename FillRect to JNIOverhead. + (mkMenuBar): Rename FillRect to JNIOverhead. + * examples/gnu/classpath/examples/swing/FillRect.java: Removed. + * examples/gnu/classpath/examples/java2d/J2dBenchmark.java: New file. + * examples/gnu/classpath/examples/java2d/JNIOverhead.java: + Moved from old FillRect. + +2006-06-16 Tom Tromey + + * tools/.cvsignore: Added new tool names. + +2006-06-16 Keith Seitz + + * gnu/classpath/jdwp/event/EventManager.java (getDefault): Redo + instantiation so that EventManager is created when getDefault + is first called. + * gnu/classpath/jdwp/Jdwp.java (Thread): Force creation + of EventManager. + +2006-06-16 Keith Seitz + + * gnu/classpath/jdwp/Jdwp.java (_initLock): New field. + (_initCount): New field. + (Jdwp): Don't set isDebugging until fully initialized. + (subcomponentInitialized): New method. + (run): Wait for PacketProcessor and JdwpConnection to + startup, then set isDebugging, and then let this thread + die. + * gnu/classpath/jdwp/transport/JdwpConnection.java + (run): Add synchronization notification. + * gnu/classpath/jdwp/processor/PacketProcessor.java + (run): Likewise. + +2006-06-16 Tom Tromey + + * NEWS: Updated for JSR 166. + +2006-06-16 Tom Tromey + + * lib/Makefile.am (compile_classpath): Added jsr166. + * configure.ac: Added external/jsr166/Makefile. + * external/Makefile.am (SUBDIRS): Added jsr166. + * external/jsr166/Makefile.am: New file. + * lib/gen-classlist.sh.in: Look in external/jsr166. + +2006-06-16 Kyle Galloway + + * gnu/classpath/jdwp/event/ExceptionEvent: + Added Object instance to javadoc in constructor + * gnu/classpath/jdwp/event/MethodEntryEvent: + Ditto. + * gnu/classpath/jdwp/event/MethodExitEvent: + Ditto, + * gnu/classpath/jdwp/event/SingleStepEvent: + Ditto. + +2006-06-16 Tom Tromey + + Imported JSR 166 reference implementation: + * .classpath: Added external/jsr166. + * java/util/concurrent/CopyOnWriteArrayList.java: New file. + * java/util/AbstractQueue.java: Removed. + * java/util/Queue.java: Removed. + * external/jsr166/java/util/concurrent/ScheduledThreadPoolExecutor.java + (runPeriodic): Added explicit cast. + * external/jsr166/java/util/ArrayDeque.java (clone): Use + elements.clone. + +2006-06-16 Tom Tromey + + * vm/reference/sun/reflect/Reflection.java (verifyMemberAccess): + Removed. + (getCallerClass): Now static. + * vm/reference/sun/reflect/misc/ReflectUtil.java: New file. + +2006-06-16 Lillian Angel + + * java/awt/FileDialog.java + (FileDialog): Added @since tag to API docs. + (FileDialog): Likewise. + (FileDialog): Likewise. + * java/awt/Font.java: + Added @since tag to TYPE1_FONT field docs. + * javax/swing/plaf/basic/BasicScrollBarUI.java: + (isThumbRollover): Likewise. + (setThumbRollover): Likewise. + (getSupportsAbsolutePositioning): Likewise. + * javax/swing/plaf/basic/BasicSliderUI.java: + (isDragging): Likewise. + +2006-06-16 Lillian Angel + + * java/awt/FileDialog.java + (FileDialog): Implemented. + (FileDialog): Implemented. + (FileDialog): Implemented. + * java/awt/Font.java: + Added TYPE1_FONT constant field. + +2006-06-16 Lillian Angel + + * java/awt/font/TextLayout.java: + Removed unneeded imports. + * javax/swing/plaf/basic/BasicScrollBarUI.java: + Added new thumbRollover field. + (mouseMoved): Added code to set thumbRollover field. + (isThumbRollover): New function. + (setThumbRollover): New function. + (getSupportsAbsolutePositioning): Implemented. This + needs to be changed once the feature has been + implemented. + * javax/swing/plaf/basic/BasicSliderUI.java: + Added new dragging field. + (mouseDragged): Initialized dragging field. + (isDragging): New function. + * javax/swing/plaf/basic/BasicTabbedPaneUI.java + (focusGained): Marked as not implemented. + (focusLost): Likewise. + +2006-06-16 Kyle Galloway + + * gnu/classpath/jdwp/event/filters/ThreadOnlyFilter.java: + Added check for null ThreadId to avoid null pointer + exception. + +2006-06-16 David Gilbert + + * javax/swing/DefaultComboBoxModel.java + (removeElementAt): Set new selected item by calling setSelectedItem(). + +2006-06-16 David Gilbert + + * javax/swing/DefaultButtonModel.java + (setSelected): Use 'this', not null, for the item in the ItemEvent. + +2006-06-16 David Gilbert + + * javax/swing/event/ListDataEvent.java: updated API docs, plus + (ListDataEvent): Handle case where index0 > index1, + (toString): Implemented. + +2006-06-16 Robert Schuster + + * javax/swing/plaf/metal/MetalMenuBarUI.java: + (update): Added subexpression to if-statement. + +2006-06-16 Robert Schuster + + * javax/swing/plaf/basic/BasicRadioButtonUI.java: + (installDefaults): Removed unneccessary code. + (paint): Removed complex if-cascade, revert to default icon if + icon property is not set. + (getPreferredSize): New method. + +2006-06-16 Roman Kennke + + PR 28027 + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (drawImage): Don't use setClip() but instead clipRect() to + intersect the current clip with a new one. + +2006-06-15 Tom Tromey + + * scripts/sanitize-jsr166: New file. + * external/jsr166/IMPORTING: New file. + * vm/reference/sun/reflect/Reflection.java: New file. + * vm/reference/gnu/classpath/Unsafe.java: Moved... + * vm/reference/sun/misc/Unsafe.java: ...here. + +2006-06-15 Thomas Fitzsimmons + + * configure.ac: Rename appletviewer to gappletviewer, jarsigner to + gjarsigner and keytool to gkeytool. + * doc/tools.texinfo: Add note about tool exectable names. + * tools/Makefile.am: Rename appletviewer to gappletviewer, + jarsigner to gjarsigner and keytool to gkeytool. + * tools/appletviewer.in: Rename ... + * tools/gappletviewer.in: New file. + * tools/jarsigner.in: Rename ... + * tools/gjarsigner.in: New file. + * tools/keytool.in: Rename ... + * tools/gkeytool.in: New file. + * tools/toolwrapper.c: Simplify TOOLS_ZIP macro. + +2006-06-15 Andrew John Hughes + + * javax/management/AttributeList.java: + Add serialization UID. + * javax/management/DynamicMBean.java: + New file. + * javax/management/JMRuntimeException.java: + Add serialization UID and correct name + of serialized field. + * javax/management/MBeanInfo.java: New file. + +2006-06-15 Andrew John Hughes + + * javax/management/AttributeList.java, + * javax/management/JMRuntimeException.java, + * javax/management/RuntimeOperationsException.java: + New files. + +2006-06-15 Lillian Angel + + * java/awt/font/TextLayout.java: + DEFAULT_CARET_POLICY changed to be public static final. + +2006-06-15 Tania Bento + + * javax/swing/plaf/metal/MetalScrollButton.java + (MetalScrollButton): Should set 'focusable' to false. + +2006-06-15 Tania Bento + + * javax/swing/plaf/basic/BasicArrowButton.java + (BasicArrowButton): Should set 'focusable' to false. + (BasicArrowButton): Should set 'focusable' to false. + +2006-06-15 Mark Wielaard + + * gnu/java/awt/peer/gtk/GtkComponentPeer.java + (getGraphicsConfiguration): Return default screen device. + * gnu/java/awt/peer/gtk/GtkVolatileImage.java (component): + New field. + (GtkVolatileImage): Record initiating component. + * gnu/java/awt/peer/gtk/VolatileImageGraphics.java + (getDeviceConfiguration): Return configuration of image component. + +2006-06-15 Mark Wielaard + + * java/awt/geom/GeneralPath.java (closePath): Return if path already + closed. + +2006-06-15 Mark Wielaard + + * java/awt/BasicStroke.java (createStrokedShape): Call getPathIterator + with null argument. + +2006-06-15 Kyle Galloway + + * gnu/classpath/jdwp/event/filters/ExceptionOnlyFilter.java + (matches): Added explicit brackets to return statement. + +2006-06-15 Tania Bento + + * javax/swing/JRadioButtonMenuItem.java + (JRadioButtonMenuItem): Should set 'focusable' to false. + +2006-06-15 Tania Bento + + * javax/swing/JCheckBoxMenuItem.java + (JCheckBoxMenuItem): Should set 'focusable' to false. + +2006-06-15 Tania Bento + + * javax/swing/AbstractButton.java: + (AbstractButton): 'Focusable' should be set to true and not false. + +2006-06-15 Andrew John Hughes + + * java/lang/management/ManagementFactory.java: + Add private constructor to prevent instance creation. + * java/lang/management/ManagementPermission.java: + Make final. + +2006-06-15 Francis Kung + + * javax/swing/plaf/basic/BasicArrowButton.java: + (BasicArrowButton): move client property for not triggering out + of consturctor + * javax/swing/plaf/basic/BasicComboBoxUI.java: + (configureArrowButton): set client property for not triggering + (installUI): set client property for not triggering + * javax/swing/plaf/basic/BasicLookAndFeel.java: + (PopupHelper.mousePressed): check client property for triggering + +2006-06-15 Roman Kennke + + PR 28037 + * javax/swing/RepaintManager.java + (blitBuffer): Substract coordinates the other way around. + +2006-06-15 Roman Kennke + + PR 28027 + * javax/swing/JComponent.java + (paintImmediately2): Only paint component without double buffering + when all of it's parents have also double buffering disabled. + (isPaintingDoubleBuffered): New helper method. + +2006-06-15 David Gilbert + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (draw(Shape)): Pass null transform to getPathIterator(), + (getClip): Likewise, + * gnu/java/print/PostscriptGraphics2D.java + (drawStringShape): Pass null transform to getPathIterator(), + (writeShape): Likewise, + * java/awt/Shape.java: Small updates to API docs. + +2006-06-14 Andrew John Hughes + + * javax/naming/InitialContext.java: + (list(javax.naming.Name)): Fixed generic type. + (list(String)): Likewise. + (listBindings(javax.naming.Name)): Likewise. + (listBindings(String)): Likewise. + +2006-06-14 Roman Kennke + + * javax/swing/plaf/basic/BasicComboBoxUI.java + (getAccessibleChildrenCount): Implemented. + (getAccessibleChild): Implemented. + (isNavigationKey): Implemented. + (KeyHandler.keyPressed): Implemented. + +2006-06-14 Andrew John Hughes + + * java/lang/management/ManagementPermission.java: + Added serialization UID. + * javax/management/Attribute.java: Likewise. + * javax/management/MBeanException.java, + * javax/management/ReflectionException.java: + Added serialization UID and changed to extend + javax.management.JMException. + +2006-06-14 Lillian Angel + + * java/awt/Component.java + (ignoreOldMouseEvents): Made static. + (translateEvent): Made static. + * java/awt/TextComponent.java + (ignoreOldMouseEvents): Made static. + +2006-06-14 Mark Wielaard + + * gnu/java/awt/peer/gtk/ComponentGraphics.java (drawLine): Lock and + call super. + (drawRect): Likewise. + (fillRect): Likewise. + +2006-06-14 Lillian Angel + + * java/awt/Component.java + (ignoreOldMouseEvents): New helper function. + (translateEvent): Changed to be non-static and use new helper. + * java/awt/TextComponent.java + (ignoreOldMouseEvents): New helper function. + +2006-06-14 Roman Kennke + + * javax/swing/RepaintManager.java + (MERGE_REGIONS): New constant flag. + (commitBuffer): Exclude the merging of regions by default. This + was causing painting artifacts in some applications, especially + when different areas of the GUI are updated synchronously. + +2006-06-14 Roman Kennke + + * examples/gnu/classpath/examples/awt/AicasGraphicsBenchmark.java: + New file. This is a benchmark for AWT 1.1 style graphics operations. + * examples/gnu/classpath/examples/awt/palme.gif: New file. + * examples/gnu/classpath/examples/awt/aicas.gif: New file. + +2006-06-14 Tom Tromey + + * java/io/File.java (getParent): Javadoc fix. + +2006-06-14 Tom Tromey + + * gnu/java/net/loader/JarURLLoader.java (initialize): Skip our own + jar. + * gnu/java/net/IndexListParser.java (IndexListParser): Call clearAll + when index entry does not exist. + +2006-06-14 Tania Bento + + * javax/swing/AbstractButton.java + (AbstractButton): Set focusable to false, not true. + +2006-06-14 Tania Bento + + * javax/swing/JMenuItem.java + (init): Changed horizontalAlignment from JButton.LEFT to JButton.LEADING. + +2006-06-14 Tania Bento + + * javax/swing/JCheckBoxMenuItem.java + (JCheckBoxMenuItem): Added check to set the selected state. + +2006-06-14 Roman Kennke + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (cairoDrawLine): New native method. + (cairoDrawRect): New native method. + (cairoFillRect): New native method. + (drawLine): Use special native method. + (drawRect): Use special native method. + (fillRect): Use special native method. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c + (cairoDrawLine): New native method. + (cairoDrawRect): New native method. + (cairoFillRect): New native method. + * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h: Regenerated. + +2006-06-14 Mark Wielaard + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c + (Java_gnu_java_awt_peer_gtk_GtkImage_getPixels): Return when array + cannot be allocated. + +2006-06-14 Tom Tromey + + PR java/28024: + * m4/acinclude.m4 (REGEN_WITH_JAY): Use backquote, not $(...). + * configure.ac (QT_INCLUDE_DIR): Use backquote, not $(...). + +2006-06-14 Roman Kennke + + * javax/swing/JComponent.java + (isRepainting): New flag. + (paintImmediately2): Set isRepainting flag. + (getRoot): Removed obsolete method. + (paintDoubleBuffered): Differenciate between paint calls from + RepaintManager and from AWT refresh. Call + RepaintManager.commitBuffer with this and local coordinates. + (findOpaqueParent): Stop searching at heavyweight component. These + are always opaque. + (paintChildrenOptimized): Don't paint heavyweight children. These + should care for themselves. + (paintChildrenWithOverlap): Don't paint heavyweight children. These + should care for themselves. + * javax/swing/RepaintManager.java + (getOffscreenBuffer): Associate offscreen buffer with toplevel + windows only. + (getVolatileOffscreenBuffer): Associate offscreen buffer with + toplevel windows only. + (getRoot): Removed obsolete method. + (commitBuffer): Blit buffer on nearest heavyweight. + (blitBuffer): New helper method. + (getHeavyweightParent): New helper method. + (commitRemainingBuffers): Call blitBuffer instead of commitBuffer. + * javax/swing/SwingUtilities.java + (convertRectangleToAncestor): New helper method. + +2006-06-14 Raif S. Naffah + + * gnu/javax/security/auth/login/ConfigFileTokenizer.java: Fixed a typo. + Condition all trace/debug code based on Configuration.DEBUG. + Use logger instead of STDOUT and ot STDERR. + +2006-06-13 Lillian Angel + + * native/plugin/gcjwebplugin.cc + (NP_Initialize): Removed code to create whitelist file. + (GCJ_New): Added code to create whitelist file. + (plugin_user_trusts_documentbase): Fixed error message. + +2006-06-13 David Gilbert + + * javax/swing/plaf/metal/MetalIconFactory.java + (HorizontalSliderThumbIcon.gradientMask): Modified by 1 pixel to + prevent overwriting border, + (VerticalSliderThumbIcon.gradientMask): Likewise. + +2006-06-13 Andrew John Hughes + + * javax/management/AttributeNotFoundException.java, + * javax/management/InvalidAttributeValueException.java, + * javax/management/JMException.java, + * javax/management/MBeanException.java, + * javax/management/OperationsException.java, + * javax/management/ReflectionException.java: + New files. + +2006-06-13 Roman Kennke + + * java/awt/Component.java + (dispatchEvent): Handle events even when consumed (this might be + picked up later in the dispatching chain). + * javax/swing/plaf/basic/BasicLookAndFeel.java + (PopupHelper.mousePressed): Don't consume event. Only close popup + when target component isn't flagged as DONT_CANCEL_POPUP. + (DONT_CANCEL_POPUP): New package private constant for flagging + special components that don't trigger popup closing. + * javax/swing/plaf/basic/BasicArrowButton.java + (BasicArrowButton): Set client property for not triggering closing + of popups. + +2006-06-13 Lillian Angel + + * java/awt/image/PixelGrabber.java + (PixelGrabber): Added to API documentation. + +2006-06-13 Keith Seitz + + From Kyle Galloway : + * gnu/classpath/jdwp/event/filters/ExceptionOnlyFilter.java + (ExceptionOnlyFilter): Allow null refId. + + * gnu/classpath/jdwp/event/BreakpointEvent.java: Added _instance for + compatibility with filters. + (getParameter): Modified to allow access to above. + +2006-06-13 Sven de Marothy + + * gnu/java/awt/peer/gtk/CairoSurface.java + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c + (create): Use stride in ints. + +2006-06-13 Keith Seitz + + From Kyle Galloway : + * gnu/classpath/jdwp/event/ClassUnloadEvent.java: New file. + +2006-06-13 David Gilbert + + * javax/swing/plaf/basic/BasicSliderUI.java + (calculateThumbSize): Removed unnecessary code, + (calculateThumbLocation): Shift position by one, + (calculateTickRect): Shift position by one when ticks are displayed, + (calculateLabelRect): Calculate rect differently according to whether + or not the labels are visible, + (paintTrack): Shift track down one pixel. + +2006-06-13 Lillian Angel + + * java/awt/image/PixelGrabber.java + (PixelGrabber): Removed check to throw exception. JDK does + not do this. + (startGrabbing): Removed line to print stacktrace. + +2006-06-13 Mark Wielaard + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java (drawImage): Don't + allocate unused AffineTransform. Add comment about conversion to + BufferedImage. + * gnu/java/awt/peer/gtk/ComponentGraphics.java (drawImage): + Recognize identity transform as "easy". Always convert to + BufferedImage before calling super. + +2006-06-13 Roman Kennke + + * java/awt/Component.java + (getGraphics): Translate child graphics correctly. + (dispatchEvent): Only dispatch event if it hasn't been consumed + yet by the global dispatcher. + * javax/swing/plaf/basic/BasicLookAndFeel.java + Added some API docs. + (PopupHelper.mousePressed): Consume the event after closing + opened menus. + +2006-06-13 David Gilbert + + * javax/swing/plaf/basic/BasicCheckBoxUI.java: Source code formatting + changes only, + * javax/swing/plaf/basic/BasicComboBoxUI.java: Likewise, + * javax/swing/plaf/basic/BasicComboPopup.java: Likewise, + * javax/swing/plaf/basic/BasicFileChooserUI.java: Likewise, + * javax/swing/plaf/basic/BasicInternalFrameUI.java: Likewise, + * javax/swing/plaf/basic/BasicLookAndFeel.java: Likewise, + * javax/swing/plaf/basic/BasicMenuItemUI.java: Likewise, + * javax/swing/plaf/basic/BasicOptionPaneUI.java: Likewise, + * javax/swing/plaf/basic/BasicProgressBarUI.java: Likewise, + * javax/swing/plaf/basic/BasicRadioButtonUI.java: Likewise, + * javax/swing/plaf/basic/BasicScrollBarUI.java: Likewise, + * javax/swing/plaf/basic/BasicSliderUI.java: Likewise, + * javax/swing/plaf/basic/BasicTableHeaderUI.java: Likewise, + * javax/swing/plaf/basic/BasicTableUI.java: Likewise, + * javax/swing/plaf/basic/BasicTextUI.java: Likewise, + * javax/swing/plaf/basic/BasicToolBarUI.java: Likewise, + * javax/swing/plaf/basic/BasicTreeUI.java: Likewise. + +2006-06-12 Sven de Marothy + + * java/awt/font/LineBreakMeasurer.java): Implement. + +2006-06-12 Keith Seitz + + From Kyle Galloway : + * gnu/classpath/jdwp/event/SingleStepEvent.java: New file. + +2006-06-12 Keith Seitz + + From Kyle Galloway : + * gnu/classpath/jdwp/event/MethodEntryEvent.java: New file. + + * gnu/classpath/jdwp/event/MethodExitEvent.java: New file. + +2006-06-12 Roman Kennke + + * javax/swing/JComponent.java + (paintDoubleBuffered): Correctly translate and clip the Graphics + instance. + (clipAndTranslateGraphics): New helper method. + +2006-06-12 Roman Kennke + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (copy): Use getClip() to copy the clip. Make copied transform + null when original transform is null. Set clip here. + (setTransform): Correctly update the clip. + (setTransformImpl): New method. Updates the actual transform for + Cairo. + (transform): Correctly update the clip. + (translate): Correctly update the clip. + (clip): Handle null clip and argument correctly. + (clipRect): Avoid creating new Rectangle objects. + (getClip): Get the correct copy of the clip. + (setClip): Correctly handle null argument. + * gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java + (CairoSurfaceGraphics): Don't set the clip here. The clip can either + be null or whatever has been set in copy(). + * gnu/java/awt/peer/gtk/ComponentGraphics.java + (drawImage): Add translation to the image coordinates. + * gnu/java/awt/peer/gtk/VolatileImageGraphics.java + (VolatileImageGraphics): Don't set clip here. The clip can either + be null or whatever has been set in copy(). + +2006-06-12 Keith Seitz + + From Kyle Galloway : + * gnu/classpath/jdwp/event/filters/ExceptionOnlyFilter.java + (forCaught): Removed unused/unnecessary method. + (forUncaught): Likewise. + (matches): Implement. + +2006-06-12 Keith Seitz + + From Kyle Galloway : + * gnu/classpath/jdwp/event/ExceptionEvent.java: New file. + +2006-06-12 Keith Seitz + + From Kyle Galloway : + * gnu/classpath/jdwp/event/Event.java: Added constants for + type. + (getParameter): Changed parameter type from Class to int. + * gnu/classpath/jdwp/event/BreakpointEvent.java (getParameter): + Changed from Class type to constants. + * gnu/classpath/jdwp/event/ClassPrepareEventEvent.java (getParameter): + Likewise. + * gnu/classpath/jdwp/event/ThreadEndEvent.java (getParameter): + Likewise. + * gnu/classpath/jdwp/event/ThreadStartEvent.java (getParameter): + Likewise. + * gnu/classpath/jdwp/event/VmDeathEvent.java (getParameter): + Likewise. + * gnu/classpath/jdwp/event/VmInitEvent.java (getParameter): + Likewise. + * gnu/classpath/jdwp/event/ClassMatchFilter.java (matches): + Likewise. + * gnu/classpath/jdwp/event/ClassOnlyFilter.java (matches): + Likewise. + * gnu/classpath/jdwp/event/InstanceOnlyFilter.java (matches): + Likewise. + * gnu/classpath/jdwp/event/ThreadOnlyFilter.java (matches): + Likewise. + +2006-06-12 Lillian Angel + + * tools/gnu/classpath/tools/appletviewer/StandaloneAppletWindow.java + (StandaloneAppletWindow): Changed title of standalone window. + +2006-06-12 Lillian Angel + + * javax/swing/plaf/basic/BasicTabbedPaneUI.java + (layoutContainer): Added missing selectedComponent assignment. + +2006-06-12 Lillian Angel + + * javax/swing/plaf/basic/BasicTabbedPaneUI.java + (layoutContainer): Added check to prevent exception. + +2006-06-12 Tom Tromey + + * java/lang/Thread.java (uncaughtException): Javadoc fix. + +2006-06-12 Mark Wielaard + + * gnu/java/awt/peer/gtk/ComponentGraphics.java (hasLock): + New static field. + (ONE): Likewise. + (lock): New method. + (unlock): Likewise. + (draw): Use lock() and unlock(). + (fill): Likewise. + (drawRenderedImage): Likewise. + (drawImage): Likewise. + (drawGlyphVector): Likewise. + +2006-06-12 Roman Kennke + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (drawPixels): Include alpha in parameter list. + (cairoFill): Include alpha in parameter list. + (setComposite): Don't modify the color. + (draw(Shape))): Use fill when the current composite has an alpha + of != 1.0, so that the stroked shaped will be composited. + (fill(Shape)): Call cairoFill() with alpha. + (drawImage): Call drawPixels or drawSurface with alpha. + (drawGlyphVector): When composite alpha is != 1.0, render the + outline using fill() to enable compositing for text. + (drawRaster): Call drawPixels with alpha. + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (nativeDrawSurface): Include alpha in parameter list. + (drawSurface): Include alpha in parameter list. Pass it to + nativeDrawSurface(). + * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h + * include/gnu_java_awt_peer_gtk_CairoSurface.h: + Regenerated. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c + (drawPixels): Handle possible alpha for compositing. + (cairoFill): Likewise. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c + (nativeDrawSurface): Handle possible alpha for compositing. + +2006-06-12 Mark Wielaard + + * gnu/java/awt/peer/gtk/GdkPixbufDecoder.java (streamImage): + Notify data when completely done. Wait for worker thread to finish. + Rethrow any pending exceptions. + (exception): New field. + (run): Store pending exception. + +2006-06-12 Andrew John Hughes + + * java/lang/management/ManagementPermission.java: + New file. + +2006-06-12 Raif S. Naffah + + * doc/tools.texinfo: Replaced original author with "The GNU Classpath Team". + +2006-06-12 Raif S. Naffah + + * gnu/javax/security/auth/login/ConfigFileParser.java (validateClassName): + Use String.charAt(). + +2006-06-11 Thomas Fitzsimmons + + * doc/tools.texinfo + (Applet Tools): New chapter. + (appletviewer Tool): New section. + (gcjwebplugin): New section. + +2006-06-11 Mark Wielaard + + * gnu/java/awt/peer/gtk/GdkPixbufDecoder.java (streamImage): + Takes GdkPixbufWriter. + (GdkPixbufWriter): Implements Runnable. + (write(IIOMetadata,IIOImage,ImageWriteParam)): Start Thread for + data processing. + (DATADONE): New static final field. + (data): New field. + (write(byte[])): New method. + (run): Likewise. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkPixbufDecoder.c + (Java_gnu_java_awt_peer_gtk_GdkPixbufDecoder_initStaticState): + Get dataOutputWriteID from writeClass. + (stream_save_request): Change stream field to writer. + (save_to_stream): Remove FIXME, call writer. + (Java_gnu_java_awt_peer_gtk_GdkPixbufDecoder_streamImage): + Store writer. + +2006-06-11 Andrew John Hughes + + * NEWS: + Mention new VM interface and use of properties. + * doc/vmintegration.texinfo: + Update with new gnu.java.lang.management section. + * gnu/java/lang/management/RuntimeMXBeanImpl.java: + New file. + * java/lang/management/ManagementFactory.java: + (getRuntimeMXBean()): Implemented. + * vm/reference/gnu/java/lang/management/RuntimeMXBeanImpl.java: + New VM interface file. + +2006-06-11 Raif S. Naffah + + PR Classpath/26065 + * gnu/javax/security/auth/login/GnuConfiguration.java: Condition all trace/ + debug code based on Configuration.DEBUG. + Use logger instead of STDOUT and ot STDERR. + * gnu/javax/security/auth/login/ConfigFileParser.java: Likewise. + * gnu/javax/crypto/sasl/SaslOutputStream.java: Likewise. + * gnu/javax/crypto/sasl/SaslInputStream.java: Likewise. + * gnu/javax/crypto/sasl/srp/SRPServer.java: Likewise. + * gnu/javax/crypto/sasl/srp/SRPClient.java: Likewise. + * gnu/javax/crypto/prng/CSPRNG.java: Likewise. + * gnu/javax/crypto/pad/TBC.java: Likewise. + * gnu/javax/crypto/pad/PKCS7.java: Likewise. + * gnu/javax/crypto/pad/PKCS1_V1_5.java: Likewise. + * gnu/javax/crypto/pad/BasePad.java: Likewise. + * gnu/javax/crypto/mac/OMAC.java: Likewise. + * gnu/javax/crypto/keyring/PasswordEncryptedEntry.java: Likewise. + * gnu/javax/crypto/keyring/PasswordAuthenticatedEntry.java: Likewise. + * gnu/javax/crypto/keyring/GnuPublicKeyring.java: Likewise. + * gnu/javax/crypto/keyring/GnuPrivateKeyring.java: Likewise. + * gnu/javax/crypto/keyring/EnvelopeEntry.java: Likewise. + * gnu/javax/crypto/keyring/Entry.java: Likewise. + * gnu/javax/crypto/key/srp6/SRPKeyPairGenerator.java: Likewise. + * gnu/javax/crypto/key/dh/GnuDHKeyPairGenerator.java: Likewise. + * gnu/javax/crypto/jce/prng/UMacRandomSpi.java: Likewise. + * gnu/javax/crypto/jce/prng/ICMRandomSpi.java: Likewise. + * gnu/javax/crypto/jce/keyring/GnuKeyring.java: Likewise. + * gnu/javax/crypto/cipher/Twofish.java: Likewise. + * gnu/javax/crypto/cipher/Khazad.java: Likewise. + * gnu/javax/crypto/cipher/Rijndael.java: Likewise. + * gnu/javax/crypto/cipher/BaseCipher.java: Likewise. + * gnu/javax/crypto/cipher/Anubis.java: Likewise. + * gnu/java/security/Properties.java: Likewise. + * gnu/java/security/x509/X509CRLEntry.java: Likewise. + * gnu/java/security/x509/X509CRL.java: Likewise. + * gnu/java/security/x509/ext/Extension.java: Likewise. + * gnu/java/security/util/Prime2.java: Likewise. + * gnu/java/security/util/Base64.java: Likewise. + * gnu/java/security/sig/rsa/RSAPSSSignature.java: Likewise. + * gnu/java/security/sig/rsa/EMSA_PSS.java: Likewise. + * gnu/java/security/provider/PKIXCertPathValidatorImpl.java: Likewise. + * gnu/java/security/pkcs/SignerInfo.java: Likewise. + * gnu/java/security/pkcs/PKCS7SignedData.java: Likewise. + * gnu/java/security/key/rsa/RSAKeyPairX509Codec.java: Likewise. + * gnu/java/security/key/rsa/RSAKeyPairPKCS8Codec.java: Likewise. + * gnu/java/security/key/rsa/RSAKeyPairGenerator.java: Likewise. + * gnu/java/security/key/rsa/GnuRSAPrivateKey.java: Likewise. + * gnu/java/security/key/dss/DSSPrivateKey.java: Likewise. + * gnu/java/security/key/dss/DSSKeyPairPKCS8Codec.java: Likewise. + * gnu/java/security/key/dss/DSSKeyPairGenerator.java: Likewise. + * gnu/java/security/jce/sig/SignatureAdapter.java: Likewise. + * gnu/java/security/jce/sig/EncodedKeyFactory.java: Likewise. + * gnu/java/security/hash/Whirlpool.java: Likewise. + +2006-06-11 Mark Wielaard + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c + (Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_getGlyphs): + Remove unused variable glyph_index. + +2006-06-11 Mark Wielaard + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java (drawImage): + Don't recurse, return false if not an BufferedImage and no image + source available. + * gnu/java/awt/peer/gtk/ComponentGraphics.java (draw): Add + end_gdk_drawing() to finally block. + (fill): Likewise. + (drawRenderedImage): Likewise. + (drawImage): Likewise. + (drawGlyphVector): Likewise. + +2006-06-11 Raif S. Naffah + + * doc/tools.texinfo: Added text for new -cacert command. + Re-structured sections. + * resource/gnu/classpath/tools/keytool/messages.properties: Added messages + for -cacert command. + * tools/gnu/classpath/tools/keytool/Main.java (CACERT_CMD): New constant. + (_CACERT): Likewise. + (shutdownThread): New field. + (Main): Install shutdown thread. + (main): Uninstall shutdown thread. + (start): Handle new -cacert command. + (getParser): Likewise. + (teardown): Increased visibility. + (ShutdownHook): New inner class. + * tools/gnu/classpath/tools/keytool/CACertCmd.java: New file. + +2006-06-11 Sven de Marothy + + * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java + (setupGlyphMetrics): New method. Add glyphmetrics caching. + (getOutline): Operate on the shape directly. + * gnu/java/awt/peer/gtk/GdkFontPeer.java + (getGlyphMetrics,putGlyphMetrics): Add GlyphMetrics caching. + * include/gnu_java_awt_peer_gtk_FreetypeGlyphVector.h + (getGlyph renamed getGlyphs) + * java/awt/geom/AffineTransform.java + (getTranslateInstance): Set fields directly. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c + (getGlyphs): Get all glyph codes at once. + +2006-06-11 Raif S. Naffah + + PR Classpath/27853 + * gnu/javax/crypto/RSACipherImpl.java (engineDoFinal): Was short by 1 byte. + +2006-06-11 Sven de Marothy + + * java/awt/font/TextLayout.java + (getLogicalHighlightShape): Add check. + * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java + (getLogicalBounds, getGlyphPositions): Cache bounds, positions. + +2006-06-11 Raif S. Naffah + + * gnu/javax/security/auth/login/ConfigFileParser.java (validateClassName): + Check that every component of 'cn' starts with a valid Java identifier char. + +2006-06-10 Tom Tromey + + * java/io/File.java (pathSeparator): Typo fix. + +2006-06-10 Mark Wielaard + + * native/jni/gtk-peer/cairographics2d.h (cp_gtk_get_cairo_t): + Removed. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c + Mark all unused parameters. + (cp_gtk_get_cairo_t): Removed. + (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoSetMatrix): + Don't mix declerations and statements. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c: + Mark all unused parameters. + (Java_gnu_java_awt_peer_gtk_CairoSurface_nativeDrawSurface): + Get cairographics2d pointer directly. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkTextLayout.c + (Java_gnu_java_awt_peer_gtk_GdkTextLayout_cairoDrawGdkTextLayout): + Use jlong to pass pointer. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkVolatileImage.c: + Mark all unused parameters. + * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h: Regenerated. + * include/gnu_java_awt_peer_gtk_CairoSurface.h: Regenerated. + * include/gnu_java_awt_peer_gtk_ComponentGraphics.h: Regenerated. + * include/gnu_java_awt_peer_gtk_GdkTextLayout.h: Regenerated. + * include/gnu_java_awt_peer_gtk_GtkVolatileImage.h: Regenerated. + * include/java_io_VMFile.h: Regenerated. + +2006-06-10 Roman Kennke + + * gnu/java/awt/peer/gtk/VolatileImageGraphics.java + (VolatileImageGraphics(VolatileImageGraphics)): Use clipRect() + instead of setClip(), so that an already present clip is intersected + and not resetted. + +2006-06-10 Mark Wielaard + + * gnu/java/awt/peer/gtk/GdkFontPeer.java (GdkFontLineMetrics): + Call getSize() to avoid accessor method. + +2006-06-10 Mark Wielaard + + * javax/swing/text/html/HTMLDocument.java (addSpecialElement): + Qualify ElementSpec. + +2006-06-10 Mark Wielaard + + * lib/.cvsignore: Add sun. + * lib/Makefile.am (dist-hook): Likewise. + +2006-06-10 Roman Kennke + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + * gnu/java/awt/peer/gtk/CairoSurface.java + * gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java + * gnu/java/awt/peer/gtk/ComponentGraphics.java + * gnu/java/awt/peer/gtk/GtkVolatileImage.java + * native/jni/gtk-peer/cairographics2d.h + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkVolatileImage.c: + Changed method signatures and calls to pass native pointers directly + into the JNI code, in order to avoid costly lookups on each + JNI call. + * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h, + * include/gnu_java_awt_peer_gtk_CairoSurface.h, + * include/gnu_java_awt_peer_gtk_ComponentGraphics.h, + * include/gnu_java_awt_peer_gtk_GtkVolatileImage.h: + Regenerated + +2006-06-10 Audrius Meskauskas + + PR 27973 + * javax/swing/text/DefaultStyledDocument.java + (ElementBuffer.insertContentTag): + Do not recreate leaves and do not remove elements here. + +2006-06-10 Audrius Meskauskas + + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.HiddenAction): Implemented. + +2006-06-10 Roman Kennke + + * javax/swing/RepaintManager.java + (getVolatileOffscreenBuffer): Store the created buffer. + * javax/swing/JComponent.java + (paintDoubleBuffered): Try to use a volatile offscreen buffer + for better performance. + +2006-06-10 Roman Kennke + + * gnu/java/awt/peer/gtk/VolatileImageGraphics.java + (VolatileImageGraphics(VolatileImageGraphics)): Initialize native + context correctly. + (getRealBounds): Overridden to return the correct bounds. + +2006-06-10 Roman Kennke + + * javax/swing/plaf/metal/MetalButtonUI.java + (update): Fixed to paint the gradient under the correct conditions. + (updateWidthGradient): Removed. + (isToolbarButton): New helper method. + (isDrawingGradient): New helper method. + +2006-06-09 Roman Kennke + + * javax/swing/JTabbedPane.java + (setSelectedIndex): Don't change the visibility of the components, + this is done by the UI class. + * javax/swing/plaf/basic/BasicTabbedPaneUI.java + (TabbedPaneLayout.layoutContainer): Change visibility of component + here, depending on the selected index. Only do this if the new + selected component is not null. Some programs seem to expect + this. + (visibleComponent): New field. + (getVisibleComponent): Changed to return visibleComponent field. + (setVisibleComponent): Changed to set the visibility of + the old and new visible component. + +2006-06-09 Roman Kennke + + * javax/swing/JComponent.java + (paintChildrenOptimized): Paint component with a new Graphics + object to protect the other painting code from modifications + done in that object, and avoid cleanup ops on possibly dispose()ed + Graphics object. + +2006-06-09 Sven de Marothy + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c + (Java_gnu_java_awt_peer_gtk_ComponentGraphics_disposeSurface): + Use GTK locks while disposing (Xlib) surface. + +2006-06-09 Tom Tromey + + * lib/Makefile.am (install-data-local): Copy 'sun' files. + (uninstall-local): Delete 'sun' directory. + (glibj.zip): Include 'sun' classes. + (clean-local): Delete 'sun' directory. + * lib/gen-classlist.sh.in: Search 'sun' subdirectories. + +2006-06-09 Roman Kennke + + * gnu/java/awt/java2d/AbstractGraphics2D.java + (drawImage): Fixed scaling. + (fillShape): Removed offset handling. + (fillShapeImpl): Limit scanlining to device bounds. + (getSegments): Removed offset handling. + * gnu/java/awt/java2d/PolyEdge.java + (toString): Include isClip flag in output. + +2006-06-08 Sven de Marothy + + * java/awt/font/TextLayout.java + (getOutline): Allow null transform. + +2006-06-08 Sven de Marothy + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (drawString): Use TextLayout instead of GlyphVector. + +2006-06-08 Sven de Marothy + + * java/text/Bidi.java: Treat WS as neutral for rules N1 & N2. + * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java + New constructor for bidirectionality. + (getGlyphMetrics): Return whitespace glyphs. + (getLogicalBounds): Offset rectangles to correct positions. + * gnu/java/awt/peer/gtk/GdkFontPeer.java + (getBaselineFor): Default to ROMAN_BASELINE. + (GdkFontLineMetrics): Guess some values for underline and + strikethrough. + (layoutGlyphVector): Use bidirectionality. + * java/awt/font/TextLayout.java: Implement, mostly. + +2006-06-09 Anthony Green + + PR classpath/27888: + * javax/swing/text/GapContent.java (binarySearch): Use unsigned shift. + * java/util/Collections.java (binarySearch): Use unsigned shift. + * java/util/Arrays.java (binarySearch): Use unsigned shift. + +2006-06-09 Tom Tromey + + * tools/.cvsignore: Added .deps. + +2006-06-09 Kazuya Ujihara + + PR classpath/27966: + * gnu/javax/security/auth/login/ConfigFileParser.java + (validateClassName): Quote '.' in regexp. + +2006-06-09 Tom Tromey + + PR classpath/23863: + * native/fdlibm/dtoa.c (_dtoa): Free contents of _Jv_reent when + finished. + * native/fdlibm/mprec.c: New version from newlib. Commented out + some includes. Added . + (_reent, _Bigint): New defines. + (_REENT_CHECK_MP, _REENT_MP_FREELIST, _REENT_MP_P5S): Likewise. + (__ULong, __Long): New types. + (_calloc_r): New function. + (Balloc): Dynamically add new _freelist entries as needed. + * native/fdlibm/mprec.h (struct _Jv_Bigint): Don't use + MAX_BIGNUMS to size _x[]. + (struct _Jv_reent): _freelist now a _Jv_Bigint**. Removed + _allocation_map, num. Added _max_k. + +2006-06-09 Roman Kennke + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (drawGlyphVector): Added fallback for non-FreetypeGlyphVector + implementations. + +2006-06-09 David Gilbert + + * java/awt/image/BufferedImage.java + (BufferedImage(int, int, int)): Added API docs, + (getProperty(String)): Return correct value for undefined properties, + (getPropertyNames()): Added comments and removed FIXME. + +2006-06-09 Thomas Fitzsimmons + + * native/plugin/gcjwebplugin.cc (PLUGIN_ERROR_THREE): New macro. + (NP_Initialize): Use PLUGIN_ERROR_THREE in place of g_strconcat. + +2006-06-09 Francis Kung + + * javax/swing/plaf/basic/BasicComboBoxRenderer.java: + (getPreferredSize): Return correct height for null or empty + items. + +2006-06-09 David Gilbert + + * java/awt/datatransfer/DataFlavor.java + (readExternal): Mark as stub, + (writeExternal): Likewise, + * java/awt/dnd/DropTargetContext.java + (dropComplete): Mark as stub, + (acceptDrag): Likewise, + (rejectDrag): Likewise, + (acceptDrop): Likewise, + (rejectDrop): Likewise, + (getCurrentDataFlavors): Likewise, + (getTransferable): Likewise, + * java/awt/dnd/DropTargetDropEvent.java + (dropComplete): Mark as stub. + +2006-06-09 Audrius Meskauskas + + * gnu/javax/swing/text/html/parser/SmallHtmlAttributeSet.java + (constructor): Do not lowercase the values. + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.addSpecialElement): Implemented. + * examples/gnu/classpath/examples/swing/HtmlDemo.java: New file. + +2006-06-09 Raif S. Naffah + + On behalf of Matthew Wringe + * gnu/java/security/Registry.java (ISO10126_PAD): New constant. + * gnu/javax/crypto/pad/ISO10126.java: New class. + * gnu/javax/crypto/pad/PadFactory.java (names): New field. + (getInstance): Added support for ISO-10126 scheme. + (getNames): Likewise. + Cache result for speed. + +2006-06-09 Raif S. Naffah + + * gnu/javax/crypto/pad/BasePad.java (selfTest): Re-factored to allow more + flexible self-test by sub-classes. + (test1BlockSize): New method. + +2006-06-09 David Gilbert + + * javax/swing/plaf/basic/BasicLookAndFeel.java + (initComponentDefaults): Corrected 'ScrollBar.focusInputMap' entry, + * javax/swing/plaf/basic/BasicScrollBarUI.java + (installKeyboardActions): Implemented, + (uninstallKeyboardActions): Implemented, + (getInputMap): New method, + (getActionMap): New method, + (createActionMap): New method, + (installUI): Call installKeyboardActions(), + (uninstallUI): Call uninstallKeyboardActions(). + +2006-06-09 David Gilbert + + * javax/swing/plaf/basic/BasicScrollPaneUI.java + (getActionMap): Use correct key to store action map. + +2006-06-09 Jeroen Frijters + + * gnu/java/awt/font/opentype/truetype/VirtualMachine.java + (executeInstruction): Added NOT support. + +2006-06-09 Jeroen Frijters + + * sun/reflect/annotation/AnnotationInvocationHandler.java: + New file. + +2006-06-08 Tom Tromey + + * java/text/Bidi.java (resolveNeutralTypes): Set j'th slot + of 'types'. + +2006-06-09 Andrew John Hughes + + * java/lang/management/RuntimeMXBean.java: + New file. + +2006-06-08 Lillian Angel + + * native/plugin/gcjwebplugin.cc: + (NP_Shutdown): Freed whitelist_filename. + +2006-06-08 Lillian Angel + + * native/plugin/Makefile.am: + Removed DATA_DIRECTORY. + * native/plugin/gcjwebplugin.cc: + Added new global fields for whitelist_file + and data_directory. Removed WHITELIST_FILE. + (NP_Initialize): Initialized new fields. Also, + Changed to use new fields. + (NP_Shutdown): Freed data_directory. + (GCJ_New): Changed to use new fields. + (plugin_ask_user_about_documentbase): Likewise. + +2006-06-08 Lillian Angel + + * native/plugin/Makefile.am: + Changed DATA_DIRECTORY to be ~/.gcjwebplugin. + * native/plugin/gcjwebplugin.cc: + Changed all instances of PLUGIN_DATA_DIRECTORY + to DATA_DIRECTORY. + +2006-06-08 Roman Kennke + + * java/awt/LightweightDispatcher.java + (handleMouseEvent): Replaced calls to AWTUtilities.convertPoint() + with convertPointToChild(). This is more efficient and avoids + problems with getLocationOnScreen(). + (findTarget): Check for component beeing showing() early. + Simplified AWTUtilities.convertPoint() to a simple substraction + operation. + (convertPointToChild): New helper method. + +2006-06-08 Thomas Fitzsimmons + + * native/plugin/gcjwebplugin.cc (SECURITY_DESCRIPTION): Update + message. + +2006-06-08 Tom Fitzsimmons + Lillian Angel + + * native/plugin/gcjwebplugin.cc + (NP_Shutdown): Added code to free plugin mutex and whitelist file. + Also, reset initialized field. + +2006-06-08 Lillian Angel + + * javax/swing/plaf/basic/BasicProgressBarUI.java + (paintString): Fixed to paint string at the correct location. + +2006-06-08 Roman Kennke + + * javax/swing/plaf/basic/BasicTreeUI.java + (createDefaultActions): Added new actions. + (TreePageAction.TreePageAction): Set action name. + (TreePageAction.actionPerformed): Implemented. + (TreePageAction.isEnabled): Implemented. + (TreeToggleAction.TreePageAction): Set action name. + (TreeToggleAction.actionPerformed): Implemented. + (TreeToggleAction.isEnabled): Implemented. + (TreeTraverseAction.TreeTraverseAction): Set action name. + (TreeTraverseAction.actionPerformed): Use action name as command. + (TreeTraverseAction.isEnabled): Implemented. + +2006-06-08 Roman Kennke + + * javax/swing/plaf/basic/BasicTreeUI.java + (installKeyboardActions): Rewritten to correctly install the UI + input and action maps. + (getActionMap): New helper method. + (createDefaultActionMap): New helper method. + (TreeHomeAction.TreeHomeAction()): Implemented. + (TreeHomeAction.actionPerformed): Implemented. + (TreeHomeAction.isEnabled): Implemented. + (TreeIncrementAction.TreeIncrementAction()): Implemented. + (TreeIncrementAction.actionPerformed): Use action name as command. + (TreeIncrementAction.isEnabled): Implemented. + +2006-06-08 Mark Wielaard + + PR 27917 + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c + (Java_gnu_java_awt_peer_gtk_GtkImage_loadImageFromData): Ref pixbuf + and unref loader. + +2006-06-08 Mark Wielaard + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c + (attrs): Removed unused static. + +2006-06-08 David Gilbert + + * javax/swing/plaf/basic/BasicScrollPaneUI.java + (getInputMap): New method, + (getActionMap): New method, + (createActionMap): New method, + (installKeyboardActions): Implemented, + (uninstallKeyboardActions): Implemented. + +2006-06-08 Robert Schuster + + * javax/swing/border/MatteBorder.java: + (MatteBorder(int,int,int,int,Icon)): Removed if-statement and exception + throwing. + (paintBorder): Added if-statement to abort painting early. + +2006-06-08 Robert Schuster + + Fixes PR27864. + * gnu/xml/dom/DomIterator.java: + (successor): Changed expression. + +2006-06-08 Sven de Marothy + + * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java + (defaultLayout): Do kerning. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c + (getKerning): Correct class name, removed unused variable. + +2006-06-07 Thomas Fitzsimmons + + * gnu/java/awt/peer/qt/QtToolkit.java (initToolkit): Load + libqtpeer.so unconditionally. + +2006-06-07 Andrew John Hughes + + * java/util/InputMismatchException.java: + Documented. + +2006-06-07 Andreas Tobler + + * native/jawt/Makefile.am (AM_LDFLAGS): Add XTEST_LIBS. + +2006-06-07 Roman Kennke + + * javax/swing/plaf/basic/BasicTreeUI.java + (completeUIUninstall): Implemented. + (uninstallUI): Moved some bits to completeUIUninstall(). Complete + editing before uninstalling anything. + (isToggleEvent): Implemented. + (selectPathForEvent): Make use of isToggleEvent(). + (ComponentHandler.componentMoved): Implemented. + (ComponentHandler.startTimer): Implemented. + (ComponentHandler.getScrollPane): Implemented. + (ComponentHandler.actionPerformed): Implemented. + +2006-06-07 Francis Kung + + * javax/swing/JMenuBar.java: + (getSubElements): Do not return null values. + +2006-06-07 Roman Kennke + + PR 27902 + * gnu/regexp/BacktrackStack.java + * gnu/regexp/CharIndexed.java + * gnu/regexp/CharIndexedCharArray.java + * gnu/regexp/CharIndexedCharSequence.java + * gnu/regexp/CharIndexedInputStream.java + * gnu/regexp/CharIndexedString.java + * gnu/regexp/CharIndexedStringBuffer.java + * gnu/regexp/RE.java + * gnu/regexp/REException.java + * gnu/regexp/REFilterInputStream.java + * gnu/regexp/REMatch.java + * gnu/regexp/REMatchEnumeration.java + * gnu/regexp/RESyntax.java + * gnu/regexp/REToken.java + * gnu/regexp/RETokenAny.java + * gnu/regexp/RETokenBackRef.java + * gnu/regexp/RETokenChar.java + * gnu/regexp/RETokenEnd.java + * gnu/regexp/RETokenEndOfPreviousMatch.java + * gnu/regexp/RETokenEndSub.java + * gnu/regexp/RETokenIndependent.java + * gnu/regexp/RETokenLookAhead.java + * gnu/regexp/RETokenLookBehind.java + * gnu/regexp/RETokenNamedProperty.java + * gnu/regexp/RETokenOneOf.java + * gnu/regexp/RETokenPOSIX.java + * gnu/regexp/RETokenRange.java + * gnu/regexp/RETokenRepeated.java + * gnu/regexp/RETokenStart.java + * gnu/regexp/RETokenWordBoundary.java + * gnu/regexp/UncheckedRE.java + * gnu/java/util/regex/BacktrackStack.java + * gnu/java/util/regex/CharIndexed.java + * gnu/java/util/regex/CharIndexedCharArray.java + * gnu/java/util/regex/CharIndexedCharSequence.java + * gnu/java/util/regex/CharIndexedInputStream.java + * gnu/java/util/regex/CharIndexedString.java + * gnu/java/util/regex/CharIndexedStringBuffer.java + * gnu/java/util/regex/RE.java + * gnu/java/util/regex/REException.java + * gnu/java/util/regex/REFilterInputStream.java + * gnu/java/util/regex/REMatch.java + * gnu/java/util/regex/REMatchEnumeration.java + * gnu/java/util/regex/RESyntax.java + * gnu/java/util/regex/REToken.java + * gnu/java/util/regex/RETokenAny.java + * gnu/java/util/regex/RETokenBackRef.java + * gnu/java/util/regex/RETokenChar.java + * gnu/java/util/regex/RETokenEnd.java + * gnu/java/util/regex/RETokenEndOfPreviousMatch.java + * gnu/java/util/regex/RETokenEndSub.java + * gnu/java/util/regex/RETokenIndependent.java + * gnu/java/util/regex/RETokenLookAhead.java + * gnu/java/util/regex/RETokenLookBehind.java + * gnu/java/util/regex/RETokenNamedProperty.java + * gnu/java/util/regex/RETokenOneOf.java + * gnu/java/util/regex/RETokenPOSIX.java + * gnu/java/util/regex/RETokenRange.java + * gnu/java/util/regex/RETokenRepeated.java + * gnu/java/util/regex/RETokenStart.java + * gnu/java/util/regex/RETokenWordBoundary.java + * gnu/java/util/regex/UncheckedRE.java + Moved gnu.regexp classes to gnu.java.util.regex package. + * java/util/regex/Matcher.java + * java/util/regex/Pattern.java + Adjusted import statements for new package name for gnu regexp. + +2006-06-07 Tom Tromey + + PR classpath/27905: + * gnu/java/nio/charset/Provider.java (loadExtended): Now synchronized. + Added missing charsets. + (charsetForName): Don't check 'extendedLoaded'. + +2006-06-07 Roman Kennke + + PR 27833 + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (clip(Shape)): Implemented correctly, so that the current shape + gets intersected by the parameter shape. + +2006-06-07 Lillian Angel + + * javax/swing/plaf/basic/BasicTabbedPaneUI.java + (getTabBounds): If this method is called with a tab index + that is not in the rects array, we need to re-layout the container + so it is created. + +2006-06-07 Lillian Angel + + * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java + (FreetypeGlyphVector): Removed assignment. Caused compilation error. + * java/lang/String.java + (codePointCount): Fixed check to match API. Shouldn't throw exception + if end == count. end is 1 more than the endIndex, so end == count is + possible. + +2006-06-07 Gary Benson + + PR 24895 + * native/jni/java-io/java_io_VMFile.c + (Java_java_io_VMFile_toCanonicalForm): New method. + * configure.ac: Added checks for lstat and readlink. + * include/java_io_VMFile.h: Added new method. + * vm/reference/java/io/VMFile.java: Use new method. + * gnu/java/io/PlatformHelper.java (toCanonicalForm): Removed. + * NEWS: Documented the above. + * java/io/File.java: Javadoc fix. + +2006-06-07 Roman Kennke + + PR 27920 + * javax/swing/JTree.java + (JTree()): Initialize with default model. + (JTree(TreeModel)): Clear expanded state hashtable. Added comment + on the updateUI() / setModel() order. + (setModel): Correctly (un-)setup the listeners. Clear the expanded + paths. + * javax/swing/plaf/basic/BasicTreeUI.java + (BasicTreeUI()): Initialize listeners in installListeners(). + (setModel): Complete editing on model change. Correctly resetup + the listeners. Update the layout cache accordingly. + (setShowRootHandles): Complete editing and update layout. Do not + call back into the JTree, this could cause cycles. + (prepareForUIInstall): Implemented. Moved some init code from + installUI() to this method. + (completeUIInstall): Implemented. Moved some init code from + installUI() to this method. + (createDefaultCellEditor): Check for type of renderer, and install + with null renderer when not DefaultTreeCellRenderer. + (updateLayoutCacheExpandedNodes): Added null check for tree root + to avoid NPE. + (updateRenderer): Call updateEditor(). + (installListeners): Initialize the listeners here. Added some null + checks to avoid NPEs. + (installUI): Moved some init code to prepareForUIInstall() and + completeUIInstall(). + (completeEditing): Return immediately if editing component is null + or if the setting is to not stop editing on complete editing. + (checkForClickInExpandControl): Call handleExpandControlClick() + instead of toggleExpandState() directly. + (isLocationInExpandControl): Rewritten to correctly determine the + expand click location. + (MouseHandler.mousePressed): Rewritten to make better use of the + instance methods of BasicTreeUI to handle the click. + (PropertyHandler.propertyChange): Handle model and cell renderer + updates. + * javax/swing/tree/DefaultTreeCellEditor.java + (DefaultTreeCellEditor): Removed initialization of the icon. This + is done so that the constructor can deal with null renderer as the + RI does. Maybe this needs more fixing. + * javax/swing/tree/TreePath.java + (isDescendant): Fixed this method. The previous version did too + much and compared the wrong things, which lead to a ClassCastException + in equals(). + * javax/swing/tree/VariableHeightLayoutCache.java + (update): Do nothing when model is null. + (setModel): Clear the tables and update the layout. Added null + check to prevent NPE. + +2006-06-07 Sven de Marothy + + * gnu/java/awt/peer/gtk/GdkGlyphVector: Removed file. + +2006-06-07 Sven de Marothy + + * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java + * include/gnu_java_awt_peer_gtk_FreetypeGlyphVector.h + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c + New files. + + * gnu/java/awt/peer/gtk/GdkFontPeer.java + (getGlyphVector): Removed native method. + (createGlyphVector, getStringBounds): Use new GV class. + + * include/Makefile.am + * native/jni/gtk-peer/Makefile.am + Add new files. + + * include/gnu_java_awt_peer_gtk_GdkFontPeer.h + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c + (getGlyphVector): Removed native method. + +2006-06-07 Chris Burdess + + * gnu/classpath/debug/TeeInputStream.java, + gnu/classpath/debug/TeeOutputStream.java, + gnu/classpath/debug/TeeReader.java, + gnu/classpath/debug/TeeWriter.java: New classes for debugging streams. + * gnu/xml/stream/XMLParser.java: Use tee streams for debugging. Don't + read more characters than absolutely necessary in tryRead method. + +2006-06-07 Robert Schuster + + * examples/gnu/classpath/examples/swing/Demo.java: + (mkMenuBar): Put look and feel radio buttons into + appropriate button group. + +2006-06-07 Chris Burdess + + * gnu/xml/stream/SAXParser.java, + gnu/xml/stream/XMLParser.java: Add command line options for setting + parsing parameters (for simpler debugging). + * gnu/xml/transform/TransformerImpl.java: Try to ensure that I/O error + closing output stream is propagated to application. + +2006-06-06 Mark Wielaard + + PR 27917 + * gnu/java/awt/peer/gtk/CairoSurface.java (finalize): Call dispose. + * gnu/java/awt/peer/gtk/ComponentGraphics.java: Override dispose to + call disposeSurface. + (disposeSurface): New native method. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c + (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_disposeNative): Free + pattern_pixels. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c + (Java_gnu_java_awt_peer_gtk_CairoSurface_drawSurface): Call + cairo_pattern_destroy. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c + (Java_gnu_java_awt_peer_gtk_ComponentGraphics_disposeSurface): + New function to destroy the surface. + * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h: Regenerated. + * include/gnu_java_awt_peer_gtk_CairoSurface.h: Likewise. + * include/gnu_java_awt_peer_gtk_ComponentGraphics.h: Likewise. + +2006-06-06 Mark Wielaard + + * include/jni.h (JDK1_1InitArgs): Mark pointer-to-function types + with JNICALL. + +2006-06-06 David Gilbert + + * javax/swing/plaf/metal/MetalSplitPaneDivider.java + (paint): If has focus, paint special background color, + * javax/swing/plaf/basic/BasicSplitPaneUI.java + (FocusHandler.focusGained): Implemented, + (FocusHandler.focusLost): Implemented. + +2006-06-06 Tom Tromey + + * javax/swing/text/StyleContext.java (registerStaticAttributeKey): + Javadoc fix. + (writeAttributeSet): Implemented. + +2006-06-06 Tom Tromey + + * javax/swing/text/html/HTMLDocument.java (SpecialAction.start): + Implement. + (SpecialAction.end): Removed. + (IsindexAction.end): Likewise. + +2006-06-06 Tom Tromey + + * include/jni.h (JDK1_1InitArgs): New struct. + (JDK1_1AttachArgs): Likewise. + +2006-06-06 Tom Tromey + + * java/security/UnresolvedPermission.java (getUnresolvedType): New + method. + (getUnresolvedName): New method. + (getUnresolvedActions): New method. + (getUnresolvedCerts): New method. + +2006-06-06 Audrius Meskauskas + + * gnu/javax/swing/text/html/CharacterAttributeTranslator.java + (getColor): Removed debugging code. + +2006-06-06 Audrius Meskauskas + + * gnu/javax/swing/text/html/CharacterAttributeTranslator.java + (getColor): Added support for "rgb(red, green, blue)" notation. + (translateTag): Use Boolean.TRUE, not new Boolean(). + +2006-06-06 Roman Kennke + + PR 27651 + * javax/swing/JTree.java + (JTree(TreeModel)): Call updateUI() before setModel(). + (setModel): Don't call updateUI here. + +2006-06-06 Lillian Angel + + * native/plugin/gcjwebplugin.cc: + Fixed failure message and commenting. + (NP_Initialize): Added more comments. + +2006-06-06 David Gilbert + + * javax/swing/JSplitPane.java + (AccessibleJSplitPane): API doc fixes, + (setDividerLocation): Likewise, + * javax/swing/plaf/basic/BasicLookAndFeel.java + (initComponentDefaults): Additions to SplitPane.ancestorInputMap, + * javax/swing/plaf/basic/BasicSplitPaneUI.java + (getInputMap): New method, + (getActionMap): New method, + (createActionMap): New method, + (installKeyboardActions): Implemented, + (uninstallKeyboardActions): Implemented. + +2006-06-06 Roman Kennke + + PR 27523 + * javax/swing/MenuSelectionManager.java + (processKeyEvent): Added check to avoid + ArrayIndexOutOfBoundsException. + +2006-06-06 Audrius Meskauskas + + * gnu/javax/swing/text/html/htmlAttributeSet.java + (getAttributeNames): Rewritten + +2006-06-06 Chris Burdess + + * gnu/xml/transform/TransformerImpl.java: Check type of created + document (more cases). + +2006-06-06 Audrius Meskauskas + + * gnu/javax/swing/text/html/htmlAttributeSet.java + (clone): New method. (copyAttributes): New method. + (getResolveParent): Comment fix. (getAttribute): + Rewritten. (addAttribute): Rewritten. + * gnu/javax/swing/text/html/SmallHtmlAttributeSet.java: + New file. + +2006-06-06 Roman Kennke + + PR 27522 + * javax/swing/JMenuBar.java + (processKeyBindingHelper): Added null check to prevent NPE. + +2006-06-06 Roman Kennke + + * javax/swing/plaf/basic/BasicInternalFrameUI.java + (ShowSystemMenuAction): New class. + (installKeyboardActions): Implemented. + (uninstallKeyboardActions): Implemented. + * javax/swing/plaf/metal/MetalInternalFrameUI.java + (installKeyboardActions): Overridden to remove showSystemMenu action. + +2006-06-06 Chris Burdess + + * gnu/xml/transform/TransformerImpl.java: Check type of created + document. + +2006-06-06 Robert Schuster + + * gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java: + (getScreenDevices): Added explicit cast. + +2006-06-06 Roman Kennke + + * javax/swing/plaf/basic/BasicTextUI.java + (installKeyboardActions): Use shared input map. Correctly + install the input/action maps in the component's input/action + map hierarchies. + (getActionMap): New helper method for fetching an ActionMap from + the UIManager or creating a default one if there is none supplied + by the UIManager. + (createActionMap): Add the TransferHandler's actions here. Made + method private. + (getInputMap): Leave out unnecessary method parameter. Load + shared input map. + * javax/swing/plaf/basic/SharedUIDefaults.java: New file. + +2006-06-06 Robert Schuster + + * configure.ac: Added missing [ to expression. + +2006-06-06 Robert Schuster + + * configure.ac: Added missing { to expression. + +2006-06-06 Robert Schuster + + * include/gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.h: Regenerated. + * include/gnu_java_awt_peer_gtk_GdkScreenGraphicsDevice.h: New file. + * include/Makefile.am: Added + gnu_java_awt_peer_gtk_GdkScreenGraphicsDevice. + * gnu/java/awt/peer/gtk/GdkGraphicsConfiguration.java: + (GdkGraphicsConfiguration): Rewritten. + (getColorModel): Rewritten. + (getColorModel(int)): Rewritten. + (getBounds): Rewritten. + (createCompatibleVolatileImage): Implemented. + * gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java: Added static + initializer. + (getDefaultScreenDevice): Rewritten. + (nativeGetDefaultScreenDevice): New method. + (getScreenDevices): Rewritten. + (nativeGetScreenDevices): New method. + (nativeInitState): New method. + * gnu/java/awt/peer/gtk/GdkScreenGraphicsDevice.java: Entirely + rewritten. + (X11DisplayMode): New inner class. + * native/jni/gtk-peer/Makefile.am: Added gdkdisplay.h and + gnu_java_awt_peer_gtk_GdkScreenGraphicsDevice.c + * native/jni/gtk-peer/gdkdisplay.h: New file. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.c: + (Java_gnu_java_awt_peer_gtk_GdkGraphicsEnvironment_initStaticState): + New function. + (Java_gnu_java_awt_peer_gtk_GdkGraphicsEnvironment_nativeInitState): + New function. + (Java_gnu_java_awt_peer_gtk_GdkGraphicsEnvironment + _nativeGetScreenDevices): + New function. + (Java_gnu_java_awt_peer_gtk_GdkGraphicsEnvironment + _nativeGetDefaultScreenDevice): + New function. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkScreenGraphicsDevice.c: + New file. + * configure.ac: Added check for Xrandr library. + +2006-06-06 Roman Kennke + + * javax/swing/plaf/basic/BasicTableUI.java + (getMaximumSize): Don't return null. Fixed calculation of + table height. + (getMinimumSize): Don't return null. Fixed calculation of + table height. + (getPreferredSize): Fixed calculation of with and height. Added + API docs. + (getHeight): New helper method. + +2006-06-06 David Gilbert + + * javax/swing/JComponent.java + (getInputMap(int)): Throw IllegalArgumentException for unknown + condition argument, and added API docs, + (getInputMap()): Added API docs. + +2006-06-06 Robert Schuster + + * java/awt/BufferedImage.java: Added fourth 8 to bits4 field. + +2006-06-06 David Gilbert + + * javax/swing/JTable.java + (AccessibleJTableHeaderCell.header): New field, + (AccessibleJTableHeaderCell.columnIndex): Likewise, + (AccessibleJTableHeaderCell.AccessibleJTableHeaderCell()): Initialise, + (AccessibleJTableHeaderCell.getColumnHeaderRenderer): New method, + (AccessibleJTableHeaderCell.getAccessibleContext): Implemented, + (AccessibleJTableHeaderCell.getAccessibleRole): Implemented, + (AccessibleJTable.getAccessibleChild(int)): Overridden, + (AccessibleJTable.getAccessibleAt): Reimplemented. + +2006-06-05 Sven de Marothy + + * include/gnu_java_awt_peer_gtk_ComponentGraphics.h + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c + * gnu/java/awt/peer/gtk/ComponentGraphics.java + (initFromVolatile): New method. + * gnu/java/awt/peer/gtk/GtkVolatileImage.java + * gnu/java/awt/peer/gtk/VolatileImageGraphics.java + Reimplement. + * include/gnu_java_awt_peer_gtk_GtkVolatileImage.h + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkVolatileImage.c + (copyArea, drawVolatileImage): New methods. + +2006-06-05 Tania Bento + + * javax/swing/JFrame.java + (frameInit): Set background color and fixed layout parameters. + +2006-06-05 Tom Tromey + + * NEWS: Mention VMURLConnection. + +2006-06-05 Lillian Angel + + * native/plugin/gcjwebplugin.cc: + Added new field to keep track of initialization. + (plugin_start_appletviewer): Fixed to return an error value, if + an error was encountered when loading the appletviewer. + (GCJ_NEW): Added call to plugin_failed if the loading of the appletviewer + has failed. + (plugin_failed): New helper function. Shows a warning if the appletviewer + has not been installed. + (NP_Initialize): Added code to make sure this function is only called + once. + +2006-06-05 Lillian Angel + + * native/plugin/Makefile.am: + Fixed to use a set plugin directory in the .mozilla directory. + All applet logs are now stored here, instead of /tmp. + * native/plugin/gcjwebplugin.cc: + Added new fields for security warning. + (GCJ_NEW): Added code to generate a security warning for all pages + that spawn an appletviewer. This warning asks the user if they trust + the applet and if they would like to add it to a 'whitelist'. This + whitelist keeps track of all the addresses the user would like + to trust indefinitely. + (plugin_user_trusts_documentbase): New helper function. + (plugin_add_documentbase_to_whitelist): New helper function. + (plugin_ask_user_about_documentbase): New helper function. + (plugin_in_pipe_callback): Fixed check to determine if channel_error + has been set. + (plugin_start_appletviewer): Likewise. + (plugin_create_applet_tag): Reset all fields to null after they have been + freed. + (plugin_send_message_to_appletviewer): Fixed all error checks to determine + if channel_error has been set. + (plugin_stop_appletviewer): Likewise. + (NP_Initialize): Likewise. Also, added code to determine if directory and file + should be created. + +2006-06-05 Francis Kung + + PR 27507 + * gnu/java/awt/peer/gtk/GtkImage.java + (getSource): Added check to determine if in + errorLoading state. + * gnu/java/awt/peer/gtk/GtkToolkit.java + (createImage): Added check to prevent NPE. + +2006-06-05 Audrius Meskauskas + + * javax/swing/text/html/HTMLEditorKit.java (HTMLFactory.create): + Create the ImageView, when applicable. + * gnu/javax/swing/text/html/CombinedAttributes.java, + javax/swing/text/html/ImageView.java: New files. + +2006-06-05 Roman Kennke + + PR 27834 + * javax/swing/text/GapContent.java + (setPositionsInRange): Compare with startIndex and endIndex + rather than start and end. + (dumpMarks): Only dump real marks. + +2006-06-05 Sven de Marothy + + * gnu/java/awt/peer/gtk/ComponentGraphics.java + (ComponentGraphics): Use 0,0 as clip origin. + +2006-06-04 Andrew John Hughes + + * java/util/Formattable.java, + * java/util/FormattableFlags.java, + * java/util/Formatter.java: + Documented. + +2006-06-04 Tom Tromey + + * javax/naming/Context.java (list): Genericized. + (listBindings): Likewise. + * javax/naming/Reference.java (addrs): Genericized. + * javax/naming/InitialContext.java (myProps): Fixed type. + (init): Genericized. + +2006-06-04 Andrew John Hughes + + * java/util/DuplicateFormatFlagsException.java, + * java/util/FormatFlagsConversionMismatchException.java, + * java/util/FormatterClosedException.java, + * java/util/IllegalFormatCodePointException.java, + * java/util/IllegalFormatConversionException.java, + * java/util/IllegalFormatException.java, + * java/util/IllegalFormatFlagsException.java, + * java/util/IllegalFormatPrecisionException.java, + * java/util/IllegalFormatWidthException.java, + * java/util/MissingFormatArgumentException.java, + * java/util/MissingFormatWidthException.java, + * java/util/UnknownFormatConversionException.java, + * java/util/UnknownFormatFlagsException.java: + Documented. + +2006-06-04 Andrew John Hughes + + * java/lang/System.java: + (getenv()): Handle cases where split only + returns an array of size 1. + +2006-06-04 Sven de Marothy + + * gnu/java/awt/peer/gtk/GtkComponentPeer.java + (createVolatileImage): Pass peer to VolatileImage constructor. + * java/awt/Component.java + (createVolatileImage): Call peer method directly. + +2006-06-04 Sven de Marothy + + * gnu/java/awt/peer/gtk/CairoSurface.java + (getFlippedBuffer): New method. + (getGtkImage): Renamed method. + * gnu/java/awt/peer/gtk/ComponentGraphicsCopy.java + * gnu/java/awt/peer/gtk/GtkVolatileImage.java + Renamed getSharedImage to getGtkImage. + * include/gnu_java_awt_peer_gtk_CairoSurface.h + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c + (getFlippedBuffer): New method + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c + Avoid window casts. +2006-06-04 Andrew John Hughes + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c: + (drawVolatile): Add casts. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkTextLayout.c: + (getOutline): Add casts. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkVolatileImage.c: + Comment out unused prototype. + (getPixels): Add appropriate cast and comment out unused variable. + +2006-06-04 Raif S. Naffah + + * gnu/javax/crypto/sasl/SaslUtil.java: Remove unused import. + * gnu/javax/crypto/sasl/srp/SRPRegistry.java (PASSWORD_DB): Fix javadoc @link. + * gnu/javax/crypto/sasl/srp/PasswordFile.java: Removed unused import. + * gnu/javax/crypto/prng/CSPRNG.java (FILE_SOURCES): Fix javadoc @see. + (getSystemInstance): Fix javadoc @link. + (counter): Increased visibility. + * gnu/javax/crypto/pad/TLS1.java: Remove unused import. + * gnu/javax/crypto/pad/IPad.java: Fix javadoc @link. + * gnu/javax/crypto/pad/PKCS1_V1_5.java (PKCS1_V1_5): Likewise. + * gnu/javax/crypto/pad/PKCS7.java (PKCS7): Likewise. + * gnu/javax/crypto/pad/TBC.java (TBC): Likewise. + * gnu/javax/crypto/mode/CTR.java: Remove unused import. + * gnu/javax/crypto/mode/BaseMode.java (defaultBlockSize): Fix javadoc @see. + * gnu/javax/crypto/key/dh/GnuDHPrivateKey.java (getEncoded): Fix javadoc @see. + * gnu/javax/crypto/jce/spec/TMMHParameterSpec.java: Fix javadoc @link. + * gnu/javax/crypto/keyring/AuthenticatedEntry.java: Remove unused imports. + * gnu/javax/crypto/keyring/CertificateEntry.java: Likewise. + * gnu/javax/crypto/keyring/CertPathEntry.java: Likewise. + * gnu/javax/crypto/keyring/EncryptedEntry.java: Likewise. + * gnu/javax/crypto/keyring/PublicKeyEntry.java: Likewise. + * gnu/javax/crypto/mac/OMAC.java: Likewise. + * gnu/javax/crypto/jce/key/AnubisSecretKeyFactoryImpl.java: Likewise. + * gnu/javax/crypto/jce/key/BlowfishSecretKeyFactoryImpl.java: Likewise. + * gnu/javax/crypto/jce/key/Cast5SecretKeyFactoryImpl.java: Likewise. + * gnu/javax/crypto/jce/key/KhazadSecretKeyFactoryImpl.java: Likewise. + * gnu/javax/crypto/jce/key/RijndaelSecretKeyFactoryImpl.java: Likewise. + * gnu/javax/crypto/jce/key/SerpentSecretKeyFactoryImpl.java: Likewise. + * gnu/javax/crypto/jce/key/SquareSecretKeyFactoryImpl.java: Likewise. + * gnu/javax/crypto/jce/key/TwofishSecretKeyFactoryImpl.java: Likewise. + * gnu/javax/crypto/jce/mac/OMacImpl.java: Likewise. + * gnu/javax/crypto/jce/prng/CSPRNGSpi.java: Likewise. + * gnu/javax/crypto/cipher/IBlockCipherSpi.java: Fix javadoc @link. + * gnu/javax/crypto/jce/cipher/CipherAdapter.java (CipherAdapter): Likewise. + * gnu/javax/crypto/cipher/BaseCipher.java: Remove unused import. + * gnu/javax/crypto/assembly/Cascade.java: Fix javadoc @link. + * gnu/javax/crypto/assembly/Direction.java: Likewise. + * gnu/javax/crypto/assembly/Transformer.java: Likewise. + +2006-06-04 Raif S. Naffah + + * gnu/java/security/PolicyFile.java: Updated copyright year. + (logger): Increased visibility. + * gnu/java/security/x509/Util.java: Updated copyright year. + (hexDump): Fix javadoc @link. + * gnu/java/security/x509/ext/GeneralNames.java: Updated copyright year. + Removed unused import. + * gnu/java/security/sig/rsa/RSAPSSSignatureRawCodec.java: Fix javadoc @link. + * gnu/java/security/sig/ISignature.java (SOURCE_OF_RANDOMNESS): Likewise. + * gnu/java/security/util/ExpirableObject.java: Likewise. + (destroy): Likewise. + * gnu/java/security/util/SimpleList.java (SimpleList): Likewise. + * gnu/java/security/provider/PKIXCertPathValidatorImpl.java: + Updated copyright year. + (checkCRL): Fix javadoc @param. + +2006-06-03 Andrew John Hughes + + * java/lang/annotation/IncompleteAnnotationException.java: + Documented. + +2006-06-03 Andrew John Hughes + + * java/lang/ProcessBuilder.java: + Documented. + (environment): Create as a copy. + * java/lang/System.java: + (EnvironmentMap.EnvironmentMap(Map)): + New constructor. + (EnvironmentMap.put(String,String)): Override superclass + method with checks for nulls and non-Strings. + +2006-06-02 Sven de Marothy + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (cairoPreserveClip, cairoResetClip): New methods. + (setClip, clip): Reimplement. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c + * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h + (cairoPreserveClip, cairoResetClip): New methods. + +2006-06-02 Sven de Marothy + + * gnu/java/awt/peer/gtk/VolatileImageGraphics.java + * include/gnu_java_awt_peer_gtk_GtkVolatileImage.h + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkVolatileImage.c + New files. + * gnu/java/awt/peer/gtk/ComponentGraphics.java + (drawImage): Overloads for VolatileImage drawing. + (drawVolatile): New method. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c + * include/gnu_java_awt_peer_gtk_ComponentGraphics.h + (drawVolatile): New method. + * gnu/java/awt/peer/gtk/GtkVolatileImage.java + Unstub implementation. + * include/Makefile.am + * native/jni/gtk-peer/Makefile.am + Add new files. + * native/jni/gtk-peer/gtkpeer.h + New prototype. + +2006-06-03 Roman Kennke + + PR 27418 + * javax/swing/plaf/basic/BasicTextUI.java + (damageRange): Added null check to avoid NPE. + +2006-06-03 Roman Kennke + + * javax/swing/text/PlainView.java + (updateDamage): Check for valid longestLine and initialize if + necessary. + +2006-06-03 Mark Wielaard + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c: Use C + comments, not C++. + +2006-06-02 Sven de Marothy + + PR 27879 + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (copyArea): Implement. + (copyAreaImpl, getRealBounds): New methods. + * gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java + * gnu/java/awt/peer/gtk/ComponentGraphics.java + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java + (copyAreaImpl, getRealBounds): Implement. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c + (nativeCopyArea): Reimplement. + +2006-06-02 Andreas Tobler + + * configure.ac: Add -lX11 and -lXtst to XTEST_LIBS. + (XTEST_LIBS): New, substitute. + * native/jni/gtk-peer/Makefile.am (AM_LDFLAGS): Add XTEST_LIBS. + +2006-06-02 Roman Kennke + + PR 26738 + * javax/swing/text/PlainView.java + (updateDamage): Rewritten for correct repainting and revalidating. + (findLongestLine): New helper method. + (getLineLength): New helper method. + +2006-06-02 Sven de Marothy + + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java + * gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c + (nativeCopyArea): Change stride parameter to use # of ints. + (setPixels): Add checks. + * gnu/java/awt/peer/gtk/ComponentGraphics.java + (ComponentGraphics): Set background, clip. + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (Cairographics2D): Don't set clip. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c + Add flush. + +2006-06-02 Lillian Angel + + PR 24458 + * java/awt/DefaultKeyboardFocusManager.java + (dispatchEvent): Fixed to getFocusOwner, if that fails it tries + to get the focused window. + +2006-06-01 Miriam Schuster + + * Makefile.am: Add fallback if "mozilla-plugin" is not available. + Fallbacks used: "firefox-plugin" and "xulrunner-plugin". + +2006-06-02 Roman Kennke + + * javax/swing/JTable.java + (columnSelectionChanged): Don't return when there's only one + column (might still need repainting). Correctly calculate + repaint rectangle. + (valueChanged): Use return value of SwingUtilities.computeUnion + as dirty region. + +2006-06-01 Keith Seitz + + From Martin Platter : + * gnu/classpath/jdwp/processor/EventRequestCommandSet.java + (executeSet): Fix buffer underflow reading reference ID. + * gnu/classpath/jdwp/processor/ThreadGroupReferenceCommandSet.java + (executeParent): Fix NPE if ThreadGroup is top-level ThreadGroup. + * gnu/classpath/jdwp/processor/ClassTypeCommandSet.java + (executeSuperclass): Handle case of Object with ID zero. + +2006-06-02 Raif S. Naffah + + * tools/gnu/classpath/tools/keytool/StorePasswdCmd.java: Fixed typo. + * tools/gnu/classpath/tools/keytool/CertReqCmd.java: Likewise. + * tools/gnu/classpath/tools/keytool/DeleteCmd.java: Likewise. + * tools/gnu/classpath/tools/keytool/ExportCmd.java: Likewise. + * tools/gnu/classpath/tools/keytool/GenKeyCmd.java: Likewise. + * tools/gnu/classpath/tools/keytool/IdentityDBCmd.java: Likewise. + * tools/gnu/classpath/tools/keytool/ImportCmd.java: Likewise. + * tools/gnu/classpath/tools/keytool/KeyCloneCmd.java: Likewise. + * tools/gnu/classpath/tools/keytool/KeyPasswdCmd.java: Likewise. + * tools/gnu/classpath/tools/keytool/ListCmd.java: Likewise. + * tools/gnu/classpath/tools/keytool/SelfCertCmd.java: Likewise. + +2006-06-02 Raif S. Naffah + + * tools/gnu/classpath/tools/keytool/Command.java (shutdownThread): New field. + (Command): Add the shutdown hook. + (doCommand): Remove the shutdown hook. + (ShutdownHook): New class. + +2006-06-02 Raif S. Naffah + + * tools/jarsigner.in: Use @VM_BINARY@. + * tools/keytool.in: Likewise. + +2006-06-01 Sven de Marothy + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java: + (setColor): Update the cairo paint. + +2006-06-01 Mark Wielaard + + * java/util/logging/LogManager.java (createInstance): Always add + original exception on warning. + +2006-06-01 Lillian Angel + + * tools/gnu/classpath/tools/appletviewer/AppletTag.java + (prependCodebase): Fixed check. No dirname was ever considered to + be a file, so every applet fell into the if-statement causing a lot + of classloading problems with the applets. + +2006-06-01 Sven de Marothy + + Patch submitted by Boris Dusek. + * native/jni/qt-peer/qtmenupeer.cpp + Fix segfault + +2006-06-01 Roman Kennke + + * javax/swing/JTable.java + (AccessibleJTableCell.getAccessibleRow): Added comment explaining + why the behaviour is like it is. + (AccessibleJTableCell.getAccessibleStateSet): Implemented. + (AccessibleJTableHeader): New inner class. + (AccessibleJTableHeaderCell): New inner class. + (AccessibleJTable.lastSelectedRow): New field. + (AccessibleJTable.lastSelectedColumn): New field. + (AccessibleJTable.caption): New field. + (AccessibleJTable.summary): New field. + (AccessibleJTable.rowDescriptions): New field. + (AccessibleJTable.columnDescriptions): New field. + (AccessibleJTable): Initialize lastSelectedRow and lastSelectedColumn. + (AccessibleJTable.getAccessibleSelection(int)): Implemented. + (AccessibleJTable.isAccessibleChildSelected): Implemented. + (AccessibleJTable.addAccessibleSelection): Implemented. + (AccessibleJTable.removeAccessibleSelection): Implemented. + (AccessibleJTable.clearAccessibleSelection): Implemented. + (AccessibleJTable.selectAllAccessibleSelection): Implemented. + (AccessibleJTable.valueChange): Implemented. + (AccessibleJTable.tableRowsInserted): Implemented. + (AccessibleJTable.tableRowsDeleted): Implemented. + (AccessibleJTable.handleRowChange): New helper method. + (AccessibleJTable.columnAdded): Implemented. + (AccessibleJTable.columnMarginChanged): Implemented. + (AccessibleJTable.columnMoved): Implemented. + (AccessibleJTable.columnRemoved): Implemented. + (AccessibleJTable.columnSelectionChanged): Implemented. + (AccessibleJTable.handleColumnChange): New helper method. + (AccessibleJTable.editingCanceled): Implemented. + (AccessibleJTable.editingStopped): Implemented. + (AccessibleJTable.getAccessibleRow): Implemented. + (AccessibleJTable.getAccessibleColumn): Implemented. + (AccessibleJTable.getAccessibleIndex): Implemented. + (AccessibleJTable.getAccessibleCaption): Implemented. + (AccessibleJTable.setAccessibleCaption): Implemented. + (AccessibleJTable.getAccessibleSummary): Implemented. + (AccessibleJTable.setAccessibleSummary): Implemented. + (AccessibleJTable.getAccessibleRowCount): Implemented. + (AccessibleJTable.getAccessibleColumnCount): Implemented. + (AccessibleJTable.getAccessibleAt): Implemented. + (AccessibleJTable.getAccessibleRowExtentAt): Implemented. + (AccessibleJTable.getAccessibleColumnExtentAt): Implemented. + (AccessibleJTable.getAccessibleRowHeader): Implemented. + (AccessibleJTable.setAccessibleRowHeader): Implemented. + (AccessibleJTable.getAccessibleColumnHeader): Implemented. + (AccessibleJTable.setAccessibleColumnHeader): Implemented. + (AccessibleJTable.getAccessibleRowDescription): Implemented. + (AccessibleJTable.setAccessibleRowDescription): Implemented. + (AccessibleJTable.getAccessibleColumnDescription): Implemented. + (AccessibleJTable.setAccessibleColumnDescription): Implemented. + (AccessibleJTable.isAccessibleSelected): Implemented. + (AccessibleJTable.isAccessibleRowSelected): Implemented. + (AccessibleJTable.isAccessibleColumnSelected): Implemented. + (AccessibleJTable.getSelectedAccessibleRows): Implemented. + (AccessibleJTable.getSelectedAccessibleColumns): Implemented. + (getAccessibleContext): Register listeners for the accessibility + class on the JTable. + +2006-06-01 Sven de Marothy + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java: + (setPaint): Scale +1 pixel larger. + +2006-06-01 Sven de Marothy + + PR 27854 + * gnu/java/awt/Buffers.java (getData): Reimplement. + * gnu/java/awt/peer/gtk/CairoSurface.java + (getElem, setElem): Call native methods. + +2006-06-01 Audrius Meskauskas + + * gnu/javax/swing/text/html/ImageViewIconFactory.java: New file. + +2006-06-01 Sven de Marothy + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (drawImage): Check for zero size. + * gnu/java/awt/peer/gtk/GdkTextLayout.java: + (setFont): Declare new native method. + (GdkTextLayout): Read some attributes. + * include/gnu_java_awt_peer_gtk_GdkTextLayout.h + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkTextLayout.c + (setFont): New native method. + +2006-06-01 Sven de Marothy + + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java + (updateBufferedImage): Fix some errors. + +2006-06-01 David Gilbert + + * javax/swing/plaf/basic/BasicButtonUI.java: Minor source code style + fixes, + * javax/swing/plaf/basic/BasicDirectoryModel.java: Likewise, + * javax/swing/plaf/basic/BasicFileChooserUI.java: Likewise, + * javax/swing/plaf/basic/BasicIconFactory.java: Likewise, + * javax/swing/plaf/basic/BasicListUI.java: Likewise, + * javax/swing/plaf/basic/BasicOptionPaneUI.java: Likewise, + * javax/swing/plaf/basic/BasicRootPaneUI.java: Likewise, + * javax/swing/plaf/basic/BasicScrollPaneUI.java: Likewise, + * javax/swing/plaf/basic/BasicSpinnerUI.java: Likewise, + * javax/swing/plaf/basic/BasicTabbedPaneUI.java: Likewise, + * javax/swing/plaf/basic/BasicTextAreaUI.java: Likewise. + +2006-06-01 David Gilbert + + * javax/swing/JComboBox.java: Minor source code formatting fixes, + * javax/swing/JEditorPane.java: Likewise, + * javax/swing/JFormattedTextField.java: Likewise, + * javax/swing/JLayeredPane.java: Likewise, + * javax/swing/JScrollPane.java: Likewise, + * javax/swing/JSlider.java: Likewise, + * javax/swing/JSpinner.java: Likewise, + * javax/swing/JTree.java: Likewise, + * javax/swing/JViewport.java: Likewise, + * javax/swing/UIDefaults.java: Likewise, + * javax/swing/UIManager.java: Likewise. + +2006-06-01 Sven de Marothy + + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java + (BufferedImageGraphics): Cache surfaces. + (updateBufferedImage): Copy directly for certain color models. + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (drawImage): Reimplement. + +2006-06-01 Sven de Marothy + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c + (setPixels): Don't swap, correct size. + +2006-05-31 Anthony Green + + PR 27828 + * java/net/InetSocketAddress.java: Defer getting the host + name until somebody calls InetSocketAddress.getHostName(). + Fix "represenation" typo. + +2006-06-01 Sven de Marothy + + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java + (updateBufferedImage): Simplify. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c + (getPixels): Don't swap. + +2006-06-01 Sven de Marothy + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c + (setGradient): Reimplement. + +2006-06-01 Andreas Tobler + + * native/jni/gtk-peer/cairographics2d.h: Rename/prefix function + CairoGraphics2D_getCairoT to cp_gtk_get_cairo_t correctly. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c + (Java_gnu_java_awt_peer_gtk_CairoSurface_drawSurface): Rename function + CairoGraphics2D_getCairoT to cp_gtk_get_cairo_t. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkTextLayout.c + (Java_gnu_java_awt_peer_gtk_GdkTextLayout_cairoDrawGdkTextLayout): + Likewise. + +2006-05-31 David Gilbert + + * javax/swing/table/JTableHeader.java + (getColumnHeaderRenderer): New method, + (getAccessibleColumnHeaderRenderer): Delegate part to new + getColumnHeaderRenderer() method, + (getLocale): Implemented. + +2006-05-31 Andreas Tobler + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c + (cp_gtk_grab_current_drawable): Rename + cp_java_awt_peer_gtk_ComponentGraphics_grab_current_drawable to + cp_gtk_grab_current_drawable, remove static declaration. + (Java_gnu_java_awt_peer_gtk_ComponentGraphics_initState): Renamed above + function. + (Java_gnu_java_awt_peer_gtk_ComponentGraphics_copyAreaNative): Likewise. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphicsCopy.c: + Remove prototype of + cp_java_awt_peer_gtk_ComponentGraphics_grab_current_drawable. + (Java_gnu_java_awt_peer_gtk_ComponentGraphicsCopy_getPixbuf): Rename + function. + (Java_gnu_java_awt_peer_gtk_ComponentGraphicsCopy_copyPixbuf): Likewise. + * native/jni/gtk-peer/gtkpeer.h: Add prototype for + cp_gtk_grab_current_drawable here. + +2006-05-31 Sven de Marothy + + Should fix PR 27835 + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java + (updateBufferedImage): Keep within image bounds. + +2006-05-31 Thomas Fitzsimmons + Andreas Tobler + + * configure.ac: Check for libXrender when the GTK peers are + enabled, and set HAVE_XRENDER accordingly. Add -lXrender to + X_EXTRA_LIBS. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c + (Java_gnu_java_awt_peer_gtk_ComponentGraphics_hasXRender) + [HAVE_XRENDER]: Call XRenderQueryExtension conditionally. + +2006-05-31 Lillian Angel + + * javax/swing/plaf/basic/BasicProgressBarUI.java + (paintString): Implemented to paint the string vertically. + +2006-05-31 David Gilbert + + * javax/swing/JTable.java + (AccessibleJTable.AccessibleJTable()): Check for null editor, + (AccessibleJTable.getAccessibleRole()): Overridden to return correct + value, + (AccessibleJTable.getAccessibleTable()): Likewise, + (getAccessibleContext): Create new context if required. + +2006-05-31 Roman Kennke + + * javax/swing/JTabbedPane.java + (AccessibleJTabbedPane.stateChanged): Implemented. + (Page.getAccessibleStateSet): Implemented. + (Page.getAccessibleIndexInParent): Implemented. + (getAccessibleContext): Add AccessibleJTabbedPane object + as ChangeListener to the JTabbedPane. + +2006-05-31 Roman Kennke + + * javax/swing/JMenuItem.java + (getAccessibleContext): Register accessible object as ChangeListener + to the JMenuItem. + (AccessibleJMenuItem.armed): New field. + (AccessibleJMenuItem.focusOwner): New field. + (AccessibleJMenuItem.pressed): New field. + (AccessibleJMenuItem.selected): New field. + (stateChanged): Implemented. + +2006-05-31 David Gilbert + + * javax/swing/ListSelectionModel.java: Added API docs all over. + +2006-05-31 Audrius Meskauskas + + * examples/gnu/classpath/examples/swing/FillRect.java + (paintComponent): Optionally paint lines rather than rectangles. + (createContent): Added option to test line painting. + +2006-05-31 David Gilbert + + * javax/swing/event/EventListenerList.java + (getListenerList): Updated API docs. + +2006-05-30 Sven de Marothy + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (drawImage): Clip scaled image to dest rectangle. + +2006-05-30 Sven de Marothy + + * gnu/java/awt/peer/gtk/CairoSurface.java: + (CairoSurface): Convert pixels properly. + * gnu/java/awt/peer/gtk/ComponentGraphics.java + Remove commented-out lines. + +2006-05-30 Sven de Marothy + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (drawImage): Use Toolkit to convert to BufferedImage. + * gnu/java/awt/peer/gtk/CairoSurface.java + (CairoSurface(GtkImage)): New Constructor. + (getBufferedImage): New method. + * gnu/java/awt/peer/gtk/ComponentGraphics.java + Don't fill background - FIXME. + * gnu/java/awt/peer/gtk/GdkPixbufDecoder.java: + Remove unused methods. + * gnu/java/awt/peer/gtk/GtkImage.java: + (pixbuflock): New field. Methods change to use this lock. + * gnu/java/awt/peer/gtk/GtkToolkit.java + (createImage): Use Cairo-backed surfaces via GtkImage instead of + GtkPixbufDecoder. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c + (setPixels): Correct length in bytes. + +2006-05-30 Thomas Fitzsimmons + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java (static): Call + System.loadLibrary unconditionally. + * gnu/java/awt/peer/gtk/GdkFontPeer.java: Likewise. + * gnu/java/awt/peer/gtk/GdkPixbufDecoder.java: Likewise. + * gnu/java/awt/peer/gtk/GdkTextLayout.java: Likewise. + * gnu/java/awt/peer/gtk/GtkToolkit.java: Likewise. + +2006-05-30 Mark Wielaard + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c + (Java_gnu_java_awt_peer_gtk_ComponentGraphics_copyAreaNative): + Mark unused parameters, remove unused variables. + +2006-05-30 Sven de Marothy + + * gnu/java/awt/peer/gtk/ComponentGraphics.java + (copyArea): Implemented. + * include/gnu_java_awt_peer_gtk_ComponentGraphics.h + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c: + (copyAreaNative): New method. + +2006-05-30 Andreas Tobler + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c + (Java_gnu_java_awt_peer_gtk_CairoSurface_getPixels): Define i only + for non big endian systems. + (Java_gnu_java_awt_peer_gtk_CairoSurface_setPixels): Likewise. + +2006-05-30 Roman Kennke + + * gnu/java/awt/java2d/TexturePaintContext.java: New file. + * java/awt/TexturePaint.java + (createContext): Implemented. + +2006-05-30 Robert Schuster + + * javax/swing/table/DefaultTableMode.java: Initialize dataVector + field early. + +2006-05-30 Robert Schuster + + * java/awt/Container.java: + (removeAll): Reimplemented, added note. + +2006-05-30 Robert Schuster + + * java/awt/Container.java: + (removeAll): Implemented different removal mechanism, added note. + +2006-05-30 Lillian Angel + + PR 27785 + * java/awt/Component.java: + (translateEvent): Added handling to translate WindowEvents + * java/awt/Window.java: + Removed unneeded imports. + +2006-05-30 Mark Wielaard + + * native/jni/gtk-peer/Makefile.am (libgtkpeer_la_SOURCES): Add + cairographics2d.h. + +2006-05-30 Thomas Fitzsimmons + + * gnu/java/awt/peer/gtk/GtkImage.java: Fix constructor javadoc. + +2006-05-29 Audrius Meskauskas + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (clearRect): Do not reuse the fg field, call updateColor. + (drawRaster): Likewise. + (setColor): Call updateColor. + (updateColor): New method. + +2006-05-30 Mark Wielaard + + * native/jni/classpath/jcl.h (JLONG_TO_PTR): New macro. + (PTR_TO_JLONG): Likewise. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c + (getPointer): Use new conversion macros. + (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_init): Likewise. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c + (Java_gnu_java_awt_peer_gtk_CairoSurface_newCairoContext): + Likewise. + (setNativeObject): Likewise. + (getNativeObject): Likewise. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c + (cp_java_awt_peer_gtk_ComponentGraphics_grab_current_drawable): + Mark static. + (Java_gnu_java_awt_peer_gtk_ComponentGraphics_initState): + Correctly cast XID and pointer values. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphicsCopy.c + (Java_gnu_java_awt_peer_gtk_ComponentGraphicsCopy_getPixbuf): + Mark unused variables. + (Java_gnu_java_awt_peer_gtk_ComponentGraphicsCopy_copyPixbuf): + Likewise. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkTextLayout.c + (Java_gnu_java_awt_peer_gtk_GdkTextLayout_cairoDrawGdkTextLayout): + Remove unused cairographics2d struct. + (_moveTo, _lineTo, _quadTo, _curveTo): Mark arguments const. + (Java_gnu_java_awt_peer_gtk_GtkImage_initFromBuffer): + Use new conversion macros. + * native/jni/midi-dssi/dssi_data.h: Move conversion macros to jcl.h. + +2006-05-30 Mark Wielaard + + * include/Makefile.am (gnu_java_nio_VMChannel.h): Added. + +2006-05-29 Audrius Meskauskas + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (copy): Do not reuse the fd field. + (setColor): Do not set the color if the parameter + matches fd field. + (translate(double, double): Rewritten to use + AffineTransform.translate. + +2006-05-30 Sven de Marothy + + * gnu/java/awt/peer/gtk/ComponentGraphicsCopy.java + * include/gnu_java_awt_peer_gtk_ComponentGraphicsCopy.h + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphicsCopy.c + New files. + * include/Makefile.am + * native/jni/gtk-peer/Makefile.am + Add new files. + * gnu/java/awt/peer/gtk/CairoSurface.java + (getSharedGtkImage): New method. + * gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c + Fix copyArea. + * gnu/java/awt/peer/gtk/ComponentGraphics.java + Support a non-xrender context. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c + Plug memory leak. + * gnu/java/awt/peer/gtk/GtkImage.java + * include/gnu_java_awt_peer_gtk_GtkImage.h + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c + (initFromBuffer): New method. + * native/jni/gtk-peer/gtkpeer.h: + Remove declarations of previouslyremoved methods. + +2006-05-29 Thomas Fitzsimmons + + * tools/Makefile.am [FOUND_CACAO] (LIBJVM): Define to -ljvm. + +2006-05-29 Mark Wielaard + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c + (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_init): Mark unused + arguments. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c + (Java_gnu_java_awt_peer_gtk_CairoSurface_setPixels): Declare size + early. Remove unused return statement in void function. + (Java_gnu_java_awt_peer_gtk_CairoSurface_newCairoContext): Declare + ptr early. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c + (Java_gnu_java_awt_peer_gtk_ComponentGraphics_hasXRender): Mark + unused arguments. + (Java_gnu_java_awt_peer_gtk_ComponentGraphics_initState): Likewise. + (Java_gnu_java_awt_peer_gtk_ComponentGraphics_start_1gdk_1drawing): + Likewise. + (Java_gnu_java_awt_peer_gtk_ComponentGraphics_end_1gdk_1drawing): + Likewise. + +2006-05-29 Sven de Marothy + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c + (setPixels): Remove superfluous return statement. + +2006-05-29 Sven de Marothy + + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + * gnu/java/awt/peer/gtk/CairoSurface.java + * gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java + * gnu/java/awt/peer/gtk/ComponentGraphics.java + * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h + * include/gnu_java_awt_peer_gtk_CairoSurface.h + * include/gnu_java_awt_peer_gtk_ComponentGraphics.h + * native/jni/gtk-peer/cairographics2d.h + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c + New files. + + * gnu/java/awt/peer/gtk/GdkGraphics2D.java + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c + * include/gnu_java_awt_peer_gtk_GdkGraphics2D.h + Removed + + * include/gnu_java_awt_peer_gtk_GdkFontPeer.h + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c + * gnu/java/awt/peer/gtk/GdkFontPeer.java + (releasePeerGraphicsResource): Moved to Font peer class. + + * gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java + (createGraphics): Use new context classes. + + * gnu/java/awt/peer/gtk/GdkPixbufDecoder.java: + Use native BufferedImages where possible. + + * gnu/java/awt/peer/gtk/GdkTextLayout.java + * include/gnu_java_awt_peer_gtk_GdkTextLayout.h + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkTextLayout.c + Move GdkGraphics2D.drawGdkTextLayout to the GdkTextLayout class, + renamed to cairoDrawGdkTextLayout. + + * gnu/java/awt/peer/gtk/GtkComponentPeer.java + (getGraphics): Use ComponentGraphics context. + (createImage): Use native BufferedImage. + + * gnu/java/awt/peer/gtk/GtkImage.java: + * include/gnu_java_awt_peer_gtk_GtkImage.h + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c + Remove pixmap support. (GtkImage(int, int) constructor, getGraphics) + Remove drawing methods. + + * gnu/java/awt/print/JavaPrinterGraphics.java: + Use CairoSurface instead of GtkImage. + + * include/Makefile.am + * native/jni/gtk-peer/Makefile.am + Update for new files. + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkClipboard.c + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFramePeer.c + Remove superfluous GtkImage code for GdkPixmaps. + + * native/jni/gtk-peer/gtkpeer.h + Remove graphics2d structure. + +2006-05-29 Audrius Meskauskas + + * gnu/java/awt/peer/gtk/GdkGraphics2D.java (copying constructor): + Do not reuse fg in the constructor. + +2006-05-29 Carsten Neumann + + * java/io/ObjectStreamConstants.java: Added API docs. + +2006-05-29 Audrius Meskauskas + + * gnu/java/awt/peer/gtk/GdkGraphics2D.java (setColor): + Take no action if this color is already set. + +2006-05-29 Audrius Meskauskas + + * gnu/java/awt/peer/gtk/GdkGraphics2D.java (translate): + Rewritten. + * examples/gnu/classpath/examples/swing/FillRect.java (paintComponent): + Optionally paint with translation. (createContent): Added option + to test painting with translation + +2006-05-29 Raif S. Naffah + + * java/util/logging/FileHandler.java (FileHandler): Set the instance field + pattern to the default value when null. + Pass field pattern, and not parameter with same name to createFileStream. + +2006-05-28 Andrew John Hughes + + * gnu/java/lang/management/OperatingSystemMXBeanImpl.java: + New class implementing the OS bean. + * gnu/java/lang/management/package.html: + New file to document the gnu.java.lang.management package. + * java/lang/management/ManagementFactory.java: + New class to provide access to the OS bean. + * java/lang/management/OperatingSystemMXBean.java: + New interface. + * java/lang/management/package.html: + New file to document the java.lang.management package. + +2006-05-28 Raif S. Naffah + + * tools/gnu/classpath/tools/keytool/ImportCmd.java (GKR): New constant. + (JKS): Likewise. + (LIB): Likewise. + (SECURITY): Likewise. + (CACERTS): Likewise. + (CACERTS_GKR): Likewise. + (gkrCaCertsPathName): New field. + (jksCaCertsPathName): Likewise. + (selfSignedCertificate): Likewise. + (start): Initialize trusted certificate key stores if -trustcacerts is + specified. + (ensureReplyIsOurs): Initialize selfSignedCertificate. + (orderChain): Implemented. + (findTrustAndUpdate): Check a cacerts.gkr (GKR) and a cacert (JKS) trusted + certificate key stores if -trustcacerts option is specified. + (findTrustInCACerts): Removed. + (getCertPathParameters): New method. + (validate): New method. + * resource/gnu/classpath/tools/keytool/messages.properties: Added message. + +2006-05-28 Raif S. Naffah + + * java/util/logging/FileHandler.java (PROPERTY_PREFIX): New constant. + (PATTERN_KEY): Likewise. + (DEFAULT_PATTERN): Likewise. + (LIMIT_KEY): Likewise. + (DEFAULT_LIMIT): Likewise. + (COUNT_KEY): Likewise. + (DEFAULT_COUNT): Likewise. + (APPEND_KEY): Likewise. + (DEFAULT_APPEND): Likewise. + (FileHandler()): Use pattern value as set in logging.properties. + Use constants defined above. + (FileHandler(1)): Use constants defined above. + (FileHandler(2)): Likewise. + (FileHandler(3)): Likewise. + (FileHandler(4)): Likewise. + (createFileStream): Likewise. + +2006-05-28 Raif S. Naffah + + * java/util/logging/FileHandler.java: Reverted previous patch. + * java/util/logging/LogManager.java: Likewise. + +2006-05-28 Raif S. Naffah + + * java/util/logging/FileHandler.java (PATTERN_KEY): New constant. + (DEFAULT_PATTERN): Likewise. + (FileHandler()): Use configured pattern property if any; otherwise use a + default value as per RI documentation. + * java/util/logging/LogManager.java (getStringProperty): New method. + +2006-05-27 Thomas Fitzsimmons + + * NEWS: Announce libjawtgnu.so-to-libjawt.so rename. + +2006-05-27 Thomas Fitzsimmons + + * configure.ac (FOUND_CACAO): New automake conditional. + Add --enable-tool-wrappers. + * NEWS: Introduce the --enable-tool-wrappers option. + * tools/Makefile.am[CREATE_WRAPPERS]: Build wrapper binaries. + * tools/appletviewer.c: Remove file. Make tool-indepedent and + rename ... + * tools/toolwrapper.c: New file. + +2006-05-27 Dalibor Topic + + * java/awt/Graphics2D.java: Use full class name for + PrinterJob in javadoc. + +2006-05-27 Andreas Tobler + + * native/jni/qt-peer/eventmethods.h (callVoidMethod): Silence warning. + (callMouseMethod): Likewise. + +2006-05-26 Andrew John Hughes + + * native/jni/java-net/java_net_VMURLConnection.c: + Fix function declarations to specify unused parameters. + * scripts/check_jni_methods.sh: + Remove copies of the same function using uniq. + +2006-05-26 Andrew John Hughes + + * vm/reference/java/net/VMURLConnection.java: + Make package-private and final. + +2006-05-27 Audrius Meskauskas + + * examples/gnu/classpath/examples/swing/TableDemo.java + (TModed): Added editor for the icons column. + (createContent): Increase the row height by 2 px. + +2006-05-26 Tom Tromey + + PR classpath/27685: + * java/math/BigInteger.java (modPow): Correctly handle negative + exponent. + +2006-05-26 Tom Tromey + + * configure.ac: Check for magic.h and -lmagic. + * vm/reference/java/net/VMURLConnection.java: New file. + * include/java_net_VMURLConnection.h: New file. + * include/Makefile.am (H_FILES): Add VMURLConnection.h. + ($(top_srcdir)/include/java_net_VMURLConnection.h): New target. + * native/jni/java-net/Makefile.am (libjavanet_la_SOURCES): + Mention new file. + (libjavanet_la_LIBADD): Add $(LIBMAGIC). + * native/jni/java-net/java_net_VMURLConnection.c: New file. + +2006-05-26 Thomas Fitzsimmons + + * tools/Makefile.am (installcheck-binSCRIPTS): Do nothing. + +2006-05-26 Thomas Fitzsimmons + + * native/jawt/Makefile.am (nativeexeclib_LTLIBRARIES): Rename + libjawtgnu.la libjawt.la. + +2006-05-26 Thomas Fitzsimmons + + * native/jni/gtk-peer/Makefile.am (libgtkpeer_la_SOURCES): Remove + gtkcairopeer.h. + +2006-05-25 Lillian Angel + + PR 26174 + * java/awt/Window.java + (Window): Moved code to helper. + (addWindowFocusListener): New function. Handles focus + listener code. Added code to handle focus lost/gained + from the window. + +2006-05-25 Andrew John Hughes + + * configure.ac: + Make pkg-config check for GTK+ >= 2.8. + +2006-05-25 Thomas Fitzsimmons + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c + (flush): Remove debugging printfs. + +2006-05-25 Thomas Fitzsimmons + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c + (schedule_flush): New function. + (end_drawing_operation): Call schedule_flush. + +2006-05-25 Thomas Fitzsimmons + + * examples/gnu/classpath/examples/swing/Demo.java: Add FillRect + paint performance demo. + * examples/gnu/classpath/examples/swing/FillRect.java: New file. + +2006-05-25 Thomas Fitzsimmons + + * INSTALL: Bump GTK requirement to 2.8 or higher. Do not mention + Cairo version requirement. Do not mention --enable-gtk-cairo + configure option. + * NEWS: Add entry for GdkGraphics2D. + * configure.ac: Remove --enable-gtk-cairo and explicit checks for + Cairo library and headers. + * .externalToolBuilders/Configure.launch: Remove + --enable-gtk-cairo from configure line. + * gnu/classpath/Configuration.java.in (GTK_CAIRO_ENABLED): Remove + field. + * gnu/java/awt/BitwiseXORComposite.java: Fix javadoc typo. + * gnu/java/awt/peer/gtk/GdkFontPeer.java, + native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c : Remove + useGraphics2D references. Always assume Graphics2D is enabled. + * gnu/java/awt/peer/gtk/GdkGraphics.java, + native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c: Remove. + * gnu/java/awt/peer/gtk/GdkGraphics2D.java, + native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c: Remove + Unlocked method variants. Remove GTK_CAIRO_ENABLED and + useGraphics2D references. Always assume Graphics2D is enabled. + * gnu/java/awt/peer/gtk/GdkTextLayout.java: Remove instanceof + Graphics2D check. Always assume Graphics2D is enabled. + * gnu/java/awt/peer/gtk/GtkCanvasPeer.java, + native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCanvasPeer.c + (realize): Remove method. + * gnu/java/awt/peer/gtk/GtkComponentPeer.java, + native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c + (isRealized): Remove method. + (realize): Implement as a native method. Remove useGraphics2D + references. Always assume Graphics2D is enabled. + * gnu/java/awt/peer/gtk/GtkImage.java, + native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c: Replace + GdkGraphics references with GdkGraphics2D references. + * gnu/java/awt/peer/gtk/GtkToolkit.java, + native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c: Remove + useGraphics2D references. Always assume Graphics2D is enabled. + * include/Makefile.am (GTKPEER_H_FILES): Remove + gnu_java_awt_peer_gtk_GdkGraphics.h. + * include/gnu_java_awt_peer_gtk_GdkFontPeer.h: Regenerate. + * include/gnu_java_awt_peer_gtk_GdkGraphics.h: Remove. + * include/gnu_java_awt_peer_gtk_GdkGraphics2D.h: Regenerate. + * include/gnu_java_awt_peer_gtk_GtkCanvasPeer.h: Likewise. + * include/gnu_java_awt_peer_gtk_GtkComponentPeer.h: Likewise. + * native/jawt/Makefile.am (AM_LDFLAGS): Remove CAIRO_LIBS. + * native/jni/gtk-peer/Makefile.am (libgtkpeer_la_SOURCES): Remove + gnu_java_awt_peer_gtk_GdkGraphics.c. Include + gnu_java_awt_peer_gtk_GdkGraphics2D.c unconditionally. + (AM_LDFLAGS): Remove CAIRO_LIBS. + (AM_CFLAGS): Remove CAIRO_CFLAGS. + * native/jni/gtk-peer/gtkcairopeer.h: Remove. Move declarations + to ... + * native/jni/gtk-peer/gtkpeer.h: Add Graphics2D declarations. + +2006-05-25 Lillian Angel + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c + (Java_gnu_java_awt_peer_gtk_GtkComponentPeer_gtkWidgetSetCursorUnlocked): + Added check to prevent assertion error. If widget->window is null, then + use the parent widget's window to set the cursor on. + +2006-05-25 Audrius Meskauskas + + * javax/swing/plaf/basic/BasicTreeUI.java (TreeCancelEditingAction): + Implemented. + +2006-05-24 Lillian Angel + + * tools/gnu/classpath/tools/appletviewer/AppletTag.java + (prependCodeBase): Added check to determine if the documentbase + points to a directory or a file. + +2006-05-24 Sven de Marothy + + * java/awt/dnd/DragGestureRecognizer.java + (resetRecognizer): Implement. + (fireDragGestureRecognized): Implement. + +2006-05-24 David Gilbert + + * javax/swing/plaf/basic/BasicComboBoxUI.java: Marked stub methods and + fixed source code formatting. + +2006-05-24 Audrius Meskauskas + + * javax/swing/JTable.java (valueChanged): If is editing, stop editing. + +2006-05-24 Audrius Meskauskas + + Reported by Antony Balkisson. + * javax/swing/JTable.java (selectAll): Return without action + if the table is empty. + +2006-05-23 Audrius Meskauskas + + * examples/gnu/classpath/examples/swing/TableDemo.java: + (SliderCell): New inner class. (setCustomEditors, + setInformativeHeaders): New fields. (createContent): + Rewritten. + * javax/swing/DefaultCellEditor.java + (JComboBoxDelegate.shouldSelectCell): New method. + * javax/swing/JTable.java (editCellAt): Call shouldSelectCell. + * javax/swing/plaf/basic/BasicTableUI.java + (MouseInputHandler.mouseClicked): Start editing on a single + click if the cell editor is not a default cell editor. + +2006-05-23 Audrius Meskauskas + + * javax/swing/naming/CompositeName.java, + javax/swing/naming/CompoundName.java: + Documented. + +2006-05-23 Archie Cobbs + + * vm/reference/java/lang/VMClassLoader.java: fix static initializer + ordering problem. + +2006-05-23 David Gilbert + + * javax/swing/tree/AbstractLayoutCache.java: Coding style fixes, + * javax/swing/tree/DefaultMutableTreeNode.java: Likewise, + * javax/swing/tree/DefaultTreeCellRenderer.java: Likewise, + * javax/swing/tree/DefaultTreeModel.java: Likewise, + * javax/swing/tree/DefaultTreeSelectionModel.java: Likewise, + * javax/swing/tree/ExpandVetoException.java: Likewise, + * javax/swing/tree/FixedHeightLayoutCache.java: Likewise, + * javax/swing/tree/RowMapper.java: Likewise, + * javax/swing/tree/TreeNode.java: Likewise, + * javax/swing/tree/TreeSelectionModel.java: Likewise, + * javax/swing/tree/VariableHeightLayoutCache.java: Likewise. + +2006-05-23 David Gilbert + + * javax/swing/tree/DefaultTreeCellRenderer.java + (DefaultTreeCellRenderer): Changed key for + setBackgroundNonSelectionColor(), + plus API docs all over. + +2006-05-23 Audrius Meskauskas + + PR 27680 + * javax/swing/JTable.java (booleanInvertingEditor): New field. + (defaultEditorsByColumnClass, defaultRenderersByColumnClass): + Initialise in constructor. (columnMoved): Cancel editing. + (createDefaultEditors): Rewritten. (editCellAt): + Just invert the value if this is a boolean cell. + (initialiseLocalVars): Do not initialise renderer and editor tables. + (setUI): Create editors and renderers here. + +2006-05-23 Robert Schuster + + * examples/gnu/classpath/examples/awt/Demo.java: + (MainWindow.MainWindow): Added ResolutionWindow and FullscreenWindow + instance as subframe. + (ResolutionWindow): New inner class. + (FullscreenWindow): New inner class. + +2006-05-23 Audrius Meskauskas + + PR 27680 + * javax/swing/JTable.java (BooleanCellRenderer, IconCellRenderer): + Set horizontal alignment to centered. + +2006-05-22 David Gilbert + + * javax/accessibility/AccessibleContext.java + (getAccessibleComponent): Fixed typo in docs, + * javax/swing/JLabel.java: + (AccessibleJLabel.getAccessibleName): Check for explicit + accessibleName, + * javax/swing/JTableHeader.java + (AccessibleJTableHeaderEntry.columnIndex): New field, + (AccessibleJTableHeaderEntry.parent): New field, + (AccessibleJTableHeaderEntry.table): New field, + (AccessibleJTableHeaderEntry.AccessibleJTableHeaderEntry()): + Implemented, + (AccessibleJTableHeaderEntry.getAccessibleColumnHeaderRenderer): New + utility method, + (AccessibleJTableHeaderEntry.addFocusListener): Implemented, + (AccessibleJTableHeaderEntry.addPropertyChangeListener): Implemented, + (AccessibleJTableHeaderEntry.contains): Implemented, + (AccessibleJTableHeaderEntry.getAccessibleAction): Implemented, + (AccessibleJTableHeaderEntry.getAccessibleAt): Implemented, + (AccessibleJTableHeaderEntry.getAccessibleChild): Implemented, + (AccessibleJTableHeaderEntry.getAccessibleChildrenCount): Implemented, + (AccessibleJTableHeaderEntry.getAccessibleComponent): Implemented, + (AccessibleJTableHeaderEntry.getAccessibleContext): Implemented, + (AccessibleJTableHeaderEntry.getAccessibleDescription): Implemented, + (AccessibleJTableHeaderEntry.getAccessibleIndexInParent): Implemented, + (AccessibleJTableHeaderEntry.getAccessibleName): Implemented, + (AccessibleJTableHeaderEntry.getAccessibleRole): Implemented, + (AccessibleJTableHeaderEntry.getAccessibleSelection): Implemented, + (AccessibleJTableHeaderEntry.getAccessibleStateSet): Implemented, + (AccessibleJTableHeaderEntry.getAccessibleText): Implemented, + (AccessibleJTableHeaderEntry.getAccessibleValue): Implemented, + (AccessibleJTableHeaderEntry.getBackground): Implemented, + (AccessibleJTableHeaderEntry.getBounds): Implemented, + (AccessibleJTableHeaderEntry.getCursor): Implemented, + (AccessibleJTableHeaderEntry.getFont): Implemented, + (AccessibleJTableHeaderEntry.getFontMetrics): Implemented, + (AccessibleJTableHeaderEntry.getForeground): Implemented, + (AccessibleJTableHeaderEntry.getLocation): Implemented, + (AccessibleJTableHeaderEntry.getLocationOnScreen): Implemented, + (AccessibleJTableHeaderEntry.getSize): Implemented, + (AccessibleJTableHeaderEntry.isEnabled): Implemented, + (AccessibleJTableHeaderEntry.isFocusTraversable): Implemented, + (AccessibleJTableHeaderEntry.isShowing): Implemented, + (AccessibleJTableHeaderEntry.isVisible): Implemented, + (AccessibleJTableHeaderEntry.removeFocusListener): Implemented, + (AccessibleJTableHeaderEntry.removePropertyChangeListener): + Implemented, + (AccessibleJTableHeaderEntry.requestFocus): Implemented, + (AccessibleJTableHeaderEntry.setAccessibleDescription): Implemented, + (AccessibleJTableHeaderEntry.setAccessibleName): Implemented, + (AccessibleJTableHeaderEntry.setBackground): Implemented, + (AccessibleJTableHeaderEntry.setBounds): Implemented, + (AccessibleJTableHeaderEntry.setCursor): Implemented, + (AccessibleJTableHeaderEntry.setEnabled): Implemented, + (AccessibleJTableHeaderEntry.setFont): Implemented, + (AccessibleJTableHeaderEntry.setForeground): Implemented, + (AccessibleJTableHeaderEntry.setLocation): Implemented, + (AccessibleJTableHeaderEntry.setSize): Implemented, + (AccessibleJTableHeaderEntry.setVisible): Implemented, + (AccessibleJTableHeader.getAccessibleRole): Implemented, + (AccessibleJTableHeader.getAccessibleChildrenCount): Implemented, + (AccessibleJTableHeader.getAccessibleChild): Implemented, + (AccessibleJTableHeader.getAccessibleAt): Implemented. + +2006-05-22 Tom Tromey + + * NEWS: Updated. + +2006-05-22 David Gilbert + + * javax/swing/JLabel.java + (AccessibleJLabel.getAccessibleName): New method (override), + (setLabelFor): Fire 'labelFor' property change event before other + events. + +2006-05-22 David Gilbert + + * javax/swing/JLabel.java + (AccessibleJLabel.getAccessibleRole): New method (override). + +2006-05-22 Tom Tromey + + * resource/gnu/classpath/tools/serialver/messages.properties: New + file. + * tools/gnu/classpath/tools/serialver/Messages.java: New file. + * tools/gnu/classpath/tools/serialver/SerialVer.java (classes): New + field. + (classpath): Likewise. + (run): New method. + (main): Use it. + (addFileURL): New method. + (getClassLoader): Likewise. + (printMessage): Likewise. + +2006-05-22 Tom Tromey + + * tools/gnu/classpath/tools/serialver/SerialVer.java: New file. + +2006-05-22 Audrius Meskauskas + + * javax/swing/JTable.java (doLayout): In the column + resize mode, only repaing the changed part of the table. + (getLeftResizingBoundary): New method. + +2006-05-22 Audrius Meskauskas + + * javax/naming/spi/InitialContextFactory.java, + javax/naming/spi/InitialContextFactoryBuilder.java, + javax/naming/spi/NamingManager.java, + javax/naming/spi/ObjectFactory.java, + javax/naming/spi/ResolveResult.java, + javax/naming/spi/Resolver.java, + javax/naming/spi/StateFactory.java: Documented. + +2006-05-21 Tom Tromey + + PR classpath/27688: + * tools/gnu/classpath/tools/jar/Extractor.java (allItems): Now + a WorkSet. + (initSet): Removed. + (shouldExtract): Removed. + (run): Updated. + * tools/gnu/classpath/tools/jar/WorkSet.java: New file. + * tools/gnu/classpath/tools/jar/Lister.java (readUntilEnd): New + method. + (listJar): Use it. + (allItems): New field. + (run): Initialize it. + (listJar): Use it. + +2006-05-22 Sven de Marothy + + * java/nio/CharBuffer.java + (wrap): Fix bounds checking. + +2004-08-26 Tom Tromey + + * java/io/OutputStream.java + (OutputStream): Implements Closeable, Flushable. + +2006-04-02 Andrew John Hughes + + * java/io/ObjectOutputStream.java: + (writeObject(Object)): Added enum support. + (writeClassDescriptor(ObjectStreamClass)): Likewise. + * java/io/ObjectStreamClass.java: + (isEnum()): New package-private method. + (setFlags(Class)): Added enum support. + * java/io/ObjectStreamConstants.java: + (SC_ENUM): Added. + +2006-03-29 Andrew John Hughes + + * java/io/ObjectInputStream.java: + (parseContent(byte)): Added enum support. + * java/io/ObjectStreamConstants.java: + (TC_ENUM): Added. + (TC_MAX): Changed to new maximum, TC_ENUM. + +2006-05-21 Andrew John Hughes + + * java/beans/beancontext/BeanContextSupport.java: + (instantiateChild(String)): Implemented. + +2006-05-21 Andrew John Hughes + + * java/beans/beancontext/BeanContextSupport.java: + (add(Object)): Add further documentation. + (isEmpty()): Documented. + (propertyChange(PropertyChangeEvent)): Implemented. + (remove(Object)): Documented. + (remove(Object,boolean)): Documented and implemented. + (vetoableChange(PropertyChangeEvent)): Marked as + implemented (only subclasses appear to need this). + +2006-05-21 Andrew John Hughes + + * java/beans/beancontext/BeanContextSupport.java: + (add(Object)): Implement support for the child being + a BeanContextChild. + (avoidingGui()): Implemented. + (dontUseGui()): Likewise. + (needsGui()): Likewise. + (okToUseGui()): Likewise. + +2006-05-21 Audrius Meskauskas + + * javax/naming/Context.java, + javax/naming/ContextNotEmptyException.java, + javax/naming/Reference.java: Documented. + +2006-05-21 Audrius Meskauskas + + * javax/swing/text/html/MinimalHTMLWriter.java + (writeComponent, writeImage): Declare that the method + may throw the IOException. + +2006-05-21 Audrius Meskauskas + + PR 26972 + * javax/naming/InitialContext.java (colon_list): Changed type to + hashset. (use_properties): New field. (init(Hashtable)): Rewritten. + (merge): Rewritten. + +2006-05-21 Audrius Meskauskas + + * javax/naming/InitialContext.java: Documented. + +2006-05-21 Audrius Meskauskas + + * javax/naming/NameParser.java, + javax/naming/NamingEnumeration.java, + javax/naming/PartialResultException.java, + javax/naming/SizeLimitExceededException.java, + javax/naming/spi/ObjectFactory.java, + javax/naming/spi/ObjectFactoryBuilder.java: Documented. + +2006-05-21 Andrew John Hughes + + * gnu/java/net/loader/JarURLLoader.java: + Use Map.Entry instead of LinkedHashMap.Entry + +2006-05-21 Audrius Meskauskas + + * javax/naming/Context.java: Documented. + +2006-05-21 Audrius Meskauskas + + * javax/naming/Referenceable.java: Documented. + * javax/naming/spi/NamingManager.java: Documented. + +2006-05-21 Raif S. Naffah + + * doc/tools.texinfo: Replaced references to MessageBundle.properties + to messages.properties. + * resource/gnu/classpath/tools/jarsigner/MessageBundle.properties: + Renamed to messages.properties. + * resource/gnu/classpath/tools/keytool/MessageBundle.properties: + Likewise. + * resource/gnu/classpath/tools/jarsigner/messages.properties: + Renamed from MessageBundle.properties. + Added copyright notice. + * resource/gnu/classpath/tools/keytool/messages.properties: + Likewise. + * tools/gnu/classpath/tools/jarsigner/Messages.java + (BUNDLE_NAME): Use messages instead of MessageBundle properties file. + (getFormattedString): Fixed a spelling mistake. + * tools/gnu/classpath/tools/keytool/Messages.java: Likewise. + +2006-05-20 Sven de Marothy + + * gnu/java/awt/font/opentype/NameDecoder.java + Made class public. + (getName): Use getShort instead of getChar(), fix PS name. + (decodeName): New method. + * gnu/java/awt/peer/gtk/GdkFontPeer.java + (getSubFamilyName): Implement. + (getPostScriptName): Use the NameDecoder class instead. + (parsePSName): Removed. + (getName): Added + +2006-05-20 Sven de Marothy + + * gnu/java/awt/peer/gtk/GdkFontPeer.java + (getTrueTypeTable): New native method. + (getPostScriptName): Reimplement. + (parsePSName): New method. + (getNumGlyphs): Implement. + * include/gnu_java_awt_peer_gtk_GdkFontPeer.h: New native method. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c + (Java_gnu_java_awt_peer_gtk_GdkFontPeer_getTrueTypeTable): + New function. File is now explicitly dependent on FT2. + +2006-05-20 Tom Tromey + + * tools/gnu/classpath/tools/native2ascii/Messages.java: New file. + * resource/gnu/classpath/tools/native2ascii/messages.properties: New + file. + * tools/gnu/classpath/tools/native2ascii/Native2ASCII.java + (HandleFile): New class. + (input, output, encoding, reversed): New fields. + (createParser): New method. + (run): Likewise. + (main): Use 'run'. + * tools/gnu/classpath/tools/getopt/FileArgumentCallback.java + (notifyFile): Throws OptionException. + +2006-05-20 Tom Tromey + + * tools/gnu/classpath/tools/native2ascii/Native2ASCII.java: New file, + from cp-tools. + +2006-05-20 Andrew John Hughes + + * native/jni/java-nio/gnu_java_nio_VMChannel.c: + (JCL_print_buffer): Fix to work with -Werror on 64-bit + platforms. + +2006-05-20 Sven de Marothy + + * java/awt/Font.java (getNumGlyphs): Call correct peer method. + +2006-05-20 Sven de Marothy + + * gnu/java/awt/print/JavaPrinterJob.java + (print): Use PostScriptGraphics2D. + * gnu/java/awt/print/PostScriptGraphics2D.java: New file. + +2006-05-20 Sven de Marothy + + * javax/swing/text/html/MinimalHTMLWriter.java: New file + +2006-05-20 Raif S. Naffah + + * gnu/java/security/OID.java: Updated copyright year. + (OID): Removed unused Javadoc param tag. + * gnu/java/security/prng/PRNGFactory.java: Removed unused import. + * gnu/java/security/hash/MD4.java: Fixed a Javadoc link. + +2006-05-20 Raif S. Naffah + + * gnu/javax/crypto/jce/keyring/GnuKeyring.java (engineAliases): + Formatting. + Added trace/debug statements. + (engineSetCertificateEntry): Ensure alias is not already used for a Key + Entry. Also ensure that any previous entry for this alias is removed + before a new one is added. + (engineGetKey): Do not trace/log passwords. + Trace key's class name only. + (engineSetKeyEntry): Ensure alias is not alredy used for a Trusted + Certificate Entry. Also ensure that previous entry for this alias is + removed before a new one is added. + (engineLoad): Do not trace/log passwords. + (engineStore): Likewise. + (engineSize): Use size of enumeration instead of collection size. + +2006-05-20 Raif S. Naffah + + * gnu/javax/crypto/keyring/PrivateKeyEntry.java: Formatting. + (toString): New method. + * gnu/javax/crypto/keyring/PasswordEncryptedEntry.java (decrypt): + Do not trace/log passwords. + Set masked to false before decoding envelope. + Do not set payload to null. + (encrypt): Set masked to true. + * gnu/javax/crypto/keyring/PasswordAuthenticatedEntry.java (verify): + Do not trace/log passwords. + Set masked to false before decoding envelope. + Do not set payload to null. + Added trace/debug statements. + (authenticate): Do not trace/log passwords. + Set masked to true. + Added trace/debug statements. + (getMac): Added trace/debug statements. + * gnu/javax/crypto/keyring/MaskableEnvelopeEntry.java + (remove(String)): Changed the signature to return a boolean. + (toString): New method. + * gnu/javax/crypto/keyring/GnuPublicKeyring.java (containsCertificate): + Formatting + (getCertificate): Likewise. + (putCertificate): Likewise. + (load): Likewise. + Do not trace/log passwords. + (store): Likewise. + * gnu/javax/crypto/keyring/GnuPrivateKeyring.java (getPrivateKey): + Do not trace/log passwords. + Added more trace/logging statements. + (putPrivateKey): Do not trace/log passwords. + Trace only key's class name. + Formatting. + (containsPublicKey): Formatting. + (getPublicKey): Likewise. + Trace only key's class name. + (putPublicKey): Trace only key's class name. + (containsCertPath): Formatting. + (getCertPath): Likewise. + (putCertPath): Likewise. + (load): Do not trace/log passwords. + Formatting. + (store): Likewise. + * gnu/javax/crypto/keyring/EnvelopeEntry.java (log): New field. + (add): Do not set payload to null. + Added trace/debug statements. + (containsAlias): Added trace/debug statements. + (get): Likewise. + (remove(Entry)): Likewise. + (remove(String)): Likewise. + Changed the signature to return a boolean. + Do not set payload to null unless really removed. + (toString): New method. + (decodeEnvelope): Clear entries before proceeding. + (makeAliasList): Added trace/debug statements. + Ensure only non-null aliases and alias-lists are added. + * gnu/javax/crypto/keyring/Entry.java (log): New field. + (TYPES): New constant. + (toString): New method. + (defaultDecode): Add trace/debug statement. + +2006-05-20 Raif S. Naffah + + * tools/gnu/classpath/tools/keytool/ListCmd.java (rfc): + Increased visibility. + (setup): Do not trace/log passwords. + (parsed): Was not setting correct (rfc) field; fixed. + (print1Chain): Formatting. + * tools/gnu/classpath/tools/keytool/DeleteCmd.java (setup): + Do not trace/log passwords. + * tools/gnu/classpath/tools/keytool/ExportCmd.java (setup): Likewise. + * tools/gnu/classpath/tools/keytool/GenKeyCmd.java (setup): Likewise. + * tools/gnu/classpath/tools/keytool/IdentityDBCmd.java (setup): Likewise. + * tools/gnu/classpath/tools/keytool/KeyCloneCmd.java (setup): Likewise. + * tools/gnu/classpath/tools/keytool/StorePasswdCmd.java (setup): Likewise. + * tools/gnu/classpath/tools/keytool/ImportCmd.java (setup): Likewise. + (orderChain): Added FIXME. + * tools/gnu/classpath/tools/keytool/CertReqCmd.java (setup): + Do not trace/log passwords. + Removed commented out code. + * tools/gnu/classpath/tools/keytool/KeyPasswdCmd.java (setup): Likewise. + * tools/gnu/classpath/tools/keytool/SelfCertCmd.java (setup): Likewise. + * tools/gnu/classpath/tools/keytool/Command.java (doCommand): Formatting. + (setKeystoreURLParam): Likewise. + (setKeystorePasswordParam): Do not trace/log passwords. + (saveKeyStore): Likewise. + +2006-05-19 Roman Kennke + + * gnu/java/awt/java2d/AbstractGraphics2D.java + Added class docs. + (pixel): Removed obsolete field. + (draw(Shape)): Removed commented out code. + (drawImage): Formatting. + (drawString): Added optimization hook. + (setPaint): Removed rawSetForeground(). + (getFontRenderContext): Return context with correct transform. + (drawGlyphVector): Draw complete outline in one go. + (copyArea): Added optimization hook. + (clearRect): Added optimization hook. + (drawImage): Added optimization hook. + (fillShape): (Temporarily) Set antialiasing off by default for + font rendering. Adjust the shape by some bits to improve rendering. + Pass clip bounds to the render methods. + (drawPixel): Removed. + (rawSetPixel): Removed. + (rawSetForeground): Removed. + (rawDrawLine): Default impl calls standard pipeline. + (rawDrawString): New method, calls standard pipeline for rendering. + (rawClearRect): New method, calls standard pipeline for rendering. + (rawFillRect): New method, calls standard pipeline for rendering. + (rawDrawImage): New method, calls standard pipeline for rendering. + (rawCopyArea): New method. + (copyAreaImpl): New method. + (rawFillShape): Renamed to fillShapeImpl(). Small optimization + for rendering. + (fillShapeAntialias): Fixed AA rendering. + (fillScanlineAA): Fixed AA rendering. + (getSegments): Take offset into account. + +2006-05-19 Sven de Marothy + + * javax/swing/text/AbstractWriter.java + (getText): Fix parameters (start, length) not (start, end). + +2006-05-19 Tom Tromey + + PR classpath/27444: + * gnu/java/net/loader/URLLoader.java (getClassPath): Documented. + Changed return type. + * java/net/URLClassLoader.java (urlloaders): Removed. + (addURLImpl): Updated. + * gnu/java/net/loader/JarURLLoader.java (initialized): New field. + (indexSet): Likewise. + (classPath): Changed type. + (JarURLLoader): New constructor. + (initialize): New method. + (getResource): Use index set if it exists. + (getClassPath): Updated. + * gnu/java/net/IndexListParser.java (IndexListParser): Avoid NPE. + (prefixes): New field. + (headers): Removed. + (IndexListParser): Fill in prefixes. + (clearAll): Clear prefixes. + (getHeaders): Changed return type. + +2006-05-19 Audrius Meskauskas + + * javax/swing/plaf/basic/BasicTableHeaderUI.java + (MouseInputHandler.mouseExitted): No nothing there. + (MouseInputHandler.endDragging): Move column to the + first/last position if released outside the horizontal + table range. + +2006-05-19 Lillian Angel + + * java/awt/font/GlyphVector.java + (getGlyphCharIndex): Implemented. + (getGlyphCharIndices): Implemented. + (getGlyphOutline): Implemented. + (getGlyphVisualBounds): Implemented. + (getGlyphVisualBounds): Implemented. + (getPixelBounds): Implemented. + (getLayoutFlags): Implemented. + +2006-05-19 Robert Schuster + + * java/awt/LightweightDispatcher.java: Added field dragButton and + documentation for it. + (handleMouseEvent): Rewritten MOUSE_PRESSED case in switch-statement, + added subexpression to if-clause in MOUSE_RELEASED case. + +2006-05-19 Robert Schuster + + * javax/swing/metal/MetalButtonUI.java: + (update): Removed some subexpression from if-clause and call + updateWithGradient. + (updateWithGradient): New method. + +2006-05-19 Roman Kennke + + * javax/swing/JComponent.java + (findOverlapFreeParent): Implemented algorithm for finding + overlapping in component hierarchy. + +2006-05-19 Jeroen Frijters + + * java/lang/Thread.java + (contextClassLoaderIsSystemClassLoader): New field. + (Thread(ThreadGroup,Runnable)): Call createAnonymousThreadName. + (Thread(VMThread,String,int,boolean)): Call createAnonymousThreadName + and set contextClassLoaderIsSystemClassLoader. + (Thread(ThreadGroup,Runnable,String,long)): + Set contextClassLoaderIsSystemClassLoader. + (createAnonymousThreadName): New method. + (getContextClassLoader): Check contextClassLoaderIsSystemClassLoader + and fixed security check. + (setContextClassLoader): Clear contextClassLoaderIsSystemClassLoader. + +2006-05-19 Robert Schuster + + * javax/swing/plaf/basic/BasicToolBarUI.java: + (createNonRolloverBorder): Rewritten. + (createRolloverBorder): Rewritten. + (setToNonRolloverBorder): Store old border instance in hashtable. + (setToRolloverBorder): Store old border instance in hashtable, use + AbstractButton instead of JButton in statements. + (setBorderToNormal): Rewritten. + * javax/swing/plaf/metal/MetalLookAndFeel.java: + (initComponentDefaults): Added values for ToolBar.rolloverBorder and + ToolBar.nonrolloverBorder. + +2006-05-18 Thomas Fitzsimmons + + * javax/imageio/stream/ImageInputStreamImpl.java: Complete. + * javax/imageio/stream/MemoryCacheImageInputStream.java: Likewise. + +2006-05-18 Lillian Angel + + * java/awt/font/GlyphMetrics.java + (getLSB): Implemented. + (getRSB): Implemented. + +2006-05-18 Lillian Angel + + * java/awt/font/GraphicAttribute.java: + Documented entire class. + (GraphicAttribute): Added check for alignment. + (getBounds): Implemented. + (getJustificationInfo): Implemented. + +2006-05-18 Robert Schuster + + * java/awt/LightweightDispatcher.java: + (handleMouseEvent): Added note, added subexpression to if-statement. + +2006-05-18 Robert Schuster + + * javax/swing/plaf/basic/BasicToolBarUI.java: + (navigateFocusedComp): Marked as stub. + (createRolloverBorder): Create a different Border instance, added note. + * javax/swing/plaf/metal/MetalBorders.java: + (ButtonBorder): Added documentation. + (ButtonBorder.paintDefaultButtonBorder): Added else-block. + (ButtonBorder.paintOceanButtonBorder): Added else-block, added + subexpression into if-else cascade, added note. + +2006-05-18 Lillian Angel + + * java/awt/font/ShapeGraphicAttribute.java: + Documented entire class. + (ShapeGraphicAttribute): Initialized bounds field. + (draw): Implemented. + (equals): Implemented. + (getAdvance): Implemented. + (getAscent): Implemented. + (getBounds): Implemented. + (getDescent): Implemented. + (hashCode): Implemented. + +2006-05-18 Roman Kennke + + * javax/swing/CellRendererPane.java + (CellRendererPane): Set CellRendererPane to invisible. + +2006-05-18 Roman Kennke + + * gnu/java/awt/peer/gtk/GdkGraphics.java + (clipRect): Removed old intersection statement. + +2006-05-18 Roman Kennke + + * gnu/java/awt/peer/gtk/GdkGraphics.java + (clipRect): Don't use Rectangle.intersection() to avoid creating + 2 unnecessary Rectangle instances and fix a clipping problem. + (computeIntersection): New helper method, adapted from SwingUtilities. + +2006-05-18 Roman Kennke + + * javax/swing/JComponent.java + (isCompletelyDirty): Removed. + (paint): Don't mark children as clean, this is no longer necessary. + (findOverlapFreeParent): Don't stop at Viewports, this breaks + painting when something overlaps the viewport (like a popup/menu). + * javax/swing/RepaintManager.java + (currentRepaintManagers): Made package private to avoid accessor + methods. + (dirtyComponents): Made private. + (dirtyComponentsWork): Made private. + (markCompletelyDirty): Fixed bounds of dirtyrect to be + component-local not parent-local. Do not set flag in JComponent. + (markCompletelyClean): Don't set JComponent flag. + (isCompletelyDirty): Rewritten to return true when the complete + component is marked dirty. + (paintDirtyRegions): Improved parent-merging so that the merged-in + components don't get painted too. 'Outsourced' the compilation + of the repaint root components. + (compileRepaintRoots): New helper method. + +2006-05-18 Roman Kennke + + PR 26368 + * javax/swing/text/GapContent.java + (GapContentPosition(int)): Use adapted binarySearch method to + allow for having a greater array than number of entries. + (numMarks): New field, holds the end of the marks list. + (GapContent): Initialize positionMarks with size of 10 instead of 0. + (shiftGapStartDown): Adjusted for new setPositionsInRange signature. + (shiftGapEndUp): Adjusted for new setPositionsInRange signature. + (setPositionsInRange): Changed signature to narrow the purpose and + special cases inside. Reimplemented to crunch together equal marks. + (adjustPositionsInRange): Added assertion to make sure we do + not accidentally change the order of the mark. Added some debug + output for a special case of which I don't know if it even exists. + (resetMarksAtZero): Made impl simpler. + (dumpMarks): New debug helper method. + (insertMark): Grow array in bigger chunks to avoid excessive copying. + (binarySearch): New method. An adaption of Arrays.binarySearch() + that allows for an maxIndex parameter. + +2006-05-18 Roman Kennke + + * javax/swing/KeyboardManager.java + (topLevelLookup): Use WeakHashMap to avoid memory leak. + +2006-05-18 Jeroen Frijters + + * gnu/java/net/loader/JarURLLoader.java + (JarURLLoader): Use a slightly more efficient URL constructor. + +2006-05-18 David Gilbert + + * gnu/java/awt/print/JavaPrinterGraphics.java + (drawImage(Image, int, int, Color, ImageObserver)): Fix endless loop, + (drawImage(Image, int, int, ImageObserver)): Likewise, + (drawImage(Image, int, int, int, int, Color, ImageObserver)): Likewise, + (drawImage(Image, int, int, int, int, ImageObserver)): Likewise, + (drawImage(Image, int, int, int, int, int, int, int, int, Color, + ImageObserver)): Likewise, + (drawImage(Image, int, int, int, int, int, int, int, int, + ImageObserver)): Likewise. + +2006-05-17 Tom Tromey + + * tools/gnu/classpath/tools/jar/Indexer.java (indexJarFile): Use a + LinkedHashSet. + +2006-05-17 David Gilbert + + * javax/swing/border/AbstractBorder.java: Source code formatting fixes, + * javax/swing/border/BevelBorder.java: Likewise, + * javax/swing/border/CompoundBorder.java: Likewise, + * javax/swing/border/TitledBorder.java: Likewise. + +2006-05-17 David Gilbert + + * javax/swing/table/AbstractTableModel.java: Formatting fixes, + * javax/swing/table/DefaultTableModel.java: Likewise, + * javax/swing/table/TableCellEditor.java: Likewise, + * javax/swing/table/TableCellRenderer.java: Likewise. + +2006-05-17 Lillian Angel + + * java/awt/font/ImageGraphicAttribute.java: + Documented entire class. + (ImageGraphicAttribute): Changed to call this. + (ImageGraphicAttribute): Implemented. + (draw): Implemented. + (equals): Implemented. + (getAdvance): Implemented. + (getAscent): Implemented. + (getBounds): Implemented. + (getDescent): Implemented. + (hashCode): Implemented. + * javax/swing/text/html/HTMLDocument.java + (create): Removed. Sufficent enough for + super to be called. + (insert): Likewise. + (insertUpdate): Likewise. + (processHTMLFrameHyperlinkEvent): Marked as stub. + (start): Removed FIXME. + (end): Likewise. + (start): Called super. + (end): Called super. + (getElement): removed unneeded code. + (setParagraphAttribute): Removed. Sufficent enough + for super to be called. + (fireChangedUpdate): Likewise. + (fireUndoableEditUpdate): Likewise. + +2006-05-17 Lillian Angel + + * java/awt/TexturePaint.java: + Added documentation for class and all functions. + (getTransparency): Implemented. + +2006-05-17 Roman Kennke + + * java/awt/LightweightDispatcher.java + (findTarget): Translate point to child components. + +2006-05-17 Roman Kennke + + PR 26368 + * javax/swing/text/GapContent.java + (GapContentPosition): Do no more implement Comparable. + (GapContentPosition.mark): Removed field. + (GapContentPosition.index): New field to hold the index into + the positions array. + (GapContentPosition(int)): Rewritten to use the new indirection + to the positions array. + (GapContentPosition.compareTo): Removed. + (GapContentPosition.getOffset): Synchronized. Fetch mark from + positionMarks array. + (WeakPositionComparator): Removed obsolete class. + (positions): Changed type to WeakHashMap. + (positionMarks): New field, holds the marks of the positions. + (GapContent): Initialize new fields. + (createPosition): Rewritten to use the new indirection + to the positions array. + (getPositionsInRange): Rewritten to use the new indirection + to the positions array. + (setPositionsInRange): Rewritten to use the new indirection + to the positions array. + (adjustPositionsInRange): Rewritten to use the new indirection + to the positions array. + (insertMark): New helper method. + (clearPositionReferences): Removed obsolete methods. + +2006-05-17 Lillian Angel + + * java/awt/GraphicsConfiguration.java + (getImageCapabilities): Implemented. + (getBufferCapabilities): Implemented. + +2006-05-17 Lillian Angel + + * javax/swing/plaf/basic/BasicSliderUI.java + (focusGained): Implemented. + (focusLost): Implemented. + (paint): Added code to paint the focus. + * javax/swing/plaf/metal/MetalSliderUI.java + (paintThumb): Added code to set the thumbColor. + (paintFocus): Implemented properly. + +2006-05-17 Audrius Meskauskas + + PR 27383 + * javax/naming/spi/NamingManager.java (getURLContext): + Always search for the factory class in all possible places + and use VMStackWalker. + (forName): New method. + +2006-05-17 Roman Kennke + + * java/awt/LightweightDispatcher.java + (handleMouseEvent): Fixed search algorithm for finding the + mouse event target. + (findTarget): Fixed search algorithm for finding the + mouse event target. + +2006-05-17 Audrius Meskauskas + + * javax/naming/spi/NamingManager.java: Documented. + +2006-05-17 Mark Wielaard + + * THANKYOU: Add Trevor Linton . + * gnu/javax/imageio/jpeg/DCT.java: Cleanup Todo copyright. + * gnu/javax/imageio/jpeg/YCbCr_ColorSpace.java: Likewise. + * gnu/javax/imageio/jpeg/ZigZag.java: Likewise. + +2006-05-17 Robert Schuster + + Fixes PR 26947. + * javax/swing/plaf/basic/BasicInternalFrameUI.java: Updated copyright + year. + (BorderListener.mouseClicked): Detect double-clicks in title pane, + copied code from + BasicInternalFrameTitlePaneUI.MaximizeAction.actionPerformed(). + +2006-05-17 Robert Schuster + + Fixes PR 27626. + * java/awt/LightweightDispatcher.java: + (handleMouseEvent): Moved assignment into switch-block, added notes. + +2006-05-16 Lillian Angel + + * javax/swing/text/StyleContext.java: + Changed staticAttributeKeys to be a Hashtable. + (getStaticAttribute): Implemented. + (getStaticAttributeKey): Implemented. + (readAttributeSet): Implemented. + (writeAttributeSet): Added FIXME. Not sure how + to implement this. + (readAttributes): Implemented. + (writeAttributes): Implemented. + (registerStaticAttibuteKey): Fixed to add key to + the hash table. + +2006-05-16 David Gilbert + + * javax/swing/DefaultButtonModel.java + (setGroup): Removed event notification. + +2006-05-16 Lillian Angel + + * javax/swing/plaf/basic/BasicComboBoxUI.java + (installKeyboardActions): Implemented. + (uninstallKeyboardActions): Implemented. + * javax/swing/plaf/basic/BasicComboPopup.java + (uninstallKeyboardActions): Removed FIXME. Nothing + to be done here. + (installKeyboardActions): Likewise. + * javax/swing/plaf/basic/BasicTextUI.java + (uninstallKeyboardActions): Implemented. + * javax/swing/plaf/basic/BasicTreeUI.java: + Added field for hashColor. + Marked stub methods. + (getHashColor): Implemented to use field. + (setHashColor): Likewise. + (getRowX): Implemented. + (NodeDimensions.getRowX): Changed to use BasicTreeUI.getRowX. + +2006-05-16 Roman Kennke + + PR 26521 + * javax/swing/JTable.java + (rowHeights): New field. + (initializeLocalVars): Call setRowHeigt instead of rowHeight=, + in order to initialize rowHeights correctly. + (tableChanged): Nullify rowHeights when model changes. Only + create default columns from model when corresponding property + is set. Sync table model with rowHeights as appropriate. + (valueChanged): Call repaint with the correct rectangle. + (rowAtPoint): Handle rowHeights. + (getCellRect): Mostly rewritten. Check for boundaries + of model and return (0,0,0,0) or (0,0,width,height) when outside. + Handle component orientation. Round correctly. + (getRowHeight(int)): Implemented for variable row height. + (setRowHeight(int,int)): Implemented for variable row height. + (setRowHeight(int)): Nullify rowHeights. + (setModel): Notify tableChanged(). + * javax/swing/plaf/basic/BasicTableUI.java + (installDefaults): Create rendererPane in installUI. + (installUI): Create and install rendererPane. + (uninstallUI): Uninstall rendererPane and nullify rendererPane + and table. + (paint): Correctly handle rowMargin. + +2006-05-16 Tom Tromey + + PR classpath/27563: + * java/text/NumberFormat.java (getIntegerInstance): Use + "integerFormat", not "numberFormat". + +2006-05-16 Lillian Angel + + * javax/swing/JPopupMenu.java + (addMenuKeyListener): Implemented. + (removeMenuKeyListener): Implemented. + (getMenuKeyListeners): Implemented. + * javax/swing/ProgressMonitor.java: + Added new protected field. + (getAccessibleContext): Implemented. + +2006-05-16 Lillian Angel + + * javax/swing/JFileChooser.java: + Added new private field. + (setDragEnabled): Implemented. + (getDragEnabled): Implemented. + +2006-05-16 Lillian Angel + + * java/awt/Window.java + (applyResourceBundle): Implemented. + +2006-05-16 David Gilbert + + * javax/swing/DefaultButtonModel.java + (setSelected): If new SELECTED state is false, clear ARMED and PRESSED + states also. + +2006-05-16 Audrius Meskauskas + + * javax/swing/JList.java (getSelectedValues): + Ask the value for the indexed array element. + +2006-05-16 Roman Kennke + + * javax/swing/JTable.java + (valueChanged): Also repaint when table has only 1 row. Fixed + repaint rectangle to span the entire changed rows. + +2006-05-16 Roman Kennke + + PR 24031 + * javax/swing/JOptionPane.java + (startModal): Rewritten. The events are now dispatched, even + when the event dispatch thread gets blocked by the call + to this method. Also, mouse events get intercepted outside the + internal frame. + +2006-05-16 Audrius Meskauskas + + * javax/swing/plaf/basic/BasicInternalFrameUI.java + (BorderListener.mouseDragged):Do not set cursor + if the frame is being dragged. + +2006-05-16 Audrius Meskauskas + + * javax/swing/plaf/basic/BasicInternalFrameUI.java + (BorderListener): Rewritten. (InternalFrameBorder): + Made package private. + (InternalFrameBorder.offset): + Renamed to cornerSize, made package private. + (bSize): Made package private. + +2006-05-16 Roman Kennke + + * javax/swing/JMenu.java + (AccessibleJMenu.getAccessibleChildrenCount): Implemented. + (AccessibleJMenu.getAccessibleChild): Implemented. + (AccessibleJMenu.getAccessibleSelection): Implemented. + (AccessibleJMenu.getAccessibleSelection(int)): Implemented. + (AccessibleJMenu.isAccessibleChildSelected): Implemented. + (AccessibleJMenu.getAccessibleRole): Documented. + (AccessibleJMenu.getAccessibleSelectionCount): Implemented. + (AccessibleJMenu.addAccessibleSelection): Implemented. + (AccessibleJMenu.removeAccessibleSelection): Implemented. + (AccessibleJMenu.clearAccessibleSelection): Implemented. + (AccessibleJMenu.selectAllAccessibleSelection): Implemented. + (createPath): New helper method. + +2006-05-15 Tom Tromey + + * java/text/MessageFormat.java (format): Now varargs. + +2006-05-15 Tom Tromey + + * java/lang/Thread.java (State): Fixed typo. + +2006-05-15 Tom Tromey + + * java/net/URLClassLoader.java: Moved inner classes to + gnu.java.net.loader. + (factoryCache): Changed type. + (URL_LOADER_PREFIX): New constant. + (URLClassLoader): Updated for new factoryCache. + (addURLImpl): Use reflection to search for a loader. + (findClass): Use getClass method on URLLoader. + (getURLStreamHandler): Removed. + * gnu/java/net/loader/URLLoader.java: New file, extracted + from URLClassLoader. + * gnu/java/net/loader/Resource.java: Likewise. + * gnu/java/net/loader/FileResource.java: Likewise. + * gnu/java/net/loader/FileURLLoaderjava: Likewise. + * gnu/java/net/loader/JarURLLoader.java: Likewise. + * gnu/java/net/loader/JarURLResource.java: Likewise. + * gnu/java/net/loader/RemoteURLLoader.java: Likewise. + * gnu/java/net/loader/RemoteResource.java: Likewise. + * gnu/java/net/loader/ULRStreamHandlerCache.java: New file. + +2006-05-15 Sven de Marothy + + * native/target/generic/target_generic_network.h: + Add a pair of parenthesis. + +2006-05-15 Mark Wielaard + + * java/awt/Graphics2D.java: Remove PrinterJob import. + +2006-05-15 Mark Wielaard + + * doc/www.gnu.org/announce/20060515.wml: New file. + * doc/www.gnu.org/newsitems.txt: Add 0.91 release announcement. + * doc/www.gnu.org/downloads/downloads.wml: Add 0.91. + +2006-05-15 Thomas Fitzsimmons + + * NEWS: Announce inclusion of gcjwebplugin. + Announce inclusion of appletviewer. + * INSTALL: Note gcjwebplugin dependencies. + +2006-05-15 Mark Wielaard + + * configure.ac (VERSION): Set to 0.91-generics. + +2006-05-15 Mark Wielaard + + * NEWS: Add release date and VMClassLoader.getBootPackages() + changes. + +2006-05-15 Christian Thalinger + + * README: Added CACAO to list of VMs. + +2006-05-15 Audrius Meskauskas + + * javax/swing/RepaintManager.java (paintDirtyRegions): + Break loop as soon as the component repaint is merged + with some parent. (ComponentComparator): Removed. + (comparator): Removed. + +2006-05-15 Roman Kennke + + * javax/swing/border/TitledBorder.java + (paintBorderWithTitle): Fixed indentation. + +2006-05-15 Roman Kennke + + * javax/swing/border/TitledBorder.java + (layoutBorderWithTitle): Fetch border using getBorder() instead + of using the border field directly. Allows for the use of + an UI supplied border in the case when a null border was set. + Fixed component orientation. + (paintBorderWithTitle): Fetch border using getBorder() instead + of using the border field directly. Allows for the use of + an UI supplied border in the case when a null border was set. + +2006-05-15 Audrius Meskauskas + + * javax/swing/RepaintManager.java (paintDirtyRegions): Rewritten. + (contains): New method. + +2006-05-15 Tom Tromey + + * resource/gnu/classpath/tools/jar/messages.properties: Fixed + argument indices. + * resource/gnu/classpath/tools/getopt/Messages.properties: Fixed + argument indices. + +2006-05-15 Audrius Meskauskas + + * javax/swing/JComponent.java (findOverlapParent): Stop loop at + JViewport's. + * javax/swing/RepaintManager.java (addDirtyRegion): Always add the given + region. (paintDirtyRegions): Rewritten. + +2006-05-15 Tom Tromey + + * tools/gnu/classpath/tools/jar/Main.java (setArchiveFile): Use + MessageFormat. + * tools/gnu/classpath/tools/jar/Indexer.java (indexJarFile): Use + MessageFormat. + * tools/gnu/classpath/tools/jar/Extractor.java: Externalized strings. + (run): Use MessageFormat. + * resource/gnu/classpath/tools/jar/messages.properties: New file. + * tools/gnu/classpath/tools/jar/Creator.java: Externalized strings. + (writeFile): Use MessageFormat. + +2006-05-15 Jeroen Frijters + + * java/awt/Toolkit.java (getDefaultToolkit): Use Class.forName() + instead of directly calling the class loader. + +2006-05-15 Tom Tromey + + * tools/gnu/classpath/tools/getopt/Option.java (getDescription): + Removed old comment. + * tools/gnu/classpath/tools/getopt/ClasspathToolParser.java: + Externalized strings. + (getVersionString): Use MessageFormat. + * tools/gnu/classpath/tools/getopt/Messages.java: New file. + * resource/gnu/classpath/tools/getopt/Messages.properties: New file. + * tools/gnu/classpath/tools/getopt/Parser.java: Externalized strings. + (getArgument): Use a MessageFormat. + (handleLongOption): Likewise. + (parse): Likewise. + +2006-05-15 Robert Schuster + + Fixes PR 27197. + * javax/swing/text/FieldView.java: + (paint): Calculate intersection between clip and allocation area and + set that as new clip. + +2006-05-15 David Gilbert + + * javax/swing/text/JTextComponent.java: Marked stub methods. + +2006-05-15 David Gilbert + + * javax/swing/JTable.java: Marked stub methods. + +2006-05-15 Raif S. Naffah + + * tools/gnu/classpath/tools/jarsigner/Main.java: + Increased visibility of fields used by parser anonymous classes. + (KEYTOOL_TOOL): New constant. + (cmdLineParser): Changed type to ToolParser. + (fileAndAlias): new field. + (main): Don't catch OptionException. + (processArgs): Removed validation checks; now handled by ToolParser. + (getParser): Removed. + (ToolParserCallback): New inner class. + (ToolParser): Likewise. + +2006-05-15 Audrius Meskauskas + + * javax/swing/JTable.java (TableTextArea.scrollRectToVisible): + Removed. + +2006-05-15 Audrius Meskauskas + + * javax/swing/DefaultDesktopManager.java (endDraggingFrame, + endResizingFrame): Do not repaint, unless in the outline mode. + +2006-05-15 David Gilbert + + * javax/swing/JTabbedPane.java + (AccessibleJTabbedPane.getAccessibleRole): Implemented, + (AccessibleJTabbedPane.getAccessibleChildrenCount): Implemented, + (AccessibleJTabbedPane.getAccessibleSelection()): Implemented, + (AccessibleJTabbedPane.getAccessibleAt): Implemented, + (AccessibleJTabbedPane.getAccessibleSelectionCount): Implemented, + (AccessibleJTabbedPane.getAccessibleSelection(int)): Implemented, + (AccessibleJTabbedPane.isAccessibleChildSelected): Implemented, + (AccessibleJTabbedPane.addAccessibleSelection): Implemented, + (AccessibleJTabbedPane.removeAccessibleSelection): Implemented, + (AccessibleJTabbedPane.clearAccessibleSelection): Implemented, + (AccessibleJTabbedPane.selectAllAccessibleSelection): Implemented, + (Page.getAccessibleName): Implemented. + +2006-05-15 Audrius Meskauskas + + * javax/swing/DefaultDesktopManager.java (setBoundsForFrame): + Do not repaint nor revalidate here. + +2006-05-15 Audrius Meskauskas + + * javax/swing/RepaintManager.java (addDirtyRegion): + If there is a lightweight parent, recursively add the corresponding + region of the parent instead. + +2006-05-15 David Gilbert + + * java/awt/Graphics2D.java: Added some API doc comments. + +2006-05-15 David Gilbert + + * javax/swing/JTabbedPane.java + (paramString): Reimplemented, + (getAccessibleContext): Added API docs. + +2006-05-15 David Gilbert + + * javax/swing/JFileChooser.java + (paramString): Reimplemented, + (getAccessibleContext): Updated API docs, + (AccessibleJFileChooser): Added API docs. + +2006-05-14 Tom Tromey + + * tools/gnu/classpath/tools/jar/Updater.java (run): No longer throws + OptionException. + * tools/gnu/classpath/tools/jar/Creator.java (run): No longer throws + OptionException. + * tools/gnu/classpath/tools/jar/Action.java (run): No longer throws + OptionException. + * tools/gnu/classpath/tools/jar/Indexer.java (run): Removed. Moved + validation to JarParser. + * tools/gnu/classpath/tools/jar/Main.java (JarParser): New class. + (run): Moved validation to JarParser. Don't throw OptionException. + (initializeParser): Create a JarParser. + (main): Don't catch OptionException. + * tools/gnu/classpath/tools/getopt/Parser.java (printHelp): No longer + public. + (validate): New method. + (parse): Call it. Print '-help' in error message when long-only. + +2006-05-14 Tom Tromey + + * gnu/java/awt/print/JavaPrinterJob.java (setPrintable): Fixed + assignment. + +2006-05-15 Sven de Marothy + + * gnu/java/awt/print/JavaPrinterGraphics.java: + Sweeping changes I can't be bothered to document in detail. + * gnu/java/awt/print/JavaPrinterJob.java + (getPageAttributes): New method. + (setPageable,cancel,isCancelled): Implement. + +2006-05-14 David Gilbert + + * javax/swing/JCheckBoxMenuItem.java + (requestFocus): Fixed typo in API docs, + (paramString): Just call super.paramString(), + (getAccessibleContext): Added API docs, + (AccessibleJCheckBoxMenuItem): Likewise. + +2006-05-14 Tom Tromey + + * tools/gnu/classpath/tools/jar/Indexer.java + (writeCommandLineEntries): Simplify insertion. + * tools/gnu/classpath/tools/jar/Main.java (run): Don't allow both + -m and -M. + +2006-05-14 Tom Tromey + + PR classpath/27514: + * gnu/java/net/IndexListParser.java (JAR_INDEX_FILE): Renamed. Now + constant. + (JAR_INDEX_VERSION_KEY): Likewise. + (IndexListParser): Updated. + (getVersionInfo): Likewise. + * tools/gnu/classpath/tools/jar/Indexer.java: New file. + * tools/gnu/classpath/tools/jar/Action.java (run): Now throws + OptionException. + * tools/gnu/classpath/tools/jar/Main.java (initializeParser): Handle + -i. + (ModeOption): New constructor. + (parsed): Updated. Use setArchiveFile. + (setArchiveFile): New method. + (run): Handle no-argument case. + (main): Emit --help message on option error. + * tools/gnu/classpath/tools/jar/Updater.java (inputJar): New field. + (createManifest): New method. + (run): Updated. Throws OptionException. Correctly copy zip entry. + * tools/gnu/classpath/tools/jar/Creator.java (createManifest): New + method. + (writeManifest): Removed. + (outputStream): Now a JarOutputStream. + (writeCommandLineEntries): Changed parameters. Updated callers. + (run): Throws OptionException. + * java/util/jar/JarOutputStream.java (putNextEntry): Typo fix. + * java/util/jar/Manifest.java (read): Typo fix. + +2006-05-14 David Gilbert + + * javax/swing/JMenuItem.java + (paramString): Fixed class name in API doc comment. + +2006-05-14 Tom Tromey + + * native/plugin/.cvsignore: Updated. + +2006-05-14 Mark Wielaard + + * native/jni/java-net/javanet.c (_javanet_accept): Don't use C++ + comments. + +2006-05-14 Chris Burdess + + * gnu/xml/dom/DomNode.java: Permit comments and PIs in doctype + nodes to be preserved during cloneNode. + +2006-05-14 Mark Wielaard + + PR 27459 + * native/jni/java-net/javanet.c (_javanet_accept): Reset the + inherited timeout on socket. + +2006-05-14 Lillian Angel + + * java/util/SimpleTimeZone.java: Reverted patch. + (SimpleTimeZone): Throw exception if startMonth == + endMonth. + (SimpleTimeZone): Likewise. + (checkRule): Rewritten to properly check all values (more + efficently). + This code is now more stable, at least less buggy than before. + Fixed API documentation. + (setStartRule): Moved checkRule call to end. + (setStartRule): Likewise. + (setEndRule): Likewise. + (setEndRule): Likewise. + +2006-05-14 Audrius Meskauskas + + * javax/swing/tree/DefaultTreeSelectionModel.java (leadRow): + Initialise to -1. + +2006-05-14 Robert Schuster + + PR classpath/27595 + * javax/swing/text/AbstractDocument.java: + (insertString): Flipped if-expression and its blocks. + (remove): Dito. + (replace): Flipped if-expression and its blocks, added note, invoke + insertString and remove instead of insertStringImpl and removeImpl. + +2006-05-14 Raif S. Naffah + + * tools/gnu/classpath/tools/jarsigner/Main.java (main): Formatting. + +2006-05-14 Raif S. Naffah + + * resource/gnu/classpath/tools/keytool/MessageBundle.properties: + Added help text. + * tools/gnu/classpath/tools/keytool/keytool.txt: Removed + * tools/gnu/classpath/tools/keytool/StorePasswdCmd.java: + Increased visibility of fields used by parser anonymous classes. + (processArgs): Removed. + (getParser): New method. + * tools/gnu/classpath/tools/keytool/SelfCertCmd.java: Likewise. + (setup): Mark (Eclipse) strings that need not be externalised. + (start): Likewise. + * tools/gnu/classpath/tools/keytool/PrintCertCmd.java: Likewise. + * tools/gnu/classpath/tools/keytool/Main.java: Amended to use getopt + command line option parsing. + * tools/gnu/classpath/tools/keytool/ListCmd.java: + Increased visibility of fields used by parser anonymous classes. + (processArgs): Removed. + (setup): set 'all' local field. + (getParser): New method. + * tools/gnu/classpath/tools/keytool/KeyPasswdCmd.java: + Increased visibility of fields used by parser anonymous classes. + (processArgs): Removed. + (getParser): New method. + * tools/gnu/classpath/tools/keytool/KeyCloneCmd.java: Likewise. + (setNewKeyPassword): Fixed comments. + * tools/gnu/classpath/tools/keytool/ImportCmd.java: + Increased visibility of fields used by parser anonymous classes. + (processArgs): Removed. + (getParser): New method. + (findTrustInCACerts): Mark (Eclipse) strings that need not be + externalised. + * tools/gnu/classpath/tools/keytool/GenKeyCmd.java: + Increased visibility of fields used by parser anonymous classes. + (processArgs): Removed. + (setup): Mark (Eclipse) strings that need not be externalised. + (getParser): New method. + * tools/gnu/classpath/tools/keytool/IdentityDBCmd.java: Likewise. + * tools/gnu/classpath/tools/keytool/DeleteCmd.java: + Increased visibility of fields used by parser anonymous classes. + (processArgs): Removed. + (getParser): New method. + * tools/gnu/classpath/tools/keytool/CertReqCmd.java: Likewise. + (ATTRIBUTES_OPT): New constant. + * tools/gnu/classpath/tools/keytool/ExportCmd.java: + Increased visibility of fields used by parser anonymous classes. + (processArgs): Removed. + (setup): Mark (Eclipse) strings that need not be externalised. + (start): Likewise. + Reduced logging level. + (getParser): New method. + * tools/gnu/classpath/tools/keytool/Command.java + (processArgs): Made it concrete. + (getParser): New abstract method. + * tools/Makefile.am (KEYTOOL_HELPS): Removed. + +2006-05-13 Casey Marshall + + Patch by Michael Barker . + * gnu/java/nio/PipeImpl.java: Retrofitted to use VMChannel. + * gnu/java/nio/SelectorImpl.java (register): Added condition for + gnu.java.nio.SocketChannelSelectionKeyImpl. + * gnu/java/nio/SocketChannelSelectionKeyImpl.java: new file. + * gnu/java/nio/channels/FileChannelImpl.java: retrofitted to use + VMChannel. + * include/gnu_java_nio_VMChannel.h: new file. + * java/nio/FileChannel.java (read,write): changed to call abstract + method. + * native/jni/java-nio/gnu_java_nio_VMChannel.c: new file. + * native/jni/java-nio/Makefile.am (libjavanio_SOURCES): add + `gnu_java_nio_VMChannel.c.' + * vm/reference/gnu/java/nio/VMChannel.java: new file. + +2006-05-14 Robert Schuster + + * javax/swing/text/AbstractDocument.java: + (insertString): Flipped if-expression and its blocks. + (remove): Dito. + (replace): Flipped if-expression and its blocks, added note, invoke + insertString and remove instead of insertStringImpl and removeImpl. + +2006-05-13 Tom Tromey + + * java/nio/ByteBufferImpl.java (compact): Always set position. + +2006-05-13 Sven de Marothy + + * gnu/java/awt/print/JavaPrinterGraphics.java + (spoolPostScript): Use a faster writer. + +2006-05-13 Sven de Marothy + + * gnu/java/awt/print/JavaPrinterGraphics.java + (colorTripleHex): Reimplement better. + +2006-05-13 Sven de Marothy + + * javax/swing/text/html/HTMLDocument.java + (CharacterAction.start): Translate tag to StyleAttribute. + (pushCharacterStyle): Push copy of attributes onto stack. + * gnu/javax/swing/text/html/CharacterAttributeTranslator.java: + New file + +2006-05-13 Sven de Marothy + + * gnu/javax/print/ipp/IppRequest.java (send): Set a timeout. + * java/awt/print/PrinterJob.java + (getPrinterJob): Return a JavaPrinterJob + (setPrintService,getPrintService): Implement. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c: + (getPixels): Gtk_threads_enter required. + * gnu/java/awt/print/JavaPrinterGraphics.java + * gnu/java/awt/print/JavaPrinterJob.java + * gnu/java/awt/print/SpooledDocumet.java: + New files. + +2006-05-13 Robert Schuster + + * javax/swing/text/TextAction.java: + (HorizontalMovementAction): New inner class. + (VerticalMovementAction): New inner class. + * javax/swing/text/DefaultEditorKit.java: Added assigning instances of + new inner classes to array 'defaultActions'. + (SelectionBeginWordAction): New inner class. + (SelectionEndWordAction): New inner class. + (BeginWordAction): New inner class. + (EndWordAction): New inner class. + (PreviousWordAction.actionPerformed): Rewritten. + (SelectLineAction): New inner class. + (SelectWordAction): New inner class. + (SelectionDownAction): Rewritten. + (SelectionUpAction): Rewritten. + (DownAction): Rewritten. + (UpAction): Rewritten. + (SelectionForwardAction): Rewritten. + (SelectionBackwardAction): Rewritten. + (ForwardAction): Rewritten. + (BackwardAction): Rewritten. + (BeginAction): New inner class. + (EndAction): New inner class. + (DefaultKeyTypedAction.actionPerformed): Use int variant of + Character.isISOControl. + +2006-05-13 Robert Schuster + + * examples/gnu/classpath/examples/swing/NavigationFilterDemo.java: + (WordFilter.getNextVisualPositionFrom): Added statement to check + for variable pt not being null. + +2006-05-13 Robert Schuster + + * javax/swing/text/Utilities.java: + (getNextWord): Fixed grammar in exception message. + (getPreviousWord): Changed expression in first if-clause, added sub- + expression to if-clause in while-loop. + (getWordStart): Changed expression in if-clause. + getNextVisualPositionFrom): Added package-private helper method. + +2006-05-13 Audrius Meskauskas + + * javax/swing/tree/DefaultTreeSelectionModel.java (leadRow): + Initialise to -1. + +2006-05-13 Raif S. Naffah + + * resource/gnu/classpath/tools/jarsigner/MessageBundle.properties: + Added help text. + * tools/Makefile.am (JARSIGNER_HELPS): Removed. + * tools/gnu/classpath/tools/jarsigner/jarsigner.txt: Removed. + * tools/gnu/classpath/tools/jarsigner/Main.java: + Increased visibility of fields used by parser anonymous classes. + (HELP_PATH): Removed. + (cmdLineParser): New field. + (main): Handle JVM exit status. + Handle command line parsing exceptions. + (processArgs): Use getopt command line parser. + (getParser): New method. + (setupCommonParams): Removed checks now handled by processArgs(). + (setupSigningParams): Likewise. + * tools/gnu/classpath/tools/jarsigner/JarSigner.java (start): + Reuse an existing message-bundle constant. + +2006-05-12 Tom Tromey + + * gnu/java/net/protocol/jar/Connection.java (getHeaderField): + Explicitly specify class for synchronization. + +2006-05-12 Tom Tromey + + * java/util/logging/Logger.java (resetLogger): Fixed typo. + +2006-05-12 Sven de Marothy + + * gnu/java/net/protocol/http/HTTPConnection.java (get): Add timeout parameter. + * gnu/java/net/protocol/http/HTTPURLConnection.java + (setConnectTimeout): New method. + (getConnection): Add timeout parameter. + * java/net/URLConnection.java + (getConnectTimeout, setConnectTimeout): Implement. + * native/target/generic/target_generic_network.h: + Set correct socket parameters SO_SNDTIMEO and SO_RCVTIMEO. + +2006-05-12 Sven de Marothy + + * gnu/javax/print/CupsServer.java + (CupsServer): Make the Cups host configurable. + * java/lang/System.java: Document the system property. + +2006-05-12 Roman Kennke + + * javax/swing/border/TitledBorder.java + (paintBorder): Rewritten for simplicity and correctness. + (layoutBorderWithTitle): New helper method. + (paintBorderWithTitle): New helper method. + (getBorderInsets): Rewritten. + (getMinimumSize): Rewritten. + (getRealJustification): Removed. + (getMeasurements): Removed. + (Measurements): Removed. + +2006-05-12 David Gilbert + + * javax/swing/plaf/basic/BasicPanelUI.java + (sharedUI): New field, + (createUI): Return a shared instance rather than a new instance, + (installUI): Reformatted and added API docs, + (installDefaults): Install border if one is defined, + (uninstallDefaults): Uninstall border. + +2006-05-12 David Gilbert + + * javax/swing/JProgressBar.java: Updated API docs all over. + +2006-05-11 Lillian Angel + + * java/awt/ContainerOrderFocusTraversalPolicy.java + (getComponentAfter): Should not throw exception if + the ancestor is null. Added a check for this. + Also, changed to use new helper function, we should + iterate through all the components at least once. + (getNextAvailableComponent): New helper function. + (getPrevAvailableComponent): New helper function. + (getComponentBefore): Should not throw exception if + the ancestor is null. Added a check for this. + Also, changed to use new helper function, we should + iterate through all the components at least once. + (getFirstComponent): Changed check to manually check + fields. Calling accept() casts the object to a Component, + so different values may be returned. + (getLastComponent): Likewise. + +2006-05-11 David Gilbert + + * javax/swing/plaf/metal/MetalBorders.java: Clean up formatting/style, + * javax/swing/plaf/metal/MetalButtonUI.java: Likewise, + * javax/swing/plaf/metal/MetalCheckBoxUI.java: Likewise, + * javax/swing/plaf/metal/MetalComboBoxButton.java: Likewise, + * javax/swing/plaf/metal/MetalComboBoxIcon.java: Likewise, + * javax/swing/plaf/metal/MetalFileChooserUI.java: Likewise, + * javax/swing/plaf/metal/MetalIconFactory.java: Likewise, + * javax/swing/plaf/metal/MetalInternalFrameTitlePane.java: Likewise, + * javax/swing/plaf/metal/MetalLookAndFeel.java: Likewise, + * javax/swing/plaf/metal/MetalPopupMenuSeparatorUI.java: Likewise, + * javax/swing/plaf/metal/MetalRootPaneUI.java: Likewise, + * javax/swing/plaf/metal/MetalScrollBarUI.java: Likewise, + * javax/swing/plaf/metal/MetalSeparatorUI.java: Likewise, + * javax/swing/plaf/metal/MetalSliderUI.java: Likewise, + * javax/swing/plaf/metal/MetalSplitPaneDivider.java: Likewise, + * javax/swing/plaf/metal/MetalTabbedPaneUI.java: Likewise, + * javax/swing/plaf/metal/MetalToolTipUI.java: Likewise, + * javax/swing/plaf/metal/MetalUtils.java: Likewise. + +2006-05-11 Robert Schuster + + * javax/swing/text/DefaultCaret.java: Made field 'textComponent' + package-private, added field 'active'. + (PropertyChangeHandler.propertyChange): Added variable 'name', added + cases to update field 'active'. + (mouseDragged): Added documentation, added if-clause to update + selection or caret position. + (mouseClicked): Added early return when text component is disabled. + (focusGained): Moved statements into an if-clause. + (focusLost): Added subexpression to if-clause. + (install): Preset value of 'active'. + (paint): Added subexpression to if-clause. + (isVisible): Extended return expression. + * javax/swing/text/JTextComponent.java: + (copy): Copy only if component is enabled. + (cut): Cut only if component is enabled and editable. + (paste): Dito. + +2006-05-11 David Gilbert + + * javax/swing/plaf/multi/MultiComboBoxUI.java: Minor formatting change, + * javax/swing/plaf/multi/MultiFileChooserUI.java: Likewise, + * javax/swing/plaf/multi/MultiListUI.java: Likewise, + * javax/swing/plaf/multi/MultiLookAndFeel.java: Likewise, + * javax/swing/plaf/multi/MultiOptionPaneUI.java: Likewise, + * javax/swing/plaf/multi/MultiSplitPaneUI.java: Likewise, + * javax/swing/plaf/multi/MultiTabbedPaneUI.java: Likewise. + +2006-05-11 Roman Kennke + + * gnu/java/awt/font/GNUGlyphVector.java + (GNUGlyphVector): Don't apply the font renderer context's + transform. + +2006-05-11 Mark Wielaard + + * java/util/logging/Logger.java (global): Initialize inside static + PrivilegedAction. + +2006-05-11 David Gilbert + + * javax/swing/JFrame.java + (EXIT_ON_CLOSE): Added note to API docs, + (close_action): Renamed closeAction, + (JFrame()): Change title to "", + (JFrame(String)): Added API docs, + (getAccessibleContext): Likewise, + (getDefaultCloseOperation): Updated for renamed field, added API docs, + (processWindowEvent): Updated for renamed field, + (setDefaultCloseOperation): Likewise, and updated API docs. + +2006-05-11 David Gilbert + + * javax/swing/JFrame.java + (paramString): Reimplemented, + * javax/swing/SwingUtilities.java + (convertWindowConstantToString): New method. + +2006-05-11 David Gilbert + + * javax/swing/WindowConstants.java: Updated API docs. + +2006-05-11 David Gilbert + + * javax/swing/plaf/basic/BasicToggleButtonUI.java: Updated API docs, + (createUI): Removed 'final' qualifier for parameter, + (paint): Reformatted. + +2006-05-11 David Gilbert + + * javax/swing/plaf/basic/BasicCheckBoxUI.java: Added API docs plus, + (createUI): Removed 'final' qualifier on method argument. + +2006-05-11 David Gilbert + + * javax/swing/plaf/basic/BasicCheckBoxUI.java + (getDefaultIcon): Removed this redundant method. + +2006-05-11 David Gilbert + + * javax/swing/plaf/basic/BasicRadioButtonUI.java + (paint): Pass component size to paintFocus(). + +2006-05-11 Robert Schuster + + * java/awt/Component.java: + (dispatchEventImpl): Added comment. + + 2006-05-11 Mark Wielaard + + * tools/gnu/classpath/tools/appletviewer/Main.java (main): Cast + Option constructor null argument to String. + +2006-05-11 Mark Wielaard + + * java/awt/geom/GeneralPath.java (WIND_EVEN_ODD, WIND_NON_ZERO): + Fully qualify PathIterator constants + +2006-05-11 Robert Schuster + + * java/awt/Component.java: + (dispatchEventImpl): Added subexpression to if-clause. + +2006-05-11 Mark Wielaard + + * java/util/Collections.java (UnmodifiableMapEntry): Qualify + Map.Entry. + +2006-05-10 David Gilbert + + * javax/swing/TransferHandler.java: Marked stub methods. + +2006-05-10 Roman Kennke + + PR classpath/27481 + * javax/swing/plaf/basic/BasicInternalFrameUI.java + (installDefaults): Set background of content pane to null, if + no custom color has been installed by the application yet. + +2006-05-10 Roman Kennke + + PR classpath/27481 + * javax/swing/JRootPane.java + (createContentPane): Don't set background to null. + +2006-05-10 Sven de Marothy + + * java/awt/print/PrinterJob.java: + (lookupPrintServices): Un-comment-out. + +2006-05-11 Raif S. Naffah + + * tools/gnu/classpath/tools/getopt/OptionGroup.java + (FILLER): New constant. + (formatText(PrintStream,String,int)): New method. + (formatText(PrintStream,String,int,Locale)): Likewise. + (printHelp): Use formatText method. + * tools/gnu/classpath/tools/getopt/Parser.java + (MAX_LINE_LENGTH): New constant. + (formatText(PrintStream,String)): New method. + (formatText(PrintStream,String,Locale)): Likewise. + (printHelp): New method. + (printHelp(PrintStream)): Increased visibility to protected. + Use formatText method. + +2006-05-10 David Gilbert + + * javax/swing/plaf/metal/MetalRadioButtonUI.java + (installDefaults): Use getPropertyPrefix() to allow subclasses to + modify the lookup key. + +2006-05-10 Lillian Angel + + * java/util/SimpleTimeZone.java: Reverted patch. + (SimpleTimeZone): Throw exception if startMonth == + endMonth. + (SimpleTimeZone): Likewise. + (checkRule): Rewritten to properly check all values (more + efficently). + This code is now more stable, at least less buggy than before. + Fixed API documentation. + (setStartRule): Moved checkRule call to end. + (setStartRule): Likewise. + (setEndRule): Likewise. + (setEndRule): Likewise. + +2006-05-10 Roman Kennke + + * gnu/java/awt/peer/swing/SwingComponent.java: + Some API comment fixlets. + * gnu/java/awt/peer/swing/SwingComponentPeer.java: + (createImage): Create a BufferedImage, not a Toolkit image. + (paint): Removed bogus API comment. + (prepareImage): Added checks to avoid NPE. + * gnu/java/awt/peer/swing/SwingContainerPeer.java: + (getInsets): Added check to avoid NPE. + (handleMouseEvent): Added check to avoid NPE. + * gnu/java/awt/peer/swing/SwingFramePeer.java: + Some API comment fixlets. + * gnu/java/awt/peer/swing/SwingMenuBarPeer.java: + Some API comment fixlets. + * gnu/java/awt/peer/swing/SwingTextFieldPeer.java: + Changed start_pos name to startPos. + * gnu/java/awt/peer/swing/SwingWindowPeer.java: + Some API comment fixlets. + +2006-05-10 David Gilbert + + * java/awt/BasicStroke.java + (equals): Fixed typo in HTML tag for API doc comment. + +2006-05-10 Gary Benson + + * java/lang/ThreadGroup.java (parent): Make package-private. + * java/lang/SecurityManager.java (checkAccess(Thread)): + Reference ThreadGroup.parent directly to avoid extra checks. + * java/lang/SecurityManager.java (checkAccess(ThreadGroup)): + Likewise. + +2006-05-10 Roman Kennke + + Reported by Ingo Proetel (proetel@aicas.com) + * java/awt/EventDispatchThread.java + (DEFAULT_PRIORITY): New constant field. + (EventDispatchThread()): Added gnu.awt.dispatchthread.priority + system property for adjusting the priority of the event + dispatch thread. + +2006-05-10 Roman Kennke + + Reported by Ingo Proetel (proetel@aicas.com) + * java/awt/image/ColorModel.java + (S_RGB_MODEL): New constant field. + (getRGBDefault): Return constant SRGBColorModel. + (SRGBColorModel): Specialized color model for sRGB. + +2006-05-10 Roman Kennke + + * java/awt/ColorPaintContext.java + (getRaster): Create Raster with (0,0) as source location. + +2006-05-10 Roman Kennke + + * gnu/java/awt/java2d/AlphaCompositeContext.java + (compose): Don't premultiply alpha to alpha itself. + +2006-05-10 Roman Kennke + + * gnu/java/awt/java2d/AbstractGraphics2D.java + (drawImage(Image,AffineTransform,ImageObserver)): Implemented. + (drawImageImpl(Image,AffineTransform,ImageObserver,Rectangle)): + New method. + (drawImage(BufferedImage,BufferedImageOp,int,int)): Implemented. + (drawRenderedImage(RenderedImage,AffineTransform)): Implemented. + (drawRenderedImageImpl(RenderedImage,AffineTransform,Rectangle)): + New method. + (drawRenderableImage(RenderableImage,AffineTransform)): Implemented. + (drawRenderableImageImpl(RenderableImage,AffineTransform,Rectangle)): + New method. + (scale): Inverse transform by doing 1/scale instead of -scale. + (drawImage(Image,int,int,ImageObserver)): Implemented. + (drawImage(Image,int,int,int,int,ImageObserver)): Implemented. + (drawImage(Image,int,int,Color,ImageObserver)): Implemented. + (drawImage(Image,int,int,int,int,Color,ImageObserver)): Implemented. + (drawImage(Image,int,int,int,int,int,int,int,int,ImageObserver)): + Implemented. + (drawImage(Image,int,int,int,int,int,int,int,int,Color,ImageObserver)): + Implemented. + (fillScanline): Work on translated destination raster for + correct compositin. + (init): Fetch the clip after the destination raster is initialized. + * gnu/java/awt/java2d/ImagePaint.java: New file. + * gnu/java/awt/java2d/RasterGraphics + (drawImage): Removed. + +2006-05-09 Thomas Fitzsimmons + + * resource/gnu/classpath/tools/appletviewer/MessagesBundle.properties: + Clarify option descriptions. + * tools/gnu/classpath/tools/appletviewer/Main.java: Use all + uppercase for metasyntactic variables. + +2006-05-09 Robert Schuster + + PR classpath/24216 + * javax/swing/text/AbstractDocument.java: + (insertString): Added more documentation, added argument check. + (remove): Added more documentation. + (removeImpl): Added argument check. + (replace): Added more documentation, added argument check. + +2006-05-09 Tom Tromey + + * tools/.cvsignore: Added appletviewer. + +2006-05-09 Tom Tromey + + * tools/gnu/classpath/tools/getopt/Parser.java (printHelp): Skip + empty groups. + +2006-05-09 Tom Tromey + + * tools/gnu/classpath/tools/getopt/OptionGroup.java (printHelp): + Special case for '-J'. Use space instead of '='. + * tools/gnu/classpath/tools/getopt/Parser.java (setHeader): Added + comment. + +2006-05-09 Thomas Fitzsimmons + + * configure.ac: Add --disable-plugin and --with-vm options. Check + for plugin support headers and libraries. + * native/Makefile.am: Recurse into plugin directory. + * native/plugin/.cvsignore: New file. + * native/plugin/Makefile.am: New file. + * native/plugin/gcjwebplugin.cc: New file. + * tools/Makefile.am: Install appletviewer wrapper script. + * tools/appletviewer.in: Replace VM location heuristic with + VM_BINARY configure substitution. + +2006-05-09 Tom Tromey + + * tools/gnu/classpath/tools/getopt/OptionGroup.java (printHelp): Added + an initial pass to look for short options. Added 'longOnly' option. + * tools/gnu/classpath/tools/appletviewer/Main.java (main): Removed -J + option. + * tools/gnu/classpath/tools/getopt/Parser.java (parsed): Put stadnard + options into final group. Added -J. + (add): Insert new groups before final group. + (printHelp): Updated. + +2006-05-09 Audrius Meskauskas + + PR 27518 + * tools/gnu/classpath/tools/giop/GRMIC.java (main), + tools/gnu/classpath/tools/rmi/RMIC.java (main): + Expect -classpath option. + * tools/gnu/classpath/tools/rmi/RMIC.txt, + tools/gnu/classpath/tools/giop/GRMIC.txt: Documenting + -classpath option. + tools/gnu/classpath/tools/giop/grmic/GiopRmicCompiler.java + (classLoader): New field. (loadClass, setClassPath): + New methods. + +2006-05-09 Roman Kennke + + * gnu/java/awt/java2d/RasterGraphics.java + (RasterGraphics): Call init() and super(). + (drawImage): Temporary drawImage impl until AbstractGraphics2D has + this. + +2006-05-09 Gary Benson + + * java/lang/Thread.java (Thread): Always perform threadgroup + access checks on thread creation. + +2006-05-09 Chris Burdess + + * gnu/xml/dom/DomNode.java: Permit comments and PIs in doctype nodes to + be preserved during cloneNode. + +2006-05-09 Audrius Meskauskas + + PR 27517 + * tools/gnu/classpath/tools/giop/grmic/GiopRmicCompiler.java (compile): + Do not demand all thrown exceptions to be an instance of RemoteException. + +2006-05-09 Thomas Fitzsimmons + + * resource/gnu/classpath/tools/appletviewer/MessagesBundle.properties: + Use hash-style comments. + * resource/gnu/classpath/tools/appletviewer/MessagesBundle_de.properties: + Likewise. + +2006-05-09 David Gilbert + + * javax/swing/JLabel.java + (paramString): Added more attribute details, + * javax/swing/SwingUtilities.java + (convertHorizontalAlignmentCodeToString): New method, + (convertVerticalAlignmentCodeToString): New method. + +2006-05-08 Tom Tromey + + * tools/gnu/classpath/tools/jar/Updater.java (run): Updated. + * tools/gnu/classpath/tools/jar/Main.java: Use javadoc for fields. + * tools/gnu/classpath/tools/jar/Lister.java (listJar): Use + ZipInputStream. + (run): Updated. + * tools/gnu/classpath/tools/jar/Extractor.java (run): Use System.err + for verbose. + (run): Use ZipInputStream. + (initSet): New method. + (shouldExtract): Likewise. + (run): Use new methods. + * tools/gnu/classpath/tools/jar/Creator.java + (writeCommandLineEntries): New overload. + (writeFile): Use System.err for verbose. + (writeManifest): New method. + (writtenItems): New field. + (writeFile): Update it. + (writeCommandLineEntries): Return void. Call writeManifest. + (addEntries): Don't add extra '/'. + * NEWS: Mention jar. + +2006-05-08 Lillian Angel + + * gnu/java/net/IndexListParser.java: New class. + * java/net/URLClassLoader.java + (JarURLLoader): Fixed code to use new class. + +2006-05-08 Roman Kennke + + * javax/swing/JComboBox.java + (AccessibleJComboBox.getAccessibleChildrenCount): Implemented. + (AccessibleJComboBox.getAccessibleChild): Implemented. + (AccessibleJComboBox.getAccessibleSelection()): Implemented. + (AccessibleJComboBox.getAccessibleSelection(int)): Implemented. + (AccessibleJComboBox.isAccessibleChildSelected): Implemented. + (AccessibleJComboBox.getAccessibleAction): Implemented. + (AccessibleJComboBox.getAccessibleActionDescription): Implemented. + (AccessibleJComboBox.getAccessibleActionCount): Implemented. + (AccessibleJComboBox.doAccessibleAction): Implemented. + (AccessibleJComboBox.getAccessibleSelectionCount): Implemented. + (AccessibleJComboBox.addAccessibleSelection): Implemented. + (AccessibleJComboBox.removeAccessibleSelection): Implemented. + (AccessibleJComboBox.clearAccessibleSelection): Implemented. + (AccessibleJComboBox.selectAllAccessibleSelection): Implemented. + +2006-05-08 Thomas Fitzsimmons + + * configure.ac: Add support for building appletviewer. + * resource/gnu/classpath/tools/appletviewer/MessagesBundle.properties: + New file. + * resource/gnu/classpath/tools/appletviewer/MessagesBundle_de.properties: + New file. + * tools/appletviewer.c: New file. + * tools/appletviewer.in: New file. + * tools/gnu/classpath/tools/appletviewer/AppletClassLoader.java: + New file. + * tools/gnu/classpath/tools/appletviewer/AppletSecurityManager.java: + New file. + * tools/gnu/classpath/tools/appletviewer/AppletTag.java: New file. + * tools/gnu/classpath/tools/appletviewer/AppletWarning.java: New + file. + * tools/gnu/classpath/tools/appletviewer/CommonAppletContext.java: + New file. + * tools/gnu/classpath/tools/appletviewer/CommonAppletStub.java: + New file. + * tools/gnu/classpath/tools/appletviewer/ConsoleDialog.java: New + file. + * tools/gnu/classpath/tools/appletviewer/ErrorApplet.java: New + file. + * tools/gnu/classpath/tools/appletviewer/Main.java: New file. + * tools/gnu/classpath/tools/appletviewer/PluginAppletContext.java: + New file. + * tools/gnu/classpath/tools/appletviewer/PluginAppletViewer.java: + New file. + * tools/gnu/classpath/tools/appletviewer/PluginAppletWindow.java: + New file. + * tools/gnu/classpath/tools/appletviewer/StandaloneAppletContext.java: + New file. + * tools/gnu/classpath/tools/appletviewer/StandaloneAppletViewer.java: + New file. + * tools/gnu/classpath/tools/appletviewer/StandaloneAppletWindow.java: + New file. + * tools/gnu/classpath/tools/appletviewer/TagParser.java: New + file. + +2006-05-08 Tom Tromey + + * tools/gnu/classpath/tools/getopt/ClasspathToolParser.java: New file. + * tools/gnu/classpath/tools/jar/Action.java: New file. + * tools/gnu/classpath/tools/jar/Creator.java: New file. + * tools/gnu/classpath/tools/jar/Entry.java: New file. + * tools/gnu/classpath/tools/jar/Extractor.java: New file. + * tools/gnu/classpath/tools/jar/Lister.java: New file. + * tools/gnu/classpath/tools/jar/Main.java: New file. + * tools/gnu/classpath/tools/jar/Updater.java: New file. + * tools/gnu/classpath/tools/getopt/Option.java: New file. + * tools/gnu/classpath/tools/getopt/OptionException.java: New file. + * tools/gnu/classpath/tools/getopt/OptionGroup.java: New file. + * tools/gnu/classpath/tools/getopt/Parser.java: New file. + * tools/gnu/classpath/tools/getopt/FileArgumentCallback.java: New + file. + +2006-05-08 Lillian Angel + + * java/net/URLClassLoader.java + (JarURLLoader): Added check to make sure the INDEX.LIST file + exists. + +2006-05-08 Roman Kennke + + * gnu/java/awt/java2d/AbstractGraphics2D.java + (fill): Removed commented out code. + (fillShape): Also determine the outline of the clip and feed + it into the rendering method. Use new helper method for + converting the shapes into lists of segments. + (getUserBounds): Removed obsolete method. + (rawFillShape): Respect the clip when rendering shapes. + (fillShapeAntialias): Adjusted signature for new clipped rendering. + However, the implementation can't clip still. + (getSegments): New helper method for converting a shape into + a list of segments. + (clipShape): Removed obsolete method. + * gnu/java/awt/java2d/PolyEdge.java + (isClip): New field. + (PolyEdge): Added isField argument to constructor. + +2006-05-08 Roman Kennke + + PR 27481 + * javax/swing/JRootPane.java + (createContentPane): Set background of the content pane to null, + so that the content pane inherits its background from the + root pane. + +2006-05-08 Roman Kennke + + PR 27480 + * javax/swing/ButtonGroup.java + (add): Check if new button is selected and if so, deselect other + buttons in the group. + +2006-05-08 Lillian Angel + + PR 27444 + * java/net/URLClassLoader.java + (JarURLLoader): Added code to go through + META-INF/INDEX.LIST file to load all jars listed. + +2006-05-08 Roman Kennke + + PR 27461 + * javax/swing/ImageIcon.java + (ImageIcon(URL)): Set description to URL.toString(). + +2006-05-08 Roman Kennke + + PR 27482 + * javax/swing/JTable.java + (IconCellRenderer.getTableCellRendererComponent): Set icon to + null when cell value is null. + +2006-05-08 Roman Kennke + + PR 27484 + * javax/swing/DefaultDesktopManager.java + (closeFrame): Don't perform default close action on the frame + to prevent endless loop. + +2006-05-08 Roman Kennke + + PR 27485 + * javax/swing/table/DefaultTableModel.java + (addExtraRows): New helper method. + (checkSize): New helper method. + (setRowCount): Use addExtraRows helper method. + (addColumn): Use addExtraRows helper method. + (getColumnName): Check and adjust size if necessary using + checkSize(). + +2006-05-08 Roman Kennke + + PR 27486 + * javax/swing/JTable.java + (setValueAt): Allow setting values even when table is editable. + +2006-05-08 Tom Tromey + + * java/text/SimpleDateFormat.java (compileFormat): Added missing + space to error message. + +2006-05-08 David Gilbert + + * javax/swing/AbstractButton.java: Fixed comment typos. + +2006-05-07 Andrew John Hughes + + PR classpath/27435: + * java/util/zip/DeflaterEngine.java: + (deflateFast(boolean,boolean)): Empty buffer when full. + +2006-05-07 Sven de Marothy + + Fixed PR27343 + * java/util/Calendar.java (setTimeZone): Force recalculation. + +2006-05-07 Sven de Marothy + + Fixed PR27463 + * javax/swing/plaf/metal/MetalInternalFrameTitlePane.java + (propertyChange): Handle FRAME_ICON_PROPERTY property. + +2006-05-07 Andrew John Hughes + + PR classpath/27311: + * gnu/java/text/StringFormatBuffer.java: + (toString()): Implemented so we can see the contents. + * java/text/DecimalFormat.java: + (formatInternal(double,StringFormatBuffer,FieldPosition)): + Don't calculate the exponent when the number is 0 or less. + Also, use log10 instead of log now it's available. + +2006-05-07 Raif S. Naffah + + * gnu/javax/crypto/keyring/PrimitiveEntry.java (PrimitiveEntry): + Use instance's field creationDate not the constructor's argument. + * gnu/javax/crypto/keyring/PasswordEncryptedEntry.java: + Removed unused imports. + Sorted imports. + (log): New field. + (decrypt): Added trace/debug/timing statements. + (encrypt): Likewise. + Use PRNG instead of instantiating every time a new SecureRandom. + * gnu/javax/crypto/keyring/PasswordAuthenticatedEntry.java: + Removed unused imports. + Sorted imports. + (log): New field. + (verify): Added trace/debug/timing statements. + (authenticate): Likewise. + Use PRNG instead of instantiating every time a new SecureRandom. + +2006-05-07 Raif S. Naffah + + * gnu/classpath/debug/Simple1LineFormatter.java (DAT_FORMAT): Removed. + (THREAD_FORMAT): Likewise. + (dateFormat): Added field. + (threadFormat): Added field. + (format): Initialize instance fields if null. + Use StringBuilder instead of StringBuffer. + +2006-05-07 Roman Kennke + + * gnu/java/awt/java2d/RasterGraphics.java: New file. + +2006-05-07 Roman Kennke + + * gnu/java/awt/java2d/AbstractGraphics2D.java + (fillShape): Determine user space bounds of shape and feed them + into the actual rendering pipeline. + (rawSetPixel): Made non-abstract for now. Maybe remove later. + (rawSetForeground): Likewise. + (getDestinationColorModel): Removed. + (getDeviceBounds): Made non-abstract. Provide useful default impl. + (rawFillShape): Handle paint context. + (fillScanline): Implement painting and compositing. + (fillShapeAntialias): Handle paint context. + (fillScanlineAA): Implemented preliminary antialiasing based on + composite context. Not working yet. + (fillScanlineAlpha): Removed. + (init): Fetch destination raster. + (getDestinationRaster): New abstract method. + (updateRaster): New backend method. + +2006-05-07 Roman Kennke + + * gnu/java/awt/java2d/AlphaCompositeContext.java + (compose): Fixed loops, conditions and logic to make compositing + work correctly. + +2006-05-07 Roman Kennke + + * java/awt/ColorPaintContext.java + (ColorPaintContext): Fixed filling of the raster. + +2006-05-07 Sven de Marothy + + Fixed PR27455 + * gnu/java/awt/peer/GLightweightPeer.java (mouseEntered): Remove. + * java/awt/Component.java (processMouseEvent): + Do lightweight cursor handling. + * javax/swing/plaf/basic/BasicTableHeaderUI.java + (endResizing,mouseMoved): Save and reset original cursor, not the + default one. + +2006-05-07 Audrius Meskauskas + + PR 27298 + * javax/swing/plaf/basic/BasicTreeUI.java (NodeDimensionsHandler. + getNodeDimensions): Mind the size of the node icon. (getRowX): + use totalChildIndent. (TreeExpansionHandler): Set maximal height + to zero on events. (nullIcon): New field. (getCurrentControlIcon): + Return nullIcon if there is no other icon. (getNodeIcon): New method. + (installDefaults): assign totalChildIndent. (installUI): Call + updateExpandedDescendants. (paintHorizontalPartOfLeg): Rewritten. + (paintRow): Rewritten. (updateRenderer): Do not set the renderer for + the tree. + +2006-05-06 Sven de Marothy + + Fixed PR27454 + * gnu/java/awt/peer/gtk/GtkImage: (drawPixels,drawPixelsScaled): + Check for zero image sizes. + +2006-05-06 Olivier Jolly + + Fixed PR27362 + * java/util/Calendar.java (clear(int)): Forced internal state + completion before performing a field clearing. + +2006-05-06 Olivier Jolly + + * java/util/Collections.java(UnmodifiableMap.UnmodifiableEntrySet. + UnmodifiableMapEntry): New Map.Entry implementation which is immutable. + (UnmodifiableMap.UnmodifiableEntrySet.iterator, + UnmodifiableMap.UnmodifiableEntrySet.toArray, + UnmodifiableMap.UnmodifiableEntrySet.toArray(Object[])): Used + UnmodifiableMapEntry as part of their return value. + +2006-05-06 Raif S. Naffah + + * tools/keytool.sh.in: Removed (renamed to keytool.in). + * tools/jarsigner.in: Removed (renamed to jarsigner.in). + * tools/Makefile.am: Include jarsigner and keytool classes in tools.zip. + Generate jarsigner and keytool scripts. + * tools/keytool.in: New file (renamed from keytool.sh.in). + * tools/jarsigner.in: New file (renamed from jarsigner.sh.in). + * tools/.cvsignore: Replaced *.sh with * + * configure.ac: Replaced tools/*.sh with tools/*. + +2006-05-05 Roman Kennke + + * java/awt/image/ColorModel.java + (getNormalizedComponents): Implemented. + +2006-05-05 Roman Kennke + + * javax/swing/plaf/basic/BasicRadioButtonUI.java + (paint): Query the button model for it's state, not the + button itself. + +2006-05-05 Roman Kennke + + * javax/swing/JTable.java + (tableChanged): Sync selection model with table model changes. + +2006-05-05 Audrius Meskauskas + + * javax/swing/plaf/basic/BasicTreeUI.java (paint): Return early + if there are no visible nodes to paint. + +2006-05-05 David Gilbert + + * javax/swing/JOptionPane.java: API doc updates. + +2006-05-05 David Gilbert + + * javax/swing/JToolBar.java + (paramString): Reimplemented. + +2006-05-05 David Gilbert + + * javax/swing/JScrollBar.java + (paramString): Reimplemented. + +2006-05-04 Tom Tromey + + PR classpath/27375: + * java/util/zip/ZipFile.java (entries): Now a LinkedHashMap. + (readEntries): Updated. + (getEntries): Likewise. + (getEntry): Likewise. + (getInputStream): Likewise. + +2006-05-04 Thomas Fitzsimmons + + * gnu/javax/imageio/jpeg/DCT.java, + gnu/javax/imageio/jpeg/HuffmanTable.java, + gnu/javax/imageio/jpeg/JPEGComponent.java, + gnu/javax/imageio/jpeg/JPEGDecoder.java, + gnu/javax/imageio/jpeg/JPEGException.java, + gnu/javax/imageio/jpeg/JPEGFrame.java, + gnu/javax/imageio/jpeg/JPEGImageInputStream.java, + gnu/javax/imageio/jpeg/JPEGImageReader.java, + gnu/javax/imageio/jpeg/JPEGImageReaderSpi.java, + gnu/javax/imageio/jpeg/JPEGMarker.java, + gnu/javax/imageio/jpeg/JPEGMarkerFoundException.java, + gnu/javax/imageio/jpeg/JPEGScan.java, + gnu/javax/imageio/jpeg/YCbCr_ColorSpace.java, + gnu/javax/imageio/jpeg/ZigZag.java: New files. + +2006-05-04 Lillian Angel + + * javax/swing/JLabel.java + (JLabel): Pass in an empty string for the text parameter. + (JLabel): Likewise. + (JLabel): Likewise. + +2006-05-04 Roman Kennke + + * javax/swing/plaf/basic/BasicButtonListener.java + (mouseEntered): Fixed conditions for changing states. + +2006-05-04 Roman Kennke + + * javax/swing/JOptionPane.java + (AccessibleJOptionPane.getAccessibleRole): Implemented method. + +2006-05-04 Roman Kennke + + * javax/swing/JLabel.java + (AccessibleJLabel.getSelectedText): Return null instead of "". + (AccessibleJLabel.getSelectionStart): Added comment why + return -1 is correct here. + (AccessibleJLabel.getSelectionEnd): Added comment why + return -1 is correct here. + (AccessibleJLabel.getCharacterAttribute): Added comment about what + to do here. + (AccessibleJLabel.getCharCount): Added comment about what + to do here. + (AccessibleJLabel.getCharacterBounds): Tagged as not implemented. + (AccessibleJLabel.getIndexAtPoint): Tagged as not implemented. + (paramString): Return super.paramString() here, this provides + a more meaningful output. + +2006-05-04 Roman Kennke + + * javax/swing/JComponent.java + (paint): Added null check to avoid NPE when clip == null. + +2006-05-04 Roman Kennke + + * javax/swing/AbstractButton.java + (addImpl): New method. Installs an OverlayLayout if no + other layout has been installed before. + (setLayout): New method. Detect if a client app installs a custom + layout. + +2006-05-04 Roman Kennke + + * javax/swing/table/DefaultTableCellRenderer.java + (noFocusBorder): Fixed width of empty border to 1. + (getTableCellRendererComponent): Don't change the colors for + focuses cells. Fixed border for focused cells. + +2006-05-04 Roman Kennke + + * javax/swing/JTable.java + (moveToCellBeingEdited): Adjust bounding box of editing component + to exactly cover the grid. + * javax/swing/plaf/basic/BasicTableUI.java + (paint): Paint grid to the bottom and right of the cells instead + of left and top. Adjust bounding box of cells accordingly. + * javax/swing/plaf/metal/MetalLookAndFeel.java + (initComponentDefaults): Fixed color of JTable selection border. + * javax/swing/plaf/metal/OceanTheme.java + (addCustomEntriesToTable): Fixed color of JTable selection border. + +2006-05-04 Raif S. Naffah + + * tools/gnu/classpath/tools/keytool/ExportCmd.java (setup): + Use _alias instead of alias. + +2006-05-03 Andrew John Hughes + + * configure.ac: + Set version to 0.92-pre. + * NEWS: + Add space for 0.92 entries. + +2006-05-03 Andrew John Hughes + + * include/Makefile.am: + Added rules for gnu.java.net.local.LocalSocketImpl.h + * include/java_lang_VMSystem.h: + Regenerated correctly. + +2006-05-03 Sven de Marothy + + PR 24023, 24701 + * java/awt/Image.java: + (getScaledInstance): Default to AreaAveraging for "smooth", + don't thrown an error on illegal flag values. + * java/awt/image/AreaAveragingScaleFilter.java: Implement. + +2006-05-03 Robert Schuster + + * javax/swing/text/FieldView.java: + (adjustAllocation): Added if-block to return null when shape argument + is null. + * javax/swing/text/PlainView.java: + (updateDamage): Added if-block to return early if a is null. + +2006-05-03 Robert Schuster + + * javax/swing/plaf/basic/BasicTextUI.java: + (changeUpdate): Added note. + (removeUpdate): Dito. + (insertUpdate): Dito. + (damageRange): Added if-block to return early. + (modelToView): Added check of getVisibleEditorRect's return value. + (getVisibleEditorRect): Return null instead of empty rectangle. + * javax/swing/text/DefaultCaret.java: + (clearHighlight): Removed if-clause to create a highlight entry if it + did not exist before. + * javax/swing/text/WrappedPlainView.java: + (WrappedLine.modelToView): Throw exception if allocation area is empty, + removed 2nd part of if-expression. + (WrappedLine.updateDamage): Added more documentation, added check + whether allocation area rectangle is null. + +2006-05-03 Audrius Meskauskas + + * javax/swing/JSplitPane.java (setDividerLocation(int)): + Reset to preferred sizes if the argument is negative. + +2006-05-03 David Gilbert + + * javax/swing/JList.java: Added/updated API docs. + +2006-05-03 Lillian Angel + + * javax/swing/JComponent.java + (getRoot): New private function. Gets the root appropriate + for painting. If an applet exists as a parent, then it is returned. + (paintDoubleBuffered): Changed to use new function. + * javax/swing/RepaintManager.java + (getRoot): New private function. Gets the root appropriate + for painting. If an applet exists as a parent, then it is returned. + (getOffscreenBuffer): Changed to use new function. + * javax/swing/SwingUtilties.java + (getRoot): Reverted last patch to return Window, even if + an Applet exists. + +2006-05-03 Raif S. Naffah + + * gnu/javax/crypto/jce/keyring/GnuKeyring.java: Re-implemented using + a pair of one public keyring and one private keyring. + * gnu/javax/crypto/keyring/GnuPublicKeyring.java (log): New field. + (containsCertificate): Added logging. + (getCertificate): Likewise. + (putCertificate): Likewsie. + (load): Likewise. + (store): Likewise. + * gnu/javax/crypto/keyring/GnuPrivateKeyring.java (log): New field. + (containsPrivateKey): Added logging. + (getPrivateKey): Likewise. + (putPrivateKey): Likewise. + (containsPublicKey): Likewise. + (getPublicKey): Likewise. + (putPublicKey): Likewise. + (containsCertPath): Likewise. + (getCertPath): Likewise. + (putCertPath): Likewise. + (load): Likewise. + (store): Likewise. + +2006-05-03 Roman Kennke + + * gnu/java/awt/java2d/AlphaCompositeContext.java: New class. + * java/awt/AlphaComposite.java + (createContext): Implemented. + +2006-05-03 Audrius Meskauskas + + * gnu/java/awt/peer/gtk/GdkGraphics2D.java (drawRaster): + Set the current color again after drawing the raster. + +2006-05-03 Audrius Meskauskas + + * javax/swing/text/WrappedPlainView.java (WrappedLine.modelToView): + Do not check pos < currLineEnd if currLineStart == currLineEnd. + +2006-05-03 Raif S. Naffah + + * tools/gnu/classpath/tools/keytool/Command.java (getCallbackHandler): + Assign returned value to field handler. + * tools/gnu/classpath/tools/jarsigner/Main.java (getCallbackHandler): + Likewise. + +2006-05-02 Audrius Meskauskas + + * javax/swing/ScrollPaneLayout.java (layoutContainer): + Return without action if there is no view in the viewport. + * javax/swing/text/WrappedPlainView.java + (WrappedLine.getPreferredSpan): If metrics == null, update + metrics. + * javax/swing/tree/DefaultTreeModel.java (constructors): + Do not call setRoot, assign the root node directly. + +2006-05-02 Lillian Angel + + * javax/swing/SwingUtilities.java + (getRoot): Should return the Applet if it exists. + Only return the Window if an Applet has not been + encountered. + +2006-05-02 Lillian Angel + + * gnu/javax/swing/text/html/parser/support/Parser.java + (readAttributes): Reverted Audrius' last patch. There is + a slight difference in code between the NUMTOKEN and SLASH case. + +2006-05-02 Robert Schuster + + * javax/swing/text/JTextComponent.java: + (setText): Throw InternalError from catch-block. + * javax/swing/text/GapContent.java: + (removed): Removed if-expression, changed '>' to '>='. + +2006-05-02 Roman Kennke + + * gnu/java/awt/java2d/AbstractGraphics2D.java + (AA_SAMPLING): New constant. + (alpha): New field. Used in the antialiasing renderer. + (edgeTable): New field. Used in the antialiasing renderer. + (AbstractGraphics2D): Initialize rendering hints wrt + anti-aliasing. + (draw): Clip after stroking. Commented out clipping for now, + it seems to be buggy. + (fill): Commented out clipping for now, it seems to be buggy. + (setComposite): Don't create composite context. + (setPaint): Only change paint when parameter is not null. + (translate): Call setClip() so subclasses can update their clip + too. + (clip): Call setClip() so subclasses can update their clip + too. + (drawGlyphVector): Added clipping, but left it commented out + because it's buggy. + (getClipBounds): Returns null when clip is null. + (drawLine): Call rawDrawLine with translation applied. + (filLRect): Call rawFillRect with translation applied. + (fillShape): Added support for anti-aliasing. + (rawSetForeground(int,int,int)): New method. + (rawFillShape): A couple of painting fixes. + (fillScanline): Implemented to call rawDrawLine. + (fillShapeAntialias): New method. Implements an anti-aliasing + shape filler. + (fillScanlineAA): New method. Used for the anti-aliasing + shape filler. + (fillScanlineAlpha): New method. Used for the anti-aliasing + shape filler. + (init): Initialize clip with the device bounds. + (updateOptimization): Fixed the optimization condition. + +2006-05-02 Robert Schuster + + * javax/swing/text/GapContent.java: + (GapContent): Restrict size argument by 2. + (insertString): Changed expression from >= to >. + (remove): Changed right side of expression to 'length - 1', changed + exception message. + (getChars): Throw exception if where below 0. + (replace): Replaced call to setPositionsInRange() with + resetMarksAtZero(), removed note. + +2006-05-02 Roman Kennke + + PR 27326 + * javax/swing/MenuSelectionManager.java + (setSelectedPath): Rewritten. + +2006-05-02 Audrius Meskauskas + + * gnu/javax/swing/text/html/parser/support/Parser.java + (readAttributes): Merge case NUMTOKEN: and case SLASH: + sections. + +2006-05-02 Raif S. Naffah + + * tools/.cvsignore: Added keytool.sh. + * configure.ac: Added tools/keytool.sh to AC_CONFIG_FILES. + +2006-05-02 Raif S. Naffah + + * doc/tools.texinfo: New file. + * doc/Makefile.am: Generate tools documentation. + +2006-05-02 Raif S. Naffah + + * tools/keytool.sh.in: New file. + * tools/gnu/classpath/tools/keytool/CertReqCmd.java: Likewise. + * tools/gnu/classpath/tools/keytool/Command.java: Likewise. + * tools/gnu/classpath/tools/keytool/DeleteCmd.java: Likewise. + * tools/gnu/classpath/tools/keytool/ExportCmd.java: Likewise. + * tools/gnu/classpath/tools/keytool/GenKeyCmd.java: Likewise. + * tools/gnu/classpath/tools/keytool/IdentityDBCmd.java: Likewise. + * tools/gnu/classpath/tools/keytool/ImportCmd.java: Likewise. + * tools/gnu/classpath/tools/keytool/KeyCloneCmd.java: Likewise. + * tools/gnu/classpath/tools/keytool/KeyPasswdCmd.java: Likewise. + * tools/gnu/classpath/tools/keytool/ListCmd.java: Likewise. + * tools/gnu/classpath/tools/keytool/Main.java: Likewise. + * tools/gnu/classpath/tools/keytool/Messages.java: Likewise. + * tools/gnu/classpath/tools/keytool/PrintCertCmd.java: Likewise. + * tools/gnu/classpath/tools/keytool/SelfCertCmd.java: Likewise. + * tools/gnu/classpath/tools/keytool/StorePasswdCmd.java: Likewise. + * tools/gnu/classpath/tools/keytool/keytool.txt: Likewise. + * tools/gnu/classpath/tools/keytool/package.html: Likewise. + * resource/gnu/classpath/tools/keytool/MessageBundle.properties: Likewise. + +2006-05-02 Raif S. Naffah + + * tools/gnu/classpath/tools/jarsigner/jarsigner.txt: Re-arranged to + resemble more closely man-page style text. + * tools/gnu/classpath/tools/jarsigner/SFHelper.java: + Mark (Eclipse) strings that need not be externalised. + (writeSF): Likewise. + (writeDSA): Likewise. + Use package-private Messages class to provide i18n-ready strings. + (startSigning): + Use package-private Messages class to provide i18n-ready strings. + (updateEntry): Likewise. + Mark (Eclipse) strings that need not be externalised. + (finishSigning): Likewise. + * tools/gnu/classpath/tools/jarsigner/Main.java: + Mark (Eclipse) strings that need not be externalised. + (main): Do not use constant strings as class name. + Use package-private Messages class to provide i18n-ready strings. + Reduced logging level so INFO becomes FINER, and WARNING becomes FINE. + (processArgs): Do not use constant strings as class name. + Mark (Eclipse) strings that need not be externalised. + Reduced logging level so INFO becomes FINER, and WARNING becomes FINE. + (start): Do not use constant strings as class name. + (teardown): Likewise. + Use ProviderUtil. + (setupCommonParams): Do not use constant strings as class name. + Use package-private Messages class to provide i18n-ready strings. + Reduced logging level so INFO becomes FINER, and WARNING becomes FINE. + (installNewProvider): Do not use constant strings as class name. + Use ProviderUtil. + (setupSigningParams): Do not use constant strings as class name. + Use package-private Messages class to provide i18n-ready strings. + Mark (Eclipse) strings that need not be externalised. + (getCallbackHandler): Use CallbackUtil. + * tools/gnu/classpath/tools/jarsigner/JarSigner.java (start): + Use package-private Messages class to provide i18n-ready strings. + Reduced logging level so INFO becomes FINER, and WARNING becomes FINE. + * tools/gnu/classpath/tools/jarsigner/JarVerifier.java (start): Likewise. + (verifySF): Likewise. + (verifySFEntries): Do not use constant strings as class name. + Use Boolean.valueOf instead of new Boolean(). + (verifySFEntry): Mark (Eclipse) strings that need not be externalised. + * resource/gnu/classpath/tools/jarsigner/MessageBundle.properties: + New file. + * tools/gnu/classpath/tools/jarsigner/package.html: Likewise. + * tools/gnu/classpath/tools/jarsigner/Messages.java: Likewise. + +2006-05-02 Raif S. Naffah + + * tools/gnu/classpath/tools/common/CallbackUtil.java: New file. + * tools/gnu/classpath/tools/common/ProviderUtil.java: Likewise. + * tools/gnu/classpath/tools/common/SecurityProviderInfo.java: Likewise. + +2006-05-01 Tom Tromey + + * java/nio/ByteBufferImpl.java (compact): Don't reset position + in empty case. + * gnu/java/nio/ChannelReader.java (read): Synchronize. + (close): Synchronize. + * java/nio/ShortBufferImpl.java (compact): Rewrote. + * java/nio/LongBufferImpl.java (compact): Rewrote. + * java/nio/IntBufferImpl.java (compact): Rewrote. + * java/nio/FloatBufferImpl.java (compact): Rewrote. + * java/nio/DoubleBufferImpl.java (compact): Rewrote. + * java/nio/CharBufferImpl.java (compact): Rewrote. + * gnu/java/nio/ChannelWriter.java: New file. + * java/nio/channels/Channels.java (newWriter): Implemented. + +2006-05-01 Lillian Angel + + * java/util/SimpleTimeZone.java + (SimpleTimeZone): Do not throw exception if startMonth == endMonth. + (SimpleTimeZone): Likewise. + (checkRule): Rewritten to properly check all values (more efficently). + This code is now more stable, at least less buggy than before. Fixed + API documentation. + (setStartRule): Moved checkRule call to end. + (setStartRule): Likewise. + (setEndRule): Likewise. + (setEndRule): Likewise. + +2006-05-01 Tom Tromey + + * lib/.cvsignore: Added classes.2. + +2006-05-01 Tom Tromey + + * java/util/jar/JarFile.java (provider): Now package-private. + * java/lang/Enum.java (compareTo): Javadoc fix. + * java/lang/Boolean.java (compareTo): Javadoc fix. + +2006-05-01 Lillian Angel + + * gnu/javax/swing/text/html/parser/support/Parser.java + (readAttributes): Formatted function. Added handling for + SLASH token. The value of an attribute may start with a slash + (i.e. a path). I added handling similar to to the NUMTOKEN code. + We should not be skipping over these type of attributes. + +2006-04-30 Andrew John Hughes + + * include/gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.h, + * include/gnu_java_awt_peer_gtk_GdkFontPeer.h, + * include/gnu_java_awt_peer_gtk_GdkGraphics.h, + * include/gnu_java_awt_peer_gtk_GdkGraphics2D.h, + * include/gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.h, + * include/gnu_java_awt_peer_gtk_GdkPixbufDecoder.h, + * include/gnu_java_awt_peer_gtk_GdkRobotPeer.h, + * include/gnu_java_awt_peer_gtk_GdkTextLayout.h, + * include/gnu_java_awt_peer_gtk_GtkButtonPeer.h, + * include/gnu_java_awt_peer_gtk_GtkCanvasPeer.h, + * include/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.h, + * include/gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.h, + * include/gnu_java_awt_peer_gtk_GtkCheckboxPeer.h, + * include/gnu_java_awt_peer_gtk_GtkChoicePeer.h, + * include/gnu_java_awt_peer_gtk_GtkClipboard.h, + * include/gnu_java_awt_peer_gtk_GtkComponentPeer.h, + * include/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.h, + * include/gnu_java_awt_peer_gtk_GtkFileDialogPeer.h, + * include/gnu_java_awt_peer_gtk_GtkFramePeer.h, + * include/gnu_java_awt_peer_gtk_GtkGenericPeer.h, + * include/gnu_java_awt_peer_gtk_GtkImage.h, + * include/gnu_java_awt_peer_gtk_GtkLabelPeer.h, + * include/gnu_java_awt_peer_gtk_GtkListPeer.h, + * include/gnu_java_awt_peer_gtk_GtkMenuBarPeer.h, + * include/gnu_java_awt_peer_gtk_GtkMenuComponentPeer.h, + * include/gnu_java_awt_peer_gtk_GtkMenuItemPeer.h, + * include/gnu_java_awt_peer_gtk_GtkMenuPeer.h, + * include/gnu_java_awt_peer_gtk_GtkPanelPeer.h, + * include/gnu_java_awt_peer_gtk_GtkPopupMenuPeer.h, + * include/gnu_java_awt_peer_gtk_GtkScrollPanePeer.h, + * include/gnu_java_awt_peer_gtk_GtkScrollbarPeer.h, + * include/gnu_java_awt_peer_gtk_GtkSelection.h, + * include/gnu_java_awt_peer_gtk_GtkTextAreaPeer.h, + * include/gnu_java_awt_peer_gtk_GtkTextFieldPeer.h, + * include/gnu_java_awt_peer_gtk_GtkToolkit.h, + * include/gnu_java_awt_peer_gtk_GtkWindowPeer.h, + * include/gnu_java_awt_peer_qt_MainQtThread.h, + * include/gnu_java_awt_peer_qt_QMatrix.h, + * include/gnu_java_awt_peer_qt_QPainterPath.h, + * include/gnu_java_awt_peer_qt_QPen.h, + * include/gnu_java_awt_peer_qt_QtAudioClip.h, + * include/gnu_java_awt_peer_qt_QtButtonPeer.h, + * include/gnu_java_awt_peer_qt_QtCanvasPeer.h, + * include/gnu_java_awt_peer_qt_QtCheckboxPeer.h, + * include/gnu_java_awt_peer_qt_QtChoicePeer.h, + * include/gnu_java_awt_peer_qt_QtComponentPeer.h, + * include/gnu_java_awt_peer_qt_QtContainerPeer.h, + * include/gnu_java_awt_peer_qt_QtDialogPeer.h, + * include/gnu_java_awt_peer_qt_QtEmbeddedWindowPeer.h, + * include/gnu_java_awt_peer_qt_QtFileDialogPeer.h, + * include/gnu_java_awt_peer_qt_QtFontMetrics.h, + * include/gnu_java_awt_peer_qt_QtFontPeer.h, + * include/gnu_java_awt_peer_qt_QtFramePeer.h, + * include/gnu_java_awt_peer_qt_QtGraphics.h, + * include/gnu_java_awt_peer_qt_QtGraphicsEnvironment.h, + * include/gnu_java_awt_peer_qt_QtImage.h, + * include/gnu_java_awt_peer_qt_QtLabelPeer.h, + * include/gnu_java_awt_peer_qt_QtListPeer.h, + * include/gnu_java_awt_peer_qt_QtMenuBarPeer.h, + * include/gnu_java_awt_peer_qt_QtMenuComponentPeer.h, + * include/gnu_java_awt_peer_qt_QtMenuItemPeer.h, + * include/gnu_java_awt_peer_qt_QtMenuPeer.h, + * include/gnu_java_awt_peer_qt_QtPanelPeer.h, + * include/gnu_java_awt_peer_qt_QtPopupMenuPeer.h, + * include/gnu_java_awt_peer_qt_QtScreenDevice.h, + * include/gnu_java_awt_peer_qt_QtScrollPanePeer.h, + * include/gnu_java_awt_peer_qt_QtScrollbarPeer.h, + * include/gnu_java_awt_peer_qt_QtTextAreaPeer.h, + * include/gnu_java_awt_peer_qt_QtTextFieldPeer.h, + * include/gnu_java_awt_peer_qt_QtToolkit.h, + * include/gnu_java_awt_peer_qt_QtVolatileImage.h, + * include/gnu_java_awt_peer_qt_QtWindowPeer.h, + * include/gnu_javax_sound_midi_alsa_AlsaMidiDeviceProvider.h, + * include/gnu_javax_sound_midi_alsa_AlsaMidiSequencerDevice.h, + * include/gnu_javax_sound_midi_alsa_AlsaPortDevice.h, + * include/gnu_javax_sound_midi_dssi_DSSIMidiDeviceProvider.h, + * include/gnu_javax_sound_midi_dssi_DSSISynthesizer.h, + * include/gnu_xml_libxmlj_dom_GnomeAttr.h, + * include/gnu_xml_libxmlj_dom_GnomeDocument.h, + * include/gnu_xml_libxmlj_dom_GnomeDocumentBuilder.h, + * include/gnu_xml_libxmlj_dom_GnomeDocumentType.h, + * include/gnu_xml_libxmlj_dom_GnomeElement.h, + * include/gnu_xml_libxmlj_dom_GnomeEntity.h, + * include/gnu_xml_libxmlj_dom_GnomeNamedNodeMap.h, + * include/gnu_xml_libxmlj_dom_GnomeNode.h, + * include/gnu_xml_libxmlj_dom_GnomeNodeList.h, + * include/gnu_xml_libxmlj_dom_GnomeNotation.h, + * include/gnu_xml_libxmlj_dom_GnomeProcessingInstruction.h, + * include/gnu_xml_libxmlj_dom_GnomeTypeInfo.h, + * include/gnu_xml_libxmlj_dom_GnomeXPathExpression.h, + * include/gnu_xml_libxmlj_dom_GnomeXPathNSResolver.h, + * include/gnu_xml_libxmlj_dom_GnomeXPathNodeList.h, + * include/gnu_xml_libxmlj_dom_GnomeXPathResult.h, + * include/gnu_xml_libxmlj_sax_GnomeLocator.h, + * include/gnu_xml_libxmlj_sax_GnomeXMLReader.h, + * include/gnu_xml_libxmlj_transform_GnomeTransformer.h, + * include/gnu_xml_libxmlj_transform_GnomeTransformerFactory.h, + * include/java_lang_VMProcess.h: + Regenerated. + * native/jni/java-lang/java_lang_VMProcess.c: + Redirect when pipe_count is 2 not 3. + +2006-04-30 Sascha Brawer + + * gnu/java/awt/font/FontDelegate.java, + * gnu/java/awt/font/FontFactory.java, + * gnu/java/awt/font/GNUGlyphVector.java, + * gnu/java/awt/font/opentype/CharGlyphMap.java, + * gnu/java/awt/font/opentype/GlyphNamer.java, + * gnu/java/awt/font/opentype/MacResourceFork.java, + * gnu/java/awt/font/opentype/NameDecoder.java, + * gnu/java/awt/font/opentype/OpenTypeFont.java, + * gnu/java/awt/font/opentype/OpenTypeFontFactory.java, + * gnu/java/awt/font/opentype/Scaler.java, + * gnu/java/awt/font/opentype/truetype/Fixed.java, + * gnu/java/awt/font/opentype/truetype/GlyphLoader.java, + * gnu/java/awt/font/opentype/truetype/GlyphLocator.java, + * gnu/java/awt/font/opentype/truetype/GlyphMeasurer.java, + * gnu/java/awt/font/opentype/truetype/TrueTypeScaler.java, + * gnu/java/awt/font/opentype/truetype/VirtualMachine.java, + * gnu/java/awt/font/opentype/truetype/Zone.java, + * gnu/java/awt/font/opentype/truetype/ZonePathIterator.java, + * gnu/java/awt/font/opentype/truetype/doc-files/ZonePathIterator-1.dia, + * gnu/java/awt/font/opentype/truetype/doc-files/ZonePathIterator-1.png: + New files. Imported font framework from: + http://www.brawer.ch/software/fonts/ + +2006-04-30 Roman Kennke + + * javax/swing/plaf/basic/BasicTabbedPaneUI.java + (lastTabInRun): Fix calculation of the last tab in a run. This + has caused painting problems sometimes, making the + last tab painted incorrectly. + +2006-04-30 Audrius Meskauskas + + PR 27297 + * javax/swing/JComponent.java (paintChildrenWithOverlap): + Use for and not while to prevent the endless loop. + +2006-04-29 David Gilbert + + * javax/swing/JList.java + (paramString): Changed from public to protected. + +2006-04-29 Raif S. Naffah + + * tools/gnu/classpath/tools/HelpPrinter.java (printHelp): New method. + (printHelpAndExit): Re-factored to use the above method. + +2006-04-29 Raif S. Naffah + + * tools/jarsigner.sh.in: Changed license to GPL + Exception. + Use -Xbootclasspath/p instead of -cp when invoking the main class. + * tools/gnu/classpath/tools/jarsigner/Main.java: + Changed license to GPL + Exception. + (handler): New field. + (getCallbackHandler): New method. + (setupSigningParams): Use above method. + * tools/gnu/classpath/tools/jarsigner/HashUtils.java: + Changed license to GPL + Exception. + * tools/gnu/classpath/tools/jarsigner/SFHelper.java: Likewise. + * tools/gnu/classpath/tools/jarsigner/JarVerifier.java: Likewise. + * tools/gnu/classpath/tools/jarsigner/JarSigner.java: Likewise. + * tools/gnu/classpath/tools/jarsigner/jarsigner.txt: Updated copyright. + +2006-04-29 Raif S. Naffah + + * gnu/javax/security/auth/callback/ConsoleCallbackHandler.java + (handleConfirmation): Use print instead of println. + (handleConfirmation): When case is YES_NO_OPTION, print default option + if one was set. + (handleLanguage): Use print instead of println. + +2006-04-29 Raif S. Naffah + + * gnu/java/security/x509/X500DistinguishedName.java: Updated copyright. + (putComponent): Handle O and OU components. + (getDer): Use correct (it2) iterator. + (readAttributeValue): Read next character and break if end-of-stream. + +2006-04-29 Raif S. Naffah + + * gnu/java/security/provider/Gnu.java (run): + Add "RSA" as an alias to MD5withRSA. + * gnu/java/security/key/rsa/RSAKeyPairX509Codec.java (encodePublicKey): + Always encode a NULL as the value of an algorithm parameters field. + * gnu/java/security/key/rsa/RSAKeyPairPKCS8Codec.java (log): New field. + (encodePrivateKey): Added trace/log statements. + (decodePrivateKey): Likewise. + * gnu/java/security/key/rsa/RSAKeyPairGenerator.java (log): New field. + (setup): Added trace/log statements. + (generate): Likewise. + * gnu/java/security/key/rsa/GnuRSAPublicKey.java (str): New field. + (toString): New method. + * gnu/java/security/key/rsa/GnuRSAPrivateKey.java (DEBUG): New constant. + (str): New field. + (toString): New method. + * gnu/java/security/key/rsa/GnuRSAKey.java (str): New field. + (getEncoded): Use defaultFormat. + (toString): New method. + * gnu/java/security/key/dss/DSSKey.java (toString): + Include defaultFormat in string. + * gnu/java/security/jce/sig/RSAKeyFactory.java (engineGeneratePublic): + Break if successfully decoded public key. + (engineGeneratePrivate): Break if successfully decoded private key. + +2006-04-29 Raif S. Naffah + + * java/security/Security.java : Add our Callback provider. + * resource/java/security/classpath.security: Likewise + +2006-04-28 Audrius Meskauskas + + PR 27296 + * javax/swing/ScrollPaneLayout.java (layoutContainer): + Decide about scroll bars from the preferred view size, not + the current size. + * javax/swing/ViewportLayout.java (layoutContainer): + Do not change returned preferred size. Do not treat JScrollPane + specially. + +2006-04-28 Sven de Marothy + + * java/awt/image/ReplicateScaleFilter.java: Fix comment. + * javax/swing/ProgressMonitor.java (actionPerformed): + Avoid divide-by-zero. + +2006-04-28 Sven de Marothy + + * javax/swing/JSpinner.java: Fix default text justification. + * javax/swing/plaf/basic/BasicSpinnerUI.java: Fix spinner layout size. + +2006-04-28 David Gilbert + + * javax/swing/JList.java + (getMinSelectionIndex): Return correct value, added API docs, + (getMaxSelectionIndex): Added API docs. + +2006-04-28 David Gilbert + + * javax/swing/JList.java + (JList(Object[])): Pass new model directly to init(), + (JList(Vector)): Likewise, + (JList(ListModel)): Renamed argument and updated API docs, + (init): Throw IllegalArgumentException for null argument, + (setListData(Object[])): Delegate model creation, + (setListData(Vector)): Likewise, + (createListModel(Object[])): New private method, + (createListModel(Vector)): New private method, + (paramString): Implemented. + +2006-04-28 Tom Tromey + + * java/lang/Class.java (SYNTHETIC, ENUM, ANNOTATION): New fields. + (isEnum): Rewrote. + (isSynthetic): Likewise. + (isAnnotation): Likewise. + * vm/reference/java/lang/VMClass.java (isSynthetic): Removed. + (isAnnotation): Likewise. + (isEnum): Likewise. + +2006-04-28 Robert Schuster + + * javax/swing/text/View.java: + (getNextVisualPositionFrom): Call modelToView and viewToModel on parent + view. + +2006-04-28 Robert Schuster + + * javax/swing/text/View.java: + (getNextVisualPositionFrom): Rewritten. + * javax/swing/text/CompositeView.java: + (getNextEastWestVisualPositionFrom): Partly implemented. + (getNextNorthSouthVisualPositionFrom): Partly implemented. + +2006-04-28 David Gilbert + + * javax/swing/JList.java + (setFixedCellHeight): Use correct property name for event. + +2006-04-28 Robert Schuster + + * javax/swing/text/Utilities.java: + (getNextWord): Use codePointAt instead of charAt, added note, changed + if-expression, added throwing of exception. + (getPreviousWord): Use codePointAt instead of charAt. + +2006-04-28 Jeroen Frijters + + * java/lang/StringBuilder.java + (ensureCapacity, getChars, append(StringBuffer), + append(char[],int,int), delete, replace, insert(int,char[],int,int), + insert(int,String), insert(int,char), trimToSize): Replaced + System.arraycopy calls with VMSystem.arraycopy. + +2006-04-27 Tom Tromey + + * java/awt/image/renderable/RenderableImageProducer.java + (requestTopDownLeftRightResend): Implemented. + (run): Likewise. + (startProduction): Add new consumer. + +2006-04-27 Sven de Marothy + + * javax/swing/JLabel.java (setIcon): Repaint on setting the icon. + +2006-04-27 Roman Kennke + + * java/awt/LightweightDispatcher.java + Dispatch events only to targets that have a mouselistener + attached. Changed to also handle null targets. + +2006-04-27 Roman Kennke + + * NEWS: Added entries about accessibility support and L&F + window decorations. + +2006-04-27 Robert Schuster + + * javax/swing/text/Utilities.java: + (getTabbedTextOffset): Introduced width variable, rewritten the check + which ends the loop. + (getBreakLocation): Call getTabbedTextOffset with rounding argument set + to false. + +2006-04-27 Audrius Meskauskas + + * examples/gnu/classpath/examples/swing/TreeDemo.java + (createContent): Added root visibility and selection listener demos. + * javax/swing/JTree.java (setRootVisible): If false, unselect + the root node, if it is selected. + * javax/swing/plaf/basic/BasicTreeUI.java + (TreeTraverseAction.actionPerformed): Do not select the root if it + is not visible. + * javax/swing/tree/DefaultTreeSelectionModel.java (removeSelectionPath, + removeSelectionPaths): Reset lead to null if the current lead path is + removed from selection. + * javax/swing/tree/TreePath.java (getParentPath): Cache the parent path. + * javax/swing/tree/FixedHeightLayoutCache.java (NodeRecord.getPath): + Return the same path regardless is root visible or not. (update): + Reduce the identation if the root is not visible. + * javax/swing/tree/VariableHeightLayoutCache.java (NodeRecord.getPath): + Return the same path regardless is root visible or not. (update): + Reduce the identation if the root is not visible. + +2006-04-26 Audrius Meskauskas + + Fixes PR 27290 + * javax/xml/datatype/DatatypeFactory.java: Use complete + implementation resolution mechanism. + +2006-04-26 Audrius Meskauskas + + * javax/swing/tree/DefaultTreeModel.java (nodeStructureChanged): + Implemented. + * javax/swing/tree/DefaultTreeSelectionModel.java (toString): + Removed NoImplementException form the implemented method. + +2006-04-26 Tom Tromey + + * javax/net/ssl/HttpsURLConnection.java (HttpsURLConnection): Doesn't + throw IOException. + +2006-04-26 David Gilbert + + * javax/swing/DefaultListSelectionModel.java + (clone): Initialise empty listener list, + (setSelectionMode): Throw IllegalArgumentException for bad input. + +2006-04-26 David Gilbert + + * javax/swing/DefaultListSelectionModel.java + (clearSelection): Clear the Bitset. + +2006-04-26 Audrius Meskauskas + + * javax/swing/JTree.java (setLeadSelectionPath): + Repaint the new and old lead pathes. + * javax/swing/plaf/basic/BasicTreeUI.java + (FocusHandler): Repaint the lead row when focus changes. + (PropertyChangeHandler): Use existing constants, not the + string literals for the property names. + (TreeIncrementAction): Shrink the selection when moving + from the selection edge to the selection anchor. + (TreeSelectionHandler.valueChanged): Repaint the + new and old lead pathes. + (paintRow): Treat row as focused only if it is the lead row. + * javax/swing/tree/DefaultTreeCellRenderer.java + (getTreeCellRendererComponent): Set the vertical alignment to CENTER. + (paint): Rewritten. + * javax/swing/tree/DefaultTreeSelectionModel.java + (addSelectionPath): Event construction fix (old and new lead were + always the same). + (addSelectionPaths): Likewise. + * javax/swing/JComponent.java (setOpaque): Explained. + * javax/swing/tree/FixedHeightLayoutCache.java (getBounds): + Accept null. + * javax/swing/tree/VariableHeightLayoutCache.java (getBounds): + Accept null. + +2006-04-26 Audrius Meskauskas + + * examples/gnu/classpath/examples/swing/TreeDemo.java + (createContent): Call DefaultTreeModel.reload(), not the + tree.repaint(). Expand the parent of the added node. + * javax/swing/JTree.java (constructor): Do not call + UpdateUI (and documented why). (treeDidChange): + Added comment, excluding the misinterpretation of this method. + * javax/swing/plaf/basic/BasicTreeUI.java (componentListener, + focusListener, keyListener, mouseListener, propertyListener, + selectionModelPropertyChangeListener, treeModelListener, + treeSelectionListener): Made package private. + (PropertyChangeHandler): If the model changes, install the + listener on it. (installUI): Assign treeModel. + * javax/swing/tree/DefaultMutableTreeNode.java (add): Added + comment, excluding misinterpretation. + * javax/swing/tree/DefaultTreeModel.java (reload): Implemented. + (reload(TreeNode)): Implemented. + +2006-04-25 Tom Tromey + + * javax/swing/JComboBox.java (AccessibleJComboBox): Now public. + * javax/swing/tree/VariableHeightLayoutCache.java + (getVisiblePathsFrom): Genericized. + * javax/swing/tree/FixedHeightLayoutCache.java (getVisiblePathsFrom): + Genericized. + +2006-04-25 Audrius Meskauskas + + * javax/swing/plaf/basic/BasicTreeUI.java (MouseHandler.mousePressed): + If clicked on the other row, cancel the current editing session. + +2006-04-25 Audrius Meskauskas + + * javax/swing/plaf/basic/BasicTreeUI.java + (NodeDimensionsHandler.getRowX): Add half of the icon width. + (paintExpandControl): Always paint in one gap distance from the left + border of the path bounds. + (paintHorizontalPartOfLeg): Rewritted, taking the icon width + into consideration. + (paintVerticalPartOfLeg): Paint two gaps from the parent's bounds + left edge. + +2006-04-25 Audrius Meskauskas + + * javax/swing/plaf/basic/BasicTreeUI.java (paint): Rewritten. + +2006-04-25 Audrius Meskauskas + + * gnu/javax/swing/text/html/parser/support/Parser.java (readAttributes): + Allow slashes (/) in the unquoted parameter value. + +2006-04-25 Roman Kennke + + * gnu/java/awt/java2d/AbstractGraphics2D.java + (drawString(String,int,int)): Implemented. + (drawString(String,float,float)): Implemented. + (drawString(AttributedCharacterIterator,int,int)): Implemented. + (drawString(AttributedCharacterIterator,float,float)): Implemented. + (getFontRenderContext): Implemented. + (drawGlyphVector): Implemented. + (getFont): Implemented. + (setFont): Don't change font setting when null. + (getFontMetrics): Implemented. + (fillShape): Re-written to fill call rawFillShape() with a list + of the edges instead of double arrays. + (rawFillShape): Implemented using a polygon scanline conversion. + (fillScanline): New helper method. + (init): Initialize foreground black. Set font. + * gnu/java/awt/java2d/PolyEdge.java: New file. + * gnu/java/awt/java2d/PolyEdgeComparator.java: New file. + +2006-04-25 David Gilbert + + * javax/swing/table/DefaultTableColumnModel.java: More API doc updates. + +2006-04-25 David Gilbert + + * javax/swing/JTable.java: Fixed API doc tags, + * javax/swing/text/AsyncBoxView.java: Likewise, + * javax/swing/text/FlowView.java: Likewise. + +2006-04-25 David Gilbert + + * javax/swing/table/DefaultTableColumnModel.java + (moveColumn): Call fireColumnMoved() not fireColumnAdded. + +2006-04-24 David Gilbert + + * javax/swing/table/DefaultTableColumnModel.java + (DefaultTableColumnModel): Set selection model field and add 'this' as + listener directly, + (addColumn): Add 'this' as a PropertyChangeListener, + (removeColumn): Remove column before firing event, and remove 'this' as + a PropertyChangeListener, + (setSelectionModel): Remove 'this' as a listener from old model, + (propertyChange): Check for 'width' property rather than + TableColumn.COLUMN_WIDTH_PROPERTY. + +2006-04-24 Chris Burdess + + Fixes PR 27262 + * gnu/xml/dom/DomDocument.java: getElementById returns user-defined ID + attributes when no doctype exists. + +2006-04-24 David Gilbert + + * javax/swing/event/ChangeEvent.java: Updated API docs, + * javax/swing/event/ChangeListener.java: Likewise, + * javax/swing/event/TableColumnModelEventListener.java: Likewise, + * javax/swing/table/DefaultTableColumnModel.java: Likewise, + * javax/swing/table/TableColumnModel.java: Likewise. + +2006-04-24 Robert Schuster + + * javax/swing/text/Utilities.java: + (getBreakLocation): Introduced shift variable, added notes. + * javax/swing/text/WrappedPlainView.java: + (calculateBreakPosition): Decrease allocation area bounds by insets, + added early return when allocation area is empty, provide start offset + as argument. + (WrappedPlainView.WrappedLine): Change default value for numLines to 1. + (WrappedPlainView.WrappedLine.paint): Added count variable, update + numLines after loop. + (WrappedPlainView.WrappedLine.determineNumLines): Added early return. + (WrappedPlainView.WrappedLine.getPreferredSpan): Removed if-statement. + (WrappedPlainView.WrappedLine.viewToModel): Changed note, removed + decreasing variable end by one, changed break condition in while-loop, + added check for return value. + (WrappedPlainView.WrappedLine.updateDamage): Set numLines to one if + allocation area is empty. + +2006-04-24 Sven de Marothy + + * gnu/java/awt/java2d/Segment.java: New file. + * gnu/java/awt/java2d/CubicSegment.java: New file. + * gnu/java/awt/java2d/QuadSegment.java: New file. + * gnu/java/awt/java2d/LineSegment.java: New file. + * java/awt/BasicStroke.java + (start): New field. + (end): New field. + (createStrokedShape): Implemented. + (solidStroke): New method. + (dashedStroke): New method. + (capEnds): New method. + (convertPath): New method. + (addSegments): New method. + (capEnd): New method. + (lineIntersection): New method. + (joinSegments): New method. + +2006-04-24 Roman Kennke + + * gnu/java/awt/java2d/AbstractGraphics2D.java: Made implements + Cloneable. + (font): New field. + (clip): Changed clip to be in user space not in target space. + (isOptimized): Added flag to allow optimized drawing for + primitive operations (e.g. for Swing). + (AbstractGraphics2D()): Set foreground in init() to avoid trouble + with the paint context etc. + (draw): Clip the shape before drawing it. + (fill): Clip the shape before drawing it. + (setComposite): Update isOptimized flag. + (setPaint): Likewise. + (setStroke): Likewise. + (translate): Update the clip. + (rotate): Likewise. + (scale): Likewise. + (shear): Likewise. + (transform): Likewise. + (setTransform): Likewise. + (clip): Added optimization for rectangle clips. + (create): Implemented. + (clone): New method. + (setFont): Basic implementation. + (setClip): Update opimization flag. + (drawLine): Added possible optimization. + (fillRect): Added possible optimization. + (fillShape): Implemented shape-filling by filling the flattended + shape using polygon fill. + (drawPixel): Added basic painting. + (rawSetPixel): Changed signature to only take coordinates. + (rawSetForeground): New abstract method. + (getUserBounds): Implemented default for this method. + (rawDrawLine): New method. + (rawFillRect): New method. + (rawFillPolygon): New method. + (init): New method. + (updateOptimization): New method. + (computeIntersection): New method. + (updateClip): New method. + (clipShape): New method. + +2006-04-23 Jeroen Frijters + + * java/lang/Package.java: Added compatibility constructor to ease + VM interface migration. + +2006-04-23 Jeroen Frijters + + * java/lang/Class.java (getEnumConstants): Implemented without + delegating to VMClass. + * vm/reference/java/lang/VMClass.java (getEnumConstants): Removed. + +2006-04-23 Jeroen Frijters + + * java/lang/ClassLoader.java (definePackage): Added argument to + Package constructor. + * java/lang/Package.java (Package): Added ClassLoader argument. + (loader): New field. + (getDeclaredAnnotations): Implemented without help from VMPackage. + * vm/reference/java/lang/VMClassLoader.java (static): Added argument + to Package constructor. + * vm/reference/java/lang/VMPackage.java: Removed. + +2006-04-23 Audrius Meskauskas + + * examples/gnu/classpath/examples/swing/TreeDemo.java: + (createContent): Added check box to swith between single and + multiple selection. + * javax/swing/JTree.java (leadSelectionPath): Removed. + (addSelectionInterval): Explained. (getLeadSelectionPath): + Request the path from model. (getPathsBetweenRows): Explained. + (setLeadSelectionPath): Set the path in model. + * javax/swing/plaf/basic/BasicTreeUI.java + (TreeIncrementAction.actionPerformed, isMultiSelectionEvent, + isToggleSelectionEvent, selectPath, selectPathForEvent): Rewritten. + (MouseHandler.mousePressed): Call selectPathForEvent. + +2006-04-23 Roman Kennke + + * gnu/java/awt/java2d/AbstractGraphics2D.java: New file. + +2006-04-22 Andrew John Hughes + + * NEWS: + Mention changes to VMProcess and VMSystem. + * doc/vmintegration.texinfo: + Change documentation on VMProcess and VMSystem. + * include/gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.h, + * include/gnu_java_awt_peer_gtk_GdkFontPeer.h, + * include/gnu_java_awt_peer_gtk_GdkGraphics.h, + * include/gnu_java_awt_peer_gtk_GdkGraphics2D.h, + * include/gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.h, + * include/gnu_java_awt_peer_gtk_GdkPixbufDecoder.h, + * include/gnu_java_awt_peer_gtk_GdkRobotPeer.h, + * include/gnu_java_awt_peer_gtk_GdkTextLayout.h, + * include/gnu_java_awt_peer_gtk_GtkButtonPeer.h, + * include/gnu_java_awt_peer_gtk_GtkCanvasPeer.h, + * include/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.h, + * include/gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.h, + * include/gnu_java_awt_peer_gtk_GtkCheckboxPeer.h, + * include/gnu_java_awt_peer_gtk_GtkChoicePeer.h, + * include/gnu_java_awt_peer_gtk_GtkClipboard.h, + * include/gnu_java_awt_peer_gtk_GtkComponentPeer.h, + * include/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.h, + * include/gnu_java_awt_peer_gtk_GtkFileDialogPeer.h, + * include/gnu_java_awt_peer_gtk_GtkFramePeer.h, + * include/gnu_java_awt_peer_gtk_GtkGenericPeer.h, + * include/gnu_java_awt_peer_gtk_GtkImage.h, + * include/gnu_java_awt_peer_gtk_GtkLabelPeer.h, + * include/gnu_java_awt_peer_gtk_GtkListPeer.h, + * include/gnu_java_awt_peer_gtk_GtkMenuBarPeer.h, + * include/gnu_java_awt_peer_gtk_GtkMenuComponentPeer.h, + * include/gnu_java_awt_peer_gtk_GtkMenuItemPeer.h, + * include/gnu_java_awt_peer_gtk_GtkMenuPeer.h, + * include/gnu_java_awt_peer_gtk_GtkPanelPeer.h, + * include/gnu_java_awt_peer_gtk_GtkPopupMenuPeer.h, + * include/gnu_java_awt_peer_gtk_GtkScrollPanePeer.h, + * include/gnu_java_awt_peer_gtk_GtkScrollbarPeer.h, + * include/gnu_java_awt_peer_gtk_GtkSelection.h, + * include/gnu_java_awt_peer_gtk_GtkTextAreaPeer.h, + * include/gnu_java_awt_peer_gtk_GtkTextFieldPeer.h, + * include/gnu_java_awt_peer_gtk_GtkToolkit.h, + * include/gnu_java_awt_peer_gtk_GtkWindowPeer.h, + * include/gnu_java_awt_peer_qt_MainQtThread.h, + * include/gnu_java_awt_peer_qt_QMatrix.h, + * include/gnu_java_awt_peer_qt_QPainterPath.h, + * include/gnu_java_awt_peer_qt_QPen.h, + * include/gnu_java_awt_peer_qt_QtAudioClip.h, + * include/gnu_java_awt_peer_qt_QtButtonPeer.h, + * include/gnu_java_awt_peer_qt_QtCanvasPeer.h, + * include/gnu_java_awt_peer_qt_QtCheckboxPeer.h, + * include/gnu_java_awt_peer_qt_QtChoicePeer.h, + * include/gnu_java_awt_peer_qt_QtComponentPeer.h, + * include/gnu_java_awt_peer_qt_QtContainerPeer.h, + * include/gnu_java_awt_peer_qt_QtDialogPeer.h, + * include/gnu_java_awt_peer_qt_QtEmbeddedWindowPeer.h, + * include/gnu_java_awt_peer_qt_QtFileDialogPeer.h, + * include/gnu_java_awt_peer_qt_QtFontMetrics.h, + * include/gnu_java_awt_peer_qt_QtFontPeer.h, + * include/gnu_java_awt_peer_qt_QtFramePeer.h, + * include/gnu_java_awt_peer_qt_QtGraphics.h, + * include/gnu_java_awt_peer_qt_QtGraphicsEnvironment.h, + * include/gnu_java_awt_peer_qt_QtImage.h, + * include/gnu_java_awt_peer_qt_QtLabelPeer.h, + * include/gnu_java_awt_peer_qt_QtListPeer.h, + * include/gnu_java_awt_peer_qt_QtMenuBarPeer.h, + * include/gnu_java_awt_peer_qt_QtMenuComponentPeer.h, + * include/gnu_java_awt_peer_qt_QtMenuItemPeer.h, + * include/gnu_java_awt_peer_qt_QtMenuPeer.h, + * include/gnu_java_awt_peer_qt_QtPanelPeer.h, + * include/gnu_java_awt_peer_qt_QtPopupMenuPeer.h, + * include/gnu_java_awt_peer_qt_QtScreenDevice.h, + * include/gnu_java_awt_peer_qt_QtScrollPanePeer.h, + * include/gnu_java_awt_peer_qt_QtScrollbarPeer.h, + * include/gnu_java_awt_peer_qt_QtTextAreaPeer.h, + * include/gnu_java_awt_peer_qt_QtTextFieldPeer.h, + * include/gnu_java_awt_peer_qt_QtToolkit.h, + * include/gnu_java_awt_peer_qt_QtVolatileImage.h, + * include/gnu_java_awt_peer_qt_QtWindowPeer.h, + * include/gnu_javax_sound_midi_alsa_AlsaMidiDeviceProvider.h, + * include/gnu_javax_sound_midi_alsa_AlsaMidiSequencerDevice.h, + * include/gnu_javax_sound_midi_alsa_AlsaPortDevice.h, + * include/gnu_javax_sound_midi_dssi_DSSIMidiDeviceProvider.h, + * include/gnu_javax_sound_midi_dssi_DSSISynthesizer.h, + * include/gnu_xml_libxmlj_dom_GnomeAttr.h, + * include/gnu_xml_libxmlj_dom_GnomeDocument.h, + * include/gnu_xml_libxmlj_dom_GnomeDocumentBuilder.h, + * include/gnu_xml_libxmlj_dom_GnomeDocumentType.h, + * include/gnu_xml_libxmlj_dom_GnomeElement.h, + * include/gnu_xml_libxmlj_dom_GnomeEntity.h, + * include/gnu_xml_libxmlj_dom_GnomeNamedNodeMap.h, + * include/gnu_xml_libxmlj_dom_GnomeNode.h, + * include/gnu_xml_libxmlj_dom_GnomeNodeList.h, + * include/gnu_xml_libxmlj_dom_GnomeNotation.h, + * include/gnu_xml_libxmlj_dom_GnomeProcessingInstruction.h, + * include/gnu_xml_libxmlj_dom_GnomeTypeInfo.h, + * include/gnu_xml_libxmlj_dom_GnomeXPathExpression.h, + * include/gnu_xml_libxmlj_dom_GnomeXPathNSResolver.h, + * include/gnu_xml_libxmlj_dom_GnomeXPathNodeList.h, + * include/gnu_xml_libxmlj_dom_GnomeXPathResult.h, + * include/gnu_xml_libxmlj_sax_GnomeLocator.h, + * include/gnu_xml_libxmlj_sax_GnomeXMLReader.h, + * include/gnu_xml_libxmlj_transform_GnomeTransformer.h, + * include/gnu_xml_libxmlj_transform_GnomeTransformerFactory.h, + * include/java_lang_VMProcess.h, + * include/java_lang_VMSystem.h: + Regenerated with GCJ 4.1. + +2006-04-22 Casey Marshall + + Fixes PR classpath/27228. + * gnu/javax/crypto/jce/sig/DHKeyPairGeneratorSpi.java + (initialize): also accept `DHParameterSpec.' + * gnu/javax/crypto/key/dh/GnuDHKeyPairGenerator.java (setup): + handle a passed-in `DHParameterSpec' properly. + (generate): don't check if the random exponent is less than `q - + 1' if no `q' was specified. + +2006-04-22 Audrius Meskauskas + + * javax/swing/JTree.java (TreeSelectionRedirector.valueChanged): + Only repaint the patches, speficied in the passed event. + (expandPath): Do nothing if the path is already expanded. + (scrollPathToVisible): Only scroll to visible, do nothing else. + * javax/swing/plaf/basic/BasicTreeUI.java + (TreeExpansionHandler.treeColapsed): Revalidate and repaint. + (TreeExpansionHandler.treeExpanded): Revalidate and repaint. + (TreeTraverseAction.actionPerformed): Collapse the node on the + action "selectParent". (selectPath): Rewritten. + * javax/swing/tree/DefaultTreeSelectionModel.java (clearSelection): + Fire change event. (notifyPathChange): Implemented. (setSelectionPath): + Do not reuse selection array. + * javax/swing/tree/FixedHeightLayoutCache.java (getRowForPath): + Accept null. + * javax/swing/tree/VariableHeightLayoutCache.java (getRowForPath): + Accept null. + +2006-04-22 Audrius Meskauskas + + * javax/swing/tree/DefaultTreeSelectionModel.java + (addSelectionPath): If the path cannot be added, set it. + (addSelectionPaths): Call insureRowContinuity. + (arePathsContiguous): Implemented. + (canPathBeAdded): New private method. + (canPathsBeAdded): Implemented. + (canPathsBeRemoved): Implemented. + (getPath): New private method. + (insureRowContinuity): Implemented. + (removeSelectionPath): Call insureRowContinuity. + (removeSelectionPaths): Call insureRowContinuity. + (resetRowSelection): Removed stub marking, not used in implementation + (nothing to do there). + (selectOne): New private method. + (setSelectionMode) Call insureRowContinuity. + (setSelectionPaths) Remove the current selection by clearing it. + +2006-04-22 Carsten Neumann + + * javax/sql/Array.java: Fixed eclipse API doc warnings, named method + parameters consistendly, documented some methods. + * java/sql/Blob.java: Likewise. + * java/sql/CallableStatement.java: Likewise. + * java/sql/Clob.java: Likewise. + * java/sql/Connection.java: Likewise. + * java/sql/DatabaseMetaData.java: Likewise. + * java/sql/Date.java: Likewise. + * java/sql/Driver.java: Likewise. + * java/sql/PreparedStatement.java: Likewise. + * java/sql/ResultSet.java: Likewise. + * java/sql/ResultSetMetaData.java: Likewise. + * java/sql/SQLData.java: Likewise. + * java/sql/SQLOutput.java: Likewise. + * java/sql/SQLWarning.java: Likewise. + * java/sql/Statement.java: Likewise. + * java/sql/Time.java: Likewise. + * java/sql/Timestamp.java: Likewise. + +2006-04-21 Jeroen Frijters + + * java/lang/reflect/AccessibleObject.java: + Implemented AnnotatedElement. + (getAnnotation, getAnnotations, getDeclaredAnnotations, + isAnnotationPresent): New methods. + +2006-04-21 Tom Tromey + + PR classpath/27163: + * gnu/java/net/protocol/ftp/FTPConnection.java + (changeWorkingDirectory): Do nothing if path is empty. + +2006-04-21 Tom Tromey + + PR libgcj/27231: + * gnu/java/net/protocol/http/HTTPURLConnection.java (connect): Handle + case where no '/' appears in 'location'. + +2006-04-21 Tom Tromey + + * java/security/Security.java (): Add all default providers. + * resource/java/security/classpath.security: Added comment. + +2006-04-21 David Gilbert + + * javax/swing/SpinnerDateModel.java: Updated API docs all over, + * javax/swing/SpinnerNumberModel.java: Likewise. + +2006-04-21 David Gilbert + + * javax/swing/SpinnerDateModel.java + (SpinnerDateModel(Date, Comparable, Comparable, int)): Fix argument + checking to call compareTo() on start and end. + +2006-04-21 David Gilbert + + * javax/swing/border/AbstractBorder.java: API doc updates, + * javax/swing/border/BevelBorder.java: Likewise, + * javax/swing/border/CompoundBorder.java: Likewise, + * javax/swing/border/EtchedBorder.java: Likewise, + * javax/swing/border/LineBorder.java: Likewise, + * javax/swing/border/MatteBorder.java: Likewise, + * javax/swing/border/TitledBorder.java: Likewise. + +2006-04-21 David Gilbert + + * gnu/javax/crypto/cipher/Anubis.java: + (selfTest): Use Boolean.valueOf() to avoid creating a new Boolean + instance, + * gnu/javax/crypto/cipher/Blowfish.java: + (selfTest): Likewise, + * gnu/javax/crypto/cipher/Cast5.java: + (selfTest): Likewise, + * gnu/javax/crypto/cipher/Khazad.java: + (selfTest): Likewise, + * gnu/javax/crypto/cipher/Rijndael.java: + (selfTest): Likewise, + * gnu/javax/crypto/cipher/Serpent.java: + (selfTest): Likewise, + * gnu/javax/crypto/cipher/Square.java: + (selfTest): Likewise, + * gnu/javax/crypto/cipher/Twofish.java: + (selfTest): Likewise, + * gnu/javax/crypto/mac/UMac32.java: + (selfTest): Likewise, + * gnu/javax/crypto/prng/CSPRNG.java: + (getSystemInstance): Likewise. + +2006-04-21 David Gilbert + + * gnu/java/security/hash/Haval.java: + (selfTest): Use Boolean.valueOf() to avoid creating new Boolean + instance, + * gnu/java/security/hash/MD2.java: + (selfTest): Likewise, + * gnu/java/security/hash/MD4.java: + (selfTest): Likewise, + * gnu/java/security/hash/MD5.java: + (selfTest): Likewise, + * gnu/java/security/hash/RipeMD128.java: + (selfTest): Likewise, + * gnu/java/security/hash/RipeMD160.java: + (selfTest): Likewise, + * gnu/java/security/hash/Sha160.java: + (selfTest): Likewise, + * gnu/java/security/hash/Sha256.java: + (selfTest): Likewise, + * gnu/java/security/hash/Sha384.java: + (selfTest): Likewise, + * gnu/java/security/hash/Sha512.java: + (selfTest): Likewise, + * gnu/java/security/hash/Tiger.java: + (selfTest): Likewise, + * gnu/java/security/hash/Whirlpool.java: + (selfTest): Likewise. + +2006-04-21 Audrius Meskauskas + + * javax/swing/plaf/basic/BasicTreeUI.java + (PropertyChangeHandler.propertyChange): Set the row mapper + for the selection model. + * javax/swing/tree/AbstractLayoutCache.java + (NodeDimensions.getNodeDimensions): Explained. + (getPreferredHeight, getPreferredWidth, isFixedRowHeight): + Implemented. (setRowHeight): Invalidate sizes. + * javax/swing/tree/DefaultTreeSelectionModel.java + (addSelectionPath, addSelectionPaths): Update lead row. + (removeSelectionPath, removeSelectionPaths): Do nothing if + selection is empty. + (clone): Only clone list selection model if it is not null. + (getRow): New method. (isRowSelected, getLeadSelectionRow, + setSelectionPath, setSelectionPaths, toString): Implemented. + * javax/swing/tree/FixedHeightLayoutCache.java (NodeRecord.getBounds): + Pass the empty rectangle. (isFixedRowHeight): New method. + * javax/swing/tree/VariableHeightLayoutCache.java + (NodeRecord.getBounds): Pass the empty rectangle. + +2006-04-21 David Gilbert + + * gnu/java/security/Properties.java + (init): Use Boolean.valueOf() to avoid creating new Boolean instances. + +2006-04-21 David Gilbert + + * gnu/classpath/jdwp/util/Value.java + (getUntaggedObj(ByteBuffer, Class)): Use Boolean.valueOf() to avoid + creating new Boolean instances. + +2006-04-20 Mark Wielaard + + * java/awt/Toolkit.java (getDefaultToolkit): Get classloader in + PrivilegedAction. Access awt.toolkit through SystemProperties. + +2006-04-20 David Gilbert + + * javax/swing/ActionMap.java: Removed unused imports, + * javax/swing/DefaultListSelectionModel.java + (clearSelection): Removed unused label, + * javax/swing/JScrollPane.java: Removed unused imports, + * javax/swing/UIManager.java: Likewise, + * javax/swing/table/DefaultTableCellRenderer.java: Likewise. + +2006-04-20 David Gilbert + + * javax/swing/plaf/basic/BasicSpinnerUI.java: Removed unused imports, + * javax/swing/plaf/basic/BasicTextAreaUI.java: Likewise, + * javax/swing/plaf/basic/BasicTextFieldUI.java: Likewise, + * javax/swing/plaf/basic/BasicTextUI.java: Likewise, + * javax/swing/plaf/basic/BasicTreeUI.java: Likewise. + +2006-04-20 David Gilbert + + * java/sql/Array.java: Fixed Eclipse API doc warnings, + * java/sql/Blob.java: Likewise, + * java/sql/CallableStatement.java: Likewise, + * java/sql/Clob.java: Likewise, + * java/sql/Connection.java: Likewise, + * java/sql/DatabaseMetaData.java: Likewise, + * java/sql/Date.java: Likewise, + * java/sql/Driver.java: Likewise, + * java/sql/PreparedStatement.java: Likewise, + * java/sql/ResultSet.java: Likewise, + * java/sql/ResultSetMetaData.java: Likewise, + * java/sql/SQLData.java: Likewise, + * java/sql/SQLOutput.java: Likewise, + * java/sql/SQLWarning.java: Likewise, + * java/sql/Statement.java: Likewise, + * java/sql/Time.java: Likewise, + * java/sql/Timestamp.java: Likewise. + +2006-04-20 David Gilbert + + * java/sql/DriverManager.java + (setLoginTimeout): Use incoming argument, + (setLogStream): Likewise, + (println): Fix API doc comment. + +2006-04-20 David Gilbert + + * javax/swing/JMenuItem.java + (paramString): Updated API docs, + (getAccessibleContext): Added API docs, + (AccessibleJMenuItem.stateChanged): Marked as stub, + (AccessibleJMenuItem.getAccessibleRole): Added API docs, + * javax/swing/JSlider.java + (paramString): Fix for API docs, + * javax/swing/JToolTip.java + (getAccessibleContext): Fix for API docs. + +2006-04-20 David Gilbert + + * javax/swing/JRadioButtonMenuItem.java + (paramString): Reimplemented, + (getAccessibleContext): API docs added, + (AccessibleJRadioButtonMenuItem.AccessibleJRadioButtonMenuItem()): + Likewise, + (AccessibleJRadioButtonMenuItem.getAccessibleRole): Likewise. + +2006-04-20 Audrius Meskauskas + + * javax/swing/plaf/basic/BasicTreeUI.java + (finish): Invalidate path bounds. + (getMaxHeight): Set the row height to the layout cache. + (startEditing): Do not request to recalculated + row height and preferred size. + * javax/swing/tree/DefaultTreeCellEditor.java + (ICON_TEXT_GAP, ICON_TREE_GAP): Removed, replacing + with 0. + * javax/swing/tree/FixedHeightLayoutCache.java: + Rewritten. + +2006-04-20 David Gilbert + + * javax/swing/JDesktopPane.java + (paramString): Reimplemented, + plus API doc updates in AccessibleJDesktopPane. + +2006-04-20 David Gilbert + + * javax/swing/ImageIcon.java: + (AccessibleImageIcon.getAccessibleStateSet): Return null always, + (AccessibleImageIcon.getLocale): Declared exception and always return + null, + (getAccessibleContext): Updated API docs, + plus updated API docs all over AccessibleImageIcon. + +2006-04-20 Roman Kennke + + PR 27196 + * javax/swing/plaf/basic/BasicTabbedPaneUI.java + (paintText): Fetch the ascent only once. Add the ascent to + the text rect also when tabs are disabled. + +2006-04-20 Christian Thalinger + + * java/util/Locale.java (defaultLocale): Set to en_US per + default and use user.country but prioritize user.region if + defined. + (getLocale(String language, String country)): Renamed region to + country. + (getLocale(String language, String region, String variant)): + Likewise. + (getAvailableLocales): Likewise. + +2006-04-20 Roman Kennke + + PR 27222 + * javax/swing/JList.java + (JList()): Call init() with DefaultListModel instance. + (JList(Object[])): Call init() with null. + (JList(Vector)): Call init() with null. + (JList(ListModel)): Call init() with model. + (init): Changed to take the model as argument. Don't call + setter methods and initialize stuff directly instead. + (getCellBounds): Check if UI is null. + +2006-04-20 Robert Schuster + + * javax/swing/text/WrappedPlainView.java: Initialize + WrappedLine.numLines with -1. + (WrappedPlainView.WrappedLine.getPreferredSpan): Check whether + numLines is -1 and reculcalate the value appropriately. + (WrappedPlainView.WrappedLine.updateDamage): Set numLines to -1 if + allocation area is empty. + +2006-04-20 David Gilbert + + * javax/swing/JTabbedPane.java + (AccessibleJTabbedPane.stateChanged): Marked as stub, + (AccessibleJTabbedPane.getAccessibleRole): Likewise, + (AccessibleJTabbedPane.getAccessibleChildrenCount): Likewise, + (AccessibleJTabbedPane.getAccessibleSelection): Likewise, + (AccessibleJTabbedPane.getAccessibleAt): Likewise, + (AccessibleJTabbedPane.getAccessibleSelectionCount): Likewise, + (AccessibleJTabbedPane.getAccessibleSelection(int)): Likewise, + (AccessibleJTabbedPane.isAccessibleChildSelected): Likewise, + (AccessibleJTabbedPane.addAccessibleSelection): Likewise, + (AccessibleJTabbedPane.removeAccessibleSelection): Likewise, + (AccessibleJTabbedPane.clearAccessibleSelection): Likewise, + (AccessibleJTabbedPane.selectAllAccessibleSelection): Likewise, + (Page.getAccessibleStateSet): Likewise, + (Page.getAccessibleIndexInParent): Likewise. + +2006-04-19 David Gilbert + + * javax/swing/JProgressBar.java + (paramString): Reimplemented. + +2006-04-19 David Gilbert + + * javax/swing/JButton.java: Updated API docs all over. + +2006-04-19 Roman Kennke + + * java/awt/Toolkit.java + (getDefaultToolkit): Use system classloader to load the + toolkit. + +2006-04-19 Robert Schuster + + * javax/swing/text/DefaultCaret.java: + (DefaultCaret.Bypass.setDot): Call DefaultCaret.setDotImpl + instead of DefaultCaret.setDot. + +2006-04-19 Roman Kennke + + * native/jni/java-net/local.c + (local_read): Handle EINTR correctly. + (local_write): Likewise. + +2006-04-19 Riccardo Mottola + + PR classpath/27062, PR classpath/25650: + * native/fdlibm/ieeefp.h: Check for _POWER and _IBMR2. + +2006-04-19 Tom Tromey + + * java/text/SimpleDateFormat.java (formatWithAttribute): Take absolute + value of 'pureMinutes'. PR classpath/27189. + +2006-04-19 Olivier Jolly + + * vm/reference/java/lang/VMClassLoader.java (getBootPackages): Loads + boot packages list from the META-INF/INDEX.LIST file if it exists. + +2006-04-19 Raif S. Naffah + + Suggested by Stephen White + * gnu/javax/crypto/prng/IPBE.java: Updated documentation. + (ITERATION_COUNT): Removed modifiers. + (PASSWORD): Likewise. + (SALT): Likewise. + (PASSWORD_ENCODING): New property. + (DEFAULT_PASSWORD_ENCODING): New constant. + * gnu/javax/crypto/prng/PBKDF2.java (setup): Check for MAC's raw key + material (bytes) before a password (chars). + +2006-04-19 David Gilbert + + * javax/swing/JMenu.java + (getAccessibleChildrenCount): Marked as stub, + (getAccessibleChild): Likewise, + (getAccessibleSelection): Likewise, + (getAccessibleSelection(int)): Likewise, + (isAccessibleChildSelected): Likewise, + (getAccessibleSelectionCount): Likewise, + (addAccessibleSelection): Likewise, + (removeAccessibleSelection): Likewise, + (clearAccessibleSelection): Likewise, + (selectAllAccessibleSelection): Likewise. + +2006-04-19 David Gilbert + + * javax/swing/JSplitPane.java + (getAccessibleContext): Added API docs, + (paramString): Reimplemented, + (setOrientation): Updated API docs, + (setResizeWeight): Added argument checking and event notification. + +2006-04-18 Casey Marshall + + Fixes PR classpath/25673 + * java/security/KeyStore.java (getDefaultType): return "gkr" if no + property is set. Update JavaDoc to reflect this. + +2006-04-18 Lillian Angel + + * gnu/xml/dom/DomDocument.java + (setCheckingCharacters): New function used to set + checkingCharacters flag. + * gnu/xml/dom/html2/DomHTMLParser.java + (parseDocument): Added call to set checkingCharacters flag + to false. + +2006-04-18 Lillian Angel + + * gnu/xml/dom/DomDocument.java + (checkNCName): Reverted last patch. Added check for colon at + last position back in. + +2006-04-18 Robert Schuster + + * examples/gnu/classpath/examples/swing/NavigationFilterDemo.java: + New file. + * examples/gnu/classpath/examples/swing/Demo.java: + (mkMenuBar): Added NavigationFilter demo. + +2006-04-18 David Gilbert + + * javax/swing/JSeparator.java: Updated API docs all over, plus + (setOrientation): Fire PropertyChangeEvent, + (paramString): Reimplemented. + +2006-04-18 Robert Schuster + + * javax/swing/plaf/basic/BasicTextUI.java: + (getNextVisualPositionFrom): Implemented. + +2006-04-18 David Gilbert + + * javax/swing/JPanel.java: Updated API docs all over, plus + (JPanel(LayoutManager, boolean)): Pass on null layout, set + double-buffer flag. + +2006-04-18 Robert Schuster + + * examples/gnu/classpath/examples/swing/DocumentFilterDemo.java: + New file. + * examples/gnu/classpath/examples/swing/Demo.java: + (mkMenuBar): Added DocumenFilter demo. + +2006-04-18 Tom Tromey + + * doc/www.gnu.org/include/layout.wml: Add FMJ. + +2006-04-18 Mark Wielaard + + Reported by John Sullivan (johns@fsf.org) + * doc/www.gnu.org/stories.wml: Update JikesRVM location. + +2006-04-18 David Gilbert + + * javax/swing/JInternalFrame.java + (JDesktopIcon.getAccessibleContext): Added API docs, + (getDefaultCloseOperation): Likewise, + (paramString): Added 'title' attribute, + (setDefaultCloseOperation): Added API docs. + +2006-04-18 David Gilbert + + * javax/swing/JSlider.java + (paramString): Reimplemented. + +2006-04-18 David Gilbert + + * javax/swing/JComboBox.java + (paramString): Reimplemented, + (getAccessibleContext): Added API docs, + (AccessibleJComboBox.getAccessibleRole): Likewise. + +2006-04-18 Roman Kennke + + * javax/swing/RepaintManager.java + (dirtyComponentsWork): New field. + (ComponentComparator): Use dirtyComponentsWork instead of + dirtyComponents. + (RepaintManager): Initialize new field. + (paintDirtyRegions): Swap dirtyComponents with dirtyComponentsWork + and work on the copy. + +2006-04-18 Roman Kennke + + * gnu/java/awt/peer/swing/SwingComponentPeer.java + (setBounds): Call reshape(). + * gnu/java/awt/peer/swing/SwingContainerPeer.java + (SwingContainerPeer): Changed argument to be a Component + instead a Container. + (getInsets): Call insets(). + (handleMouseEvent): Added null check to avoid NPE. + (handleMouseMotionEvent): Added null check to avoid NPE. + +2006-04-18 Roman Kennke + + PR 27185 + * javax/swing/JComponent.java + (paintChildrenWithOverlap): When one child is not opaque, propagate + the dirty rectangles to the next child. + (paintChildrenOptimized): Removed unnecessary 'optimization'. + This actually didn't work right and probably gained nothing. + +2006-04-18 Audrius Meskauskas + + * javax/swing/JTable.java (getCallRect): Do not cache rectangles. + (moveToCellBeingEdited): Do not clone the rectangle here. + +2006-04-18 David Gilbert + + * javax/swing/plaf/basic/BasicSliderUI.java + (getActionMap): Fixed lookup key, + (createActionMap): Modified actions to fetch slider/ui from the event + source. + +2006-04-17 Andrew John Hughes + + * java/lang/Enum.java: Documented. + +2006-04-17 Andrew John Hughes + + * gnu/java/lang/InstrumentationImpl.java: + Moved from java.lang. + * java/lang/InstrumentationImpl.java: + Removed. + * vm/reference/gnu/java/lang/VMInstrumentationImpl.java: + Moved from java.lang. + * vm/reference/java/lang/VMClassLoader.java: + Corrected reference to InstrumentationImpl. + * vm/reference/java/lang/VMInstrumentationImpl.java: + Removed. + +2006-04-17 Andrew John Hughes + + * java/lang/annotation/Annotation.java: + Documented. + +2006-04-17 David Gilbert + + * javax/swing/JToolBar.java + (AccessibleJToolBar.AccessibleJToolBar()): Updated API docs, + (AccessibleJToolBar.getAccessibleStateSet): Implemented, + (AccessibleJToolBar.getAccessibleRole): Updated API docs, + (getAccessibleContext): Likewise. + +2006-04-17 Dalibor Topic + + * configure.ac: + Added CLASSPATH_CONVENIENCE substitution for convenience library LDFLAGS. + + * native/fdlibm/Makefile.am, + native/jni/classpath/Makefile.am: + Don't use -module and -version-info for convenience libraries LDFLAGS. + Fixes libtool warnings. + +2006-04-17 David Gilbert + + * javax/swing/plaf/basic/BasicComboBoxUI.java: + (installKeyboardActions): Marked as stub, + (uninstallKeyboardActions): Likewise, + * javax/swing/plaf/basic/BasicComboPopup.java: + (installKeyboardActions): Marked as stub, + (uninstallKeyboardActions): Likewise, + * javax/swing/plaf/basic/BasicInternalFrameUI.java: + (installKeyboardActions): Marked as stub, + (uninstallKeyboardActions): Likewise, + * javax/swing/plaf/basic/BasicLabelUI.java: + (installKeyboardActions): Marked as stub, + (uninstallKeyboardActions): Likewise, + * javax/swing/plaf/basic/BasicListUI.java: + (installKeyboardActions): Marked as stub, + (uninstallKeyboardActions): Likewise, + * javax/swing/plaf/basic/BasicMenuBarUI.java: + (installKeyboardActions): Marked as stub, + (uninstallKeyboardActions): Likewise, + * javax/swing/plaf/basic/BasicMenuUI.java: + (installKeyboardActions): Marked as stub, + (uninstallKeyboardActions): Likewise, + * javax/swing/plaf/basic/BasicOptionPaneUI.java: + (installKeyboardActions): Marked as stub, + (uninstallKeyboardActions): Likewise, + * javax/swing/plaf/basic/BasicPopupMenuUI.java: + (installKeyboardActions): Marked as stub, + (uninstallKeyboardActions): Likewise, + * javax/swing/plaf/basic/BasicScrollBarUI.java: + (installKeyboardActions): Marked as stub, + (uninstallKeyboardActions): Likewise, + * javax/swing/plaf/basic/BasicScrollPaneUI.java: + (installKeyboardActions): Marked as stub, + (uninstallKeyboardActions): Likewise, + * javax/swing/plaf/basic/BasicSplitPaneUI.java: + (installKeyboardActions): Marked as stub, + (uninstallKeyboardActions): Likewise, + * javax/swing/plaf/basic/BasicTabbedPaneUI.java: + (installKeyboardActions): Marked as stub, + (uninstallKeyboardActions): Likewise, + * javax/swing/plaf/basic/BasicTableHeaderUI.java: + (installKeyboardActions): Marked as stub, + (uninstallKeyboardActions): Likewise, + * javax/swing/plaf/basic/BasicTableUI.java: + (installKeyboardActions): Marked as stub, + (uninstallKeyboardActions): Likewise, + * javax/swing/plaf/basic/BasicTextUI.java: + (installKeyboardActions): Marked as stub, + (uninstallKeyboardActions): Likewise, + * javax/swing/plaf/basic/BasicToolBarUI.java: + (installKeyboardActions): Marked as stub, + (uninstallKeyboardActions): Likewise. + +2006-04-17 David Gilbert + + * javax/swing/plaf/basic/BasicSliderUI.java + (installKeyboardActions): Implemented, + (uninstallKeyboardActions): Implemented, + (scrollByBlock): Accept any value for direction, + (scrollByUnit): Likewise, + (getInputMap): New method, + (getActionMap): New method, + (createActionMap): New method. + + +2006-04-16 Andrew John Hughes + + * doc/vmintegration.texinfo: + Fix sectioning. + +2006-04-16 Tom Tromey + + * native/jni/java-net/Makefile.am (AM_CFLAGS): Removed --save-temps. + +2006-04-16 Andrew John Hughes + + * NEWS: + Mention generics additions to the VM interface. + * doc/vmintegration.texinfo: + Added information on VMClass 1.5 additions and + VMSecureRandom. + +2006-04-16 Casey Marshall + + * NEWS: add an entry mentioning local socket support. + +2006-04-16 Casey Marshall + + * configure.ac (--enable-local-sockets): new enable argument. + (ENABLE_LOCAL_SOCKETS): new define. + * native/jni/java-net/Makefile.am (local_sources): new variable. + (lib_javanet_la_SOURCES): append `local_sources.' + * native/jni/java-net/gnu_java_net_local_LocalSocketImpl.c, + * native/jni/java-net/local.c, + * native/jni/java-net/local.h, + * include/gnu_java_net_local_LocalSocketImpl.h, + * gnu/java/net/local/LocalServerSocket.java, + * gnu/java/net/local/LocalSocket.java, + * gnu/java/net/local/LocalSocketAddress.java, + * gnu/java/net/local/LocalSocketImpl.java: new files. + +2006-04-15 Andrew John Hughes + + * javax/accessibility/AccessibleAction.java: + (DECREMENT): Added field. + (INCREMENT): Likewise. + (TOGGLE_EXPAND): Likewise. + * javax/accessibility/AccessibleRole.java: + (EDITBAR): Added field. + (FOOTER): Likewise. + (HEADER): Likewise. + (PARAGRAPH): Likewise. + (PROGRESS_MONITOR): Likewise. + (RULER): Likewise. + * javax/accessibility/AccessibleState.java: + (INDETERMINATE): Added field. + (MANAGES_DESCENDANTS): Likewise. + (TRUNCATED): Likewise. + +2006-04-14 Tom Tromey + + * javax/swing/tree/DefaultTreeSelectionModel.java (getListeners): + Genericized. + * javax/swing/tree/AbstractLayoutCache.java (getVisiblePathsFrom): + Genericized. + +2006-04-14 Robert Schuster + + * javax/swing/text/DefaultCaret.java: + (getBypass): New method. + (moveDot): Rewritten. + (moveDotImpl): New method. + (setDot): Rewritten. + (setDotImpl): New method. + (DefaultCaret.Bypass): New class. + +2006-04-14 Robert Schuster + + * javax/swing/text/AbstractDocument.java: + (getBypass): New method. + (insertString): Rewritten. + (remove): Rewritten. + (replace): Rewritten. + (insertStringImpl): New method. + (removeImpl): New method. + (replaceImpl): New method. + (AbstractDocument.Bypass): New class. + +2006-04-14 Casey Marshall + + Fixes PR classpath/24642 + * NEWS: add note about SecureRandom changes, and addition of + VMSecureRandom. + * java/security/SecureRandom.java (isSeeded): new field. + (setSeed, setSeed): set `isSeeded' to `true.' + (nextBytes): seed this instance if `isSeeded' is false. + (getSeed): call `generateSeed.' + (SECURERANDOM_SOURCE, JAVA_SECURITY_EGD, logger): new constants. + (generateSeed, generateSeed): new methods. + * vm/reference/java/security/VMSecureRandom.java: new file. + +2006-04-14 Robert Schuster + + * javax/swing/text/FieldView.java: + (paint): Apply clipping rectangle of the allocation area + before painting the text. + * javax/swing/text/DefaultHighlighter.java: + (DefaultHighlighter.DefaultHighlightPainter): Use SwingUtilities to + compute union and intersection, calculate intersection with allocation + area before painting, adjust x and width when painting multiple lines + by the range of the allocation area. + +2006-04-14 Robert Schuster + + * javax/swing/text/DefaultHighlighter.java: + (paintLayeredHighlights): Marked as stub. + +2006-04-14 Robert Schuster + + * javax/swing/plaf/basic/BasicTextFieldUI.java: + (propertyChanged): Added note, change color only if current background + is a ColorUIResource instance. + +2006-04-14 Tom Tromey + + * java/beans/beancontext/BeanContextSupport.java (hasNext): No longer + a stub. + (next): Likewise. + +2006-04-14 Tom Tromey + + * javax/swing/JComboBox.java (AccessibleJComboBox): Now public. + +2006-04-14 Mark Wielaard + + * java/lang/Thread.java (getUncaughtExceptionHandler): Return + thread group when exceptionHandler isn't set. + * vm/reference/java/lang/VMThread.java (run): Use result of + thread.getUncaughtExceptionHandler directly. + +2006-04-14 David Gilbert + + * javax/swing/JSplitPane.java + (AccessibleJSplitPane.getAccessibleStateSet): Implemented, + (AccessibleJSplitPane.getAccessibleRole): Implemented, + (AccessibleJSplitPane.getAccessibleValue): Implemented, + (AccessibleJSplitPane.getCurrentAccessibleValue): Implemented, + (AccessibleJSplitPane.setCurrentAccessibleValue): Implemented, + (AccessibleJSplitPane.getMinimumAccessibleValue): Implemented, + (AccessibleJSplitPane.getMaximumAccessibleValue): Implemented. + +2006-04-10 Tom Tromey + + * javax/imageio/metadata/IIOMetadataFormatImpl.java (addObjectValue): + Fixed parameter bounds. + +2006-04-13 Andrew John Hughes + + * gnu/javax/crypto/assembly/Assembly.java, + * gnu/javax/crypto/assembly/Cascade.java, + * gnu/javax/crypto/assembly/CascadeStage.java, + * gnu/javax/crypto/assembly/CascadeTransformer.java, + * gnu/javax/crypto/assembly/Direction.java, + * gnu/javax/crypto/assembly/LoopbackTransformer.java, + * gnu/javax/crypto/assembly/ModeStage.java, + * gnu/javax/crypto/assembly/Operation.java, + * gnu/javax/crypto/assembly/PaddingTransformer.java, + * gnu/javax/crypto/assembly/Stage.java, + * gnu/javax/crypto/assembly/Transformer.java, + * gnu/javax/crypto/cipher/Square.java, + * gnu/javax/crypto/jce/cipher/AESSpi.java, + * gnu/javax/crypto/jce/cipher/ARCFourSpi.java, + * gnu/javax/crypto/jce/cipher/AnubisSpi.java, + * gnu/javax/crypto/jce/cipher/BlowfishSpi.java, + * gnu/javax/crypto/jce/cipher/CipherAdapter.java, + * gnu/javax/crypto/jce/cipher/DESSpi.java, + * gnu/javax/crypto/jce/cipher/KhazadSpi.java, + * gnu/javax/crypto/jce/cipher/NullCipherSpi.java, + * gnu/javax/crypto/jce/cipher/PBES2.java, + * gnu/javax/crypto/jce/cipher/RijndaelSpi.java, + * gnu/javax/crypto/jce/cipher/SerpentSpi.java, + * gnu/javax/crypto/jce/cipher/SquareSpi.java, + * gnu/javax/crypto/jce/cipher/TripleDESSpi.java, + * gnu/javax/crypto/jce/cipher/TwofishSpi.java, + * gnu/javax/crypto/jce/mac/HMacMD2Spi.java, + * gnu/javax/crypto/jce/mac/HMacMD4Spi.java, + * gnu/javax/crypto/jce/mac/HMacMD5Spi.java, + * gnu/javax/crypto/jce/mac/HMacRipeMD128Spi.java, + * gnu/javax/crypto/jce/mac/HMacRipeMD160Spi.java, + * gnu/javax/crypto/jce/mac/HMacSHA160Spi.java, + * gnu/javax/crypto/jce/mac/HMacSHA256Spi.java, + * gnu/javax/crypto/jce/mac/HMacSHA384Spi.java, + * gnu/javax/crypto/jce/mac/HMacSHA512Spi.java, + * gnu/javax/crypto/jce/mac/HMacTigerSpi.java, + * gnu/javax/crypto/jce/mac/HMacWhirlpoolSpi.java, + * gnu/javax/crypto/jce/mac/MacAdapter.java, + * gnu/javax/crypto/jce/mac/TMMH16Spi.java, + * gnu/javax/crypto/jce/mac/UHash32Spi.java, + * gnu/javax/crypto/jce/mac/UMac32Spi.java, + * gnu/javax/crypto/key/dh/DiffieHellmanSender.java, + * gnu/javax/crypto/key/srp6/SRP6TLSServer.java, + * gnu/javax/crypto/keyring/PrivateKeyEntry.java, + * gnu/javax/crypto/mode/IAuthenticatedMode.java, + * gnu/javax/crypto/pad/WrongPaddingException.java, + * gnu/javax/crypto/prng/ICMGenerator.java, + * gnu/javax/crypto/prng/IPBE.java, + * gnu/javax/crypto/prng/PBKDF2.java, + * gnu/javax/crypto/sasl/ConfidentialityException.java, + * gnu/javax/crypto/sasl/IllegalMechanismStateException.java, + * gnu/javax/crypto/sasl/srp/IALG.java, + * gnu/javax/crypto/sasl/srp/SRPServer.java: + Remove CVS revision tags. + +2006-04-13 Audrius Meskauskas + + * javax/swing/plaf/basic/BasicTreeUI.java (getPreferredSize): + Removed debugging code. + +2006-04-13 Audrius Meskauskas + + * javax/swing/JTree.java (getPreferredSize): Return the + cloned instance. + * javax/swing/ViewportLayout.java (layoutContainer): + Do not manage the view size and location if the view is + in the scroll pane. Also manage size and location for + Scrollable, if it is not in the scroll pane. + * javax/swing/plaf/basic/BasicTreeUI.java, + * javax/swing/tree/FixedHeightLayoutCache.java, + * javax/swing/tree/VariableHeightLayoutCache.java: Rewritten. + * gnu/javax/swing/tree/GnuPath.java: New file. + +2006-04-13 David Gilbert + + * javax/swing/JToolBar.java + (AccessibleJToolBar.getAccessibleStateSet): Marked as stub. + +2006-04-13 Robert Schuster + + * examples/gnu/classpath/examples/swing/TextAreaDemo.java: + (createCustomColoredPanel): Set background color as demo intends, + changed custom selection color to red. + * examples/gnu/classpath/examples/swing/TextFieldDemo.java: + Replaced various single variables with a Compound instance, added + custom highlighter demo. + (TextFieldDemo.DemoHighlightPainter): New class (taken from + TextAreaDemo). + (TextFieldDemo.Compound): New class. + (createTextFieldCompound): New method. + (createLeftAlignedPanel): Rewritten. + (createRightAlignedPanel): Rewritten. + (createCenteredPanel): Rewritten. + (createCustomColoredPanel): Removed. + (createCustomColoredPanel1): New method. + (createCustomColoredPanel2): New method. + (createCustomBordersPanel): New method. + (createMiscPanel): Rewritten. + (actionPerformed): Rewritten. + (createContent): Add panels of new compounds to main panel, put + main panel in a JScrollPane. + * examples/gnu/classpath/examples/swing/Demo.java: + (Demo): Put desktop in a scrollpane. + (mkMenuBar): Check availability of MetalLookAndFeel.getCurrentTheme() + method via reflection. + +2006-04-13 David Gilbert + + * javax/swing/plaf/metal/MetalDesktopIconUI.java + (createUI): Return new instance rather than shared instance. + +2006-04-13 Robert Schuster + + * javax/swing/text/FieldView.java: + (checkContainer): Call updateVisibility() at the end. + +2006-04-13 Robert Schuster + + * java/awt/event/MouseEvent.java: + (paramString): Add value of 'consumed' variable in string. + +2006-04-13 Robert Schuster + + PR 26967 + * javax/swing/JTextField.java: Removed scrollOffset variable. + (JTextField): Moved up initialization of horizontalVisibility field. + (getScrollOffset): Implemented. + (setScrollOffset): Implemented. + (getHorizonztalVisibility): Removed note. + (scrollRectToVisible): New method. + * javax/swing/text/FieldView.java: Added cachedSpan variable. + (checkContainer): New method. + (updateVisibility): New method. + (calculateHorizontalSpan): New method. + (adjustAllocation): Removed unneeded local variables, added code + to handle scrolling. + (getPreferredSpan): Use new method calculateHorizontalSpan, + avoid calculation by returning cached value cachedSpan. + (paint): Added check whether the hosted component is a JTextField. + (insertUpdate): Invalidate cached span value, update visibility + if neccessary. + (removeUpdate): Dito. + (changeUpdate): Dito. + +2006-04-13 David Gilbert + + * javax/swing/JInternalFrame.java + (setTitle): Set old value to 'this.title', not 'title'. + +2006-04-13 David Gilbert + + * javax/swing/JInternalFrame.java + (AccessibleJInternalFrame.getAccessibleName): Implemented, + (AccessibleJInternalFrame.getAccessibleRole): Implemented, + (AccessibleJInternalFrame.getAccessibleValue): Implemented, + (AccessibleJInternalFrame.getCurrentAccessibleValue): Implemented, + (AccessibleJInternalFrame.getMaximumAccessibleValue): Implemented, + (AccessibleJInternalFrame.getMinimumAccessibleValue): Implemented, + (AccessibleJInternalFrame.setCurrentAccessibleValue): Implemented, + (JDesktopIcon.AccessibleJDesktopIcon.getAccessibleRole): Implemented, + (JDesktopIcon.AccessibleJDesktopIcon.getAccessibleValue): Implemented, + (JDesktopIcon.AccessibleJDesktopIcon.getCurrentAccessibleValue): + Implemented, + (JDesktopIcon.AccessibleJDesktopIcon.getMaximumAccessibleValue): + Implemented, + (JDesktopIcon.AccessibleJDesktopIcon.getMinimumAccessibleValue): + Implemented, + (JDesktopIcon.AccessibleJDesktopIcon.setCurrentAccessibleValue): + Implemented, + (JInternalFrame()): Use "" for default title, + (getAccessibleContext): Updated API docs, + (getDesktopIcon): Likewise, + (getLayer): Check for layer in client properties, and return + DEFAULT_LAYER if no setting is found, + (getTitle): Updated API docs, + (setDesktopIcon): Fire property change event. + +2006-04-13 Audrius Meskauskas + + * javax/swing/ScrollPaneLayout.java (layoutContainer): + Mind that the presence of one scroll bar may cause the + need for another. + +2006-04-12 Ito Kazumitsu + + * gnu/regexp/REToken.java(unicodeAware): New field, + (toLowerCase, toUpperCase): New methods. + * gnu/regexp/RETokenBackRef.java, gnu/regexp/RETokenChar.java, + gnu/regexp/RETokenNamedProperty.java, gnu/regexp/RETokenRange.java: + Use toLowerCase and toUpperCase defined in REToken instead of + those defined in java.lang.Character. + * gnu/regexp/gnu/regexp/RE.java(REG_ICASE_USASCII): New flag. + (initialize): Sets unicodeAware of the generated REToken to false if + REG_ICASE_USASCII is set. + * gnu/regexp/RETokenChar.java(constructor): Don't convert the character + to lower case and keep the original value. + (matchOneString): Use the new method charEquals to compare characters. + (charEquals): New method to compare characters. + * java/util/regex/Pattern.java: Sets the flag REG_ICASE_USASCII to true. + +2006-04-12 David Gilbert + + * javax/swing/event/InternalFrameEvent.java: + (paramString): Implemented, + updated API docs all over. + +2006-04-12 Casey Marshall + + * gnu/javax/crypto/prng/Fortuna.java (setup): call `fillBlock.' + (Generator.setup): call `fillBlock.' + +2006-04-12 Casey Marshall + + Fixes PR classpath/24481. + * gnu/java/security/jce/prng/SecureRandomAdapter.java (): + initialize the adaptee. + (setSeed): call `addRandomBytes;' don't re-initialize the adaptee. + * gnu/java/security/prng/MDGenerator.java (addRandomByte, + addRandomBytes): new methods. + +2006-04-12 Tom Tromey + + * java/io/DataOutputStream.java (writeUTF): Correctly handle zero + length strings. + +2006-04-12 Lillian Angel + + * gnu/xml/dom/DomDocument.java + (checkNCName): Removed unneeded part of check. + * gnu/xml/dom/DomNode.java + (dispatchEvent): Added code to grow ancestors array + if needed. Changed checks to use depth of node instead. + Fixes an infinite loop and segmentation fault. + * gnu/xml/dom/html2/DomHTMLParser.java + (handleEndTag): No need to use/make a copy of the node. + Causes an infinite loop. + +2006-04-12 Tom Tromey + + PR classpath/27131: + * java/util/BitSet.java (get): Early return if to==from. + +2006-04-12 Mark Wielaard + + * java/security/SecureRandom.java (algorithm): New private field. + (SecureRandom): Initialize algorithm. + (SecureRandom(SecureRandomSpi,Provider,String)): New private + constructor. + (getInstance): Call 3 argument constructor. + (getAlgorithm): New method. + +2006-04-12 Mark Wielaard + + Port UncaughtExceptionHandler support from generics branch. + * NEWS: Document Thread.UncaughtExceptionHandler VMThread change. + +2006-04-12 Andrew John Hughes + + * java/lang/Thread.java: + (setUncaughtExceptionHandler(UncaughtExceptionHandler): + Added docs and security check. + (getUncaughtExceptionHandler()): Documented. + (setDefaultUncaughtExceptionHandler(UncaughtExceptionHandler): + Added docs and security check. + (getDefaultUncaughtExceptionHandler()): Documented. + (getId()): Documented. + +2006-04-12 Tom Tromey + + * vm/reference/java/lang/VMThread.java (run): Use thread's + uncaught handler. + * java/lang/Thread.java (defaultHandler): New field. + (setDefaultUncaughtExceptionHandler, + getDefaultUncaughtExceptionHandler, setUncaughtExceptionHandler, + getUncaughtExceptionHandler): New methods. + * java/lang/ThreadGroup.java (ThreadGroup): Implements + UncaughtExceptionHandler. + (uncaughtException): Use getDefaultUncaughtExceptionHandler. + +2006-04-11 Bryce McKinlay + + * java/io/DataOutputStream.java (writeUTF): Re-use fixed length byte + buffer. Loop only once to determine Utf8 length when possible. Make + the inner loop bounded by buf.length. + (getUTFlength): New private method. + (buf): New private field. + +2006-04-11 Lillian Angel + + * gnu/xml/dom/DomNodeIterator.java + (nextNode): Moved line of code to avoid an infinite loop. + * gnu/xml/dom/html2/DomHTMLAppletElement.java + (getCls): New function. + (setCls): Likewise. + (getSrc): Likewise. + (setSrc): Likewise. + * gnu/xml/dom/html2/DomHTMLDocument.java: + Added DomHTMLEmbedElement to map. + (getApplets): Added node name, 'embed'. + * gnu/xml/dom/html2/DomHTMLEmbedElement.java: + New class. + * gnu/xml/dom/html2/DomHTMLObjectElement.java + (getJavaCode): New function. + (setJavaCode): Likewise. + (getObject): Likewise. + (setObject): Likewise. + (getJavaObject): Likewise. + (setJavaObject): Likewise. + (getJavaArchive): Likewise. + (setJavaArchive): Likewise. + (getJavaCodeBase): Likewise. + (setJavaCodeBase): Likewise. + (getJavaType): Likewise. + (setJavaType): Likewise. + (setMayscript): Likewise. + (getMayscript): Likewise. + (setScriptable): Likewise. + (getScriptable): Likewise. + * gnu/xml/dom/html2/DomHTMLParser.java + (parseDocument): Should not check for well formedness + when parsing an html document. + * java/awt/Window.java + (dispatchEvent): Added check to avoid NPE. + +2006-04-10 Tom Tromey + + * javax/accessibility/AccessibleStreamable.java (getStream): Fixed + name. + * javax/accessibility/AccessibleRelation.java (EMBEDS): Fixed value. + (SUBWINDOW_OF, SUBWINDOW_OF_PROPERTY): Likewise. + +2006-04-10 Robert Schuster + + * javax/swing/plaf/basic/BasicTextUI.java: + (getNextVisualPositionFrom): Marked as stub. + +2006-04-10 Roman Kennke + + * javax/swing/plaf/basic/BasicLookAndFeel.java + (initSystemColorDefaults): Changed to use loadSystemColorDefaults + and create the defaults as strings constants. + (loadSystemColors): Implemented stubbed method. + +2006-04-10 Tom Tromey + + * .settings/org.eclipse.core.resources.prefs: Set encoding for + ChangeLog. + +2006-04-10 Tom Tromey + + * java/io/CharArrayWriter.java (append): Javadoc fix. + (append): Likewise. + +2006-04-10 Tom Tromey + + * javax/accessibility/AccessibleTextSequence.java: New file. + * javax/accessibility/AccessibleRelation.java (CHILD_NODE_OF): New + field. + (CHILD_NODE_OF_PROPERTY, EMBEDDED_BY, EMBEDDED_BY_PROPERTY, EMBEDS, + EMBEDS_PROPERTY, FLOWS_FROM, FLOWS_FROM_PROPERTY, FLOWS_TO, + FLOWS_TO_PROPERTY, PARENT_WINDOW_OF, PARENT_WINDOW_OF_PROPERTY, + SUBWINDOW_OF, SUBWINDOW_OF_PROPERTY): Likewise. + * javax/accessibility/AccessibleExtendedText.java: New file. + * javax/accessibility/AccessibleContext.java + (ACCESSIBLE_COMPONENT_BOUNDS_CHANGED): New field. + (ACCESSIBLE_INVALIDATE_CHILDREN): Likewise. + (ACCESSIBLE_TEXT_ATTRIBUTES_CHANGED): Likewise. + * javax/accessibility/AccessibleAttributeSequence.java: New file. + * javax/accessibility/AccessibleStreamable.java: New file. + * javax/accessibility/AccessibleText.java (getIndexAtPoint): Javadoc + fix. + +2006-04-10 Audrius Meskauskas + + * javax/swing/tree/AbstractLayoutCache.java + (getNodeDimensions, getRowsForPath): Implemented. + * javax/swing/tree/FixedHeightLayoutCache.java: Rewritten. + * javax/swing/tree/VariableHeightLayoutCache.java: Rewritten. + +2006-04-10 Roman Kennke + + * javax/swing/tree/AbstractLayoutCache.java: Reformatted. + +2006-04-10 Roman Kennke + + * javax/swing/JInternalFrame.java + (AccessibleJInternalFrame): Marked all stubbed methods as such + by adding throws NotImplementedException. + +2006-04-10 Roman Kennke + + * javax/swing/JFileChooser.java + (getAccessibleContext): Don't create a new instance on each + call, instead store the accessible context in the + accessibleContext field. + +2006-04-10 Roman Kennke + + * javax/swing/JComboBox.java + (AccessibleJComboBox): Marked all stubbed methods as such + by adding throws NotImplementedException. + +2006-04-10 Roman Kennke + + * javax/swing/ActionMap.java + (readObject): Removed. + (writeObject): Removed. + +2006-04-10 Audrius Meskauskas + + * javax/swing/tree/DefaultTreeSelectionModel.java + (addSelectionPaths, setSelectionPaths): Call + insureUniqueness. (clone, setRowMapper): Implemented. + * TreePath (path): Marked final. + +2006-04-10 Audrius Meskauskas + + * javax/swing/tree/DefaultTreeSelectionModel.java: + Documented and autoformatted. (insureUniqueness): + Removed stub marking. + +2006-04-09 David Gilbert + + * javax/swing/SizeSequence.java + (sizes): Don't initialise here, + (SizeSequence(int, int)): Initialise sizes field, + (SizeSequence(int[])): Clone argument instead of calling setSizes(), + (setSize): Do nothing when index is out of bounds, + (getIndex): Implemented, + (setSizes): Reimplemented, + (getSizes): Likewise, + (insertEntries): Likewise, + (removeEntries): Likewise, + plus added API docs all over. + +2006-04-09 Audrius Meskauskas + + * gnu/CORBA/CDR/EncapsulationStream.java (constructor): + Set the byte order. + +2006-04-09 Wolfgang Baer + + * org/omg/PortableServer/ServantLocatorPOA.java: + (preinvoke, postinvoke): Remove default implementation. + * org/omg/PortableServer/ServantActivatorPOA.java: + (incarnate, etherealize): Remove default implementation. + * org/omg/PortableInterceptor/ObjectReferenceFactory.java: + Extends from ValueBase and not from ObjectReferenceFactoryOperations. + (make_object): Moved method from ObjectReferenceFactoryOperations. + * org/omg/PortableInterceptor/ObjectReferenceFactoryOperations.java: + Removed unspecified interface. + * org/omg/DynamicAny/_DynAnyStub.java: + (_DynAnyStub(Delegate)): Removed constructor. + * org/omg/DynamicAny/_DynArrayStub.java, + * org/omg/DynamicAny/_DynAnyFactoryStub.java, + * org/omg/DynamicAny/_DynEnumStub.java, + * org/omg/DynamicAny/_DynFixedStub.java, + * org/omg/DynamicAny/_DynSequenceStub.java, + * org/omg/DynamicAny/_DynStructStub.java, + * org/omg/DynamicAny/_DynUnionStub.java, + * org/omg/DynamicAny/_DynValueStub.java: + Extend from ObjectImpl and not from _DynAnyStub. + (type, next, destroy, copy, rewind, assign, component_count, + current_component, equal, from_any, get_any, get_boolean, get_char, + get_double, get_dyn_any, get_float, get_long, get_longlong, get_octet, + get_reference, get_short, get_string, get_typecode, get_ulong, + get_ulonglong, get_ushort, get_val, get_wchar, get_wstring, insert_any, + insert_boolean, insert_char, insert_double, insert_dyn_any, insert_float, + insert_long, insert_longlong, insert_octet, insert_reference, + insert_short, insert_string, insert_typecode, insert_ulong, + insert_ulonglong, insert_ushort, insert_val, insert_wchar, + insert_wstring, seek, to_any): New methods copied from _DynAnyStub. + * org/omg/CosNaming/_BindingIteratorStub.java: + (_BindingIteratorStub(Delegate)): Made package private. + * org/omg/CosNaming/_NamingContextExtStub.java: + (_NamingContextExtStub(Delegate)): Made package private. + * org/omg/CosNaming/_NamingContextStub.java: + (_NamingContextStub(Delegate)): Made package private. + (throw4, throw5): Likewise. + * gnu/CORBA/NamingService/NameParser.java (resolve): + Adapt to package private constructor. Use _set_delegate instead. + * org/omg/CosNaming/NamingContextOperations.java: Do not extend IDLEntity. + * org/omg/CORBA/ORB.java: + (create_recursive_sequence_tc): Made abstract. + (get_default_context): Likewise. + * gnu/CORBA/OrbRestricted.java: + (create_recursive_sequence_tc): New moved method. + (get_default_context): Likewise. + * org/omg/CORBA/ParameterMode.java: + (PARAM_IN, PARAM_OUT, PARAM_INOUT): Made final. + +2006-04-09 Audrius Meskauskas + + * gnu/CORBA/GIOP/MessageHeader.java (write): + More informative exception. + * gnu/CORBA/IorDelegate.java (release): Do not close the socket. + * gnu/CORBA/SocketRepository.java (get_socket): + Removed debugging code. + +2006-04-09 Audrius Meskauskas + + * gnu/CORBA/gnuRequest.java (submit): Try to read the response for the + one way message, but ignore if EOF was received. + * gnu/CORBA/GIOP/MessageHeader.java (read): Set the minor code to + Minor.EOF if the end of file is received instead of the header. + +2006-04-09 Roman Kennke + + * javax/swing/plaf/metal/MetalRootPaneUI.java + (MetalTitlePane.IconifyAction): New inner class. + (MetalTitlePane.MaximizeAction): New inner class. + (MetalTitlePane.createActions): Create iconifyAction and + maximizeAction. + (MetalRootLayout.titlePane): New field. + (MetalRootLayout.MetalRootLayout): Take titlePane parameter in + constructor. + (MetalRootLayout.preferredLayoutSize): Changed to not make + assumptions about the actual component order. + (MetalRootLayout.layoutContainer): Changed to not make + assumptions about the actual component order. + (installWindowDecorations): Pass the titlePane as parameter to + the MetalRootLayout constructor. + (uninstallWindowDecorations): Changed to not make + assumptions about the actual component order. + +2006-04-08 Roman Kennke + + * javax/swing/plaf/metal/MetalRootPaneUI.java + (MetalTitlePane.MouseHandler): New inner class to handle dragging + of frames. + (MetalTitlePane.installListeners): Don't register a focus listener + on the window. This is a potential memory leak and must be + implemented on a different way. Install mouse listener here. + (installWindowDecorations): Fixed assertion condition. Always + insert the window decoration at index#1 in the layered + pane. + +2006-04-08 Roman Kennke + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c + (Java_gnu_java_awt_peer_gtk_GtkWindowPeer_nativeSetBoundsUnlocked): + Only resize window if actual width or height value changes. + Avoids nasty flicker when only setLocation() is beeing called + on a window. + +2006-04-08 Audrius Meskauskas + + * gnu/CORBA/GIOP/MessageHeader.java (read): Throw more informative + exception if the magic sequence does not match. + +2006-04-08 Audrius Meskauskas + + * gnu/CORBA/gnuRequest.java (p_invoke, submit): Do not try to read + response for the one way messages. + +2006-04-08 Roman Kennke + + * javax/swing/MenuSelectionManager.java + (processKeyEvent): Implemented stub method. + * javax/swing/JMenu.java + (processKeyEvent): Implemented stub method. + * javax/swing/JMenu.java + (processKeyEvent): Implemented stub method. + (processMenuKeyEvent): Implemented stub method. + +2006-04-08 Roman Kennke + + * javax/swing/AbstractAction.java + (readObject): Removed unneeded method. + (writeObject): Removed unneeded method. + +2006-04-08 Wolfgang Baer + + * javax/swing/plaf/synth/SynthPainter.java: + (paintSplitPaneDividerBorder): Removed. + +2006-04-08 Wolfgang Baer + + * javax/swing/plaf/basic/BasicInternalFrameTitlePane.java: + (CLOSE_CMD, ICONIFY_CMD, MAXIMIZE_CMD, MOVE_CMD, RESTORE_CMD, SIZE_CMD): + No longer constants. + (static_initializer): Added to initialize above fields. + * javax/accessibility/AccessibleRelation.java (LABEL_FOR, LABELED_BY, + MEMBER_OF, CONTROLLER_FOR, CONTROLLED_BY): No longer constants. + (static_initializer): Added to initialize above fields. + +2006-04-08 Wolfgang Baer + + * java/awt/Dialog.java: Improved documentation all over. + (Dialog(Frame)): If gc is null use the owners GraphicsConfiguration. + (Dialog(Dialog)): Likewise. + +2006-04-08 Mark Wielaard + + * java/util/jar/JarFile.java (provider): New static field. + (verify, verifyHashes, EntryInputStream.): Pass provider + to `getInstance.' + +2006-04-08 Mark Wielaard + + PR 27081 + * java/lang/StackTraceElement.java (toString): Don't add space + between type and source indicator. + +2006-04-07 Casey Marshall + + Fixes PR classpath/24464 + * java/util/jar/JarFile.java (verify, verifyHashes, + EntryInputStream.): pass the Gnu provider directly to + `getInstance.' + +2006-04-08 Raif S. Naffah + + PR classpath/27071 + * gnu/java/security/hash/Whirlpool.java: Updated documentation. + (DIGEST0): Use version 3 test vector. + (Sd): Removed. + (S_box): New field: Version 3 S-box values. + (): Use Version 3 circulant matrix to construct lookup tables. + (transform): Formating. + (padBuffer): Likewise. + (getResult): Likewise. + (selfTest): Likewise. + +2006-04-07 Tom Tromey + + * java/util/InvalidPropertiesFormatException.java + (serialVersionUID): New field. + (readObject, writeObject): New methods. + * java/util/Arrays.java (toString): Javadoc fixes. + * java/net/URLConnection.java: Cleaned up imports. + * java/lang/reflect/ParameterizedType.java: Javadoc fix. + * java/lang/reflect/MalformedParameterizedTypeException.java + (serialVersionUID): New field. + * java/lang/reflect/GenericSignatureFormatError.java + (serialVersionUID): New field. + * java/lang/Class.java (Class): Javado fixes. + (getComponentType): Likewise. + (getGenericInterfaces): Likewise. + (getTypeParameters): Likewise. + * java/io/CharArrayWriter.java (append): Javadoc fixes. + * java/lang/annotation/AnnotationFormatError.java (serialVersionUID): + New field. + * java/lang/TypeNotPresentException.java (serialVersionUID): New + field. + * java/lang/EnumConstantNotPresentException.java (serialVersionUID): + New field. + +2006-04-07 Wolfgang Baer + + * java/awt/Dialog.java + (AccessibleAWTDialog): Added api docs + (AccessibleAWTDialog.getAccessibleStateSet): + Renamed from getAccessibleState. + * java/awt/Frame.java + (AccessibleAWTFrame): Added api docs + (AccessibleAWTFrame.getAccessibleStateSet): + Renamed from getAccessibleState. + +2006-04-07 Wolfgang Baer + + * java/awt/Dialog.java: Reformatted. + +2006-04-07 Lillian Angel + + * java/awt/Component.java + (eventTypeEnabled): Added code for HierarchyEvent.HIERARCHY_CHANGED, + HierarchyEvent.ANCESTOR_MOVED and HierarchyEvent.ANCESTOR_RESIZED. + +2006-04-07 Tom Tromey + + * java/beans/beancontext/BeanContextMembershipEvent.java + (serialVersionUID): New field. + * java/beans/beancontext/BeanContextServicesSupport.java + (addBeanContextServicesListener): Synchronize. + (addService): Implemented. + (createBCSChild): Implemented. + (BCSSChild): Added arguments. + (fireServiceAdded): Implemented. + (fireServiceRevoked): Implemented. + (getCurrentServiceSelectors): Implemented. + (hasService): Implemented. + (removeBeanContextServicesListener): Implemented. + (serviceAvailable): Implemented. + (serviceRevoked): Implemented. + * java/beans/beancontext/BeanContextSupport.java (BCSChild): Added + arguments. + (createBCSChild): Implemented. + (BeanContextSupport): + (addBeanContextMembershipListener): Synchronize. + (fireChildrenAdded): Implemented. + (fireChildrenRemoved): Implemented. + (BeanContextSupport): Use default locale. + (isEmpty): Implemented. + (isDesignTime): Implemented. + (size): Implemented. + (toArray): Synchronized. + (toArray): Likewise. + (iterator): Likewise. + (BCSIterator): Implemented. + (bcsChildren): Implemented. + (validatePendingAdd): Implemented. + (validatePendingRemove): Likewise. + (childJustAddedHook): Implemented. + (childJustRemovedHook): Likewise. + (classEquals): Likewise. + (toArray): Mark as stub. + (setDesignTime): Implemented. + (copyChildren): Implemented. + (containsKey): Implemented. + (contains): Likewise. + (containsAll): Likewise. + (getResource): Implemented. + (getResourceAsStream): Likewise. + (removeBeanContextMembershipListener): Likewise. + * java/beans/beancontext/BeanContextServiceRevokedEvent.java + (serialVersionUID): New field. + * java/beans/beancontext/BeanContextServiceAvailableEvent.java + (serialVersionUID): New field. + * java/beans/beancontext/BeanContext.java (instantiateChild): Javadoc + fix. + +2006-04-06 Roman Kennke + + PR 26937 + * javax/swing/MenuSelectionManager.java + (setSelectedPath): Search one more item in the loop. + +2006-04-06 Tom Tromey + + * java/awt/image/renderable/RenderableImageProducer.java + (image, context, consumers): New fields. + (RenderableImageProducer): Implemented. + (setRenderContext): Likewise. + (addConsumer): Likewise. + (isConsumer): Likewise. + (removeConsumer): Likewise. + (startProduction): Likewise. + +2006-04-06 Roman Kennke + + * java/awt/Component.java + (AccessibleAWTComponent.getBounds): Return the component + bounds regardless of its showing state. + (AccessibleAWTComponent.getLocation): Return the component + location regardless of its showing state. + (AccessibleAWTComponent.getSize): Return the component + size regardless of its showing state. + +2006-04-06 Roman Kennke + + * javax/swing/JRootPane.java + (getAccessibleContext): New method. Provides an accessibleContext + for JRootPanes. + +2006-04-06 Roman Kennke + + * java/awt/Toolkit.java + (initAccessibility): Use the 'gnu.classpath.home.url' property + to determine the system confiuration directory. + * java/awt/Component.java + (dispatchEvent): Trigger Toolkit dispatching here. + (dispatchEventImpl): Moved Toolkit dispatching to dispatchEvent, + so it can't be overridden by subclasses and is performed in + any case. + +2006-04-06 Wolfgang Baer + + * javax/naming/Binding.java: Added API docs. + * javax/naming/NameClassPair.java: Added API docs. + (fullName): New field. + (setNameInNamespace): New 1.5 method. + (getNameInNamespace): Likewise. + +2006-04-06 Wolfgang Baer + + * javax/naming/CompositeName.java: + (readObject): New deserialization method. + (writeObject): New serialization method. + +2006-03-29 Nektarios K. Papadopoulos + + * javax/security/auth/x500/X500Principal.java + (readAttributeValue) Check for separator after quoted value was + failing in all cases. + +2006-04-06 Mark Wielaard + + * java/lang/Class.java (getClassLoader): Don't do security check + when loader is null. + +2006-04-06 Roman Kennke + + * java/awt/Toolkit.java + (getDefaultToolkit): Initialize accessibility after setting + up the toolkit. + (initAccessibility): New helper method to setup accessibility. + +2006-04-06 Roman Kennke + + * javax/swing/AbstractButton.java + (AccessibleAbstractButton.getAccessibleIcon): Implemented stub. + (AccessibleAbstractButton.getAccessibleRelationSet): Implemented + stub. + (AccessibleAbstractButton.getIndexAtPoint): Implemented stub. + (AccessibleAbstractButton.getAccessibleIcon): Implemented stub. + (AccessibleAbstractButton.getCharacterBounds): Implemented stub. + (AccessibleAbstractButton.getCharCount): Implemented stub. + (AccessibleAbstractButton.getCaretPosition): Implemented stub. + (AccessibleAbstractButton.getCharacterAttribute): Implemented stub. + (AccessibleAbstractButton.getSelectionStart): Implemented stub. + (AccessibleAbstractButton.getSelectionEnd): Implemented stub. + (AccessibleAbstractButton.getSelectedText): Implemented stub. + (AccessibleAbstractButton.getTextRectangle): Removed unneeded + private method. + +2006-04-06 Roman Kennke + + * java/awt/Component.java + (AccessibleAWTComponent.getAccessibleStateSet): Don't handle opaque + state here. This is only done in JComponent. + * javax/swing/JComponent.java + (AccessibleJComponent.getAccessibleStateSet): Handle opaque flag + here. + (getNextFocusableComponent): Implemented stub method. + (grabFocus): Implemented stub method. + (unregisterKeyboardAction): Implemented stub method. + (setNextFocusableComponent): Implemented stub method. + * javax/swing/CompatibilityFocusTraversalPolicy.java: New file. + This is a helper class for providing compatibility with the older + Swing focus API. + +2006-04-06 Wolfgang Baer + + Fixes bug #26995 + * javax/naming/directory/BasicAttribute.java, + * javax/naming/directory/BasicAttributes.java: + (readObject): New deserialization method. + (writeObject): New serialization method. + +2006-04-06 Wolfgang Baer + + * javax/xml/validation/SchemaFactory.java: Corrected since tag. + (getErrorHandler): Made method abstract. + (setErrorHanlder): Likewise. + * gnu/xml/validation/relaxng/RELAXNGSchemaFactory.java + (getErrorHandler): Implement abstract method from superclass. + (setErrorHandler): Likewise. + (errorHandler): New field. + * gnu/xml/validation/xmlschema/XMLSchemaSchemaFactory.java: + (getErrorHandler): Implement abstract method from superclass. + (setErrorHandler): Likewise. + (errorHandler): New field. + * javax/xml/XMLConstants.java: Corrected since tag. + (XMLConstants): Added private constructor. + * javax/xml/datatype/Duration.java: Corrected since tag. + (multiply): Made method abstract. + * javax/xml/datatype/DatatypeConstants.java: Corrected since tag. + (DatatypeConstants): Added private constructor. + * javax/xml/xpath/XPathConstants.java: Corrected since tag. + (XPathConstants): Added private constructor. + +2006-04-05 Tom Tromey + + * javax/security/auth/kerberos/ServicePermission.java: Now final. + +2006-04-05 Tom Tromey + + PR libgcj/26625: + * lib/Makefile.am (compile-classes): Touch the output file. + +2006-04-05 Roman Kennke + + * javax/swing/AbstractButton.java + (AccessibleAbstractButton.getAccessibleStateSet): Removed handling + of the focused state. This is already done in AccessibleAWTComponent. + +2006-04-05 Roman Kennke + + * javax/swing/JComponent.java + (accessibleContext): Fixed API doc for this field. + (AccessibleJComponent.AccessibleFocusHandler): Fixed API docs. + (AccessibleJComponent.AccessibleFocusHandler.focusGained): + Implemented and added API docs. + (AccessibleJComponent.AccessibleFocusHandler.focusLost): + Implemented and added API docs. + (AccessibleJComponent.AccessibleContainerHandler): Fixed API docs. + (AccessibleJComponent.AccessibleContainerHandler.componentAdded): + Implemented and added API docs. + (AccessibleJComponent.AccessibleContainerHandler.componentRemoved): + Implemented and added API docs. + (AccessibleJComponent.accessibleContainerHandler): Added API docs. + (AccessibleJComponent.accessibleFocusHandler): Added API docs. + (AccessibleJComponent.addPropertyChangeListener): Added API docs. + (AccessibleJComponent.removePropertyChangeListener): Added API docs. + (AccessibleJComponent.getAccessibleStateSet): Simply return + super here. Added comment about this. + +2006-04-05 Roman Kennke + + * javax/swing/JComponent.java + (AccessibleJComponent.addPropertyChangeListener): Install + ContainerHandler and FocusHandler here. + (AccessibleJComponent.removePropertyChangeListener): Uninstall + ContainerHandler and FocusHandler here. + (AccessibleJComponent.getAccessibleChildrenCount): Replaced + by super.getAccessibleChildrenCount(). + (AccessibleJComponent.getAccessibleChild): Replaced + by super.getAccessibleChild(). + (AccessibleJComponent.getAccessibleStateSet): Implemented by + adding OPAQUE to the supported states. + (AccessibleJComponent.getAccessibleName): Added titled border + and label fallbacks. + (AccessibleJComponent.getAccessibleDescription): Added tooltip + and label fallbacks. + (AccessibleJComponent.getAccessibleRole): Removed TODO. + (AccessibleJComponent.getAccessibleKeyBinding): Added comment + explaining why return null seems correct here. + * javax/swing/JLabel.java + (LABEL_PROPERTY): New constant. + (setLabelFor): Store label in labeled component's client properties + for the AccessibleJComponent to read. + +2006-04-05 Tom Tromey + + * java/util/zip/ZipFile.java (available): Defer to super if + entry's size is unknown. + +2006-04-05 Tom Tromey + + * java/net/MimeTypeMapper.java (MimeTypeMapper): Look for system + property with mime.types name. + * gnu/classpath/SystemProperties.java: Set + gnu.classpath.mime.types.file if not already set. + * java/net/URLConnection.java (defaultFactory): New field. + (guessContentTypeFromStream): Mark as unimplemented. + (getContentHandler): Updated with libgcj's implementation. + * gnu/java/net/DefaultContentHandlerFactory.java: New file, + from libgcj. + +2006-04-05 Bryce McKinlay + + PR classpath/27028 + PR classpath/24752 + * java/util/AbstractList.java (hasNext): Don't throw + ConcurrentModificationException. Update Javadoc. + (hasPrevious): Likewise. + (nextIndex): Likewise. + (previousIndex): Likewise. + * java/util/HashMap.java (hasNext): Likewise. + * java/util/Hashtable.java (hasNext): Likewise. + * java/util/IdentityHashMap.java (hasNext): Likewise. + * java/util/LinkedHashMap.java (hasNext): Likewise. + * java/util/LinkedList.java (nextIndex): Likewise. + (previousIndex): Likewise. + (hasNext): Likewise. + (hasPrevious): Likewise. + * java/util/TreeMap.java (hasNext): Likewise. + * java/util/WeakHashMap.java (hasNext): Likewise. + +2006-04-05 Roman Kennke + + * javax/swing/AbstractButton.java + (AccessibleAbstractButton.getAccessibleStateSet): Implemented stub. + (AccessibleAbstractButton.doAccessibleAction): Implemented stub. + (AccessibleAbstractButton.getAccessibleAction): Implemented stub. + (AccessibleAbstractButton.getAccessibleActionCount): Implemented stub. + (AccessibleAbstractButton.getAccessibleActionDescription): + Implemented stub. + (AccessibleAbstractButton.getAccessibleText): Implemented stub. + (AccessibleAbstractButton.getAccessibleAction): Implemented stub. + (AccessibleAbstractButton.getCurrentAccessibleValue): Implemented stub. + (AccessibleAbstractButton.setCurrentAccessibleValue): Implemented stub. + (AccessibleAbstractButton.getMinimumAccessibleValue): Implemented stub. + (AccessibleAbstractButton.getMaximumAccessibleValue): Implemented stub. + +2006-04-05 Roman Kennke + + * javax/swing/JComboBox.java + (selectWithKeyChar): Implemented stubbed method. + +2006-04-05 Roman Kennke + + * javax/swing/LookAndFeel.java + (installProperty): New method. Allows primitive typed properties + to be handled like UIResources. + * javax/swing/AbstractButton.java + (clientBorderPaintedSet): New field. + (clientRolloverEnabledSet): New field. + (clientIconTextGapSet): New field. + (clientContentAreaFilledSet): New field. + (setRolloverEnabled): Set the client field to true. + (setBorderPainted): Likewise. + (setIconTextGap): Likewise. + (setContentAreaFilled): Likewise. + (setUIProperty): New helper method. + * javax/swing/JComponent.java + (clientOpaqueSet): New field. + (clientAutoscrollsSet): New field. + (setAutoscrolls): Set the client field to true. + (setOpaque): Likewise. + (setUIProperty): New helper method. + * javax/swing/JDesktopPane.java + (clientDragModeSet): New field. + (setDragMode): Set the client field to true. + (setUIProperty): New helper method. + * javax/swing/JSplitPane.java + (clientDividerSizeSet): New field. + (clientOneTouchExpandableSet): New field. + (setDividerSize): Set the client field to true. + (setOneTouchExpandable): Likewise. + (setUIProperty): New helper method. + * javax/swing/JTable.java + (clientRowHeightSet): New field. + (setRowHeight): Set the client field to true. + (setUIProperty): New helper method. + * javax/swing/JTree.java + (clientRowHeightSet): New field. + (clientScrollsOnExpandSet): New field. + (clientShowsRootHandlesSet): New field. + (setRowHeight): Set the client field to true. + (setShowsRootHandles): Likewise. + (setScrollsOnExpand): Likewise. + (setUIProperty): New helper method. + +2006-04-05 Roman Kennke + + * java/awt/Component.java + (getFont): Don't request the font from the peer's graphics. The + graphics should instead get the font from the Component, which might + result in a loop. + (getFocusCycleAncestor): Don't special case Window. + (nextFocus): Moved implementation from the DefaultKeyboardFocusManager + to here. Correctly determine the focus cycle root. + (transferFocusBackward): Likewise. + (transferFocusUpCycle): Likewise. + * java/awt/Container.java + (transferFocusDownCycle): Moved implementation from + DefaultKeyboardFocusManager to here. + * java/awt/DefaultKeyboardFocusManager.java + (focusPreviousComponent): Moved implementation to + Component.transferFocusBackward(). + (focusNextComponent): Moved implementation to + Component.nextFocus(). + (upFocusCycle): Moved implementation to + Component.transferFocusUpCycle(). + (downFocusCycle): Moved implementation to + Container.transferFocusDownCycle(). + +2006-04-05 David Gilbert + + * java/awt/image/ComponentSampleModel.java + (equals): Implemented, + (hashCode): Likewise. + +2006-04-05 Jeroen Frijters + + * java/lang/Class.java + (cast): New method. + +2006-04-05 David Gilbert + + * java/awt/image/ComponentSampleModel.java + (getBankIndices): Return a copy of the array, not a reference to the + original, + (getBandOffsets): Likewise. + +2006-04-05 David Gilbert + + * java/awt/image/ComponentSampleModel.java: Added API docs all over. + +2006-04-04 Tom Tromey + + * java/net/MimeTypeMapper.java (MimeTypeMapper): Fixed indices. + +2006-04-04 Tom Tromey + + * java/net/MimeTypeMapper.java (mime_types): No longer static. + (MimeTypeMapper): Initialize. + (fillFromFile): New method. + (main): New method. + (mime_strings): Updated. + +2006-04-04 Tom Tromey + + * lib/gen-classlist.sh.in: Correct handle generated files. + +2006-04-04 Ito Kazumitsu + + * gnu/regexp/CharIndexed.java(setAnchor): New method. + * gnu/regexp/CharIndexedInputStream.java(setAnchor): New method. + * gnu/regexp/CharIndexedCharSequence.java: New file. + * gnu/regexp/CharIndexedCharArray.java: Rewritten as an extention of + gnu.regexp.CharIndexedCharSequence. + * gnu/regexp/CharIndexedString.java: Likewise. + * gnu/regexp/CharIndexedStringBuffer.java: Likewise. + * gnu/regexp/RE.java(makeCharIndexed): Make a new CharIndexed + using CharIndexedCharSequence. Use setAnchor when the input + object is already a CharIndexed. + * java/util/regex/Matcher.java(inputCharIndexed): New field + to be used as a parameter of the RE#getMatch. + +2006-04-04 David Gilbert + + * java/awt/image/SampleModel.java: Reformatted. + +2006-04-04 David Gilbert + + * java/awt/image/ComponentSampleModel.java + (ComponentSampleModel(int, int, int, int, int[])): Added API + documentation, + (ComponentSampleModel(int, int, int, int, int[], int[]): Throw + IllegalArgumentException for DataBuffer.TYPE_UNDEFINED, take copies + of the bandOffsets and bankIndices arguments, added API documentation, + * java/awt/image/SampleModel.java + (SampleModel(int, int, int, int): Throw IllegalArgumentException for + unrecognised dataTypes, w * h exceeds Integer.MAX_VALUE, and numBands + less than or equal to zero, added API documentation. + +2006-04-04 Lillian Angel + + * java/util/zip/ZipFile.java + (getInputStream): Fixed to return size of ZipEntry + minus the total bytes read. This guarantees that the + right value is returned even if some bytes have already + been read. + +2006-04-04 Thomas Fitzsimmons + + * javax/imageio/plugins/jpeg/JPEGImageWriteParam.java (messages): + Remove static modifier. + +2006-04-04 David Gilbert + + * java/awt/image/ComponentSampleModel.java: Reformatted. + +2006-04-03 Thomas Fitzsimmons + + * javax/imageio/plugins/jpeg/JPEGImageWriteParam.java: New file. + * javax/imageio/plugins/jpeg/JPEGImageReadParam.java: Add + retrieval instructions to javadoc header. + * javax/imageio/ImageWriteParam.java: Fix javadoc for + compressionType field. + * lib/Makefile.am (propertydirs): Add javax directory. + (propertyfiles): Likewise. + * resource/javax/imageio/plugins/jpeg/MessagesBundle.properties: + New file. + +2006-04-03 Tom Tromey + + PR classpath/26971: + * javax/naming/directory/BasicAttribute.java: Added missing @since. + (BasicAttributeEnumeration.where): Initialize to 0. + (BasicAttributeEnumeration.nextElement): Post-increment 'where'. + +2006-04-03 Lillian Angel + + PR classpath/24596 and PR classpath/26930 + * java/util/zip/ZipFile.java + (getInputStream): Override available function for + InflaterInputStream instance. + +2006-04-03 Thomas Fitzsimmons + + * javax/imageio/plugins/jpeg/JPEGImageReadParam.java: New file. + +2006-04-03 Tom Tromey + + * javax/security/auth/kerberos/ServicePermission.java: New file. + * javax/security/auth/kerberos/DelegationPermission.java: New file. + * javax/security/auth/kerberos/KerberosKey.java: New file. + * javax/security/auth/kerberos/KeyImpl.java: New file. + * javax/security/auth/kerberos/KerberosTicket.java: New file. + * javax/security/auth/kerberos/KerberosPrincipal.java: New file. + +2006-04-03 Sven de Marothy + + * gnu/java/awt/peer/gtk/GtkClipboard.java: Add support for + non-GtkImage images. + +2006-04-03 Mark Wielaard + + * lib/gen-classlist.sh.in: Use classes.tmp, not classes.2 + as temporary file name. + +2006-04-03 Dalibor Topic + + * INSTALL: Documented --with-glibj-zip option. + +2006-04-03 Dalibor Topic + + Fixed all pscan warnings. + + * native/jni/classpath/jcl.c (JCL_ThrowException), + native/jni/classpath/jcl.h (DBG), + native/target/generic/target_generic.h (TARGET_NATIVE_LAST_ERROR_STRING_FORMAT), + native/target/generic/target_generic_misc.h (TARGET_NATIVE_MISC_FORMAT_STRING0): + Use "%s" format in fprintf and snprintf explicitely when printing a single + string to prevent format string exploits. + + * native/jni/java-net/javanet.h (DBG): Removed duplicate + definition. Included jcl.h instead. + +2006-04-03 Raif S. Naffah + + * tools/gnu/classpath/tools/jarsigner/Main.java: Removed unused imports. + (provider): Made it protected. + (providerInstalled): New field. + (Main): Made it a 0-arguments constructor. + Removed throws clasue. + (main): Removed throws clause. + Call processArgs(args) after constructing instance. + Call teardown() before existing. + (processArgs): Added javadoc. + Reduced to throws Exception. + (start): Likewise. + (teardown): New method. + (setupCommonParams): Added javadoc. + Install designated provider if not already installed. + (installNewProvider): New method. + (setupSigningParams): Added javadoc. + Instantiate the KeyStore using type only. + * tools/gnu/classpath/tools/jarsigner/JarSigner.java: + Removed unused imports. + (start): Reduced to throws Exception. + * tools/gnu/classpath/tools/jarsigner/JarVerifier.java (start): Likewise. + * tools/gnu/classpath/tools/jarsigner/HashUtils.java: + Re-organized imports. + * gnu/java/security/key/KeyPairGeneratorFactory.java (getInstance): + Test ignoring case. + (getNames): Add "dsa" as an algorithm provided by this Factory. + (makeInstance): Construct IllegalArgumentException with 2 arguments. + +2006-04-03 Roman Kennke + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c + (Java_gnu_java_awt_peer_gtk_GdkFontPeer_getGlyphVector): + Replaced g_free() with pango_item_free() to avoid problems + with the allocator. + +2006-04-03 Rafael H. Schloming + + Fixes bug #26668 + * java/util/logging/Level.java (parse): Document. + * java/util/logging/LogManager.java (rootLogger): Removed. + (LogManager): Just set loggers to new HashMap. + (getLogManager): Make synchronized. Create and init LogManager if it + doesn't exist yet. + (static): Removed block. + (MANAGER_PROPERTY): New private final string. + (makeLogManager): Use new property string, move warning to + createInstance() method. + (CONFIG_PROPERTY): New private final string. + (initLogManager): New method. + (addLogger): Use Logger.root, not rootLogger. + (findAncestor): Likewise. + (readConfiguration): Move warning to createInstance() method. + Add handlers directly to Logger.root. Warn about bad level values. + (getClassProperty): Use new locateClass() method. + (getInstanceProperty): Only catch specific newInstance Errors. + (createInstance): Make private and takes a string to use in warning + messages. Use new locateClass() method and generate appropriate + warning message. + (warn): New methods. + (locateClass): Locates a class through the context class loader and + system class loader as backup. + * java/util/logging/Logger.java (root): New static final field. + (Logger): Set parent to root. + (setParent): Directly check root field. + +2006-04-02 Andrew John Hughes + + * java/util/Collections.java: + (binarySearch(List, T)): Fixed signature. + (unmodifiableList(List)): Likewise. + (UnmodifiableList(List)): Fixed constructor. + (UnmodifiableRandomAccessList(List)): Likewise. + (unmodifiableMap(Map)): Fixed signature. + (UnmodifiableMap(Map)): Fixed constructor. + (unmodifiableSortedMap(Map)): Fixed signature. + (UnmodifiableSortedMap(Map)): Fixed constructor. + +2006-04-02 Andrew John Hughes + + * java/io/ObjectOutputStream.java: + (writeObject(Object)): Added enum support. + (writeClassDescriptor(ObjectStreamClass)): Likewise. + * java/io/ObjectStreamClass.java: + (isEnum()): New package-private method. + (setFlags(Class)): Added enum support. + * java/io/ObjectStreamConstants.java: + (SC_ENUM): Added. + +2006-04-02 Robert Schuster + + * javax/swing/text/Segment.java: + (setPosition): Make exception message more verbose. + * javax/swing/text/WrappedPlainView.java: + (insertUpdate): Removed unneeded repaint call. + (changeUpdate): Dito. + (removeUpdate): Dito. + (WrappedLine.determineNumLines): Do not return numLines, break + from loop if no new break point has been calculated. + (WrappedLine.updateDamage): Rewritten. + (WrappedLine.insertUpdate): Removed unneeded update code. + (WrappedLine.removeUpdate): Removed unneeded update code, added + comment. + +2006-04-02 Dalibor Topic + + * configure.ac (with-glibj-zip): Added new option. + + * examples/Makefile.am, + lib/Makefile.am, + tools/Makefile.am: Adapted build classpath to use glibj.zip, + in addition to classes in lib directory. + +2006-04-02 Audrius Meskauskas + + * tools/gnu/classpath/tools/giop/GRMIC.java, + tools/gnu/classpath/tools/giop/IorParser.java, + tools/gnu/classpath/tools/giop/grmic/CompilationError.java, + tools/gnu/classpath/tools/giop/grmic/Generator.java, + tools/gnu/classpath/tools/giop/grmic/GiopIo.java, + tools/gnu/classpath/tools/giop/grmic/GiopRmicCompiler.java, + tools/gnu/classpath/tools/giop/grmic/HashFinder.java, + tools/gnu/classpath/tools/giop/grmic/MethodGenerator.java, + tools/gnu/classpath/tools/rmi/RMIC.java, + tools/gnu/classpath/tools/rmi/rmic/RmiMethodGenerator.java, + tools/gnu/classpath/tools/rmi/rmic/RmicCompiler.java, + tools/gnu/classpath/tools/rmi/rmic/WrapUnWrapper.java: Removed + linking exception from the licensing header. + * tools/gnu/classpath/tools/rmi/rmid/ActivationSystemImpl_Stub.java: + Added licensing header. + +2006-04-02 Mark Wielaard + + * tools/Makefile.am (bin_SCRIPTS): Renamed to jarsigner.sh. + (jarsigner): Removed. + +2006-04-02 Dalibor Topic + + * configure.ac: don't check for isnan function. + * native/fdlibm/fdlibm.h: Always use the isnan macro. + +2006-04-02 Raif S. Naffah + + * configure.ac: Added tools/jarsigner.sh to AC_CONFIG_FILES. + * tools/Makefile.am: Generate jarsigner shell script. + * tools/jarsigner.sh.in: New template. + * tools/.cvsignore: Added jarsigner.sh. + +2006-04-02 Raif S. Naffah + + * tools/gnu/classpath/tools/jarsigner/HashUtils.java: Use GPL. + * tools/gnu/classpath/tools/jarsigner/SFHelper.java: Likewise. + * tools/gnu/classpath/tools/jarsigner/JarVerifier.java: Likewise. + * tools/gnu/classpath/tools/jarsigner/JarSigner.java: Likewise. + * tools/gnu/classpath/tools/jarsigner/Main.java: Likewise. + Re-organised imports. + +2006-04-01 Bernhard Rosenkraenzer + + PR classpath/25924: + * java/awt/image/DirectColorModel.java (extractAndNormalizeSample): + Handle case where alpha==0. + +2006-04-02 Robert Schuster + + PR #26676 + * javax/swing/text/Utilities.java: + (getTabbedTextOffset): Added check to decrement pos not below zero, + changed '>' comparison to '>='. + * javax/swing/text/WrappedPlainView.java: + (lineHeight): New field. + (calculateBreakPosition): Throw InternalError in catch block, removed + unneeded brackets, use specific version of + Utilities.getTabbedTextOffset. + (paint): Set various properties neccessary for drawing. + (WrappedLine.paint): Removed code to set field of outer class. + (WrappedLine.modelToView): Removed unneeded expression from + if-statement. + (WrappedLine.viewToModel): Initialize end with endOffset - 1, removed + -1 from return statement, copy only a subset into the Segment, removed + special handling of mark value - just return it, simplified + incrementation of currLineStart. + (WrappedLine.insertUpdate): Recalculate numLines, report preference + change to parent view. + (WrappedLine.removeUpdate): Dito. + +2006-04-02 Robert Schuster + + * javax/swing/text/Segment.java: + (toString): Return empty string when array is null. + +2006-04-02 Robert Schuster + + * javax/swing/plaf/basic/BasicTextUI.java: + (damageRange): Use SwingUtilities.computeUnion to avoid + unneccessary Rectangle instantiation. + +2006-04-01 Tom Tromey + + * java/security/cert/Certificate.java (serialVersionUID): Fixed. + +2006-04-01 Robert Schuster + + * javax/swing/text/CompositeView.java: Fixed copyright header. + * javax/swing/text/BoxView.java: Fixed copyright header. + * javax/swing/text/WrappedPlainView.java: Fixed copyright header. + * javax/swing/text/Utilities.java: Fixed copyright header. + +2006-04-01 Robert Schuster + + * javax/swing/text/CompositeView.java: + (modelToView): Throw BadLocationException when no child + view can be found, restructed to throw exception as early + as possible. + (viewToModel): Use mutable allocation as argument for viewToModel + call on child view. + * javax/swing/text/BoxView.java: + (getViewAtPoint): Call setBounds() r before method returns with + suitable child view. + * javax/swing/text/Utilities.java: + (getPositionBelow): Added try-catch-block around modelToView call, + added method return when BadLocationException was thrown. + * javax/swing/text/WrappedPlainView.java: + (WrappedLine.viewToModel): Changed '<=' to '<' in if-expression, + added note about meaning of rect.x and rect.width, removed unneeded + checks, added code to not return the last possible document offset. + +2006-04-01 Robert Schuster + + * javax/swing/text/WrappedPlainView.java: + (WrappedLine.viewToModel): Change < to <= in if-statement, + removed addition of currLineStart to return value. + * javax/swing/text/BoxView.java: + (getViewAtPoint): Use copy instead of r for method call + which modifies the second argument. + +2006-04-01 Mark Wielaard + + Fixes PR26973 + * java/util/jar/Attributes.java: Fully qualify java.util.Map. + +2006-03-31 Tom Tromey + + * lib/split-for-gcj.sh: Updated for multi-field format. + * lib/Makefile.am (CLEANFILES): Added classes.2. + * lib/gen-classlist.sh.in (GCJ): Removed. Create classes.1 and + classes.2 using multiple fields. + +2006-03-31 Audrius Meskauskas + + * javax/swing/JTable.java (columnSelectionChanged): + Removed print statement. + * javax/swing/DefaultListSelectionModel.java + (addSelectionInterval, removeSelectionInterval): + Fire the difference between selection. (setLeadSelectionIndex): + Fire the difference and mark current and previous lead + selection indexes for repaint. + +2006-03-31 Thomas Fitzsimmons + + * javax/imageio/plugins/jpeg/JPEGHuffmanTable.java: Eliminate + unnecessary copying. + * javax/imageio/plugins/jpeg/JPEGQTable.java: Likewise. + +2006-03-31 Lillian Angel + + * java/awt/Component.java + (translateEvent): oldKey should be the value of the + key char. + +2006-03-31 Audrius Meskauskas + + * javax/swing/JTable.java (columnSelectionChanged): + Treat second repaint parameter as width. + +2006-03-31 Lillian Angel + + PR classpath/26924 + * gnu/java/awt/peer/gtk/GtkCanvasPeer.java + (realize): New native function. + * include/gnu_java_awt_peer_gtk_GtkCanvasPeer.h: + Added new function declaration. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCanvasPeer.c + (realize): New function. + +2006-03-31 Robert Schuster + + * javax/swing/text/GapContent.java: + (replace): Move all Position instances from gap's end to + it's start before increasing the gap start. + * javax/swing/plaf/basic/BasicTextAreaUI.java: + (propertyChanged): Update the view only instead of + indicating a document change. + +2006-03-31 Roman Kennke + + * javax/swing/JTextField.java + (fireActionPerformed): Put the textfields text in the action + instead of the action name. + +2006-04-01 Raif S. Naffah + + * tools/gnu/classpath/tools/jarsigner/Main.java (setupCommonParams): + Check for null jar-file argument. + (setupSigningParams): Check for null alias argument. + +2006-03-31 Roman Kennke + + * javax/swing/JComponent.java + (paintChildren): Split up in two cases, depending on the + optimizedDrawingEnabled flag. + (paintChildrenWithOverlap): New method. Paints children when + not optimizedDrawingEnabled. This implements better painting + algorithm for overlapping components, so that the painted + regions are minimized. + (paintChildrenOptimized): New method. Paints children when + when optimizedDrawingEnabled. This implements a painting + algorithm that is optimized for the case when all children + are guaranteed to be tiled. + +2006-03-31 Raif S. Naffah + + * tools/gnu/classpath/tools/jarsigner/SFHelper.java (updateEntry): Use + Attributes.putValue(String,String). + (finishSigning): Likewise. + * gnu/java/util/jar/JarUtils.java (MANIFEST_VERSION): New constant. + (SIGNATURE_VERSION): Likewise. + (readSFManifest): Use local string constant. + (readMainSection): Likewise. + (readVersionInfo): Likewise. + * java/util/jar/Attributes.java (MANIFEST_VERSION): + Redefined using JarUtils constant. + (SIGNATURE_VERSION): Likewise. + (putValue(Name,String)): Made it private. + +2006-03-31 Audrius Meskauskas + + * javax/swing/DefaultListSelectionModel.java (fireDifference): + New method. (clearSelection): Rewritten. (setSelectionInterval): + Fire the difference between current and new selection. + * javax/swing/JTable.java (columnSelectionChanged, valueChanged): + Only repaint the region, where selection has been changed. + * javax/swing/plaf/basic/BasicTableUI.java + (TableAction.actionPerformed): Do not change the column selection + when only row selection change is wanted (and in reverse) and + do not call the repaint() here. + +2006-03-31 David Gilbert + + Fixes bug #26951 + * javax/swing/DefaultComboBoxModel.java + (DefaultComboBoxModel(Vector)): Call getSize() instead of + vector.size(), + (addElement): Call list.addElement() rather than list.add(), and only + update selected item if it is currently null, + (removeElementAt): Update selected item, then remove the element. + +2006-03-31 David Gilbert + + Fixes bug #26955 + * java/awt/geom/Point2D.java + (distanceSq(double, double)): Fixed order of arguments, + (distanceSq(Point2D)): Likewise, + (distance(double, double)): Likewise, + (distance(Point2D)): Likewise. + +2006-03-30 Thomas Fitzsimmons + + * javax/imageio/plugins/jpeg/JPEGQTable.java: New file. + * javax/imageio/plugins/jpeg/JPEGHuffmanTable.java + (ACChrominanceLengths, ACChrominanceValues, ACLuminanceLengths, + ACLuminanceValues, DCChrominanceLengths, DCChrominanceValues, + DCLuminanceLengths, DCLuminanceValues): Remove fields. + +2006-03-30 Audrius Meskauskas + + * javax.swing.JTable (constructor): Initialize column + model column margin and table row margin before setting the + table column model. (initialiseLocalVars): Do not call + setIntercellSpacing. + +2006-03-30 Chris Burdess + + * javax/xml/datatype/DatatypeFactory.java (newDurationDayTime): Fix + method signature. + * javax/xml/validation/SchemaFactoryLoader.java: New file. + +2006-03-30 Mark Wielaard + + PR 26848 + * java/awt/Window.java (dispatchEventImpl): On ComponentEvents + adjust bounds. On resize invalidate and validate container. + Always pass on ComponentEvents to Container super class. + * gnu/java/awt/peer/gtk/GtkFramePeer.java (setBounds): Adjust for + menuBar and pass to GtkWindowPeer super class. + (postConfigureEvent): Adjust menu bar width. Adjust y and height + bounds and pass to GtkWindowPeer super class. + * gnu/java/awt/peer/gtk/GtkWindowPeer.java (x, y, width, height): + New fields for local bounds. + (getX, getY): New methods. + (getWidth): Don't call into awtComponent. + (getHeight): Likewise. + (create): Cache local bounds. + (setLocation): Documented, made protected and just call + nativeSetLocation. + (setLocationUnlocked): Removed unused method. + (setBoundsUnlocked): Likewise. + (setBounds): Check whether bounds actually changed and cache local + bounds. + (setSize): Documented and made protected. + (setResizable): Documented and cache local bounds. + (postConfigureEvent): Update local bounds. Don't call awtComponent + directly but post ComponentEvents. + (show): Cache local bounds. + (getBounds): Override to return cached bounds. + +2006-03-30 Lillian Angel + + * gnu/java/awt/peer/gtk/GdkGraphics.java + (drawImage): Added check to prevent NPE. + (drawImage): Likewise. + (drawImage): Likewise. + * java/awt/Choice.java + (dispatchEventImpl): New function. selectedIndex was + not being updated properly otherwise. + +2006-03-30 Roman Kennke + + * javax/swing/JTabbedPane.java + (removeTabAt): Removed debug code. + +2006-03-30 Roman Kennke + + PR 26045 + * javax/swing/plaf/basic/BasicTextUI.java + (installKeyboardActions): Simply call getKeymap() and install this. + (createKeymap): Reimplemented to fetch a keymap from the UIManager. + +2006-03-30 Roman Kennke + + * javax/swing/JTabbedPane.java + (removeTabAt): Adjust selection correctly when removing a tab + before the selected tab. Also remove the component from the + container, not only the tab object. Repaint and revalidate the + component after the removal. + (removeAll): Set selection to -1 before removing the tabs. + +2006-03-29 Andrew John Hughes + + * java/io/ObjectInputStream.java: + (parseContent(byte)): Added enum support. + * java/io/ObjectStreamConstants.java: + (TC_ENUM): Added. + (TC_MAX): Changed to new maximum, TC_ENUM. + +2006-03-29 Lillian Angel + + Partial fix for bug #26929 + * gnu/java/awt/peer/gtk/GtkPanelPeer.java + (updateComponent): Removed. We want to clear the panel + before painting. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c + (Java_gnu_java_awt_peer_gtk_GdkGraphics_clearRect): Fixed typo. + Should set the background to the saved background color. + +2006-03-29 Mark Wielaard + + Partial fix for bug #26848 (pack). + * gnu/java/awt/peer/gtk/GtkComponentPeer.java (setVisible): + Always show instances of Window. + +2006-03-29 David Gilbert + + * javax/swing/JSlider.java + (setPaintLabels): Only create standard labels if labelTable is null, + * javax/swing/plaf/basic/BasicSliderUI.java + (PropertyChangeHandler.propertyChange): Recalculate geometry for + "paintTicks" property change, + (calculateThumbSize): Updated API docs, + (calculateContentRect): Likewise, + (calculateTrackBuffer): Take into account the lowest and highest + labels when calculating buffer space, + (calculateTrackRect): Include labels, if visible, in the calculation of + the trackRect position, + (calculateTickRect): Height is zero if ticks are not painted, + (calculateLabelRect): Use max dimensions of actual labels, + (getWidthOfHighValueLabel): Use preferred size, + (getWidthOfLowValueLabel): Likewise, + (getHeightOfHighValueLabel): Likewise, + (getHeightOfLowValueLabel): Likewise, + (drawInverted): Just return slider setting, + (getHighestValueLabel): Updated API docs, + (paintTicks): Removed redundant (and buggy) code, replaced with calls + to xPositionForValue() and yPositionForValue(), + (paintHorizontalLabel): Removed full qualification of class name, + (paintVerticalLabel): Likewise, + (xPositionForValue): Reimplemented, + (yPositionForValue): Reimplemented, + * javax/swing/plaf/metal/MetalSliderUI.java + (paintTrack): Made track one pixel longer. + +2006-03-29 Tom Tromey + + PR gcc/26901: + * tools/Makefile.am (JCOMPILER): Added encoding options. + * examples/Makefile.am (JCOMPILER): Added encoding options. + +2006-03-29 Gary Benson + + Partial fix for PR classpath/24895 + * java/io/FilePermission.java (implies): Canonicalize paths. + +2006-03-29 Robert Schuster + + PR 26888 + * javax/swing/text/GapContent.java: + (replace): Added call to resetMarksAtZero. + +2006-03-29 Roman Kennke + + PR 23527 + * javax/swing/plaf/basic/BasicMenuItemUI.java + (cachedRect): New field. + (BasicMenuItemUI): Initialize cachedRect field. + (getPreferredMenuItemSize): Use layoutMenuItem() helper method + to determine layout. Store maximum accelerator and text width + in client properties of parent to allow correct alignment + of accelerators among menu items of one menu. + (paintMenuItem): Outsourced menu item layout into layoutMenuItem + method. Align accelerators according to the values calculated + in getPreferredMenuItemSize. + (getAcceleratorString) New helper method. + (layoutMenuItem): New helper method. + +2006-03-29 Audrius Meskauskas + + * gnu/java/rmi/activation/ActivationSystemTransient.java: Rewritten. + * gnu/java/rmi/activation/BidiTable.java: Rewritten. + * gnu/java/rmi/dgc/LeaseRenewingTask.java (constructor, sheduleLeases): + Avoid NPEs. + * gnu/java/rmi/server/ActivatableServerRef.java (getRefClass, + readExternal, writeExternal): New methods. + * gnu/java/rmi/server/UnicastRef.java (invokeCommon): Splitten into + two stages, invokeCommon(Remote, ...) and + invokeCommen(UnicastConnection, ...). + * java/rmi/server/RemoteObject.java (readObject, writeObject): Expect + also the ActivatableRef. toString(): Documented. + * gnu/java/rmi/server/ActivatableRef.java, + tools/gnu/classpath/tools/rmi/Persistent.java, + tools/gnu/classpath/tools/rmi/PersistentBidiHashTable.java, + tools/gnu/classpath/tools/rmi/PersistentHashTable.java, + tools/gnu/classpath/tools/rmi/REGISTRY.java, + tools/gnu/classpath/tools/rmi/REGISTRY.txt, + tools/gnu/classpath/tools/rmi/RMID.java, + tools/gnu/classpath/tools/rmi/RMID.txt, + tools/gnu/classpath/tools/rmi/registry/RegistryImpl.java, + tools/gnu/classpath/tools/rmi/registry/RegistryImpl_Skel.java, + tools/gnu/classpath/tools/rmi/registry/RegistryImpl_Stub.java, + tools/gnu/classpath/tools/rmi/registry/package.html, + tools/gnu/classpath/tools/rmi/rmid/ActivationSystemImpl.java, + tools/gnu/classpath/tools/rmi/rmid/ActivationSystemImpl_Stub.java: + New files. + * tools/README: Documented. + * NEWS: Added entry about the activation. + +2006-03-29 Roman Kennke + + PR 23527 + * javax/swing/plaf/basic/BasicMenuItemUI.java + (viewRect): New field. + (textRect): New field. + (accelRect): New field. + (iconRect): New field. + (arrowIconRect): New field. + (checkIconRect): New field. + (BasicMenuItemUI): Initialize new fields. + (paintMenuItem): Rewritten to correctly layout and paint + the menu item in a more straightforward way. Use cached rectangle + objects for layout. + (paintAccelerator): Pulled inside the paintMenuItem method. + +2006-03-29 Audrius Meskauskas + + * tools/gnu/classpath/tools/rmi/rmic/templates/Stub_12Method.jav: + Do not use initCause with UnexpectedException. + * tools/gnu/classpath/tools/rmi/rmic/templates/Stub_12MethodVoid.jav: + Likewise. + +2006-03-29 Mark Wielaard + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c + (setCursorID): Removed unused static variable. + +2006-03-29 David Gilbert + + * javax/swing/plaf/basic/BasicSliderUI.java: Reformatted. + +2006-03-29 Mark Wielaard + + Fixes bug #26527 + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c + (gtkWidgetSetCursorUnlocked): Call gdk_flush(). + +2006-03-28 Roman Kennke + + * javax/swing/UIManager.java + (installLookAndFeel): Implemented. + (setInstalledLookAndFeels): Implemented. + +2006-03-28 Roman Kennke + + * javax/swing/plaf/metal/MetalButtonUI.java + (update): Paint gradient only when the background color + is not a UIResource and if the button is neither armed nor + pressed and if the button is contentAreaFilled. + +2006-03-28 Roman Kennke + + * javax/swing/JLayeredPane.java + (addImpl): Repaint added component. + +2006-03-28 Ito Kazumitsu + + * java/util/regex/Matcher.java: Reverted. + +2006-03-28 Roman Kennke + + * javax/swing/text/AsyncBoxView.java + (setEstimatedMajorSpan): Made method protected. + (getEstimatedMajorSpan): Made method protected. + * javax/swing/text/BoxView.java + (flipEastAndWestAtEnds): Fixed typo. + * javax/swing/text/InternationalFormatter.java + (getActions): Made method protected. + * javax/swing/text/Position.java + (Bias): Made class final. + * javax/swing/text/html/HTML.java + (MEDIA): Made field package private. Not specified. + (NOBR): Made field package private. Not specified. + * javax/swing/text/html/NullView.java + Made class package private. + * javax/swing/text/html/parser/Entity.java + Made class non-serializable as specified. + +2006-03-28 Roman Kennke + + * javax/swing/plaf/metal/MetalButtonUI.java + (update): Don't paint gradient if the background color is + no UIResource. Removed double getModel() call. Don't check for + OceanTheme. + +2006-03-28 Roman Kennke + + * javax/swing/plaf/basic/BasicMenuItemUI.java + (paint): Call paintMenuItem with the selectionBackground as + parameter. + (paintBackground): Fixed the condition and color for the background + painting. + +2006-03-28 Roman Kennke + + * javax/swing/plaf/metal/MetalTabbedPaneUI.java + (tabsOpaque): New field. + (paintLeftTabBorder): Paint some parts only when the tabs are + opaque. Determine the tab background using the paintLeftTabBorder() + helper method. + (paintRightTabBorder): Likewise. + (installDefaults): Fetch tabsOpaque property from the UIDefaults. + +2006-03-27 Tom Tromey + + PR classpath/25189: + * java/lang/Enum.java (valueOf): Ensure that the named field + is an enum constant. + (compareTo): Check class of enum. + +2006-03-27 Tom Tromey + + * java/lang/reflect/ParameterizedType.java: Javadoc fix. + +2006-03-27 Tom Tromey + + * vm/reference/java/lang/reflect/Method.java (METHOD_MODIFIERS): + New constant. + (getModifiersInternal): Renamed from getModifiers. + (getModifiers): New method. + (isBridge): Likewise. + (isSynthetic): Likewise. + (isVarArgs): Likewise. + * vm/reference/java/lang/reflect/Field.java (FIELD_MODIFIERS): + New constant. + (getModifiersInternal): Renamed from getModifiers. + (getModifiers): New method. + (isSynthetic): Likewise. + (isEnumConstant): Likewise. + * vm/reference/java/lang/reflect/Constructor.java + (getModifiersInternal): Renamed from getModifiers. + (getModifiers): New method + (CONSTRUCTOR_MODIFIERS): New constant. + (isSynthetic): New method. + (isVarArgs): Likewise. + * java/lang/reflect/Member.java (isSynthetic): New method. + +2006-03-28 Tom Tromey + + * java/net/Proxy.java (TYPE): Added missing ";". + +2006-03-27 Andrew John Hughes + + * java/math/RoundingMode.java: + Fixed serialization UID. + * java/net/Proxy.java: + (Type): Likewise. + +2006-03-27 Andrew John Hughes + + * java/io/CharArrayWriter.java: + (append(char)): Documented. + (append(CharSequence)): Likewise. + (append(CharSequence,int,int)): Likewise. + +2006-03-27 Jeroen Frijters + + * vm/reference/java/lang/reflect/Constructor.java + (getTypeParameters): Check return value of getSignature for null. + * vm/reference/java/lang/reflect/Method.java + (getTypeParameters): Check return value of getSignature for null. + +2006-03-27 Andrew John Hughes + + * java/rmi/activation/ActivationGroup_Stub.java: + Made final. + +2006-03-27 Tom Tromey + + * java/io/CharArrayWriter.java (append): New overloads. + +2006-03-27 Lillian Angel + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c + (Java_gnu_java_awt_peer_gtk_GdkGraphics_nativeDispose): + Added check for colormap. Prevents assertion error. + (Java_gnu_java_awt_peer_gtk_GdkGraphics_setFGColor): + Likewise. + (Java_gnu_java_awt_peer_gtk_GdkGraphics_nativeCopyState): + Likewise. + (Java_gnu_java_awt_peer_gtk_GdkGraphics_initState__II): + Likewise. + (Java_gnu_java_awt_peer_gtk_GdkGraphics_initFromImage): + Likewise. + (Java_gnu_java_awt_peer_gtk_GdkGraphics_initStateUnlocked): + Likewise. + +2006-03-27 Dalibor Topic + + * m4/acinclude.m4 (CLASSPATH_FIND_JAVAC): Use + AC_MSG_ERROR instead of echoing the error message + that no compiler has been found manually. + +2006-03-27 Roman Kennke + + * javax/swing/RepaintManager.java + (commitBuffer): Use simple drawImage() method instead of the + scaling version. + +2006-03-27 Robert Schuster + + * javax/swing/text/PlainView.java: + (drawLine): Use 'endOffset' instead of 'selectionEnd' + for painting the selected line. + +2006-03-27 David Gilbert + + * javax/swing/plaf/basic/BasicSliderUI.java + (getThumbSize): Removed TODO and updated API docs. + +2006-03-27 Robert Schuster + + * javax/swing/text/DefaultCaret.java: + (mouseClicked): Word selection rewritten. + (paint): Draw line inside the bounding rectangle. + (damage): Retrieve caret height from line height. + +2006-03-28 Raif S. Naffah + + * tools/gnu/classpath/tools/jarsigner/Main.java (processArgs): Check + for null args. + Check for -help option. + * tools/gnu/classpath/tools/jarsigner/jarsigner.txt: Added -help option. + +2006-03-27 Roman Kennke + + * javax/swing/text/FieldView.java + (getPreferredSpan): Don't include trailing newline in + calculations. + * javax/swing/text/PlainView.java + (drawLine): Don't include trailing newline. + (determineMaxLineLength): Don't include trailing newline. + (getLineBuffer): Made method final. + +2006-03-27 David Gilbert + + * javax/swing/JSlider.java + (AccessibleJSlider.AccessibleJSlider): Minor API doc edit, + (AccessibleJSlider.getAccessibleRole): Removed declaration of + NotImplementedException, + (AccessibleJSlider.getAccessibleValue): Updated API docs. + +2006-03-26 Andrew John Hughes + + * java/lang/ProcessBuilder.java: + Made final. + +2006-03-26 Andrew John Hughes + + * gnu/java/net/protocol/http/Headers.java: + Match layout of file on HEAD. + * gnu/javax/swing/text/html/parser/htmlValidator.java: + Likewise. + * java/awt/datatransfer/DataFlavor.java + Likewise. + +2006-03-26 Andrew John Hughes + + * gnu/java/security/jce/hash/HavalSpi.java, + * gnu/java/security/jce/hash/MD2Spi.java, + * gnu/java/security/jce/hash/MD4Spi.java, + * gnu/java/security/jce/hash/MD5Spi.java, + * gnu/java/security/jce/hash/MessageDigestAdapter.java, + * gnu/java/security/jce/hash/RipeMD128Spi.java, + * gnu/java/security/jce/hash/RipeMD160Spi.java, + * gnu/java/security/jce/hash/Sha160Spi.java, + * gnu/java/security/jce/hash/Sha256Spi.java, + * gnu/java/security/jce/hash/Sha384Spi.java, + * gnu/java/security/jce/hash/Sha512Spi.java, + * gnu/java/security/jce/hash/TigerSpi.java, + * gnu/java/security/jce/hash/WhirlpoolSpi.java, + * gnu/java/security/jce/sig/DSSKeyPairGeneratorSpi.java, + * gnu/java/security/jce/sig/DSSRawSignatureSpi.java, + * gnu/java/security/jce/sig/KeyPairGeneratorAdapter.java, + * gnu/java/security/jce/sig/RSAPSSRawSignatureSpi.java, + * gnu/java/security/jce/sig/SignatureAdapter.java, + * gnu/java/security/key/IKeyPairCodec.java, + * gnu/java/security/key/IKeyPairGenerator.java, + * gnu/java/security/key/KeyPairGeneratorFactory.java, + * gnu/java/security/key/dss/DSSKey.java, + * gnu/java/security/key/dss/DSSKeyPairRawCodec.java, + * gnu/java/security/key/dss/DSSPrivateKey.java, + * gnu/java/security/key/dss/DSSPublicKey.java, + * gnu/java/security/key/dss/FIPS186.java, + * gnu/java/security/key/rsa/GnuRSAKey.java, + * gnu/java/security/key/rsa/GnuRSAPrivateKey.java, + * gnu/java/security/key/rsa/GnuRSAPublicKey.java, + * gnu/java/security/sig/ISignature.java, + * gnu/java/security/sig/ISignatureCodec.java, + * gnu/java/security/sig/dss/DSSSignature.java, + * gnu/java/security/sig/dss/DSSSignatureRawCodec.java, + * gnu/java/security/sig/rsa/RSAPSSSignature.java, + * gnu/java/security/sig/rsa/RSAPSSSignatureRawCodec.java, + * gnu/java/security/util/Util.java: + Remove CVS revision tags. + +2006-03-26 Tom Tromey + + * java/io/InputStream.java (InputStream): Implements Closeable. + +2006-03-26 Ito Kazumitsu + + * gnu/regexp/CharIndexed.java(setLastMatch, getLastMatch, getAnchor): + New methods. + * gnu/regexp/CharIndexedCharArray.java(setLastMatch, getLastMatch, + getAnchor): New methods. + * gnu/regexp/CharIndexedInputStream.java(setLastMatch, getLastMatch, + getAnchor): New methods. + * gnu/regexp/CharIndexedString.java(setLastMatch, getLastMatch, + getAnchor): New methods. + * gnu/regexp/CharIndexedStringBuffer.java(setLastMatch, getLastMatch, + getAnchor): New methods. + * gnu/regexp/REMatch.java(start1): New field. + * gnu/regexp/RE.java(initialize): Added support for \z and \G, + (match): set the starting position to start1[] instead of start[], + (getMatchImpl): Set the found REMatch to the input, + (makeCharIndexed): Made public. + * gnu/regexp/RETokenEndOfPreviousMatch.java: New file. + * gnu/regexp/RETokenEndSub.java(matchThis, findMatch): + set the value of start[] copying from start1[]. + * gnu/regexp/RETokenLookBehind.java(matchThis): Added the settings of + offset. + * java/util/regex/Matcher.java(inputCharIndexed): New field + to be used as a parameter of the RE#getMatch. + +2006-03-26 Audrius Meskauskas + + * gnu/java/rmi/activation/DefaultActivationGroup.java: + Documented the default jre spawning strategy (none). + * java/rmi/activation/ActivationGroup.java (currentGroupId, + getSystem): Obtain the acticivation system from the + DefaultActivationSystem. + +2006-03-26 Raif S. Naffah + + * tools/gnu/classpath/tools/jarsigner/Main.java (setupSigningParams): + Ask user for keystore password if one was not provided. + +2006-03-26 Raif S. Naffah + + * tools/README: Added Security tools section. + Documented the jarsigner tool. + +2006-03-25 David Gilbert + + * javax/swing/JScrollBar.java + (AccessibleJScrollBar.getAccessibleStateSet): Implemented, + (AccessibleJScrollBar.getAccessibleRole): Likewise, + (AccessibleJScrollBar.getAccessibleValue): Likewise, + (AccessibleJScrollBar.getCurrentAccessibleValue): Likewise, + (AccessibleJScrollBar.setCurrentAccessibleValue): Likewise, + (AccessibleJScrollBar.getMinimumAccessibleValue): Likewise, + (AccessibleJScrollBar.getMaximumAccessibleValue): Likewise, + (getAccessibleContext): Updated API docs. + +2006-03-25 Tom Tromey + + * .externalToolBuilders/CreateLocaleData.launch: Run if resource files + change or if generator script changes. + +2006-03-25 Tom Tromey + + * javax/naming/ldap/StartTlsRequest.java: New file. + * javax/naming/ldap/StartTlsResponse.java: New file. + +2006-03-25 Olivier Jolly + + * java/net/URLClassLoader.java (FileURLLoader.getResource): Added test + to validate all components of a resource path. + (FileURLLoader.walkPathComponents): Helper which ensures that we are + allowed to walk through every component of a resource path. + +2006-03-25 Michael Koch + + * NEWS: Added item for CLDR 1.3 update. + +2006-03-25 Michael Koch + + * resource/gnu/java/locale/LocaleInformation_ar_IN.properties, + resource/gnu/java/locale/LocaleInformation_ar_IQ.properties, + resource/gnu/java/locale/LocaleInformation_ar_KW.properties, + resource/gnu/java/locale/LocaleInformation_ar_LY.properties, + resource/gnu/java/locale/LocaleInformation_mn_MN.properties, + resource/gnu/java/locale/LocaleInformation_uz_AF.properties: + Removed locales. + +2006-03-25 Michael Koch + + * resource/gnu/java/locale/LocaleInformation_az.properties, + resource/gnu/java/locale/LocaleInformation_bs.properties, + resource/gnu/java/locale/LocaleInformation_byn.properties, + resource/gnu/java/locale/LocaleInformation_byn_ER.properties, + resource/gnu/java/locale/LocaleInformation_el_CY.properties, + resource/gnu/java/locale/LocaleInformation_gez.properties, + resource/gnu/java/locale/LocaleInformation_gez_ER.properties, + resource/gnu/java/locale/LocaleInformation_gez_ET.properties, + resource/gnu/java/locale/LocaleInformation_haw.properties, + resource/gnu/java/locale/LocaleInformation_haw_US.properties, + resource/gnu/java/locale/LocaleInformation_kok.properties, + resource/gnu/java/locale/LocaleInformation_kok_IN.properties, + resource/gnu/java/locale/LocaleInformation_sid.properties, + resource/gnu/java/locale/LocaleInformation_sid_ET.properties, + resource/gnu/java/locale/LocaleInformation_sl_SI.properties, + resource/gnu/java/locale/LocaleInformation_sr_BA_Cyrl.properties, + resource/gnu/java/locale/LocaleInformation_sr_BA_Latn.properties, + resource/gnu/java/locale/LocaleInformation_sr_Cyrl.properties, + resource/gnu/java/locale/LocaleInformation_syr.properties, + resource/gnu/java/locale/LocaleInformation_syr_SY.properties, + resource/gnu/java/locale/LocaleInformation_tig.properties, + resource/gnu/java/locale/LocaleInformation_tig_ER.properties, + resource/gnu/java/locale/LocaleInformation_uz_AF_Arab.properties, + resource/gnu/java/locale/LocaleInformation_uz_Arab.properties, + resource/gnu/java/locale/LocaleInformation_uz_Latn.properties, + resource/gnu/java/locale/LocaleInformation_wal.properties, + resource/gnu/java/locale/LocaleInformation_wal_ET.properties: + New locales. + +2006-03-25 Michael Koch + + * resource/gnu/java/locale/LocaleInformation_fa.properties, + resource/gnu/java/locale/LocaleInformation_kn.properties, + resource/gnu/java/locale/LocaleInformation_kn_IN.properties, + resource/gnu/java/locale/LocaleInformation_ko.properties, + resource/gnu/java/locale/LocaleInformation_sl.properties, + resource/gnu/java/locale/LocaleInformation_so.properties, + resource/gnu/java/locale/LocaleInformation_so_DJ.properties, + resource/gnu/java/locale/LocaleInformation_so_ET.properties, + resource/gnu/java/locale/LocaleInformation_so_SO.properties, + resource/gnu/java/locale/LocaleInformation_sr.properties: + Random fixes I forgot to commit before. + +2006-03-25 Michael Koch + + * resource/gnu/java/locale/LocaleInformation_ar_JO.properties, + resource/gnu/java/locale/LocaleInformation_ar_QA.properties, + resource/gnu/java/locale/LocaleInformation_ar_SA.properties, + resource/gnu/java/locale/LocaleInformation_ar_SY.properties, + resource/gnu/java/locale/LocaleInformation_ar_TN.properties, + resource/gnu/java/locale/LocaleInformation_ar_YE.properties, + resource/gnu/java/locale/LocaleInformation_as_IN.properties, + resource/gnu/java/locale/LocaleInformation_be_BY.properties, + resource/gnu/java/locale/LocaleInformation_bn_IN.properties, + resource/gnu/java/locale/LocaleInformation_en.properties, + resource/gnu/java/locale/LocaleInformation_en_IN.properties, + resource/gnu/java/locale/LocaleInformation_en_PK.properties, + resource/gnu/java/locale/LocaleInformation_en_US_POSIX.properties, + resource/gnu/java/locale/LocaleInformation_es_PY.properties, + resource/gnu/java/locale/LocaleInformation_fa.properties, + resource/gnu/java/locale/LocaleInformation_fa_AF.properties, + resource/gnu/java/locale/LocaleInformation_fa_IR.properties, + resource/gnu/java/locale/LocaleInformation_gu_IN.properties, + resource/gnu/java/locale/LocaleInformation_hi_IN.properties, + resource/gnu/java/locale/LocaleInformation_ja_JP.properties, + resource/gnu/java/locale/LocaleInformation_kn_IN.properties, + resource/gnu/java/locale/LocaleInformation_mr_IN.properties, + resource/gnu/java/locale/LocaleInformation_or_IN.properties, + resource/gnu/java/locale/LocaleInformation_pa.properties, + resource/gnu/java/locale/LocaleInformation_pa_IN.properties, + resource/gnu/java/locale/LocaleInformation_ps_AF.properties, + resource/gnu/java/locale/LocaleInformation_ru_RU.properties, + resource/gnu/java/locale/LocaleInformation_sa.properties, + resource/gnu/java/locale/LocaleInformation_sa_IN.properties, + resource/gnu/java/locale/LocaleInformation_ta_IN.properties, + resource/gnu/java/locale/LocaleInformation_te_IN.properties: + Updated currency formats. + +2006-03-25 Roman Kennke + + * javax/swing/text/AbstractDocument.java + (getAttributeContext): Made method final. + (getCurrentWriter): Likewise. + (getEndPosition): Likewise. + (getProperty): Likewise. + (getStartPosition): Likewise. + (putProperty): Likewise. + (readLock): Likewise. + (readUnlock): Likewise. + (writeLock): Likewise. + (writeUnlock): Likewise. + +2006-03-25 Roman Kennke + + * javax/swing/InputMap.java + (allKeys): Check if parent keys is null. + * javax/swing/KeyboardManager.java + (registerEntireMap): Also register map's parent keys. + * javax/swing/plaf/metal/MetalRootPaneUI.java + (propertyChange): Also call super.propertyChange(). + +2006-03-25 Raif S. Naffah + + * tools/gnu/classpath/tools/jarsigner/HashUtils.java: New file. + * tools/gnu/classpath/tools/jarsigner/JarSigner.java: Likewise. + * tools/gnu/classpath/tools/jarsigner/JarVerifier.java: Likewise. + * tools/gnu/classpath/tools/jarsigner/Main.java (Main): Likewise. + * tools/gnu/classpath/tools/jarsigner/SFHelper.java: Likewise. + * tools/gnu/classpath/tools/jarsigner/jarsigner.txt: Likewise. + +2006-03-25 Raif S. Naffah + + * gnu/java/util/jar/JarUtils.java: New file. + * java/util/jar/Manifest.java (CRLF): Removed. + (read_main_section): Likewise. + (read_version_info): Likewise. + (expect_header(String,BufferedReader)): Likewise. + (expect_header(String,BufferedReader,String)): Likewise. + (read_header_value): Likewise. + (read_attributes): Likewise. + (read_attribute): Likewise. + (read_individual_sections): Likewise. + (read_section_name): Likewise. + (write_main_section): Likewise. + (write_version_info): Likewise. + (write_header): Likewise. + (write_main_attributes): Likewise. + (write_attribute_entry): Likewise. + (write_individual_sections): Likewise. + (write_entry_attributes): Likewise. + (read): use JarUtils. + (write): Likewise. + +2006-03-25 Raif S. Naffah + + * gnu/java/security/pkcs/SignerInfo.java (log): New field. + (DEBUG): Removed. + (debug): Likewise. + (SignerInfo(BERReader)): Updated javadoc. + Use JDK logging. + (SignerInfo(X500Principal,BigInteger,OID,byte[],OID,byte[],byte[])): + New constructor. + (encode): New method. + * gnu/java/security/pkcs/PKCS7SignedData.java (log): New field. + (PKCS7_DATA): Removed. + (DEBUG): Likewise. + (debug): Likewise. + (PKCS7SignedData(BERReader)): Updated javadoc. + Use JDK logging. + (PKCS7SignedData(Set,PKCS7Data,Certificate[],X509CRL[],Set)): New + constructor. + (encode): New method. + * gnu/java/security/pkcs/PKCS7Data.java: New file. + * gnu/java/security/key/dss/DSSKeyPairPKCS8Codec.java (log): New field. + (encodePrivateKey): Encode x (private MPN) as an OCTET STRING. + (decodePrivateKey): Decode x from an OCTET STRING. + * gnu/java/security/key/dss/DSSPublicKey.java (str): New field. + (toString): New method. + * gnu/java/security/key/dss/DSSPrivateKey.java (DEBUG): New field. + (str): Likewise. + (toString): New method. + * gnu/java/security/key/dss/DSSKey.java (str): New Field. + (toString): New method. + * gnu/java/security/provider/DSAParameterGenerator.java: Removed. + +2006-03-25 Roman Kennke + + * java/util/GregorianCalender.java + (computeTime): Fix comparison to correctly calculate the + calendar. + +2006-03-25 Wolfgang Baer + + Fixes bug #26837 + * java/awt/Window.java: + (setFocusCycleRoot): New overriden method. + (isFocusCycleRoot): Likewise. + (getFocusCycleRootAncestor): Likewise. + * java/awt/Container.java: + (getFocusTraversalPolicy): Check also for anchestor == null. + +2006-03-25 Mark Wielaard + + Fixes bug #26863 reported by John K Peterson + * gnu/java/util/prefs/NodeWriter.java (writeRoot): Don't immediately + close root tag. + +2006-03-24 Tom Tromey + + * javax/imageio/stream/ImageOutputStreamImpl.java (writeBytes): + Rewrote. + (writeChar): Removed useless cast. + (writeChars(String)): Implemented. + (writeDouble): Rewrote. + (writeFloat): Likewise. + (writeUTF): Implemented. + * javax/imageio/stream/ImageInputStreamImpl.java (byteOrder): Default + to big endian. + +2006-03-24 Roman Kennke + + * javax/swing/JButton.java + (def): Replaced field with defaultCapable field. + (is_def): Removed field. + (JButton): Initialize defaultCapable with true. + (isDefaultButton): Documented and implemented method by querying + the button's root pane if present. + (isDefaultCapable): Changed def field to defaultCapable. + Added documentation. + (paramString): Call isDefaultButton() instead of accessing field, + which got removed. + (setDefaultCapable): Changed def field to defaultCapable. + Added documentation. + * javax/swing/JRootPane.java + (setDefaultButton): Only change the default button if the + new button is defaultCapable. + * javax/swing/plaf/basic/BasicRootPaneUI.java + (DefaultPressAction): New class. + (DefaultReleaseAction): New class. + (installKeyboardActions): Implemented. + (uninstallKeyboardActions): Implemented. + (propertyChange): Implemented. + * javax/swing/plaf/metal/MetalBorders.java + (ButtonBorder.paintBorder): 'Outsourced' default theme + painting to paintDefaultButtonBorder(). + (ButtonBorder.paintDefaultButtonBorder): New helper method + to paint the border in the default theme. This also fixes + painting of the border for default buttons. + (ButtonBorder.paintOceanButtonBorder): Added support for + default button painting. Fixed border for pressed/default state. + * javax/swing/plaf/metal/MetalButtonUI.java + (update): Only paint gradient when in OceanTheme and when the + button is not armed. + +2006-03-24 Audrius Meskauskas + + * gnu/java/rmi/activation/ActivationSystemTransient.java: + Inherit from Activator. + +2006-03-24 Audrius Meskauskas + + * gnu/java/rmi/activation/DefaultActivationGroup.java (newInstance): + Print debug message if debug flag is set. + * gnu/java/rmi/activation/DefaultActivationSystem.java: Rewritten. + * gnu/java/rmi/server/ActivatableServerRef.java (activate): assign + detail, do not call iniCause(). (exportClass): New method. + * gnu/java/rmi/server/CombinedClassLoader.java (constructor): + Ignore null (bootstrap) class loader. + * gnu/java/rmi/server/UnicastServerRef.java (methods, skel, stub, + buildMethodHash, findStubSkelClass, getHelperClass): Changed + visibility to protected. + * java/rmi/activation/Activatable.java (export, register): Rewritten. + (toStub): New method. + * java/rmi/activation/ActivationGroup.java (getSystem): Rewritten. + * java/rmi/activation/ActivationSystem.java (SYSTEM_PORT): + Explained property java.rmi.activation.port. + +2006-03-24 Tom Tromey + + * .externalToolBuilders/CreateLocaleData.launch: Updated. + * gnu/java/locale/.cvsignore: New file. + * lib/Makefile.am (LocaleData.java): Put in gnu/java/locale. + * java/util/Locale.java (getAvailableLocales): Clone result. + (getISOCountries): Likewise. + (getISOLanguages): Likewise. + * scripts/generate-locale-list.sh: Make class public. Added new + array. + * gnu/java/locale/LocaleHelper.java (getCollatorLocales): New method. + (getLocaleCount): Likewise. + * java/text/Collator.java (getInstance): Javadoc typo fix. + (getAvailableLocales): Wrote. + +2006-03-24 Roman Kennke + + * javax/swing/JTabbedPane.java + (getSelectedComponent): Return null when no component is + selected. + +2006-03-24 Mark Wielaard + + * NEWS: Add cursor and selection improvements. + +2006-03-23 David Gilbert + + * java/awt/Component.java + (getAccessibleName): Just return accessibleName, + * javax/swing/AbstractButton.java + (getAccessibleStateSet): Mark as stub, + (getAccessibleName): Implemented, + (getAcessibleIcon): Mark as stub, + (getAccessibleRelationSet): Likewise, + (getAccessibleAction): Likewise, + (getAccessibleValue): Likewise, + (getAccessibleActionCount): Likewise, + (getAccessibleActionDescription): Likewise, + (doAccessibleAction): Likewise, + (getCurrentAccessibleValue): Likewise, + (setCurrentAccessibleValue): Likewise, + (getMinimumAccessibleValue): Likewise, + (getMaximumAccessibleValue): Likewise, + (getAccessibleText): Likewise, + (getIndexAtPoint): Likewise, + (getCharacterBounds): Likewise, + (getCharCount): Likewise, + (getCaretPosition): Likewise, + (getAtIndex): Likewise, + (getAfterIndex): Likewise, + (getBeforeIndex): Likewise, + (getCharacterAttribute): Likewise, + (getSelectionStart): Likewise, + (getSelectionEnd): Likewise, + (getSelectedText): Likewise, + (getTextRectangle): Likewise, + (setIconTextGap): Fire PropertyChangeEvent, not state changed, + (getIconTextGap): Added @since 1.4, + (setContentAreaFilled): Reordered code to make event sequence match + reference implementation, + * javax/swing/JButton.java + (getSelectedObjects): Removed, + *javax/swing/JComponent.java + (getAccessibleName): Call super. + +2006-03-23 David Gilbert + + * javax/swing/JProgressBar.java + (AccessibleJProgressBar.getAccessibleStateSet): Implemented, + (AccessibleJProgressBar.getAccessibleRole): Added API docs, + (AccessibleJProgressBar.getAccessibleValue): Implemented, + (AccessibleJProgressBar.getCurrentAccessibleValue): Likewise, + (AccessibleJProgressBar.setCurrentAccessibleValue): Likewise, + (AccessibleJProgressBar.getMinimumAccessibleValue): Likewise, + (AccessibleJProgressBar.getMaximumAccessibleValue): Likewise, + (getAccessibleContext): Added API docs. + +2006-03-23 Robert Schuster + + * javax/swing/plaf/basic/BasicTextUI.java: + (FocusListener.focusLost): Put current selection into the system + clipboard. + +2006-03-23 Robert Schuster + + * java/awt/Component.java: + (processMouseEvent): Remove call to consume event. + (dispatchEventImpl): Handle specific events first, do focus request + only when mouse event was not yet consumed. + * javax/swing/text/DefaultCaret.java: + (mousePressed): Rewritten. + (setDot): Changed order of operations. + (moveDot): Dito. + +2006-03-23 David Gilbert + + * javax/swing/JComponent.java + (AccessibleJComponent.changeSupport): Removed field, + (AccessibleJComponent.AccessibleJComponent): Updated for removed field, + (AccessibleJComponent.addPropertyChangeListener): Call super, + (AccessibleJComponent.removePropertyChangeListener): Likewise, + * javax/swing/JSlider.java + (AccessibleJSlider.getAccessibleStateSet): Implemented, + (AccessibleJSlider.getAccessibleRole): Likewise, + (AccessibleJSlider.getAccessibleValue): Likewise, + (AccessibleJSlider.getCurrentAccessibleValue): Likewise, + (AccessibleJSlider.setCurrentAccessibleValue): Likewise, + (AccessibleJSlider.getMinimumAccessibleValue): Likewise, + (AccessibleJSlider.getMaximumAccessibleValue): Likewise, + (getAccessibleContext): Added API docs. + +2006-03-23 Audrius Meskauskas + + * gnu/java/rmi/activation/ActivationSystemTransient.java + (debug): Made public. (constructor): Made protected. + (activate, getActivationDesc): Throw more informative exceptions. + * gnu/java/rmi/server/UnicastConnectionManager.java (toString): + New method. + * gnu/java/rmi/server/UnicastRef.java (remoteToString): + Stub, implemented. + * gnu/java/rmi/server/UnicastServer.java (incomingMessageCall): + Documented. + * gnu/java/rmi/server/UnicastServerRef.java (incomingMessageCall): + Better exception. + * java/rmi/activation/Activatable.java (obtainId): Use the activation + system, passed in the activation descriptor field. + * java/rmi/activation/ActivationGroup.java (createGroup): Likewise. + * java/rmi/activation/ActivationGroupID.java (system, uid): Changed + to package private final. (equals): Compare uid, not the system. + (hashCode): Forward to uid.hashCode(). toString(): New method. + * java/rmi/activation/ActivationID.java (readObject, writeObject): + Rewritten. (equals): Compare UID only. toString(): New method. + * java/rmi/server/ObjID.java (eq): New method. (equals): Compare also + UID (space). (hashCode, toString): Rewritten. + * java/rmi/server/RemoteObjectInvocationHandler.java (noArgs): + New method. (invoke): Treat null as an empty array for parameters. + * java/rmi/server/UID.java (toString): Rewritten. (hashCode): + Include count, do not include the static machineId. + +2006-03-23 Tom Tromey + + * java/net/URLConnection.java (getContent(Class[])): Implemented. + +2006-03-23 Audrius Meskauskas + + * tools/gnu/classpath/tools/giop/GRMIC.java (main): Accept -force. + * tools/gnu/classpath/tools/giop/GRMIC.txt: Explain -force. + * tools/gnu/classpath/tools/giop/grmic/GiopRmicCompiler.java + (force): New field. (setForce): New method. (compile): Handle -force. + * tools/gnu/classpath/tools/rmi/RMIC.java (main): Accept -force. + * tools/gnu/classpath/tools/rmi/RMIC.txt: Explain -force. + +2006-03-23 Roman Kennke + + * javax/swing/JTabbedPane.java + (Page.getBackground): Return the JTabbedPane's background, + rather than the page's component background. + (Page.getForeground): Return the JTabbedPane's foreground, + rather than the page's component foreground. + * javax/swing/plaf/basic/BasicTabbedPaneUI.java + (uninstallUI): Don't set colors to null. + * javax/swing/plaf/metal/MetalTabbedPaneUI.java + (paintTabBackground): Correctly determine the tab background. + (getUnselectedBackground): New helper method to + handle the UI property 'TabbedPane.unselectedBackground' + correctly. + +2006-03-23 Audrius Meskauskas + + * javax/swing/plaf/basic/BasicInternalFrameUI.java + (BorderListener.showingResizeCursor): New field. + (BorderListener.mouseMoved, BorderListner.mouseExited): + Implemented. + +2006-03-23 David Gilbert + + * javax/swing/JComboBox.java + (selectWithKeyChar): Mark as stub, + * javax/swing/JFileChooser.java + (setDragEnabled): Mark as stub, + (getDragEnabled): Likewise, + * javax/swing/JSlider.java + (AccessibleJSlider.getAccessibleStateSet): Mark as stub, + (AccessibleJSlider.getAccessibleRole): Likewise, + (AccessibleJSlider.getAccessibleValue): Likewise, + (AccessibleJSlider.getCurrentAccessibleValue): Likewise, + (AccessibleJSlider.setCurrentAccessibleValue): Likewise, + (AccessibleJSlider.getMinimumAccessibleValue): Likewise, + (AccessibleJSlider.getMaximumAccessibleValue): Likewise, + * javax/swing/UIManager.java + (installLookAndFeel): Mark as stub, + (setInstalledLookAndFeels): Likewise. + +2006-03-23 David Gilbert + + * javax/swing/filechooser/UnixFileSystemView.java + (getSystemDisplayName): Mark as stub, + (getSystemIcon): Likewise, + (getSystemTypeDescription): Likewise. + +2006-03-23 David Gilbert + + * javax/swing/tree/AbstractLayoutCache.java + (getNodeDimensions): Mark as stub, + (getPreferredHeight): Likewise, + (getPreferredWidth): Likewise, + (getRowsForPaths): Likewise, + (isFixedRowHeight): Likewise, + * javax/swing/tree/DefaultTreeModel.java + (reload()): Mark as stub, + (reload(TreeNode)): Likewise, + (nodeStructureChanged): Likewise, + * javax/swing/tree/DefaultTreeSelectionModel.java + (clone): Mark as stub, + (setRowMapper): Likewise, + (setSelectionPaths): Likewise, + (isRowSelected): Likewise, + (resetRowSelection): Likewise, + (insureRowContinuity): Likewise, + (arePathsContiguous): Likewise, + (canPathsBeAdded): Likewise, + (canPathsBeRemoved): Likewise, + (notifyPathChange): Likewise, + (updateLeadIndex): Likewise, + (insureUniqueness): Likewise, + * javax/swing/tree/FixedHeightLayoutCache.java: Marked all methods as + stubs, + * javax/swing/tree/VariableHeightLayoutCache.java: Likewise. + +2006-03-22 Tom Tromey + + * javax/swing/text/StyleContext.java (getStaticAttribute): Mark as + stub. + (getStaticAttributeKey): Likewise. + (readAttributeSet): Likewise. + (writeAttributeSet): Likewise. + (readAttributes): Likewise. + (writeAttributes): Likewise. + * javax/swing/text/html/HTMLEditorKit.java (insertAtBoundary): Mark + as stub. + * javax/swing/text/html/HTMLDocument.java (setParagraphAttributes): + Mark as stub. + (fireChangedUpdate): Likewise. + (start): Likewise. + (end): Likewise. + (handleEndOfLineString): Likewise. + (textAreaContent): Likewise. + (preContent): Likewise. + (addSpecialElement): Likewise. + (setInnerHTML): Likewise. + (setOuterHTML): Likewise. + (insertBeforeStart): Likewise. + (insertBeforeEnd): Likewise. + (insertAfterEnd): Likewise. + (insertAfterStart): Likewise. + * javax/swing/table/JTableHeader.java (AccessibleJTableHeaderEntry): + Mark all methods as stub.s + * javax/swing/plaf/metal/MetalTreeUI.java (decodeLineStyle): Mark + as stub. + (paintHorizontalSeparators): Likewise. + * javax/swing/plaf/basic/BasicLookAndFeel.java (loadSystemColors): + Mark as stub. + * javax/swing/MenuSelectionManager.java (processKeyEvent): Mark as + stub. + * java/beans/beancontext/BeanContextSupport.java: Mark most methods + as stubs. + * java/beans/beancontext/BeanContextServicesSupport.java: Mark most + methods as stubs. + +2006-03-22 Mark Wielaard + + * gnu/java/awt/peer/gtk/GtkCursor.java: New class. + +2006-03-22 Mark Wielaard + + Fixes bug #26527 + * gnu/java/awt/peer/gtk/GtkComponentPeer.java (gtkWidgetSetCursor): + Takes GtkImage, x and y coordinates. + (gtkWidgetSetCursorUnlocked): Likewise. + (GtkComponentPeer): Set cursor when set. + (setCursor): Handle GtkCursor. + * gnu/java/awt/peer/gtk/GtkToolkit.java (createCustomCursor): + New method. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c + (gtkWidgetSetCursor): Takes GtkImage, x and y coordinates. + (gtkWidgetSetCursorUnlocked): Likewise. Handle custom image. + * include/gnu_java_awt_peer_gtk_GtkComponentPeer.h: Regenerated. + +2006-03-23 Roman Kennke + + PR 26805 + * gnu/java/security/Registry.java + (PKCS5_PAD): Added pad PKCS#5 algorithm. + * gnu/javax/crypto/pad/PadFactory.java + (getInstance): For PKCS#5, also return PKCS#7 pad + algorithm. + (getNames): Added PKCS#5. + * javax/crypto/KeyGenerator.java + (getInstance): Initialize key generator before returning + it. + +2006-03-23 Ito Kazumitsu + + * gnu/regexp/RE.java(REG_X_COMMENTS): New copilation flag, + (initialize): Ignore whiltespaces and comments if REG_X_COMMENTS is set. + * java/util/regex/Pattern.java(constructor): Set RE.REG_X_COMMENTS + if COMMENTS is set. + +2006-03-22 Tom Tromey + + * javax/swing/plaf/synth/SynthStyle.java (getInt): Implemented. + (getBoolean): Likewise. + (getString): Likewise. + (getIcon): Likewise. + +2006-03-22 Mark Wielaard + + Fixes bug #26301 + * gnu/java/awt/peer/GLightweightPeer.java: Extend MouseAdapter. + (GLightweightPeer(Component)): Install MouseListener. + (setCursor): Implement. + (mouseEntered): New method. + +2006-03-22 Tom Tromey + + * javax/swing/plaf/synth/ColorType.java (MAX_COUNT): No longer + constant. + * javax/swing/plaf/synth/SynthStyle.java (getColorForState): Now + protected. + (getFontForState): Likewise. + (getInsets): Added 'result' argument. + (getPainter): Renamed. + +2006-03-22 Tom Tromey + + * javax/swing/plaf/synth/SynthPainter.java + (paintScrollBarThumbBackground): Added 'orientation' argument. + (paintScrollBarThumbBorder): Likewise. + (paintSliderThumbBackground): Likewise. + (paintSliderThumbBorder): Likewise. + (paintTabbedPaneTabBackground): Added 'index' argument. + (paintTabbedPaneTabBorder): Likewise. + +2006-03-22 Tom Tromey + + * java/awt/ScrollPaneAdjustable.java (paramString): Implemented. + (toString): New method. + +2006-03-22 Tom Tromey + + * doc/hacking.texinfo (Source Code Style Guide): Mention + NotImplementedException. + * javax/imageio/stream/MemoryCacheImageOutputStream.java + (flushBefore): Mark as stub. + (read): Likewise. + * javax/imageio/stream/MemoryCacheImageInputStream.java (flushBefore): + Mark as stub. + * javax/imageio/stream/ImageOutputStreamImpl.java (flushBits): Mark + as stub. + (write): Likewise. + (writeBit): Likewise. + (writeChars): Likewise. + (writeUTF): Likewise. + * javax/imageio/stream/FileCacheImageOutputStream.java (read): Mark + as stub. + (read): Likewise. + * java/net/URLConnection.java (getContent): Mark as stub. + * java/awt/Window.java (applyResourceBundle): Mark as stub. + * java/awt/TexturePaint.java (createContext): Mark as stub. + (getTransparency): Mark as stub. + * java/awt/ScrollPaneAdjustable.java (paramString): Mark as stub. + * java/awt/GridBagLayout.java (AdjustForGravity): Mark as stub. + * java/awt/GraphicsConfiguration.java (getBufferCapabilities): Mark as + stub. + (getImageCapabilities): Likewise. + * java/awt/BasicStroke.java (createStrokedShape): Mark as stub. + * java/awt/AlphaComposite.java (createContext): Mark as stub. + * java/awt/image/renderable/RenderableImageProducer.java: Mark all + methods as stubs. + * java/awt/font/TextMeasurer.java (deleteChar): Mark as stub. + (getAdvanceBetween): Likewise. + (getLayout): Likewise. + (insertChar): Likewise. + (getLineBreakIndex): Likewise. + * java/awt/font/ShapeGraphicAttribute.java (draw): Mark as stub. + (getAdvance): Likewise. + (getAscent): Likewise. + (getDescent): Likewise. + * java/awt/font/LineBreakMeasurer.java (deleteChar): Mark as stub. + (insertChar): Likewise. + (nextLayout): Likewise. + (nextLayout): Likewise. + (nextOffset): Likewise. + (nextOffset): Likewise. + * java/awt/font/ImageGraphicAttribute.java (draw): Mark as stub. + (equals): Likewise. + (getAdvance): Likewise. + (getAscent): Likewise. + (getBounds): Likewise. + (getDescent): Likewise. + (hashCode): Likewise. + (ImageGraphicAttribute): Likewise. + * java/awt/font/GraphicAttribute.java (getBounds): Mark as stub. + (getJustificationInfo): Likewise. + * java/awt/font/GlyphVector.java (getGlyphCharIndex): Mark as stub. + (getGlyphCharIndices): Likewise. + (getGlyphOutline): Likewise. + (getGlyphPixelBounds): Likewise. + (getLayoutFlags): Likewise. + (getPixelBounds): Likewise. + * java/awt/font/GlyphMetrics.java (getLSB): Mark as stub. + (getRSB): Likewise. + * java/nio/channels/Channels.java (newWriter): Mark as stub. + * java/awt/dnd/DragSourceContext.java: Marked most methods as stubs. + * java/awt/dnd/DragGestureRecognizer.java (fireDragGestureRecognized): + Mark as stub. + (resetRecognizer): Likewise. + * java/awt/datatransfer/SystemFlavorMap.java (getFlavorsForNative): + Mark as stub. + (getNativesForFlavor): Likewise. + * javax/swing/plaf/synth/SynthStyle.java: Mark all methods as stub.s + * javax/swing/plaf/synth/SynthLookAndFeel.java (updateStyles): Mark + as stub. + (getRegion): Likewise. + (createUI): Likewise. + (initialize): Likewise. + (uninitialize): Likewise. + (getDefaults): Likewise. + (load): Likewise. + (shouldUpdateStyleOnAncestorChanged): Likewise. + * javax/swing/plaf/synth/SynthGraphicsUtils.java (getMinimumSize): + Mark as stub. + (getPreferredSize): Likewise. + (getMaximumSize): Likewise. + (paintText): Likewise. + * java/text/RuleBasedCollator.java (getCollationElementIterator): Mark + as stub. + * java/text/Collator.java (getAvailableLocales): Mark as stub. + +2006-03-22 Wolfgang Baer + + * java/io/ObjectStreamConstants.java: Added since tag. + (PROTOCOL_VERSION_1): Added javadoc. + (PROTOCOL_VERSION_2): Likewise. + * java/io/ObjectOutputStream.java: + (setDefaultProtocolVersion): Removed. + (useProtocolVersion): Fixed parameter tests. Updated javadoc. + +2006-03-21 Lillian Angel + + * gnu/javax/imageio/bmp/BMPInfoHeader.java + (BMPInfoHeader): Removed debug lines. + * gnu/javax/imageio/bmp/EncodeRLE4.java + (encode): Implemented. + (uncompress): New function implemented to + uncompress the image before encoding. + * gnu/javax/imageio/bmp/EncodeRLE8.java + (encode): Implemented. + (uncompress): New function implemented to + uncompress the image before encoding. + +2006-03-21 Roman Kennke + + * javax/swing/text/html/FormView.java + (getImageData): New helper method. + +2006-03-21 Tom Tromey + + * vm/reference/gnu/classpath/Unsafe.java (arrayBaseOffset): Javadoc + fix. + (Unsafe): Now final. + +2006-03-21 Roman Kennke + + * javax/swing/text/html/FormView.java + (MouseEventListener): New inner class. + +2006-03-21 Roman Kennke + + * javax/swing/text/html/ListView.java: New file. + +2006-03-21 Tom Tromey + + * java/text/Bidi.java: Completed. + +2006-03-21 Anthony Balkissoon + + * javax/swing/JTable.java: + (columnAtPoint): Removed the null check, this method should throw a NPE + if the argument is null. + +2006-03-21 Robert Schuster + + * javax/swing/text/DefaultHighlighter.java: + (DefaultHighlighter.DefaultHighlightPainter.paint): Rewritten. + +2006-03-21 Robert Schuster + + * javax/swing/text/DefaultCaret.java: Added class variable denoting + the textcomponent having a selection. + (clearSelection): Clear 'componentWithSelection' variable. + (handleSelection): Clear selection of current component having a + selection before setting a new selection in another component. + (mouseDragged): Only react on left mouse button. + (mouseClicked): Only react on left mouse button. + +2006-03-21 Roman Kennke + + * javax/swing/plaf/metal/MetalTabbedPaneUI.java + (paintContentBorderTopEdge): Implemented. + (paintContentBorderBottomEdge): Implemented. + (paintContentBorderLeftEdge): Implemented. + (paintContentBorderRightEdge): Implemented. + (isLastTabInRun): New helper method. + +2006-03-21 Roman Kennke + + * javax/swing/JTabbedPane.java + (Page.getForeground): Fall back to returning the tabbed pane's + foreground if no foreground has been exclicitly set. + +2006-03-21 Roman Kennke + + * javax/swing/plaf/metal/MetalComboBoxButton.java + (setEnabled): Update colors of button correctly. + * javax/swing/plaf/metal/MetalComboBoxUI.java + (MetalPropertyChangeListener.propertyChange): Update the colors + of the list and the button when any of the color properties + of the ComboBox change. + +2006-03-21 Roman Kennke + + * javax/swing/plaf/basic/BasicButtonUI.java + (uninstallDefaults): Only nullify button colors if they are + not UIResource instances. + +2006-03-21 David Gilbert + + * javax/swing/JComponent.java + (AccessibleJComponent.getAccessibleDescription): Call super, + * javax/swing/JToolTip.java: API doc updates all over, plus + (AccessibleJToolTip.getAccessibleDescription): Implemented, + (AccessibleJToolTip.getAccessibleRole): Implemented, + (getAccessibleContext): Implemented, + (paramString): Reimplemented, + (setComponent): Fire PropertyChangeEvent, + (setTipText): Likewise. + +2006-03-20 Andrew John Hughes + + * java/util/Formatter.java: + Make the class final. + +2006-03-20 Andrew John Hughes + + * java/lang/System.java: + (nanoTime()): Documented. + * java/lang/Thread.java: + (setUncaughtExceptionHandler(UncaughtExceptionHandler): + Added docs and security check. + (getUncaughtExceptionHandler()): Documented. + (setDefaultUncaughtExceptionHandler(UncaughtExceptionHandler): + Added docs and security check. + (getDefaultUncaughtExceptionHandler()): Documented. + (getId()): Documented. + (Thread.State): Documented. + * vm/reference/gnu/classpath/Unsafe.java: + Documented. + (getUnsafe()): Updated to handle security. + +2006-03-20 Tom Tromey + + * java/lang/System.java: + (nanoTime()): Implemented. + * java/lang/Thread.java: + (getId()): Implemented. + * java/util/AbstractMap.java: + (SimpleImmutableEntry): New 1.6 class. + (BasicMapEntry): Modified to be SimpleEntry. + * java/util/Collections.java: + Modified to use SimpleEntry. + * java/util/EnumMap.java: Likewise. + * java/util/HashMap.java: Likewise. + * java/util/Hashtable.java: Likewise. + * java/util/TreeMap.java: Likewise. + * vm/reference/gnu/classpath/Unsafe.java: + New class to handle low-level facilities for concurrency. + * vm/reference/java/lang/VMSystem.java: + (nanoTime()): Implemented. + +2006-03-20 Tom Tromey + + * java/security/cert/PKIXCertPathChecker.java: Javadoc fix. + * java/security/cert/CertStoreSpi.java: Added import for javadoc. + (CertStoreSpi): Updated throws clause. + * java/security/cert/CertPathValidatorSpi.java: Added import for + javadoc. + (engineValidate): Updated 'throws' clause. + * java/security/cert/PKIXParameters.java: Javadoc fix. + * java/security/cert/X509CertSelector.java + (setAuthorityKeyIdentifier): Javadoc fix. + +2006-03-20 Tom Tromey + + * .classpath: Build gnu.javax.swing.plaf. + +2006-03-20 Lillian Angel + + * gnu/javax/imageio/bmp/BMPDecoder.java: + Removed unneeded import. + * gnu/javax/imageio/bmp/BMPEncoder.java: + New class. + * gnu/javax/imageio/bmp/BMPFileHeader.java + (BMPFileHeader): New constructor used to create info header + for an output stream. + (write): Fixed indexes. + * gnu/javax/imageio/bmp/BMPImageReaderSpi.java: + Initialized writerSpiNames field. + * gnu/javax/imageio/bmp/BMPImageWriter.java: + New class. + * gnu/javax/imageio/bmp/BMPImageWriterSpi.java: + New class. + * gnu/javax/imageio/bmp/BMPInfoHeader.java: + Change visibility for fields. + (BMPInfoHeader): New constructor used to create + file header for an output stream. + (intToDWord): New method. Converts an int to a + double word. + (intToWord): New method. Converts an int to a word. + * gnu/javax/imageio/bmp/DecodeBF32.java: + Removed unneeded imports. + * gnu/javax/imageio/bmp/EncodeRGB1.java: + New class. + * gnu/javax/imageio/bmp/EncodeRGB16.java: + New class. + * gnu/javax/imageio/bmp/EncodeRGB24.java: + New class. + * gnu/javax/imageio/bmp/EncodeRGB32.java: + New class. + * gnu/javax/imageio/bmp/EncodeRGB4.java: + New class. + * gnu/javax/imageio/bmp/EncodeRGB8.java: + New class. + * gnu/javax/imageio/bmp/EncodeRLE4.java: + New class. + * gnu/javax/imageio/bmp/EncodeRLE8.java: + New class. + * javax/imageio/ImageIO.java: + Fixed comment. + +2006-03-20 Roman Kennke + + * javax/swing/plaf/metal/MetalTabbedPaneUI.java + (TabbedPaneLayout.normalizeTabRuns): New method. + (createLayoutManager): Return the Metal TabbedPaneLayout, not super. + (paintTabBorder): Replaced if-else chain with switch. + (paintTopTabBorder): Rewritten to correctly paint tab. Also support + Ocean theme. + (paintBottomTabBorder): Rewritten to correctly paint tab. Also support + Ocean theme. + (paintLeftTabBorder): Rewritten to correctly paint tab. Also support + Ocean theme. + (paintRightTabBorder): Rewritten to correctly paint tab. Also support + Ocean theme. + (paintTabBackground): Fetch background color from the TabbedPane. + Fixed painting and improved by not using fillPolygon, and instead + using fillRectangle. Replaced if-else chain with switch. + (calculateMaxTabHeight): Added overridden method with FIXME. + (getTabRunOverlay): Overridden to provide overlay for LEFT or RIGHT + placement. + (paintContentBorderTopEdge): Added stub with FIXME. + (paintContentBorderBottomEdge): Added stub with FIXME. + (paintContentBorderLeftEdge): Added stub with FIXME. + (paintContentBorderRightEdge): Added stub with FIXME. + +2006-03-20 Roman Kennke + + * javax/swing/plaf/basic/BasicTabbedPaneUI.java + (tabsOpaque): New field. + (installDefaults): Fetch tabsOpaque property from UIManager. + (paintTab): Fill tab background when tabsOpaque property is true. + * javax/swing/plaf/basic/BasicLookAndFeel.java + (initComponentDefaults): Added TabbedPane.tabsOpaque property. + +2006-03-20 Roman Kennke + + * javax/swing/JTabbedPane.java + (Pane.getBackground): When no background was explicitly set, return + the JTabbedPane's background. + +2006-03-20 Wolfgang Baer + + * org/omg/CORBA/ACTIVITY_COMPLETED.java, + * org/omg/CORBA/ACTIVITY_REQUIRED.java, + * org/omg/CORBA/BAD_INV_ORDER.java, + * org/omg/CORBA/BAD_CONTEXT.java, + * org/omg/CORBA/BAD_OPERATION.java, + * org/omg/CORBA/BAD_PARAM.java, + * org/omg/CORBA/BAD_QOS.java, + * org/omg/CORBA/BAD_TYPECODE.java, + * org/omg/CORBA/CODESET_INCOMPATIBLE.java, + * org/omg/CORBA/COMM_FAILURE.java, + * org/omg/CORBA/CurrentHolder.java, + * org/omg/CORBA/DATA_CONVERSION.java, + * org/omg/CORBA/FREE_MEM.java, + * org/omg/CORBA/IMP_LIMIT.java, + * org/omg/CORBA/INITIALIZE.java, + * org/omg/CORBA/INTERNAL.java, + * org/omg/CORBA/INTF_REPOS.java, + * org/omg/CORBA/INVALID_ACTIVITY.java, + * org/omg/CORBA/INVALID_TRANSACTION.java, + * org/omg/CORBA/INV_FLAG.java, + * org/omg/CORBA/INV_IDENT.java, + * org/omg/CORBA/INV_OBJREF.java, + * org/omg/CORBA/INV_POLICY.java, + * org/omg/CORBA/MARSHAL.java, + * org/omg/CORBA/NO_RESOURCES.java, + * org/omg/CORBA/NO_MEMORY.java, + * org/omg/CORBA/NO_IMPLEMENT.java, + * org/omg/CORBA/NO_PERMISSION.java, + * org/omg/CORBA/NO_RESPONSE.java, + * org/omg/CORBA/OBJECT_NOT_EXIST.java, + * org/omg/CORBA/OBJ_ADAPTER.java, + * org/omg/CORBA/ParameterModeHolder.java, + * org/omg/CORBA/PolicyError.java, + * org/omg/CORBA/PolicyErrorHolder.java, + * org/omg/CORBA/PolicyHolder.java, + * org/omg/CORBA/PolicyListHolder.java, + * org/omg/CORBA/REBIND.java, + * org/omg/CORBA/TIMEOUT.java, + * org/omg/CORBA/TRANSACTION_MODE.java, + * org/omg/CORBA/TRANSACTION_REQUIRED.java, + * org/omg/CORBA/TRANSACTION_ROLLEDBACK.java, + * org/omg/CORBA/TRANSACTION_UNAVAILABLE.java, + * org/omg/CORBA/TRANSIENT.java, + * org/omg/CORBA/TypeCodeHolder.java, + * org/omg/CORBA/UNKNOWN.java, + * org/omg/CORBA/UnionMember.java, + * org/omg/CORBA/UnknownUserException.java, + * org/omg/CORBA/UnknownUserExceptionHolder.java, + * org/omg/CORBA/WrongTransactionHolder.java, + * org/omg/IOP/IOR.java, + * org/omg/IOP/IORHolder.java, + * org/omg/IOP/MultipleComponentProfileHolder.java, + * org/omg/IOP/ServiceContextHolder.java, + * org/omg/IOP/ServiceContextListHolder.java, + * org/omg/IOP/TaggedComponentHolder.java, + * org/omg/IOP/TaggedProfileHolder.java, + * org/omg/PortableInterceptor/ObjectReferenceTemplateSeqHolder.java, + * org/omg/PortableInterceptor/ObjectReferenceTemplateHolder.java, + * org/omg/PortableInterceptor/IORInterceptor_3_0Holder.java, + * org/omg/PortableInterceptor/ObjectReferenceFactoryHolder.java: + Made class final, various javadoc fixlets. + * org/omg/CORBA/CompletionStatus.java, + * org/omg/CORBA/PERSIST_STORE.java, + * org/omg/CORBA/ValueMember.java, + * org/omg/PortableInterceptor/ForwardRequest.java, + * org/omg/PortableInterceptor/InvalidSlot.java, + * org/omg/IOP/CodecPackage/TypeMismatch.java, + * org/omg/IOP/CodecPackage/InvalidTypeForEncoding.java, + * org/omg/IOP/CodecPackage/FormatMismatch.java, + * org/omg/IOP/CodecFactoryPackage/UnknownEncoding.java, + * org/omg/IOP/Encoding.java, + * org/omg/IOP/TaggedComponent.java, + * org/omg/IOP/TaggedProfile.java: Made class final. + * org/omg/CORBA/SystemException.java: Made class abstract. + * org/omg/CORBA/UserException.java: Made class abstract. + (UserException): Now protected. + (UserException(String)): Likewise. + * org/omg/Messaging/SyncScopeHelper.java: Now abstract, javadoc fixes. + (typecode): Removed unused private variable. + +2006-03-20 Chris Burdess + + Fixes PR 26761 + * gnu/xml/stream/XMLParser.java: Permit U+fffd as XML Char. + +2006-03-20 Roman Kennke + + * javax/swing/plaf/basic/BasicTabbedPaneUI.java + (paintTabArea): Look up tab run indices in tabRuns array instead + of using the index directly. + +2006-03-20 Roman Kennke + + * javax/swing/plaf/basic/BasicTabbedPaneUI.java + (paintTab): Fixed painting. + (paintText): Fixed text painting. + (paintFocusIndicator): Fixed painting of the focus rectangle. + (paintContentBorder): Fixed painting of the content area. + +2006-03-20 Mark Wielaard + + * gnu/java/awt/peer/gtk/GdkPixbufDecoder.java (pixbufLock): New + static lock Object field. + (produce): Synchronize on pixbufLock when calling initState(), + pumpBytes() and pumpDone(). + (finalize): Likewise when calling finish(). + (GdkPixbufWriter.write): Likewise when calling streamImage(). + * gnu/java/awt/peer/gtk/GtkImage.java (GtkImage(String)): Likewise + when calling loadPixbuf. Chain exception. + (GtkImage(byte[])): Likewise when calling loadImageFromData. + (GtkImage(URL)): Likewise. + (GtkImage(int,int)): Likewise when calling createPixmap(). + (GtkImage(GtkImage,int,int,int)): Likewise when calling + createScaledPixmap(). + (GtkImage(Pointer)): Likewise when calling createFromPixbuf(). + (setImage): Likewise when calling createPixmap() and setPixels(). + (getSource): Likewise when calling getPixels(). + (flush): Likewise when calling freePixmap(). + (finalize): Likewise. + (drawImage): Likewise when calling drawPixelsScaledFlipped() and + drawPixelsScaledFlipped(). + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkPixbufDecoder.c + (Java_gnu_java_awt_peer_gtk_GdkPixbufDecoder_initState): Remove + gdk_threads_enter/leave(). + (Java_gnu_java_awt_peer_gtk_GdkPixbufDecoder_finish): Likewise. + (Java_gnu_java_awt_peer_gtk_GdkPixbufDecoder_pumpDone): Likewise. + (Java_gnu_java_awt_peer_gtk_GdkPixbufDecoder_streamImage): Likewise. + (Java_gnu_java_awt_peer_gtk_GdkPixbufDecoder_pumpBytes): Likewise. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c + (Java_gnu_java_awt_peer_gtk_GtkImage_loadPixbuf): Likewise. + (Java_gnu_java_awt_peer_gtk_GtkImage_loadImageFromData): Likewise. + (Java_gnu_java_awt_peer_gtk_GtkImage_createFromPixbuf): Likewise. + (Java_gnu_java_awt_peer_gtk_GtkImage_getPixels): Likewise. + (Java_gnu_java_awt_peer_gtk_GtkImage_setPixels): Likewise. + (Java_gnu_java_awt_peer_gtk_GtkImage_createPixmap): Likewise. + (Java_gnu_java_awt_peer_gtk_GtkImage_freePixmap): Likewise. + (Java_gnu_java_awt_peer_gtk_GtkImage_createScaledPixmap): Likewise. + +2006-03-20 Roman Kennke + + * javax/swing/plaf/basic/BasicTabbedPaneUI.java + (calculateTabHeight): Not need to use SwingUtilities here. + (getTabInsets): Do not rotate insets. + +2006-03-20 Roman Kennke + + * javax/swing/plaf/basic/BasicTabbedPaneUI.java + (paint): Make sure the layout is valid before painting. + (paintTabArea): Made tab painting more straightforward and efficient. + +2006-03-20 Audrius Meskauskas + + * javax/swing/JTable.java (ROWS_PER_WHEEL_CLICK): Removed. + (getScrollableUnitIncrement): Rewritten. + * javax/swing/JTree.java (ROWS_PER_WHEEL_CLICK): Removed. + (getScrollableUnitIncrement): Rewritten. + * javax/swing/plaf/basic/BasicScrollPaneUI.java + (ROWS_PER_WHEEL_CLICK): New field. + (MouseWheelHandler.mouseWheelMoved): Rewritten. + +2006-03-20 Roman Kennke + + * javax/swing/plaf/basic/BasicTabbedPaneUI.java + (paint): Make sure the layout is valid before painting. + (paintTabArea): Made tab painting more straightforward and efficient. + +2006-03-20 Roman Kennke + + * javax/swing/plaf/basic/BasicTabbedPaneUI.java + (MouseHandler.mousePressed): Rewritten for clearer and simpler + code. + (MouseHandler.mouseEntered): Implemented to set the rollover tab. + (MouseHandler.mouseMoved): Implemented to set the rollover tab. + (MouseHandler.mouseExited): Implemented to unset the rollover tab. + (TabbedPaneLayout.calculateLayoutInfo): Don't set the component's + bounds here. That is moved into layoutContainer(). + (calculateSize): Correctly respect insets. Made code slightly more + clear and efficient. + (calculateTabRects): Rewritten completely. The old code was + not quite right and unstable in some situations. + (layoutContainer): Moved layout of tabbed pane's subcomponents + here. + (tabRunsDirty): New field. + (rolloverTab): New field. + (tabForCoordinate): Rewritten for simplicity and correctness. + (setRolloverTab): New method. + (getRolloverTab): New method. + +2006-03-20 Audrius Meskauskas + + * javax/swing/JTable.java (getScrollableUnitIncrement): Rewritten. + * javax/swing/JTree.java (getScrollableUnitIncrement): Rewritten. + (getScrollableUnitIncrement + * javax/swing/Scrollable.java: Documented. + * javax/swing/plaf/basic/BasicScrollPaneUI.java + (MouseWheelHandler):Rewritten. + +2006-03-20 Andrew John Hughes + + * doc/vmintegration.texinfo: + Updated with gnu.classpath.Unsafe + +2006-03-20 Andrew John Hughes + + * NEWS: + Updated with VMArray and Unsafe changes. + +2006-03-20 Audrius Meskauskas + + * javax/swing/JTable.java (ROWS_PER_WHEEL_CLICK): New field. + (getScrollableUnitIncrement): Rewritten. + * javax/swing/JTree.java (ROWS_PER_WHEEL_CLICK): New field. + (getScrollableUnitIncrement): Rewritten. + (getScrollableBlockIncrement): Rewritten. + * javax/swing/plaf/basic/BasicScrollPaneUI.java + (MouseWheelHandler): Implemented. (ViewportContainerListener): + New class. (containerListener): New field. (SCROLL_NON_SCROLABLES): + New field. (installListeners): Install wheel listeners. + (uninstallListeners): Uninstall wheel listeners. + * javax/swing/plaf/basic/BasicTableUI.java: Remove the implementation + of the MouseWheelListener. (installListeners): Do not install wheel + listener. (ROWS_PER_WHEEL_CLICK): Removed. + +2006-03-19 Andrew John Hughes + + * vm/reference/gnu/classpath/Unsafe.java: + Documented. + (getUnsafe()): Updated to handle security. + +2006-03-19 Tom Tromey + + * vm/reference/gnu/classpath/Unsafe.java: + New class to handle low-level facilities for concurrency. + +2006-03-19 Mark Wielaard + + * include/Makefile.am: Rename PlainDatagramSocketImpl to + VMPlainDatagramSocketImpl and PlainSocketImpl to VMPlainSocketImpl. + * include/gnu_java_net_VMPlainDatagramSocketImpl.h: Regenerated. + * include/gnu_java_net_VMPlainSocketImpl.h: Likewise. + +2006-03-19 Mark Wielaard + + * gnu/java/awt/peer/gtk/GdkFontPeer.java (getPostScriptName): Return + familyName. + * gnu/java/awt/peer/gtk/GtkFontPeer.java: Removed unused file. + +2006-03-19 Michael Koch + + * resource/gnu/java/locale/LocaleInformation_aa_ET.properties, + resource/gnu/java/locale/LocaleInformation_am.properties, + resource/gnu/java/locale/LocaleInformation_am_ET.properties, + resource/gnu/java/locale/LocaleInformation_as_IN.properties, + resource/gnu/java/locale/LocaleInformation_az_Cyrl.properties, + resource/gnu/java/locale/LocaleInformation_bg.properties, + resource/gnu/java/locale/LocaleInformation_bn_IN.properties, + resource/gnu/java/locale/LocaleInformation_ca.properties, + resource/gnu/java/locale/LocaleInformation_cs.properties, + resource/gnu/java/locale/LocaleInformation_cy.properties, + resource/gnu/java/locale/LocaleInformation_da.properties, + resource/gnu/java/locale/LocaleInformation_de.properties, + resource/gnu/java/locale/LocaleInformation_dv.properties, + resource/gnu/java/locale/LocaleInformation_el.properties, + resource/gnu/java/locale/LocaleInformation_en.properties, + resource/gnu/java/locale/LocaleInformation_en_GB.properties, + resource/gnu/java/locale/LocaleInformation_en_IN.properties, + resource/gnu/java/locale/LocaleInformation_en_PK.properties, + resource/gnu/java/locale/LocaleInformation_en_SG.properties, + resource/gnu/java/locale/LocaleInformation_en_US_POSIX.properties, + resource/gnu/java/locale/LocaleInformation_es.properties, + resource/gnu/java/locale/LocaleInformation_es_AR.properties, + resource/gnu/java/locale/LocaleInformation_es_BO.properties, + resource/gnu/java/locale/LocaleInformation_es_CL.properties, + resource/gnu/java/locale/LocaleInformation_es_CO.properties, + resource/gnu/java/locale/LocaleInformation_es_CR.properties, + resource/gnu/java/locale/LocaleInformation_es_DO.properties, + resource/gnu/java/locale/LocaleInformation_es_EC.properties, + resource/gnu/java/locale/LocaleInformation_es_ES.properties, + resource/gnu/java/locale/LocaleInformation_es_GT.properties, + resource/gnu/java/locale/LocaleInformation_es_HN.properties, + resource/gnu/java/locale/LocaleInformation_es_MX.properties, + resource/gnu/java/locale/LocaleInformation_es_NI.properties, + resource/gnu/java/locale/LocaleInformation_es_PA.properties, + resource/gnu/java/locale/LocaleInformation_es_PE.properties, + resource/gnu/java/locale/LocaleInformation_es_PR.properties, + resource/gnu/java/locale/LocaleInformation_es_PY.properties, + resource/gnu/java/locale/LocaleInformation_es_SV.properties, + resource/gnu/java/locale/LocaleInformation_es_US.properties, + resource/gnu/java/locale/LocaleInformation_es_UY.properties, + resource/gnu/java/locale/LocaleInformation_es_VE.properties, + resource/gnu/java/locale/LocaleInformation_fa.properties, + resource/gnu/java/locale/LocaleInformation_fa_AF.properties, + resource/gnu/java/locale/LocaleInformation_fa_IR.properties, + resource/gnu/java/locale/LocaleInformation_fi.properties, + resource/gnu/java/locale/LocaleInformation_fr.properties, + resource/gnu/java/locale/LocaleInformation_fr_CA.properties, + resource/gnu/java/locale/LocaleInformation_ga.properties, + resource/gnu/java/locale/LocaleInformation_gu_IN.properties, + resource/gnu/java/locale/LocaleInformation_hi_IN.properties, + resource/gnu/java/locale/LocaleInformation_hr.properties, + resource/gnu/java/locale/LocaleInformation_hu.properties, + resource/gnu/java/locale/LocaleInformation_id.properties, + resource/gnu/java/locale/LocaleInformation_is.properties, + resource/gnu/java/locale/LocaleInformation_it.properties, + resource/gnu/java/locale/LocaleInformation_ja.properties, + resource/gnu/java/locale/LocaleInformation_kk.properties, + resource/gnu/java/locale/LocaleInformation_kl.properties, + resource/gnu/java/locale/LocaleInformation_km.properties, + resource/gnu/java/locale/LocaleInformation_ky.properties, + resource/gnu/java/locale/LocaleInformation_lo.properties, + resource/gnu/java/locale/LocaleInformation_lo_LA.properties, + resource/gnu/java/locale/LocaleInformation_lt.properties, + resource/gnu/java/locale/LocaleInformation_lt_LT.properties, + resource/gnu/java/locale/LocaleInformation_lv.properties, + resource/gnu/java/locale/LocaleInformation_mk.properties, + resource/gnu/java/locale/LocaleInformation_mn.properties, + resource/gnu/java/locale/LocaleInformation_mr.properties, + resource/gnu/java/locale/LocaleInformation_mr_IN.properties, + resource/gnu/java/locale/LocaleInformation_ms.properties, + resource/gnu/java/locale/LocaleInformation_ms_BN.properties, + resource/gnu/java/locale/LocaleInformation_mt.properties, + resource/gnu/java/locale/LocaleInformation_nb.properties, + resource/gnu/java/locale/LocaleInformation_nl.properties, + resource/gnu/java/locale/LocaleInformation_nn.properties, + resource/gnu/java/locale/LocaleInformation_om_ET.properties, + resource/gnu/java/locale/LocaleInformation_or_IN.properties, + resource/gnu/java/locale/LocaleInformation_pa.properties, + resource/gnu/java/locale/LocaleInformation_pl.properties, + resource/gnu/java/locale/LocaleInformation_pt.properties, + resource/gnu/java/locale/LocaleInformation_ru.properties, + resource/gnu/java/locale/LocaleInformation_ru_RU.properties, + resource/gnu/java/locale/LocaleInformation_ru_UA.properties, + resource/gnu/java/locale/LocaleInformation_sa.properties, + resource/gnu/java/locale/LocaleInformation_sa_IN.properties, + resource/gnu/java/locale/LocaleInformation_sk.properties, + resource/gnu/java/locale/LocaleInformation_sr_Latn.properties, + resource/gnu/java/locale/LocaleInformation_sv.properties, + resource/gnu/java/locale/LocaleInformation_sw.properties, + resource/gnu/java/locale/LocaleInformation_sw_TZ.properties, + resource/gnu/java/locale/LocaleInformation_ta_IN.properties, + resource/gnu/java/locale/LocaleInformation_te.properties, + resource/gnu/java/locale/LocaleInformation_te_IN.properties, + resource/gnu/java/locale/LocaleInformation_th.properties, + resource/gnu/java/locale/LocaleInformation_ti.properties, + resource/gnu/java/locale/LocaleInformation_ti_ER.properties, + resource/gnu/java/locale/LocaleInformation_ti_ET.properties, + resource/gnu/java/locale/LocaleInformation_tr.properties, + resource/gnu/java/locale/LocaleInformation_tt.properties, + resource/gnu/java/locale/LocaleInformation_uk.properties, + resource/gnu/java/locale/LocaleInformation_ur.properties, + resource/gnu/java/locale/LocaleInformation_uz.properties, + resource/gnu/java/locale/LocaleInformation_zh.properties, + resource/gnu/java/locale/LocaleInformation_zh_Hant.properties: + More updates for CLDR 1.3. + +2006-03-19 Andrew John Hughes + + * doc/vmintegration.texinfo: + Updated to include VMArray. + * include/Makefile.am: + Replace java_lang_reflect_Array.h with + java_lang_reflect_VMArray.h + * include/java_lang_reflect_VMArray.h: + New autogenerated header. + * include/java_lang_reflect_Array.h: + Removed. + * java/lang/reflect/Array.java: + (newInstance(Class,int)): Calls VMArray. + (createMultiArray(Class,int[],int)): Likewise. + (createObjectArray(Class,int)): Removed. + * native/jni/java-lang/Makefile.am: + Replaced java_lang_reflect_Array.c with + java_lang_reflect_VMArray.c + * native/jni/java-lang/java_lang_reflect_VMArray.c: + Renamed from java_lang_reflect_Array.c. + * vm/reference/java/lang/reflect/VMArray.java: + (createObjectArray(Class,int)): Native method moved + from java.lang.reflect.Array. + +2006-03-19 Roman Kennke + + * gnu/javax/swing/plaf/metal/CustomizableTheme.java: New class. + * examples/gnu/classpath/examples/swing/MetalThemeEditor.java: + New class. + * examples/gnu/classpath/examples/swing/Demo.java + (mkButtonBar): Hook up theme editor. + (mkMenuBar): Hook up theme editor. + +2006-03-19 Roman Kennke + + * javax/swing/plaf/basic/BasicFileChooserUI.java + (ApproveSelectionAction.actionPerformed): Added case for when + nothing has been selected but the user has typed a filename + into the textfield. + (getFileName): Return the value of the text field. + +2006-03-19 Roman Kennke + + * javax/swing/JColorChooser.java + (createDialog): Create JDialog instead of ModalDialog. Make this + dialog modal by calling setModal(true). + (ModalDialog): Removed unnecessary inner class. + +2006-03-19 Tom Tromey + + * java/awt/font/NumericShaper.java: Rewrote. + +2006-03-19 Audrius Meskauskas + + * javax/swing/plaf/basic/BasicTableUI.java: + Implement MouseWheelListener. (ROWS_PER_WHEEL_CLICK): + New field. MouseInputHandler.mouseWheelMoved): New method. + (installListeners): Register MouseInputHandler as + wheel listener also. + +2006-03-19 Audrius Meskauskas + + PR 26746 + * javax/swing/ViewportLayout.java (layoutContainer): + If Scrollable tracks dimension, set view size to the port size. + If port is larger than the view, move the view to the top/left. + +2006-03-19 Roman Kennke + + * javax/swing/MenuSelectionManager.java + (isComponentPartOfCurrentMenu): Also consider the first element + in a menu selection list. Make a isDescendentFrom check instead + of simple equals to also catch sub components. + +2006-03-19 Roman Kennke + + * javax/swing/JComboBox.java + (actionPerformed): Fetch selected item directly from the editor + instead of trying to get it from the event. + +2006-03-19 Roman Kennke + + * javax/swing/plaf/basic/BasicComboBoxEditor.java + (listener): Removed field. + (BasicComboBoxEditor): Removed initialization of listener field. + (addActionListener): Add listener directly to editor. + (removeActionListener): Remove listener directly from editor. + (ComboBoxEditorListener): Removed class. + * javax/swing/plaf/basic/BasicComboBoxUI.java + (getPreferredSize): Fixed to return the minimumSize. + (getMinimumSize): Improved code for more clearness. + (getMaximumSize): Return (32767,32767) as requested by the mauve test. + (rectangleForCurrentValue): Correctly respect insets. + (getDefaultSize): Return preferredSize here. Dont override height + with 100. + (getDisplaySize): Moved around code for more clearness. Added + handling of prototype renderer. + (ComboBoxLayoutManager.layoutContainer): Set editor bounds after + arrowButton bounds since the former depends on the latter. + * javax/swing/plaf/metal/MetalComboBoxButton.java: + (MetalComboBoxButton): Make button rollover disabled. + (isFocusTraversable): Return false unconditionally. + * javax/swing/plaf/metal/MetalComboBoxEditor.java: + (EditorTextField): New class. Fixes the size properties. + (MetalComboBoxEditor): Create instance of EditorTextField. + * javax/swing/plaf/metal/MetalComboBoxUI.java: + (getMinimumSize): Fixed editable size. + +2006-03-18 Audrius Meskauskas + + * javax/swing/JTable.java (BooleanCellRenderer): Rewritten. + +2006-03-18 Roman Kennke + + * javax/swing/plaf/metal/MetalToolBarUI.java + (update): Added overridden method to support OceanTheme. + +2006-03-18 Audrius Meskauskas + + * javax/swing/plaf/basic/BasicTableUI.java (KeyHandler.keyTyped): + Activate the cell editing on character keystroke. + +2006-03-18 Mark Wielaard + + * java/awt/Component.java (eventTypeEnabled): Handle + MouseEvent.MOUSE_WHEEL. + * gnu/java/awt/peer/gtk/GtkComponentPeer.java (postMouseWheelEvent): + New callback method. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c + (AWT_MOUSE_WHEEL): New constant. + (AWT_WHEEL_UNIT_SCROLL): Likewise. + (postMouseWheelEventID): New static variable. + (cp_gtk_component_init_jni): Record postMouseWheelEventID. + (cp_gtk_component_connect_mouse_signals): Connect scroll-event. + (button_number): Renamed to ... + (button_number_direction): variable to hold button number or scroll + direction. + (component_button_press_cb): Use button_number_direction. + (component_scroll_cb): New static callback function. + +2006-03-18 Audrius Meskauskas + + * javax.swing.JTable.java (TableTextField.scrollRectToVisible): + Return without action. + +2006-03-18 Mark Wielaard + + * gnu/java/awt/peer/gtk/GtkComponentPeer.java (paintComponent): + Don't cast graphics object to GdkGraphics. + (updateComponent): Likewise. + +2006-03-18 Audrius Meskauskas + + * examples/gnu/classpath/examples/swing/TableDemo.java + (TModel.getColumnClass): Set second column to Icon. + (TModel.isCellEditable): Say icons are not editable. + (createContent): Fill the in second column with some icons from + MetalIconFactory. + +2006-03-18 Audrius Meskauskas + + * examples/gnu/classpath/examples/swing/Demo.java + (mkButtonBar): Set maximal button bar height to the preferred height. + +2006-03-18 Roman Kennke + + * javax/swing/plaf/basic/BasicComboPopup.java + (show): Substract insets from scroller width. + (getPopupHeightForRowCount): If height==0, return a default of 100 + instead for empty ComboBoxes. + +2006-03-18 Roman Kennke + + * javax/swing/plaf/basic/BasicLookAndFeel.java + (PopupHelper.autoClosePopups): Removed field. + (PopupHelper.mousePressed): Removed processing of registered + autoclose popups. + (registerForAutoClose): Removed unneeded method. + (autoClosePopups): Removed unneeded method. + (registerForAutoClose): Removed unneeded method. + +2006-03-18 Audrius Meskauskas + + * javax.swing.JTable.java (TableTextField): Set border. + (moveToCellBeingEdited): Do not adjust the editor boundaries + +2006-03-18 Michael Koch + + * resource/gnu/java/locale/LocaleInformation_aa.properties, + resource/gnu/java/locale/LocaleInformation_af.properties, + resource/gnu/java/locale/LocaleInformation_am.properties, + resource/gnu/java/locale/LocaleInformation_ar.properties, + resource/gnu/java/locale/LocaleInformation_az_Cyrl.properties, + resource/gnu/java/locale/LocaleInformation_be.properties, + resource/gnu/java/locale/LocaleInformation_bg.properties, + resource/gnu/java/locale/LocaleInformation_bn.properties, + resource/gnu/java/locale/LocaleInformation_ca.properties, + resource/gnu/java/locale/LocaleInformation_cs.properties, + resource/gnu/java/locale/LocaleInformation_cy.properties, + resource/gnu/java/locale/LocaleInformation_da.properties, + resource/gnu/java/locale/LocaleInformation_de.properties, + resource/gnu/java/locale/LocaleInformation_de_CH.properties, + resource/gnu/java/locale/LocaleInformation_dz.properties, + resource/gnu/java/locale/LocaleInformation_en.properties, + resource/gnu/java/locale/LocaleInformation_eo.properties, + resource/gnu/java/locale/LocaleInformation_es.properties, + resource/gnu/java/locale/LocaleInformation_et.properties, + resource/gnu/java/locale/LocaleInformation_eu.properties, + resource/gnu/java/locale/LocaleInformation_fa.properties, + resource/gnu/java/locale/LocaleInformation_fa_AF.properties, + resource/gnu/java/locale/LocaleInformation_fi.properties, + resource/gnu/java/locale/LocaleInformation_fo.properties, + resource/gnu/java/locale/LocaleInformation_fr.properties, + resource/gnu/java/locale/LocaleInformation_ga.properties, + resource/gnu/java/locale/LocaleInformation_gl.properties, + resource/gnu/java/locale/LocaleInformation_gu.properties, + resource/gnu/java/locale/LocaleInformation_he.properties, + resource/gnu/java/locale/LocaleInformation_hi.properties, + resource/gnu/java/locale/LocaleInformation_hr.properties, + resource/gnu/java/locale/LocaleInformation_hu.properties, + resource/gnu/java/locale/LocaleInformation_hy.properties, + resource/gnu/java/locale/LocaleInformation_id.properties, + resource/gnu/java/locale/LocaleInformation_is.properties, + resource/gnu/java/locale/LocaleInformation_it.properties, + resource/gnu/java/locale/LocaleInformation_ja.properties, + resource/gnu/java/locale/LocaleInformation_ka.properties, + resource/gnu/java/locale/LocaleInformation_km.properties, + resource/gnu/java/locale/LocaleInformation_ko.properties, + resource/gnu/java/locale/LocaleInformation_lo.properties, + resource/gnu/java/locale/LocaleInformation_lt.properties, + resource/gnu/java/locale/LocaleInformation_lv.properties, + resource/gnu/java/locale/LocaleInformation_mk.properties, + resource/gnu/java/locale/LocaleInformation_mr.properties, + resource/gnu/java/locale/LocaleInformation_ms.properties, + resource/gnu/java/locale/LocaleInformation_mt.properties, + resource/gnu/java/locale/LocaleInformation_nb.properties, + resource/gnu/java/locale/LocaleInformation_nl.properties, + resource/gnu/java/locale/LocaleInformation_nn.properties, + resource/gnu/java/locale/LocaleInformation_om.properties, + resource/gnu/java/locale/LocaleInformation_pl.properties, + resource/gnu/java/locale/LocaleInformation_ps.properties, + resource/gnu/java/locale/LocaleInformation_pt.properties, + resource/gnu/java/locale/LocaleInformation_pt_PT.properties, + resource/gnu/java/locale/LocaleInformation_ro.properties, + resource/gnu/java/locale/LocaleInformation_ru.properties, + resource/gnu/java/locale/LocaleInformation_sk.properties, + resource/gnu/java/locale/LocaleInformation_sl.properties, + resource/gnu/java/locale/LocaleInformation_so.properties, + resource/gnu/java/locale/LocaleInformation_sq.properties, + resource/gnu/java/locale/LocaleInformation_sr.properties, + resource/gnu/java/locale/LocaleInformation_sr_Latn.properties, + resource/gnu/java/locale/LocaleInformation_sv.properties, + resource/gnu/java/locale/LocaleInformation_sw.properties, + resource/gnu/java/locale/LocaleInformation_ta.properties, + resource/gnu/java/locale/LocaleInformation_te.properties, + resource/gnu/java/locale/LocaleInformation_th.properties, + resource/gnu/java/locale/LocaleInformation_tr.properties, + resource/gnu/java/locale/LocaleInformation_uk.properties, + resource/gnu/java/locale/LocaleInformation_uz.properties, + resource/gnu/java/locale/LocaleInformation_vi.properties, + resource/gnu/java/locale/LocaleInformation_zh.properties, + resource/gnu/java/locale/LocaleInformation_zh_Hant.properties: + Updated to use the new localized strings for currencies, languages, + variants, territories, etc. + +2006-03-18 Ito Kazumitsu + + * gnu/regexp/REMatch.java(matchedCharIndexed): New field, + (start, end): Added comment about the negative values of them, + (finish): Saves the input text in matchedCharIndexed, + (toString): If the start or end index is out of bounds of the + matched text, get the substring from matchedCharIndexed. + Added special handlings in case start/end index < -1, + (getSubStartIndex, getStartIndex, getSubEndIndex, getEndIndex): + Added special handlings in case start/end index < -1, + * gnu/regexp/RETokenLookAhead.java(matchThis): Return the newly + found match, but keep the index as the original match. + * gnu/regexp/RETokenLookBehind.java(matchThis): Return the newly + found match, but keep the index as the original match. + * gnu/regexp/RETokenBackRef.java(matchThis): Added special handlings + in case start/end index < -1. + +2006-03-17 Audrius Meskauskas + + * gnu/java/rmi/activation/ActivationSystemTransient.java (debug): + Set to false. + +2006-03-17 Robert Schuster + + * javax/swing/text/DefaultCaret.java: + (mouseClicked) Use setDot() and moveDot() instead of + JTextComponent.select(). + +2006-03-17 Roman Kennke + + * javax/swing/plaf/metal/MetalComboBoxEditor.java + (MetalComboBoxEditorBorder.paintBorder): Implemented special + border painting for the Ocean theme. + (MetalComboBoxEditor): Create editor directly instead of going + to super. + +2006-03-17 Roman Kennke + + * javax/swing/text/JTextComponent.java + (JTextComponent): Make text components opaque. + +2006-03-17 Roman Kennke + + * javax/swing/plaf/metal/MetalComboBoxUI.java + (MetalComboBoxLayoutManager.layoutContainer): Forward to + layoutComboBox(). + (MetalPropertyChangeListener.propertyChange): Update focusable + flag according to the enable and editable state. + (editablePropertyChanged): Removed unnecessary code. + (getMinimumSize): Rewritten to correctly compute the + size, respecting the insets of the components and the icon, + the visual properties of the combobox, etc. + (configureEditor): Update listeners correctly. + (unconfigureEditor): Update listeners correctly. + (layoutComboBox): Implemented. + +2006-03-17 Roman Kennke + + * javax/swing/plaf/metal/MetalComboBoxEditor.java + (MetalComboBoxEditorBorder): Made this a subclass of AbstractBorder + instead of Flush3DBorder. + (paintBorder): Fixed border painting. + (editorBorderInsets): Fixed border's insets. + +2006-03-17 Roman Kennke + + * javax/swing/plaf/metal/MetalComboBoxButton.java + (rendererPane): Documented. + (MetalComboBoxButton): Set enabled flag from ComboBox. + Set focusable flag from ComboBox's enabled flag. + (isFocusTraversable): Make button focus traversable if + ComboBox is not editable but enable. + (paintComponent): Fixed painting to correctly adjust + the boxes of the renderer and button. + +2006-03-17 Roman Kennke + + * javax/swing/plaf/basic/BasicButtonUI.java + (installDefaults): Only install UI margin if installed margin. + is null or a UIResource. + (uninstallDefaults): Only uninstall margin if it's + a UIResource. + + 2006-03-17 Robert Schuster + + * javax/swing/text/DefaultCaret.java: + (mouseClicked) Use setDot() and moveDot() instead of + JTextComponent.select(). + +2006-03-17 Robert Schuster + + * javax/swing/text/DefaultEditorKit.java: Refactored anonymous + inner classes into package-private inner classes, added actions + for caret movement and selection to the next and previous word + and an action which selects the whole text. + +2006-03-17 Thomas Fitzsimmons + + * javax/swing/Spring.java: Uncomment springdebug methods and + rename them toString. + * javax/swing/SpringLayout.java: Likewise. + +2006-03-17 Robert Schuster + + * javax/swing/text/FieldView.java: + (viewToModel): Added call to adjust allocation area. + +2006-03-17 Roman Kennke + + * javax/swing/plaf/basic/BasicComboBoxUI.java + (mouseListener): Removed field. + (buttonBackground): Removed field. + (buttonShadow): Removed field. + (buttonDarkShadow): Removed field. + (buttonHighlight): Removed field. + (BasicComboBoxUI): Initialize currentValuePane and cachedMinimumSize. + (installUI): Initialize and configure renderer and editor here. + (uninstallUI): Close popup before uninitializing. + Message popup that we are uninitializing. Clear layout. + (installDefaults): Install UI border. Don't install colors. + (installListeners): Install listeners fetched from the popup. + Remove handling of mouseListener. + (uninstallDefaults): Uninstall border. Don't handle colors. + (uninstallListeners): Don't handle mouseListener. Uninstall + listener from the popup. + (createMouseListener): Removed method. + (createRenderer): Create UIResource. + (installComponents): Cleaned up. + (uninstallComponents): Only remove renderer when it is + a UIResource. + (addEditor): Remove editor before adding new one. + Fetch editor from comboBox. + (removeEditor): Only do something when editor != null. Unconfigure + editor before removing. + (configureEditor): Add key listener. Call comboBox.configureEditor. + (unconfigureEditor): Removed key listener. + (configureArrowButton): Only handle when arrowButton != null. + Add mouse listeners to arrow button. + (unconfigureArrowButton): Remove listeners. + (createArrowButton): Don't handle colors here. + (setPopupVisible): Don't handle focus here. + (paint): Only paint when comboBox is not editable. Update + hasFocus flag. + (getPreferredSize): Implemented to be minimumSize + 4 pixels width. + (getMinimumSize): Respect insets here. + (getMaximumSize): Return preferredSize with width of 32767. + (getInsets): Return ComboBox insets. + (paintCurrentValue): Paint using currentValuePane. + Install correct colors. Don't revalidate. + (paintCurrentValueBackground): Implemented. + (getDefaultSize): Reimplemented using a default renderer. + (getDisplaySize): Reimplemented to use renderer. + (ComboBoxLayoutManager.preferredLayoutSize): Forward to component. + (ComboBoxLayoutManager.minimumLayoutSize): Forward to component. + (ComboBoxLayoutManager.layoutContainer): Fixed layout. + (FocusHandler.focusGained): Don't invalidate minimumSize. + (FocusHandler.focusLost): Don't invalidate minimumSize. + Only close popup if focus change is not temporary. + (ItemHandler.itemStateChanged): Don't invalidate minimumSize. + Reconfigure editor if not null. + (ListDataHandler.contentsChanged): Revalidate and reconfigure + editor if necessary. + (ListDataHandler.intervalAdded): Fixed updating of the display size. + (ListDataHandler.intervalRemoved): Forward to contentsChanged. + (MouseHandler): Removed unnecessary class. + +2006-03-17 Robert Schuster + + * examples/gnu/classpath/examples/swing/Demo.java: + (Demo): Set default closing operation to shutdown the runtime. + +2006-03-17 Roman Kennke + + * javax/swing/plaf/basic/BasicComboPopup.java + (BasicComboPopup): Create listeners here. + Configure components here. + (show): Correctly calculate bounds using computePopupBounds(). + Make scroller fixed-size. Removed special autocloser handling. + (hide): Rewritten to use MenuSelectionHandler. + (createList): Don't set selection mode here. + (configureList): Correctly install colors and fonts and selectionMode. + (createScroller): Set scrollpane policies. + (configureScroller): Make scroller and scrollbar not-focusable. + (configurePopup): Make popup opaque and borderPainted. + (installComboBoxListeners): Don't install mouse listener on ComboBox. + (delegateFocus): Implemented. + (convertMouseEvent): Implemented. + (updateListBoxSelectionForEvent): Implemented to also handle + autoscrolling. + (InvocationMouseHandler.mousePressed): Delegate focus correctly. + Only open popup on left mouse-click. + (InvocationMouseHandler.mouseReleased): Rewritten. + (InvocationMouseMotionHandler.mouseDragged): Rewritten to better + support autoscrolling. + (ItemHandler.itemStateChanged): Implemented to sync selection with + the comboBox. + (ListMouseHandler.mouseReleased): Fetch selected index directly + from list. + (ListMouseMotionHandler.mouseMoved): Only update when mouse is inside + the list box. + (PropertyChangeHandler.propertyChange): Don't revalidate/repaint here. + When model changes, then update listeners correctly. + (uninstallListeners): Don't uninstall list listeners. + (uninstallComboBoxListeners): Don't uninstall mouse listeners + from comboBox. + (syncSelection): New helper method. + +2006-03-17 Robert Schuster + + * javax/swing/text/PlainView.java: + (drawLine): Rewritten. + (drawSelectedText): Corrected last argument for + Utilities.drawTabbedText() call. + (paint): Store start and end of selection in object variables, + store constant values of for-loop in local variables. + * javax/swing/text/Utilities.java: + (drawTabbedText): Add 'pixelWidth' to the return value, store + constant value of for-loop in local variable. + +2006-03-17 Roman Kennke + + * javax/swing/plaf/basic/BasicComboPopup.java + (BasicComboPopup): Create listeners here. + Configure components here. + (show): Correctly calculate bounds using computePopupBounds(). + Make scroller fixed-size. Removed special autocloser handling. + (hide): Rewritten to use MenuSelectionHandler. + (createList): Don't set selection mode here. + (configureList): Correctly install colors and fonts and selectionMode. + (createScroller): Set scrollpane policies. + (configureScroller): Make scroller and scrollbar not-focusable. + (configurePopup): Make popup opaque and borderPainted. + (installComboBoxListeners): Don't install mouse listener on ComboBox. + (delegateFocus): Implemented. + (convertMouseEvent): Implemented. + (updateListBoxSelectionForEvent): Implemented to also handle + autoscrolling. + (InvocationMouseHandler.mousePressed): Delegate focus correctly. + Only open popup on left mouse-click. + (InvocationMouseHandler.mouseReleased): Rewritten. + (InvocationMouseMotionHandler.mouseDragged): Rewritten to better + support autoscrolling. + (ItemHandler.itemStateChanged): Implemented to sync selection with + the comboBox. + (ListMouseHandler.mouseReleased): Fetch selected index directly + from list. + (ListMouseMotionHandler.mouseMoved): Only update when mouse is inside + the list box. + (PropertyChangeHandler.propertyChange): Don't revalidate/repaint here. + When model changes, then update listeners correctly. + (uninstallListeners): Don't uninstall list listeners. + (uninstallComboBoxListeners): Don't uninstall mouse listeners + from comboBox. + (syncSelection): New helper method. + +2006-03-17 Roman Kennke + + * javax/swing/plaf/basic/BasicComboBoxRenderer.java + (noFocusBorder): Make border with insets of (1,1,1,1). + (BasicComboBoxRenderer): Make renderer opaque. + No need to explicitly set alignment. + (getListCellRendererComponent): Rewritten to correctly initialize + color and font. + +2006-03-17 Roman Kennke + + * javax/swing/JPopupMenu.java + (setVisible): Handle JPopupMenu opening and closing via + the MenuSelectionHandler. + +2006-03-17 Wolfgang Baer + + * org/omg/DynamicAny/DynAnyPackage/InvalidValue.java: Now final. + * org/omg/DynamicAny/DynAnyPackage/TypeMismatch.java: Likewise. + * org/omg/DynamicAny/DynAnyFactoryPackage/InconsistentTypeCode.java: + Likewise. + * org/omg/CORBA/portable/RemarshalException.java: Likewise + * org/omg/CORBA/TypeCodePackage/BadKind.java: Likewise. + * org/omg/CORBA/TypeCodePackage/Bounds.java: Likewise. + * org/omg/CORBA/ORBPackage/InvalidName.java: Likewise. + * org/omg/CORBA/ORBPackage/InconsistentTypeCode.java: Likewise. + * org/omg/CORBA/DynAnyPackage/TypeMismatch.java: Likewise. + * org/omg/CORBA/DynAnyPackage/InvalidValue.java: Likewise. + * org/omg/CORBA/DynAnyPackage/InvalidSeq.java: Likewise. + * org/omg/CORBA/DynAnyPackage/Invalid.java: Likewise. + * org/omg/Dynamic/Parameter.java: Now final, javadoc fixes. + +2006-03-17 Audrius Meskauskas + + * java/rmi/activation/Activatable.java: Implemented. + java/rmi/activation/ActivationDesc.java: Implemented. + java/rmi/activation/ActivationGroup.java: Implemented. + java/rmi/activation/ActivationGroupDesc.java: Implemented. + java/rmi/activation/ActivationID.java: Implemented. + java/rmi/activation/ActivationSystem.java: Implemented. + * gnu/java/rmi/server/UnicastServerRef.java + (exportObject, incommingMessageCall): Documented. + * java/rmi/activation/package.html: Documented. + * java/rmi/server/ObjID.java (objNum, space): Made package + protected. + * gnu/java/rmi/server/UnicastServer.java: Rewritten. + * gnu/java/rmi/server/CombinedClassLoader.java (constructor): + Iteration bug fix. + * gnu/java/rmi/activation/ActivationSystemTransient.java: New file. + gnu/java/rmi/activation/BidiTable.java: New file. + gnu/java/rmi/activation/DefaultActivationGroup.java: New file. + gnu/java/rmi/activation/DefaultActivationSystem.java: New file. + gnu/java/rmi/server/ActivatableServerRef.java: New file. + +2006-03-17 Mark Wielaard + + * java/security/BasicPermission.java (BasicPermission): Check + name equals empty string to force NullPointerException. + +2006-03-16 Thomas Fitzsimmons + + PR classpath/26606 + Commit patch by Caolan McNamara + * javax/swing/Spring.java: Complete implementation + * javax/swing/SpringLayout.java: Likewise. + +2006-03-16 Keith Seitz + + * gnu/classpath/jdwp/Jdwp.java (_mainThread): Not needed. Removed + all references. + (run): Remove catch clause for InterruptedException. It is no + longer necessary. + +2006-03-16 Thomas Fitzsimmons + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c + (getFontMetrics): Handle monospaced fonts specially. + +2006-03-16 Keith Seitz + + * gnu/classpath/jdwp/Jdwp.java (getJdwpThreadGroup): New method. + * vm/reference/gnu/classpath/jdwp/VMVirtualMachine.java + (suspendAllThreads): Use Jdwp.getJdwpThreadGroup. + Don't suspend the current thread unless it is not part of the JDWP + thread group. + +2006-03-16 Thomas Fitzsimmons + + * gnu/java/awt/peer/gtk/GdkFontMetrics.java (getLeading): Always + return 0. + * gnu/java/awt/peer/gtk/GdkFontPeer.java (getFontMetrics): Get + font metrics through toolkit. + * gnu/java/awt/peer/gtk/GdkGraphics.java (getFontMetrics): + Likewise. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c + (getFontMetrics): To calculate Java logical ascent and descent + values, average Pango ink and logical values. + +2006-03-16 Anthony Balkissoon + + * java/lang/Character.java: Updated header comment. + +2006-03-16 Tom Tromey + + * javax/sound/sampled/AudioSystem.java (getAudioFileFormat): New + constructor. + * javax/sound/sampled/FloatControl.java: Now abstract. + * javax/sound/sampled/EnumControl.java: Now abstract. + * javax/sound/sampled/CompoundControl.java: Now abstract. + * javax/sound/sampled/BooleanControl.java: Now abstract. + +2006-03-16 Tom Tromey + + * java/awt/image/ConvolveOp.java (getBounds2D): Now final. + +2006-03-16 Roman Kennke + + * java/util/zip/ZipFile.java + (openFile): New helper method. + (ZipFile): Use new openFile method to ensure the proper + exception is thrown. This applies for all overloaded constructors. + +2006-03-16 Roman Kennke + + * java/text/DateFormatSymbols.java + (setAmPmStrings): Added null check and throw NPE. + (setEras): Likewise. + (setLocalPatternChars): Likewise. + (setMonths): Likewise. + (setShortMonths): Likewise. + (setShortWeekdays): Likewise. + (setWeekdays): Likewise. + (setZoneStrings): Likewise. + +2006-03-16 Roman Kennke + + * javax/swing/DefaultDesktopManager.java + (iconifyFrame): Repaint after removing the frame. + (removeIconFor): Repaint after removing the icon. + +2006-03-16 Roman Kennke + + * javax/swing/JInternalFrame.java + (remove): Respect the rootPaneCheckingEnabled flag here. + +2006-03-16 Roman Kennke + + * gnu/javax/swing/plaf/gnu/GNULookAndFeel.java + Moved from examples into gnu.javax.swing.. namespace. + * examples/gnu/classpath/examples/swing/GNULookAndFeel.java + Moved to gnu.javax.swing.. namespace. + * examples/gnu/classpath/examples/swing/Demo.java: + (themesMenu): New field. Used to disable theme switch in + non-Metal-L&Fs. + (mkMenuBar): Added L&F menu. + (ChangeThemeAction.actionPerformed): Only switch theme when + in Metal L&F. + (ChangeLAFAction): New class used for changing themes. + * javax/swing/UIManager.java + (installed): Added GNU L&F as installed L&F. + +2006-03-16 Mark Wielaard + + * examples/gnu/classpath/examples/swing/badge.png: Removed. + * examples/gnu/classpath/examples/icons/badge.png: Added. + * examples/gnu/classpath/examples/swing/DemoDesktop.java: Use badge + from icon directory. + +2006-03-15 Thomas Fitzsimmons + + * examples/gnu/classpath/examples/awt/AnimationApplet.java: New + example. + * examples/gnu/classpath/examples/swing/FillRect.java: Likewise. + * examples/gnu/classpath/examples/awt/Demo.java: Add + AnimationApplet demo. + * examples/gnu/classpath/examples/swing/Demo.java: Add FillRect + demo. + +2006-03-15 Thomas Fitzsimmons + + PR classpath/26486 + * gnu/java/awt/peer/gtk/GtkCanvasPeer.java (getGraphics): Remove + method. + (handleEvent): Likewise. + * gnu/java/awt/peer/gtk/GtkComponentPeer.java (isInRepaint): + Remove field. + (beginNativeRepaint): Remove method. + (endNativeRepaint): Likewise. + (handleEvent): Call paintComponent and updateComponent. + (paintComponent): New method. + (updateComponent): Likewise. + (repaint): Return early if width or height is less than one. + (postExposeEvent): Remove isInRepaint reference. + * gnu/java/awt/peer/gtk/GtkContainerPeer.java: (getGraphics): + Remove method. + * gnu/java/awt/peer/gtk/GtkDialogPeer.java (getGraphics): Inherit + from GtkWindowPeer. + (postMouseEvent): Likewise. + (postExposeEvent): Likewise. + * gnu/java/awt/peer/gtk/GtkFileDialogPeer.java (updateComponent): + Override to do nothing. + * gnu/java/awt/peer/gtk/GtkFramePeer.java (getGraphics): Inherit + from GtkWindowPeer. + (postMouseEvent): Likewise. + (postExposeEvent): Likewise. + * gnu/java/awt/peer/gtk/GtkPanelPeer.java (handleEvent): Inherit + paint and update handling from GtkComponentPeer. + (updateComponent): Override to call paintComponent. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c: Replace + gdk_flush calls with schedule_flush calls. + (flush): New function. + (schedule_flush): Likewise. + +2006-03-15 Tom Tromey + + * java/beans/beancontext/BeanContextSupport.java (BCSChild): New + constructor. + (BCSIterator): Likewise. + * java/beans/beancontext/BeanContextServicesSupport.java (BCSSChild): + New constructor. + (BCSSProxyServiceProvider): Likewise. + (BCSSServiceProvider): Likewise. + +2006-03-15 Tom Tromey + + * javax/sound/midi/Track.java (Track): New constructor. + (events): Now package-private. + * javax/sound/midi/MidiUnavailableException.java + (MidiUnavailableException): Removed invalid constructors. + * javax/sound/midi/MidiSystem.java (MidiSystem): New constructor. + * javax/sound/midi/InvalidMidiDataException.java + (InvalidMidiDataException): Removed invalid constructors. + * javax/sound/midi/Sequencer.java (hashCode): Now final. + * javax/sound/midi/SysexMessage.java (SysexMessage): Now protected. + * javax/sound/midi/ShortMessage.java (ShortMessage): Now protected. + (SYSTEM_EXCLUSIVE): Removed. + (getDataLength): Updated. + * javax/sound/midi/MidiDevice.java (Info): Now protected. + (equals): Now final + (getName): Now final. + (getVendor): Now final. + (getDescription): Likewise. + (hashCode): Likewise. + (getVersion): Likewise. + (toString): Likewise. + * javax/sound/midi/MetaMessage.java (MetaMessage): Now protected. + * javax/sound/sampled/ReverbType.java (getDecayTime): Now final. + (getEarlyReflectionDelay): Likewise. + (getEarlyReflectionIntensity): Likewise. + (getLateReflectionDelay): Likewise. + (getLateReflectionIntensity): Likewise. + (toString): Likewise. + * javax/sound/sampled/Port.java (toString): Now final. + * javax/sound/sampled/LineEvent.java (getFramePosition): Now final. + (getLine): Likewise. + (getType): Likewise. + * javax/sound/sampled/Mixer.java (Info): Now protected. + (getDescription): Now final. + (getName): Likewise. + (getVendor): Likewise. + (getVersion): Likewise. + (toString): Likewise. + * javax/sound/sampled/Control.java: Now abstract. + (Type.toString): Now final. + +2006-03-15 Keith Seitz + + * gnu/classpath/jdwp/util/LineTable.java (lines): Remove all occurances + of this redundant variable. + (LineTable): Assert that the number of line numbers and the number of + code indicies is the same. + +2006-03-15 Tom Tromey + + * javax/imageio/stream/ImageOutputStreamImpl.java (flushBits): Now + final. + * javax/imageio/stream/ImageOutputStream.java (flushBefore): Javadoc + fix. + * java/util/zip/ZipFile.java (ENDNRD): New constant. + * java/util/zip/ZipConstants.java (ENDNRD, ENDDCD): Removed. + * java/util/zip/Inflater.java (end): Not deprecated. + * java/util/zip/Deflater.java (end): Not deprecated. + * java/text/Bidi.java (Bidi): Now final. + * java/nio/MappedByteBuffer.java (finalize): Now protected. + +2006-03-15 Keith Seitz + + * gnu/classpath/jdwp/util/Location.java: Rewrite using VMMethod. + (Location): Index is a long, not an int. + (getMethod): New method. + (getIndex): New method. + (toString): New method. + +2006-03-15 Tom Tromey + + * java/awt/image/RescaleOp.java (getRenderingHints): Now final. + * java/awt/image/LookupOp.java (filter): Now final. + (getBounds2D): Likewise. + (getPoint2D): Likewise. + (getTable): Likewise. + (getRenderingHints): Likewise. + * java/awt/image/ConvolveOp.java (filter): Now final. + (getBounds2D): Likewise. + (getKernel): Likewise. + (getPoint2D): Likewise. + (getRenderingHints): Likewise. + * java/awt/image/BandCombineOp.java (getPoint2D): Now final. + (getMatrix): Likewise. + (getBounds2D): Likewise. + (getRenderingHints): Likewise. + * java/awt/image/AffineTransformOp.java (getPoint2D): Now final. + * java/awt/Button.java (AccessibleAWTButton.serialVersionUID): Now + private. + * java/awt/dnd/DropTargetContext.java (TransferableProxy): Now + protected. + * java/awt/dnd/DropTarget.java (DropTargetAutoScroller): Now + protected. + * java/awt/MenuItem.java (AccessibleAWTMenuItem): Now protected. + +2006-03-15 Keith Seitz + + * gnu/classpath/jdwp/event/filters/LocationOnlyFilter.java: + Update javadoc. + (matches): Implement. + +2006-03-15 Keith Seitz + + * gnu/classpath/jdwp/event/BreakpointEvent.java: New file. + + * gnu/classpath/jdwp/exception/NativeMethodException.java: New file. + +2006-03-15 Tom Tromey + + * java/lang/StrictMath.java (signum): New methods. + +2006-03-15 Tom Tromey + + * .settings/org.eclipse.jdt.core.prefs: Set tabs to 8 spaces. + +2006-03-15 Lillian Angel + + PR classpath/24211 + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c + (Java_gnu_java_awt_peer_gtk_GdkGraphics2D_cairoSurfaceSetFilterUnlocked): + Added check to avoid segmentation fault. + +2006-03-15 Lillian Angel + + * java/awt/Container.java + (getComponentAt): Fixed documentation. + (getComponentAt): Likewise. + +2006-03-15 Roman Kennke + + * javax/swing/JComponent.java + (dragBuffer): New field. + (dragBufferInitialized): New field. + (paint): Added facility for buffered dragging of components. + (initializeDragBuffer): New method. + (getConditionForKeyStroke): Removed deprecated flag. Adjusted + API docs. + * javax/swing/plaf/basic/BasicInternalFrameUI.java + (BorderListener.mouseDragged): Turn on buffered dragging. + (BorderListener.mouseReleased): Turn off buffered dragging. + +2006-03-15 Lillian Angel + + * java/awt/Container.java + (getComponentAt): Fixed documentation. + (getComponentAt): Likewise. + (findComponentAt): Likewise. + (findComponentAt): Likewise. + +2006-03-15 Roman Kennke + + * javax/swing/plaf/basic/BasicInternalFrameTitlePane.java + (PropertyChangeHandler.propertyChange): Call enableActions(). + Fixed 'iconable' property name. + +2006-03-15 Chris Burdess + + Fixes PR 26700 + * gnu/xml/stream/XMLParser.java: Fix for detectEncoding false positive. + +2006-03-15 Roman Kennke + + * examples/gnu/classpath/examples/swing/Demo.java: + (desktop): New field. + (mkMenuBar): Added new subdemos. + (mkButtonWorld): Removed. + (CheckCellRenderer): Moved to ListDemo. + (LabelCellRenderer): Moved to ListDemo. + (mkTreeWorld): Moved to TreeDemo. + (mkDesktopWorld): Removed. + (mkTabWorld): Moved to TabbedPaneDemo. + (mkTabbedPane): Removed. + (Demo): Replaced 'worlds' tabbed pane with desktop. + (PopupAction): Made class non-static. + (PopupAction.actionPerformed): Bring up subdemos in internal + frame. + (mkButtonBar): Added new demos. + (createDesktop): New method. + * examples/gnu/classpath/examples/swing/DemoDesktop.java: New class. + * examples/gnu/classpath/examples/swing/ListDemo.java: New demo. + * examples/gnu/classpath/examples/swing/TreeDemo.java: New demo. + * examples/gnu/classpath/examples/swing/TabbedPaneDemo.java: New demo. + * examples/gnu/classpath/examples/swing/badge.png: New image file. + +2006-03-15 Lillian Angel + + * java/awt/Container.java + (getComponentAt): Fixed mistake in comments. + (getComponentAt): Likewise. + (locate): Likewise. Also, handled lightweight components. + Heavyweights take precedence over lightweights, so we should + iterate through the heavyweights first. + +2006-03-15 Lillian Angel + + * java/awt/Container.java + (getComponentAt): Added API documentation. + (getComponentAt): Likewise. + (locate): Likewise. Also, removed lines to ignore + invisible components. + (findComponentAt): Added API documentation. + (findComponentAt): Added API documentation. + (findComponentForMouseEvent): Removed, never used. + +2006-03-15 Roman Kennke + + * javax/swing/Popup.java + (LightweightPopup.show): Repaint the panel after showing it. + +2006-03-15 Lillian Angel + + * java/awt/Component.java + (show): repaint should only be called if the component + isShowing and isLightweight. + +2006-03-15 Roman Kennke + + * javax/swing/JInternalFrame.java + (setClosable): Made this property bound. + (setResizable): Made this property bound. + (setIconifiable): Made this property bound. + (setMaximizable): Made this property bound. + +2006-03-15 David Gilbert + + * javax/swing/table/TableColumn.java + (sizeWidthToFit): Implemented. + +2006-03-15 David Gilbert + + * javax/swing/table/TableColumn.java: API docs updated all over, plus + (setIdentifier): Fire required PropertyChangeEvent, + (setCellEditor): Likewise. + +2006-03-15 Roman Kennke + + * examples/gnu/classpath/examples/swing/ButtonDemo.java, + * examples/gnu/classpath/examples/swing/ComboBoxDemo.java, + * examples/gnu/classpath/examples/swing/FileChooserDemo.java, + * examples/gnu/classpath/examples/swing/ProgressBarDemo.java, + * examples/gnu/classpath/examples/swing/ScrollBarDemo.java, + * examples/gnu/classpath/examples/swing/SliderDemo.java, + * examples/gnu/classpath/examples/swing/SpinnerDemo.java, + * examples/gnu/classpath/examples/swing/TableDemo.java, + * examples/gnu/classpath/examples/swing/TextAreaDemo.java, + * examples/gnu/classpath/examples/swing/TextFieldDemo.java: + Reworked to implemented DemoFactory and lazy loading of Sub-demos. + * examples/gnu/classpath/examples/swing/Demo.java: + Cleaned up. Reworked handling of Sub-demos to load lazily. + * examples/gnu/classpath/examples/swing/DemoFactory.java: + New interface. Used for loading the subdemos lazily. + +2006-03-15 Roman Kennke + + * javax/swing/plaf/basic/BasicToolBarUI.java + (PropertyListener.propertyChange): Added null check to avoid NPE. + +2006-03-14 David Gilbert + + * javax/swing/table/TableColumn.java + (COLUMN_WIDTH_PROPERTY): Updated API docs, + (width): Likewise. + (minWidth): Likewise, + (preferredWidth): Likewise, + (maxWidth): Likewise, + (headerRenderer): Likewise, + (cellRenderer): Likewise, + (cellEditor): Likewise, + (changeSupport): Likewise, + (firePropertyChange(String, Object, Object)): Removed, + (firePropertyChange(String, int. int)): Likewise, + (firePropertyChange(String, boolean, boolean)): Likewise, + (setModelIndex): Fire property change, + (setHeaderValue): Call changeSupport directly to generate event, + (setHeaderRenderer): Likewise, + (setCellRenderer): Likewise, + (setWidth): Likewise, + (setPreferredWidth): Likewise, + (setMinWidth): Likewise, + (setMaxWidth): Likewise, + (createDefaultHeaderRenderer): Added API docs. + +2006-03-14 Roman Kennke + + * examples/gnu/classpath/examples/swing/Demo.java + Removed static initializer. + (mkMenuBar): Made method non-static. Added themes menu. + (ChangeThemeAction): New inner class, used to change themes. + +2006-03-14 David Gilbert + + * javax/swing/table/TableColumn.java + (setMaxWidth): Updated width and preferredWidth if necessary, + (getMaxWidth): Updated API docs. + +2006-03-14 Roman Kennke + + * javax/swing/plaf/basic/BasicSliderUI.java + (TrackListener.mouseDragged): Only process event when slider is + enabled. + (TrackListener.mouseReleased): Only process event when slider is + enabled. + (TrackListener.mousePressed): Only process event when slider is + enabled. + +2006-03-14 Roman Kennke + + * NEWS: Added note about OceanTheme support. + +2006-03-14 Roman Kennke + + * javax/swing/plaf/metal/MetalIconFactory.java + (HorizontalSliderThumbIcon.gradientMask): New field + (HorizontalSliderThumbIcon.paintIcon): Added support for the + OceanTheme. + (VerticalSliderThumbIcon.gradientMask): New field + (VerticalSliderThumbIcon.paintIcon): Added support for the + OceanTheme. + * javax/swing/plaf/metal/MetalUtils.java + (paintHorizontalGradient): Fixed painting of 'masked' gradients. + (paintVerticalGradient): Fixed painting of 'masked' gradients. + +2006-03-14 Mark Wielaard + + Fixes bug #26641 + * java/awt/LightweightDispatcher.java (dispatchEvent): Return result + of handleMouseEvent. + (handleMouseEvent): Return boolean to indicate whether we handled the + event by passing it to a lightweight. + +2006-03-14 Wolfgang Baer + + * org/omg/PortableInterceptor/ORBInitInfoPackage/ObjectIdHelper.java, + * org/omg/PortableServer/ServantActivatorPOA.java, + * org/omg/PortableServer/ServantLocatorPOA.java: + Make class abstract and minor api docs fixlets. + * org/omg/PortableServer/ForwardRequest.java, + * org/omg/PortableServer/ServantLocatorPackage/CookieHolder.java, + * org/omg/PortableServer/POAPackage/AdapterAlreadyExists.java, + * org/omg/PortableServer/POAPackage/AdapterNonExistent.java, + * org/omg/PortableServer/POAPackage/InvalidPolicy.java, + * org/omg/PortableServer/POAPackage/NoServant.java, + * org/omg/PortableServer/POAPackage/ObjectAlreadyActive.java, + * org/omg/PortableServer/POAPackage/ObjectNotActive.java, + * org/omg/PortableServer/POAPackage/ServantAlreadyActive.java, + * org/omg/PortableServer/POAPackage/ServantNotActive.java, + * org/omg/PortableServer/POAPackage/WrongAdapter.java, + * org/omg/PortableServer/POAPackage/WrongPolicy.java, + * org/omg/PortableServer/POAManagerPackage/AdapterInactive.java, + * org/omg/PortableInterceptor/ORBInitInfoPackage/InvalidName.java, + * org/omg/PortableInterceptor/ORBInitInfoPackage/DuplicateName.java, + * org/omg/PortableServer/CurrentPackage/NoContext.java: Make class final. + +2006-03-14 Wolfgang Baer + + * NEWS: Added entry about printing support. + +2006-03-14 David Gilbert + + * javax/swing/table/TableColumn.java + (COLUMN_WIDTH_PROPERTY): Updated API docs, + (isResizable): Likewise, + (setWidth): Likewise, + (getWidth): Likewise, + (setPreferredWidth): Likewise, + (getPreferredWidth): Likewise, + (setMinWidth): Check for negative argument and update width and + preferredWidth if necessary, + (getMinWidth): Updated API docs. + +2006-03-14 Lillian Angel + + * java/awt/Container.java + (addImpl): Removed call to repaint. No need to repaint here. + +2006-03-14 Roman Kennke + + * javax/swing/plaf/metal/MetalSliderUI.java + (paintTrack): Added OceanTheme support. + +2006-03-14 David Gilbert + + * javax/swing/table/TableColumn.java + (setResizable): Fire PropertyChangeEvent if the flag value changes, + (isResizable): Updated API docs. + +2006-03-14 David Gilbert + + * javax/swing/LookAndFeel.java: Updated API docs. + +2006-03-14 Roman Kennke + + * javax/swing/plaf/metal/MetalUtils.java + (paintGradient): Added support for 'masked' gradients. + (paintHorizontalGradient): Likewise. + (paintVerticalGradient): Likewise. + * javax/swing/plaf/metal/MetalIconFactory.java + (RadioButtonIcon.gradientMask): New field. + (RadioButtonIcon.paintIcon): Added mask for gradient painting. + +2006-03-14 Mark Wielaard + + Fixes bug #26645. + * javax/swing/plaf/basic/BasicComboBoxEditor.java (listener): + New field. + (removeActionListener): Add listener to ComboBoxEditorListener. + (removeActionListener): Remove listener from ComboBoxEditorListener. + (ComboBoxEditorListener): New static helper class. + +2006-03-14 Roman Kennke + + * javax/swing/plaf/metal/MetalBorders.java + (getToolBarButtonBorder): Don't create a UIResource border + here. + * javax/swing/plaf/metal/MetalToolBarUI.java + (installUI): New overridden method. Installs the rollover property. + (uninstallUI): New overridden method. Resets the rollover property. + * javax/swing/plaf/metal/MetalUtils.java + (paintGradient): Fetch Float values from the UIManager. Adjusted + method signatures accordingly. + (paintHorizontalGradient): Adjusted signature to accept float + instead of double. + (paintVerticalGradient): Adjusted signature to accept float + instead of double. + * javax/swing/plaf/metal/OceanTheme.java + (addCustomEntriesToTable): Added missing UIDefaults entries, + except of Icons. Fixed gradient entries to use Float instead + of Double. + +2006-03-14 Roman Kennke + + * javax/swing/JInternalFrame.java + (JInternalFrame): Make JInternalFrame opaque. + * javax/swing/JToolBarFrame.java + (JToolBar): Make JToolBar opaque. + +2006-03-14 David Gilbert + + * javax/swing/tree/TreeNode.java: Fixed bad API doc tags, + * javax/swing/tree/TreePath.java: Likewise. + +2006-03-13 Tom Tromey + + * javax/swing/text/html/StyleSheet.java (removeAttributes): + Genericized. + * javax/swing/plaf/synth/SynthLookAndFeel.java (load): Genericized. + * java/rmi/server/RMIClassLoader.java (loadProxyClass): Genericized. + +2006-03-13 Keith Seitz + + * gnu/classpath/jdwp/processor/ReferenceTypeCommandSet.java + (executeMethods): Output number of methods. + +2006-03-13 Roman Kennke + + * javax/swing/plaf/basic/BasicButtonUI.java + (uninstallDefaults): Only uninstall border if it's a UIResource. + * javax/swing/plaf/basic/BasicInternalFrameTitlePane.java + (SystemMenuBar.isFocusTraversable): Fixed typo in signature. + * javax/swing/plaf/basic/BasicInternalFrameUI.java + (installUI): Don't touch the opaque flag of the glassPane and + the frame. Don't invalidate. + * javax/swing/plaf/basic/BasicInternalFrameUI.java + (installUI): Don't touch the opaque flag of the glassPane. + * javax/swing/plaf/basic/BasicMenuBarUI.java + (properyChangeListener): Made field private. + (ChangeHandler): Made class private. + (ContainerHandler): Made class private. + (PropertyChangeHandler): Made class private. + * javax/swing/plaf/basic/BasicMenuUI.java + (MenuHandler): Made class private. + (PropertyChangeHandler): Removed unneeded class. + (MenuDragMouseHandler): Made class private. + (MenuKeyHandler): Made class private. + * javax/swing/plaf/basic/BasicPanelUI.java + (installDefaults): Made method protected. Don't set opaque + flag. + * javax/swing/plaf/basic/BasicScrollBarUI.java + (TrackListener.shouldScroll): Made method private. + * javax/swing/plaf/basic/BasicSplitPaneUI.java + (BasicHorizontalLayoutManager.BasicHorizontalLayoutManager): + Made constructor package private. + * javax/swing/plaf/basic/BasicTableHeaderUI.java + (cellBorder): Made field private. + * javax/swing/plaf/basic/BasicTextUI.java + (installDefaults): Don't make component opaque. + * javax/swing/plaf/basic/BasicToolBarUI.java + (createNonRollOverBorder): Don't create UIResource border. + (createRollOverBorder): Don't create UIResource border. + (installComponents): Moved setRolloverBorders call here. + (installDefaults): Moved setRolloverBorders call from here. + (installUI): Don't make toolbar opaque. + (setBorderToNonRollover): Handle AbstractButton instead of + JButton here. + (uninstallComponents): Don't nullify class fields here. + +2006-03-13 David Gilbert + + * javax/swing/SwingUtilities.java + (calculateInnerArea): handle null component, and replace + getLocalBounds() with getBounds(Rectangle) to avoid unnecessary object + creation. + +2006-03-13 Roman Kennke + + * javax/swing/JColorChooser.java + (updateUI): Don't call revalidate(). + * javax/swing/JComboBox.java + (updateUI): Don't call invalidate(). + * javax/swing/JDesktopPane.java + (updateUI): Don't call invalidate(). + * javax/swing/JFileChooser.java + (updateUI): Don't call revalidate(). + * javax/swing/JMenu.java + (updateUI): Don't call invalidate(). + * javax/swing/JMenuBar.java + (updateUI): Don't call invalidate(). + * javax/swing/JMenuItem.java + (updateUI): Don't call invalidate(). + * javax/swing/JOptionPane.java + (updateUI): Don't call invalidate(). + * javax/swing/JPopupMenu.java + (updateUI): Don't call invalidate(). + * javax/swing/JProgressBar.java + (updateUI): Don't call invalidate(). + * javax/swing/JScrollBar.java + (updateUI): Don't call invalidate() and repaint(). + * javax/swing/JScrollPane.java + (updateUI): Rewritten to be like the other updateUI() + methods. + * javax/swing/JSlider.java + (updateUI): Don't call invalidate() and repaint(). + * javax/swing/JSplitPane.java + (updateUI): Don't call invalidate() and repaint(). + * javax/swing/JTabbedPane.java + (updateUI): Don't call invalidate(). + * javax/swing/JTable.java + (updateUI): Don't call revalidate() and repaint(). + * javax/swing/JToolBar.java + (updateUI): Don't call revalidate() and repaint(). + * javax/swing/JToolTip.java + (updateUI): Don't call revalidate() and repaint(). + +2006-03-13 Roman Kennke + + * javax/swing/SwingUtilities.java + (updateComponentTreeUI): Rewritten to be more robust. Handling of + menus and non-Swing components is improved. + (updateComponentTreeUIImpl): New helper method. + (replaceUIActionMap): Added check for uiActionMap==parent to + avoid loop. + (replaceUIInputMap): Added check for uiInputMap==parent to + avoid loop. + +2006-03-13 Wolfgang Baer + + * gnu/classpath/debug/Component.java: + (IPP) New component for IPP debugging. + (EVERYTHING): Adapted to include IPP. + * javax/print/PrintServiceLookup.java: + (registerServiceProvider): New method. + (registerService): Likewise. + (lookupPrintServices): Likewise. + (lookupMultiDocPrintServices): Likewise. + (lookupDefaultPrintService): Likewise. + (static_initializer): Likewise. + (printServiceLookups): New field for found service providers. + (printServices): New field for application registered providers. + (systemProvider): New field for the system provider. + * javax/print/ServiceUI.java: New file. + * javax/print/package.html: Added more usage content. + * javax/print/event/package.html: Likewise. + * javax/print/attribute/package.html: Likewise. + * javax/print/attribute/standard/package.html: Likewise. + * gnu/javax/print/PrintUriException.java, + gnu/javax/print/PrintFlavorException.java, + gnu/javax/print/PrinterDialog.java, + gnu/javax/print/PrintAttributeException.java, + gnu/javax/print/CupsPrintServiceLookup.java, + gnu/javax/print/CupsServer.java, + gnu/javax/print/CupsPrintService.java, + gnu/javax/print/CupsMediaMapping.java, + gnu/javax/print/CupsIppOperation.java: + New implementation files of the Java Print Service API. + * gnu/javax/print/ipp/IppValueTag.java, + gnu/javax/print/ipp/MultiDocPrintJobImpl.java, + gnu/javax/print/ipp/IppStatusCode.java, + gnu/javax/print/ipp/IppUtilities.java, + gnu/javax/print/ipp/IppResponse.java, + gnu/javax/print/ipp/IppException.java, + gnu/javax/print/ipp/IppPrintService.java, + gnu/javax/print/ipp/IppRequest.java, + gnu/javax/print/ipp/IppMultiDocPrintService.java, + gnu/javax/print/ipp/IppDelimiterTag.java, + gnu/javax/print/ipp/DocPrintJobImpl.java: + New files of the IPP client implementation. + * gnu/javax/print/ipp/attribute/UnknownAttribute.java, + gnu/javax/print/ipp/attribute/StatusMessage.java, + gnu/javax/print/ipp/attribute/RequestedAttributes.java, + gnu/javax/print/ipp/attribute/NaturalLanguageSyntax.java, + gnu/javax/print/ipp/attribute/DocumentAccessError.java, + gnu/javax/print/ipp/attribute/DetailedStatusMessage.java, + gnu/javax/print/ipp/attribute/DefaultValueAttribute.java, + gnu/javax/print/ipp/attribute/CharsetSyntax.java: + New attribute syntax/role files of the printing implementation. + * gnu/javax/print/ipp/attribute/supported/UriSecuritySupported.java, + gnu/javax/print/ipp/attribute/supported/UriAuthenticationSupported.java, + gnu/javax/print/ipp/attribute/supported/SidesSupported.java, + gnu/javax/print/ipp/attribute/supported/PrintQualitySupported.java, + gnu/javax/print/ipp/attribute/supported/PrinterUriSupported.java, + gnu/javax/print/ipp/attribute/supported/PrinterResolutionSupported.java, + gnu/javax/print/ipp/attribute/supported/PageRangesSupported.java, + gnu/javax/print/ipp/attribute/supported/ + OrientationRequestedSupported.java, + gnu/javax/print/ipp/attribute/supported/OperationsSupported.java, + gnu/javax/print/ipp/attribute/supported/ + MultipleDocumentHandlingSupported.java, + gnu/javax/print/ipp/attribute/supported/ + MultipleDocumentJobsSupported.java, + gnu/javax/print/ipp/attribute/supported/MediaSupported.java, + gnu/javax/print/ipp/attribute/supported/JobSheetsSupported.java, + gnu/javax/print/ipp/attribute/supported/JobHoldUntilSupported.java, + gnu/javax/print/ipp/attribute/supported/IppVersionsSupported.java, + gnu/javax/print/ipp/attribute/supported/ + GeneratedNaturalLanguageSupported.java, + gnu/javax/print/ipp/attribute/supported/FinishingsSupported.java, + gnu/javax/print/ipp/attribute/supported/DocumentFormatSupported.java, + gnu/javax/print/ipp/attribute/supported/CompressionSupported.java, + gnu/javax/print/ipp/attribute/supported/CharsetSupported.java: + New supported attribute files. + * gnu/javax/print/ipp/attribute/printer/CharsetConfigured.java, + gnu/javax/print/ipp/attribute/printer/DocumentFormat.java, + gnu/javax/print/ipp/attribute/printer/MultipleOperationTimeOut.java, + gnu/javax/print/ipp/attribute/printer/NaturalLanguageConfigured.java, + gnu/javax/print/ipp/attribute/printer/PrinterCurrentTime.java, + gnu/javax/print/ipp/attribute/printer/PrinterDriverInstaller.java, + gnu/javax/print/ipp/attribute/printer/PrinterStateMessage.java, + gnu/javax/print/ipp/attribute/printer/PrinterUpTime.java: + New printer description attribute files. + * gnu/javax/print/ipp/attribute/job/AttributesCharset.java, + gnu/javax/print/ipp/attribute/job/AttributesNaturalLanguage.java, + gnu/javax/print/ipp/attribute/job/JobDetailedStatusMessages.java, + gnu/javax/print/ipp/attribute/job/JobDocumentAccessErrors.java, + gnu/javax/print/ipp/attribute/job/JobPrinterUri.java, + gnu/javax/print/ipp/attribute/job/JobId.java, + gnu/javax/print/ipp/attribute/job/JobMoreInfo.java, + gnu/javax/print/ipp/attribute/job/JobUri.java, + gnu/javax/print/ipp/attribute/job/JobStateMessage.java: + New job description attribute files. + * gnu/javax/print/ipp/attribute/defaults/CopiesDefault.java, + gnu/javax/print/ipp/attribute/defaults/DocumentFormatDefault.java, + gnu/javax/print/ipp/attribute/defaults/FinishingsDefault.java, + gnu/javax/print/ipp/attribute/defaults/JobHoldUntilDefault.java, + gnu/javax/print/ipp/attribute/defaults/JobPriorityDefault.java, + gnu/javax/print/ipp/attribute/defaults/JobSheetsDefault.java, + gnu/javax/print/ipp/attribute/defaults/MediaDefault.java, + gnu/javax/print/ipp/attribute/defaults/ + MultipleDocumentHandlingDefault.java, + gnu/javax/print/ipp/attribute/defaults/NumberUpDefault.java, + gnu/javax/print/ipp/attribute/defaults/OrientationRequestedDefault.java, + gnu/javax/print/ipp/attribute/defaults/PrinterResolutionDefault.java, + gnu/javax/print/ipp/attribute/defaults/PrintQualityDefault.java, + gnu/javax/print/ipp/attribute/defaults/SidesDefault.java: + New default printing attribute files. + * resource/gnu/javax/print/PrinterDialog.properties: New file. + * resource/gnu/javax/print/PrinterDialog_de.properties: Likewise. + * examples/gnu/classpath/examples/print/Demo.java: + New demo application of the current implemented functionality. + +2006-03-13 Audrius Meskauskas + + * java/rmi/activation/ActivationGroupDesc.java: Implemented. + java/rmi/activation/ActivationDesc.java.java, + java/rmi/activation/ActivationGroup.java, + java/rmi/activation/ActivationID.java, + java/rmi/activation/ActivationMonitor.java, + java/rmi/activation/ActivationSystem.java, + java/rmi/activation/package.html: Documenting. + +2006-03-13 Roman Kennke + + * javax/swing/JInternalFrame.java + (setSelected): Repaint frame when it is showing and the selection + state changes. + +2006-03-13 Roman Kennke + + * javax/swing/AbstractButton.java + (AbstractAccessibleButton.getAccessibleRelationSet): Return super....() + instead of null. + +2006-03-13 Roman Kennke + + * javax/accessibility/AccessibleContext.java + (getAccessibleRelationSet): Return empty set instead of null. + +2006-03-13 Roman Kennke + + * javax/swing/ImageIcon.java + (loadImage): Remove completed images from the MediaTracker. This + avoids a potential memory leak. + +2006-03-12 Wolfgang Baer + + * javax/print/MultiDocPrintService.java, + * javax/print/MultiDocPrintJob.java, + * javax/print/MultiDoc.java: Added and enhanced documentation. + +2006-03-12 Audrius Meskauskas + + * java/rmi/activation/ActivationID.java (uid): New field. + (writeExternal, readExternal): New methods. + (equals, hashCode): Rewritten. + * java/rmi/activation/ActivationInstantiator.java, + * java/rmi/activation/ActivationSystem.java, + * java/rmi/activation/Activator.java, + * java/rmi/activation/Activatable.java, + * java/rmi/activation/ActivationGroup.java, + * java/rmi/activation/ActivationGroupDesc.java: + Documented and autoformatted. + * java/rmi/activation/package.html: Added content. + +2006-03-12 Chris Burdess + + Fixes PR 26652 + * gnu/xml/stream/XMLParser.java: Fix for case when both reader and + encoding are specified. + +2006-03-11 David Gilbert + + * javax/swing/DefaultSingleSelectionModel.java: API docs all over, plus + (changeEvent): Initialise in fireStateChange(), + (setSelectedIndex): Check if change is made before firing event, + (clearSelection): Delegate to setSelectedIndex(), + (fireStateChanged): Initialise changeEvent if necessary, + * javax/swing/SingleSelectionModel.java: API docs all over. + +2006-03-11 Tom Tromey + + * java/util/zip/InflaterInputStream.java: Reverted previous + patch. + +2006-03-11 Mark Wielaard + + * java/text/AttributedCharacterIterator.java (Attribute.readResolve): + Compare name. + +2006-03-11 David Gilbert + + * javax/swing/event/TreeSelectionEvent.java + (isAddedPath(TreePath)): Throw IllegalArgumentException if path is + not one of the added/removed paths, + (cloneWithSource): Reformatted. + +2006-03-11 David Gilbert + + * javax/swing/tree/TreeCellEditor.java: Added API docs, + * javax/swing/tree/TreeCellRenderer.java: Likewise. + +2006-03-10 Casey Marshall + + Fixes PR 23768. + * javax/crypto/Cipher.java (doFinal, doFinal, doFinal): don't + reset `state.' + (doFinal, update): new methods. + (init, init, init, init): initialize `state' after trying the + implementation, which can throw an exception. + * javax/crypto/CipherSpi.java (engineDoFinal, engineUpdate): new + methods. + +2006-03-11 Ito Kazumitsu + + * gnu/regexp/BacktrackStack.java: New file. + * gnu/regexp/RE.java(findMatch): New method. + * gnu/regexp/REMatch.java(next,matchFlags,MF_FIND_ALL, + REMatchList): Removed. (backtrackStack): New field. + * gnu/regexp/REToken.java(match): Changed from an abstract + method to an ordinary method defined with the new method + matchThis. (matchThis, getNext, findMatch, returnsFixedLengthMatches, + findFixedLengthMatches, backtrack, toString): New methods. + * gnu/regexp/RETokenAny.java: Inplemented new methods of REToken. + * gnu/regexp/RETokenBackRef.java: Likewise. + * gnu/regexp/RETokenChar.java: Likewise. + * gnu/regexp/RETokenEnd.java: Likewise. + * gnu/regexp/RETokenEndSub.java: Likewise. + * gnu/regexp/RETokenIndependent.java: Likewise. + * gnu/regexp/RETokenLookAhead.java: Likewise. + * gnu/regexp/RETokenLookBehind.java: Likewise. + * gnu/regexp/RETokenNamedProperty.java: Likewise. + * gnu/regexp/RETokenPOSIX.java: Likewise. + * gnu/regexp/RETokenRange.java: Likewise. + * gnu/regexp/RETokenStart.java: Likewise. + * gnu/regexp/RETokenWordBoundary.java: Likewise + * gnu/regexp/RETokenOneOf.java: Rewriten. + * gnu/regexp/RETokenRepeated.java: Rewriten. + +2006-03-10 Roman Kennke + + * javax/swing/plaf/metal/MetalBorders.java + (RolloverButtonBorder.paintBorder): Only call super here. + * javax/swing/plaf/metal/MetalButtonListener.java + (propertyChange): Only call super here. + * javax/swing/plaf/metal/MetalButtonUI.java + (update): Changed condition from isOpaque() to isContentAreaFilled() + for the gradient fill. + * javax/swing/plaf/metal/MetalToggleButtonUI.java + (paintText): API doc fix. Makes paintText not deprecated as specified + but adds comment that this is obsolete. + * javax/swing/plaf/metal/MetalUtils.java + (fillMetalPattern): Fixed condition so that the Java2D is not + used when the noGraphics2D property is set. + +2006-03-10 Roman Kennke + + * javax/swing/plaf/metal/MetalLookAndFeel.java + (createDefaultTheme): Set OceanTheme as default metal theme. + +2006-03-10 Roman Kennke + + * javax/swing/text/WrappedPlainView.java + (metrics): Made field package private to avoid accessor method. + (WrappedLine.paint): Call drawLine with y offset of the font ascent. + The drawLine (righly) interprets the y parameter as the baseline. + * javax/swing/text/Utilities.java + (getBreakLocation): Don't consider the offset. The returned value + for getTabbedTextOffset is already relative to the offset. + +2006-03-10 Wolfgang Baer + + * gnu/java/net/protocol/http/Headers.java: Added documentation all over. + (dateFormat): Made private. + (put): Replace only the last occurance and the value. + (putAll): Save one iteration. Clarified documentation. + +2006-03-10 Tom Tromey + + * java/util/zip/InflaterInputStream.java (read): Replace with libgcj + implementation. + * java/util/zip/GZIPInputStream.java (readHeader): Use DEFLATED, + not '8'. + +2006-03-10 Lillian Angel + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.c + (comboboxgroup_get_widget): New function. + (removed): Fixed to use new function to get the correct widget. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c + (nativeSetCheckboxGroup): Reverted last patch to use get_widget + function. + +2006-03-10 Lillian Angel + + * java/awt/GridBagLayout.java + (ArrangeGrid): Added checks to determine if component + is placed last in a row or column. If so, the location + of the last component should be used to get the location + of the current component. + +2006-03-10 Lillian Angel + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c + (nativeSetCheckboxGroup): No need to use new function here. + Should just pass in pointer. + +2006-03-10 Lillian Angel + + * java/awt/GridBagLayout.java + (distributeSizeAndWeight): Change else if to else. This + allows for components to be added to a new row when + their gridheight is REMAINDER. + +2006-03-10 Audrius Meskauskas + + * java/rmi/activation/ActivationDesc.java, + java/rmi/activation/ActivationGroupID.java, + java/rmi/activation/Activator.java, + java/rmi/server/Operation.java, + java/rmi/server/RemoteServer.java: Documented and formatted. + +2006-03-10 David Gilbert + + * javax/swing/JToggleButton.java: Fixed API doc tags, + * javax/swing/OverlayLayout.java: Likewise. + +2006-03-10 David Gilbert + + * javax/swing/DefaultCellEditor.java + (cancelCellEditing): Removed spurious API doc tag. + +2006-03-10 Lillian Angel + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c + (create): Put checkbox widget into an event box so it paints properly. + (connectSignals): Fixed to use new function. + (nativeSetCheckboxGroup): Likewise. + (gtkToggleButtonSetActive): Likewise. + (gtkWidgetModifyFont): Likewise. + (gtkButtonSetLabel): Likewise. + (combobox_get_widget): New function. + +2006-03-10 David Gilbert + + * javax/swing/text/rtf/package.html: New file. + +2006-03-10 Roman Kennke + + * javax/swing/plaf/metal/OceanTheme.java + (addCustomEntriesToTable): Fixed ScrollBar.gradient value. + * javax/swing/plaf/metal/MetalScrollBarUI.java + (paintThumb): Only draw Metal pattern if theme is not OceanTheme. + (paintThumbHorizontal): Added handling of OceanTheme. + (paintThumbVertical): Added handling of OceanTheme. + +2006-03-10 Roman Kennke + + Reported by Fridjof Siebert + * java/awt/MediaTracker.java + (removeImage): Only set prev to e when the the images of the + entries are not the same. This avoids a potentially corrupt list. + +2006-03-10 Chris Burdess + + PR 26620: + * gnu/xml/transform/TransformerImpl.java: Suspend wellformedness + checking while reindenting. + +2006-03-10 Thomas Fitzsimmons + + * javax/imageio/plugins/jpeg/JPEGHuffmanTable.java: New file. + +2006-03-09 Tom Tromey + + PR classpath/26585: + * tools/Makefile.am (TOOLSdir): Don't put tools.zip in tools + subdir. Added README. + (install-data-local): Removed. + (uninstall-local): Likewise. + (EXTRA_DIST): Removed. + +2006-03-09 Tom Tromey + + PR classpath/26623: + * native/jni/qt-peer/Makefile.am (nativeexeclib_LTLIBRARIES): + Renamed. + * native/jni/midi-alsa/Makefile.am (nativeexeclib_LTLIBRARIES): + Renamed. + * native/jni/java-net/Makefile.am (nativeexeclib_LTLIBRARIES): + Renamed. + * native/jni/java-lang/Makefile.am (nativeexeclib_LTLIBRARIES): + Renamed. + * native/jni/xmlj/Makefile.am (nativeexeclib_LTLIBRARIES): + Renamed. + * native/jni/gtk-peer/Makefile.am (nativeexeclib_LTLIBRARIES): + Renamed. + * native/jni/midi-dssi/Makefile.am (nativeexeclib_LTLIBRARIES): + Renamed. + * native/jni/java-io/Makefile.am (nativeexeclib_LTLIBRARIES): + Renamed. + * native/jni/java-nio/Makefile.am (nativeexeclib_LTLIBRARIES): + Renamed. + * native/jni/java-util/Makefile.am (nativeexeclib_LTLIBRARIES): + Renamed. + * native/jawt/Makefile.am (nativeexeclib_LTLIBRARIES): Renamed. + * configure.ac (nativeexeclibdir): Renamed from nativelibdir. + +2006-03-09 Keith Seitz + + * gnu/classpath/jdwp/processor/MethodCommandSet.java + (executeVariableTable): Use VMMethod instead of reflection. + (executeLineTable): Likewise. + * gnu/classpath/jdwp/processor/ReferenceTypeCommandSet.java + (executeMethods): Rewrite to use new VMVirtualMachine.getAllClassMethods. + * vm/reference/gnu/classpath/jdwp/VMVirtualMachine.java + (getLineTable): Removed. Now resides in VMMethod. + (getVarTable): Likewise. + (getAllClassMethods): New method. + +2006-03-09 Keith Seitz + + * gnu/classpath/jdwp/event/EventManager.java: Update javadoc. + * gnu/classpath/jdwp/event/ThreadStartEvent.java + (ThreadStartEvent): Likewise. + * gnu/classpath/jdwp/event/VmDeathEvent.java (VmDeathEvent): Likewise. + * gnu/classpath/jdwp/event/filters/ConditionalFilter.java + (ConditionalFilter): Likewise. + * gnu/classpath/jdwp/event/filters/ExceptionOnlyFilter.java + (ExceptionOnlyFilter): Likewise. + * gnu/classpath/jdwp/event/filters/FieldOnlyFilter.java + (FieldOnlyFilter): Likewise. + * gnu/classpath/jdwp/event/filters/StepFilter.java (getDepth): Likewise. + (getSize): Likewise. + (StepFilter): Likewise. + * gnu/classpath/jdwp/id/JdwpId.java: Likewise (for _tag). + * gnu/classpath/jdwp/transport/JdwpPacket.java + (JdwpPacket): Likewise. + (fromBytes): Likewise. + * gnu/classpath/jdwp/transport/JdwpReplyPacket.java + (JdwpReplyPacket): Likewise. + * gnu/classpath/jdwp/util/Value.java (getUntaggedObj): Likewise. + * vm/reference/gnu/classpath/jdwp/VMIdManager.java + (getReferenceType): Likewise. + (newObjectId): Likewise. + * vm/reference/gnu/classpath/jdwp/VMMethod.java (readId): Likewise. + * vm/reference/gnu/classpath/jdwp/VMVirtualMachine.java + (getFrames): Fix typo in parameter name and update javadoc. + (getClassMethod): Update javadoc. + +2006-03-09 David Gilbert + + * javax/swing/event/TreeSelectionEvent.java: Updated API docs, + * javax/swing/event/TreeSelectionListener.java: Likewise. + +2006-03-09 Lillian Angel + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollPanePeer.c + (getHScrollbarHeight): Fixed property name. + (getVScrollbarHeight): Likewise. + +2006-03-09 Lillian Angel + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c + (get_widget): New function. + (gtkWidgetSetParent): Changed to use new function. + (gtkWidgetSetCursorUnlocked): Likewise. + (gtkWidgetSetSensitive): Likewise. + (gtkWidgetRequestFocus): Likewise. + (gtkWindowGetLocationOnScreen): Likewise. + (gtkWidgetGetDimensions): Likewise. + (gtkWidgetGetPreferredDimensions): Likewise. + (setNativeBounds): Likewise. + (gtkWidgetGetBackground): Likewise. + (gtkWidgetGetForeground): Likewise. + (gtkWidgetSetBackground): Likewise. + (gtkWidgetSetForeground): Likewise. + (setVisibleNativeUnlocked): Likewise. + (isEnabled): Likewise. + (isRealized): Likewise. + (setNativeEventMask): Likewise. + +2006-03-09 Lillian Angel + + PR Classpath\22163 + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.c + (create): Added combobox widget to an event box. + (connectSignals): Added call to choice_get_widget to get the + combobox out of the event box. + (append): Likewise. + (nativeRemoveAll): Likewise. + (nativeRemove): Likwise. + (nativeAdd): Likewise. + (selectNative): Likewise. + (choice_get_widget): New function. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkListPeer.c + (create): Added list scroll window widget to an event box. + (connectSignals): Changed call to use new function to get the + correct widget out of the event box. + (getWidgetModifyFont): Likewise. + (getWidgetRequestFocus): Likewise. + (append): Likewise. + (add): Likewise. + (delItems): Likewise. + (select): Likewise. + (deselect): Likewise. + (getSize): Likewise. + (getSelectedIndexes): Likewise. + (makeVisible): Likewise. + (setMultipleMode): Likewise. + (list_get_widget): New function. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollPanePeer.c + (create): Added scrollpane to an eventbox. + (setScrollPosition): Changed call to use new function to get the + correct widget out of the event box. + (gtkScrolledWindowSetHScrollIncrement): Likewise. + (gtkScrolledWindowSetVScrollIncrement): Likewise. + (getHScrollbarHeight): Likewise. + (getVScrollbarWidth): Likewise. + (setPolicy): Likewise. + (scrollpane_get_widget): New function. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollbarPeer.c + (connectSignals): Changed call to use new function to get the + correct widget out of the event box. + (create): Added scrollbar to an eventbox. + (setLineIncrement): Changed call to use new function to get the + correct widget out of the event box. + (setPageIncrement): Likewise. + (setBarValues): Likewise. + (scrollbar_get_widget): New function. + * native/jni/gtk-peer/gnu_java_gnu_java_awt_peer_gtk_GtkTextAreaPeer.c + (create): Added text area scroll window widget to an event box. + (connectSignals): Changed call to use new function to get the + correct widget out of the event box. + (insert): Likewise. + (replaceRange): Likewise. + (gtkWidgetModifyFont): Likewise. + (gtkWidgetRequestFocus): Likewise. + (getHScrollbarHeight): Likewise. + (getVScrollbarWidth): Likewise. + (getCaretPosition): Likewise. + (setCaretPosition):Likewise. + (getSelectionStart): Likewise. + (getSelectionEnd): Likewise. + (select): Likewise. + (setEditable): Likewise. + (getText): Likewise. + (setText): Likewise. + (textarea_get_widget): New function. + +2006-03-09 Audrius Meskauskas + + * java/rmi/dgc/VMID.java: + (equals, hashCode, static initializer): Rewritten. + * java/rmi/dgc/package.html: Documented. + +2006-03-09 Mark Wielaard + + * gnu/java/awt/peer/gtk/GtkClipboard.java (clipboard, selection): + New static field. + (stringMimeType, imageMimeType, filesMimeType): Initialize directly. + (canCache): Likewise. + (GtkClipboard): Take String argument. + (getInstance): Removed. + (getClipboardInstance, getSelectionInstance): New static methods. + (setSystemContents): Make synchronized. Takes boolean argument. + (initNativeState): Add clipboard and selection. + * gnu/java/awt/peer/gtk/GtkClipboardNotifier.java + (announceClipboardChange, announcePrimaryChange): New static field. + (announce): Take GtkClipboard as argument. + (run): Check which clipboard to announce change for. + * gnu/java/awt/peer/gtk/GtkSelection.java (clipboard): New final + boolean field. + (GtkSelection): Take GtkClipboard as argument. + (requestText, requestImage, requestURIs, requestBytes): Add boolean + clipboard argument. + (requestMimeTypes): Likewise. + * gnu/java/awt/peer/gtk/GtkToolkit.java (getSystemSelection): + New method. + * java/awt/Toolkit.java (getSystemSelection): Document. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkClipboard.c + (cp_gtk_selection_instance): New var. + (current_selection, owner): Removed. + (clipboard_owner_change_cb): Use clipboard argument. + (initNativeState): Store clipboard and selection instances. Cache + setSystemContentsID, provideContentID, provideTextID, provideImageID, + and provideURIsID. + (clipboard_get_func): Use clipboard argument. + (clipboard_clear_func): Likewise. Always call method. + (advertiseContent): Don't cache method ids here. Check whether to + use clpboard or selection. Don't set owner or current_selection. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkSelection.c + (requestText, requestImage, requestURIs, requestBytes): Use extra + boolean argument to select clipboard. + * native/jni/gtk-peer/gtkpeer.h (cp_gtk_selection): New extern. + (cp_gtk_clipboard_instance, cp_gtk_selection_instance): Likewise. + * include/gnu_java_awt_peer_gtk_GtkClipboard.h: Regenerate. + * include/gnu_java_awt_peer_gtk_GtkSelection.h: Likewise. + +2006-03-09 Keith Seitz + + * gnu/classpath/jdwp/Jdwp.java: Remove unused imports. + * gnu/classpath/jdwp/event/EventRequest.java: Likewise. + * gnu/classpath/jdwp/event/filters/ClassMatchFilter.java: Likewise. + * gnu/classpath/jdwp/event/filters/ThreadOnlyFilter.java: Likewise. + * gnu/classpath/jdwp/processor/ThreadReferenceCommandSet.java: Likewise. + * gnu/classpath/jdwp/transport/ITransport.java: Likewise. + * vm/reference/gnu/classpath/jdwp/VMIdManager.java: Likewise. + * vm/reference/gnu/classpath/jdwp/VMMethod.java: Likewise. + * vm/reference/gnu/classpath/jdwp/VMVirtualMachine.java: Likewise. + +2006-03-09 Mark Wielaard + + * javax/swing/JList.java (ensureIndexIsVisible): Check whether cell + bounds for index is valid. + * javax/swing/plaf/basic/BasicListUI.java (valueChanged): Likewise. + (paint): Likewise. + (getCellBounds): Update documentation. + +2006-03-09 Arnaud Vandyck + + * .classpath: added exclude pattern on source folders + (Makefiles, README and .cvsignore) + +2006-03-08 Michael Koch + + * java/net/Proxy.java (NO_PROXY): Made final. + (equals): Likewise. + (hashCode): Likewise. + +2006-03-08 Keith Seitz + + * vm/reference/gnu/classpath/jdwp/VMMethod.java: New file. + * vm/reference/gnu/classpath/jdwp/VMVirtualMachine.java + (getClassMethod): New method. + +2006-03-08 Audrius Meskauskas + + * java/rmi/server/UID.java (getMachineId): Include the host IP address. + +2006-03-08 Audrius Meskauskas + + * java/rmi/server/ObjID.java: Documented and autoformatted. + +2006-03-08 Audrius Meskauskas + + PR 26584 + * tools/Makefile.am (install-data-local, + uninstall-local): Install/uninstall the tools/README only. + * tools/gnu/classpath/tools/giop/README: Updated. + * tools/README: New file. + +2006-03-08 Lillian Angel + + * java/awt/GridBagLayout.java + (GetLayoutInfo): If the last component added had gridwidth == REMAINDER, + then the next item should be set to current_y (not 0). + +2006-03-08 Lillian Angel + + * java/awt/GridBagLayout.java + (GetLayoutInfo): If gridy is RELATIVE and there is no component + in the bottom-most spot of the column, we need to place that component + at the y-location of the other components in that row. If there are + no other components in that row, then place it at y = 0. + +2006-03-08 David Gilbert + + * javax/swing/ProgressMonitor.java: Updated API docs, + * javax/swing/ProgressMonitorInputStream.java: Likewise. + +2006-03-08 Michael Koch + + * java/net/InetSocketAddress.java + (InetSocketAddress(String,int,resolve)): New private contructor. + (InetSocketAddress(String,int)): Use new private constructor. + (createUnresolved): New method. + +2006-03-07 Michael Koch + + * gnu/java/net/DefaultProxySelector.java, + java/net/Proxy.java, java/net/ProxySelector.java: + New files. + +2006-03-07 Audrius Meskauskas + + * java/rmi/server/UID.java (constructor): Assign last and time fields + after pause. + +2006-03-07 Audrius Meskauskas + + * java/rmi/server/UID.java: New file (replacing). + +2006-03-08 Raif S. Naffah + + * java/util/jar/Manifest.java: Removed unused imports. + (CRLF): New constant. + (read): Added method documentation. + Use UTF-8 encoding instead of 8859_1. + (write): Added method documentation. + Use BufferedOutputStream (w/ 4K buffer) instead of PrintWriter. + (write_main_section): Replace PrintWriter arg with OutputStream. + Replace JarException with IOException. + (write_version_info): Likewise. + (write_main_attributes): Likewise. + (write_attribute_entry): Likewise. + (write_individual_sections): Likewise. + (write_entry_attributes): Likewise. + (write_header): Replace PrintWriter arg with OutputStream. + Re-implemented. + +2006-03-07 David Gilbert + + * javax/swing/tree/DefaultMutableTreeNode.java + (getFirstChild): Updated API docs, + (getLastChild): Likewise, + (getChildAfter): Likewise, + (getChildBefore): Likewise, + (isNodeSibling): Return true if node == this, + (getSiblingCount): Updated API docs, + (getNextSibling): Likewise, + (getPreviousSibling): Likewise, + (isLeaf): Likewise, + (getFirstLeaf): Likewise, + (getLastLeaf): Likewise, + (getNextLeaf): Implemented, + (getPreviousLeaf): Implemented. + +2006-03-07 Tom Tromey + + * java/awt/image/ColorModel.java (getComponents): Javadoc fix. + * java/awt/datatransfer/FlavorEvent.java: Added missing @since. + * java/awt/dnd/DropTargetEvent.java (serialVersionUID): New field. + * java/awt/DefaultFocusTraversalPolicy.java (serialVersionUID): New + field. + +2006-03-07 David Gilbert + + * javax/swing/tree/DefaultMutableTreeNode.java: API docs all over plus + (clone): Reimplemented, + (add): Throw IllegalArgumentException if child is an ancestor, + (remove(int)): Set child's parent to null, + (remove(MutableTreeNode)): Check arguments and set child's parent to + null, + (insert): Check allowsChildren flag, check for null argument, and + check for a node that is an ancestor, + (getIndex): Throw IllegalArgumentException for null argument, + (setAllowsChildren): If setting to false, remove existing children, + (removeAllChildren): Set parent to null for removed children. + +2006-03-07 David Gilbert + + * javax/swing/tree/TreeNode.java: Reformatted and added API docs all + over. + +2006-03-06 Tom Tromey + + * java/lang/StrictMath.java (ulp): New methods. + * java/lang/Math.java (ulp): New methods. + +2006-03-07 Audrius Meskauskas + + * gnu/java/rmi/server/UnicastRef.java, + * gnu/java/rmi/server/UnicastServer.java: Formatted. + +2006-03-07 Audrius Meskauskas + + * gnu/java/rmi/server/CombinedClassLoader.java + (findClass, findLibrary, findResouce, findResources): check + all loaders in array. + +2006-03-07 Audrius Meskauskas + + PR 25526 + * gnu/java/rmi/dgc/DGCImpl.java (LeaseRecord, leaseCache): Removed. + (RefProtector): new inner class. (dirty): Rewritten. + * gnu/java/rmi/server/UnicastRef.java (dgcId, dgcInterfaceHash, + dgcSequence, DIRTY, this_id): New fields. (equals, hashCode, notifyDGC): + new methods. (readExternal): Create LeaseRenewingTask if non local. + * gnu/java/rmi/server/UnicastServer.java (objects): + Use WeakHashMap. (refcache): Use WeakIdentityHashMap. + (getExported): New method. + * gnu/java/rmi/dgc/LeaseRenewingTask.java: New file. + +2006-03-06 Mark Wielaard + + * doc/www.gnu.org/announce/20060306.wml: New file. + * doc/www.gnu.org/newsitems.txt: Add 0.90 release announcement. + * doc/www.gnu.org/downloads/downloads.wml: Add 0.90. + +2006-03-06 David Gilbert + + * javax/swing/plaf/metal/MetalLookAndFeel.java + (initComponentDefaults): Use Boolean.TRUE for + 'CheckBoxMenuItem.borderPainted'. + +2006-03-06 Wolfgang Baer + + * gnu/java/net/protocol/http/Headers.java: Added documentation all over. + (dateFormat): Made private. + (put): Replace only the last occurance and the value. + (putAll): Reimplemented with the put method. + +2006-03-06 Lillian Angel + + PR classpath/26569 + * java/awt/List.java + (preferredSize): Return the size of the list if the peer is + null. + * gnu/java/awt/peer/gtk/GtkListPeer.java + (preferredSize): Code was returning the minimum size of the + list. Added adjustment to the width of the list so it is a + proper size. + +2006-03-06 Wolfgang Baer + + * gnu/java/net/protocol/http/HTTPURLConnection.java: Organized imports. + (getRequestProperty): Remove duplicated null check. + * java/net/URLConnection.java: + (URLConnection): Javadoc fix. + (addRequestProperty): Likewise. + (getDefaultRequestProperty): Likewise. + (getHeaderField): Likewise. + (getHeaderFieldDate): Likewise. + (getHeaderFieldKey): Likewise. + (getHeaderFields): Likewise. + (getRequestProperties): Likewise. + (getRequestProperty): Likewise. + (setDefaultRequestProperty): Likewise. + (setRequestProperty): Likewise. + +2006-03-06 Robert Schuster + + * examples/gnu/classpath/examples/swing/TextArea.java: New file. + * examples/gnu/classpath/examples/swing/Demo.java: + (mkButtonBar): Changed layout manager to GridLayout, added entry for + textarea example. + (mkMenuBar): Added entry for text area example. + +2006-03-06 Tom Tromey + + * javax/swing/plaf/synth/Region.java (FILE_CHOOSER): Renamed. + (FORMATTED_TEXT_FIELD): Likewise. + +2006-03-06 Tom Tromey + + * javax/swing/plaf/synth/SynthPainter.java: Finished. + +2006-03-06 Robert Schuster + + * examples/gnu/classpath/examples/swing/Demo.java: + (mkMenuBar): Added menu entry that will display the VM's name, + version and distributor. + +2006-03-06 Tom Tromey + + * javax/swing/plaf/synth/SynthLookAndFeel.java (getDescription): + Javadoc fix. + (getName): Likewise. + +2006-03-06 Raif S. Naffah + + * java/util/jar/Manifest.java: Removed unused imports. + (CRLF): New constant. + (read): Added method documentation. + Use UTF-8 encoding instead of 8859_1. + (write): Added method documentation. + Use BufferedOutputStream (w/ 4K buffer) instead of PrintWriter. + (write_main_section): Replace PrintWriter arg with OutputStream. + Replace JarException with IOException. + (write_version_info): Likewise. + (write_main_attributes): Likewise. + (write_attribute_entry): Likewise. + (write_individual_sections): Likewise. + (write_entry_attributes): Likewise. + (write_header): Replace PrintWriter arg with OutputStream. + Re-implemented. + +2006-03-06 David Gilbert + + + * javax/swing/tree/FixedHeightLayoutCache.java: Reformatted and fixed + API doc tag warnings, + * javax/swing/tree/VariableHeightLayoutCache.java: Likewise. + +2006-03-06 Dalibor Topic + + * gnu/java/net/protocol/file/Connection.java (unquote): + Update position in buffer after decoding a unicode character + outside of the basic plane. + +2006-03-06 Dalibor Topic + + * java/net/URI.java + (quote): Pass Unicode characters outside the basic plane through. + +2006-03-06 Robert Schuster + + * javax/swing/plaf/basic/BasicTextUI.java: + (damageRange): Rewritten if-expressions to correctly identify the + break condition. + +2006-03-06 Mark Wielaard + + * configure.ac: Set version to 0.90-generics. + * NEWS: Fix typos. + +2006-03-06 Mark Wielaard + + Fixes bug #26568 reported by Paul Jenner + * native/fdlibm/fdlibm.h (__ieee754_rem_pio2): Return an int32_t. + (isnan): Define explicitly isnan if it is not a macro. + +2006-03-06 Robert Schuster + + * javax/swing/text/GapContent.java: + (insertString): Throw exception when argument is below + zero. + +2006-03-06 Robert Schuster + + * javax/swing/text/PlainDocument.java: + (insertUpdate): Extended if-expression, added + code to generate another Element when newly inserted characters + and old ones will be on the same line. + +2006-03-06 Robert Schuster + + * javax/swing/text/DefaultCaret.java: + (mouseDragged): Do selection when shift is pressed. + (mouseClicked): Implemented. + +2006-03-06 Robert Schuster + + * javax/swing/text/PlainDocument.java: Fix copyright header, + added author tags. + (insertUpdate): Do not copy the whole document any more, added some + more variables to prevent needless method calls. + +2006-03-06 Christian Thalinger + + * configure.ac: Check for FREETYPE2. This is a reverted patch and + is required on Darwin. + * native/jni/gtk-peer/Makefile.am (AM_LDFLAGS): Added FREETYPE2. + (AM_CFLAGS): Likewise. + +2006-03-06 Mark Wielaard + + * NEWS: Add updates for 0.90 release. + +2006-03-05 Robert Schuster + + * javax/swing/text/GapContent.java: + (insertString): Throw exception when argument is below + zero. + +2006-03-05 David Gilbert + + + * javax/swing/filechooser/FileFilter.java: + (accept): Fixed API doc tag, + (getDescription): Likewise, + * javax/swing/filechooser/FileView.java: + (isTraversable): Fixed API doc tag. + +2006-03-05 David Gilbert + + * javax/swing/colorchooser/ColorSelectionModel.java: Reformatted and + added API docs all over. + +2006-03-05 David Gilbert + + * javax/swing/plaf/ComboBoxUI.java: Fixed typo in class description, + and corrected a bad API doc tag. + +2006-03-05 David Gilbert + + * javax/swing/undo/StateEditable.java + (restoreState): Fixed bad API doc tag, + * javax/swing/undo/UndoableEdit.java: Copied API doc comments from + AbstractUndoableEdit.java, + * javax/swing/undo/UndoableEditSupport.java + (createCompoundEdit): Fixed bad API doc tag, + * javax/swing/undo/UndoManager.java + (editToBeUndone): Fixed bad API doc tag, + (editToBeRedone): Likewise. + +2006-03-05 David Gilbert + + * javax/swing/DefaultFocusManager.java: Fixed bad API doc tags, + * javax/swing/FocusManager.java: Likewise. + + +2006-03-05 David Gilbert + + + * javax/swing/plaf/metal/MetalComboBoxButton.java + (MetalComboBoxButton(JComboBox, Icon, boolean, CellRendererPane, + JList)): Fixed API doc tag, + * javax/swing/plaf/metal/MetalInternalFrameTitlePane + (createLayout): Fixed API doc warning. + +2006-03-05 Tom Tromey + + * vm/reference/java/lang/reflect/Constructor.java (toString): Use + ClassHelper.getUserName. + * vm/reference/java/lang/reflect/Method.java (toString): Use + ClassHelper.getUserName. + (getUserTypeName): Removed. + * gnu/java/lang/ClassHelper.java (getUserName): New method. + * vm/reference/java/lang/reflect/Field.java (toString): Use + ClassHelper.getUserName. + +2006-03-05 Olivier Jolly + + Fixes PR 22813 + * java/net/URLClassLoader.java (FileURLLoader.getResource): + Allows directories as valid resources. + +2006-03-05 Mark Wielaard + + * configure.ac (VERSION): Set to 0.90-pre-generics. + * Merge with CVS trunk from classpath-0_90-branch-point. + +2006-03-04 Tom Tromey + + * javax/swing/SpringLayout.java (Constraints): New constructor. + * javax/swing/Spring.java (width): New method. + (height): Likewise. + (scale): Likewise. + +2006-03-04 Mark Wielaard + + * gnu/java/net/protocol/http/HTTPConnection.java (Pool.get): Remove + existing connection from pool before returning. + +2006-03-04 Mark Wielaard + + * gnu/xml/stream/SAXParser.java (parse(InputSource)): Ignore + exceptions thrown by handlers while cleaning up and rethrow original + exception. + +2006-03-04 Tom Tromey + + * java/beans/PropertyDescriptor.java (createPropertyEditor): New + method. + (findConstructor): Likewise. + (instantiateClass): Likewise. + +2006-03-04 Audrius Meskauskas + + * gnu/java/rmi/dgc/DGCImpl.java: More comments, boilerplate fix. + (dirty): Do not synchronize on Hashtable. Use the passed (requested) + lease value and not always the default one. + (LeaseRecord): Remember the array of objects, marked as dirty. + java/rmi/dgc/Lease.java: Boilerplate fix. + +2006-03-05 Raif S. Naffah + + * java/util/jar/Attributes.java (putValue): Made it public and updated + method documentation. + +2006-03-04 Mark Wielaard + + * java/awt/Container.java (remove(int)): Always call removeNotify() + on removed Component. + +2006-03-04 Mark Wielaard + + Fixes bug #26460 reported by Beat Wolf . + * javax/swing/JEditorPane.java (setText): Check for empty String + with equals(), not equality (==). + +2006-03-04 Mark Wielaard + + * javax/swing/text/html/HTMLDocument.java: Qualify ElementSpec as + DefaultStyledDocument.ElementSpec for gcj 4.0.x. + +2006-03-04 David Gilbert + + * javax/swing/text/GapContent.java + (getArray): Mark as final. + +2006-03-04 David Gilbert + + * javax/swing/text/StyleConstants.java + (CharacterConstants.Background): Marked final, + (CharacterConstants.BidiLevel): Likewise, + (CharacterConstants.Bold): Likewise, + (CharacterConstants.ComponentAttribute): Likewise, + (CharacterConstants.Family): Likewise, + (CharacterConstants.Size): Likewise, + (CharacterConstants.Foreground): Likewise, + (CharacterConstants.IconAttribute): Likewise, + (CharacterConstants.Italic): Likewise, + (CharacterConstants.StrikeThrough): Likewise, + (CharacterConstants.Subscript): Likewise, + (CharacterConstants.Superscript): Likewise, + (CharacterConstants.Underline): Likewise, + (ColorConstants.Foreground): Likewise, + (ColorConstants.Background): Likewise, + (FontConstants.Bold): Likewise, + (FontConstants.Family): Likewise, + (FontConstants.Italic): Likewise, + (FontConstants.Size): Likewise, + (ParagraphConstants.Alignment): Likewise, + (ParagraphConstants.FirstLineIndent): Likewise, + (ParagraphConstants.LeftIndent): Likewise, + (ParagraphConstants.LineSpacing): Likewise, + (ParagraphConstants.Orientation): Likewise, + (ParagraphConstants.RightIndent): Likewise, + (ParagraphConstants.SpaceAbove): Likewise, + (ParagraphConstants.SpaceBelow): Likewise, + (ParagraphConstants.TabSet): Likewise. + +2006-03-03 Tom Tromey + + * javax/net/ssl/SSLException.java: Added missing @since. + Wrote javadoc. + +2006-03-03 Tom Tromey + + * javax/net/ssl/SSLException.java (SSLException): New constructors. + (serialVersionUID): New field. + +2006-03-03 Tom Tromey + + * java/security/spec/InvalidKeySpecException.java + (InvalidKeySpecException): New constructors. + * java/security/cert/CertificateParsingException.java + (CertificateParsingException): New constructors. + * java/security/cert/CertificateEncodingException.java + (CertificateEncodingException): New constructors. + * java/security/cert/CertificateException.java (CertificateException): + New constructors. + * java/security/cert/CRLException.java (CRLException): New + constructors. + +2006-03-03 Tom Tromey + + * java/security/SignatureException.java (SignatureException): New + constructors. + * java/security/ProviderException.java (ProviderException): New + constructors. + * java/security/NoSuchAlgorithmException.java + (NoSuchAlgorithmException): New constructors. + * java/security/KeyStoreException.java (KeyStoreException): New + constructors. + * java/security/KeyManagementException.java (KeyManagementException): + New constructors. + * java/security/InvalidKeyException.java (InvalidKeyException): New + constructors. + * java/security/KeyException.java (KeyException): New constructors. + * java/security/InvalidAlgorithmParameterException.java + (InvalidAlgorithmParameterException): New constructors. + * java/security/DigestException.java (DigestException): New + constructors. + * java/security/GeneralSecurityException.java + (GeneralSecurityException): New constructors. + +2006-03-03 David Gilbert + + * javax/swing/event/CaretEvent.java: Reformatting and fixed API doc + warnings, + * javax/swing/event/DocumentEvent.java: Likewise, + * javax/swing/event/EventListenerList.java: Likewise, + * javax/swing/event/MenuDragMouseEvent.java: Likewise, + * javax/swing/event/MenuKeyEvent.java: Likewise, + * javax/swing/event/TableColumnModelEvent.java: Likewise, + * javax/swing/event/TreeExpansionEvent.java: Likewise, + * javax/swing/event/TreeModelEvent.java: Likewise, + * javax/swing/event/TreeSelectionEvent.java: Likewise, + * javax/swing/event/UndoableEditEvent.java: Likewise. + +2006-03-03 Tom Tromey + + * java/awt/Insets.java (set): New method. + (equals): Added @since. + +2006-03-03 David Daney + + * gnu/java/net/protocol/http/HTTPURLConnection.java + (getRequestProperties): Rewrote. + (addRequestProperty): Rewrote. + (getHeaderFields): Rewrote. + (getHeaderField): Rewrote. + (getHeaderFieldKey): Rewrote. + (getHeaderField): Removed useless cast. + * gnu/java/net/protocol/http/Headers.java: Entire class rewritten. + * gnu/java/net/protocol/http/Request.java (dispatch): Use new Headers + interface. + (notifyHeaderHandlers): Use new Headers interface. + +2006-03-03 Tom Tromey + + * javax/naming/NamingException.java (getExplanation): Javadoc fix. + * javax/naming/spi/ResolveResult.java, + javax/naming/event/NamingExceptionEvent.java, + javax/naming/event/NamingEvent.java, + javax/naming/directory/SearchResult.java, + javax/naming/directory/SearchControls.java, + javax/naming/directory/SchemaViolationException.java, + javax/naming/directory/NoSuchAttributeException.java, + javax/naming/directory/ModificationItem.java, + javax/naming/directory/InvalidSearchFilterException.java, + javax/naming/directory/InvalidSearchControlsException.java, + javax/naming/directory/InvalidAttributesException.java, + javax/naming/directory/InvalidAttributeIdentifierException.java, + javax/naming/directory/AttributeModificationException.java, + javax/naming/directory/AttributeInUseException.java, + javax/naming/TimeLimitExceededException.java, + javax/naming/SizeLimitExceededException.java, + javax/naming/PartialResultException.java, + javax/naming/Reference.java, + javax/naming/ServiceUnavailableException.java, + javax/naming/OperationNotSupportedException.java, + javax/naming/NotContextException.java, + javax/naming/NoPermissionException.java, + javax/naming/NoInitialContextException.java, + javax/naming/NameNotFoundException.java, + javax/naming/NameAlreadyBoundException.java, + javax/naming/NameClassPair.java, + javax/naming/MalformedLinkException.java, + javax/naming/LinkLoopException.java, + javax/naming/LinkException.java, + javax/naming/LimitExceededException.java, + javax/naming/InvalidNameException.java, + javax/naming/InterruptedNamingException.java, + javax/naming/InsufficientResourcesException.java, + javax/naming/ContextNotEmptyException.java, + javax/naming/ConfigurationException.java, + javax/naming/CannotProceedException.java, + javax/naming/CommunicationException.java, + javax/naming/Binding.java, + javax/naming/AuthenticationNotSupportedException.java, + javax/naming/AuthenticationException.java: Added serialVersionUID. + +2006-03-03 David Gilbert + + * javax/swing/event/TableColumnModelEvent.java: Reformatted. + +2006-03-03 David Gilbert + + * javax/swing/event/TableModelListener.java: Updated API docs. + +2006-03-03 Mark Wielaard + + * java/awt/Component.java (addNotify): Expand documentation. + +2006-03-03 Mark Wielaard + + * gnu/java/awt/peer/gtk/GtkComponentPeer.java (GtkComponentPeer): + Always call setParentAndBounds(). + (setComponentBounds): Always call setBounds(). + (setBounds): Call setVisible(). + (setVisible): If no pixels are showing then don't make it visible. + * gnu/java/awt/peer/gtk/GtkContainerPeer.java (endValidate): No need + to call setParentAndBounds() anymore. + +2006-03-03 Roman Kennke + + * javax/swing/JInternalFrame.java + (JInternalFrame): Set frame invisible. + (show): Reformatted. + * javax/swing/plaf/basic/BasicInternalFrameUI.java + (installDefaults): Do not set invisible here. + +2006-03-03 Roman Kennke + + * java/awt/Toolkit.java + (getScreenInsets): Return (0,0,0,0) here. + +2006-03-03 Roman Kennke + + * javax/swing/text/FlowView.java + (FlowStrategy.layoutRow): Added check for rowCount == 0. + (FlowStrategy.getLogicalView): Made method protected. + +2006-03-03 Chris Burdess + + * gnu/xml/validation/relaxng/AnyNameNameClass.java, + gnu/xml/validation/relaxng/AttributePattern.java, + gnu/xml/validation/relaxng/ChoiceNameClass.java, + gnu/xml/validation/relaxng/ChoicePattern.java, + gnu/xml/validation/relaxng/DataPattern.java, + gnu/xml/validation/relaxng/Define.java, + gnu/xml/validation/relaxng/ElementPattern.java, + gnu/xml/validation/relaxng/EmptyPattern.java, + gnu/xml/validation/relaxng/FullSyntaxBuilder.java, + gnu/xml/validation/relaxng/Grammar.java, + gnu/xml/validation/relaxng/GrammarException.java, + gnu/xml/validation/relaxng/GrammarValidator.java, + gnu/xml/validation/relaxng/GroupPattern.java, + gnu/xml/validation/relaxng/InterleavePattern.java, + gnu/xml/validation/relaxng/ListPattern.java, + gnu/xml/validation/relaxng/NSNameNameClass.java, + gnu/xml/validation/relaxng/NameClass.java, + gnu/xml/validation/relaxng/NameNameClass.java, + gnu/xml/validation/relaxng/NotAllowedPattern.java, + gnu/xml/validation/relaxng/OneOrMorePattern.java, + gnu/xml/validation/relaxng/Param.java, + gnu/xml/validation/relaxng/Pattern.java, + gnu/xml/validation/relaxng/RELAXNGSchemaFactory.java, + gnu/xml/validation/relaxng/RefPattern.java, + gnu/xml/validation/relaxng/TextPattern.java, + gnu/xml/validation/relaxng/ValuePattern.java: New RELAX NG grammar + builder and data model. + * gnu/xml/validation/xmlschema/AnyAttribute.java, + gnu/xml/validation/xmlschema/AttributeDeclaration.java, + gnu/xml/validation/xmlschema/AttributeUse.java, + gnu/xml/validation/xmlschema/ComplexType.java, + gnu/xml/validation/xmlschema/ElementDeclaration.java, + gnu/xml/validation/xmlschema/Particle.java, + gnu/xml/validation/xmlschema/ValidationException.java, + gnu/xml/validation/xmlschema/XMLSchema.java, + gnu/xml/validation/xmlschema/XMLSchemaAttributeTypeInfo.java, + gnu/xml/validation/xmlschema/XMLSchemaBuilder.java, + gnu/xml/validation/xmlschema/XMLSchemaElementTypeInfo.java, + gnu/xml/validation/xmlschema/XMLSchemaSchemaFactory.java, + gnu/xml/validation/xmlschema/XMLSchemaTypeInfo.java, + gnu/xml/validation/xmlschema/XMLSchemaTypeInfoProvider.java, + gnu/xml/validation/xmlschema/XMLSchemaValidator.java, + gnu/xml/validation/xmlschema/XMLSchemaValidatorHandler.java: New + W3C XML Schema builder and schema components. + * javax/xml/validation/SchemaFactory.java: Recognise RELAX NG and W3C + XML Schema namespace URIs. + +2006-03-03 Thomas Fitzsimmons + + * NEWS: Add entry for --enable-collections. + * configure.ac: Add --enable-collections option. + * lib/Makefile.am (collections.jar): New target. + (glibj_DATA): Add $(COLLECTIONS). + * lib/mkcollections.pl.in (destpath): Set from COLLECTION_PREFIX + configure substitution. + (classpath): Read from command line. + (javautilclasses): Remove BasicMapEntry. Add RandomAccess. + +2006-03-03 David Gilbert + + * javax/swing/SpringLayout.java: Fixed API doc warnings. + +2006-03-03 David Gilbert + + * javax/swing/event/ListSelectionEvent.java + (toString): Implemented, + plus updated API docs all over. + +2006-03-03 David Gilbert + + * javax/swing/event/ListSelectionEvent.java: Reformatted and fixed + API doc warnings, + * javax/swing/event/ListSelectionListener.java: Updated API docs. + +2006-03-03 Audrius Meskauskas + + * gnu/java/rmi/dgc/DGCImpl.java, + java/rmi/dgc/DGC.java, + java/rmi/dgc/Lease.java: Formatted and commented. + +2006-03-03 Roman Kennke + + * NEWS: Added comment about text highlighting and copy+paste + in Swing. + +2006-03-03 Roman Kennke + + * javax/swing/JTabbedPane.java + (remove(int)): Call super.remove(int) instead of remove(Component). + Avoids a stack overflow. + +2006-03-03 Roman Kennke + + * javax/swing/JTable.java + (distributeSpillResizing): Avoid ArithmeticException by checking + divisor. + +2006-03-03 David Gilbert + + * javax/swing/text/package.html: Added package description. + +2006-03-03 David Gilbert + + * javax/swing/CellRendererPane.java: Minor API doc fix, + * javax/swing/ComboBoxModel.java: Updated API docs. + +2006-03-03 Chris Burdess + + Fixes PR 26503 + * gnu/xml/stream/EntityReferenceImpl.java, + gnu/xml/stream/FilteredEventReader.java, + gnu/xml/stream/SAXParser.java, + gnu/xml/stream/XIncludeFilter.java, + gnu/xml/stream/XMLEventAllocatorImpl.java, + gnu/xml/stream/XMLEventFactoryImpl.java, + gnu/xml/stream/XMLEventImpl.java, + gnu/xml/stream/XMLEventReaderImpl.java, + gnu/xml/stream/XMLEventWriterImpl.java, + gnu/xml/stream/XMLInputFactoryImpl.java, + gnu/xml/stream/XMLOutputFactoryImpl.java, + gnu/xml/stream/XMLParser.java, + javax/xml/stream/EventFilter.java, + javax/xml/stream/Location.java, + javax/xml/stream/StreamFilter.java, + javax/xml/stream/XMLEventFactory.java, + javax/xml/stream/XMLEventReader.java, + javax/xml/stream/XMLEventWriter.java, + javax/xml/stream/XMLInputFactory.java, + javax/xml/stream/XMLOutputFactory.java, + javax/xml/stream/XMLReporter.java, + javax/xml/stream/XMLResolver.java, + javax/xml/stream/XMLStreamConstants.java, + javax/xml/stream/XMLStreamReader.java, + javax/xml/stream/events/EntityDeclaration.java, + javax/xml/stream/events/EntityReference.java, + javax/xml/stream/events/XMLEvent.java, + javax/xml/stream/util/EventReaderDelegate.java, + javax/xml/stream/util/ReaderDelegate.java: Updated to final version of + StAX API as specified in JWSDP 2.0. + * gnu/xml/stream/EndEntityImpl.java, + gnu/xml/stream/LocationImpl.java, + gnu/xml/stream/StartEntityImpl.java, + gnu/xml/stream/XMLStreamReaderImpl.java, + javax/xml/stream/XMLFilter.java, + javax/xml/stream/XMLIterator.java, + javax/xml/stream/events/EndEntity.java, + javax/xml/stream/events/StartEntity.java: Removed legacy files. + +2006-03-03 David Gilbert + + * javax/swing/CellEditor.java: API doc updates, + * javax/swing/DefaultCellEditor.java: Likewise. + +2006-03-03 David Gilbert + + * javax/swing/AbstractListModel.java: + (AbstractListModel): Added API docs, + (fireContentsChanged): Minor API doc correction, + (fireIntervalAdded): Likewise, + (fireIntervalRemoved): Likewise. + +2006-03-03 Roman Kennke + + * NEWS: Added paragraph about Swing improvements. + +2006-03-03 David Gilbert + + * javax/swing/AbstractAction.java: Updated API docs all over, + * javax/swing/AbstractCellRenderer.java: Minor reformatting, plus + (stopCellEditing): Minor API doc correction, + * javax/swing/UnsupportedLookAndFeelException.java + (UnsupportedLookAndFeelException): Changed argument name, updated API + docs. + +2006-03-03 Roman Kennke + + * javax/swing/plaf/metal/MetalUtils.java + (fillMetalPattern): Added switch to not use Graphics2D methods, + even if they are available. + +2006-03-03 Roman Kennke + + * javax/swing/plaf/basic/BasicHTML.java + (isHTMLString): Check for string beeing null. + * javax/swing/plaf/basic/BasicInternalFrameUI.java + (BasicInternalFrameListener.internalFrameActivated): Implemented. + (BasicInternalFrameListener.internalFrameDeactivated): Implemented. + (InternalFrameLayout): Don't touch the glass pane here. + (installUI): Fix handling of glass pane. + * javax/swing/plaf/basic/BasicLabelUI.java + (vr): New field. + (ir): New field. + (tr): New field. + (BasicLabelUI): Initialize new fields. + (getPreferredSize): Avoid creating new Rectangles by using + SwingUtilities method. + (paint): Avoid creating new Rectangles by reusing + new fields. Added some preliminary handling of HTML inside the + label. + (installComponents): Handle HTML by calling BasicHTML.updateRenderer. + (uninstallComponents): Clear HTML renderer. + (propertyChange): Check for HTML text and install renderer if + appropriate. + * javax/swing/plaf/basic/BasicListUI.java + (getCellBounds): Avoid creating new Rectangle by using SwingUtilities + method. + * javax/swing/plaf/basic/BasicTextUI.java + (RootView.getStartOffset): Implemented. + (RootView.getEndOffset): Implemented. + (RootView.getDocument): Implemented. + +2006-03-03 Roman Kennke + + * javax/swing/text/DefaultStyledDocument.java + (ElementBuffer.inserUpdate): Added check for zero-length + element. + * javax/swing/text/DefaultStyledDocument.java + (setIndex): Improved exception message. + * javax/swing/text/TableView.java + Made class abstract. + (TableRow.replace): Probably extend columnRequirements + arrays. + (TableRow.layoutMinorAxis): Call super.layoutMinorAxis instead + of super.layoutMajorAxis. + (columnRequirements): Made field package private. + (TableView): Do not load any child views here. + (layoutColumns): Implemented this method. + (updateColumnRequirements): New helper method. + * javax/swing/text/Utilities.java + (getBreakLocation): Also take offset into account when + finding end location. + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.parseStack): New field. + (HTMLReader.blockOpen): Properly handle p-implied tags. + (HTMLReader.blockClose): Properly handle p-implied and empty tags. + (HTMLReader.addContent): Insert p-implied when adding content to + a block element. + * javax/swing/text/html/HTMLEditorKit.java + (HTMLFactory.create): Create HTMLTableView for
tags and + ParagraphView for TD tags. Print out warning for tags that don't have + matching view yet and create NullView for them. + (read): Only set document base when document != null. + * javax/swing/text/html/HTMLTableView.java: + New class + +2006-03-03 Roman Kennke + + * javax/swing/plaf/basic/BasicHTML.java + (HTMLRootView): New inner class. + (createHTMLView): Embed view inside a HTMLRootView. + +2006-03-03 Wolfgang Baer + + * gnu/java/net/protocol/jar/Connection.java: + (connect): Throw FileNotFoundException. + (getInputStream): Remove duplicated code. + +2006-03-03 Roman Kennke + + * javax/swing/RepaintManager.java + (commitBuffer): Added null check for clip. + +2006-03-02 Lillian Angel + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuPeer.c + (Java_gnu_java_awt_peer_gtk_GtkMenuPeer_delItem): Fixed + to use GtkWidget instead of GTKMenu. + +2006-03-02 Lillian Angel + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuPeer.c + (Java_gnu_java_awt_peer_gtk_GtkMenuPeer_delItem): Changed to + use the submenu to get the list of children. This now works + in the same way as addItem. + +2006-03-02 Anthony Balkissoon + + * java/lang/StringBuilder.java: + (codePointAt): New method. + (codePointBefore): Likewise. + (codePointCount): Likewise. + (trimToSize): Likewise. + +2006-03-02 Tom Tromey + + * java/rmi/server/RMIClassLoader.java (getProviderInstance): Wrote. + +2006-03-02 Tom Tromey + + * java/rmi/server/RMIClassLoader.java (loadProxyClass): New method. + (getProviderInstance): + +2006-03-02 Andrew John Hughes + + * native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c: + Fix regression caused by move to VM variant. + PR classpath/22926. + +2006-03-01 Tom Tromey + + * vm/reference/java/net/VMNetworkInterface.java: Organized imports. + * vm/reference/java/net/VMInetAddress.java: Organized imports. + * vm/reference/java/lang/reflect/VMProxy.java (getProxyClass): Added + imports for javadoc. + (getProxyClass): Javadoc fixes. + (getProxyData): Likewise. + (generateProxyClass): Likewise. + * vm/reference/java/lang/VMSystem.java (setIn): Javadoc fix. + (setOut): Likewise. + (setErr): Likewise. + * vm/reference/java/lang/VMProcess.java: Javadoc fixes. + * vm/reference/java/lang/VMClassLoader.java (getResources): Javadoc + fix. + * vm/reference/java/lang/VMClass.java (getComponentType): Import for + javadoc. + (getModifiers): Likewise. + (getDeclaredClasses): Javadoc fix. + (getDeclaredFields): Likewise. + (getDeclaredMethods): Likewise. + (getDeclaredConstructors): Likewise. + * vm/reference/gnu/classpath/VMSystemProperties.java (preInit): + Javadoc fix. + +2006-03-01 Tom Tromey + + * gnu/java/net/protocol/http/ResponseHeaderHandler.java: Javadoc fix. + * gnu/java/net/protocol/http/HTTPConnection.java: Organized imports. + (getVersion): Javadoc fix. + (get): Likewise. + * gnu/java/net/protocol/http/Headers.java: Organized imports. + * gnu/java/net/protocol/ftp/FTPURLConnection.java: Organized imports. + +2006-03-01 David Daney + + * java/net/URL.java (URL(URL, String, URLStreamHandler)): Treat spec + as relative if it contains a colon but no protocol handler can be + found. + +2006-03-01 Roman Kennke + + * javax/swing/text/AbstractDocument.java + (LeafElement.LeafElement): Handle delta with respect to content + length not document length. + * javax/swing/text/CompositeView.java + (getViewIndex): Handle bias correctly. + * javax/swing/text/DefaultCaret.java + (paint): Align caret position to document bounds to avoid trouble + when removing large portions of content. + * javax/swing/text/DefaultStyledDocument.java + (ElementBuffer.insertFirstContentTag): Use pos instead of offset. + (ElementBuffer.createFracture): Copy old childs attribute. The + ElementSpec usually doesn't carry attribute information. + Use pos instead of offset. + (ElementBuffer.insertFracture): Use pos instead of offset. + (createDefaultRootElement): Don't use create* and instead directly + instantiate the elements. + (handleInsertAfterNewline): Compare the paragraphs startOffset + rather than previous paragraphs endOffset. + * javax/swing/text/JTextComponent.java + (getScrollableTracksViewportWidth): Remove unnecessary cast to + JViewport. + (getScrollableTracksViewportHeight): Remove unnecessary cast to + JViewport. + * javax/swing/text/PlainView.java + (damageLineRange): Avoid creating new Rectangle by using + SwingUtilities. + * javax/swing/text/View.java + (forwardUpdate): Correct the use of bias. + (modelToView): Avoid new Rectangles by using SwingUtilities. + (dump): Made (temprorarily) protected for use in BasicTextUI. + (dump(int)): Dump out the element of the view. + +2006-03-01 Lillian Angel + + * NEWS: javax.imageio.plugins.bmp implementation. + +2006-03-01 Lillian Angel + + * javax/imageio/ImageWriteParam.java: + Added documentation for fields. + * javax/imageio/plugins/bmp/BMPImageWriteParam.java: + New class implemented. + +2006-03-01 Tom Tromey + + * NEWS: Mention java.util.prefs update. + +2006-03-01 Tom Tromey + + * gnu/java/nio/channels/FileChannelImpl.java (position): Fixed typo. + * java/nio/charset/UnmappableCharacterException.java: + (serialVersionUID): New field. + * java/nio/charset/MalformedInputException.java: + (serialVersionUID): New field. + * java/nio/charset/CoderMalfunctionError.java: + (serialVersionUID): New field. + * java/nio/charset/CharacterCodingException.java: + (serialVersionUID): New field. + * java/nio/channels/UnsupportedAddressTypeException.java: + (serialVersionUID): New field. + * java/nio/channels/UnresolvedAddressException.java: + (serialVersionUID): New field. + * java/nio/channels/OverlappingFileLockException.java: + (serialVersionUID): New field. + * java/nio/channels/NotYetConnectedException.java: + (serialVersionUID): New field. + * java/nio/channels/NotYetBoundException.java + (serialVersionUID): New field. + * java/nio/channels/NonWritableChannelException.java + (serialVersionUID): New field. + * java/nio/channels/NonReadableChannelException.java + (serialVersionUID): New field. + * java/nio/channels/NoConnectionPendingException.java + (serialVersionUID): New field. + * java/nio/channels/IllegalSelectorException.java + (serialVersionUID): New field. + * java/nio/channels/IllegalBlockingModeException.java + (serialVersionUID): New field. + * java/nio/channels/FileLockInterruptionException.java + (serialVersionUID): New field. + * java/nio/channels/ConnectionPendingException.java + (serialVersionUID): New field. + * java/nio/channels/ClosedSelectorException.java (serialVersionUID): + New field. + * java/nio/channels/ClosedChannelException.java (serialVersionUID): + New field. + * java/nio/channels/ClosedByInterruptException.java + (serialVersionUID): New field. + * java/nio/channels/CancelledKeyException.java (serialVersionUID): + New field. + * java/nio/channels/AsynchronousCloseException.java + (serialVersionUID): New field. + * java/nio/channels/AlreadyConnectedException.java (serialVersionUID): + New field. + * java/nio/ReadOnlyBufferException.java (serialVersionUID): New field. + * java/nio/InvalidMarkException.java (serialVersionUID): New field. + * java/nio/BufferUnderflowException.java (serialVersionUID): New + field. + * java/nio/BufferOverflowException.java (serialVersionUID): New field. + * java/nio/channels/spi/AbstractInterruptibleChannel.java (end): + Javadoc fix. Added import. + * java/nio/channels/DatagramChannel.java (isConnected): Javadoc fix. + (validOps): Likewise. + * gnu/java/nio/charset/iconv/IconvProvider.java: Organized imports. + * gnu/java/nio/charset/iconv/IconvEncoder.java: Organized imports. + * gnu/java/nio/charset/iconv/IconvDecoder.java: Organized imports. + * java/nio/channels/Channels.java: Added import. + * java/nio/channels/FileChannel.java (lock): Typo fix. + (tryLock): Likewise. + +2006-03-01 Tom Tromey + + * java/util/prefs/Preferences.java (defaultFactoryClass): Use + FileBasedFactory. + * gnu/java/util/prefs/FileBasedPreferences.java: New file. + * java/util/prefs/AbstractPreferences.java (removeSpi): Typo fix. + (clear): Likewise. + (putSpi): Likewise. + (newNode): Likewise. + (node): Likewise. + * gnu/java/util/prefs/MemoryBasedFactory.java: Typo fix. + * gnu/java/util/prefs/FileBasedFactory.java (systemPreferences): New + field. + (systemRoot): Use it. + (userPreferences): New field. + (userRoot): Use it. + +2006-03-01 Jeroen Frijters + + * java/util/ResourceBundle.java + (tryBundle): Catch and ignore all Exceptions. + +2006-02-28 Roman Kennke + + * javax/swing/plaf/basic/BasicScrollBarUI.java + (getPreferredSize): Fixed add a fixed space between the buttons + instead of something related to min/max. + (installComponents): Create and install buttons here. + (installDefaults): Don't create buttons here. + * javax/swing/plaf/metal/MetalScrollBarUI.java + (getMinimumThumbSize): Return (0,0) when UI is not yet installed. + (getPreferredSize): New method. + +2006-02-28 David Gilbert + + * examples/gnu/classpath/examples/swing/Demo.java + (mkMenuBar): Removed 'Toggles', 'Checkbox' and 'Radio' actions, + connected 'Spinner' action to SpinnerDemo, + (mkCheckbox): Removed, + (mkRadio): Likewise, + (mkSpinner): Likewise, + (mkToggle): Likewise, + (mkButtonBar): Removed 'Toggles', 'Checkbox' and 'Radio' actions, + connected 'Spinner' action to SpinnerDemo. + +2006-02-28 Wolfgang Baer + + * javax/print/ServiceUIFactory.java: Added documentation to class. + +2006-02-28 Anthony Balkissoon + + PR classpath/26434 + * javax/swing/DefaultListSelectionModel.java: + (addSelectionInterval): Return early if either of the arguments is -1. + (removeSelectionInterval): Likewise. + (setSelectionInterval): Likewise. + +2006-02-28 Lillian Angel + + * javax/swing/text/DefaultFormatter.java + (stringToValue): Added NPE check. + +2006-02-28 Roman Kennke + + PR classpath/25675 + * javax/swing/JList.java + (getPreferredScrollableViewportSize): Restored specified behaviour. + * javax/swing/plaf/metal/MetalFileChooserUI.java + (createList): Set filelist panel's preferredSize, so that it doesn't + get size into infinity for big lists. + +2006-02-28 Lillian Angel + + * javax/swing/ViewportLayout.java + (layoutContainer): Should not extend container to be + minimum size. Mauve test shows that the preferred size + and the size of the viewport can be set smaller than + the minimum. + +2006-02-28 Lillian Angel + + PR classpath/25675 + * javax/swing/JList.java + (getPreferredScrollableViewportSize): Added a check to determine + if orientation is VERTICAL_WRAP. If it is, we should only + show 3 columns. + +2006-02-28 Lillian Angel + + PR classpath/26003 + * javax/swing/ViewportLayout.java: + Patch submitted by Audrius Meskauskas + (addLayoutComponent): Added documentation. + (removeLayoutComponent): Likewise. + (preferredLayoutSize): Likewise. + (minimumLayoutSize): Likewise. + (layoutContainer): Fixed code, so view is set + to the right position when inside a scrollpane. + +2006-02-28 Anthony Balkissoon + + * java/math/BigInteger.java: + Committed patch by Rafael: + developer.classpath.org/pipermail/classpath-patches/ + 2006-February/000473.html + (signum): Return early 0 if words == null and ival == 0. + (readObject): Handle special case of magnitude.length or signum being + 0. + (writeObject): If signum is zero return a zero-sized byte[]. + +2006-02-28 Lillian Angel + + * gnu/java/awt/peer/gtk/GtkFileDialogPeer.java + (create): Initially set the directory to the current working directory. + (setDirectory): Removed else-if. No need for this check. + +2006-02-28 Tom Tromey + + * .project: Run java builder before header generation. + +2006-02-28 Tom Tromey + + * gnu/java/util/prefs/MemoryBasedPreferences.java (childrenNamesSpi): + Javadoc fix. + * gnu/java/util/prefs/EventDispatcher.java: New file. + * gnu/java/util/prefs/NodeWriter.java (NodeWriter): Removed. + (NodeWriter): Specify UTF-8. + (writeHeader): Emit DOCTYPE. + * java/util/prefs/Preferences.java (getFactory): Add cause to + exception. + (exportNode): Documented. + (exportSubtree): Likewise. + (importPreferences): Likewise. + * java/util/prefs/NodeChangeEvent.java (readObject): New method. + (writeObject): Likewise. + * java/util/prefs/PreferenceChangeEvent.java (readObject): New method. + (writeObject): Likewise. + * java/util/prefs/AbstractPreferences.java (putBoolean): Use 1.4 code. + (nodeListeners): New field. + (preferenceListeners): Likewise. + (addNodeChangeListener): Implemented. + (addPreferenceChangeListener): Likewise. + (removeNodeChangeListener): Likewise. + (removePreferenceChangeListener): Likewise. + (fire): New methods. + (put): Fire event. + (remove): Likewise. + (purge): Likewise. Fixed synchronization. + (removeNode): Fixed synchronization. + (getNode): Fire event. + (flushNode): Fixed synchronization. + +2006-02-28 Roman Kennke + + * javax/swing/text/BranchElement.java + (startOffset): New field. + (endOffset): New field. + (BranchElement): Initialize new fields. + (getEndOffset): Rewritten to possibly return cached values + if element has no children. + (getStartOffset): Rewritten to possibly return cached values + if element has no children. + * javax/swing/text/LeafElement.java + (startDelta): New field. + (endDelta): New field. + (LeafElement): Handle possible delta of start/endOffset when + these parameters lie outside the document range. + (getStartOffset): Handle possible startDelta. + (getEndOffset): Handle possible startDelta. + +2006-02-28 Anthony Balkissoon + + * NEWS: Added line about Unicode 4.0.0 support. + +2006-02-28 Roman Kennke + + * javax/swing/SwingUtilities.java + (layoutCompoundLabel): Set textIconGap to 0 when icon == null. + +2006-03-01 Raif S. Naffah + + * gnu/classpath/debug/Simple1LineFormatter.java: New file. + +2006-03-01 Raif S. Naffah + + * gnu/java/security/sig/rsa/RSAPKCS1V1_5SignatureX509Codec.java: + Amended class documentation. + (encodeSignature): Emit the ASN.1 raw bytes not the DER-encoded BIT + STRING. + (decodeSignature): Parse the ASN.1 raw bytes of a BIT STRING and not + a BIT STRING construct. + * gnu/java/security/sig/dss/DSSSignatureX509Codec.java: Amended class + documentation. + (encodeSignature): Emit the ASN.1 raw bytes not the DER-encoded BIT + STRING. + (decodeSignature): Parse the ASN.1 raw bytes of a BIT STRING and not + a BIT STRING construct. + * gnu/java/security/jce/sig/SignatureAdapter.java (log): New field. + (engineVerify): Added logging. + +2006-02-28 Roman Kennke + + * java/awt/Component.java + (dispatchEventImpl): Let the Toolkit dispatch global events. + * java/awt/Container.java + (dispatchEventImpl): Let the LightweightDispatcher handle events + first. + * java/awt/EventQueue.java + (dispatchEvent): Don't do the global event dispatching here. This + is moved to the Component. + (globalDispatchEvent): Moved this method to Toolkit. + * java/awt/LightweightDispatcher.java + (instances): New field. + (getInstance): New method. Delivers an instance of + LightweightDispatcher. + (LightweightDispatcher): Made default constructor private. + (dispatchEvent): New method. Replaces the eventDispatched method. + This now returns true when the event was actually dispatched. + (eventDispatched): Replaced by dispatchEvent. + (handleMouseEvent): Send MOUSE_CLICKED to the same component that + received the last MOUSE_RELEASED. + * java/awt/Toolkit.java + (Toolkit): Don't register LightweightDispatcher as global event + handler. + (globalDispatchEvent): Moved here from EventQueue. + +2006-02-27 David Daney + + PR classpath/25851 + * gnu/java/net/protocol/http/HTTPURLConnection.java (imports) Cleaned + up. + (getRequestProperties): Rewrote. + +2006-02-27 David Daney + + PR classpath/26312 + * gnu/java/net/protocol/http/ChunkedInputStream.java (imports): Cleaned + up. + (ChunkedInputStream): Extend InputStream. + (in): New field. + (headers): Moved to top of class. + (constructor): Save referenct to in. + (read(byte[])): Removed method. + (read(byte[], int, int)): Made synchronized and throw IOException + on error parsing chunk header. + (available): New method. + (close): New method. + +2006-02-27 David Daney + + * gnu/java/net/protocol/http/HTTPURLConnection.java + (imports): Cleaned up. + (GetHTTPPropertiesAction): Removed, and moved contents to ... + (constructor): ... Here, using SystemProperties instead of System. + +2006-02-27 Lillian Angel + + * gnu/java/awt/peer/gtk/GtkFileDialogPeer.java + (setDirectory): GtkFileChooser requires an absolute directory + name. Added a check to make the directory passed to nativeSetDirectory + is absolute. + +2006-02-27 Roman Kennke + + * javax/swing/SwingUtilities.java + (computeIntersection): Changed to store result in rect, instead of + creating new Rectangle instances. Fixed API docs accordingly. + (computeUnion): Changed to store result in rect, instead of + creating new Rectangle instances. Fixed API docs accordingly. + +2006-02-27 Roman Kennke + + * javax/swing/JViewport.java + (static_init): Changed default scrollmode to BLIT. + (paintSimple): Added some clipping to avoid painting problems. + (paintBlit): Added some clipping to avoid painting problems. + +2006-02-27 Roman Kennke + + * javax/swing/JComponent.java + (rectCache): Made field static to save memory. + (getVisibleRect): Don't use rectCache and create new Rectangle + instance instead. + (repaint(Rectangle)): Directly call RepaintManager.addDirtyRegion(). + (repaint(long,int,int,int,int)): Directly call + RepaintManager.addDirtyRegion(). The visibleRect check is now + performed in the RepaintManager. + +2006-02-27 Roman Kennke + + * javax/swing/RepaintManager.java + (currentRepaintManagers): Made field private. + (rectCache): New field. + (addDirtyRegion): Clip dirty rectangle with visible rectangle of + component. Changed Rectangle handling to avoid unnecessary new + Rectangle instances. + (getOffscreenBuffer): Create buffer with size of the root window. + Respect the maximum buffer size here. + (commitBuffer): Align the regions so that they are inside the buffer + image and inside the clip. This avoids problems with a bug in GTKImage. + Fixed Rectangle handling to avoid creation of new Rectangle instances. + +2006-02-26 Andrew John Hughes + + * native/fdlibm/e_acos.c, + * native/fdlibm/e_asin.c, + * native/fdlibm/e_atan2.c, + * native/fdlibm/e_cosh.c, + * native/fdlibm/e_exp.c, + * native/fdlibm/e_fmod.c, + * native/fdlibm/e_hypot.c, + * native/fdlibm/e_log.c, + * native/fdlibm/e_log10.c, + * native/fdlibm/e_rem_pio2.c, + * native/fdlibm/e_remainder.c, + * native/fdlibm/e_sinh.c, + * native/fdlibm/e_sqrt.c, + * native/fdlibm/k_cos.c, + * native/fdlibm/k_sin.c, + * native/fdlibm/k_tan.c, + * native/fdlibm/s_atan.c, + * native/fdlibm/s_cbrt.c, + * native/fdlibm/s_ceil.c, + * native/fdlibm/s_copysign.c, + * native/fdlibm/s_cos.c, + * native/fdlibm/s_expm1.c, + * native/fdlibm/s_fabs.c, + * native/fdlibm/s_finite.c, + * native/fdlibm/s_floor.c, + * native/fdlibm/s_log1p.c, + * native/fdlibm/s_rint.c, + * native/fdlibm/s_scalbn.c, + * native/fdlibm/s_sin.c, + * native/fdlibm/s_tan.c, + * native/fdlibm/s_tanh.c: + Fixed to call our macros rather than __HI and __LO. + * native/fdlibm/fdlibm.h: + Reintroduced previous extraction code. + (EXTRACT_WORDS(ix0,ix1,d)): Readded. + (GET_HIGH_WORD(i,d)): Readded. + (GET_LOW_WORD(i,d)): Readded. + (INSERT_WORDS(d,ix0,ix1)): Readded. + (SET_HIGH_WORD(d,i)): Readded. + (SET_LOW_WORD(d,i)): Readded. + * native/jni/gtk-peer/gthread-jni.c: + Use Glib macros to convert integers/pointers portably. + +2006-02-26 Raif S. Naffah + + * java/security/SecureRandom.java (SecureRandom): Use GNU-CRYPTO class + as the fallback SPI. + * gnu/java/security/provider/Gnu.java (run): Replaced mappings with new + ones referencing GNU-CRYPTO classes. + * gnu/java/security/provider/PKIXCertPathValidatorImpl.java + (engineValidate): Use GNU-CRYPTO class. + * gnu/java/security/provider/DiffieHellmanKeyFactoryImpl: Removed. + * gnu/java/security/provider/DiffieHellmanKeyPairGeneratorImpl: Likewise. + * gnu/java/security/provider/DSAKeyFactory: Likewise. + * gnu/java/security/provider/DSAKeyPairGenerator: Likewise. + * gnu/java/security/provider/DSAParameters: Likewise. + * gnu/java/security/provider/DSASignature: Likewise. + * gnu/java/security/provider/EncodedKeyFactory: Likewise. + * gnu/java/security/provider/GnuDHPublicKey: Likewise. + * gnu/java/security/provider/GnuDSAPrivateKey: Likewise. + * gnu/java/security/provider/GnuDSAPublicKey: Likewise. + * gnu/java/security/provider/GnuRSAPrivateKey: Likewise. + * gnu/java/security/provider/GnuRSAPublicKey: Likewise. + * gnu/java/security/provider/MD2withRSA: Likewise. + * gnu/java/security/provider/MD4withRSA: Likewise. + * gnu/java/security/provider/MD5: Likewise. + * gnu/java/security/provider/MD5withRSA: Likewise. + * gnu/java/security/provider/RSA: Likewise. + * gnu/java/security/provider/RSAKeyFactory: Likewise. + * gnu/java/security/provider/SHA: Likewise. + * gnu/java/security/provider/SHA1PRNG: Likewise. + * gnu/java/security/provider/SHA1withRSA: Likewise. + * gnu/javax/crypto/GnuDHPrivateKey: Likewise. + +2006-02-26 Raif S. Naffah + + * gnu/java/security/jce/sig/EncodedKeyFactory.java (log): New field. + (engineGeneratePublic): Added logging. + (engineGeneratePrivate): Likewise. + * gnu/java/security/key/rsa/RSAKeyPairX509Codec.java (log): New field. + (encodePublicKey): Added logging. + Clarified in method documentation that params is optional, but is + always NULL if present. + (decodePublicKey): Added logging. + Handle optional NULL element. + +2006-02-26 Raif S. Naffah + + * java/util/logging/FileHandler.java: Fixed a javadoc reference. + +2006-03-03 Tom Tromey + + * java/awt/MenuBar.java (shortcuts): Genericized. + +2006-03-03 Tom Tromey + + * java/beans/EventSetDescriptor.java (EventSetDescriptor): + Genericized. + (getListenerType): Likewise. + * java/beans/Introspector.java (getBeanInfo): Genericized. + * java/beans/DefaultPersistenceDelegate.java (initialize): + Genericized. + +2006-03-01 Anthony Balkissoon + + * java/math/BigDecimal.java: + (precision): Fixed overflow problem with large numbers. + (longValueExact): New method. + (intValueExact): Likewise. + (byteValueExact): Likewise. + (shortValueExact): Likewise. + +2006-03-01 Anthony Balkissoon + + * java/math/BigDecimal.java: + (remainder(BigDecimal)): New method. + (divideAndRemainder(BigDecimal)): Likewise. + (divideToIntegralValue(BigDecimal)): Likewise. + (floor): New implementation method. + +2006-02-28 Anthony Balkissoon + + * java/math/BigDecimal.java: + (divide(BigDecimal, int, RoundingMode)): New method. + (divide(BigDecimal, RoundingMode)): Likewise. + (divide(BigDecimal, int, int)): Removed incorrect throwing of exception + when the new scale is < 0. + (setScale(int, RoundingMode)): New method. + (ulp): Likewise. + +2006-02-27 Anthony Balkissoon + + * java/math/BigDecimal.java: Replaced occurences of BigInteger.valueOf + with BigInteger.ZERO, BigInteger.ONE, BigInteger.TEN where appropriate. + (add(BigDecimal, MathContext)): New method. + (subtract(BigDecimal, MathContext)): Likewise. + (precision): Fixed to correctly handle BigIntegers with more than 19 + digits. + (pow(int, MathContext)): New method. + +2006-02-27 Anthony Balkissoon + + * java/math/BigDecimal.java: Added @throws clause to constructors. + (mathContext): Removed this unneeded field. + (BigDecimal(int, MathContext)): New constructor. + (BigDecimal(BigInteger, int, MathContext)): Likewise. + (multiply(BigDecimal, MathContext)): New method. + (negate(MathContext)): Likewise. + (plus(MathContext)): Likewise. + (numDigitsInLong): Fixed to properly handle negatives. + +2006-02-25 Chris Burdess + + * gnu/java/net/CRLFInputStream.java, + gnu/java/net/LineInputStream.java: Streams that use mark + capabilities on the underlying stream do not expose mark + functionality themselves. + * gnu/xml/stream/CRLFReader.java: Fix incorrect end condition when + off > 0. + +2006-02-25 Ito Kazumitsu + + * gnu/regexp/REMatch.java(matchFlags): New int field used as + option flags passed to match methods. + (MF_FIND_ALL): New flag. + * gnu/regexp/RETokenOneOf.java(matchP): Unless MF_FIND_ALL is set, + do not try other possibilties once a match is found. + * gnu/regexp/RETokenRepeated.java(findDoables): Set MF_FIND_ALL + so that all possibilities can be found. + (match): Rewritten using new methods matchMinimum and _match. + (_match): New method which performs a depth-first recursive search. + (matchMinimum): New method. + (initVisited), (visitedContains), (addVisited): New methods for + manipulating an array of icharacter positions which _match has + already visited. + +2006-02-24 Anthony Balkissoon + + * java/math/BigDecimal.java: + (BigDecimal(long, MathContext)): New constructor. + (BigDecimal(BigInteger, MathContext)): Likewise. + (BigDecimal(String, MathContext)): Likewise. + (BigDecimal(double, MathContext)): Likewise. + (round): Fixed a typo where the precision field was used instead of a + call to the precision method, and also store the new precision in the + returned BigDecimal. + (abs(MathContext)): New method. + +2006-02-24 Anthony Balkissoon + + * java/math/BigDecimal.java + (toBigInteger): Fixed problem where this method couldn't handle + negative values for scale. + (toBigIntegerExact): New method. + (stripTrailingZeros): Likewise. + +2006-02-24 David Daney + + PR classpath/26082 + * gnu/java/net/protocol/http/HTTPConnection.java (pool): Changed to + type Pool. + (Pool): New inner class. + (timeLastUsed): New field. + (setPool): Changed parameter type to Pool. + (release): Moved pool management logic to new class Pool. + * gnu/java/net/protocol/http/HTTPURLConnection.java (connectionPool): + Removed. + (maxConnections) : Removed. + (GetHTTPPropertiesAction.run): Don't initialize maxConnections. + (getConnection): Moved pool management logic to HTTPConnection.Pool. + +2006-02-24 Lillian Angel + + * java/awt/Container.java: + Added new field. True if Container has been cleared and + heavyweights need to be repainted. + (paint): Fixed comment. Fixed to use backCleared and + reset backCleared. + (update): Set backCleared to true after the background + of the container has been cleared. + +2006-02-24 Lillian Angel + + * java/awt/TextField.java + (addNotify): Added call to super. + +2006-02-24 Lillian Angel + + * java/awt/Component.java + (reshape): Reverted last patch. Should have check here. + (addNotify): Added check. If parent is lightweight, then + initialize listener on the parent. + (HeavyweightInLightweightListener): New class. + +2006-02-24 Roman Kennke + + * javax/swing/plaf/basic/BasicComboPopup.java + (show): Register the popup with the autocloser after it has been + opened completely, by putting the registration on the eventqueue. + +2006-02-24 Andrew John Hughes + + * gnu/java/security/prng/BasePRNG.java: + (clone()): Added cast of buffer to byte[]. + * gnu/javax/crypto/mac/TMMH16.java: + (clone()): Fixed casting of cloned arrays. + * native/fdlibm/fdlibm.h: + Added missing defines from old fdlibm.h needed by Darwin. + (GET_FLOAT_WORD(i,d)): Re-added. + (SET_FLOAT_WORD(d,i)): Re-added. + +2006-02-24 Roman Kennke + + * java/awt/Container.java: + (dispatcher): Removed field. + (dispatchEventImpl): Removed lightweight dispatching. + (addNotifyContainerChildren): Removed LightweightDispatcher + handling. + (LightweightDispatcher): Removed class. + * java/awt/LightweightDispatcher.java: New class. + * java/awt/Toolkit.java + (Toolkit): Install LightweightDispatcher in global listener + array. + +2006-02-24 Chris Burdess + + Fixes PR 26324 + * gnu/java/net/CRLFInputStream.java: Fix incorrect end condition when + off > 0. + +2006-02-24 Andrew John Hughes + + * NEWS: Mentions the VMMath runtime changes. + * doc/vmintegration.texinfo: Updated to include + VMMath. + +2006-02-24 Roman Kennke + + * javax/swing/plaf/basic/BasicLookAndFeel.java + (PopupHelper.autoClosePopups): New field. + (PopupHelper.mousePressed): Also autoclose any registered popups. + (PopupHelper.registerForAutoClose): New method. + (PopupHelper.autoClosePopups): New method. + (popupHelper): Changed type of field to PopupHelper. + (registerForAutoClose): New method. + * javax/swing/plaf/basic/BasicComboPopup.java + (show): Register this popup for autoclosing. + +2006-02-24 Raif S. Naffah + + * gnu/javax/crypto/mac/TMMH16.java (clone): New method. + * gnu/java/security/prng/MDGenerator.java (clone): New method. + * gnu/java/security/prng/BasePRNG.java (clone): Clone buffer. + +2006-02-24 Roman Kennke + + Reported by Ingo Proetel + * java/util/logging/LogManager.java + (addLogger): Search the parent loggers for log level + configuration and inherit that. + (readConfiguration): Provide minimal default configuration + if no configuration can be found otherwise. + +2006-02-23 Anthony Balkissoon + + * java/math/BigDecimal.java: + (toString): Fixed a problem where the negative sign was being displayed + twice in the exponent. + (toEngineeringString): New method. + (toPlainString): Likewise. + (pow): Likewise. + +2006-02-23 Anthony Balkissoon + + * java/math/BigDecimal.java: + (toString): Rewrote this method to behave as specified. Added API + comments to explain behaviour. + (scaleByPowerOfTen): New method. + +2006-02-23 Roman Kennke + + * javax/swing/JRootPane.java + (isOptimizedDrawingEnabled): Implemented to return true + when the glassPane is not visible. + +2006-02-23 Roman Kennke + + * javax/swing/plaf/basic/BasicLookAndFeel.java + (PopupHelper): New inner class. + (popupHelper): New field. + (initialize): New method. + (uninitialize): New method. + * javax/swing/plaf/basic/BasicPopupMenuUI.java + (mouseInputListener): Removed field. + (PopupMenuHandler.popupMenuWillBecomeInvisible): Removed + handling of GlassPane. + (PopupMenuHandler.popupMenuWillBecomeVisible): Removed + handling of GlassPane. + (MouseInputHandler): Removed class. + +2006-02-23 Roman Kennke + + * java/awt/AWTEvent.java + (eventIdToMask): New utility method. + * java/awt/EventQueue.java + (dispatchEvent): Also globally dispatch events via the toolkit. + (globalDispatchEvent): New method. + * java/awt/Toolkit.java + (awtEventListeners): New field. + (Toolkit()): Initialize new field. + (createComponent): Create GLightweightPeer here. + (addAWTEventListener): Implemented and documented. + (removeAWTEventListener): Implemented and documented. + (getAWTEventListeners): Implemented and documented both method + variants. + * java/awt/event/AWTEventListenerProxy.java + (eventDispatched): Don't filter events here. + +2006-02-23 Chris Burdess + + Fixes PR 26410 + * gnu/xml/dom/DomDocumentBuilderFactory.java, + gnu/xml/dom/JAXPFactory.java, + gnu/xml/libxmlj/dom/GnomeDocumentBuilderFactory.java, + javax/xml/parsers/DocumentBuilderFactory.java: Add and trivially + implement DocumentBuilderFactory.get/setFeature methods. + +2006-02-23 Lillian Angel + + * gnu/java/awt/peer/GLightweightPeer.java + (repaint): Scott's proposed fix. Send repaint to the + component's parent. + * gnu/java/awt/peer/gtk/GtkComponentPeer.java + (setBounds): Removed next_parent, not needed. Removed + lightweightChild, we always need to compensate for the + menu bar's height. + * java/awt/Component.java + (setBounds): Removed check. Caused lots of problems, because some + components were not being invalidated. Components should be + invalidated when they are resized or moved, and in some cases, + when a parent is resized/moved, the components do not know + about it and do not adjust. + * java/awt/Graphics.java + (hitClip): Scott's proposed fix. Added check to handle a + null clip. + +2006-02-23 Wolfgang Baer + + * javax/print/attribute/standard/MediaSize.java: + (media): Field renamed to mediaName for serialization. + (MediaSize): Adapted to new fieldname. + (getMediaSizeName): Likewise. + * javax/print/attribute/HashAttributeSet.java: + (interfaceName): Field renamed to myInterface for serialization. + (HashAttributeSet): Adapted to the new fieldname. + (add): Likewise. + (addAll): Likewise. + (addInternal): Likewise. + (attributeMap): Made transient. + (readObject): New serialization method. + (writeObject): Likewise. + * javax/print/attribute/AttributeSetUtilities.java: + (SynchronizedAttributeSet.set): Field renamed to attrset for serialization. + (SynchronizedAttributeSet.add): Adapted to the new fieldname. + (SynchronizedAttributeSet.addAll): Likewise. + (SynchronizedAttributeSet.clear): Likewise. + (SynchronizedAttributeSet.containsKey): Likewise. + (SynchronizedAttributeSet.containsValue): Likewise. + (SynchronizedAttributeSet.equals): Likewise. + (SynchronizedAttributeSet.get): Likewise. + (SynchronizedAttributeSet.hashCode): Likewise. + (SynchronizedAttributeSet.isEmpty): Likewise. + (SynchronizedAttributeSet.remove): Likewise. + (SynchronizedAttributeSet.size): Likewise. + (SynchronizedAttributeSet.toArray): Likewise. + (UnmodifiableAttributeSet.set): Field renamed to attrset for serialization. + (UnmodifiableAttributeSet.add): Adapted to the new fieldname. + (UnmodifiableAttributeSet.addAll): Likewise. + (UnmodifiableAttributeSet.clear): Likewise. + (UnmodifiableAttributeSet.containsKey): Likewise. + (UnmodifiableAttributeSet.containsValue): Likewise. + (UnmodifiableAttributeSet.equals): Likewise. + (UnmodifiableAttributeSet.get): Likewise. + (UnmodifiableAttributeSet.hashCode): Likewise. + (UnmodifiableAttributeSet.isEmpty): Likewise. + (UnmodifiableAttributeSet.remove): Likewise. + (UnmodifiableAttributeSet.size): Likewise. + (UnmodifiableAttributeSet.toArray): Likewise. + * javax/print/attribute/standard/MediaPrintableArea.java: + (width): Field renamed to w for serialization. + (height): Field renamed to h for serialization. + (MediaPrintableArea): Adapted to the new fieldnames. + (MediaPrintableArea): Likewise. + (equals): Likewise. + (hashCode): Likewise. + (getHeight): Likewise. + (getWidth): Likewise. + +2006-02-23 Andrew John Hughes + + * include/java_lang_VMMath.h: + (Java_java_lang_VMMath_cbrt(JNIEnv*,jclass,jdouble)): Added. + (Java_java_lang_VMMath_cosh(JNIEnv*,jclass,jdouble)): Added. + (Java_java_lang_VMMath_expm1(JNIEnv*,jclass,jdouble)): Added. + (Java_java_lang_VMMath_hypot(JNIEnv*,jclass,jdouble,jdouble)): Added. + (Java_java_lang_VMMath_log10(JNIEnv*,jclass,jdouble)): Added. + (Java_java_lang_VMMath_log1p(JNIEnv*,jclass,jdouble)): Added. + (Java_java_lang_VMMath_sinh(JNIEnv*,jclass,jdouble)): Added. + (Java_java_lang_VMMath_tanh(JNIEnv*,jclass,jdouble)): Added. + * java/lang/Math.java: + (cbrt(double)): Implemented. + (cosh(double)): Implemented. + (expm1(double)): Implemented. + (hypot(double,double)): Implemented. + (log10(double)): Implemented. + (log1p(double)): Implemented. + (signum(double)): Implemented. + (signum(float)): Implemented. + (sinh(double)): Implemented. + (tanh(double)): Implemented. + * native/fdlibm/Makefile.am: + Added new files from fdlibm 5.3. + * native/fdlibm/e_acos.c, + * native/fdlibm/e_asin.c, + * native/fdlibm/e_atan2.c, + * native/fdlibm/e_exp.c, + * native/fdlibm/e_fmod.c, + * native/fdlibm/e_log.c, + * native/fdlibm/e_rem_pio2.c, + * native/fdlibm/e_remainder.c, + * native/fdlibm/e_scalb.c, + * native/fdlibm/e_sqrt.c, + * native/fdlibm/k_cos.c, + * native/fdlibm/k_rem_pio2.c, + * native/fdlibm/k_sin.c, + * native/fdlibm/k_tan.c, + * native/fdlibm/s_atan.c, + * native/fdlibm/s_ceil.c, + * native/fdlibm/s_copysign.c, + * native/fdlibm/s_cos.c, + * native/fdlibm/s_fabs.c, + * native/fdlibm/s_finite.c, + * native/fdlibm/s_floor.c, + * native/fdlibm/s_rint.c, + * native/fdlibm/s_scalbn.c, + * native/fdlibm/s_sin.c, + * native/fdlibm/s_tan.c, + * native/fdlibm/w_acos.c, + * native/fdlibm/w_asin.c, + * native/fdlibm/w_atan2.c, + * native/fdlibm/w_acos.c, + * native/fdlibm/w_exp.c, + * native/fdlibm/w_fmod.c, + * native/fdlibm/w_log.c, + * native/fdlibm/w_pow.c, + * native/fdlibm/w_remainder.c, + * native/fdlibm/w_sqrt.c: + Updated to fdlibm 5.3. + * native/fdlibm/e_cosh.c, + * native/fdlibm/e_hypot.c, + * native/fdlibm/e_log10.c, + * native/fdlibm/e_sinh.c, + * native/fdlibm/s_cbrt.c, + * native/fdlibm/s_expm1.c, + * native/fdlibm/s_log1p.c, + * native/fdlibm/s_tanh.c, + * native/fdlibm/w_cosh.c, + * native/fdlibm/w_hypot.c, + * native/fdlibm/w_log10.c, + * native/fdlibm/w_sinh.c: + Imported from fdlibm 5.3. + * native/fdlibm/fdlibm.h: + Imported from fdlibm 5.3 with Classpath additions. + * native/fdlibm/namespace.h: + Updated from new math_symbols file. + * native/jni/java-lang/java_lang_VMMath.c: + (Java_java_lang_VMMath_cbrt(JNIEnv*,jclass,jdouble)): Implemented. + (Java_java_lang_VMMath_cosh(JNIEnv*,jclass,jdouble)): Implemented. + (Java_java_lang_VMMath_expm1(JNIEnv*,jclass,jdouble)): Implemented. + (Java_java_lang_VMMath_hypot(JNIEnv*,jclass,jdouble,jdouble)): + Implemented. + (Java_java_lang_VMMath_log10(JNIEnv*,jclass,jdouble)): Implemented. + (Java_java_lang_VMMath_log1p(JNIEnv*,jclass,jdouble)): Implemented. + (Java_java_lang_VMMath_sinh(JNIEnv*,jclass,jdouble)): Implemented. + (Java_java_lang_VMMath_tanh(JNIEnv*,jclass,jdouble)): Implemented. + * scripts/math_symbols: + Added tanh, expm1, log10 and log1p. + * vm/reference/java/lang/VMMath.java: + (cbrt(double)): Implemented. + (cosh(double)): Implemented. + (expm1(double)): Implemented. + (hypot(double,double)): Implemented. + (log10(double)): Implemented. + (log1p(double)): Implemented. + (sinh(double)): Implemented. + (tanh(double)): Implemented. + +2006-02-23 Wolfgang Baer + + * javax/print/DocFlavor.java: Added documentation all over. + (BYTE_ARRAY.TEXT_HTML_HOST): Include host charset encoding to mimetype. + (BYTE_ARRAY.TEXT_PLAIN_HOST): Likewise. + (INPUT_STREAM.TEXT_HTML_HOST): Likewise. + (INPUT_STREAM.TEXT_PLAIN_HOST): Likewise. + (URL.TEXT_HTML_HOST): Likewise. + (URL.TEXT_PLAIN_HOST): Likewise. + (hostEncoding): Initialize with host default charset encoding. + (mediaSubtype): Made transient. + (mediaType): Likewise. + (params): Made transient. Changed type to TreeMap. + (className): Removed, changed to myClassName. + (myClassName): New field as defined in serialized form. + (DocFlavor): Adapted to new variable types, names. + (parseMimeType): Reimplemented. + (getParameter): Search with lowercase name. + (getRepresentationClassName): Adapted to changed variable name. + (hashCode): Likewise. + (toString): Reimplemented. + (readObject): New method for serialization. + (writeObject): Likewise. + +2006-02-23 Roman Kennke + + * javax/swing/RepaintManager.java + (commitBuffer): Clip the repaint area with the current clip. + +2006-02-23 Raif S. Naffah + + * gnu/javax/crypto/key/dh/GnuDHKeyPairGenerator.java + (DEFAULT_PRIME_SIZE): Made public. + (DEFAULT_EXPONENT_SIZE): Likewise. + (setup): Handle DHParameterSpec as well. + * gnu/javax/crypto/key/dh/GnuDHKey.java (getEncoded): Return + defaultFormat instead of Raw. + * gnu/javax/crypto/key/dh/DHKeyPairX509Codec.java + (checkIsConstructed): Removed. + (checkIsBigInteger): Likewise. + (decodePublicKey): Use DerUtil. + * gnu/javax/crypto/key/dh/DHKeyPairPKCS8Codec.java + (checkIsConstructed): Removed. + (checkIsBigInteger): Likewise. + (decodePrivateKey): Use DerUtil. + * gnu/javax/crypto/jce/GnuCrypto.java (run): Updated mapping of + KeyAgreement.DH. + Added mappings for AlgorithmParameters.DH and + AlgorithmParameterGenerator.DH. + * gnu/javax/crypto/jce/DiffieHellmanImpl.java: New file. + * gnu/javax/crypto/jce/sig/DHParametersGenerator.java: Likewise. + * gnu/javax/crypto/jce/sig/DHParameters.java: Likewise. + * gnu/javax/crypto/jce/sig/DHKeyFactory.java (engineGeneratePrivate): + Return result. + (engineGeneratePublic): Likewise. + * gnu/java/security/util/DerUtil.java: New file. + * gnu/java/security/sig/rsa/RSASignatureFactory.java (getNames): + Include only valid RSA PKCS1 (v1.5) signature names. + * gnu/java/security/sig/rsa/RSAPKCS1V1_5SignatureX509Codec.java + (RSAPKCS1V1_5SignatureX509Codec): Removed. + (checkIsConstructed): Likewise. + * gnu/java/security/sig/dss/DSSSignatureX509Codec.java + (checkIsConstructed): Removed. + (checkIsBigInteger): Likewise. + (decodeSignature): Use DerUtil. + * gnu/java/security/key/rsa/RSAKeyPairX509Codec.java + (checkIsConstructed): Removed. + (checkIsBigInteger): Likewise. + (decodePublicKey): Use DerUtil. + * gnu/java/security/key/rsa/RSAKeyPairPKCS8Codec.java + (checkIsConstructed): Removed. + (checkIsBigInteger): Likewise. + (decodePrivateKey): Use DerUtil. + * gnu/java/security/key/dss/DSSKeyPairX509Codec.java + (checkIsConstructed): Removed. + (checkIsBigInteger): Likewise. + (decodePublicKey): Use DerUtil. + * gnu/java/security/key/dss/DSSKeyPairPKCS8Codec.java + (checkIsConstructed): Removed. + (checkIsBigInteger): Likewise. + (decodePrivateKey): Use DerUtil. + * gnu/java/security/key/dss/DSSKeyPairGenerator.java + (DEFAULT_MODULUS_LENGTH): Made it public. + * gnu/java/security/key/dss/DSSKey.java (getEncoded): Return + defaultFormat instead of Raw. + * gnu/java/security/jce/sig/DSSParametersGenerator.java: New file. + * gnu/java/security/jce/sig/DSSParameters.java: Likewise.. + * gnu/java/security/jce/sig/DSSKeyFactory.java (engineGeneratePrivate): + Return result. + (engineGeneratePublic): Likewise. + * gnu/javax/crypto/DiffieHellmanImpl: Removed. + +2006-02-22 Anthony Balkissoon + + * java/math/BigDecimal.java: + (BigDecimal(char[], int, int, MathContext)): New constructor. + (BigDecimal(char[], MathContext)): Likewise. + (BigDecimal(char[])): Likewise. + (BigDecimal(char[], int, int)): Likewise. + (BigDecimal(String)): Fixed handling of exponent and scale. + +2006-02-22 Mark Wielaard + + * java/awt/Checkbox.java (setState): Check that state actually changed + before calling peer. + (dispatchEventImpl): Set new state if ItemEvent. + * gnu/java/awt/peer/gtk/GtkCheckboxPeer.java (changing): Removed. + (create): Set currentState. + (setState): Make synchronized, check and set currentState before + calling gtkToggleButtonSetActive. + (postItemEvent): Make synchronized, check and set currentState before + posting ItemEvent. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c + (postItemEventID): Method now takes boolean. + (item_toggled_cb): Likewise. + +2006-02-22 Robert Schuster + + * javax/swing/text/DefaultHighlighter.java: + (changeHighlight): Added code to minimize the damaged area. + +2006-02-22 Robert Schuster + + * javax/swing/text/PlainView.java: + (getPreferredSpan): Added missing 'break'. + statement which corrects an unwanted fall through. + (updateDamage): Update maxLineLength correctly when text is + removed, call preferenceChanged accordingly. + (viewToModel): Restrict line number to be within 0 and the + number of elements-1. + +2006-02-22 Robert Schuster + + * javax/swing/text/Utilities.java: + (getPositionAbove): Prefer first value by changing comparison + from < to <=. + (getPositionBelow): Dito. + +2006-02-22 Robert Schuster + + * javax/swing/text/DefaultEditorKit.java: Added checks and fallback + behavior when magic caret position is null. + +2006-02-22 Roman Kennke + + * javax/swing/JTextField.java + (isValidateRoot): New method. + +2006-02-22 Roman Kennke + + * javax/swing/JEditorPane.java + (getPreferredSize): Rewritten to behave like the reference impl. + (getScrollableTracksViewportWidth): Likewise. + (getScrollableTracksViewportHeight): Likewise. + +2006-02-22 Roman Kennke + + * javax/swing/RepaintManager.java + (addInvalidComponent): Also consider the component itself. + +2006-02-22 Mark Wielaard + + * javax/swing/text/html/HTMLDocument.java (createDefaultRoot): Fully + qualify AbstractDocument.AttributeContext. + (blockOpen): Likewise. + +2006-02-21 Anthony Balkissoon + + * java/math/BigDecimal.java: + (mathContext): New field. + (precision): Likewise. + (BigDecimal(int)): New constructor. + (BigDecimal(long)): Likewise. + (BigDecimal(BigInteger)): Added API docs. + (BigDecimal(BigInteger, int)): Removed incorrect NumberFormatException + and added API docs. + (plus): New method. + (round): Likewise. + (precision): Likewise. + (valueOf): Likewise. + (numDigitsInLong): New implementation method. + +2006-02-21 Anthony Balkissoon + + * java/math/MathContext.java: New class. + * java/math/RoundingMode: New Enum. + +2006-02-21 Mark Wielaard + + * java/awt/Component.java (translateEvent): Translate + AdjustmentEvents to 1.0 Events. + * java/awt/Scrollbar.java (dispatchEventImpl): Set valueIsAdjusting. + Call setValue() before processing event. + * gnu/java/awt/peer/gtk/GtkScrollbarPeer.java (setValues): Check + whether we are currently changing and being called back from the + Scrollbar component. + (setBarValues): New native method. + (postAdjustmentEvent): Mark AdjustmentEvent as user generated. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollbarPeer.c + (Java_gnu_java_awt_peer_gtk_GtkScrollbarPeer_setValues): Renamed to + Java_gnu_java_awt_peer_gtk_GtkScrollbarPeer_setBarValue + * include/gnu_java_awt_peer_gtk_GtkScrollbarPeer.h: Regenerated. + +2006-02-21 Roman Kennke + + * javax/swing/text/View.java + (setParent): Set child parent to null when disconnecting + the view from the View hierarchy. + +2006-02-21 Wolfgang Baer + + * javax/print/StreamPrintService.java: Added and enhanced documentation. + +2006-02-21 Roman Kennke + + * javax/swing/text/WrappedPlainView.java + (calculateBreakPosition): Changed to use the view's allocation instead + of the container's preferredSize. + +2006-02-21 Wolfgang Baer + + * java/awt/CardLayout.java: + (first): Updated api documentation. + (last): Likewise. + (next): Likewise. + (previous): Likewise. + (show): Clarified api docs. Return if name is null. Throw + IllegalArgumentException if layout of container is not this. + (gotoComponent): Updated api documentation. Throw + IllegalArgumentException if layout of container is not this. + +2006-02-21 Roman Kennke + + * javax/swing/text/NavigationFilter.java + (getNextVisualPositionFrom): New method. + +2006-02-21 Roman Kennke + + * javax/swing/plaf/basic/BasicTextUI.java + (RootView.setView): Call setParent() on the view with this as + argument instead of null. + (setView): Don't set root view's parent here. + +2006-02-21 Roman Kennke + + * javax/swing/text/AbstractDocument.java + (AbstractElement.getAttribute): Use getResolveParent() to fetch + the resolving parent. + (AbstractElement.getResolveParent): Fixed to handle possible null + parent. + * javax/swing/text/BoxView.java + (childReqs): New field. + (paint): Added debugging code (commented out). + (getPreferredSpan): Rewritten to use new update* methods. + (getMaximumSpan): Rewritten to return Integer.MAX_VALUE + for the minor axis and preferredSpan for the major axis. + (getMinimumSpan): Rewritten to use new update* methods. + (baselineRequirements): Rewritten to avoid creation of + unnecessary SizeRequirements objects. + (baselineLayout): Rewritten to use new update* methods. + (calculateMajorAxisRequirements): Rewritten to avoid creation of + unnecessary SizeRequirements objects. + (calculateMinorAxisRequirements): Rewritten to avoid creation of + unnecessary SizeRequirements objects. + (layout): Some robustness fixes for the layout. Turned AssertionErrors + into warnings. + (layoutMajorAxis): Rewritten to use new update* methods. + (layoutMinorAxis): Rewritten to use new update* methods. + (getChildRequirements): Replaced by the update* methods. + (getAlignment): Use update* methods. + (updateChildRequirements): New methods. Updates the child requirements + if necessary. + (updateRequirements): New methods. Updates the BoxView requirements + if necessary. + * javax/swing/text/DefaultStyledDocument.java + (ElementBuffer.insert): Added warning for illegal replacement operation. + * javax/swing/text/FlowView.java + (layoutRow): When offset doesn't change, return -1. + (LogicalView): Now subclasses BoxView. + (loadChildren): Let the CompositeView.setParent() load the children + of the logicalView. + (calculateMinorRequirements): New overridden method. + * javax/swing/text/GlyphView.java + (DefaultGlyphPainter.paint): Fixed typo. + (startOffset): Made field private. + (endOffset): Made field private. + (paint): Call getStartOffset() and getEndOffset() instead of the + element methods. + (isStrikeThrough): Fixed typo. + (breakView): Use Utilities.getBreakLocation() to determine best + break location. + (changedUpdate): Call preferencedChange on this instead of parent. + (removeUpdate): Call preferencedChange on this instead of parent. + * javax/swing/text/ParagraphView.java + (Row.getAlignment): For Y_AXIS, call super. + (getAlignment): Likewise. + * javax/swing/text/Utilities.java + (getBreakLocation): Set Segment object directly on the BreakIterator. + * javax/swing/text/html/HTML.java + (Attribute): Made class non-serializable and final as specified. + (Attribute(String)): Made constructor private. + (Attribute.compareTo): Removed. + (Attribute.equals): Removed. + (Attribute.hashCode): Removed. + (Tag): Made class non-comparable and non-serializable as specified. + (Tag.compareTo): Removed. + (Tag.equals): Removed. + (Tag.hashCode): Removed. + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.blockOpen): Add tag as name attribute to element. + * javax/swing/text/html/HTMLEditorKit.java + (HTMLFactory.create): Create NullView for tags, removed unused + fallback. + * javax/swing/text/html/InlineView.java + (setPropertiesFromAttributes): Call super. + * javax/swing/text/html/NullView.java: New class. + +2006-02-21 Roman Kennke + + PR classpath/26368 + * javax/swing/text/GapContent.java + (GapContentPosition): Made class private. + (InsertUndo): Made class private. + (UndoRemove): Made class private. + (WeakPositionComparator): New inner class. + (positions): Made field private. + (createPosition): Clear up GC'ed positions before creating + a new one. Store position as WeakReference. + (getPositionsInRange): Changed to handle WeakReference + positions. + (setPositionsInRange): Changed to handle WeakReference + positions. + (adjustPositionsInRange): Changed to handle WeakReference + positions. + (dumpPositions): Handle WeakReference positions. + (clearPositionReferences): New method. + +2006-02-21 Robert Schuster + + * javax/swing/plaf/basic/BasicTextUI.java: + (paint): Remove unneccessary part of the if-expression. + (damageRange): Added case where the range spans multiple lines. + * javax/swing/text/DefaultCaret.java: + (clearHighlight): New method. + (handleHighlight): Removed unneccessary part of the if-expression. + (setDot): Use clearHighlight method. + * javax/swing/text/DefaultHighlighter.java: Use ArrayList instead + of Vector. + (paint): Prevented calling size() on every loop iteration, fixed + calculation of allocation area bounds. + (getHighlights): Implemented. + (removeHighlight): Mark damaged area in textcomponent. + (addHighlight): Mark damaged area in textcomponent. + (changeHighlight): Mark damaged area in textcomponent. + (DefaultHighlighter.HighlightEntry): Made it a real + Highlighter.Highlight implementation. + (DefaultHighlighter.DefaultHighlightPainter.paint): Fixed + calculations. + +2006-02-20 Stuart Ballard + + * java/util/zip/ZipConstants.java + (LOCSIG): Change type to long. + (EXTSIG): Likewise. + (CENSIG): Likewise. + (ENDSIG): Likewise. + * java/util/zip/ZipOutputStream.java + (writeLeInt(long)): New method. + +2006-02-21 Michael Koch + + * gnu/javax/net/ssl/provider/PRNG.java: Removed. + +2006-02-20 Mark Wielaard + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c + (begin_drawing_operation): Output stacktrace and return on bad cairo + status. + (end_drawing_operation): Likewise. And reset cairo_t. + +2006-02-20 Robert Schuster + + * javax/swing/text/DefaultEditorKit.java: Fixed comparison + in backward selection action. + +2006-02-20 Olivier Jolly + + * java/lang/reflect/Proxy.java: + (ProxyData.getProxyData): Skipped overriding of core methods. + (ProxyData.isCoreObjectMethod): New method. + +2006-02-20 Mark Wielaard + + * gnu/java/nio/charset/Provider.java (Provider): Package private. + +2006-02-20 Roman Kennke + + * javax/swing/text/html/Option.java: New class. + +2006-02-20 Lillian Angel + + * java/swt/Window.java + (show): Calling show() on the owned windows caused problems. + Changed back to get the peer and call setVisible. + +2006-02-20 Roman Kennke + + * javax/swing/plaf/basic/BasicTextUI.java + (damageRange): Implemented this method. + +2006-02-20 Robert Schuster + + * javax/swing/text/GapContent.java: + (shiftGapEndUp): Corrected new mark value. + * javax/swing/text/AbstractDocument.java: + (remove): Changed order of operations. + +2006-02-20 Robert Schuster + + * javax/swing/text/GapContent.java: + (shiftGapEndUp): Reverted. + * javax/swing/text/AbstractDocument.java: + (remove): Reverted. + +2006-02-20 Robert Schuster + + * javax/swing/text/GapContent.java: + (shiftGapEndUp): Corrected new mark value. + * javax/swing/text/AbstractDocument.java: + (remove): Changed order of operations. + +2006-02-20 Mark Wielaard + + * java/awt/Menu.java (add(MenuItem)): Use item.getParent() to get + parent field. + (insert): Likewise. + (addNotify): Add the item after addNotifying it. + * java/awt/MenuBar.java (setHelpMenu): Only call removeNotify() when + there is a peer. Use getParent() and setParent() to manipulate parent + field. + (add(Menu)): Use getParent() and setParent() to manipulate parent + field. Call addNotify() and addMenu() when there is a peer. + (remove(int)): Call removeNotify() and delMenu() when there is a peer. + (addNotify): Use getPeer()/setPeer(). Call addMenu() and addHelpMenu() + when there is a peer. + * gnu/java/awt/peer/gtk/GtkMenuComponentPeer.java (create): Document. + (GtkMenuComponentPeer): Document. Take MenuComponent as argument. + (setFont): Call setFont(Font). + (setFont(Font)): Document. Only set font when not null. + * gnu/java/awt/peer/gtk/GtkMenuItemPeer.java (create): Document. Made + protected. + (connectSignals): Likewise. + (GtkMenuItemPeer): Document. Don't try to add item. Always call + connectSignals(). + * gnu/java/awt/peer/gtk/GtkCheckboxMenuItemPeer.java (create): Make + protected. + (postMenuActionEvent): Document. + * gnu/java/awt/peer/gtk/GtkMenuPeer.java (create): Document. Made + protected. + (addItem): Document. Made private. + (addTearOff): Made private. + (connectSignals): New protected overridden method. + (GtkMenuPeer): Correctly cast setupAccelGroup() arguments. + * gnu/java/awt/peer/gtk/GtkMenuBarPeer.java (hasHelpMenu): New field. + (create): Document. + (addMenu): Made private, take GtkMenuPeer as argument and document. + (GtkMenuBarPeer): Document. + (nativeSetHelpMenu): Removed. + (addHelpMenu): Implement. + (delMenu): Document. + (addMenu): Implement. + * gnu/java/awt/peer/gtk/GtkPopupMenuPeer.java (setParent): Removed. + * include/gnu_java_awt_peer_gtk_GtkMenuBarPeer.h: Regenerated. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuBarPeer.c + (Java_gnu_java_awt_peer_gtk_GtkMenuBarPeer_nativeSetHelpMenu): + Removed. + +2006-02-20 Audrius Meskauskas + + * gnu/java/rmi/server/RMIObjectInputStream.java (resolveProxyClass): + Expect that proxy interfaces may have different class loaders. + * gnu/java/rmi/server/UnicastServerRef.java: Rewritten. + * java/rmi/registry/Registry.java, + * java/rmi/server/UnicastRemoteObject.java: + Documented about proxy stubs. + * gnu/java/rmi/server/CombinedClassLoader.java, + java/rmi/server/RemoteObjectInvocationHandler.java: New files. + * NEWS: Added entry. + +2006-02-19 Mark Wielaard + + * gnu/java/awt/peer/gtk/GtkContainerPeer.java (endValidate): Set + Parent and Bounds of our children if either or parent is showing, or + we are a Window and are showing ourselves now. + +2006-02-19 Audrius Meskauskas + + * gnu/classpath/tools/rmi/rmic/RmicCompiler.java (convertStubName): + New method. + * gnu/classpath/tools/rmi/rmic/templates/Stub_12.jav: + Another stub name fix. + +2006-02-19 Audrius Meskauskas + + * gnu/classpath/tools/giop/grmic/GiopRmicCompiler.java (compile): + Call convertStubName. (convertStubName): New method. + * gnu/classpath/tools/rmi/RMIC.java (main): Stub name fix. + * gnu/classpath/tools/rmi/rmic/RmiMethodGenerator.java + (convertStubName): New method. + (getMethodHashCode): + Use existing gnu.java.rmi.server.RMIHashes.getMethodHash. + * gnu/classpath/tools/rmi/rmic/templates/Stub_12.jav: Stub name fix. + +2006-02-19 Audrius Meskauskas + + * java/rmi/server/UnicastRemoteObject.java: Documenting. + +2006-02-19 Audrius Meskauskas + + * gnu/java/rmi/server/UnicastServerRef.java: Reformatted. + +2006-02-18 Audrius Meskauskas + + * javax/swing/JViewport.java (paintBackingStore): If the component has + not been scrolled, only repaint the buffer part, indicated by + the parameter graphics clip. + +2006-02-19 Raif S. Naffah + + * gnu/javax/crypto/key/OutgoingMessage.java (writePublicKey): Handle new + internal format. + (writePrivateKey): Likewise. + (writeKey): New method. + (getKeyType): Likewise. + * gnu/javax/crypto/key/IncomingMessage.java (readPublicKey): Handle new + internal format. + (readPrivateKey): Likewise. + (getKeyPairCodec): New method. + * gnu/javax/crypto/key/srp6/SRPKey.java (getFormat): Always return Raw. + * gnu/javax/crypto/key/dh/GnuDHKey.java (getFormat): Use FormatUtil. + * gnu/java/security/Registry.java (RSA_SIG_PREFIX): New constant. + (RSA_PSS_ENCODING): Likewise.. + (RSA_PKCS1_V1_5_ENCODING): Likewise. + (RSA_PSS_SIG): Redefined using other constants. + (RSA_PKCS1_V1_5_SIG): Likewise. + (MAGIC_RAW_RSA_PKCS1V1_5_SIGNATURE): New constant. + * gnu/java/security/util/FormatUtil.java: New file. + * gnu/java/security/sig/SignatureFactory.java (names): New field. + (getInstance): Let RSASignatureFactory handle RSA signature names. + (getNames): Handle new RSA signature (with format) names. + * gnu/java/security/sig/SignatureCodecFactory.java: New file. + * gnu/java/security/sig/BaseSignature.java (BaseSignature): Add check + for null md. + (name): Include hash algorithm name. + * gnu/java/security/sig/rsa/RSASignatureFactory.java: New file. + * gnu/java/security/sig/rsa/RSAPSSSignature.java + (RSAPSSSignature): Call constructor with IMessageDigest. + (RSAPSSSignature(ImessageDigest,int)): New constructor. + * gnu/java/security/sig/rsa/RSAPKCS1V1_5SignatureRawCodec.java: New + file. + * gnu/java/security/sig/rsa/RSAPKCS1V1_5SignatureX509Codec.java: + Likewise. + * gnu/java/security/sig/rsa/RSAPKCS1V1_5Signature.java + (RSAPKCS1V1_5Signature(String)): Call constructor with IMessageDigest. + (RSAPKCS1V1_5Signature(IMessageDigest)): New constructor. + * gnu/java/security/sig/rsa/EMSA_PKCS1_V1_5.java (getInstance): Added + hash algorithm name to exception. + * gnu/java/security/sig/dss/DSSSignatureX509Codec.java: New file. + * gnu/java/security/key/KeyPairCodecFactory.java + (names): New class field. + (getInstance(Sitrng)): Deconstruct and call getInstance(String,String). + (getInstance(String,String)): New method. + (getInstance(String,int)): New method. + (getInstance(byte[])): Removed. + (getInstance(Key)): Handle new formats. + (getNames): Likewise. + (getEncodingName(int)): Moved to FormatUtil. + (getEncodingShortName(int)): Likewise. + (getRawCodec(String)): New method. + (getX509Codec(String)): Likewise. + (getPKCS8Codec(String)): Likewise. + (getRawCodec(Key)): Likewise. + (getX509Codec(Key)): Likewise. + (getPKCS8Codec(Key)): Likewise. + * gnu/java/security/key/dss/DSSKey.java (getFormat): Use FormatUtil. + * gnu/java/security/key/rsa/GnuRSAKey.java (getFormat): Likewise. + * gnu/java/security/jce/sig/SHA512withRSA.java: New File. + * gnu/java/security/jce/sig/SHA384withRSA.java: Likewise. + * gnu/java/security/jce/sig/SHA256withRSA.java: Likewise. + * gnu/java/security/jce/sig/SHA160withRSA.java: Likewise. + * gnu/java/security/jce/sig/SHA160withDSS.java: Likewsie. + * gnu/java/security/jce/sig/MD5withRSA.java: Likewise. + * gnu/java/security/jce/sig/MD2withRSA.java: Likewise. + +2006-02-18 Mark Wielaard + + * java/awt/dnd/DragSource.java (getDefaultDragSource): Return new + DragSource. + (NoDragGestureRecognizer): New static class. + (createDragGestureRecognizer): Return NoDragGestureRecognizer when + Toolkit doesn't support drag and drop. + +2006-02-18 Mark Wielaard + + * javax/swing/AbstractAction.java (AbstractAction()): Nothing to do. + (AbstractAction(String)): Just call putValue() for NAME. + (putValue): Nothing to do is old and new value are both null. + +2006-02-18 Mark Wielaard + + * javax/swing/JRootPane.java (layoutContainer): Get contentPane + through getContentPane(). + (preferredLayoutSize): Likewise. + +2006-02-18 Mark Wielaard + + * javax/swing/JMenuBar.java (paintBorder): Check whether border is + actually set before painting. + +2006-02-18 Mark Wielaard + + * javax/swing/text/html/HTMLDocument.java (addContent): + Fully qualify AbstractDocument.AttributeContext and + DefaultStyledDocument.ElementSpec.ContentType for gcj 4.0. + +2006-02-18 Mark Wielaard + + * java/awt/datatransfer/DataFlavor.java (tryToLoadClass): Rewritten. + (getRepresentationClassFromMime): Add exception cause to + IllegalArgumentException. + +2006-02-17 Lillian Angel + + * gnu/java/awt/peer/gtk/GtkComponentPeer.java: + Removed unneeded import. + * gnu/java/awt/peer/gtk/GtkFramePeer.java: + Removed unneeded imports. + * java/awt/BorderLayout.java: + Fixed comment, this is not yet handled in the JDK 1.5. + * java/awt/Container.java: + Removed unneeded import. + +2006-02-17 Lillian Angel + + * gnu/java/awt/peer/gtk/GtkComponentPeer.java + (setBounds): Removed check. Coordinates should always be changed + to incorporate the parent's coordinates. + * gnu/java/awt/peer/gtk/GtkFramePeer.java + (setMenuBar): Added checks. Don't validate component if it has + not been validated yet, it will be validated later. Only validate + if it has already been validated, in that case it needs to be + revalidated. + * java/awt/Window.java + (show): Added check. If the window is visible, then bring it to the + front. Otherwise, iterate through all its children windows and show them. + No need to do both. + +2006-02-17 Roman Kennke + + * javax/swing/text/html/ParagraphView.java: New file. + +2006-02-17 Audrius Meskauskas + + * javax/swing/JTable.java (getCellRect): return +rowMargin if spacing + is included. (moveToCellBeingEdited): Adjusted to start editing at the + same location where was the initial text. + * javax/swing/plaf/basic/BasicTableUI.java (paint): Rewritten. + +2006-02-17 Chris Burdess + + Fixes PRs 26319, 26320, 26321, 26322, 26325 + * gnu/xml/stream/SAXParser.java: On error, reset parser before + rethrowing exception. + * gnu/xml/stream/XMLParser.java: Only report "illegal use of + 1.1-style prefix unbinding in 1.0 document" error for xmlns + prefixes, not xmlns attributes. Fix a problem with empty namespace + stack at the end of a document. Permit parameter entity references + in element and attribute-list definition name area. Corrected + normalisation of whitespace character entity references in CDATA + attribute values. Fixed number of characters read following a + reset when detecting end of character data with characters after a + Unicode surrogate pair. + +2006-02-17 Roman Kennke + + * javax/swing/text/html/HTMLEditorKit.java + (HTMLFactory.create): Create InlineView for content tags. + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.flush): Call create() on first flush and insert + on subsequent flushes. + +2006-02-17 Roman Kennke + + * javax/swing/text/AbstractDocument.java + (BranchElement.getStartOffset): Implemented workaround for wrong + NPE. + (BranchElement.getEndOffset): Implemented workaround for wrong + NPE. + (ElementBuffer.split): Use createBranchElement() instead of + new BranchElement(). + (ElementBuffer.insertFracture): Use createBranchElement() instead of + new BranchElement(). + (ElementBuffer.recreateAfterFracture): Use createBranchElement() + instead of new BranchElement(). + (createDefaultRoot): Use createBranchElement() and createLeafElement + instead of the constructors. + (create): Rewritten. + +2006-02-17 Keith Seitz + + * gnu/classpath/jdwp/id/JdwpId.java (size): Remove. + (SIZE): New constant. + * gnu/classpath/jdwp/processor/VirtualMachineCommandSet.java + (executeIDsizes): Use SIZE constant. + * vm/reference/gnu/classpath/jdwp/VMFrame.java (size): Remove. + (SIZE): New constant. + +2006-02-17 Audrius Meskauskas + + * javax/swing/JTable.java (IconCellRenderer): Set the component + text to empty string. (createDefaultRenderers): Register + IconCellRenderer also for ImageIcon. + (getCellEditor(int, int), getCellRenderer(int, int)): + Use model index for data model and column index for column model. + (getColumnClass): Convert to model index before requesting class + from model. + +2006-02-17 Roman Kennke + + * javax/swing/text/html/HTMLDocument.java + (createDefaultRoot): Implemented. + (createLeafElement): Implemented. + (createBranchElement): Implemented. + (BlockElement.getName): Fixed to handle HTML.Tag objects as name. + (RunElement.getName): Fixed to handle HTML.Tag objects as name. + (HTMLReader.ParagraphAction.start): Call blockOpen at the very least. + (HTMLReader.ParagraphAction.end): Call blockClose at the very least. + (HTMLReader.blockOpen): Add name attribute with the current tag. + (HTMLReader.addContent): Add name attribute with HTML.Tag.CONTENT. + +2006-02-17 Audrius Meskauskas + + * javax/swing/plaf/basic/BasicTableHeaderUI.java (MouseInputHandler): + Rewritten. + * javax/swing/table/JTableHeader.java: Documenting related methods. + +2006-02-17 Jeroen Frijters + + Fixes PR 25752 + * gnu/java/net/protocol/ftp/FTPURLConnection.java + (connect): Changed to use SystemProperties. + (getInputStream): Try changeWorkingDirectory to figure out if + url is a directory, if not use retrieve. + (getOutputStream): Don't worry about directories, simply always + try to do a store. + +2006-02-17 Jeroen Frijters + + * gnu/java/net/protocol/ftp/ActiveModeDTP.java + (ActiveModeDTP): Mark accept thread as daemon. + +2006-02-17 Michael Koch + + * tools/.cvsignore: Ignore tools.zip. + +2006-02-16 Keith Seitz + + * vm/reference/gnu/classpath/jdwp/VMIdManager.java (newReferenceTypeId): + Set the ID's reference. + (): Remove comments for field, method, and frame ID types, + which will not be handled by VMIdManager. + +2006-02-17 Audrius Meskauskas + + * javax/swing/JTable.java (getCellEditor, getCellRenderer): + Use model index, not the column number. + * javax/swing/plaf/basic/BasicTableHeaderUI.java (MouseInputHandler): + Rewritten. (draggingHeaderRect): New field. (paint): Animate column + movement by painting draggingHeaderRect. + * NEWS: Added entry about JTable columns. + +2006-02-16 Keith Seitz + + * gnu/classpath/jdwp/id/JdwpId.java (size): Make static. Return + default size of eight bytes. + * gnu/classpath/jdwp/id/ObjectId.java (size): Remove. + * gnu/classpath/jdwp/id/ReferenceTypeId.java (size): Remove. + * gnu/classpath/jdwp/processor/VirtualMachineCommandSet.java + (executeIDsizes): Use new static methods. + * vm/reference/gnu/classpath/jdwp/VMFrame.java (size): New static + method. + +2006-02-16 David Daney + + PR classpath/26312 + * gnu/java/net/protocol/http/ChunkedInputStream.java (read): Mask + return value with 0xff. + +2006-02-16 Keith Seitz + + * gnu/classpath/jdwp/event/EventRequest.java (getFilters): New method. + (matches): Use Iterator instead of ListIterator. + +2006-02-16 Keith Seitz + + * gnu/classpath/jdwp/Jdwp.java (_doInitialization): Name the packet + processor thread for easier debugging. + (_enforceSuspendPolicy): Suspend the current thread, not the JDWP + main thread. + +2006-02-16 Audrius Meskauskas + + * javax/swing/JTable.java + (TableColumnPropertyChangeHandler.propertyChange): Return without + action if table header resizing column in not null. (doLayout): + Only repaint the header if it is not null. + * javax/swing/plaf/basic/BasicTableHeaderUI.java + (MouseInputHandler.mouseExited, MouseInputHandler.mouseReleased): + Rewritten. (MouseInputHandler.endResizing): New method. + +2006-02-16 Roman Kennke + + * javax/swing/text/html/InlineView.java: New file. + +2006-02-16 Roman Kennke + + * javax/swing/JTabbedPane.java + (AccessibleJTable.getAccessibleChild): Implemented to return + the Page instance for the specified index. + (Page): Changed to implement Accessible and extend + AccessibleContext. + (Page.getAccessibleContext): New method. + (Page.getAccessibleRole): New method. + (Page.getAccessibleStateSet): New method. + (Page.getAccessibleIndexInParent): New method. + (Page.getAccessibleChildrenCount): New method. + (Page.getAccessibleChild): New methdod. + (Page.getLocale): New method. + +2006-02-16 Roman Kennke + + * javax/swing/plaf/basic/BasicTabbedPaneUI.java + (TabbedPaneLayout.calculateTabRects): Expand tabRuns array when + tabCount gets greater than tabRuns.length. + (TabbedPaneScrollLayout.calculateTabRects): Expand tabRuns array + when tabCount gets greater than tabRuns.length. + (paintTabArea): Don't set tabCount == runCount. + +2006-02-16 Roman Kennke + + * javax/swing/plaf/basic/BasicTextUI.java + (installUI): Moved installation of PropertyChangeListener + to installListeners(). Call modelChanged() after everything is + is installed. + (installListeners): Install PropertyChangeListener here. + (uninstallUI): Moved uninstallation of PropertyChangeListener + to uninstallListeners. + (uninstallListeners): Uninstall PropertyChangeListener here. + +2006-02-16 Audrius Meskauskas + + * javax/swing/JTable.java (doLayout): + case AUTO_RESIZE_SUBSEQUENT_COLUMNS rewritten. Repaint the header + on exit. + javax/swing/plaf/basic/BasicTableHeaderUI.java + (MouseInputHandler.mouseDragged): Do not repaint the header. + +2006-02-16 Roman Kennke + + * javax/swing/JViewport.java + (static_initializer): Set default scrollMode to backingstore. + +2006-02-16 Audrius Meskauskas + + * javax/swing/JTable.java (moveToCellBeingEdited): Clone the value, + returned by getCellRect. To not translate the component. + +2006-02-16 Roman Kennke + + * javax/swing/JComponent.java + (rectCache): Made field non-static to avoid nasty interferences. + (computeVisibleRect): Avoid creation of new Rectangles and double + calculations on ints by using Swing.computeIntersection() instead + of Rectangle2D.intersect(). + (repaint): Interect the dirty region with the visible rectangle + of this component to avoid unnecessary painting. + +2006-02-16 Gary Benson + + * java/lang/Thread.java (stop): Add a missing access check. + +2006-02-16 Robert Schuster + + * javax/swing/text/JTextComponent.java: + (replaceSelection): Added code to update the magic caret position. + * javax/swing/text/DefaultEditorKit.java: Added code to update + the magic caret position of the text component in all relevant + movement actions, make use of the magic caret position in up + and down movements and selections, simplified some actions + (code-wise). + +2006-02-15 Anthony Balkissoon + + * gnu/java/lang/CharData.java: Regenerated from + doc/unicode/UnicodeData-4.0.0.txt, doc/unicode/SpecialCasing-4.0.0.txt + and scripts/unicode-muncher.pl. + * java/lang/Character.java: + (PrivateUseCharacters): New private static class. + (UnassignedCharacters): Likewise. + (blocks): Changed from char[] to char[][] to reflect the changes in + gnu/java/lang/CharData. There is now one char[] per Unicode code + plane. + (data): Likewise. + (numValue): Likewise. + (upper): Likewise. + (lower): Likewise. + (direction): Likewise. + (readChar): Replaced this method with new method readCodePoint. + (readCodePoint): New method. + (isLowerCase(char)): Redirected to new isLowerCase(int). + (isLowerCase(int)): New method. + (isUpperCase(char)): Redirected to new isUpperCase(int). + (isUpperCase(int)): New method. + (isTitleCase(char)): Redirected to new isTitleCase(int). + (isTitleCase(int)): New method. + (isDigit(char)): Redirected to new isDigit(int). + (isDigit(int)): New method. + (isDefined(char)): Redirected to new isDefined(int). + (isDefined(int)): New method. + (isLetter(char)): Redirected to new isLetter(int). + (isLetter(int)): New method. + (isLetterOrDigit(char)): Redirected to new isLetterOrDigit(int). + (isLetterOrDigit(int)): New method. + (isJavaIdentifierStart(char)): Redirected to new + isJavaIdentifierStart(int). + (isJavaIdentifierStart(int)): New method. + (isJavaIdentifierPart(char)): Redirected to new + isJavaIdentifierPart(int). + (isJavaIdentifierPart(int)): New method. + (isUnicodeIdentifierStart(char)): Redirected to new + isUnicodeIdentifierStart(int). + (isUnicodeIdentifierStart(int)): New method. + (isUnicodeIdentifierPart(char)): Redirected to new + isUnicodeIdentifierPart(int). + (isUnicodeIdentifierPart(int)): New method. + (isIdentifierIgnorable(char)): Redirected to new + isIdentifierIgnorable(int). + (isIdentifierIgnorable(int)): New method. + (toLowerCase(char)): Changed access to lower to correspond with new + char[][] type of lower. + (toLowerCase(int)) New method. + (toUpperCase(char)): Changed access to upper to correspond with new + char[][] type of upper. + (toUpperCase(int)): New method. + (toTitleCase(int)): New method. + (digit(char, int)): Replaced call to readChar with call to + readCodePoint and changed access to numValue to reflect new char[][] + type of numValue. + (digit(int, int)): New method. + (getNumericValue(char)): Changed access to numValue to reflect new + char[][] type of numValue. + (getNumericValue(int)): New method. + (isSpaceChar(char)): Redirected to new isSpaceChar(int). + (isSpaceChar(int)): New method. + (isWhitespace(char)): Redirected to new isWhitespace(int). + (isWhitespace(int)): New method. + (isISOControl(char)): Redirected to new isISOControl(int). + (isISOControl(int)): New method. + (getType(char)): Redirected to new getType(int). + (getType(int)): New method. + (getDirectionality(char)): Redirected to new getDirectionality(int). + (getDirectionality(int)): New method. + (isMirrored(char)): Changed call to readChar to readCodePoint. + (isMirrored(int)): New method. + * java/lang/String.java: + (upperCaseExpansion): Changed access to Character.direction to reflect + new char[][] type of direction. + (offsetByCodePoints): New method. + * scripts/unicode-muncher.pl: Adapted this script to handle Unicode + 4.0.0 which introduced supplementary character assignments. + +2006-02-15 Audrius Meskauskas + + * javax/swing/JTable.java, + javax/swing/plaf/basic/BasicTableHeaderUI.java, + javax/swing/table/DefaultTableModel.java: Documented. + +2006-02-15 Lillian Angel + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c: + Removed duplicate methods. + +2006-02-15 Audrius Meskauskas + + * javax/swing/JTable.java (distributeSpillResizing): New method. + (doLayout): Use distributeSpillResizing when resizing. + * javax/swing/plaf/basic/BasicTableHeaderUI.java (MouseInputHandler): + Rewritten. (installListeners): Add mouse motion listener. + (uninstallListeners): Remove mouse motion listener. + +2006-02-15 Lillian Angel + + * gnu/java/awt/peer/gtk/GtkDialogPeer.java + (setVisible): Removed method. + * gnu/java/awt/peer/gtk/GtkWindowPeer.java + (setLocation): New method. + (setLocationUnlocked): New method. + (show): Changed to use setLocation instead of setBounds. + * java/awt/Component.java + (show): Should call peer.show(), not peer.setVisible(), so the + location of the component is correctly set. + (preferredSize): Added curly braces so else statements are + properly associated with if's. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c + (Java_gnu_java_awt_peer_gtk_GtkWindowPeer_nativeSetLocation): + New function. + (Java_gnu_java_awt_peer_gtk_GtkWindowPeer_nativeSet + LocationUnlocked): New function. + * include/gnu_java_awt_peer_gtk_GtkWindowPeer.h: + Added declarations for Java_gnu_java_awt_peer_gtk_ + GtkWindowPeer_nativeSetLocation and + Java_gnu_java_awt_peer_gtk_GtkWindowPeer + _nativeSetLocationUnlocked. + +2006-02-15 Mark Wielaard + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.c + (Java_gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer_create): + Downcast gtk_plug_new result when used. + +2006-02-15 Olivier Jolly + + * java/io/ObjectOutputStream.java (writeClassDescriptor): + Call assignNewHandle() after writing Proxy class. + +2006-02-15 Olivier jolly + + Fixes bug #14144 + * java/io/ObjectInputStream.java (readClassDescriptor): + Class doesn't have to be abstract for first_nonserial. + +2006-02-15 Roman Kennke + + * javax/swing/JInternalFrame.java + (setClosed): Call dispose to actually make the frame invisible + and unselected. + +2006-02-15 Roman Kennke + + * javax/swing/JInternalFrame.java + (dispose): Call setVisible(false) instead of hide. + (doDefaultCloseOperation): Likewise. + +2006-02-15 Roman Kennke + + * javax/swing/JComponent.java + (paintChildren): Also check for the visibility of a child component + to avoid artifacts. + (repaint): Simply add this component to the RepaintManager rather than + trying to do useless optimization here. + +2006-02-15 David Gilbert + + * javax/swing/JSpinner.java + (DefaultEditor.DefaultEditor(JSpinner)): Add self to text field as a + PropertyChangeListener, + (DefaultEditor.getSpinner): Updated API docs, + (DefaultEditor.dismiss): Likewise, + (DefaultEditor.getTextField): Likewise, + (DefaultEditor.layoutContainer): Likewise, + (DefaultEditor.minimumLayoutSize): Likewise, + (DefaultEditor.preferredLayoutSize): Likewise, + (DefaultEditor.propertyChange): Implemented, + (DefaultEditor.stateChanged): Implemented, + (DefaultEditor.removeLayoutComponent): Updated API docs, + (DefaultEditor.addLayoutComponent): Likewise, + (NumberEditor.NumberEditor(JSpinner)): Set formatter for text field, + (NumberEditor.NumberEditor(JSpinner, String)): Likewise, + (NumberEditor.getFormat): Implemented, + (NumberEditor.getModel): Updated API docs, + (NumberEditorFormatter): New static inner class, + (ListEditor.getModel): Updated API docs, + (DateEditor.dateFormat): Removed, + (DateEditor.DateEditor(JSpinner)): Set formatter for text field, + (DateEditor.DateEditor(JSpinner, String)): Likewise, + (DateEditor.init): Removed, + (DateEditor.getFormat): Reimplemented, + (DateEditorFormatter): New static inner class, + (ModelListener): New inner class, + (model): Updated API docs, + (editor): Likewise, + (listener): Removed, + (JSpinner()): Updated API docs, + (JSpinner(SpinnerModel)): Set up ModelListener, + (setEditor): Fire property change, + (getModel): Updated API docs, + (setModel): Removed check for null editor, + (setValue): Updated API docs, + (getUIClassID): Updated API docs, + (createEditor): Handle SpinnerListModel case, + * javax/swing/plaf/basic/BasicSpinnerUI.java + (createUI): Updated API docs, + (createPropertyChangeListener): Added FIXME, + (installDefaults): Set text field border to null, + (DefaultLayoutManager): Updated API docs, + (DefaultLayoutManager.layoutContainer): Modified layout, + (DefaultLayoutManager.minimumLayoutSize): Ignore button heights, + (DefaultLayoutManager.preferredLayoutSize): Likewise, + (DefaultLayoutManager.removeLayoutComponent): Removed tabs, + (DefaultLayoutManager.addLayoutComponent): Likewise, + (DefaultLayoutManager.minSize): Renamed prefSize, + (DefaultLayoutManager.setBounds): Reformatted, + (DefaultLayoutManager.editor): Added API docs, + (DefaultLayoutManager.next): Likewise, + (DefaultLayoutManager.previous): Likewise, + * javax/swing/plaf/metal/MetalLookAndFeel.java + (initComponentDefaults): Added entry for 'Spinner.border', + * examples/gnu/classpath/examples/swing/SpinnerDemo.java: New file. + +2006-02-15 Chris Burdess + + * gnu/xml/validation/datatype/BooleanType.java, + gnu/xml/validation/datatype/ByteType.java, + gnu/xml/validation/datatype/DateTimeType.java, + gnu/xml/validation/datatype/DateType.java, + gnu/xml/validation/datatype/DecimalType.java, + gnu/xml/validation/datatype/DoubleType.java, + gnu/xml/validation/datatype/DurationType.java, + gnu/xml/validation/datatype/FloatType.java, + gnu/xml/validation/datatype/GDayType.java, + gnu/xml/validation/datatype/GMonthDayType.java, + gnu/xml/validation/datatype/GMonthType.java, + gnu/xml/validation/datatype/GYearMonthType.java, + gnu/xml/validation/datatype/GYearType.java, + gnu/xml/validation/datatype/IntType.java, + gnu/xml/validation/datatype/IntegerType.java, + gnu/xml/validation/datatype/LongType.java, + gnu/xml/validation/datatype/MaxExclusiveFacet.java, + gnu/xml/validation/datatype/MaxInclusiveFacet.java, + gnu/xml/validation/datatype/MinExclusiveFacet.java, + gnu/xml/validation/datatype/MinInclusiveFacet.java, + gnu/xml/validation/datatype/NegativeIntegerType.java, + gnu/xml/validation/datatype/NonNegativeIntegerType.java, + gnu/xml/validation/datatype/NonPositiveIntegerType.java, + gnu/xml/validation/datatype/PositiveIntegerType.java, + gnu/xml/validation/datatype/ShortType.java, + gnu/xml/validation/datatype/SimpleType.java, + gnu/xml/validation/datatype/TimeType.java, + gnu/xml/validation/datatype/TypeBuilder.java, + gnu/xml/validation/datatype/UnsignedByteType.java, + gnu/xml/validation/datatype/UnsignedIntType.java, + gnu/xml/validation/datatype/UnsignedLongType.java, + gnu/xml/validation/datatype/UnsignedShortType.java: Provide value + objects for datatypes. Make maxExclusive,minExclusive,maxInclusive, + minInclusive facets use the value space of the base type, and + implement. + +2006-02-15 Mark Wielaard + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.c + (Java_gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer_create): + gtk_plug_new() returns a GtkWindow. + +2006-02-15 David Gilbert + + * javax/swing/SpinnerNumberModel.java + (getNextValue): Check for null maximum, + (getPreviousValue): Check for null minimum. + +2006-02-15 Roman Kennke + + * javax/swing/plaf/basic/BasicTableUI.java + (paint): Paint vertical and horizontal lines one pixel shifted + left/top. + +2006-02-15 Jeroen Frijters + + * java/util/zip/ZipFile.java + (checkZipFile): Inlined readLeInt and rewritten for robustness. + (readLeShort(DataInput,byte[]), readLeInt(DataInput,byte[], + readLeShort(byte[],int), readLeInt(byte[],int)): Removed. + (readEntries): Rewritten to use PartialInputStream. + (locBuf, checkLocalHeader): Removed. + (getInputStream): Rewritten to use new PartialInputStream. + (PartialInputStream): Rewritten to do buffering. + +2006-02-15 Michael Koch + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.c + (Java_gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer_create): + Make sure the embedded window gets no decorations. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c + (window_get_frame_extents): Return early of the window has no + decorations. + +2006-02-15 Audrius Meskauskas + + * examples/gnu/classpath/examples/swing/TableDemo.java + (TModel, createContent): Explain which value appears in the header. + * javax/swing/JTable.java (setColumnModel): Only set the + column header value if the getHeaderValue() returns null. + +2006-02-14 Mark Wielaard + + Fixes bug #23931 + * gnu/java/awt/peer/gtk/GtkImage.java (errorImage): New static field. + (getErrorImage): New static method. + * gnu/java/awt/peer/gtk/GtkToolkit.java (GtkErrorImage): Removed. + (bufferedImageOrError): Renamed to ... + (imageOrError): Renamed from bufferedImageOrError, takes Image. + Returns GtkImage.getErrorImage() when argument null. + (createImage(String)): Always use imageOrError. + (createImage(URL)): Likewise. + (createImage(ImageProducer)): Likewise. + (createImage(byte[],int,int)): Likewise. + +2006-02-14 Roman Kennke + + * javax/swing/plaf/basic/BasicCheckBoxMenuItemUI.java: Removed + unneeded imports. + * javax/swing/plaf/basic/BasicInternalFrameUI.java: Likewise. + * javax/swing/plaf/basic/BasicRadioButtonMenuItemUI.java: Likewise. + * javax/swing/plaf/basic/BasicRootPaneUI.java: Likewise. + * javax/swing/plaf/basic/BasicSplitPaneDivider.java: Likewise. + * javax/swing/plaf/basic/BasicHTML.java: Fixed API comment. + +2006-02-14 Roman Kennke + + * javax/swing/text/AsyncBoxView.java + (ChildState.locator): Removed wrong field. + (ChildState): Removed initialization of removed field. + (locator): Changed access modifier to be protected as specified. + +2006-02-14 Roman Kennke + + * javax/swing/ToolTipManager.java: Removed unneeded imports. + * javax/swing/Timer.java: Some small reindention. + (task): Made package private to avoid synthetic accessor method. + +2006-02-14 Roman Kennke + + * javax/swing/SwingUtilities.java + (layoutCompoundLabel): Dont set textIconGap to 0 when there is + no icon. + +2006-02-14 Audrius Meskauskas + + * examples/gnu/classpath/examples/swing/TableDemo.java: + Making the columns variable width. + * javax/swing/JTable.java (distributeSpill, doLayout): + Call getPreferredSize and not getSize(). + +2006-02-14 Roman Kennke + + * javax/swing/DefaultCellEditor.java + (DefaultCellEditor): API doc fixlet. + +2006-02-14 Roman Kennke + + * javax/swing/JViewport.java + (isPaintRoot): New field. + (repaint): Only call super here. Also added a comment regarding + the diversion from the JDK. + (paintBlit): Implemented real blitting. + (paintImmediately2): New method. Overrides the same package private + method in JComponent. + +2006-02-14 Roman Kennke + + * javax/swing/plaf/basic/BasicTableUI.java + (paint): Check for boundary cases when determining the painting + area. + +2006-02-14 Mark Wielaard + + * java/awt/Menu.java (add): Always set parent of item to this. Call + addNotify() on item when we have a MenuPeer already. + (insert): Always adjust parent for item. Call addNotify() on item if + we already have a peer. + (remove(int)): Always clear item parent. Call removeNotify() on item + if we had a peer. + +2006-02-14 Audrius Meskauskas + + * javax/swing/JTable.java (rowAtPoint): Return -1 if the computed + row == getRowCount(). + +2006-02-14 Lillian Angel + + * gnu/java/awt/peer/gtk/GtkDialogPeer.java + (setVisible): New method to override super. Need to set the + native bounds of the component, so it appears at the + correct location. + +2006-02-14 Mark Wielaard + + * java/awt/Frame.java (setMenuBar): Update MenuBar parent. + (remove): If menu component is the current MenuBar remove it, + otherwise call super.remove(). + * java/awt/MenuBar.java (frame): Remove field. + * java/awt/MenuComponent.java (postEvent): Use getParent() always. + +2006-02-14 Audrius Meskauskas + + * tools/gnu/classpath/tools/giop/NameServicePersistent.java: Refer + to NameServicePersistent. + * tools/gnu/classpath/tools/giop/NameServicePersistent.txt: New file. + * tools/gnu/classpath/tools/giop/NamingServicePersistent.txt: Deleted. + +2006-02-14 Audrius Meskauskas + + * NEWS: Updated tool status. + * gnu/CORBA/NamingService/NamingMap.java (Map): Made protected. + (constructor, bind, rebind): Rewritten. + * gnu/CORBA/NamingService/TransientContext.java: Rewritten. + * tools/gnu/classpath/tools/giop/README: Updated. + * tools/gnu/classpath/tools/giop/NameServicePersistent.java, + tools/gnu/classpath/tools/giop/NamingServicePersistent.txt, + tools/gnu/classpath/tools/giop/nameservice/PersistentContext.java, + tools/gnu/classpath/tools/giop/nameservice/PersistentContextMap.java, + tools/gnu/classpath/tools/giop/nameservice/PersistentMap.java: + New files. + +2006-02-14 David Gilbert + + * javax/swing/JComponent.java + (getListeners): Check for PropertyChangeListener.class and delegate to + getPropertyChangeListeners() for that case. + +2006-02-13 Roman Kennke + + * javax/swing/plaf/basic/BasicTableUI.java + (paint): Determine the cells that need painting based on the + current clip. Use getCellRect() for calculating the cell + bounds. + +2006-02-13 Roman Kennke + + * javax/swing/JTable.java + (rectCache): New field. + (getCellRect): Returns cached Rectangle instance. + +2006-02-13 Roman Kennke + + * javax/swing/JLayeredPane.java + (removeAll): New method. Avoid potential memory leak. + (isOptimizedDrawingEnabled): Replaced heuristic with accurate + calculation. + +2006-02-14 Stuart Ballard + + * javax/swing/undo/StateEdit.java (RCSID): Match Sun's value. + * javax/swing/undo/StateEditable.java (RCSID): Likewise. + +2006-02-13 Tom Tromey + + * vm/reference/java/lang/reflect/Method.java: Javadoc fix. + * vm/reference/java/lang/reflect/Constructor.java: Javadoc fix. + +2006-02-13 Roman Kennke + + * javax/swing/RepaintManager.java + (offscreenBuffers): New field. + (doubleBuffer): Removed field. + (repaintUnderway): New field. + (commitRequests): New field. + (RepaintManager): Initialize new fields. + (paintDirtyRegions): Handle repaintUnderway flag. Commit + buffers when done. + (getOffscreenBuffer): Returns the offscreen buffer for the + corresponding root component. + (commitBuffer): New method. + (commitRemainingBuffers): New method. + * javax/swing/JComponent.java + (paint): Call paintDoubleBuffered with the current clip. + (paintImmediately2): Don't paint on screen here. + (paintDoubleBuffered): Rewritten for real double buffering. + (paintSimple): Draw to screen in this method. + +2006-02-13 Roman Kennke + + * javax/swing/JRootPane.java + (JRootPane): Set opaque property to true. + +2006-02-13 Tom Tromey + + * .classpath: Updated for external/relaxngDatatype. + +2006-02-13 Chris Burdess + + * gnu/xml/stream/UnicodeReader.java, + gnu/xml/validation/datatype/Annotation.java, + gnu/xml/validation/datatype/AnySimpleType.java, + gnu/xml/validation/datatype/AnyType.java, + gnu/xml/validation/datatype/AnyURIType.java, + gnu/xml/validation/datatype/AtomicSimpleType.java, + gnu/xml/validation/datatype/Base64BinaryType.java, + gnu/xml/validation/datatype/BooleanType.java, + gnu/xml/validation/datatype/ByteType.java, + gnu/xml/validation/datatype/DateTimeType.java, + gnu/xml/validation/datatype/DateType.java, + gnu/xml/validation/datatype/DecimalType.java, + gnu/xml/validation/datatype/DoubleType.java, + gnu/xml/validation/datatype/DurationType.java, + gnu/xml/validation/datatype/EntitiesType.java, + gnu/xml/validation/datatype/EntityType.java, + gnu/xml/validation/datatype/EnumerationFacet.java, + gnu/xml/validation/datatype/Facet.java, + gnu/xml/validation/datatype/FloatType.java, + gnu/xml/validation/datatype/FractionDigitsFacet.java, + gnu/xml/validation/datatype/GDayType.java, + gnu/xml/validation/datatype/GMonthDayType.java, + gnu/xml/validation/datatype/GMonthType.java, + gnu/xml/validation/datatype/GYearMonthType.java, + gnu/xml/validation/datatype/GYearType.java, + gnu/xml/validation/datatype/HexBinaryType.java, + gnu/xml/validation/datatype/IDRefType.java, + gnu/xml/validation/datatype/IDRefsType.java, + gnu/xml/validation/datatype/IDType.java, + gnu/xml/validation/datatype/IntType.java, + gnu/xml/validation/datatype/IntegerType.java, + gnu/xml/validation/datatype/LanguageType.java, + gnu/xml/validation/datatype/LengthFacet.java, + gnu/xml/validation/datatype/ListSimpleType.java, + gnu/xml/validation/datatype/LongType.java, + gnu/xml/validation/datatype/MaxExclusiveFacet.java, + gnu/xml/validation/datatype/MaxInclusiveFacet.java, + gnu/xml/validation/datatype/MaxLengthFacet.java, + gnu/xml/validation/datatype/MinExclusiveFacet.java, + gnu/xml/validation/datatype/MinInclusiveFacet.java, + gnu/xml/validation/datatype/MinLengthFacet.java, + gnu/xml/validation/datatype/NCNameType.java, + gnu/xml/validation/datatype/NMTokenType.java, + gnu/xml/validation/datatype/NMTokensType.java, + gnu/xml/validation/datatype/NameType.java, + gnu/xml/validation/datatype/NegativeIntegerType.java, + gnu/xml/validation/datatype/NonNegativeIntegerType.java, + gnu/xml/validation/datatype/NonPositiveIntegerType.java, + gnu/xml/validation/datatype/NormalizedStringType.java, + gnu/xml/validation/datatype/NotationType.java, + gnu/xml/validation/datatype/PatternFacet.java, + gnu/xml/validation/datatype/PositiveIntegerType.java, + gnu/xml/validation/datatype/QNameType.java, + gnu/xml/validation/datatype/ShortType.java, + gnu/xml/validation/datatype/SimpleType.java, + gnu/xml/validation/datatype/StringType.java, + gnu/xml/validation/datatype/TimeType.java, + gnu/xml/validation/datatype/TokenType.java, + gnu/xml/validation/datatype/TotalDigitsFacet.java, + gnu/xml/validation/datatype/Type.java, + gnu/xml/validation/datatype/TypeBuilder.java, + gnu/xml/validation/datatype/TypeLibrary.java, + gnu/xml/validation/datatype/TypeLibraryFactory.java, + gnu/xml/validation/datatype/UnionSimpleType.java, + gnu/xml/validation/datatype/UnsignedByteType.java, + gnu/xml/validation/datatype/UnsignedIntType.java, + gnu/xml/validation/datatype/UnsignedLongType.java, + gnu/xml/validation/datatype/UnsignedShortType.java, + gnu/xml/validation/datatype/WhiteSpaceFacet.java, + resource/META-INF/services/org.relaxng.datatype.DatatypeLibraryFactory: + RELAX NG datatype library implementation for XML Schema Datatypes. + +2006-02-13 Chris Burdess + + * LICENCE, + NEWS, + configure.ac, + doc/README.jaxp, + external/Makefile.am, + external/relaxngDatatype/.cvsignore, + external/relaxngDatatype/Makefile.am, + external/relaxngDatatype/README.txt, + external/relaxngDatatype/copying.txt, + external/relaxngDatatype/org/relaxng/datatype/Datatype.java, + external/relaxngDatatype/org/relaxng/datatype/DatatypeBuilder.java, + external/relaxngDatatype/org/relaxng/datatype/DatatypeException.java, + external/relaxngDatatype/org/relaxng/datatype/DatatypeLibrary.java, + external/relaxngDatatype/org/relaxng/datatype/DatatypeLibraryFactory.java, + external/relaxngDatatype/org/relaxng/datatype/DatatypeStreamingValidator.java, + external/relaxngDatatype/org/relaxng/datatype/ValidationContext.java, + external/relaxngDatatype/org/relaxng/datatype/helpers/DatatypeLibraryLoader.java, + external/relaxngDatatype/org/relaxng/datatype/helpers/ParameterlessDatatypeBuilder.java, + external/relaxngDatatype/org/relaxng/datatype/helpers/StreamingValidatorImpl.java, + lib/Makefile.am, + lib/gen-classlist.sh.in: Added external RELAX NG pluggable + datatypes library API. + +2006-02-13 Mark Wielaard + + * gnu/java/awt/peer/gtk/GtkGenericPeer.java (awtWidget): Made field + final. + (gtkWidgetModifyFont(Font)): New protected helper method. + (gtkWidgetModifyFont(String,int,int)): Made protected and document. + * gnu/java/awt/peer/gtk/GtkButtonPeer.java (gtkWidgetModifyFont): Made + protected and document. + * gnu/java/awt/peer/gtk/GtkCheckboxPeer.java (gtkWidgetModifyFont): + Likewise. + * gnu/java/awt/peer/gtk/GtkLabelPeer.java (gtkWidgetModifyFont): + Likewise. + * gnu/java/awt/peer/gtk/GtkListPeer.java (gtkWidgetModifyFont): + Likewise. + * gnu/java/awt/peer/gtk/GtkMenuBarPeer.java (create): Made protected. + (setFont): Removed method. Done in GtkMenuComponent. + * gnu/java/awt/peer/gtk/GtkMenuComponentPeer.java (create): Made + abstract and protected. + (setFont): Made private, add implementation. + (setFont(Font)): Implemented. + * gnu/java/awt/peer/gtk/GtkMenuItemPeer.java (gtkWidgetModifyFont): + Made protected and document. + (create): Made protected. + (setFont): Removed method. Done in GtkMenuComponent. + * gnu/java/awt/peer/gtk/GtkTextAreaPeer.java + (gtkWidgetModifyFont): Made protected and document. + * gnu/java/awt/peer/gtk/GtkTextFieldPeer.java (gtkWidgetModifyFont): + Removed, similar to GtkGenericPeer super class implementation. + * include/gnu_java_awt_peer_gtk_GtkTextFieldPeer.h: Regenerated. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextFieldPeer.c + (Java_gnu_java_awt_peer_gtk_GtkTextFieldPeer_gtkWidgetModifyFont): + Removed. + +2006-02-13 Mark Wielaard + + * java/lang/Math.java (static): Explicitly call + System.loadLibrary("javalang"). + +2006-02-13 Wolfgang Baer + + * javax/print/StreamPrintServiceFactory.java: New file. + +2006-02-13 Tom Tromey + + * tools/.cvsignore: Added Makefile. + +2006-02-13 Wolfgang Baer + + * java/awt/print/PrinterGraphics.java: Reformatted. + * java/awt/print/Paper.java: Likewise. + * java/awt/print/PageFormat.java: Likewise. + * java/awt/print/Pageable.java: Likewise. + +2006-02-13 Lillian Angel + + * java/awt/BorderLayout.java + (layoutContainer): Rewrote part of this function to + properly set the bounds of the components. + (setBounds): Removed method, not needed. + +2006-02-13 Roman Kennke + + * javax/swing/text/DefaultStyledDocument.java + (ElementBuffer.clone): Fixed replace call. + (clone): Removed method. + +2006-02-13 Roman Kennke + + * java/rmi/server/UnicastRemoteObject.java: Reformatted. + +2006-02-13 Roman Kennke + + * java/rmi/server/UnicastRemoteObject.java + (exportObject(Remote)): Forward method call to export(Remote,int). + +2006-02-13 Andrew John Hughes + + * include/Makefile.am: + Swapped Math.h for VMMath.h + * include/java_lang_Math.h: + Removed. + * include/java_lang_VMMath.h: + New autogenerated header for the new class. + * java/lang/Math.java: + (sin(double)): Changed to link to VMMath. + (cos(double)): Changed to link to VMMath. + (tan(double)): Changed to link to VMMath. + (asin(double)): Changed to link to VMMath. + (acos(double)): Changed to link to VMMath. + (atan(double)): Changed to link to VMMath. + (atan2(double)): Changed to link to VMMath. + (exp(double)): Changed to link to VMMath. + (log(double)): Changed to link to VMMath. + (sqrt(double)): Changed to link to VMMath. + (pow(double,double)): Changed to link to VMMath. + (IEEEremainder(double,double)): Changed to link to VMMath. + (ceil(double)): Changed to link to VMMath. + (floor(double)): Changed to link to VMMath. + (rint(double)): Changed to link to VMMath. + * native/jni/java-lang/Makefile.am: + Replaced java_lang_Math.c with java_lang_VMMath.c + * native/jni/java-lang/java_lang_Math.c: + Removed. + * native/jni/java-lang/java_lang_VMMath.c: + Renamed from java_lang_Math.c. + * vm/reference/java/lang/VMMath.java: + New class. + (sin(double)): New native method. + (cos(double)): New native method. + (tan(double)): New native method. + (asin(double)): New native method. + (acos(double)): New native method. + (atan(double)): New native method. + (atan2(double)): New native method. + (exp(double)): New native method. + (log(double)): New native method. + (sqrt(double)): New native method. + (pow(double,double)): New native method. + (IEEEremainder(double,double)): New native method. + (ceil(double)): New native method. + (floor(double)): New native method. + (rint(double)): New native method. + +2006-02-13 Lillian Angel + + * java/awt/Component.java + (repaint): No need to call isShowing, it is done in the other repaint call. + (repaint): Likewise. + (repaint): Likewise. + +2006-02-13 Lillian Angel + + * java/awt/Component.java + (repaint): Reverted last change. + (repaint): Likewise. + (repaint): Likewise. + +2006-02-13 Lillian Angel + + * gnu/java/awt/peer/gtk/GtkPanelPeer.java + (handleEvent): Made more efficent by handling paint event and + setting the clip for the graphics. + * gnu/java/awt/peer/gtk/GtkWindowPeer.java + (handleEvent): Likewise. + * java/awt/Component.java + (repaint): No need to call isShowing, it is done in the other repaint call. + (repaint): Likewise. + (repaint): Likewise. + +2006-02-13 Roman Kennke + + * javax/swing/text/AbstractDocument.java + (setParent): Added API docs. Call setParent(null) on children before + disconnecting this view from the View hierarchy. + +2006-02-13 Roman Kennke + + * javax/swing/text/AbstractDocument.java + (readUnlock): Don't attempt to unlock when the current threads also + holds a write lock. + +2006-02-13 David Gilbert + + * javax/swing/plaf/metal/MetalBorders.java + (ButtonBorder.getBorderInsets(Component)): Return insets directly, + (ButtonBorder.getBorderInsets(Component, Insets)): Don't check for null + insets argument, + (Flush3DBorder.borderInsets): New field, + (Flush3DBorder.getBorderInsets(Component)): Return insets directly, + (Flush3DBorder.getBorderInsets(Component, Insets)): Don't check for + null insets argument, and populate result from borderInsets, + (PaletteBorder.borderInsets): New field, + (PaletteBorder.getBorderInsets(Component)): Return insets directly, + (PaletteBorder.getBorderInsets(Component, Insets)): Don't check for + null insets argument, and populate result from borderInsets, + (InternalFrameBorder.borderInsets): New field, + (InternalFrameBorder.getBorderInsets(Component)): Return insets + directly, + (InternalFrameBorder.getBorderInsets(Component, Insets)): Don't check + for null insets argument, and populate result from borderInsets, + (MenuItemBorder.borderInsets): Initialise to correct value. + +2006-02-13 Roman Kennke + + * javax/swing/text/AsyncBoxView.java: New file. + +2006-02-13 Ito Kazumitsu + + Fixes bug #26166 + * gnu/regexp/RE.java(initialize): Parsing of character class expression + was moved to a new method parseCharClass. + (parseCharClass): New method originally in initialize. Added parsing + of nested character classes. + (ParseCharClassResult): New inner class used as a return value of + parseCharClass. + (getCharExpression),(getNamedProperty): Made static. + * gnu/regexp/RESyntax.java(RE_NESTED_CHARCLASS): New syntax flag. + * gnu/regexp/RETokenOneOf.java(addition): New Vector for storing + nested character classes. + (RETokenOneOf): New constructor accepting the Vector addition. + (getMinimumLength), (getMaximumLength): Returns 1 if the token + stands for only one character. + (match): Added the processing of the Vector addition. + (matchN), (matchP): Do not check next token if addition is used. + +2006-02-12 Olivier Jolly + + * AUTHORS: add self. + +2006-02-12 Tom Tromey + + * gnu/classpath/ServiceProviderLoadingAction.java: Javadoc fix. + * gnu/classpath/ServiceFactory.java (ServiceIterator): Javadoc fix. + (securityContext): Likewise. + (log): Likewise. + +2006-02-12 Dalibor Topic + + Fixes PR 26218. + + * gnu/java/net/protocol/file/Connection.java (unquote): + Convert Unicode characters outside basic plane to UTF-8, + rather than throwing an exception. + +2006-02-12 Tom Tromey + + * javax/sound/sampled/LineEvent.java (readObject): New method. + (writeObject): Likewise. + (serialVersionUID): New field. + +2006-02-12 Mark Wielaard + + * java/beans/PropertyChangeSupport.java (addPropertyChangeListener): + Silently ignores null listener. + (addPropertyChangeListener(String, PropertyChangeListener): Likewise. + (getPropertyChangeListeners): Returns empty PropertyChangeListener + array for null propertyName. + +2006-02-12 Wolfgang Baer + + * java/rmi/MarshalledObject.java: Added api docs to the class. + * java/rmi/Remote.java: Added interface api docs. + * java/rmi/package.html: Added package description. + * java/rmi/AccessException.java: Minor api doc fixes. + * java/rmi/NoSuchObjectException.java: Likewise. + * java/rmi/AlreadyBoundException.java: Likewise. + * java/rmi/RemoteException.java: Likewise. + * java/rmi/NotBoundException.java: Likewise. + * java/rmi/RMISecurityException.java: Likewise. + * java/rmi/StubNotFoundException.java: Likewise. + +2006-02-12 Mark Wielaard + + * gnu/java/awt/peer/gtk/GtkComponentPeer.java (postKeyEvent): Call + q() to get EventQueue. + * gnu/java/awt/peer/gtk/GtkGenericPeer.java (q): Remove static field. + (enableQueue): Remove static method. + * gnu/java/awt/peer/gtk/GtkToolkit.java (getSystemEventQueueImpl): + Don't call GtkGenericPeer.enableQueue(). + +2006-02-12 Wolfgang Baer + + * java/rmi/MarshalledObject.java: Reformatted. + * java/rmi/Naming.java: Likewise. + +2006-02-12 Jeroen Frijters + + * java/io/InputStream.java + (read(byte[],int,int)): Changed argument validation to prevent + integer overflow. Remove redundant check. + +2006-02-12 Jeroen Frijters + + Fixes PR 26220 + * java/io/InputStreamReader.java + (InputStreamReader(InputStream)): Use SystemProperties. + (InputStreamReader(InputStream,Charset)): Corrected @since tag. + Throw NullPointerException if in is null. + Added maxBytesPerChar initialisation. + (InputStreamReader(InputStream,CharsetDecoder)): Corrected @since tag. + Throw NullPointerException if in is null. + +2006-02-12 Raif S. Naffah + + * gnu/javax/crypto/key/dh/GnuDHPublicKey.java + (GnuDHPublicKey(4)): Call constructor with 5 arguments. + (GnuDHPublicKey): New constructor. + (getEncoded): Removed. + (valueOf): Added support for ASN.1 encoding. + (getEncoded(int)): Likewise. + (equals): New method. + * gnu/javax/crypto/key/dh/GnuDHPrivateKey.java + (GnuDHPrivateKey(4)): Call constructor with 5 arguments. + (GnuDHPrivateKey(5)): New constructor. + (getEncoded): Removed. + (valueOf): Added support for ASN.1 encoding. + (getEncoded(int)): Likewise. + (equals): New method. + * gnu/javax/crypto/key/dh/GnuDHKeyPairGenerator.java + (PREFERRED_ENCODING_FORMAT): New constant. + (DEFAULT_ENCODING_FORMAT): Likewise. + (preferredFormat): New field. + (setup): Handle preferred encoding format identifier. + (generate): Call constructors with format identifier. + * gnu/javax/crypto/key/dh/GnuDHKey.java (defaultFormat): New field. + (GnuDHKey): Added an int argument. + (getEncoded): New method. + (getFormat): New implementation. + (getEncoded(int)): New abstract method. + * gnu/javax/crypto/key/dh/DHKeyPairX509Codec.java: New file. + * gnu/javax/crypto/key/dh/DHKeyPairPKCS8Codec.java: Likewise. + * gnu/javax/crypto/jce/GnuCrypto.java (run): Added mappings for DH + key-pair generator and key-factory. + * gnu/javax/crypto/jce/sig/DHKeyPairGeneratorSpi.java: New file. + * gnu/javax/crypto/jce/sig/DHKeyFactory.java: Likewise. + * gnu/java/security/jce/sig/KeyPairGeneratorAdapter.java: Made it public. + * gnu/java/security/jce/sig/EncodedKeyFactory.java + (invokeConstructor): New method. + (getConcreteClass): Likewise. + (getConcreteCtor): Likewise. + (invokeValueOf): Likewise. + (getValueOfMethod): Likewise. + (engineGeneratePublic): Add support for DH keys. + (engineGeneratePrivate): Likewise. + (decodeDHPublicKey(DHPublicKeySpec)): New method. + (decodeDHPublicKey(byte[])): Likewise. + (decodeDHPrivateKey(DHPrivateKeySpec)): Likewise. + (decodeDHPrivateKey(byte[])): Likewise. + +2006-02-11 Mark Wielaard + + * gnu/java/awt/peer/gtk/GtkComponentPeer.java (repaintTimer): + Removed field. + (repaint): Immediately post to queue when tm <= 0, otherwise call + RepaintTimerTask.schedule(). + (RepaintTimerTask): Make static. + (RepaintTimerTask.repaintTimer): New static final field. + (RepaintTimerTask.awtComponent): New field. + (schedule): New static method. + +2006-02-11 Audrius Meskauskas + + * tools/gnu/classpath/tools/giop/grmic/GiopRmicCompiler.java + * tools/gnu/classpath/tools/giop/grmic/MethodGenerator.java + * tools/gnu/classpath/tools/giop/grmic/templates/Tie.jav, + tools/gnu/classpath/tools/giop/grmic/templates/TieMethod.jav, + tools/gnu/classpath/tools/giop/grmic/templates/TieMethodVoid.jav: + Rewritten. + * tools/gnu/classpath/tools/giop/grmic/HashFinder.java: New file. + +2006-02-11 Raif S. Naffah + + * gnu/java/security/jce/sig/EncodedKeyFactory.java + (engineGeneratePublic): Added support for raw key-specifications. + (engineGeneratePrivate): Likewise. + (decodeDSSPublicKey): New method. + (decodeRSAPublicKey): Likewise. + (decodeDSSPrivateKey): Likewise. + (decodeRSAPrivateKey): Likewise. + * gnu/java/security/key/rsa/RSAKeyPairX509Codec.java + (encodePrivateKey): Throw InvalidParameterException. + (decodePublicKey): Likewise. + (decodePrivateKey): Likewise. + * gnu/java/security/key/rsa/RSAKeyPairPKCS8Codec.java + (encodePublicKey): Likewise. + (encodePrivateKey): Likewise. + (decodePublicKey): Likewise. + * gnu/java/security/key/dss/DSSKeyPairX509Codec.java + (encodePrivateKey): Likewise. + (decodePublicKey): Likewise. + (decodePrivateKey): Likewise. + * gnu/java/security/key/dss/DSSKeyPairPKCS8Codec.java + (encodePublicKey): Likewise. + (encodePrivateKey): Likewise. + (decodePublicKey): Likewise. + +2006-02-10 Roman Kennke + + * javax/swing/text/StyleContext.java + (registerStaticAttributeKey): New static method. + +2006-02-10 Roman Kennke + + * javax/swing/text/DefaultStyledDocument.java + (ElementBuffer.clone): New method. + +2006-02-10 Roman Kennke + + * javax/swing/text/ParagraphView.java + (findOffsetToCharactersInString): New method. + (getClosestPositionTo): New method. + (getPartialSize): New method. + (getTabBase): New method. + (adjustRow): New method. + (breakView): New method. + (getBreakWeight): New method. + +2006-02-10 Roman Kennke + + * javax/swing/text/GapContent.java + (updateUndoPositions): New method. + * javax/swing/text/StringContent.java + (updateUndoPositions): New method. + +2006-02-10 Raif S. Naffah + + * gnu/java/security/key/rsa/GnuRSAPrivateKey.java (GnuRSAPrivateKey(9)): + Made it public. + * gnu/java/security/jce/sig/RSAKeyFactory.java: New file. + * gnu/java/security/jce/sig/DSSKeyFactory.java (engineGeneratePublic): + Added support for encoded key specifications. + (engineGeneratePrivate): Likewise. + (engineGetKeySpec): Likewise. + (engineTranslateKey): Corrected order of MPIs and use ctors with 5 args. + +2006-02-10 Robert Schuster + + * javax/swing/text/Utilities.java: + (getTabbedTextOffset): Fixed usage of variable p0. + (getPositionAbove): Rewritten. + (getPositionBelow): Rewritten. + +2006-02-09 Roman Kennke + + * javax/swing/text/BoxView.java + (getAxis): Added @since tag. + (setAxis): Added @since tag. + (layoutChanged): Added @since tag. + (isLayoutValid): Added @since tag. + (paint): Don't call setSize here. This is done in RootView already. + (getMaximumSpan): Reimplemented to return the requirements' + maximum size. Added API docs. + (getMinimumSpan): New method. + (layout): Fixed layout order. + (modelToView): Call layout instead of setSize here. + (getResizeWeight): New method. + (getChildAllocation): New method. + (forwardUpdate): New method. + (viewToModel): New method. + (flipEastEndWestEnds): New method. + * javax/swing/text/CompositeView.java + (modelToView): Made this method more robust by returning a default + location if it's not possible to calculate one via the children. + This default location returns the left or right edge of this + view. + (createDefaultLocation): New helper method. + * javax/swing/text/IconView.java + (modelToView): Don't throw BadLocationException. This should + really only be thrown if the position is outside the document + model, not if it's outside the view's boundary. + +2006-02-09 Audrius Meskauskas + + * tools/Makefile.am: Handle rmi and giop folders separately. + +2006-02-09 David Gilbert + + * javax/swing/SpinnerDateModel.java: Updated API docs all over, + * javax/swing/SpinnerNumberModel.java: Likewise. + +2006-02-09 David Gilbert + + * javax/swing/SpinnerDateModel.java: Removed tabs, + * javax/swing/SpinnerNumberModel.java: Likewise. + +2006-02-09 Anthony Balkissoon + + * doc/unicode/SpecialCasing-4.0.0.txt: New file. + * doc/unicode/UnicodeData-4.0.0.txt: New file. + +2006-02-09 Wolfgang Baer + + Fixes bug #26081 + * gnu/java/net/protocol/http/HTTPURLConnection.java: + (isRedirect): Removed, moved to Response.java. + (connect): If error condition redirect responseSink to errorSink. + (getInputStream): If error condition throw IOException, for the error + codes 404 and 410 throw a FileNotFoundException. + * gnu/java/net/protocol/http/Response.java (isError): New method. + (isRedirect): New method, moved from HTTPURLConnection.java. + +2006-02-09 Audrius Meskauskas + + * tools/Makefile.am: Add tools/gnu/classpath/tools/rmi folder. + * tools/gnu/classpath/tools/giop/GRMIC.txt: Explain it called from RMIC. + * tools/gnu/classpath/tools/giop/grmic/Generator.java (getResource): + Better diagnostic. + * tools/gnu/classpath/tools/giop/grmic/GiopRmicCompiler.java: + Rewritten. + * tools/gnu/classpath/tools/giop/grmic/MethodGenerator.java: Implement + AbstractMethodGenerator. + * tools/gnu/classpath/tools/AbstractMethodGenerator.java, + tools/gnu/classpath/tools/rmi/RMIC.java, + tools/gnu/classpath/tools/rmi/RMIC.txt, + tools/gnu/classpath/tools/rmi/rmic/RmiMethodGenerator.java, + tools/gnu/classpath/tools/rmi/rmic/RmicCompiler.java, + tools/gnu/classpath/tools/rmi/rmic/WrapUnWrapper.java, + tools/gnu/classpath/tools/rmi/rmic/templates/Stub_12.jav, + tools/gnu/classpath/tools/rmi/rmic/templates/Stub_12Method.jav, + tools/gnu/classpath/tools/rmi/rmic/templates/Stub_12MethodVoid.jav: + New files. + * NEWS: Corrected entry about the tools. + +2006-02-09 Lillian Angel + + * gnu/java/awt/peer/gtk/GtkComponentPeer.java + (handleEvent): Added more to check to prevent assertion errors. + * gnu/java/awt/peer/gtk/GtkPanelPeer.java + (handleEvent): Likewise. + * gnu/java/awt/peer/gtk/GtkWindowPeer.java + (handleEvent): Likewise. + +2006-02-09 Mark Wielaard + + * javax/swing/JTable.java (tableChanged): Interpret null event as + "everything changed". + +2006-02-09 Roman Kennke + + * javax/swing/text/DefaultCaret.java + (DocumentHandler.removeUpdate): When update policy is + 'on eventqueue', and the update doesn't come from the + event queue, check if the current dot location is still + valid. + (moveDot): Make sure the new dot location is valid. + (setDot): Set the mark the same as the dot. + +2006-02-09 Roman Kennke + + * javax/swing/text/AbstractDocument.java + (remove): Perform all operations within a write lock and in the + correct order. + +2006-02-09 Mark Wielaard + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollbarPeer.c + (Java_gnu_java_awt_peer_gtk_GtkScrollbarPeer_create): Make sure max is + creater than min, adjusting page_size if necessary. + (Java_gnu_java_awt_peer_gtk_GtkScrollbarPeer_setValues): Likewise. + +2006-02-09 Lillian Angel + + * gnu/java/awt/peer/gtk/GtkPanelPeer.java + (handleEvent): Added code to handle PaintEvent.UPDATE. + Sun does not call update(Graphics g) on Panels. + * gnu/java/awt/peer/gtk/GtkWindowPeer.java + (handleEvent): New method. Added code to handle PaintEvent.UPDATE. + Sun does not call update(Graphics g) on Panels. + +2006-02-09 Roman Kennke + + * javax/swing/text/BoxView.java + (myAxis): Made field private. + (xLayoutValid): Replaced by layoutValid array. + (yLayoutValid): Replaced by layoutValid array. + (layoutValid): New field. + (spansX): Replaced by spans array. + (spansY): Replaced by spans array. + (spans): New field. + (offsetsX): Replaced by offsets array. + (offsetsY): Replaced by offsets array. + (offsets): New field. + (requirements): New field. + (BoxView): Initialize new fields. + (layoutChanged): Rewritten to use the layoutValid array. + (isLayoutValid): Rewritten to use the layoutValid array. + (replace): Use the new arrays. + (getPreferredSpan): Rewritten to call calculateXXXRequirements + instead of baselineRequirements. + (baselineRequirements): Rewritten to calculate baseline requirements. + (baselineLayout): Rewritten to calculate baseline layout. + (childAllocation): Use new arrays. + (layout): Rewritten. Only update the layout if necessary. + (layoutMajorAxis): Directly set layoutValid. + (layoutMinorAxis): Directly set layoutValid. Use cached size + requirements. + (getWidth): Use new span array. + (getHeight): Likewise. + (setSize): Rewritten to simply call layout(). + (validateLayout): Removed unneeded method. + (getSpan): Use new arrays. + (getOffset): Use new arrays. + (getAlignment): Use cached requirements if possible. + (preferenceChanged): Use new arrays. + * javax/swing/text/FlowView.java + (FlowStrategy.insertUpdate): Do nothing here. + (FlowStrategy.removeUpdate): Do nothing here. + (FlowStrategy.changedUpdate): Do nothing here. + (FlowStrategy.layoutRow): Rewritten. + (FlowStrategy.createView): Rewritten. + (FlowStrategy.adjustRow): New method. + (LogicalView.getViewIndex): Fixed condition for finding child + view. + (layoutDirty): New field indicating the state of the layout. + (FlowView): Initialize new field. + (loadChildren): Set parent on logical view so that preferenceChanges + get propagated upwards. + (layout): Rewritten to match the specs. + (insertUpdate): Set layout to dirty. + (removeUpdate): Set layout to dirty. + (changedUpdate): Set layout to dirty. + * javax/swing/text/GlyphView.java + (getBreakWeight): Rewritten to use the Utilities class. Commented + out though because that is broken. + (insertUpdate): Call preferenceChanged on this object instead of + parent. + * javax/swing/text/ParagraphView.java + (Row.loadChildren): Overridden to be a noop to prevent initial + creation of child views. This is carried out by the flow layout. + * javax/swing/text/View.java + (getPreferredSpan): Added API docs. + (getResizeWeight): Added API docs. + (getMaximumSpan): Added API docs. Rewritten to only have one exit + point. + (getMinimumSpan): Added API docs. Rewritten to return 0 when + resizable instead of Integer.MAX_VALUE. + (getAlignment): Added API docs. + (replace): Added API docs. + (forwardUpdate): Rewritten to only notify child views that need to + be notified. + +2006-02-09 Roman Kennke + + * javax/swing/plaf/basic/BasicTextUI.java + (RootView.paint): Call setSize() before painting the view. + +2006-02-09 Ito Kazumitsu + + Fixes bug #26112 + * gnu/regexp/RE.java(REG_REPLACE_USE_BACKSLASHESCAPE): New execution + flag which enables backslash escape in a replacement. + (getReplacement): New public static method. + (substituteImpl),(substituteAllImpl): Use getReplacement. + * gnu/regexp/REMatch.java(substituteInto): Replace $n even if n>=10. + * java/util/regex/Matcher.java(appendReplacement) + Use RE#getReplacement. + (replaceFirst),(replaceAll): Use RE.REG_REPLACE_USE_BACKSLASHESCAPE. + +2006-02-09 Raif S. Naffah + + * gnu/java/security/key/rsa/RSAKeyPairX509Codec.java: New file. + * gnu/java/security/key/rsa/RSAKeyPairPKCS8Codec.java: Likewise. + * gnu/java/security/key/rsa/RSAKeyPairGenerator.java + (PREFERRED_ENCODING_FORMAT): New constant. + (DEFAULT_ENCODING_FORMAT): Likewise. + (preferredFormat): New field. + (setup): Add support for preferred encoding format. + (generate): Call key constructors with explicit format identifier. + * gnu/java/security/key/rsa/GnuRSAPublicKey.java (GnuRSAPublicKey(2)): + Call constructor with 3 arguments.. + (GnuRSAPublicKey(3)): New constructor. + (valueOf): Added support for ASN.1 format. + (getEncoded): Likewise. + * gnu/java/security/key/rsa/GnuRSAPrivateKey.java (GnuRSAPrivateKey(4)): + Call constructor with 5 arguments. + (GnuRSAPrivateKey(5)): New constructor. + (GnuRSAPrivateKey(9)): New constructor. + (valueOf): Added support for ASN.1 format. + (getEncoded): Likewise. + * gnu/java/security/key/rsa/GnuRSAKey.java (defaultFormat): New field. + (GnuRSAKey): Modified constructor. + (getFormat): Return preferred format identifier. + * gnu/java/security/key/dss/DSSKeyPairPKCS8Codec.java + (decodePrivateKey): Fixed documentation. + Check Version field. + * gnu/java/security/jce/sig/RSAKeyPairGeneratorSpi.java + (initialize(int,SecureRandom)): Set ASN.1 as the preferred encoding + format. + (initialize(AlgorithmParameterSpec,SecureRandom)): Likewise. + * gnu/java/security/jce/sig/EncodedKeyFactory.java + (engineGeneratePublic): Added support for RSA. + (engineGeneratePrivate): Likewise. + +2006-02-09 Wolfgang Baer + + * java/net/URLConnection.java: + (setAllowUserInteraction): Throw IllegalStateException if connected. + (getRequestProperty): Document return value if key is null. + * gnu/java/net/protocol/http/HTTPURLConnection.java: + (getRequestProperty): Return null if key is null. + (getRequestProperties): Throw IllegalStateException if connected. + (setRequestProperty): Call super method for exception tests. + (addRequestProperty): Likewise. + +2006-02-09 Wolfgang Baer + + * gnu/java/net/protocol/http/Request.java: + (Request): Remove initialization of removed field. + (requestBodyNegotiationThreshold): Removed now unused field. + (setRequestBodyNegotiationThreshold): Remove now unused method. + (dispatch): Do not use 'Expect 100-continue' header if content-length + is over a treshold. If user specified 'Expect 100-continue' still + initialize the expectingContinue variable. + +2006-02-08 David Gilbert + + * javax/swing/SpinnerNumberModel.java + (SpinnerNumberModel(Number, Comparable, Comparable, Number): Allow + maximum and minimum to take null values, + (setValue): Only fire ChangeEvent if new value is different to old + value, + (setMinimum): Fixed test for updating value, + (setMaximum): Likewise, + (setStepSize): Likewise. + +2006-02-08 Tom Tromey + + * tools/.cvsignore: Added Makefile.in. + +2006-02-08 Audrius Meskauskas + + * java/rmi/server/RemoteRef.java, + java/rmi/server/RemoteStub.java: Commented. + +2006-02-08 David Gilbert + + * javax/swing/SpinnerDateModel.java + (SpinnerDateModel(Date, Comparable, Comparable, int)): Added argument + checks, + (getPreviousValue): Check result against start, not end, + (setValue): Check that value actually changes before firing + ChangeEvent. + +2006-02-08 Lillian Angel + + * java/awt/Choice.java + (select): Fixed up code, added some checks to prevent errors. + (dispatchEventImpl): Removed. This function is not needed. It + causes several assertion errors. + +2006-02-08 Roman Kennke + + * javax/swing/text/PlainView.java + (drawLine): Call drawUnselectedText() with end offset - 1 to avoid + drawing unnecessary characters. + +2006-02-08 Lillian Angel + + * gnu/java/awt/peer/gtk/GtkComponentPeer.java + (handleEvent): Fixed check to determine if height or + width is less than 1. + +2006-02-08 Audrius Meskauskas + + *tools/Makefile.am (ALL_TOOLS_FILES): Add $(TOOLS_HELPS). + +2006-02-08 Audrius Meskauskas + + * examples/gnu/classpath/examples/CORBA/swing/x5/_GameManagerImpl_Tie.java, + examples/gnu/classpath/examples/CORBA/swing/x5/_PlayerImpl_Tie.java: + Documenting the code generator. + * gnu/CORBA/IOR.java (toStringFormatted, + CodeSet_component.toStringFormatted): New methods. + * tools/Makefile.am (TOOLS_JAVA_FILES, READMES): Rewritten. + * tools/gnu/classpath/tools/giop/README: Rewritten. + * tools/gnu/classpath/tools/giop/GRMIC.java (main): Rewritten. + (printHelpAndExit): Removed. + *tools/gnu/classpath/tools/giop/IorParser.java, + tools/gnu/classpath/tools/giop/IorParser.txt, + tools/gnu/classpath/tools/giop/NameService.java, + tools/gnu/classpath/tools/giop/NamingService.txt, + tools/gnu/classpath/tools/HelpPrinter.java: New files. + NEWS: Added note about GIOP tools. + +2006-02-07 Audrius Meskauskas + + * .classpath: New source patch (tools). + * Makefile.am (SUBDIRS, DIST_SUBDIRS): added "tools". + * configure.ac (AC_CONFIG_FILES): added tools/Makefile + * tools/gnu/classpath/tools/Makefile.am, + tools/gnu/classpath/tools/giop/GRMIC.java + tools/gnu/classpath/tools/giop/GRMIC.txt, + tools/gnu/classpath/tools/giop/README, + tools/gnu/classpath/tools/giop/grmic/CompilationError.java, + tools/gnu/classpath/tools/giop/grmic/Generator.java, + tools/gnu/classpath/tools/giop/grmic/GiopIo.java, + tools/gnu/classpath/tools/giop/grmic/GiopRmicCompiler.java, + tools/gnu/classpath/tools/giop/grmic/MethodGenerator.java, + tools/gnu/classpath/tools/giop/grmic/templates/ImplTie.jav, + tools/gnu/classpath/tools/giop/grmic/templates/Stub.jav, + tools/gnu/classpath/tools/giop/grmic/templates/StubMethod.jav, + tools/gnu/classpath/tools/giop/grmic/templates/StubMethodVoid.jav, + tools/gnu/classpath/tools/giop/grmic/templates/Tie.jav, + tools/gnu/classpath/tools/giop/grmic/templates/TieMethod.jav, + tools/gnu/classpath/tools/giop/grmic/templates/TieMethodVoid.jav: New files. + +2006-02-07 David Gilbert + + * java/awt/BasicStroke.java: Updated API docs all over, + * java/awt/doc-files/capjoin.png: New file. + +2006-02-07 Lillian Angel + + * gnu/java/awt/peer/gtk/GtkComponentPeer.java + (handleEvent): Added check. Should not paint or update the + component if it's width and height are both 0. + +2006-02-07 Roman Kennke + + * javax/swing/text/AbstractDocument.java + (insertString): Enclose locking/unlocking in try-finally block + and also keep locked while notifying the listeners. + +2006-02-07 Roman Kennke + + * javax/swing/text/GlyphView.java + (GlyphView): Initialize startOffset and endOffset with -1 (indicating + element boundary). + (getStartOffset): Return element boundary if startOffset < 0. + (getEndOffset): Return element boundary if endOffset < 0. + (createFragment): Set startOffset and endOffset fields of fragment + if one of p0 or p1 is not at the element boundary. + +2006-02-07 Roman Kennke + + * javax/swing/CellRendererPane.java + (paintComponent): Enclosed painting in try finally to properly + clean up even when throwing an exception. + +2006-02-07 Roman Kennke + + * javax/swing/UIManager.java + (listeners): Made this an instance of + java.beans.PropertyChangeSupport instead of the obsoleted + SwingPropertyChangeSupport. + +2006-02-07 Robert Schuster + + * javax/swing/text/DefaultEditorToolkit.java: Changed behavior + of actions "delete-next" and "delete-previous", added new TextAction + implementations for "selection-begin", "selection-begin-line", + "selection-end" and "selection-end-line". + +2006-02-07 Roman Kennke + + * javax/swing/plaf/basic/BasicTextUI.java + (paint): Acquire read lock on the document before calling + paintSafely. + (paintSafely): Added comment about what this method does. + (paintBackground): Implemented to actually paint the background. + (update): Overridden to _not_ paint the background. This is done + in paintBackground in this UI. + +2006-02-07 Roman Kennke + + * javax/swing/text/View.java + (forwardUpdate): Don't notify newly added child views as specified. + +2006-02-07 Robert Schuster + + * gnu/java/beans/decoder/DefaultExceptionListener.java: Removed. + +2006-02-07 Roman Kennke + + * javax/swing/text/DefaultStyledDocument.java + (ElementBuffer.insert): Only register change when the element + actually changed. + +2006-02-07 Raif S. Naffah + + * gnu/java/security/key/KeyPairCodecFactory.java (getEncodingName): New + method. + (getEncodingShortName): Likewise. + * gnu/java/security/key/IKeyPairCodec.java (X509_FORMAT): New constant. + (PKCS8_FORMAT): Likewise. + (ASN1_FORMAT): Likewise. + * gnu/java/security/key/dss/DSSPublicKey.java (DSSPublicKey(4)): Call + constructor with 5 arguments. + (DSSPublicKey(5)): New constructor. + (valueOf): Handle ASN.1 encoding. + (getEncoded): Likewise. + * gnu/java/security/key/dss/DSSPrivateKey.java (DSSPrivateKey(4)): Call + constructor with 5 arguments. + (DSSPrivateKey(5)): New constructor. + (valueOf): Handle ASN.1 encoding. + (getEncoded): Likewise. + * gnu/java/security/key/dss/DSSKeyPairX509Codec.java: New file. + * gnu/java/security/key/dss/DSSKeyPairPKCS8Codec.java: Likewise. + * gnu/java/security/key/dss/DSSKeyPairGenerator.java + (PREFERRED_ENCODING_FORMAT): New constant. + (DEFAULT_ENCODING_FORMAT): Likewise. + (preferredFormat): New field. + (setup): Handle preferred format ID. + (generate): Use new ctors with 5 arguments. + * gnu/java/security/key/dss/DSSKey.java (DSSKey): Now accepts a format + ID as an additional argument. + (defaultFormat): new field. + (getFormat): Returns the preferred format as a short string. + * gnu/java/security/jce/sig/DSSKeyFactory.java: New file. + * gnu/java/security/jce/sig/EncodedKeyFactory.java (engineGetKeySpec): + Likewise + * gnu/java/security/jce/sig/DSSKeyPairGeneratorSpi.java + (initialize(AlgorithmParameterSpec)): Set ASN.1 as the preferred + encoding format. + (initialize(int,boolean,SecureRandom)): Likewise. + * gnu/java/security/der/DERWriter.java (writeBitString): Use + writeLength() instead of write(). + return buf.length + 1 instead of buf.length. + +2006-02-07 Roman Kennke + + * javax/swing/plaf/basic/BasicTextUI.java + (RootView.preferenceChange): Changed view parameter to view so + that it doesn't hide a field of that class. + (RootView.getViewCount): Rewritten to clean up ECJ warning. + (RootView.modelToView): Removed unnecessary cast from View to View. + (PropertyChangeHandler): Made inner class private. + (updateHandler): Made field private. + (getVisibleEditorRect): Removed unneeded local variable that + shadowed a field with the same name and purpose. + +2006-02-07 Robert Schuster + + * javax/swing/text/JTextComponent.java: + (getSelectedText): Calculate offset and use that as + second argument. + +2006-02-07 Roman Kennke + + * javax/swing/JTextPane.java + (setCharacterAttributes): Replace input attributes when + replace==true. + +2006-02-07 Roman Kennke + + * java/awt/Component.java + (firePropertyChange(String,byte,byte)): Made method public. + (firePropertyChange(String,char,char)): Made method public. + (firePropertyChange(String,short,short)): Made method public. + (firePropertyChange(String,long,long)): Made method public. + (firePropertyChange(String,float,float)): Made method public. + (firePropertyChange(String,double,double)): Made method public. + +2006-02-06 Tom Tromey + + * gnu/CORBA/NamingService/NamingServiceTransient.java (main): Use + 2006. + * gnu/java/rmi/registry/RegistryImpl.java (version): Use 2006. + +2006-02-06 Anthony Green + + * gnu/xml/aelfred2/XmlParser.java: Add missing break;. + +2006-02-07 Raif S. Naffah + + * .settings/org.eclipse.jdt.core.prefs: + Force a line split on extends and implements. + Force a white-space after unary operators. + Don't force a new-line after @params. + Add new-line at end-of-file. + * scripts/eclipse-gnu.xml: Export version of the above named GNU. + +2006-02-07 Raif S. Naffah + + * gnu/java/security/provider/GnuDSAPublicKey.java (getEncoded): Use + Registry constant. + * gnu/java/security/provider/GnuDSAPrivateKey.java (getEncoded): + Likewise. + * gnu/java/security/provider/GnuRSAPrivateKey.java (getEncoded): + Likewise. + * gnu/java/security/provider/GnuRSAPublicKey.java (getEncoded): + Likewise. + * gnu/java/security/provider/EncodedKeyFactory.java + (ID_DSA): Redefined in terms of Registry constant. + (ID_DSA): Redefined in terms of Registry constant. + (ID_DH): Redefined in terms of Registry constant. + * gnu/java/security/Registry.java (X509_ENCODING): New constant. + (PKCS8_ENCODING): Likewise. + (ASN1_ENCODING): Likewise. + (RAW_ENCODING_SHORT_NAME): Likewise. + (X509_ENCODING_SORT_NAME): Likewise. + (PKCS8_ENCODING_SHORT_NAME): Likewise. + (ASN1_ENCODING_SHORT_NAME): Likewise. + (X509_ENCODING_ID): Likewise. + (PKCS8_ENCODING_ID): Likewise. + (ASN1_ENCODING_ID): Likewise. + (DSA_OID_STRING): Likewise. + (RSA_OID_STRING): Likewise. + (DH_OID_STRING): Likewise. + +2006-02-06 Roman Kennke + + * javax/swing/text/GlyphView.java: + (DefaultGlyphPainter.paint): Store/restore Graphics color setting. + Only fill background if there is a background set on the view. + Call Utilities.drawTabbedText with the baseline height, rather than + the upper left corner of the view rectangle. + (getBackground): Return null if no background is set. + * javax/swing/text/GlyphView.java: + (setPropertiesFromAttributes): Use null for background when no + background is set. StyleConstants.getBackground() doesn't work + for this, because it returns Color.BLACK in that case. + +2006-02-06 Roman Kennke + + * java/awt/Container.java + (changeSupport): Removed duplicate (from Component) field. + (addPropertyChangeListener): Call super. + +2006-02-06 Ito Kazumitsu + + * java/util/regex/Matcher.java(matches): + set RE.REG_TRY_ENTIRE_MATCH as an execution flag of getMatch. + +2006-02-06 Ito Kazumitsu + + Fixes bug #25812 + * gnu/regexp/CharIndexed.java(lookBehind),(length): New method. + * gnu/regexp/CharIndexedCharArray.java + (lookBehind),(length): Implemented. + * gnu/regexp/CharIndexedInputStream.java: Likewise. + * gnu/regexp/CharIndexedString.java: Likewise. + * gnu/regexp/CharIndexedStringBuffer.java: Likewise. + * gnu/regexp/REToken.java(getMaximumLength): New method. + * gnu/regexp/RE.java(internal constructor RE): Added new argument + maxLength. + (initialize): Parse (?<=X), (?X). + (getMaximumLength): Implemented. + * gnu/regexp/RETokenAny.java(getMaximumLength): Implemented. + * gnu/regexp/RETokenChar.java: Likewise. + * gnu/regexp/RETokenEnd.java: Likewise. + * gnu/regexp/RETokenEndSub.java: Likewise. + * gnu/regexp/RETokenLookAhead.java: Likewise. + * gnu/regexp/RETokenNamedProperty.java: Likewise. + * gnu/regexp/RETokenOneOf.java: Likewise. + * gnu/regexp/RETokenPOSIX.java: Likewise. + * gnu/regexp/RETokenRange.java: Likewise. + * gnu/regexp/RETokenRepeated.java: Likewise. + * gnu/regexp/RETokenStart.java: Likewise. + * gnu/regexp/RETokenWordBoundary.java: Likewise. + * gnu/regexp/RETokenIndependent.java: New file. + * gnu/regexp/RETokenLookBehind.java: New file. + +2006-02-06 Roman Kennke + + * java/awt/Component.java + (firePropertyChange(String,byte,byte)): New method. + (firePropertyChange(String,char,char)): New method. + (firePropertyChange(String,short,short)): New method. + (firePropertyChange(String,long,long)): New method. + (firePropertyChange(String,float,float)): New method. + (firePropertyChange(String,double,double)): New method. + +2006-02-06 Roman Kennke + + * javax/swing/JComponent.java + (AccessibleJComponent.changeSupport): Changed to be a + java.beans.PropertyChangeSupport rather than + SwingPropertyChangeSupport. + (AccessibleJComponent.AccessibleJComponent()): Change initialization + of above field. + (changeSupport): Removed unneeded field. + (removePropertyChangeListener): Removed unneeded methods. + (addPropertyChangeListener): Removed unneeded methods. + (getPropertyChangeListeners): Removed unneeded methods. + (firePropertyChange(String,boolean,boolean)): Changed to simply + call super. Added specnote. + (firePropertyChange(String,char,char)): Changed to simply + call super. Added specnote. + (firePropertyChange(String,int,int)): Changed to simply + call super. Added specnote. + (firePropertyChange(String,byte,byte)): Removed. + (firePropertyChange(String,Object,Object)): Removed. + (firePropertyChange(String,double,double)): Removed. + (firePropertyChange(String,float,float)): Removed. + (firePropertyChange(String,long,long)): Removed. + (firePropertyChange(String,short,short)): Removed. + +2006-02-06 Roman Kennke + + * javax/swing/event/SwingPropertyChangeSupport.java + (listeners): Removed field. + (propertyListeners): Removed field. + (source): Removed field. + (SwingPropertyChangeSupport()): Removed initialization of removed + fields. + (addPropertyChangeListener): Removed methods. + (removePropertyChangeListener): Removed methods. + (getPropertyChangeListeners): Removed methods. + (firePropertyChange): Removed methods. + (hasListeners): Removed methods. + +2006-02-06 Jeroen Frijters + + Fixes PR 25313 + * java/net/InetAddress.java + (readResolve): Implemented. + +2006-02-06 Jeroen Frijters + + Fixes PR 26121 + * java/io/ObjectInputStream.java + (readNextBlock()): Handle TC_RESET. + +2006-02-06 Wolfgang Baer + + * javax/print/attribute/standard/Compression.java, + * javax/print/attribute/standard/Finishings.java, + * javax/print/attribute/standard/JobMediaSheets.java, + * javax/print/attribute/standard/JobSheets.java, + * javax/print/attribute/standard/JobState.java, + * javax/print/attribute/standard/JobStateReason.java, + * javax/print/attribute/standard/ReferenceUriSchemesSupported.java, + * javax/print/attribute/standard/PrintQuality.java, + * javax/print/attribute/standard/Media.java, + * javax/print/attribute/standard/MultipleDocumentHandling.java, + * javax/print/attribute/standard/PrinterStateReason.java, + * javax/print/attribute/standard/PDLOverrideSupported.java: + (getName): Make method final. + (getCategory): Likewise. + * javax/print/attribute/standard/MediaSize.java: + (getName): Make method final. + (getCategory): Likewise. + (ISO): Added private default constructor. + (NA): Likewise. + (JIS): Likewise. + (Other): Likewise. + (Engineering): Likewise. + +2006-02-06 Wolfgang Baer + + * native/jni/java-net/javanet.c (_javanet_connect): + Throw ConnectException instead of IOException if connection failed. + * native/jni/java-net/javanet.h: + Add a define for java.net.ConnectException + +2006-02-05 Mark Wielaard + + Fixes bug #26101 + reported by Egon Willighagen + * javax/swing/DefaultListCellRenderer.java + (getListCellRendererComponent): Turn null value into empty string. + +2006-02-04 Ito Kazumitsu + + * gnu/regexp/RETokenNamedProperty.java(getHandler): Check for + a Unicode block if the name starts with "In". + (UnicodeBlockHandler): New inner class. + +2006-02-04 Roman Kennke + + * java/awt/Container.java + (getComponentZOrder): New method. + (setComponentZOrder): New method. + * javax/swing/JLayeredPane.java + (setPosition): Reimplemented to use setComponentZOrder(). + (getIndexOf): Reimplemented to use getComponentZOrder(). + (addImpl): Pass layerContraint to super call. Important for possibly + installed layout managers. + (swapComponents): Remove unneeded method. + +2006-02-04 Raif S. Naffah + + * gnu/java/security/jce/sig/DSSKeyPairGeneratorSpi.java: Implement + DSAKeyPairGenerator. + (initialize(int,SecureRandom)): Call initialize(keysize, false, random). + (initialize(AlgorithmParameterSpec,SecureRandom)): More explicit error + message. + Surround call to adaptee in a try/catch. + (initialize((DSAParams,SecureRandom)): New method. + (initialize(int,boolean,SecureRandom)): New method. + * gnu/java/security/jce/sig/KeyPairGeneratorAdapter.java: Extends + KeyPairGenerator rather than KeyPairGeneratorSpi. + (KeyPairGeneratorAdapter): Call super with algorithm name. + +2006-02-04 Raif S. Naffah + + * gnu/javax/crypto/sasl/srp/SRPServer.java (prng): New field. + (getDefaultPRNG): New method. + (parseO): Use method above. + * gnu/javax/crypto/sasl/srp/SRPClient.java (prng): New field. + (getDefaultPRNG): New method. + (createO): Use method above. + * gnu/javax/crypto/sasl/srp/KDF.java (prng): New class field. + (nextByte): Use above field. + * gnu/javax/crypto/pad/PKCS1_V1_5.java (selfTest): Use PRNG instance. + * gnu/java/security/sig/rsa/RSA.java: New class field. + (newR): Use above field + * gnu/java/security/sig/rsa/EME_PKCS1_V1_5.java (prng): New field. + (encode): Use field.above. + * gnu/java/security/key/dss/FIPS186.java (prng): New field. + (getDefaultPRNG): new method. + (nextRandomBytes): Use above method. + * gnu/java/security/key/rsa/RSAKeyPairGenerator.java: Likewise. + * gnu/java/security/sig/BaseSignature.java: Likewise. + * gnu/javax/crypto/key/dh/GnuDHKeyPairGenerator.java: Likewise. + * gnu/javax/crypto/key/dh/RFC2631.java: Likewise. + * gnu/javax/crypto/key/srp6/SRPKeyPairGenerator.java: Likewise. + * gnu/javax/crypto/key/BaseKeyAgreementParty.java: Likewise. + * gnu/java/security/key/dss/DSSKeyPairGenerator.java (prng): New field. + (getDefaultPRNG): new method. + (nextRandomBytes): Use above method. + (STRICT_DEFAULTS): new class field. + (USE_DEFAULTS): more documentation to clarify behavior. + (setup): amended to handle new attribute. + * gnu/java/security/util/PRNG.java: New file. + +2006-02-03 Lillian Angel + + * javax/swing/plaf/basic/BasicColorChooserUI.java: + chooser field should be protected, not package-private. + +2006-02-03 Lillian Angel + + * javax/swing/text/DefaultStyledDocument.java + (changeUpdate): Cleaned up code. + (split): Likewise. + (insertUpdate): Set offset to be equal to pos after + insertContentTag call. + (insertContentTag): If paragraph has no children, should use + replace instead of Edit. + (insertFracture): Moved around code to prevent any exception. Also, + left side of tree should not be recreated if it has already been + edited. In that case, we should only be creating a new right branch + when fracturing. + (getEditForParagraphAndIndex): No need to check index. We should + use the same edit for each paragraph. + +2006-02-03 Mark Wielaard + + * javax/swing/event/SwingPropertyChangeSupport.java + (propertyListeners): Change type to HashMap. + (SwingPropertyChangeSupport): Allocate HashMap. + +2006-02-03 Raif S. Naffah + + * java/security/KeyPairGenerator.java (getInstance): Test for + instanceof KeyPairGenerator before KeyPairGeneratorSpi. + +2006-02-02 Roman Kennke + + * javax/swing/RepaintManager.java + Made fields private. + (RepaintWorker.run): Enclosed work stuff in try finally block in + order to clean up correctly if invalidation or painting fails, + otherwise we would get no more RepaintWorkers onto the EventQueue. + Also, now the RepaintWorker is marked 'dead' only after it has + finished its work, avoid more than one RepaintWorker on the queue. + (ComponentComparator.compareTo): Compare dirty rectangle sizes + instead of hierarchy depths. + (workDirtyComponents): Removed unused field. + (repaintOrder): Removed unused field. + (workRepaintOrder): Removed unused field. + (workInvalidComponents): Removed unused field. + (RepaintManager()): Removed initialization of removed fields. + (addInvalidComponent): Fine tuned synchronization. + (removeInvalidComponent): Fine tune synchronization. + (addDirtyRegion): Short circuit invalid dirty regions. Fine tuned + synchronization. Don't manager repaintOrder here. + (insertRepaintOrder): Removed method. + (markCompletelyClean): Fine tuned synchronization. + (validateInvalidComponents): Dont use a working copy of the + invalidComponents list, instead fine tuned synchronization on this + list. Also, don't search validateRoot, this is already done in + addInvalidComponent(). + (paintDirtyRegions): Compute repaint order here, based on size of + damaged regions. Fine tuned synchronization. Avoid use of working + copies of dirtyComponent. + +2006-02-02 Lillian Angel + + * javax/swing/text/DefaultStyledDocument.java + (insertUpdate): JoinNextDirection should push the + 'next' paragraph on the stack. + +2006-02-02 Lillian Angel + + * javax/swing/text/DefaultStyledDocument.java + (insertUpdate): Rewrote code for Originate. This prevents + leaves being created multiple times. If it is on the last + ElementSpec, the leaves need to be created right then; + otherwise, only a branch is created. + (insertContentTag): Rewrote to add new leaf directly if + this is a branch with no children. Otherwise, it + recreates the remainder of the tree as before. + +2006-02-02 Ito Kazumitsu + + * gnu/regexp/REMatch.java(REMatchList): New inner utility class + for making a list of REMatch instances. + * gnu/regexp/RETokenOneOf.java(match): Rewritten using REMatchList. + * gnu/regexp/RETokenRepeated.java(findDoables): New method. + (match): Rewritten using REMatchList. + (matchRest): Rewritten using REMatchList. + +2006-02-02 Audrius Meskauskas + + * examples/gnu/classpath/examples/CORBA/swing/x5/PlayingDesk.java + (friendsMove): Call repaint() only after endOfGame is assigned. + +2006-02-02 Mark Wielaard + + Fixes bug #25769 reported by Artemus Harper + * java/util/AbstractCollection.java (toString): Only use Iterator, + check whether collection contains itself. + +2006-02-01 Casey Marshall + + Partial fix for PR classpath/25143. + * javax/crypto/EncryptedPrivateKeyInfo.java (algName): new field. + (): fill in `algName,' derive `algOid' from `algName.' + (getOid): new method. + (encode): embed NULL value for parameters if `params' is `null.' + +2006-02-01 Casey Marshall + + Tag check and OTHER_NAME fixes suggested by Rafael Teixeira + . + * gnu/java/security/x509/ext/GeneralNames.java (): fix tag + check; fix OTHER_NAME parsing; fix DIRECTORY_NAME parsing. + +2006-02-01 Casey Marshall + + toString fix suggested by Rafael Teixeira . + * gnu/java/security/der/DERValue.java + (getLength, getEncoded, getEncodedLength): throw an exception, + don't initialize `encoded' to a bogus value. + (toString): return a more helpful string. + + Partial fix for PR classpath/25144. + * gnu/java/security/der/DERWriter.java (write): if the value is + the pseudo-value used for CONSTRUCTED, write the encoded value + directly. + +2006-02-01 Tom Tromey + + * java/security/Security.java (loadProviders): Use system class + loader. + +2006-02-01 Mark Wielaard + + * gnu/regexp/RE.java (getRETokenNamedProperty): Chain exception. + * gnu/regexp/RETokenNamedProperty.java (LETTER, MARK, SEPARATOR, + SYMBOL, NUMBER, PUNCTUATION, OTHER): New final byte[] fields. + (getHandler): Check for grouped properties L, M, Z, S, N, P or C. + (UnicodeCategoriesHandler): New private static class. + +2006-02-01 Lillian Angel + + * javax/swing/text/DefaultStyledDocument.java: + Removed unneeded fields. + (insertUpdate): Removed field initialization. + (insertContentTag): Rewrote part of function. Still + not complete. + +2006-02-01 Lillian Angel + + * javax/swing/text/DefaultStyledDocument.java + (insertParagraph): Cleaned up code. + (insertFirstContentTag): Fixed call to recreateLeaves. + (insertContentTag): Added check to code to determine where + content should be inserted with respect to next element. + (createFracture): Removed check, recreateLeaves is called in + other places when needed. + (recreateLeaves): Added new parameter for paragraph instead + of checking the stack. Removed editing for newBranch, replaced + with a replace call. + +2006-02-01 Anthony Balkissoon + + * doc/unicode/Blocks-4.0.0.txt: New file. + * java/lang/Character.java: Regenerated inner class UnicodeBlock from + scripts/unicode-blocks.pl and doc/unicode/Blocks-4.0.0.txt. + * scripts/unicode-blocks.pl: Copied this over from the generics branch + but replaced some 1.5-only features (such as enum). + +2006-01-31 Roman Kennke + + * javax/swing/text/PasswordView.java + (drawSelectedText): Use drawEchoCharacter() method to draw echo + character. + (drawUnselectedText): Use drawEchoCharacter() method to draw echo + character. + +2006-01-31 Roman Kennke + + * javax/swing/JTextField.java + (getPreferredSize): Also include textfield's insets in width + calculation. + +2006-01-31 Roman Kennke + + * javax/swing/plaf/basic/BasicTextUI.java + (getPreferredSize): Include the textcomponent's insets in + preferredSize. + +2006-01-31 Roman Kennke + + * javax/swing/table/DefaultTableCellRenderer.java + (getTableCellRendererComponent): Moved setting of the value into + setValue(). Removed (bogus) special handling of JTextField values. + (setValue): Made ?: statement more clear by rewriting it + with if .. else. + +2006-01-31 Roman Kennke + + * javax/swing/JLayeredPane.java + (insertIndexForLayer): Fixed algorithm to correctly determine + inser index for positions >= 0. + (addImpl): Fixed API docs for the index parameter. + +2006-01-31 Mark Wielaard + + * java/net/URI.java (getURIGroup): Check for null to see whether + group actually exists. + +2006-01-31 Lillian Angel + + * javax/swing/text/DefaultStyledDocument.java + (changeUpdate): Fixed calls to split to incorporate + new parameter. + (insertParagraph): Likewise. Uses 0 as editIndex + because inserting into a new paragraph. + (insertContentTag): Fixed check to use + recreateLeaves. Added a FIXME comment. + (split): Added a new parameter for edits. + +2006-01-31 Roman Kennke + + * javax/swing/plaf/basic/BasicRootPaneUI.java + (installDefaults): Don't install a background color here. + +2006-01-31 Lillian Angel + + * javax/swing/text/DefaultStyledDocument.java + (insert): Removed comment. + (insertUpdate): Added comment. + (recreateLeaves): Removed call to push newBranch onto the + stack. This does not need to be done here. + +2006-01-31 Chris Burdess + + * gnu/xml/stream/SAXParser.java, + gnu/xml/stream/UnicodeReader.java, + gnu/xml/stream/XIncludeFilter.java, + gnu/xml/stream/XMLParser.java: Fix case where resolved InputSource + only resolved the system ID not the stream. Make some utility methods + public and static for use by other private XML APIs. + * java/lang/ClassNotFoundException.java: Ensure that initCause can be + called without throwing IllegalStateException. + * java/util/logging/SimpleFormatter.java: Write thrown exception if + provided. + +2006-01-31 Ito Kazumitsu + + Fixes bug #22873 + * gnu/regexp/REMatch(toString(int)): Throw IndexOutOfBoundsException + for an invalid index and return null for a skipped group. + +2006-01-31 Ito Kazumitsu + + Fixes bug #26002 + * gnu/regexp/gnu/regexp/RE.java(initialize): Parse /\p{prop}/. + (NamedProperty): New inner class. + (getNamedProperty): New method. + (getRETokenNamedProperty): New Method. + * gnu/regexp/RESyntax.java(RE_NAMED_PROPERTY): New syntax falg. + * gnu/regexp/RETokenNamedProperty.java: New file. + +2006-01-31 Roman Kennke + + * javax/swing/plaf/PlainView.java + (paint): Call drawLine with baseline coordinates. + (drawLine): Documented and indented this method. + (drawUnselecetedText): Documented and indented this method. + * javax/swing/plaf/text/Utilites.java + (drawTabbedText): The coordinates denote the baseline of the text + not the upper left corner. + +2006-01-31 Roman Kennke + + * javax/swing/plaf/basic/BasicTextUI.java + (createKeymap): Don't store KeyBindings[] as focusInputMap in + UIManager. Added FIXME regarding the implementation of this method. + +2006-01-30 David Gilbert + + * examples/gnu/classpath/examples/swing/ButtonDemo.java + (ButtonDemo): Move content initialisation to new method, + (initFrameContent): New method, + (main): Call initFrameContent(), + * examples/gnu/classpath/examples/swing/ComboBoxDemo.java: Likewise, + * examples/gnu/classpath/examples/swing/FileChooserDemo.java: Likewise, + * examples/gnu/classpath/examples/swing/ScrollBarDemo.java: Likewise, + * examples/gnu/classpath/examples/swing/SliderDemo.java: Likewise, + * examples/gnu/classpath/examples/swing/TextFieldDemo.java: Likewise. + +2006-01-30 David Gilbert + + * examples/gnu/classpath/examples/swing/Demo.java + (Demo): Set frame size, + (mkButtonBar): Removed stacked sub-panels. + +2006-01-30 Lillian Angel + + * javax/swing/text/DefaultStyledDocument.java: + Added new fields. + (insert): Initialized fields. Removed call to addEdit, + and created ElementEdit instead. + (insertUpdate): Added check for fracturing. If the + fracturing was not successful, we should push the + last element back on the stack. + (insertParagraph): Fixed call to getEditForParagraphAndIndex. + Also, changed replace calls to use Edit. + (insertFirstContentTag): Removed unneeded check and fixed call + to recreateLeaves. + (insertContent): Fixed check to use new fields. Added code in + to check if leaves overlap. + (createFracture): Fixed call to recreateLeaves. + (recreateLeaves): Fixed code and cleaned it up a bit. + (insertFracture): Set fracNotCreated field. + (addEdit): Removed, this method is not needed. + +2006-01-30 Roman Kennke + + * javax/swing/JRootPane.java + (RootLayout.prefSize): Removed caching for preferredSize. + (RootLayout.invalidateLayout): Likewise. + (RootLayout.preferredLayoutSize): Likewise. + +2006-01-30 Roman Kennke + + PR classpath/26035 + * javax/swing/JFrame.java + (frameInit): Handle the defaultLookAndFeelDecorated flag. + * javax/swing/plaf/metal/MetalRootPaneUI.java + (MetalFrameBorder): New inner class, provides the border for + top level containers with L&F decorations. + (MetalTitlePane): New inner class, provides the title pane for + top level containers with L&F decorations. + (MetalRootLayout): New inner class. Used to layout the root pane + when L&F window decorations are enabled. + (installUI): New method. Handles window decorations. + (uninstallUI): New method. Handles window decorations. + (propertyChange): Handles window decorations. + (installWindowDecorations): New method. Handles window + decorations. + (uninstallWindowDecorations): New method. Handles window + decorations. + * javax/swing/plaf/metal/MetalLookAndFeel.java + (getSupportsWindowDecorations): Overridden to return true. + +2006-01-30 Mark Wielaard + + * javax/swing/JProgressBar.java (JProgressBar(int)): Document + IllegalArgumentException when orientation is illegal. + (JProgressBar(int, int, int)): Likewise and throw exception. + (setOrientation): Likewise. + +2006-01-30 Roman Kennke + + * javax/swing/ViewportLayout.java + (minimumLayoutSize): Rewritten to unconditionally return (4,4). + +2006-01-30 Mark Wielaard + + * javax/swing/JProgressBar.java (orientation): Always set by + constructor. + (JProgressBar(int)): Document default on 'illegal' value. + (JProgressBar(int, int, int)): Likewise and set orientation to + HORIZONTAL when 'illegal'. + (setOrientation): Likewise. + +2006-01-30 Roman Kennke + + * javax/swing/plaf/basic/BasicListUI.java + (ListDataHandler.contentsChanged): Update the + updateLayoutStateNeeded flag. + (ListDataHandler.intervalAdded): Update the + updateLayoutStateNeeded flag. + (ListDataHandler.intervalRemoved): Update the + updateLayoutStateNeeded flag. + (PropertyChangeHandler.propertyChange): Correctly update the + listeners on new list model. + (maybeUpdateLayoutState): Don't consider the validation state + of the list. + +2006-01-30 Mark Wielaard + + * gnu/xml/transform/ApplyTemplatesNode.java (clone): Check whether + sortKeys is null. + +2006-01-30 Roman Kennke + + * javax/swing/JLayeredPane.java + (insertIndexForLayer): Fixed algorithm to correctly insert + components within different layers and -1 position. + +2006-01-30 Mark Wielaard + + * doc/api/Makefile.am (create_html): Add -validhtml. + +2006-01-30 Roman Kennke + + * javax/swing/JLayeredPane.java + (insertIndexForLayer): Fixed algorithm to correctly insert + components within same layer and -1 position. + +2006-01-30 Ito Kazumitsu + + Fixes bug #24876 + * gnu/regexp/gnu/regexp/RE.java(REG_TRY_ENTIRE_MATCH): + New execution flag. + (getMatchImpl): if REG_TRY_ENTIRE_MATCH is set, add an + implicit RETokenEnd at the end of the regexp chain. + Do not select the longest match, but select the first match. + (match): Do not take care of REMatch.empty. + * gnu/regexp/REMatch.java(empty): To be used only in RETokenRepeated. + * gnu/regexp/RETokenOneOf.java: Corrected a typo in a comment. + * gnu/regexp/RETokenBackRef.java: Do not take care of REMatch.empty. + * gnu/regexp/RETokenRepeated.java (match): Rewrote stingy matching. + Do not take care of REMatch.empty. Set and check REMatch.empty + when trying to match the single token. + +2006-01-30 Mark Wielaard + + * java/awt/Cursor.java (toString): Include name and type. + +2006-01-30 Raif S. Naffah + + * gnu/javax/crypto/mac/HMac.java (clone): Clone ipadHash, opadHash, and + the ipad buffer. + * gnu/javax/crypto/mac/BaseMac.java (clone): Clone underlyingHash. + +2006-01-30 Audrius Meskauskas + + PR 26027 + * javax/swing/plaf/basic/BasicListUI.java (maybeUpdateLayoutState): + Consider the validation state of the list. + +2006-01-29 Robert Schuster + + * gnu/java/beans/DefaultExceptionListener.java: Constant public field + INSTANCE added. + * java/beans/XMLDecoder.java: + (setExceptionListener): Use shared DefaultExceptionListener + instance. + * java/beans/Encoder.java: + (setExceptionListener): Use shared DefaultExceptionListener + instance. + +2006-01-29 Roman Kennke + + * javax/swing/ScrollPaneLayout.java + (minimumLayoutSize): Rewritten to match JDKs behaviour. + +2006-01-29 Mark Wielaard + + * java/net/SocketPermission.java (setActions): Trim and lower case + action. + +2006-01-29 Raif S. Naffah + + * gnu/java/security/util/Prime2.java (passEulerCriterion): Was + incorrectly failing primality test for some known primes. Fixed. + (passFermatLittleTheorem): Removed. + (passMillerRabin): Removed. + (isProbablePrime): Cache primes that pass the primality tests. + Use BigInteger.isProbablePrime(int) for primality tests. + (debugBI): New static debugging method. + +2006-01-28 Roman Kennke + + * javax/swing/plaf/basic/BasicListUI.java + (updateLayoutState): Removed unneeded special case for VERTICAL. + +2006-01-28 Roman Kennke + + * javax/swing/plaf/basic/BasicListUI.java + (getCellBounds): Determine correct list width when having a + layoutOrientation of VERTICAL. + (maybeUpdateLayoutState): Don't consider the validation state of + the list. + +2006-01-28 Mark Wielaard + + Reported by Dimitri Fontaine + * java/awt/print/NoPrinterJob.java: New (fake) class. + * java/awt/print/PrinterJob.java (getPrinterJob): Return NoPrinterJob. + +2006-01-28 Mark Wielaard + + * gnu/javax/crypto/mac/HMac.java (clone): Cast cloned ipad to byte[]. + +2006-01-28 Audrius Meskauskas + + * gnu/classpath/examples/swing/Demo.java (mkTree): Make a larger tree. + (addChildren): New method. + +2006-01-28 Raif S. Naffah + + * gnu/javax/crypto/jce/mac/MacAdapter.java (MacAdapter(IMac, Map)): New + constructor for cloning purposes. + (clone): New implementation that ensures cloning. + * gnu/javax/crypto/mac/HMac.java (clone): Implement Cloneable. + * gnu/java/security/Registry.java: Changed value of GNU_SECURITY to + "GNU". + +2006-01-27 Audrius Meskauskas + + * javax/swing/plaf/basic/BasicTreeUI.java (updateCachedPreferredSize): + Call updateCurrentVisiblePath. + +2006-01-27 Roman Kennke + + * examples/gnu/classpath/examples/swing/MiniDemo.java: New file. + +2006-01-27 Roman Kennke + + * examples/gnu/classpath/examples/swing/ButtonDemo.java + (createContent): Only create new content if we don't have one + already. + * examples/gnu/classpath/examples/swing/ComboBoxDemo.java + (createContent): Only create new content if we don't have one + already. + * examples/gnu/classpath/examples/swing/FileChooserDemo.java + (createContent): Only create new content if we don't have one + already. + * examples/gnu/classpath/examples/swing/ScrollBarDemo.java + (createContent): Only create new content if we don't have one + already. + * examples/gnu/classpath/examples/swing/SliderDemo.java + (createContent): Only create new content if we don't have one + already. + * examples/gnu/classpath/examples/swing/TableDemo.java + (createContent): Only create new content if we don't have one + already. + * examples/gnu/classpath/examples/swing/TextFieldDemo.java + (createContent): Only create new content if we don't have one + already. + +2006-01-27 Lillian Angel + + * javax/swing/text/DefaultStyledDocument.java + (insertFirstContentTag): Removed check, not needed. This + still needs to be fixed for some cases. Added call to + recreateLeaves. + (createFracture): Added call to recreateLeaves. + (recreateLeaves): New method used to recreate all the + leaves after the initial insertion. This still needs + more work. + (handleInsertAfterNewline): Removed else, not needed. + +2006-01-27 Roman Kennke + + * javax/swing/JLayeredPane.java + (inserIndexForLayer): Fixed direction of search. + +2006-01-27 Audrius Meskauskas + + * javax/swing/JTree.java (constructor): Put EXPANDED for the root + node into nodeStates. + +2006-01-27 Roman Kennke + + * javax/swing/JLayeredPane.java + (FRAME_CONTENT_LAYER): Made field final. + (componentToLayer): Made field private. + (rectCache): Removed field. + (layers): Removed field. + (JLayeredPane()): Removed initialization of removed fields. + (getLayer): Rewritten to make use of client properties in + JComponents and to be more straighforward. + (static getLayer): Rewritten to make use of client properties in + JComponents. + (layerToRange): Removed method. + (incrLayer): Removed method. + (decrLayer): Removed method. + (highestLayer): Rewritten to be more straightforward. + (lowestLayer): Rewritten to be more straightforward. + (getPosition): Rewritten to be more straightforward. + (getComponentsInLayer): Rewritten to be more straightforward. + (getComponentCountInLayer): Rewritten to be more straightforward. + (getIndexOf): Rewritten to be more straightforward. + (inserIndexForLayer): Rewritten to be more straightforward. + (remove): Rewritten to be more straightforward. + (setLayer): Rewritten to be more straightforward. + (addImpl): Rewritten to be more straightforward. + (putLayer): Rewritten to be more straightforward. + +2006-01-27 Anthony Balkissoon + + * java/lang/Character.java: + (offsetByCodePoints(CharSequence, int, int)): New API method. + (offsetByCodePoints(char[], int, int, int, int)): Likewise. + (toChars): Throw the Exception that the docs say we throw. + (codePointAt): Fixed an off-by-one error in the bounds of the if + statement. + * java/lang/String.java: + (String(int[], int, int)): New API constructor. + +2006-01-27 Lillian Angel + + * javax/swing/text/DefaultStyledDocument.java + (insert): Moved this loop to insertUpdate. + (insertUpdate): Likewise. Fixed variable + names. Incremented pos if new paragraph + is inserted. + (split): Changed edits to use replace instead. Prevents + assertion errors. + (insertFirstContentTag): Removed else. + (insertContentTag): Implemented else for JoinNextDirection. + (createFracture): Fixed up code, still not fully complete. + (insertFracture): Fixed to use return value from + recreateAfterFracture. + (recreateAfterFracture): Changed to return an array of the + elements to be added. This prevents an assertion error. + (contains): New function checks if an element is already in + the Vector. Vector's contain function was not enough to use. + (addAddedElement): Changed to use new contains function. + (addAddedElements): Likewise. + (addRemovedElement): Likewise. + (addRemovedElements): Likewise. + +2006-01-27 Audrius Meskauskas + + PR 25520 + * vm/reference/java/io/VMObjectInputStream.java (loaderAction.run): + If no user class loaders found on the stack, return the thread + context class loader. (currentClassLoader): Explained. + +2006-01-27 Roman Kennke + + * java/awt/Container.java + (swapComponents): Removed unspecified method. + * javax/swing/JLayeredPane.java + (setPosition): Reimplemented correctly. + (swapComponents): New helper method. + +2006-01-27 Mark Wielaard + + * configure.ac: Set version to 0.21-pre. + +2006-01-27 Roman Kennke + + PR classpath/25968 + * javax/swing/JComponent.java + (findOverlapFreeParent): Improved the algorithm to make better use + of the optimizedDrawingEnabled flag. + * javax/swing/JLayeredPane.java + (isOptimizedDrawingEnabled): Reimplemented to match the specs. + * javax/swing/JViewport.java + (computeBlit): Fixed check to decide if blitting is possible or not, + so that it doesn't blit if nothing was scrolled (in order to + update the buffer when the view updates itself). + +2006-01-27 Roman Kennke + + * javax/swing/plaf/metal/MetalFileChooserUI.java + (createList): Don't set scrollbar policy. + +2006-01-27 Roman Kennke + + * javax/swing/plaf/basic/BasicPopupMenuUI.java + (PopupMenuHandler.popupMenuWillBecomeInvisible): + Fixed to also handle non-Swing toplevel containers. + (PopupMenuHandler.popupMenuWillBecomeVisible): + Fixed to also handle non-Swing toplevel containers. + * javax/swing/Popup.java + (JWindowPopup.JWindowPopup()): Correctly set parent window on + popup. + +2006-01-27 Roman Kennke + + * javax/swing/plaf/basic/BasicInternalFrameUI.java + (InternalFramePropertyChangeListener): Don't implement + VetoableChangeListener. + (InternalFramePropertyChangeListener.vetoableChange): Removed. + (internalFrameVetoableChangeListener): Removed unneeded field. + (installListeners): Don't install vetoableChangeListener. + * javax/swing/event/DocumentEvent.java + (EventType): Made class final. + +2006-01-27 Roman Kennke + + * javax/swing/SwingUtilities.java + (calculateInsetArea): Removed unneeded method. The method + calculateInnerArea has the same purpose and is actually specified. + (calculateInnerArea): Rewritten to not use calculateInsetArea. + * javax/swing/plaf/basic/BasicMenuItemUI.java + (paintMenuItem): Use SwingUtilities.calculateInnerArea() instead + of SwingUtilities.calculateInsetArea(). + +2006-01-27 Roman Kennke + + * javax/swing/plaf/basic/BasicTreeUI.java + (installDefaults): Removed requestFocusInWindow() call. + * javax/swing/JComponent.java + (requestFocusInWindow(boolean)): Made method protected. + (printComponent): Made method protected. + (printChildren): Made method protected. + (printComponent): Made method protected. + (printBorder): Made method protected. + +2006-01-27 Roman Kennke + + * javax/swing/AbstractButton.java + (ButtonChangeListener.ButtonChangeListener()): Made constructor + package private. + * javax/swing/ImageIcon.java + (component): Made field final. + (tracker): Made field final. + * javax/swing/JApplet.java + (AccessibleJApplet.AccessibleJApplet): Made constructor protected. + * javax/swing/JCheckBox.java + (AccessibleJCheckBox.AccessibleJCheckBox): Made constructor + protected. + * javax/swing/JDialog.java + (AccessibleJDialog.AccessibleJDialog): Made constructor protected. + * javax/swing/JFrame.java + (AccessibleJFrame.AccessibleJFrame): Made constructor protected. + * javax/swing/JLayeredPane.java + (AccessibleJLayered.AccessibleJLayeredPane): Made constructor + protected. + (DEFAULT_LAYER): Made field final. + (PALETTE_LAYER): Made field final. + (MODAL_LAYER): Made field final. + (POPUP_LAYER): Made field final. + (DRAG_LAYER): Made field final. + * javax/swing/JMenu.java + (ActionChangeListener): Made class private. + * javax/swing/JOptionPane.java + (UNITITIALIZED_VALUE): Made field final. + * javax/swing/JPanel.java + (AccessibleJPanel.AccessibleJPanel): Made constructor protected. + * javax/swing/JPopupMenu.java + (ActionChangeListener): Made class private. + * javax/swing/JTree.java + (paramString): Made method protected. + * javax/swing/JViewport.java + (AccessibleJViewport.AccessibleJViewport): Made constructor protected. + * javax/swing/JWindow.java + (AccessibleJWindow.AccessibleJWindow): Made constructor protected. + * javax/swing/RepaintManager.java + (RepaintWorker): Made class private. + +2006-01-27 Roman Kennke + + * gnu/java/awt/peer/swing/SwingComponentPeer.java + (handleEvent): Removed debug statement. + +2006-01-27 Roman Kennke + + * java/awt/Component.java + (coalescePaintEvents): Don't try to optimize coalescing. This hurts + more than it helps. + +2006-01-26 Lillian Angel + + * javax/swing/text/DefaultStyledDocument.java + (createFracture): Commented out a known problem, + added FIXME tag. + +2006-01-26 Lillian Angel + + * javax/swing/text/DefaultStyledDocument.java + (ElementBuffer): Added fields. + (remove): Initialized pos. + (change): Likewise. + (insert): Likewise. + (insertUpdate): Incremented pos. Fixed check, createFracture should + be called on first tag if it is not ContentType. + (insertFirstContentTag): Reworked to use proper offsets and + set offset accordingly. This might need more work in the future. + (insertContentTag): Likewise. Fixed to use pos, instead of + offset. + (createFracture): Fixed to recreate other leaves. Still needs + more work. + (insertFracture): Reimplemented. + (recreateAfterFracture): New method. + (getParagraphElement): Reimplemented, more efficent. + +2006-01-26 Christian Thalinger + + * native/jni/java-lang/java_lang_VMDouble.c (doubleToLongBits) + (doubleToRawLongBits, longBitsToDouble): Swap the byte + ordering for little-endian arms without VFP. + +2006-01-26 Raif S. Naffah + + PR classpath/25981 + * gnu/javax/crypto/jce/GnuCrypto.java (run): Added KeyGenerator entries. + +2006-01-26 Mark Wielaard + + Fixes bug #25970 reported by Michael Kay + * java/math/BigDecimal.java (compareTo): Don't strip trailing zeros. + Add trailing zeros to the fraction of the decimal with the smallest + scale. + +2006-01-26 Roman Kennke + + * javax/swing/text/html/ObjectView.java: New file. + +2006-01-26 Audrius Meskauskas + + * javax/swing/plaf/basic/BasicTreeUI.java (MouseHandler.mousePressed): + Call startEditing when appropriate. + (WAIT_TILL_EDITING, EDIT, startEditTimer): New fields. + (startEditing): Always edit if directly ordered from + MouseHandler.mousePressed. + * javax/swing/tree/DefaultTreeCellEditor.java (CLICK_COUNT_TO_START): + New field. (createTreeCellEditor): Set click count to start. + (getTreeCellEditorComponent): Assing realEditor directly. + +2006-01-25 Casey Marshall + + Merging GNU Crypto and Jessie. + + * NEWS: mention the merge in the 0.21 notes. + * gnu/classpath/debug/Component.java (SSL_APPLICATION): removed. + (SSL_RECORD_LAYER): new constants. + * gnu/java/security/provider/Gnu.java (): add new algorithms + to provider. + * resource/java/security/classpath.security: add new providers. + * gnu/javax/crypto/assembly/Assembly.java, + gnu/javax/crypto/assembly/Cascade.java, + gnu/javax/crypto/assembly/CascadeStage.java, + gnu/javax/crypto/assembly/CascadeTransformer.java, + gnu/javax/crypto/assembly/DeflateTransformer.java, + gnu/javax/crypto/assembly/Direction.java, + gnu/javax/crypto/assembly/LoopbackTransformer.java, + gnu/javax/crypto/assembly/ModeStage.java, + gnu/javax/crypto/assembly/Operation.java, + gnu/javax/crypto/assembly/PaddingTransformer.java, + gnu/javax/crypto/assembly/Stage.java, + gnu/javax/crypto/assembly/Transformer.java, + gnu/javax/crypto/assembly/TransformerException.java, + gnu/javax/crypto/cipher/Anubis.java, + gnu/javax/crypto/cipher/BaseCipher.java, + gnu/javax/crypto/cipher/Blowfish.java, + gnu/javax/crypto/cipher/Cast5.java, + gnu/javax/crypto/cipher/CipherFactory.java, + gnu/javax/crypto/cipher/DES.java, + gnu/javax/crypto/cipher/IBlockCipher.java, + gnu/javax/crypto/cipher/IBlockCipherSpi.java, + gnu/javax/crypto/cipher/Khazad.java, + gnu/javax/crypto/cipher/NullCipher.java, + gnu/javax/crypto/cipher/Rijndael.java, + gnu/javax/crypto/cipher/Serpent.java, + gnu/javax/crypto/cipher/Square.java, + gnu/javax/crypto/cipher/TripleDES.java, + gnu/javax/crypto/cipher/Twofish.java, + gnu/javax/crypto/cipher/WeakKeyException.java, + gnu/javax/crypto/jce/GnuCrypto.java, + gnu/javax/crypto/jce/GnuSasl.java, + gnu/javax/crypto/jce/PBKDF2SecretKeyFactory.java, + gnu/javax/crypto/jce/cipher/AESSpi.java, + gnu/javax/crypto/jce/cipher/ARCFourSpi.java, + gnu/javax/crypto/jce/cipher/AnubisSpi.java, + gnu/javax/crypto/jce/cipher/BlowfishSpi.java, + gnu/javax/crypto/jce/cipher/Cast5Spi.java, + gnu/javax/crypto/jce/cipher/CipherAdapter.java, + gnu/javax/crypto/jce/cipher/DESSpi.java, + gnu/javax/crypto/jce/cipher/KhazadSpi.java, + gnu/javax/crypto/jce/cipher/NullCipherSpi.java, + gnu/javax/crypto/jce/cipher/PBES2.java, + gnu/javax/crypto/jce/cipher/RijndaelSpi.java, + gnu/javax/crypto/jce/cipher/SerpentSpi.java, + gnu/javax/crypto/jce/cipher/SquareSpi.java, + gnu/javax/crypto/jce/cipher/TripleDESSpi.java, + gnu/javax/crypto/jce/cipher/TwofishSpi.java, + gnu/javax/crypto/jce/key/AnubisKeyGeneratorImpl.java, + gnu/javax/crypto/jce/key/AnubisSecretKeyFactoryImpl.java, + gnu/javax/crypto/jce/key/BlowfishKeyGeneratorImpl.java, + gnu/javax/crypto/jce/key/BlowfishSecretKeyFactoryImpl.java, + gnu/javax/crypto/jce/key/Cast5KeyGeneratorImpl.java, + gnu/javax/crypto/jce/key/Cast5SecretKeyFactoryImpl.java, + gnu/javax/crypto/jce/key/DESKeyGeneratorImpl.java, + gnu/javax/crypto/jce/key/DESSecretKeyFactoryImpl.java, + gnu/javax/crypto/jce/key/DESedeSecretKeyFactoryImpl.java, + gnu/javax/crypto/jce/key/KhazadKeyGeneratorImpl.java, + gnu/javax/crypto/jce/key/KhazadSecretKeyFactoryImpl.java, + gnu/javax/crypto/jce/key/RijndaelKeyGeneratorImpl.java, + gnu/javax/crypto/jce/key/RijndaelSecretKeyFactoryImpl.java, + gnu/javax/crypto/jce/key/SecretKeyFactoryImpl.java, + gnu/javax/crypto/jce/key/SecretKeyGeneratorImpl.java, + gnu/javax/crypto/jce/key/SerpentKeyGeneratorImpl.java, + gnu/javax/crypto/jce/key/SerpentSecretKeyFactoryImpl.java, + gnu/javax/crypto/jce/key/SquareKeyGeneratorImpl.java, + gnu/javax/crypto/jce/key/SquareSecretKeyFactoryImpl.java, + gnu/javax/crypto/jce/key/TripleDESKeyGeneratorImpl.java, + gnu/javax/crypto/jce/key/TwofishKeyGeneratorImpl.java, + gnu/javax/crypto/jce/key/TwofishSecretKeyFactoryImpl.java, + gnu/javax/crypto/jce/keyring/GnuKeyring.java, + gnu/javax/crypto/jce/mac/HMacHavalSpi.java, + gnu/javax/crypto/jce/mac/HMacMD2Spi.java, + gnu/javax/crypto/jce/mac/HMacMD4Spi.java, + gnu/javax/crypto/jce/mac/HMacMD5Spi.java, + gnu/javax/crypto/jce/mac/HMacRipeMD128Spi.java, + gnu/javax/crypto/jce/mac/HMacRipeMD160Spi.java, + gnu/javax/crypto/jce/mac/HMacSHA160Spi.java, + gnu/javax/crypto/jce/mac/HMacSHA256Spi.java, + gnu/javax/crypto/jce/mac/HMacSHA384Spi.java, + gnu/javax/crypto/jce/mac/HMacSHA512Spi.java, + gnu/javax/crypto/jce/mac/HMacTigerSpi.java, + gnu/javax/crypto/jce/mac/HMacWhirlpoolSpi.java, + gnu/javax/crypto/jce/mac/MacAdapter.java, + gnu/javax/crypto/jce/mac/OMacAnubisImpl.java, + gnu/javax/crypto/jce/mac/OMacBlowfishImpl.java, + gnu/javax/crypto/jce/mac/OMacCast5Impl.java, + gnu/javax/crypto/jce/mac/OMacDESImpl.java, + gnu/javax/crypto/jce/mac/OMacImpl.java, + gnu/javax/crypto/jce/mac/OMacKhazadImpl.java, + gnu/javax/crypto/jce/mac/OMacRijndaelImpl.java, + gnu/javax/crypto/jce/mac/OMacSerpentImpl.java, + gnu/javax/crypto/jce/mac/OMacSquareImpl.java, + gnu/javax/crypto/jce/mac/OMacTripleDESImpl.java, + gnu/javax/crypto/jce/mac/OMacTwofishImpl.java, + gnu/javax/crypto/jce/mac/TMMH16Spi.java, + gnu/javax/crypto/jce/mac/UHash32Spi.java, + gnu/javax/crypto/jce/mac/UMac32Spi.java, + gnu/javax/crypto/jce/params/BlockCipherParameters.java, + gnu/javax/crypto/jce/params/DEREncodingException.java, + gnu/javax/crypto/jce/params/DERReader.java, + gnu/javax/crypto/jce/params/DERWriter.java, + gnu/javax/crypto/jce/prng/ARCFourRandomSpi.java, + gnu/javax/crypto/jce/prng/CSPRNGSpi.java, + gnu/javax/crypto/jce/prng/FortunaImpl.java, + gnu/javax/crypto/jce/prng/ICMRandomSpi.java, + gnu/javax/crypto/jce/prng/UMacRandomSpi.java, + gnu/javax/crypto/jce/spec/BlockCipherParameterSpec.java, + gnu/javax/crypto/jce/spec/TMMHParameterSpec.java, + gnu/javax/crypto/jce/spec/UMac32ParameterSpec.java, + gnu/javax/crypto/key/BaseKeyAgreementParty.java, + gnu/javax/crypto/key/GnuSecretKey.java, + gnu/javax/crypto/key/IKeyAgreementParty.java, + gnu/javax/crypto/key/IncomingMessage.java, + gnu/javax/crypto/key/KeyAgreementException.java, + gnu/javax/crypto/key/KeyAgreementFactory.java, + gnu/javax/crypto/key/OutgoingMessage.java, + gnu/javax/crypto/key/dh/DHKeyPairRawCodec.java, + gnu/javax/crypto/key/dh/DiffieHellmanKeyAgreement.java, + gnu/javax/crypto/key/dh/DiffieHellmanReceiver.java, + gnu/javax/crypto/key/dh/DiffieHellmanSender.java, + gnu/javax/crypto/key/dh/ElGamalKeyAgreement.java, + gnu/javax/crypto/key/dh/ElGamalReceiver.java, + gnu/javax/crypto/key/dh/ElGamalSender.java, + gnu/javax/crypto/key/dh/GnuDHKey.java, + gnu/javax/crypto/key/dh/GnuDHKeyPairGenerator.java, + gnu/javax/crypto/key/dh/GnuDHPrivateKey.java, + gnu/javax/crypto/key/dh/GnuDHPublicKey.java, + gnu/javax/crypto/key/dh/RFC2631.java, + gnu/javax/crypto/key/srp6/SRP6Host.java, + gnu/javax/crypto/key/srp6/SRP6KeyAgreement.java, + gnu/javax/crypto/key/srp6/SRP6SaslClient.java, + gnu/javax/crypto/key/srp6/SRP6SaslServer.java, + gnu/javax/crypto/key/srp6/SRP6TLSClient.java, + gnu/javax/crypto/key/srp6/SRP6TLSServer.java, + gnu/javax/crypto/key/srp6/SRP6User.java, + gnu/javax/crypto/key/srp6/SRPAlgorithm.java, + gnu/javax/crypto/key/srp6/SRPKey.java, + gnu/javax/crypto/key/srp6/SRPKeyPairGenerator.java, + gnu/javax/crypto/key/srp6/SRPKeyPairRawCodec.java, + gnu/javax/crypto/key/srp6/SRPPrivateKey.java, + gnu/javax/crypto/key/srp6/SRPPublicKey.java, + gnu/javax/crypto/keyring/AuthenticatedEntry.java, + gnu/javax/crypto/keyring/BaseKeyring.java, + gnu/javax/crypto/keyring/BinaryDataEntry.java, + gnu/javax/crypto/keyring/CertPathEntry.java, + gnu/javax/crypto/keyring/CertificateEntry.java, + gnu/javax/crypto/keyring/CompressedEntry.java, + gnu/javax/crypto/keyring/EncryptedEntry.java, + gnu/javax/crypto/keyring/Entry.java, + gnu/javax/crypto/keyring/EnvelopeEntry.java, + gnu/javax/crypto/keyring/GnuPrivateKeyring.java, + gnu/javax/crypto/keyring/GnuPublicKeyring.java, + gnu/javax/crypto/keyring/IKeyring.java, + gnu/javax/crypto/keyring/IPrivateKeyring.java, + gnu/javax/crypto/keyring/IPublicKeyring.java, + gnu/javax/crypto/keyring/MalformedKeyringException.java, + gnu/javax/crypto/keyring/MaskableEnvelopeEntry.java, + gnu/javax/crypto/keyring/MeteredInputStream.java, + gnu/javax/crypto/keyring/PasswordAuthenticatedEntry.java, + gnu/javax/crypto/keyring/PasswordEncryptedEntry.java, + gnu/javax/crypto/keyring/PasswordProtectedEntry.java, + gnu/javax/crypto/keyring/PrimitiveEntry.java, + gnu/javax/crypto/keyring/PrivateKeyEntry.java, + gnu/javax/crypto/keyring/Properties.java, + gnu/javax/crypto/keyring/PublicKeyEntry.java, + gnu/javax/crypto/mac/BaseMac.java, + gnu/javax/crypto/mac/HMac.java, + gnu/javax/crypto/mac/HMacFactory.java, + gnu/javax/crypto/mac/IMac.java, + gnu/javax/crypto/mac/MacFactory.java, + gnu/javax/crypto/mac/MacInputStream.java, + gnu/javax/crypto/mac/MacOutputStream.java, + gnu/javax/crypto/mac/OMAC.java, + gnu/javax/crypto/mac/TMMH16.java, + gnu/javax/crypto/mac/UHash32.java, + gnu/javax/crypto/mac/UMac32.java, + gnu/javax/crypto/mode/BaseMode.java, + gnu/javax/crypto/mode/CBC.java, + gnu/javax/crypto/mode/CFB.java, + gnu/javax/crypto/mode/CTR.java, + gnu/javax/crypto/mode/EAX.java, + gnu/javax/crypto/mode/ECB.java, + gnu/javax/crypto/mode/IAuthenticatedMode.java, + gnu/javax/crypto/mode/ICM.java, + gnu/javax/crypto/mode/IMode.java, + gnu/javax/crypto/mode/ModeFactory.java, + gnu/javax/crypto/mode/OFB.java, + gnu/javax/crypto/pad/BasePad.java, + gnu/javax/crypto/pad/IPad.java, + gnu/javax/crypto/pad/PKCS1_V1_5.java, + gnu/javax/crypto/pad/PKCS7.java, + gnu/javax/crypto/pad/PadFactory.java, + gnu/javax/crypto/pad/SSL3.java, + gnu/javax/crypto/pad/TBC.java, + gnu/javax/crypto/pad/TLS1.java, + gnu/javax/crypto/pad/WrongPaddingException.java, + gnu/javax/crypto/prng/ARCFour.java, + gnu/javax/crypto/prng/CSPRNG.java, + gnu/javax/crypto/prng/Fortuna.java, + gnu/javax/crypto/prng/ICMGenerator.java, + gnu/javax/crypto/prng/IPBE.java, + gnu/javax/crypto/prng/PBKDF2.java, + gnu/javax/crypto/prng/PRNGFactory.java, + gnu/javax/crypto/prng/UMacGenerator.java, + gnu/javax/crypto/sasl/AuthInfo.java, + gnu/javax/crypto/sasl/AuthInfoProviderFactory.java, + gnu/javax/crypto/sasl/ClientFactory.java, + gnu/javax/crypto/sasl/ClientMechanism.java, + gnu/javax/crypto/sasl/ConfidentialityException.java, + gnu/javax/crypto/sasl/IAuthInfoProvider.java, + gnu/javax/crypto/sasl/IAuthInfoProviderFactory.java, + gnu/javax/crypto/sasl/IllegalMechanismStateException.java, + gnu/javax/crypto/sasl/InputBuffer.java, + gnu/javax/crypto/sasl/IntegrityException.java, + gnu/javax/crypto/sasl/NoSuchMechanismException.java, + gnu/javax/crypto/sasl/NoSuchUserException.java, + gnu/javax/crypto/sasl/OutputBuffer.java, + gnu/javax/crypto/sasl/SaslEncodingException.java, + gnu/javax/crypto/sasl/SaslInputStream.java, + gnu/javax/crypto/sasl/SaslOutputStream.java, + gnu/javax/crypto/sasl/SaslUtil.java, + gnu/javax/crypto/sasl/ServerFactory.java, + gnu/javax/crypto/sasl/ServerMechanism.java, + gnu/javax/crypto/sasl/UserAlreadyExistsException.java, + gnu/javax/crypto/sasl/anonymous/AnonymousClient.java, + gnu/javax/crypto/sasl/anonymous/AnonymousServer.java, + gnu/javax/crypto/sasl/anonymous/AnonymousUtil.java, + gnu/javax/crypto/sasl/crammd5/CramMD5AuthInfoProvider.java, + gnu/javax/crypto/sasl/crammd5/CramMD5Client.java, + gnu/javax/crypto/sasl/crammd5/CramMD5Registry.java, + gnu/javax/crypto/sasl/crammd5/CramMD5Server.java, + gnu/javax/crypto/sasl/crammd5/CramMD5Util.java, + gnu/javax/crypto/sasl/crammd5/PasswordFile.java, + gnu/javax/crypto/sasl/plain/PasswordFile.java, + gnu/javax/crypto/sasl/plain/PlainAuthInfoProvider.java, + gnu/javax/crypto/sasl/plain/PlainClient.java, + gnu/javax/crypto/sasl/plain/PlainRegistry.java, + gnu/javax/crypto/sasl/plain/PlainServer.java, + gnu/javax/crypto/sasl/srp/CALG.java, + gnu/javax/crypto/sasl/srp/ClientStore.java, + gnu/javax/crypto/sasl/srp/IALG.java, + gnu/javax/crypto/sasl/srp/KDF.java, + gnu/javax/crypto/sasl/srp/PasswordFile.java, + gnu/javax/crypto/sasl/srp/SRP.java, + gnu/javax/crypto/sasl/srp/SRPAuthInfoProvider.java, + gnu/javax/crypto/sasl/srp/SRPClient.java, + gnu/javax/crypto/sasl/srp/SRPRegistry.java, + gnu/javax/crypto/sasl/srp/SRPServer.java, + gnu/javax/crypto/sasl/srp/SecurityContext.java, + gnu/javax/crypto/sasl/srp/ServerStore.java, + gnu/javax/crypto/sasl/srp/StoreEntry.java, + gnu/javax/net/ssl/Base64.java, + gnu/javax/net/ssl/EntropySource.java, + gnu/javax/net/ssl/NullManagerParameters.java, + gnu/javax/net/ssl/PrivateCredentials.java, + gnu/javax/net/ssl/SRPManagerParameters.java, + gnu/javax/net/ssl/SRPTrustManager.java, + gnu/javax/net/ssl/StaticTrustAnchors.java, + gnu/javax/net/ssl/provider/Alert.java, + gnu/javax/net/ssl/provider/AlertException.java, + gnu/javax/net/ssl/provider/Certificate.java, + gnu/javax/net/ssl/provider/CertificateRequest.java, + gnu/javax/net/ssl/provider/CertificateType.java, + gnu/javax/net/ssl/provider/CertificateVerify.java, + gnu/javax/net/ssl/provider/CipherSuite.java, + gnu/javax/net/ssl/provider/ClientHello.java, + gnu/javax/net/ssl/provider/ClientKeyExchange.java, + gnu/javax/net/ssl/provider/CompressionMethod.java, + gnu/javax/net/ssl/provider/Constructed.java, + gnu/javax/net/ssl/provider/ContentType.java, + gnu/javax/net/ssl/provider/Context.java, + gnu/javax/net/ssl/provider/DiffieHellman.java, + gnu/javax/net/ssl/provider/DigestInputStream.java, + gnu/javax/net/ssl/provider/DigestOutputStream.java, + gnu/javax/net/ssl/provider/Enumerated.java, + gnu/javax/net/ssl/provider/Extension.java, + gnu/javax/net/ssl/provider/Extensions.java, + gnu/javax/net/ssl/provider/Finished.java, + gnu/javax/net/ssl/provider/GNUSecurityParameters.java, + gnu/javax/net/ssl/provider/Handshake.java, + gnu/javax/net/ssl/provider/JCESecurityParameters.java, + gnu/javax/net/ssl/provider/JDBCSessionContext.java, + gnu/javax/net/ssl/provider/Jessie.java, + gnu/javax/net/ssl/provider/JessieDHPrivateKey.java, + gnu/javax/net/ssl/provider/JessieDHPublicKey.java, + gnu/javax/net/ssl/provider/JessieRSAPrivateKey.java, + gnu/javax/net/ssl/provider/JessieRSAPublicKey.java, + gnu/javax/net/ssl/provider/KeyPool.java, + gnu/javax/net/ssl/provider/MacException.java, + gnu/javax/net/ssl/provider/OverflowException.java, + gnu/javax/net/ssl/provider/PRNG.java, + gnu/javax/net/ssl/provider/ProtocolVersion.java, + gnu/javax/net/ssl/provider/Random.java, + gnu/javax/net/ssl/provider/RecordInput.java, + gnu/javax/net/ssl/provider/RecordInputStream.java, + gnu/javax/net/ssl/provider/RecordOutputStream.java, + gnu/javax/net/ssl/provider/RecordingInputStream.java, + gnu/javax/net/ssl/provider/SRPTrustManagerFactory.java, + gnu/javax/net/ssl/provider/SSLHMac.java, + gnu/javax/net/ssl/provider/SSLRSASignature.java, + gnu/javax/net/ssl/provider/SSLRandom.java, + gnu/javax/net/ssl/provider/SSLServerSocket.java, + gnu/javax/net/ssl/provider/SSLServerSocketFactory.java, + gnu/javax/net/ssl/provider/SSLSocket.java, + gnu/javax/net/ssl/provider/SSLSocketFactory.java, + gnu/javax/net/ssl/provider/SSLSocketInputStream.java, + gnu/javax/net/ssl/provider/SSLSocketOutputStream.java, + gnu/javax/net/ssl/provider/SecurityParameters.java, + gnu/javax/net/ssl/provider/ServerHello.java, + gnu/javax/net/ssl/provider/ServerKeyExchange.java, + gnu/javax/net/ssl/provider/Session.java, + gnu/javax/net/ssl/provider/SessionContext.java, + gnu/javax/net/ssl/provider/Signature.java, + gnu/javax/net/ssl/provider/SynchronizedRandom.java, + gnu/javax/net/ssl/provider/TLSHMac.java, + gnu/javax/net/ssl/provider/TLSRandom.java, + gnu/javax/net/ssl/provider/Util.java, + gnu/javax/net/ssl/provider/X509KeyManagerFactory.java, + gnu/javax/net/ssl/provider/X509TrustManagerFactory.java, + gnu/javax/net/ssl/provider/XMLSessionContext.java, + gnu/javax/security/auth/Password.java, + gnu/javax/security/auth/callback/AWTCallbackHandler.java, + gnu/javax/security/auth/callback/AbstractCallbackHandler.java, + gnu/javax/security/auth/callback/ConsoleCallbackHandler.java, + gnu/javax/security/auth/callback/DefaultCallbackHandler.java, + gnu/javax/security/auth/callback/GnuCallbacks.java, + gnu/javax/security/auth/callback/SwingCallbackHandler.java, + gnu/java/security/Registry.java, + gnu/java/security/Properties.java, + gnu/java/security/hash/BaseHash.java, + gnu/java/security/hash/HashFactory.java, + gnu/java/security/hash/Haval.java, + gnu/java/security/hash/IMessageDigest.java, + gnu/java/security/hash/MD2.java, + gnu/java/security/hash/MD4.java, + gnu/java/security/hash/MD5.java, + gnu/java/security/hash/RipeMD128.java, + gnu/java/security/hash/RipeMD160.java, + gnu/java/security/hash/Sha160.java, + gnu/java/security/hash/Sha256.java, + gnu/java/security/hash/Sha384.java, + gnu/java/security/hash/Sha512.java, + gnu/java/security/hash/Tiger.java, + gnu/java/security/hash/Whirlpool.java, + gnu/java/security/jce/hash/HavalSpi.java, + gnu/java/security/jce/hash/MD2Spi.java, + gnu/java/security/jce/hash/MD4Spi.java, + gnu/java/security/jce/hash/MD5Spi.java, + gnu/java/security/jce/hash/MessageDigestAdapter.java, + gnu/java/security/jce/hash/RipeMD128Spi.java, + gnu/java/security/jce/hash/RipeMD160Spi.java, + gnu/java/security/jce/hash/Sha160Spi.java, + gnu/java/security/jce/hash/Sha256Spi.java, + gnu/java/security/jce/hash/Sha384Spi.java, + gnu/java/security/jce/hash/Sha512Spi.java, + gnu/java/security/jce/hash/TigerSpi.java, + gnu/java/security/jce/hash/WhirlpoolSpi.java, + gnu/java/security/jce/prng/HavalRandomSpi.java, + gnu/java/security/jce/prng/MD2RandomSpi.java, + gnu/java/security/jce/prng/MD4RandomSpi.java, + gnu/java/security/jce/prng/MD5RandomSpi.java, + gnu/java/security/jce/prng/RipeMD128RandomSpi.java, + gnu/java/security/jce/prng/RipeMD160RandomSpi.java, + gnu/java/security/jce/prng/SecureRandomAdapter.java, + gnu/java/security/jce/prng/Sha160RandomSpi.java, + gnu/java/security/jce/prng/Sha256RandomSpi.java, + gnu/java/security/jce/prng/Sha384RandomSpi.java, + gnu/java/security/jce/prng/Sha512RandomSpi.java, + gnu/java/security/jce/prng/TigerRandomSpi.java, + gnu/java/security/jce/prng/WhirlpoolRandomSpi.java, + gnu/java/security/jce/sig/DSSKeyPairGeneratorSpi.java, + gnu/java/security/jce/sig/DSSRawSignatureSpi.java, + gnu/java/security/jce/sig/KeyPairGeneratorAdapter.java, + gnu/java/security/jce/sig/RSAKeyPairGeneratorSpi.java, + gnu/java/security/jce/sig/RSAPSSRawSignatureSpi.java, + gnu/java/security/jce/sig/SignatureAdapter.java, + gnu/java/security/key/IKeyPairCodec.java, + gnu/java/security/key/IKeyPairGenerator.java, + gnu/java/security/key/KeyPairCodecFactory.java, + gnu/java/security/key/KeyPairGeneratorFactory.java, + gnu/java/security/key/dss/DSSKey.java, + gnu/java/security/key/dss/DSSKeyPairGenerator.java, + gnu/java/security/key/dss/DSSKeyPairRawCodec.java, + gnu/java/security/key/dss/DSSPrivateKey.java, + gnu/java/security/key/dss/DSSPublicKey.java, + gnu/java/security/key/dss/FIPS186.java, + gnu/java/security/key/rsa/GnuRSAKey.java, + gnu/java/security/key/rsa/GnuRSAPrivateKey.java, + gnu/java/security/key/rsa/GnuRSAPublicKey.java, + gnu/java/security/key/rsa/RSAKeyPairGenerator.java, + gnu/java/security/key/rsa/RSAKeyPairRawCodec.java, + gnu/java/security/prng/BasePRNG.java, + gnu/java/security/prng/EntropySource.java, + gnu/java/security/prng/IRandom.java, + gnu/java/security/prng/LimitReachedException.java, + gnu/java/security/prng/MDGenerator.java, + gnu/java/security/prng/PRNGFactory.java, + gnu/java/security/prng/RandomEvent.java, + gnu/java/security/prng/RandomEventListener.java, + gnu/java/security/sig/BaseSignature.java, + gnu/java/security/sig/ISignature.java, + gnu/java/security/sig/ISignatureCodec.java, + gnu/java/security/sig/SignatureFactory.java, + gnu/java/security/sig/dss/DSSSignature.java, + gnu/java/security/sig/dss/DSSSignatureRawCodec.java, + gnu/java/security/sig/rsa/EME_PKCS1_V1_5.java, + gnu/java/security/sig/rsa/EMSA_PKCS1_V1_5.java, + gnu/java/security/sig/rsa/EMSA_PSS.java, + gnu/java/security/sig/rsa/RSA.java, + gnu/java/security/sig/rsa/RSAPKCS1V1_5Signature.java, + gnu/java/security/sig/rsa/RSAPSSSignature.java, + gnu/java/security/sig/rsa/RSAPSSSignatureRawCodec.java, + gnu/java/security/util/Base64.java, + gnu/java/security/util/ExpirableObject.java, + gnu/java/security/util/Prime2.java, + gnu/java/security/util/Sequence.java, + gnu/java/security/util/SimpleList.java, + gnu/java/security/util/Util.java, + resource/gnu/javax/security/auth/callback/MessagesBundle.properties: + new files imported from GNU Crypto and Jessie. + +2006-01-25 Tom Tromey + + * gnu/java/net/protocol/http/ChunkedInputStream.java (read): + Fixed calculation of number of bytes to read. + (size, count, meta, eof): Document. + +2006-01-25 Anthony Balkissoon + + * java/lang/Character.java: + (codePointCount(char[], int, int)): New API method. + (codePointCount(CharSequence, int, int)): Likewise. + +2006-01-25 Audrius Meskauskas + + PR 25205 + * javax/swing/DefaultCellEditor.java (getTreeCellEditorComponent): + Rewritten. + * javax/swing/JTree.java (stopEditing, cancelEditing): Return without + action if not editing. + * javax/swing/plaf/basic/BasicTreeUI.java + (CellEditorHandler.editingCancelled): Delegate to cancelEditing. + (CellEditorHandler.editingStopped): Delegate to stopEditing. + (EditorUpdateTimer): Removed. + (TreeAction.actionPerformed): Stop and not cancel the current editing + when starting editing another node. + (editorTimer, newVal): Removed. + (cancelEditing): Do not send the cancel message. + (completeEditing): Obtain the edited value from the editor. + (finish): New method. + (paintRow): Do not paint the editing component here. + (startEditing, stopEditing): Rewritten. + * javax/swing/tree/DefaultTreeCellEditor.java + (DefaultTextField): Added SVUID. + (EditorContainer): Rewritten. + (RealEditorListener): New inner class. + (ICON_TEXT_GAP, TREE_ICON_GAP: New constants). + (constructor): Add cell editor listener. Do not instantiate timer. + (actionPerformed): Return without action. + (cancelCellEditing): Rewritten. + (createTreeCellEditor): Add cell editor listener to the editor. + (getCellEditorValue): Request the value from the realEditor. + (isCellEditable): Removed timer management. + (prepareForEditing): Remove all components befor adding the + editingComponent. + (startEditingTimer): Start only if it is not null. + (stopCellEditing): Rewritten. + (stopEditingTimer): New method. + (valueChanged): Do not configure editing component here. + +2006-01-25 Roman Kennke + + * javax/swing/text/html/FormView.java: New file. + +2006-01-25 Roman Kennke + + * javax/swing/JSplitPane.java + (addImpl): Call resetToPreferredSizes() when no dividerLocation + has been set in order to set an initial layout. + * javax/swing/plaf/basic/BasicSplitPaneUI.java + (BasicHorizontalLayoutManager.layoutContainer): Fixed error for + layout of the right component. + (BasicHorizontalLayoutManager.resetToPreferredSizes): Set the + dividerLocation to the size of the left component. + (createDefaultNonContinuousLayoutDivider): Fetch the color from + the UIManager. + (setDividerLocation): Don't validate the location here. Sometimes + the divider needs to be set to an invalid location. + (startDragging): Don't revalidate and repaint here. + (finishDraggingTo): Don't repaint here. Also, don't call + dragDividerTo() here. + * javax/swing/plaf/basic/BasicLookAndFeel.java + (initComponentDefaults): Added SplitPaneDivider.draggingColor + default value. + +2006-01-25 Roman Kennke + + * javax/swing/JSplitPane.java + (addImpl): Removed invalidate() and layout() call. + * javax/swing/plaf/basic/BasicSplitPaneUI.java + (PropertyHandler.propertyChange): Remove layoutContainer() and + repaint() call. + +2006-01-25 Roman Kennke + + * configure.ac + * native/Makefile.am + * native/jni/classpath/Makefile.am + * native/jni/classpath/jcl.c + * native/jni/classpath/jcl.h + * native/jni/classpath/native_state.c + * native/jni/gtk-peer/Makefile.am + * native/jni/java-io/Makefile.am + * native/jni/java-io/java_io_VMFile.c + * native/jni/java-io/java_io_VMObjectStreamClass.c + * native/jni/java-lang/Makefile.am + * native/jni/java-net/Makefile.am + * native/jni/java-net/java_net_VMInetAddress.c + * native/jni/java-net/javanet.c + * native/jni/java-net/javanet.h + * native/jni/java-nio/Makefile.am + * native/jni/java-nio/gnu_java_nio_VMPipe.c + * native/jni/java-nio/gnu_java_nio_VMSelector.c + * native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c + * native/jni/java-nio/java_nio_MappedByteBufferImpl.c + * native/jni/java-nio/java_nio_VMDirectByteBuffer.c + * native/jni/java-util/Makefile.am + * native/jni/java-util/java_util_VMTimeZone.c + * native/jni/midi-dssi/Makefile.am + * native/jni/xmlj/Makefile.am + * native/target/Makefile.am + * native/target/Linux/target_native_math.h + * native/target/Linux/target_native_memory.h + * native/target/Linux/Makefile.am + * native/target/Linux/target_native_io.h + * native/target/Linux/target_native_math_float.h + * native/target/Linux/target_native_math_int.h + * native/target/generic/target_generic.c + * native/target/generic/target_generic_io.c + * native/target/generic/target_generic_math.h + * native/target/generic/target_generic_memory.h + * native/target/generic/target_generic_misc.c + * native/target/generic/target_generic_network.c + * native/target/generic/Makefile.am + * native/target/generic/target_generic.h + * native/target/generic/target_generic_file.h + * native/target/generic/target_generic_io.h + * native/target/generic/target_generic_math_float.h + * native/target/generic/target_generic_math_int.h + * native/target/generic/target_generic_misc.h + * native/target/generic/target_generic_network.h: + Reverted target native related changes back to the state of the + 0.20 release. + * native/target/MinGW/.cvsignore + * native/target/MinGW/Makefile.am + * native/target/MinGW/target_native.h + * native/target/MinGW/target_native_file.h + * native/target/MinGW/target_native_io.h + * native/target/MinGW/target_native_math.h + * native/target/MinGW/target_native_memory.h + * native/target/MinGW/target_native_misc.h + * native/target/MinGW/target_native_network.h + * native/target/RTEMS/.cvsignore + * native/target/RTEMS/Makefile.am + * native/target/RTEMS/target_native.h + * native/target/RTEMS/target_native_file.h + * native/target/RTEMS/target_native_io.h + * native/target/RTEMS/target_native_math.h + * native/target/RTEMS/target_native_memory.h + * native/target/RTEMS/target_native_misc.h + * native/target/RTEMS/target_native_network.h + * native/target/SunOS/.cvsignore + * native/target/SunOS/Makefile.am + * native/target/SunOS/target_native.h + * native/target/SunOS/target_native_file.h + * native/target/SunOS/target_native_io.h + * native/target/SunOS/target_native_math.h + * native/target/SunOS/target_native_memory.h + * native/target/SunOS/target_native_misc.h + * native/target/SunOS/target_native_network.h + * native/target/embOS/.cvsignore + * native/target/embOS/Makefile.am + * native/target/embOS/target_native.h + * native/target/embOS/target_native_file.h + * native/target/embOS/target_native_io.c + * native/target/embOS/target_native_io.h + * native/target/embOS/target_native_math.h + * native/target/embOS/target_native_memory.h + * native/target/embOS/target_native_misc.h + * native/target/embOS/target_native_network.h + * native/target/posix/.cvsignore + * native/target/posix/Makefile.am + * native/target/posix/target_posix.c + * native/target/posix/target_posix.h + * native/target/posix/target_posix_file.c + * native/target/posix/target_posix_file.h + * native/target/posix/target_posix_io.c + * native/target/posix/target_posix_io.h + * native/target/posix/target_posix_math.c + * native/target/posix/target_posix_math.h + * native/target/posix/target_posix_memory.c + * native/target/posix/target_posix_memory.h + * native/target/posix/target_posix_misc.c + * native/target/posix/target_posix_misc.h + * native/target/posix/target_posix_network.c + * native/target/posix/target_posix_network.h: + Removed. + +2006-01-24 Wolfgang Baer + + * javax/print/PrintService.java, + * javax/print/DocPrintJob.java, + * javax/print/CancelablePrintJob.java: + Added and enhanced api documentation for class and methods. + +2006-01-24 Wolfgang Baer + + * javax/print/SimpleDoc.java: Make class final. + * javax/print/attribute/standard/PrinterIsAcceptingJobs.java: Likewise. + * javax/print/attribute/DateTimeSyntax.java: + (toString): New overridden method. + * javax/print/attribute/standard/JobStateReasons.java: + (add): Use the super.add method to avoid recursion. + * javax/print/attribute/standard/PrinterStateReasons.java: + (put): Use the super.put method to avoid recursion. + +2006-01-24 Robert Schuster + + * java/beans/XMLEncoder.java: + (writeExpression): Added early return (fixes PR #25941). + (setExceptionListener, anonymous Class): Removed printStackTrace + call. + * java/beans/Encoder: Removed unused imports. + (setupDefaultPersistenceDelegates): Removed unneccessary + PersistenceDelegates for subclasses. + * java/beans/PersistenceDelegate: + (initialize): Use local variable as first argument as it was + intended once. + * java/beans/DefaultPersistenceDelegate: + (initialize): Added call to superclass' implementation, added + early return. + +2006-01-24 Tom Tromey + + * java/util/regex/PatternSyntaxException.java: Added @since. + * java/util/regex/Matcher.java (Matcher): Implements MatchResult. + * java/util/regex/MatchResult.java: New file. + +2006-01-24 David Gilbert + + * javax/swing/text/StringContent.java: Added API docs all over, plus + minor reformatting. + +2006-01-24 Gary Benson + + * java/net/SocketPermission.java: Implemented serialization. + +2006-01-24 David Gilbert + + * javax/swing/text/StringContent.java + (remove): Modified argument check to prevent removal of last character, + (getChars): Removed null argument check to allow NullPointerException, + added API docs, + (checkLocation): Added API docs and white space. + +2006-01-23 Lillian Angel + + * javax/swing/text/DefaultStyledDocument.java + (insertUpdate): Should only call createFracture with + StartTagType. Added check. + (insertContentTag): Should use the tags length for splitting. + Also, added a check to determine if current's start and end offset are + equal to the offset and endOffset. If so, only one leaf element + should be added. + (createFracture): Removed FIXME. This function is complete. + (split): Added calls to replace. Changed so the child is + added immediately to the paragraph. Prevents NPEs. + +2006-01-23 Mark Wielaard + + * examples/Makefile.am (EXAMPLE_ZIP): Group cd and commands. + +2006-01-23 Tom Tromey + + * gnu/java/security/x509/X509Certificate.java (parse): + Unconditionally read value; for version==1 case when reading + algorithm ID. + +2006-01-23 Roman Kennke + + * javax/swing/plaf/synth/ColorType.java, + * javax/swing/plaf/synth/Region.java, + * javax/swing/plaf/synth/SynthConstants.java, + * javax/swing/plaf/synth/SynthContext.java + * javax/swing/plaf/synth/SynthGraphicsUtils.java, + * javax/swing/plaf/synth/SynthLookAndFeel.java, + * javax/swing/plaf/synth/SynthPainter.java, + * javax/swing/plaf/synth/SynthStyle.java, + * javax/swing/plaf/synth/SynthStyleFactory.java, + * javax/swing/plaf/synth/package.html: + New files. Added the public API and framework classes for the + Synth look and feel. + +2006-01-23 David Gilbert + + * javax/swing/text/Segment.java: API docs all over. + +2006-01-23 Lillian Angel + + * javax/swing/text/DefaultStyledDocument.java + (split): Should not use createLeafElement and createBranchElement here. + We should just instaniate the LeafElements and BranchElements instead + to avoid the case where create*Element is overridden. + +2006-01-23 Lillian Angel + + * javax/swing/text/DefaultStyledDocument.java + (insertFirstContentTag): Moved check outside of if-statement. + This should be checked before creating the new leaf element. + (insertFracture): Fixed check to prevent an NPE. The previous + leaf should only be recreated if it has been created by + insertFirstContentTag. Also, fixed up code: if the endOffset is + greater than the offset, then we need to create a temp leaf + as a place holder. Otherwise, the leaf elements should be + created normally. + +2006-01-23 Gary Benson + + * java/net/SocketPermission.java: Almost completely rewritten. + +2006-01-23 Lillian Angel + + * javax/swing/text/DefaultStyledDocument.java + (insertFracture): Set temp leaf's attributes to prevent an NPE. + +2006-01-23 Lillian Angel + + * javax/swing/text/DefaultStyledDocument.java: + Formatted ElementBuffer and added new fields. + (remove): Added check to determine if length is 0. + (insertFirstContentTag): Initialized firstCreated to the element that is created + by the first tag encountered. Removed check in JoinPreviousDirection case, no + longer needed. In OriginateDirection case, added a loop to remove all old leafs + that have been recreated. + (insertContentTag): Cleaned up code. Removed checks that did not do anything. + (insertFracture): Fixed up code, removed unneeded objects and checks. Added + FIXME tags to the lines that need to be rewritten. + +2006-01-23 Mark Wielaard + + * examples/Makefile.am: Add support for fastjar. + +2006-01-23 Ito Kazumitsu + + * gnu/regexp/REToken.java(empty): Made Cloneable. + * gnu/regexp/RETokenOneOf.java(match): RE.java(match): + Use separate methods matchN and matchP depending on the + boolean negative. + (matchN): New method used when negative. Done as before. + (matchP): New method used when not negative. Each token is + tried not by itself but by a clone of it. + +2006-01-23 Chris Burdess + + Fixes bug #25906 + * gnu/xml/dom/DomCharacterData.java: Use a separate empty node list + class to avoid getLength method contention. + * gnu/xml/stream/SAXParser.java: Rethrow correct exception. + +2006-01-23 Chris Burdess + + * native/jni/java-util/Makefile.am: Include library required + explicitly by BSD systems. + * native/target/generic/target_generic_misc.h: Remove old commented + out code. + * native/target/generic/target_generic_network.h: Fallbacks (to + SO_NOSIGPIPE and then 0) for non-portable glibc MSG_NOSIGNAL. + +2006-01-22 Tom Tromey + + * native/target/posix/.cvsignore: Added .deps. + +2006-01-22 Mark Wielaard + + Fixes bug #25832, + reported by James Damour + * java/awt/Container.java (addImpl): Use empty string as name when + null constraints for LayoutManager.addLayoutComponent(). + +2006-01-22 Chris Burdess + + Fixes bug #25903 + * gnu/xml/dom/DomDocumentBuilder.java: Default to using file URL + representing current directory as base for relative URLs. + +2006-01-22 Ito Kazumitsu + + Fixes bug #25837 + * gnu/regexp/REMatch.java(empty): New boolean indicating + an empty string matched. + * gnu/regexp/RE.java(match): Sets empty flag when an empty + string matched. + (initialize): Support back reference \10, \11, and so on. + (parseInt): renamed from getEscapedChar and returns int. + * gnu/regexp/RETokenRepeated.java(match): Sets empty flag + when an empty string matched. Fixed a bug of the case where + an empty string matched. Added special handling of {0}. + * gnu/regexp/RETokenBackRef.java(match): Sets empty flag + when an empty string matched. Fixed the case insensitive matching. + +2006-01-21 Roman Kennke + + * javax/swing/plaf/metal/MetalSplitPaneDivider.java + (paint): Added painting of border if one is installed. + +2006-01-21 Roman Kennke + + PR classpath/25843: + * javax/swing/plaf/basic/BasicBorders.java + (getSplitPaneDividerBorder): Use new border constructor + without arguments. + (SplitPaneDividerBorder.highlight): Removed unneeded field. + (SplitPaneDividerBorder.shadow): Removed unneeded field. + (SplitPaneDividerBorder()): Changed constructor to do nothing. The + colors are fetched dynamically in the paintBorder method. + (SplitPaneDividerBorder.paintBorder): Fetch colors dynamically from + the look and feel. + (SplitPaneDividerBorder.isBorderOpaque): Returns true + unconditionally. + * javax/swing/plaf/basic/BasicLookAndFeel.java + (initComponentDefaults): Added default for SplitPaneDivider.border. + * javax/swing/plaf/basic/BasicSplitPaneDivider.java + (tmpBorder): Removed unneeded inner class. + (BasicSplitPaneDivider): Removed setting of border. + (setSplitPaneUI): Don't add the mouse handler to the splitpane + itself. + * javax/swing/plaf/basic/BasicSplitPaneUI.java + (BasicHorizontalLayoutManager.layoutContainer): Mostly rewritten + to get behaviour right. + (BasicHorizontalLayoutManager.distributeExtraSpace): Removed + implementation. This must be rewritten since the layout now works + slightly different (basically, it shouldn't modify the sizes[] + here but instead the dividerLocation. + (dividerLocation): New field. + (installDefaults): Initialize border on divider. + (uninstallDefaults): Only remove background color and border from + splitPane if they are instances of UIDefaults (== not set by + application). + (setDividerLocation): Set the dividerLocation field instead of + doing stunt acts here. + (getDividerLocation): Return dividerLocation field. + (getMinimumDividerLocation): Fixed calculation of minimum location. + +2006-01-21 Guilhem Lavaux + + * m4/acinclude.m4 + (CLASSPATH_WITH_GLIBJ): Add support for fastjar. + + * lib/Makefile.am: Likewise. + +2006-01-21 Roman Kennke + + * javax/swing/PopupFactory.java + (getPopup): If there is no Swing root found in any way, use a + heavyweight popup. This is useful for mixed Swing/AWT GUIs, or + for the Swing AWT peers. + +2006-01-20 Tom Tromey + + * gnu/java/net/protocol/http/HTTPURLConnection.java (connect): + Read response body for redirect. + +2006-01-20 Chris Burdess + + * gnu/java/net/protocol/http/HTTPURLConnection.java: Don't follow + redirects on 304. + +2006-01-20 Lillian Angel + + * javax/swing/text/DefaultStyledDocument.java + (pad): Removed, not needed. + (printElements): Likewise. + (printEdit): Likewise. + +2006-01-20 Roman Kennke + + * javax/swing/text/DefaultFormatter.java + (DefaultFormatter): Don't set a value class. + +2006-01-19 Audrius Meskauskas + + * javax/swing/DefaultCellEditor.java: Commented. + +2006-01-19 Roman Kennke + + * javax/swing/JOptionPane.java + Added cast to Frame for JDialog constructor. + +2006-01-19 Roman Kennke + + * javax/swing/JWindow.java + (JWindow(Window)): Fixed to accept null owner argument. + (JWindow(Window,GraphicsConfiguration)): Fixed to accept null + owner argument. + * javax/swing/SwingUtilities.java + (getOwnerFrame): Owner parameter and return value are fixed to + be of type Window for compatibity with the above JWindow + constructor. + * javax/swing/JDialog.java + (JDialog): Added cast to Frame to make sure the correct constructor + is called. + * javax/swing/JFileChooser.java + (createDialog): Added cast to Frame for JDialog constructor. + +2006-01-19 Audrius Meskauskas + + * javax/swing/JTable.java (rowAtPoint): Rewritten. + +2006-01-19 Roman Kennke + + * javax/swing/JWindow.java: Added API docs to the constructors. + +2006-01-19 Audrius Meskauskas + + * javax/swing/JTable.java: Commenting method headers. + (EditorUpdateTimer): Removed. + +2006-01-19 Roman Kennke + + * javax/swing/JDialog.java + (JDialog()): Call SwingUtilities.getOwnerFrame() with null. + (JDialog(Frame,String,boolean,GraphicsConfiguration)): Call + SwingUtilities.getOwnerFrame() with the owner argument. + * javax/swing/JFileChooser.java + (showOpenDialog(Component)): Call pack() on the dialog instead of + setting a fixed height. + (showSaveDialog()): Likewise. + (showDialog()): Likewise. + (createDialog): Call SwingUtilities.getOwnerFrame() with null. + * javax/swing/JOptionPane.java: Call SwingUtilities.getOwnerFrame() + with null. + * javax/swing/JWindow.java + (JWindow()): Call SwingUtilities.getOwnerFrame() with null. + (JWindow(Frame)): Call SwingUtilities.getOwnerFrame() with owner + argument. + * javax/swing/SwingUtilities.java + (getOwnerFrame): Changed to take a owner parameter that is returned + as owner frame when not null. + +2006-01-19 Roman Kennke + + * gnu/java/awt/peer/swing/SwingFramePeer.java + (handleMouseEvent): Fixed handling of mouse events. + (handleMouseMotionEvent): Fixed handling of mouse events. + +2006-01-19 Roman Kennke + + * native/target/generic/target_generic_misc.c: + (targetGenericMisc_formatString): Added missing method. + +2006-01-19 Wolfgang Baer + + * m4/acinclude.m4: Test also for ecj found before exiting configure + with no javac found error message. + +2006-01-19 Ito Kazumitsu + + Fixes bug #23212 + * gnu/regexp/RE.java(initialize): Support escaped characters such as + \0123, \x1B, \u1234. + (getEscapedChar): New method. + (CharExpression): New inner class. + (getCharExpression): New Method. + * gnu/regexp/RESyntax.java(RE_OCTAL_CHAR, RE_HEX_CHAR, + RE_UNICODE_CHAR): New syntax bits. + +2006-01-19 Roman Kennke + + * native/target/Makefile.am: Fixed so that posix stuff is really + only built when requested. + +2006-01-19 Audrius Meskauskas + + * javax/swing/JTable.java (editingStopped, editingCancelled): + Repaint the edited cell. + (setValueAt): Do not add the value object to this container. + (editorTimer, rowBeingEdited, columnBeingEdited, oldCellValue): Removed. + (editingStopped): Use editingRow, editingColumn and not + rowBeingEdited, columnBeingEdited. (editValueAt): rewritten. + (doLayout): Move the editor component, if present, into the new + location and call repaint(). (moveToCellBeingEdited): new method. + (TableTextField): new inner class. + (getDefaultEditor): Instantiante TableTextField, not JTextField. + (setValueAt): Repaint the changed segment. + (createDefaultEditors): Implemented. + (BooleanCellRenderer): Center the checkbox and use the default foreground + and background colors. + * javax/swing/plaf/basic/BasicTableUI.java + (paintCell): Do not paint the caret here. Do not accept unused parameters. + (paint): No need to allocate rectangle for each cell. + * javax/swing/DefaultCellEditor.java: Rewritten. + * examples/gnu/classpath/examples/swing/Demo.java (mkTable): + Use TableDemo.java table example. + * examples/gnu/classpath/examples/swing/TableDemo.java: New file. + +2006-01-19 Roman Kennke + + * configure.ac: Added/fixed --enable-posix-layer option to enable + build of posix layer. + * native/target/Makefile.am: Added build for posix layer. + +2006-01-19 Christian Thalinger + + * configure.ac: Set TARGET to Linux per default. + * native/target/Makefile.am (libtarget_la_LIBADD): Removed + libtargetos.la. + * native/target/Linux/Makefile.am: Don't build a libtargetos.la. + * native/target/generic/Makefile.am (INCLUDES): Renamed to + AM_CPPFLAGS. + +2006-01-19 Raif S. Naffah + + * java/security/interfaces/RSAMultiPrimePrivateCrtKey.java: Replaced + what looked like proprietary documentation with original or new one. + * java/security/spec/PSSParameterSpec.java: Likewise. + * java/security/spec/RSAMultiPrimePrivateCrtKeySpec.java: Likewise. + * java/security/spec/RSAOtherPrimeInfo.java: Likewise. + * java/security/AlgorithmParameterGenerator.java: Likewise. + * java/security/AlgorithmParameters.java: Likewise. + * java/security/Identity.java: Likewise. + * java/security/IdentityScope.java: Likewise. + * java/security/KeyFactory.java: Likewise. + * java/security/KeyPairGenerator.java: Likewise. + * java/security/MessageDigest.java: Likewise. + * java/security/Policy.java: Likewise. + * java/security/ProtectionDomain.java: Likewise. + * java/security/Security.java: Likewise. + * java/security/Signature.java: Likewise. + * java/security/SignatureSpi.java: Likewise. + * java/security/SignedObject.java: Likewise. + * java/security/Signer.java: Likewise. + +2006-01-18 Roman Kennke + + * configure.ac: Added --enable-posix-layer option to enable + build of the posix target layer. + +2006-01-18 Roman Kennke + + * native/jni/java-net/java_net_VMInetAddress.c + (Java_java_net_VMInetAddress_lookupInaddrAny): Use target native macro + for INADDR_ANY. + +2006-01-18 Roman Kennke + + * native/jni/java-util/java_util_VMTimeZone.c: + (Java_java_util_VMTimeZone_getSystemTimeZoneId): Rewritten + to use target native layer. + (jint_to_charbuf): Removed unneeded helper function. + +2006-01-18 Roman Kennke + + * native/jni/java-nio/gnu_java_nio_VMPipe.c: + Removed unnecessary include. + * native/jni/java-nio/gnu_java_nio_VMSelector.c: + Reorganized includes to only include sys/* headers when available. + * native/jni/java-nio/java_nio_MappedByteBufferImpl.c: + (get_pagesize): Return 0 when nothing else works. + (Java_java_nio_MappedByteBufferImpl_unmapImpl): + Replaced munmap() and strerror() with corresponding target macros. + (Java_java_nio_MappedByteBufferImpl_isLoadedImpl): + Replaced strerror() with corresponding target macro. + (Java_java_nio_MappedByteBufferImpl_forceImpl): + Replaced strerror() with corresponding target macro. + * native/jni/java-nio/java_nio_VMDirectByteBuffer.c: + (Java_java_nio_VMDirectByteBuffer_allocate): + Replaced malloc() with the corresponding target macro. + (Java_java_nio_VMDirectByteBuffer_free): + Replaced free() with the corresponding target macro. + (Java_java_nio_VMDirectByteBuffer_put__Lgnu_classpath_Pointer_2IB): + Add index to pointer when assigning the value. + (Java_java_nio_VMDirectByteBuffer_get__Lgnu_classpath_Pointer_2I_3BII): + Replaced memcpy with corresponding target macro. Add index when + doing the memcpy, not when fetching the pointer. + (Java_java_nio_VMDirectByteBuffer_put__Lgnu_classpath_Pointer_2I_3BII): + Replaced memcpy with corresponding target macro. + (Java_java_nio_VMDirectByteBuffer_shiftDown): + Replaced memmove with the corresponding target macro. + +2006-01-17 Tom Tromey + + PR classpath/20198: + * java/net/URLClassLoader.java (FileURLLoader): Added argument. + (JarURLLoader): Likewise. + (addURLImpl): Canonicalize file URLs. + +2006-01-17 Christian Thalinger + + * configure.ac: Set TARGET. + * native/Makefile.am, native/jni/classpath/Makefile.am, + native/jni/gtk-peer/Makefile.am, native/jni/java-io/Makefile.am, + native/jni/java-lang/Makefile.am, native/jni/java-net/Makefile.am, + native/jni/java-nio/Makefile.am, native/jni/midi-dssi/Makefile.am, + native/jni/xmlj/Makefile.am, native/target/Makefile.am, + native/target/Linux/Makefile.am, + native/target/generic/Makefile.am, + native/target/posix/Makefile.am: Build libclasspath.so with jcl + and target stuff linked in and link it against lib*.so libraries. + +2006-01-17 Roman Kennke + + * native/jni/java-net/javanet.c: + (_javanet_connect): Changed type of some local variables to jint. + Fixed error handling to throw a SocketTimeoutException if the + connection attempt times out. + (_javanet_bind): Changed type of some local variables to jint. + (_javanet_accept): Likewise. + (_javanet_recvfrom): Likewise. + (_javanet_sendto): Fixed error handling to throw a + PortUnreachableException when connection is refused. + (_javanet_get_option): Changed type of some local variables to jint. + Implemented SOCKOPT_SO_BROADCAST. + (_javanet_shutdownInput): Replaced shutdown call with corresponding + target native macro. + (_javanet_shutdownOutput): Replaced shutdown call with corresponding + target native macro. + * native/jni/java-net/javanet.h: + Defined SOCKET_TIMEOUT_EXCEPTION, PORT_UNREACHABLE_EXCEPTION and + SOCKOPT_SO_BROADCAST. + +2006-01-17 Lillian Angel + + * javax/swing/text/DefaultStyledDocument.java + (insert): Cleaned up loop. No need to make so many calls + to getAddedElements and getRemovedElements. + (insertFracture): Removed unneeded array. + +2006-01-17 Lillian Angel + + * javax/swing/text/JTextComponent.java + (AccessibleJTextComponent): Implemented. + (getCaretPosition): Implemented. + (getSelectedText): Implemented. + (getSelectionStart): Implemented. + (getSelectionEnd): Implemented. + (getSelectionEnd): Implemented. + (getCharCount): Implemented. + (insertTextAtIndex): Implemented. + (getTextRange): Implemented. + (delete): Implemented. + (cut): Implemented. + (paste): Implemented. + (replaceText): Implemented. + (selectText): Implemented. + +2006-01-17 Anthony Balkissoon + + * javax/swing/text/DefaultStyledDocument.java: + (pad): New debugging method. + (printElements): Likewise. + (printPendingEdits): Likewise. + (printElement): Likewise. + (Edit): Improved docs, moved this class to be an inner class of + ElementBuffer since it only applies within that scope. Changed added + and removed to be Vectors instead of arrays because we need to be able + to add to them after construction. + (ElementBuffer): Updated docs with link to article that helped in this + classes implementation. + (ElementBuffer.Edit.getRemovedElements): New method. + (ElementBuffer.Edit.getAddedElements): Likewise. + (ElementBuffer.Edit.addRemovedElement): Likewise. + (ElementBuffer.Edit.addRemovedElements): Likewise. + (ElementBuffer.Edit.addAddedElement): Likewise. + (ElementBuffer.Edit.addAddedElements): Likewise. + (ElementBuffer.Edit): Improved docs, call addRemovedElements and + addAddedElements. + (ElementBuffer.getEditForParagraphAndIndex): New method. + (ElementBuffer.removeUpdate): Changed type of paragraph to + BranchElement. Corrected style of adding the edit to use the new Edit + facilities. + (ElementBuffer.changeUpdate): Changed style of adding the edit to use + the new Edit facilities. + (ElementBuffer.split): Likewise. + (ElementBuffer.insertParagraph): Likewise. + (ElementBuffer.insertContentTag): Likewise. + (ElementBuffer.insert): Push all BranchElements until the deepest one, + not just the root and the first one. Apply the structural changes to + the tree at the same time as updating the DocumentEvent. + (ElementBuffer.insertUpdate): Fixed docs. Removed the special case + handling of EndTags as the first ElementSpec. Instead have to handle + ContentTags as a special case if they are the first ElementSpec and if + not have to fracture the tree. + (ElementBuffer.createFracture): New method. May not be complete yet. + Added FIXME indicating what may remain to be done. + (ElementBuffer.insertFirstContentTag): New method. + (ElementBuffer.insertFracture): Added FIXME explaining what remains to + be done. Changed the adding of edits to use the new Edit facilities. + Removed the adding of edits for Elements that weren't in the tree prior + to the insertion. + (insertUpdate): Removed incorrect condition for setting a StartTag's + direction to JoinNextDirection. + * javax/swing/text/StyleContent.java: + (SmallAttributeSet.toString): Fixed an off-by-one error in the loop + that was causing an ArrayOutOfBoundsException. + +2006-01-17 Roman Kennke + + * native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c: + (Java_gnu_java_nio_channels_FileChannelImpl_init): Improved + exception messages a little. + (Java_gnu_java_nio_channels_FileChannelImpl_open): Provided + alternative implementation for systems without filesystems. + Replaced snprintf with the corresponding target native macro. + (Java_gnu_java_nio_channels_FileChannelImpl_implCloseChannel): + Only do something when we have a filesystem. + (Java_gnu_java_nio_channels_FileChannelImpl_available): Provided + alternative implementation for systems without filesystems. + (Java_gnu_java_nio_channels_FileChannelImpl_size): Provided + alternative implementation for systems without filesystems. + (Java_gnu_java_nio_channels_FileChannelImpl_implPosition): Provided + alternative implementation for systems without filesystems. + (Java_gnu_java_nio_channels_FileChannelImpl_seek): + Only do something when we have a filesystem. + (Java_gnu_java_nio_channels_FileChannelImpl_implTruncate): + Only do something when we have a filesystem. + (Java_gnu_java_nio_channels_FileChannelImpl_mapImpl): Provided + alternative implementation for systems without filesystems. + (Java_gnu_java_nio_channels_FileChannelImpl_read__): + Replaced ssize_t variables with jint. Provided + alternative implementation for systems without filesystems. + (Java_gnu_java_nio_channels_FileChannelImpl_read___3BII): + Replaced ssize_t variables with jint. Provided + alternative implementation for systems without filesystems. + (Java_gnu_java_nio_channels_FileChannelImpl_write__I): + Replaced ssize_t variables with jint. Provided + alternative implementation for systems without filesystems. + (Java_gnu_java_nio_channels_FileChannelImpl_force): + Only do something when we have a filesystem. + (Java_gnu_java_nio_channels_FileChannelImpl_write___3BII): + Replaced ssize_t variables with jint. Provided + alternative implementation for systems without filesystems. + (Java_gnu_java_nio_channels_FileChannelImpl_lock): Reimplemented + to use the corresponding target native macro. + (Java_gnu_java_nio_channels_FileChannelImpl_unlock): Reimplemented + to use the corresponding target native macro. + +2006-01-17 Lillian Angel + + * javax/swing/text/DefaultTextUI.java: + Added deprecated tag. + * javax/swing/text/JTextComponent.java + (AccessibleJTextComponent): Fixed API doc and + partiall9 implemented. + (getCaretPosition): Fixed API doc and implemented. + (getSelectedText): Fixed API doc. + (getSelectionStart): Likewise. + (getSelectionEnd): Likewise. + (caretUpdate): Fixed API doc and + partially implemented. + (getAccessibleStateSet): Likewise. + (getAccessibleRole): Fixed API doc and implemented. + (getAccessibleEditableText): Implemented. + (getAccessibleText): Fixed API doc and implemented. + (insertUpdate): Fixed API doc. + (changedUpdate): Likewise. + (getIndexAtPoint): Likewise. + (getRootEditorRect): Removed. + (getCharacterBounds): Fixed API doc. + (getCharCount): Likewise. + (getCharacterAttribute): Likewise. + (getAtIndex): Likewise. + (getAfterIndex): Likewise. + (getBeforeIndex): Likewise. + (getAccessibleActionCount): Added function stub. + (getAccessibleActionDescription): Added function, + partially implemented. + (doAccessibleAction): Added function stub. + (setTextContents): Likewise. + (insertTextAtIndex): Likewise. + (delete): Likewise. + (cut): Likewise. + (paste): Likewise. + (replaceText): Likewise. + (selectText): Likewise. + (setAttributes): Likewise. + (getAccessibleContext): Implemented. + +2006-01-17 Ito Kazumitsu + + Fixes bug #25817 + * gnu/regexp/RETokenRange.java(constructor): + Keep lo and hi as they are. + (match): Changed the case insensitive comparison. + +2006-01-17 Ito Kazumitsu + + * gnu/regexp/RETokenChar.java(chain): + Do not concatenate tokens whose insens flags are diffent. + +2006-01-17 Roman Kennke + + * native/target/generic/target_generic_network.c: + (targetGenericNetwork_receive): Fixed signature to match the + corresponding .h file. + (targetGenericNetwork_receiveWithAddressPort): Fixed signature + to match the corresponding .h file. + +2006-01-17 Roman Kennke + + * native/jni/classpath/jcl.c: + (JCL_malloc): Replaced calls to malloc with the corresponding + target layer macro. + (JCL_free): Replaced calls to free with the corresponding + target layer macro. + * native/jni/classpath/native_state.c: + (cp_gtk_init_state_table_with_size): Replaced calls to malloc and + calloc with the corresponding target layer macro. + (remove_node): Replaced calls to free with the corresponding + target layer macro. + (add_node): Replaced calls to malloc with the corresponding + target layer macro. + +2006-01-17 Roman Kennke + + * native/jni/java-io/java_io_VMObjectStreamClass.c: + (getFieldReference): Use MALLOC/FREE macros for portability instead + of direct call to malloc() and free(). + +2006-01-17 Roman Kennke + + * native/jni/classpath/jcl.c: Added missing imports. + (JCL_realloc): Fixed signature to include oldsize. This is needed + for some targets. Make this function use the MEMORY_REALLOC macro + for portability. + * native/jni/classpath/jcl.h + (JCL_realloc): Adjusted signature. + * native/jni/java-io/java_io_VMFile.c: + (Java_java_io_VMFile_create): Use target layer macro for handling + errno, for portability. + (Java_java_io_VMFile_length): Release filename string in error cases + before returning. + (Java_java_io_VMFile_list): Initialize filename variable. Use new + version of JCL_realloc. + * native/jni/java-net/java_net_VMInetAddress.c: + (Java_java_net_VMInetAddress_getHostByName): Use renamed macro + TARGET_NATIVE_NETWORK_GET_HOSTADDRESS_BY_NAME. + * native/jni/java-net/javanet.c: + (_javanet_bind): Make errorstr variable const to avoid compiler + warning. + (_javanet_set_option): Fixed typo. + (_javanet_get_option): Fixed typo. + * native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c: + (Java_gnu_java_nio_channels_FileChannelImpl_open): Made + error_string variable const to avoid compiler warning. + * native/target/generic/target_generic_file.h: + Replaced // comments with /* */ comments to avoid compiler warnings. + Added some spaces to make code better readable. + * native/target/generic/target_generic_memory.h: + Replaced // comments with /* */ comments to avoid compiler warnings. + * native/target/generic/target_generic_misc.c: + Removed unused TARGET_NATIVE_MISC_FORMAT_STRING macro. This caused + compiler warnings due to use of varargs. + * native/target/generic/target_generic_misc.h: + Removed unused TARGET_NATIVE_MISC_FORMAT_STRING macro. This caused + compiler warnings due to use of varargs. + * native/target/generic/target_generic_network.h: + Replaced // comments with /* */ comments to avoid compiler warnings. + (targetGenericNetwork_receive): Fixed signature to use signed chars + for buffer parameter to avoid warning when passing a jbyte to the + function. + +2006-01-17 David Gilbert + + * javax/swing/text/StyleConstants.java + (getAlignment): Removed isDefined() check, so that resolving parent is + used for lookup, + (getBackground): Likewise, plus changed default value to Color.BLACK, + (getBidiLevel): Removed isDefined() check, + (getComponent): Likewise, + (getFirstLineIndent): Likewise, + (getFontFamily): Likewise, + (getFontSize): Likewise, + (getForeground): Likewise, + (getIcon): Likewise, + (getLeftIndent): Likewise, + (getLineSpacing): Likewise, + (getRightIndent): Likewise, + (getSpaceAbove): Likewise, + (getSpaceBelow): Likewise, + (getTabSet): Likewise, + (isBold): Likewise, + (isItalic): Likewise, + (isStrikeThrough): Likewise, + (isSubscript): Likewise, + (isSuperscript): Likewise, + (isUnderline): Likewise. + +2006-01-17 Gary Benson + + * java/lang/System.java (setSecurityManager): Catch + ClassNotFoundException not Throwable. + +2006-01-16 Anthony Green + + PR classpath/25803 + * gnu/java/net/protocol/http/Request.java + (createResponseBodyStream): Remove Content-Encoding for + compressed streams. + +2006-01-16 Chris Burdess + + * gnu/xml/stream/XMLParser.java, + gnu/xml/stream/XMLStreamWriterImpl.java: Thoroughly check + XMLStreamWriter arguments for conformance to the XML specifications. + * gnu/xml/transform/Stylesheet.java, + gnu/xml/transform/Template.java, + gnu/xml/transform/TransformerImpl.java, + gnu/xml/xpath/LangFunction.java, + gnu/xml/xpath/Selector.java: better handling of template priorities; + fix indents when pretty-printing; recursive tests for xml:lang. + * gnu/xml/util/XHTMLWriter.java, + gnu/xml/util/XMLWriter.java: Deprecate old serializer classes. + +2006-01-16 Roman Kennke + + * native/target/MinGW/.cvsignore: New file. + * native/target/RTEMS/.cvsignore: New file. + * native/target/SunOS/.cvsignore: New file. + * native/target/embOS/.cvsignore: New file. + * native/target/posix/.cvsignore: New file. + +2006-01-16 David Gilbert + + * javax/swing/text/StyleConstants.java: Updated API docs all over. + +2006-01-16 Roman Kennke + + * configure.ac: Include new target native directories in build. + +2006-01-16 Roman Kennke + + * native/target/generic/target_generic_file.h: Added missing + include. + * native/target/generic/target_generic_network.c: Fixed several + typos and includes. + * native/target/generic/target_generic_network.h: Likewise. + +2006-01-16 Roman Kennke + + * native/target/Makefile.am: Adjusted SUBDIRS and DIST_SUBDIRS + to include the new targets. + * native/target/posix/Makefile.am: Fixed filenames. + +2006-01-16 Roman Kennke + + * native/target/Makefile.am: Include new targets. + * native/target/Linux/Makefile.am: Include new memory layer. + * native/target/MinGW/Makefile.am: New file. Includes MinGW in dist. + * native/target/RTEMS/Makefile.am: New file. Includes RTEMS in dist. + * native/target/SunOS/Makefile.am: New file. Includes SunOS in dist. + * native/target/embOS/Makefile.am: New file. Includes embOS in dist. + * native/target/generic/Makefile.am: Include new memory and math + layer. + * native/target/posix/Makefile.am: New file. Includes posix in dist. + +2006-01-16 Ito Kazumitsu + + Fixes bug #22884 + * gnu/regexp/RE.java(initialize): Parse embedded flags. + * gnu/regexp/RESyntax.java(RE_EMBEDDED_FLAGS): New syntax bit. + +2006-01-16 Roman Kennke + + * native/target/generic/target_generic_network.c: Fixed typo. + * native/target/generic/target_generic_network.h: Fixed typo. + +2006-01-16 Nicolas Geoffray + + * doc/vmintegration.texinfo: Updated subsection of the + java.lang.InstrumentationImpl documentation. + +2006-01-16 Roman Kennke + + * native/target/RTEMS/target_native.h, + * native/target/RTEMS/target_native_file.h, + * native/target/RTEMS/target_native_io.h, + * native/target/RTEMS/target_native_math.h, + * native/target/RTEMS/target_native_memory.h, + * native/target/RTEMS/target_native_misc.h, + * native/target/RTEMS/target_native_network.h: + New files. Implement the target native layer for the RTEMS platform. + +2006-01-16 Roman Kennke + + * native/target/SunOS/target_native.h, + * native/target/SunOS/target_native_file.h, + * native/target/SunOS/target_native_io.h, + * native/target/SunOS/target_native_math.h, + * native/target/SunOS/target_native_memory.h, + * native/target/SunOS/target_native_misc.h, + * native/target/SunOS/target_native_network.h: + New files. Implement the target native layer for the SunOS platform. + +2006-01-16 Roman Kennke + + * native/target/MinGW/target_native.h, + * native/target/MinGW/target_native_file.h, + * native/target/MinGW/target_native_io.h, + * native/target/MinGW/target_native_math.h, + * native/target/MinGW/target_native_memory.h, + * native/target/MinGW/target_native_misc.h, + * native/target/MinGW/target_native_network.h: + New files. Implement the target native layer for the MinGW + platform. + +2006-01-16 Audrius Meskauskas + + PR 25770 + * javax/swing/DefaultCellEditor.java + (delegate): Assign new instance immediately. + (DefaultCellEditor(JTextField textfield)): Require 2 clicks. + (getTableCellEditorComponent): Rewritten. + (prepareAsJTextField):New method (add listener only once). + * javax/swing/JTable.java + (editingCanceled): Rewritten. + (editingStopped ): Rewritten. + (rowAtPoint): Mind row margin. + (getCellRect): Mind row margin. + (getDefaultEditor): Removing JTextComponent border. + (editCellAt): Rewritten. + * javax/swing/plaf/basic/BasicTableUI.java (MouseInputHandler): + Activate editing mode by the mouse clicks. + (getMaximumSize): Mind row margin. + (getPreferredSize): Mind row margin. + (TableAction): Added 'stop editing' command. + +2006-01-16 Roman Kennke + + * jni/java-io/java_io_VMFile.c + (Java_java_io_VMFile_list): Use new 4 argument version of + TARGET_NATIVE_FILE_READ_DIR macro. + * target/Linux/target_native_io.h: Fixed comment at #endif. + * target/Linux/target_native_memory.h: New file. Contains + portability macros for memory operations. + * target/generic/target_generic.c: New file. Contains some functions + for portability. + * target/generic/target_generic.h: Use posix target and shorter macro + names if CP_NEW is set. + * target/generic/target_generic_file.h: Use posix target and shorter + macro names if CP_NEW is set. + (TARGET_NATIVE_FILE_READ_DIR): New parameter for maxNameLength. + * target/generic/target_generic_io.c: New file. Contains some + functions for IO portability. + * target/generic/target_generic_io.h: Use posix target and shorter + macro names if CP_NEW is set. + * target/generic/target_generic_misc.c: New file. Contains some + functions for miscallaneaous portability issues. + * target/generic/target_generic_misc.h: Use posix target and shorter + macro names if CP_NEW is set. + * target/generic/target_generic_network.c: New file. Contains some + functions for networking portability. + * target/generic/target_generic_network.h: Use posix target and + shorter macro names if CP_NEW is set. + * target/posix/Makefile.am, + * target/posix/target_posix.c, + * target/posix/target_posix.h, + * target/posix/target_posix_file.c, + * target/posix/target_posix_file.h, + * target/posix/target_posix_io.c, + * target/posix/target_posix_io.h, + * target/posix/target_posix_math.c, + * target/posix/target_posix_math.h, + * target/posix/target_posix_memory.c, + * target/posix/target_posix_memory.h, + * target/posix/target_posix_misc.c, + * target/posix/target_posix_misc.h, + * target/posix/target_posix_network.c, + * target/posix/target_posix_network.h: + New files. This implements the target native layer macros for + Posix-like systems. + +2006-01-16 Gary Benson + + * java/net/SocketPermission.java (implies): Fix action checks. + +2006-01-16 Roman Kennke + + * native/target/generic/target_generic_math_float.h: Removed. This + file has been replaced by target_generic_math.h. + * native/target/generic/target_generic_math_int.h: Removed. This + file has been replaced by target_generic_math.h. + * native/target/generic/target_generic_math.h: New file. Replaces + the old _int and _float versions. + * native/target/Linux/target_native_math_float.h: Removed. This + file has been replaced by target_native_math.h. + * native/target/Linux/target_native_math_int.h: Removed. This + file has been replaced by target_native_math.h. + * native/target/Linux/target_native_math.h: New file. Replaces + the old _int and _float versions. + * native/target/Linux/Makefile.am: Adjusted for the changed + filenames. + * native/jni/java-io/java_io_VMFile.c: Include target_native_math.h + instead of target_native_math_int.h. + * native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c: + Likewise. + * native/target/generic/target_generic_file.h: Likewise. + +2006-01-16 David Gilbert + + * javax/swing/text/MutableAttributeSet.java: Updated API docs all over. + +2006-01-16 David Gilbert + + * javax/swing/text/SimpleAttributeSet.java + (SimpleAttributeSet()): Initialise storage directly, + (SimpleAttributeSet(AttributeSet)): Removed null check and documented + NullPointerException, + (containsAttribute): If key is found locally, don't check resolving + parent if the value doesn't match, + (getAttribute): Removed redundant instanceof and cast. + +2006-01-16 Gary Benson + + * java/lang/System.java (setSecurityManager): Ensure policy + files are loaded before a security manager is put in place. + +2006-01-16 David Gilbert + + * javax/swing/text/SimpleAttributeSet.java: Updated API docs all over. + +2006-01-16 Wolfgang Baer + + * javax/print/attribute/standard/MediaSize.java: + (static_initializer): Added comment. + (MediaSize): Added javadoc to mention cache registration. + (MediaSize): Likewise. + (MediaSize): Likewise. + (MediaSize): Likewise. + +2006-01-16 Raif S. Naffah + + PR classpath/25202 + * gnu/javax/security/auth/login/ConfigFileTokenizer.java: New class. + * gnu/javax/security/auth/login/ConfigFileParser.java: New class. + * gnu/javax/security/auth/login/GnuConfiguration.java: New class. + * javax/security/auth/login/AppConfigurationEntry.java: Updated + copyright year. + (toString): Added method implementation. + (LoginModuleControlFlag.toString): Removed class name from result. + * javax/security/auth/login/Configuration.java: Updated copyright year. + (getConfig(): replaced calls to NullConfiguration with + GnuConfiguration. + +2006-01-15 Tom Tromey + + * javax/swing/text/html/HTMLDocument.java (parseBuffer): Genericized. + * javax/swing/text/StyleContext.java (removeAttributes): Genericized. + * java/beans/PersistenceDelegate.java (initialize): Genericized. + * java/beans/Encoder.java (getPersistenceDelegate): Genericized. + (setPersistenceDelegate): Likewise. + +2006-01-15 Wolfgang Baer + + * javax/print/attribute/standard/PrinterStateReasons.java: + (printerStateReasonSet): Genericize the return type. + +2006-01-15 Audrius Meskauskas + + * javax/swing/table/DefaultTableCellRenderer.java + (getTableCellRendererComponent): Render null as the empty cell. + +2006-01-14 Anthony Green + + * java/net/ServerSocket.java (accept): Remove bogus + security check. + (implAccept): Add FIXME comment. + +2006-01-14 Wolfgang Baer + + Fixes bug #25387 + * javax/print/Doc.java: Added and enhanced documentation. + * javax/print/SimpleDoc.java: New file. + +2006-01-14 Wolfgang Baer + + * javax/print/attribute/standard/MediaSize.java: + (Other.TABLOID): New MediaSize added in 1.5 + +2006-01-14 Chris Burdess + + * gnu/xml/stream/SAXParser.java: Ensure that parser is reset + correctly when I/O and runtime exceptions occur during parsing. + +2006-01-13 Roman Kennke + + * gnu/java/awt/peer/swing/SwingButtonPeer.java, + * gnu/java/awt/peer/swing/SwingCanvasPeer.java, + * gnu/java/awt/peer/swing/SwingComponent.java, + * gnu/java/awt/peer/swing/SwingComponentPeer.java, + * gnu/java/awt/peer/swing/SwingContainerPeer.java, + * gnu/java/awt/peer/swing/SwingFramePeer.java, + * gnu/java/awt/peer/swing/SwingLabelPeer.java, + * gnu/java/awt/peer/swing/SwingMenuBarPeer.java, + * gnu/java/awt/peer/swing/SwingMenuItemPeer.java, + * gnu/java/awt/peer/swing/SwingMenuPeer.java, + * gnu/java/awt/peer/swing/SwingPanelPeer.java, + * gnu/java/awt/peer/swing/SwingTextFieldPeer.java, + * gnu/java/awt/peer/swing/SwingToolkit.java, + * gnu/java/awt/peer/swing/SwingWindowPeer.java, + * gnu/java/awt/peer/swing/package.html: + New files. Implemented some basic AWT peers based on Swing. + +2006-01-13 Roman Kennke + + * java/awt/peer/ComponentPeer.java: Added API docs all over. + +2006-01-13 Roman Kennke + + * java/awt/MenuComponent.java: Reformatted to better match our + coding style. + +2006-01-13 Roman Kennke + + * java/awt/Frame.java: Reformatted to better match our + coding style. + +2006-01-13 Roman Kennke + + * java/awt/MenuBar.java + (accessibleContext): Removed unnecessary field. This is already + defined in MenuComponent. + (setHelpMenu): Renamed the peer variable to myPeer because it was + hiding a field of MenuComponent. + (addNotify): Removed unnecessary cast. + +2006-01-13 Roman Kennke + + * java/awt/MenuBar.java: Reformatted to better match our + coding style. + +2006-01-13 Roman Kennke + + * java/awt/MenuBar.java + (frame): New field. + (removeNotify): Clear frame field when beeing removed from the + frame. + * java/awt/Frame.java + (setMenuBar): Store a reference of the frame in the MenuBar. + * java/awt/MenuComponent.java + (postEvent): Implemented to forward the call to the parent until + a parent can handle the event. + (dispatchEvent): Moved handling of old style events from + dispatchEventImpl() to here. + (dispatchEventImpl): Moved handling of old style events to + dispatchEvent(). + +2006-01-13 Roman Kennke + + * java/awt/Component.java + (dispatchEvent): Moved handling of old style events from + dispatchEventImpl() to this method. + (translateEvent): Removed unnecessary cast. + (dispatchEventImpl): Moved handling of old style events to + dispatchEvent(). + +2006-01-13 Lillian Angel + + * javax/swing/text/DefaultStyledDocument.java + (createDefaultRoot): Removed FIXME. + (setLogicalStyle): Added fireUndoableEditUpdate call and + removed FIXME. + +2006-01-13 Lillian Angel + + * javax/swing/text/DefaultStyledDocument.java + (Edit): New inner class. + (changeUpdate): Changed addEdit call to add a new + instance of Edit to the edits Vector, so addEdits can + be done later. + (split): Likewise. + (insertParagraph): Likewise. + (insertFracture): Likewise. + (insertContentTag): Likewise. + (insert): Added loop to go through edits Vector and perform + addEdit on each object. + +2006-01-13 Chris Burdess + + * gnu/xml/transform/AbstractNumberNode.java, + gnu/xml/transform/ApplyImportsNode.java, + gnu/xml/transform/ApplyTemplatesNode.java, + gnu/xml/transform/AttributeNode.java, + gnu/xml/transform/CallTemplateNode.java, + gnu/xml/transform/ChooseNode.java, + gnu/xml/transform/CommentNode.java, + gnu/xml/transform/CopyNode.java, + gnu/xml/transform/CopyOfNode.java, + gnu/xml/transform/DocumentFunction.java, + gnu/xml/transform/ElementNode.java, + gnu/xml/transform/ForEachNode.java, + gnu/xml/transform/IfNode.java, + gnu/xml/transform/LiteralNode.java, + gnu/xml/transform/MessageNode.java, + gnu/xml/transform/OtherwiseNode.java, + gnu/xml/transform/ParameterNode.java, + gnu/xml/transform/ProcessingInstructionNode.java, + gnu/xml/transform/Stylesheet.java, + gnu/xml/transform/Template.java, + gnu/xml/transform/TemplateNode.java, + gnu/xml/transform/TextNode.java, + gnu/xml/transform/TransformerImpl.java, + gnu/xml/transform/ValueOfNode.java, + gnu/xml/transform/WhenNode.java, + gnu/xml/xpath/NodeTypeTest.java, + gnu/xml/xpath/Selector.java: simplified debugging output; ignore + with-param parameters when template does not define parameters; apply + conflict resolution for templates; strip whitespace on documents + retrieved via document() function; allow node() to match document + nodes. + +2006-01-13 Mark Wielaard + + * doc/www.gnu.org/announce/20060113.wml: New file. + * doc/www.gnu.org/newsitems.txt: Add 0.20 release announcement. + * doc/www.gnu.org/downloads/downloads.wml: Add 0.20. + +2006-01-13 Lillian Angel + + * javax/swing/text/DefaultStyledDocument.java: + Removed unused fields. + (insert): Removed unused fields. + (endEdit): Removed, not needed. + (insertUpdate): Removed call to endEdit. + (prepareContentInsertion): Removed, not needed. + (insertContentTag): Removed call to prepareContentInsertion. + (printElements): Removed, not needed. + (attributeSetsAreSame): Removed, not needed. + +2005-01-13 Mark Wielaard + + * java/lang/reflect/Modifier.java (toString(int, StringBuffer)): + Duplicate of toString(int, StringBuilder). + +2005-01-13 Mark Wielaard + + * configure.ac: Set version to 0.20. + * NEWS: Add entries for all the new work done. + +2005-01-13 Mark Wielaard + + * javax/swing/text/DefaultCaret.java: Chain all AssertionErrors. + +2005-01-13 Mark Wielaard + + * java/util/regex/Pattern.java (Pattern): Chain REException. + +2006-01-13 Chris Burdess + + * gnu/xml/xpath/NameTest.java: Removed debugging output. + +2005-01-13 Jeroen Frijters + + * java/security/Security.java + (getProperty): Added hack to skip security check when trusted + code is direct caller. + +2005-01-13 Jeroen Frijters + + * java/io/PrintStream.java + (line_separator, PrintStream(OutputStream,boolean)): Use + SystemProperties. + +2005-01-13 Jeroen Frijters + + * gnu/java/nio/charset/Provider.java: Added comment about its + special relation with CharsetProvider. + (static): Removed. + * gnu/java/nio/charset/iconv/IconvProvider.java: Added comment about + its special relation with CharsetProvider. + (static): Removed. + * java/nio/charset/spi/CharsetProvider.java + (CharsetProvider): Add special case to skip security check for + built in providers. + +2005-01-13 Mark Wielaard + + * javax/swing/JMenuItem.java (JMenuItem(Action)): Check whether + name, accel, mnemonic and command are defined before setting. + +2005-01-12 Mark Wielaard + + * javax/swing/plaf/metal/MetalFileChooserUI.java + (FileRenderer.getListCellRendererComponent): Set empty name and null + icon when File is null. + +2006-01-13 Audrius Meskauskas + + * gnu/java/rmi/server/UnicastRef.java (newCall): + Throw ConnectException after catching IOException. + +2006-01-12 Lillian Angel + + * javax/swing/text/DefaultStyledDocument.java + (insertUpdate): Removed unneeded check. + +2006-01-12 Anthony Balkissoon + + * javax/swing/text/DefaultStyledDocument.java: + (ElementBuffer.insertContentTag): If the direction is JoinNextDirection + and we haven't come immediately after a fracture, adjust the Element + offsets. Added comment explaining the situation. + (insert): Return early if no ElementSpecs passed in. Removed redundant + call to insertUpdate. Fired the UndoableEditUpdate. + +2006-01-12 Ito Kazumitsu + + Fixes bug #22802 + * gnu/regexp/RE.java(initialize): Fixed the parsing of + character classes within a subexpression. + +2006-12-12 Lillian Angel + + * javax/swing/text/DefaultStyledDocument.java + (insertUpdate): Added check to check if attribute set is + empty. + (insertUpdate): Added check to determine if last character + is a newline. If it is, we should not be fracturing. + (insert): Added check to determine if attribute set is empty. + If it is, insertUpdate should not be called. + +2006-12-12 Guilhem Lavaux + + * configure.ac: Check for isnan. + + * native/fdlibm/fdlibm.h: If we have a isnan function then do not + define the macro. + +2006-01-12 Chris Burdess + + * gnu/xml/stream/XMLParser.java: Corrected the handling of some XML + 1.1 character ranges. + +2006-01-12 Anthony Balkissoon + + * javax/swing/TransferHandler.java: + (TransferAction): Call super constructor. Fixes Mauve regression + gnu/testlet/javax/swing/JTextField/CopyPaste. + +2006-01-12 Christian Thalinger + + * resource/Makefile.am: Install + logging.properties into $(prefix)/lib. + * resource/Makefile.am (securitydir): Changed to + $(prefix)/lib/security. + +2006-01-12 Roman Kennke + + * javax/swing/JTextField.java + (createDefaultModel): Moved installation of the filterNewlines + property to setDocument(). + (setDocument): New method. Installs the filterNewlines property + on the document. + +2006-01-12 Chris Burdess + + * gnu/xml/dom/DomNode.java, + gnu/xml/transform/ElementAvailableFunction.java: Removed debugging + output. + * gnu/xml/xpath/NameTest.java, + gnu/xml/xpath/NamespaceTest.java, + gnu/xml/xpath/Selector.java: Fix regression for namespace axis + navigation. + * gnu/xml/transform/MessageNode.java: Use standard logging system + for outputting messages. + +2006-01-12 Tom Tromey + + * java/net/InetAddress.java (DEFAULT_CACHE_SIZE): Removed. + (DEFAULT_CACHE_PERIOD, DEFAULT_CACHE_PURGE_PCT): Likewise. + (cache_size, cache_period, cache_purge_pct, cache): Likewise. + (static initializer): Removed cache code. + (checkCacheFor, addToCache): Removed. + (getAllByName): Removed cache code. + (lookup_time): Removed. + (InetAddress): Updated. + +2006-01-12 Chris Burdess + + * gnu/xml/dom/DomDocument.java, + gnu/xml/dom/DomElement.java, + gnu/xml/dom/DomNode.java, + gnu/xml/stream/XMLParser.java, + gnu/xml/transform/Bindings.java, + gnu/xml/transform/ElementAvailableFunction.java, + gnu/xml/transform/ElementNode.java, + gnu/xml/transform/FunctionAvailableFunction.java, + gnu/xml/transform/NamespaceProxy.java, + gnu/xml/transform/StreamSerializer.java, + gnu/xml/transform/Stylesheet.java, + gnu/xml/transform/TransformerImpl.java, + gnu/xml/xpath/Selector.java: Implement isEqualNode correctly for + document and element nodes; correct coalescing semantics when parsing; + attribute-sets can only refer to top-level variables and parameters; + fix namespace retrieval during element-available and + function-available functions; implement xsl:fallback for extension + elements; tokenize whitespace correctly during whitespace stripping; + correct following and previous node axes selectors. + +2006-01-12 Roman Kennke + + * java/util/Hashtable.java + (KeyEnumerator.nextElement): Added null check to avoid NPE. + (ValueEnumerator.nextElement): Added null check to avoid NPE. + +2006-01-12 Lillian Angel + + * javax/swing/text/GapContent.java + (UndoInsertString): Changed name of class to InsertUndo to match the JDK. + +2006-01-12 Mark Wielaard + + * vm/reference/gnu/java/net/VMPlainSocketImpl.java (connect): + Throw UnknowHostException when name could not be resolved. + +2006-01-12 Jeroen Frijters + + * java/net/URL.java + (static, getURLStreamHandler): Use SystemProperties. + +2006-01-12 Mark Wielaard + + * vm/reference/gnu/java/net/VMPlainDatagramSocketImpl.java (receive): + Use packet.getLength(). + * native/jni/java-net/gnu_java_net_VMPlainDatagramSocketImpl.c + (nativeReceive): Check whether the receiver wants zero bytes. + +2006-01-12 Mark Wielaard + + * native/jni/java-net/javanet.c (_javanet_recvfrom): Return -1 when + other side orderly closed connection. + * vm/reference/gnu/java/net/VMPlainSocketImpl.java + (read(PlainSocketImpl)): Mask byte to return unsigned int. Return -1 + when end of stream reached. + +2006-01-12 Mark Wielaard + + * native/jni/java-net/gnu_java_net_VMPlainDatagramSocketImpl.c: + Remove asserts. + * native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c: Likewise. + * native/jni/java-net/java_net_VMInetAddress.c: Likewise. + * native/jni/java-net/java_net_VMNetworkInterface.c: Likewise. + * native/jni/java-net/javanet.c: Likewise. + +2006-01-12 Mark Wielaard + + * native/fdlibm/mprec.c (Balloc): Disable assert to workaround + PR classpath/23863. + +2006-01-11 Chris Burdess + + * gnu/xml/transform/AttributeNode.java, + gnu/xml/transform/ElementNode.java, + gnu/xml/transform/LiteralNode.java, + gnu/xml/transform/StreamSerializer.java, + gnu/xml/transform/StrippingInstruction.java, + gnu/xml/transform/Stylesheet.java, + gnu/xml/transform/TransformerImpl.java, + gnu/xml/transform/ValueOfNode.java, + gnu/xml/xpath/Expr.java, + gnu/xml/xpath/LocalNameFunction.java, + gnu/xml/xpath/NameFunction.java, + gnu/xml/xpath/NameTest.java, + gnu/xml/xpath/NamespaceUriFunction.java, + gnu/xml/xpath/NodeTypeTest.java, + gnu/xml/xpath/SubstringFunction.java, + javax/xml/namespace/QName.java: don't determine element namespace + from namespace aliases when specified; better namespace handling + when serializing elements; don't create HTML meta element unless + head element exists; correct encoding of CDATA sections containing + ']]>'; encode HTML character entity references; use ISO-Latin-1 as + default encoding for HTML output; rewrite of XSLT + strip-space/preserve-space handling; correct doctype-public and + doctype-system output attributes; insert generated doctype before + document element; fixed result tree whitespace stripping + algorithm; fixed semantics of XPath name, local-name, and + namespace-uri functions; name tests handle XML/XMLNS namespaces + correctly; fixed semantics of processing-instruction node test. + * gnu/xml/transform/TransformerFactoryImpl.java: Add main method to + aid debugging. + +2006-01-11 Lillian Angel + + * javax/swing/text/DefaultStyledDocument.java + (insertFracture): Added calls to addEdit for each time a structure + is changed. addEdit is called on the newBranch, previous, and parent + structures. + +2006-01-11 Anthony Balkissoon + + * javax/swing/text/DefaultStyledDocument.java: + (ElementBuffer.insertContentTag): Don't adjust the structure here. + This will have been taken care of in insertFracture. Added a comment + explaining that we need to add edits to the DocumentEvent and that + this may be the place to do it. + +2006-01-11 Anthony Balkissoon + + * javax/swing/text/DefaultStyledDocument.java: + (ElementBuffer.insertUpdate): Properly recreate Elements if the first + tag is an end tag. Avoid NPE by pushing the proper Element on to the + elementStack when there is a start tag with JoinNextDirection. + +2006-01-11 Roman Kennke + + Reported by: Fridjof Siebert + * java/util/Hashtable.java + (KEYS): Removed unneeded field. + (VALUES): Removed unneeded field. + (ENTRIES): Removed unneeded field. + (keys): Return a KeyEnumerator instance. + (elements): Returns a ValueEnumerator instance. + (toString): Use an EntryIterator instance. + (keySet): Return a KeyIterator instance. + (values): Return a ValueIterator instance. + (entrySet): Return an EntryIterator instance. + (hashCode): Use EntryIterator instance. + (rehash): Changed this loop to avoid redundant reads and make + it obvious that null checking is not needed. + (writeObject): Use EntryIterator instance. + (HashIterator): Removed class. + (Enumerator): Removed class. + (EntryIterator): New class. + (KeyIterator): New class. + (ValueIterator): New class. + (EntryEnumerator): New class. + (KeyEnumerator): New class. + (ValueEnumerator): New class. + +2006-01-11 Lillian Angel + + * javax/swing/text/DefaultStyledDocument.java + (toString): Shouldn't append the '>' character here. + (createDefaultRoot): Should not set the resolve parent. This + causes problems when comparing attribute sets. + +2006-01-10 Anthony Balkissoon + + * javax/swing/text/DefaultStyledDocument.java: + (ElementBuffer.insertUpdate): Rewritten to properly handle start and + end tags. + (ElementBuffer.insertFracture): New method. + (ElementBuffer.insertContentTag): Removed unnecessary case for + JoinFractureDirection - this only applies to start tags, not content + tags. + (insertUpdate): Corrected conditions for setting direction to + JoinNextDirection. + +2006-01-10 Roman Kennke + + * Makefile.am (EXTRA_DIST): Added ChangeLog-2004. + * ChangeLog-2005: New File. + +2006-01-10 Roman Kennke + + * native/jni/java-nio/java_nio_VMDirectByteBuffer.c + (get): Release the array with the correct pointer. + (put): Release the array with the correct pointer. Copy the array + around _before_ releasing it. + +2006-01-10 Roman Kennke + + * javax/swing/ViewportLayout.java + (layoutContainer): Fixed condition, to avoid ClasscastException. + +2006-01-10 Roman Kennke + + * javax/swing/plaf/basic/BasicSplitPaneDivider.java + (MouseHandler.mousePressed): Fixed indendation. + (MouseHandler.mouseDragged): Fixed indendation. + +2006-01-10 Roman Kennke + + * javax/swing/plaf/basic/BasicLookAndFeel.java + (playSound): Added @since 1.4 to the API docs. + +2006-01-10 Roman Kennke + + * javax/swing/plaf/basic/BasicListUI.java + (maybeUpdateLayoutState): Also update the layout state, if the + list has been invalidated since the last update. + +2006-01-10 Roman Kennke + + * javax/swing/plaf/ComponentUI.java + (update): Fixed indendation. + +2006-01-10 Roman Kennke + + * javax/swing/ViewportLayout.java + (layoutContainer): Fixed condition, so that Scrollable components + are always forced to have to Viewport size, when they + return true for getScrollableTracksViewportHeight() and ..Width(). + +2006-01-10 Roman Kennke + + * javax/swing/RepaintManager.java + (validateInvalidComponents): Fixed condition to avoid NPE. + +2006-01-10 Roman Kennke + + * javax/swing/JViewport.java: + (static_initializer): Removed unused variable myScrollMode. + +2006-01-10 Roman Kennke + + * javax/swing/JTabbedPane.java: + Cleared API docs a little. + +2006-01-10 Roman Kennke + + * java/util/StringTokenizer.java + (StringTokenizer(String, String, boolean)): + Don't trigger NPE here for conformance with the spec. + +2006-01-10 Roman Kennke + + * java/util/ArrayList.java + (DEFAULT_CAPACITY): Changed default capacity to 10, as specified. + +2006-01-10 Roman Kennke + + * gnu/java/awt/peer/gtk/GdkGraphics2D.java + (GdkGraphics2D(GdkGraphics2D)): Added null check for the bg + field to avoid NPE. + +2006-01-10 Roman Kennke + + * native/jni/java-net/javanet.c + (_javanet_shutdownOutput): Replaced strerror() with + TARGET_NATIVE_LAST_ERROR_STRING() for portability. + (_javanet_shutdownInput): Replaced strerror() with + TARGET_NATIVE_LAST_ERROR_STRING() for portability. + +2006-01-10 Robert Schuster + + * java/beans/EventSetDescriptor.java: Reformatted and + fixed API docs. + +2006-01-10 Roman Kennke + + * java/lang/SecurityManager.java + Fully qualified AWT class references in API docs. + +2006-01-10 Robert Schuster + + * java/beans/EventSetDescriptor.java: + (getGetListenerMethod): New method. + +2006-01-10 Mark Wielaard + + * lib/Makefile.am (GCJX): Add -g to get linenumber info. + +2006-01-10 Jeroen Frijters + + PR classpath/25727 + * java/util/Hashtable.java + (contains): Call equals on existing value. + (containsKey, get, put, remove): Call equals on existing key. + (getEntry): Call equals on existing entry. + +2006-01-10 Jeroen Frijters + + PR classpath/24618 + * java/util/AbstractMap.java + (equals(Object,Object)): Test for identity first. + * java/util/WeakHashMap.java + (WeakBucket.WeakEntry.equals): Use helper method to determine equality. + (WeakBucket.WeakEntry.toString): Fixed string representation of + null key. + (internalGet): Use helper method to determine equality. + +2006-01-09 Robert Schuster + + * java/beans/EventSetDescriptor.java: Implemented the two 1.4 + constructors. + +2006-01-09 Anthony Balkissoon + + * javax/swing/text/PlainDocument.java: + (insertUpdate): Handle special case of an insertion immediately + following a newline character. + +2006-01-09 Roman Kennke + + * native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c + (connect): Added stream parameter to _connect() call. + * native/jni/java-net/gnu_java_net_VMPlainDatagramSocketImpl.c + (connect): Added stream parameter to _connect() call. + * native/jni/java-net/javanet.c + (_javanet_create_localfd): Added stream parameter. Look up + fd field based on the stream parameter either in SocketImpl or + in DatagramSocketImpl. + (_javanet_connect): Added stream parameter. Call create_localfd + using this stream parameter. Set localPort field either in + SocketImpl or in DatagramSocketImpl, depending on the stream + flag. + * native/jni/java-net/javanet.c + (_javanet_connect): Added stream parameter. + +2006-01-09 Audrius Meskauskas + + * javax.management.Attribute.java: Grammar and + formatting fixes. + +2006-01-09 Mark Wielaard + + * gnu/java/nio/channels/FileChannelImpl.java (map): Throw correct + exception when channel is not readable or writable. + * native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c + (mapImpl): Add PROT_WRITE when mode == 'c' (MAP_PRIVATE). Make sure + there is enough space to mmap(). + +2006-01-09 Robert Schuster + + * java/beans/Introspector.java: + (getBeanInfo(Class, int)): New method. + (getBeanInfo(Class, Class): Moved common code in a new method. + (merge): New method. + +2006-01-09 Robert Schuster + + * java/beans/XMLEncoder.java: Fix spelling mistakes. + +2006-01-09 Anthony Balkissoon + + * javax/swing/text/DefaultStyledDocument.java: + (insertUpdate): Removed call to checkForInsertAfterNewline and instead + inlined this method because it needs to change the value of the + finalStartTag and finalStartDirection variables. + (checkForInsertAfterNewline): Removed this method. + (handleInsertAfterNewline): Added case for making the start tag's + direction JoinNextDirection. + +2006-01-09 Lillian Angel + + * javax/swing/plaf/basic/BasicTreeUI.java: + Added new field. + (setRowHeight): Row height is set to the max height of + all the nodes, or 20 as a default value. + (getPathBounds): Cleaned up code. + (getMaxHeight): New helper function that gets the max + height of all the rows. + (getClosestPathForLocation): Fixed to use getMaxHeight. + (updateCachedPreferredSize): Likewise. + (installUI): Shouldn't expand tree on startup. + (getNodeDimensions): Fixed to use getMaxHeight. + +2006-01-09 Mark Wielaard + + * javax/swing/JList.java (setSelectedIndex): Clear selection when + argument is negative. + +2006-01-08 Mark Wielaard + + * java/net/InetAddress.java (getInaddrAny): Explicitly set hostName. + +2006-01-09 Audrius Meskauskas + + * javax.management.Attribute.java: New file. + +2006-01-09 Roman Kennke + + * java/net/DatagramSocketImpl.java + (localPort): Renamed to localport for correct access from native + code. + +2006-01-09 Roman Kennke + + * javax/swing/Popup.java + (LightweightPopup.hide): Repaint the layered pane when popup is + removed. + +2006-01-09 Roman Kennke + + * java/awt/Container.java + (remove): Don't repaint the container here. + +2006-01-08 Tom Tromey + + * java/lang/InheritableThreadLocal.java: Organized imports. + +2006-01-08 Ito Kazumitsu + + Fixes bug #25679 + * gnu/regexp/RETokenRepeated.java(match): Optimized the case + when an empty string matched an empty token. + +2006-01-08 Chris Burdess + + * gnu/xml/stream/SAXParser.java: Check standalone status for mixed + content models from external entities. + * gnu/xml/stream/UnicodeReader.java: Report error instead of + attempting to continue with unpaired surrogates. + * gnu/xml/stream/XMLParser.java: Don't normalize LF equivalents when + resolving entities with character entity references; better + checking of valid character ranges; don't report an error for URI + fragments in notation declarations; check unbound namespace + prefixes for elements and attributes, including XML 1.1 unbinding + syntax; namespace-aware checking of attribute duplicates. + +2006-01-08 Robert Schuster + + * java/beans/Statement.java: Doc fixes. + (doExecute): Workaround for Class.forName call. + (toString): Made output look more like on the JDK. + * java/beans/Expression.java: Doc fixes. + (toString): Made output look more like on the JDK. + * java/beans/PersistenceDelegate.java, + java/beans/DefaultPersistenceDelegate.java, + java/beans/Encoder.java, + java/beans/XMLEncoder.java: New file. + * gnu/java/beans/encoder/ArrayPersistenceDelegate.java, + gnu/java/beans/encoder/ClassPersistenceDelegate.java, + gnu/java/beans/encoder/CollectionPersistenceDelegate.java, + gnu/java/beans/encoder/Context.java, + gnu/java/beans/encoder/GenericScannerState.java, + gnu/java/beans/encoder/IgnoringScannerState.java, + gnu/java/beans/encoder/MapPersistenceDelegate.java, + gnu/java/beans/encoder/ObjectId.java, + gnu/java/beans/encoder/PrimitivePersistenceDelegate.java, + gnu/java/beans/encoder/ReportingScannerState.java, + gnu/java/beans/encoder/Root.java, + gnu/java/beans/encoder/ScanEngine.java, + gnu/java/beans/encoder/ScannerState.java, + gnu/java/beans/encoder/StAXWriter.java, + gnu/java/beans/encoder/Writer.java: New file. + * gnu/java/beans/encoder/elements/Array_Get.java, + gnu/java/beans/encoder/elements/Element.java, + gnu/java/beans/encoder/elements/List_Set.java, + gnu/java/beans/encoder/elements/Array_Set.java, + gnu/java/beans/encoder/elements/NullObject.java, + gnu/java/beans/encoder/elements/StaticMethodInvocation.java, + gnu/java/beans/encoder/elements/StaticFieldAccess.java, + gnu/java/beans/encoder/elements/StringReference.java, + gnu/java/beans/encoder/elements/ClassResolution.java, + gnu/java/beans/encoder/elements/ArrayInstantiation.java, + gnu/java/beans/encoder/elements/PrimitiveInstantiation.java, + gnu/java/beans/encoder/elements/ObjectReference.java, + gnu/java/beans/encoder/elements/ObjectInstantiation.java, + gnu/java/beans/encoder/elements/List_Get.java, + gnu/java/beans/encoder/elements/MethodInvocation.java: New file. + +2006-01-08 Chris Burdess + + * java/lang/Character.java (toChars,toCodePoint): Correct these + methods to use algorithms from Unicode specification. + +2006-01-08 Mark Wielaard + + * native/jni/xmlj/Makefile.am (libxmlj_la_LIBADD): Add jcl.o. + +2006-01-07 Paul Jenner + + Fixes bug #25711 + * examples/Makefile.am: Corrected DESTDIR install paths. + +2006-01-07 Audrius Meskauskas + + * org/omg/CORBA/INVALID_ACTIVITY.java: Removed non - + ASCII character (line 46). + +2006-01-07 Roman Kennke + + * javax/swing/text/TableView.java: New file. + +2006-01-07 Chris Burdess + + * gnu/xml/stream/BufferedReader.java: Removed commented out code. + * gnu/xml/stream/XIncludeFilter.java: Correct XML Base behaviour. + * gnu/xml/stream/XMLParser.java: Make additional StAX properties + available; correct handling of unparsed entity references; + absolutize all base URIs; remove commented out code. + +2006-01-07 Chris Burdess + + * gnu/xml/stream/SAXParser.java, + gnu/xml/stream/XMLParser.java: Add SAX property to return base + URI of the current event. + +2006-01-07 Chris Burdess + + * gnu/xml/stream/SAXParser.java: Add SAX feature to set XML Base + aware processing. + +2006-01-07 Chris Burdess + + * gnu/xml/stream/SAXParser.java, + gnu/xml/stream/XIncludeFilter.java, + gnu/xml/stream/XMLParser.java: Updated documentation. + +2006-01-07 Chris Burdess + + * AUTHORS: add self. + +2006-01-06 Casey Marshall + + * AUTHORS: add myself. + +2006-01-06 Casey Marshall + + PR classpath/25699 + * javax/crypto/CipherInputStream.java (logger): new constant. + (cipher): make final. + (outLength, inBuffer, inLength): removed. + (isStream): make final. + (VIRGIN, LIVING, DYING, DEAD, state): removed. + (eof): new field. + (): call `super,' not `this;' remove `inBuffer' and + `outBuffer' initialization; init `eof;' add debug logging. + (): call `this' with a new null cipher. + (available): fix javadoc to reflect the real semantics; if we + don't have a buffer, call `nextBlock.' + (close): synchronize. + (read): synchronize; fix testing for buffered data. + (read): synchronize; add `skip' semantics if first argument is + `null;' decrypt stream cipher data only if there is any; fix tests + for buffered data. + (skip): stop using `available' to see how many data are buffered. + (nextBlock): simplify to use cipher-allocated output buffers + instead of internally allocated ones. + +2006-01-06 Tom Tromey + + * java/lang/String.java (codePointCount): Fixed javadoc. + +2006-01-06 Tom Tromey + + * java/lang/String.java (contains): Added @since. + +2006-01-06 Ito Kazumitsu + + Fixes bug #25616 + * gnu/regexp/RE.java(initialize): Allow repeat.empty.token. + * gnu/regexp/RETokenRepeated.java(match): Break the loop + when an empty string matched an empty token. + +2006-01-06 Jeroen Frijters + + PR classpath/24858 + * gnu/java/util/WeakIdentityHashMap.java: New file. + * java/lang/InheritableThreadLocal.java + (newChildThread): Modified to remove key indirection. + * java/lang/Thread.java + (locals): Changed type to WeakIdentityHashMap. + (getThreadLocals): Instantiate WeakIdentityHashMap instead of + WeakHashMap. + * java/lang/ThreadLocal.java + (key, Key): Removed. + (get, set): Changed to use "this" instead of "key". + +2006-01-06 Dalibor Topic + + * native/fdlibm/Makefile.am (libfdlibm_la_SOURCES): Removed java-assert.h. + + * native/fdlibm/java-assert.h: Removed file. + + * native/fdlibm/mprec.c: Include assert.h. Don't include java-assert.h. + Replaced use of JvAssert by assert. + +2006-01-05 Anthony Balkissoon + + * javax/swing/text/DefaultCaret.java: + (setDot): Fixed paramater to Math.max to be this.dot and not the + parameter dot. + +2006-01-05 Roman Kennke + + * javax/swing/plaf/basic/BasicListUI.java + (getCellHeight): New helper method. + (getCellBounds): Use new helper method for determining the cell + height. + (paint): Don't call list.indexToLocation() but instead call + directly into the same UI method. + (locationToIndex): Fixed calculation of # visible rows and handling + of cell heights. + (indexToLocation): Fixed calculation of # visible rows and handling + of cell heights. + +2006-01-05 Roman Kennke + + * javax/swing/plaf/metal/MetalFileChooserUI.java + (createList): Set VERTICAL_SCROLLBAR_NEVER mode on the JScrollPane + in the file chooser. + +2006-01-05 Anthony Balkissoon + + * javax/swing/JTextPane.java: + (replaceSelection): If the document is an AbstractDocument, use replace + rather than remove and insert. + * javax/swing/event/EventListenerList.java: + (getListeners): Reversed the order of the listeners to match the + reference implementation. + * javax/swing/text/AbstractDocument.java: + (insertString): Add the UndoableEdit from the content.insertString call + to the DocumentEvent. + (DefaultDocumentEvent.toString): Implemented. + * javax/swing/text/DefaultCaret.java: + (setDot): Make sure dot is > 0 and less than the length of the + document. + * javax/swing/text/DefaultStyledDocument.java: + (ElementBuffer.insertUpdate): Set the modified tag of the document + event when we get start and end tags. This ensures that we create the + proper BranchElements in endEdit(). + (ElementBuffer.insertUpdate): Added FIXME to handle + JoinFractureDirection case. + (insertUpdate): Added code to check if we're inserting immediately + after a newline and to handle this case (create start and end tags). + Only change the direction of the first and last tags if they are of + type ContentType. + (checkForInsertAfterNewline): New helper method. + (handleInsertAfterNewline): Likewise. + * javax/swing/text/View.java: + (updateLayout): Avoid NPE by checking if shape is null. Repaint + container. + +2006-01-05 Mark Wielaard + + * newsitems.txt: Add fosdem meeting. + * events/events.wml: Likewise. + * events/fosdem06.wml: New file. + +2006-01-05 Lillian Angel + + * javax/swing/text/GapContent.java + (createPosition): No positions should be created inside the + gap. Fixed check to ensure this does not happen. + +2006-01-05 Roman Kennke + + * javax/swing/RepaintManager.java + (validateInvalidComponents): Search for the validate root + and start validating there. + +2006-01-05 Roman Kennke + + * javax/swing/plaf/basic/BasicListUI.java + (ComponentHandler): Removed unneeded class. + (ListDataHandler.contentsChanged): Revalidate instead of calling + damageLayout(). + (ListDataHandler.intervalAdded): Revalidate instead of calling + damageLayout(). + (ListDataHandler.intervalRemoved): Revalidate instead of calling + damageLayout(). + (PropertyChangeHandler.propertyChange): Or flags together instead + of adding them. Don't call damageLayout(). + (componentListener): Removed unnecessary field. + (damageLayout): Removed unnecessary method. + (installListeners): Don't install unnecessary listeners. + (uninstallListeners): Dito. + (getPreferredSize): Don't ask for the real list height and + calculate with the previously calculated list height. + (locationToIndex): Renamed list parameter to l so that it doesn't + shadow the field with the same name. + (indexToLocation): Renamed list parameter to l so that it doesn't + shadow the field with the same name. + +2006-01-04 Tom Tromey + + * include/.cvsignore: Ignore config-int.h. + +2006-01-04 Roman Kennke + + * javax/swing/plaf/basic/BasicListUI.java + (getPreferredSize): Rewritten to match the specs. + +2006-01-04 Roman Kennke + + * javax/swing/JFileChooser.java + (showOpenDialog): Set fixed width on the dialog. + (showSaveDialog): Set fixed width on the dialog. + (showDialog): Set fixed width on the dialog. + +2006-01-04 Roman Kennke + + * javax/swing/plaf/basic/BasicListUI.java + (locationToIndex): Added FIXME about getVisibleRowCount() usage. + Adjusted iteration to not use visibleRowCount and instead iterate + over the real number of elements in cellHeights. + (indexToLocation): Added FIXME about getVisibleRowCount() usage. + Adjusted iteration to not use visibleRowCount and instead iterate + over the real number of elements in cellHeights. + +2006-01-04 Roman Kennke + + * native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c, + * native/jni/java-net/gnu_java_net_VMPlainDatagramSocketImpl.c: + Added __attribute__((__unused__)) macros to avoid gcc warnings. + +2006-01-04 Roman Kennke + + * vm/reference/gnu/java/net/VMPlainSocketImpl.java: New VM class. + * vm/reference/gnu/java/net/VMPlainDatagramSocketImpl.java: + New VM class. + * native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c: New file. + * native/jni/java-net/gnu_java_net_VMPlainDatagramSocketImpl.c: + New file. + * native/jni/java-net/gnu_java_net_PlainDatagramSocketImpl.c: + Removed. + * native/jni/java-net/gnu_java_net_PlainSocketImpl.c: Removed. + * native/jni/java-net/Makefile.am: Adjusted for new source files. + * gnu/java/net/PlainDatagramSocketImpl.java: Use new VM interface. + * gnu/java/net/PlainSocketImpl.java: Use new VM interface. + * include/gnu_java_net_PlainDatagramSocketImpl.h: Removed. + * include/gnu_java_net_PlainSocketImpl.h: Removed. + * include/gnu_java_net_VMPlainDatagramSocketImpl.h: New header file. + * include/gnu_java_net_VMPlainSocketImpl.h: New header file. + +2006-01-04 Lillian Angel + + * javax/swing/plaf/metal/MetalFileChooserUI.java + (propertyChange): Fixed to change the combo box label + appropriately. Also, fixed to set the textfield's text + correctly. + (editFile): Fixed size of editing field. + (installComponents): Correctly aligned all panels. + (installStrings): Fixed to set the label's text + appropriately depending on the dialog type. + +2006-01-04 Lillian Angel + + PR classpath/25473 + PR classpath/25479 + * javax/swing/JTree.java + (JTree): Because some L&F defaults have been updated, + the selectionMode for the tree needed to be set to SINGLE. + * javax/swing/plaf/basic/BasicFileChooserUI.java: + Initialized accessoryPanel. + * javax/swing/plaf/metal/MetalFileChooserUI.java + (installComponents): Added accessoryPanel to the filechooser. + +2006-01-04 Dalibor Topic + + * configure.ac: Added AX_CREATE_STDINT_H + + * include/Makefile.am (DISTCLEANFILES): Remove config-int.h. + + * m4/ax_create_stdint_h.m4: New file. + + * native/fdlibm/mprec.h: Include config-int.h. Removed C99 + typedefs. Removed stdint.h and inttypes.h includes. + +2006-01-03 Mark Wielaard + + * javax/swing/JMenuItem.java (configurePropertiesFromAction): Only + register keyboard action when accelerator is not null. + * javax/swing/plaf/basic/BasicMenuItemUI.java (propertyChange): Only + re-register accelerator if not null. + (installKeyboardActions): Only put accelerator in map when not null. + +2006-01-04 Lillian Angel + + * javax/swing/plaf/basic/BasicLookAndFeel.java + (initComponentDefaults): Removed unneeded default. + * javax/swing/plaf/metal/MetalLookAndFeel.java + (initComponentDefaults): Added and fixed several defaults. + +2006-01-04 Roman Kennke + + * javax/swing/plaf/basic/BasicHTML.java: New class. + +2006-01-03 Tom Tromey + + * java/io/OutputStreamWriter.java (OutputStreamWriter): Added @since. + * java/io/InputStreamReader.java (InputStreamReader): Added @since. + +2006-01-03 Mark Wielaard + + * org/omg/CORBA/INVALID_ACTIVITY.java: Remove non-ascii characters. + +2006-01-03 Mark Wielaard + + * javax/swing/plaf/metal/MetalLookAndFeel.java (MetalLookAndFeel): + Always call createDefaultTheme(). + (createDefaultTheme): Check whether theme is still null. + +2006-01-03 Mark Wielaard + + * gnu/java/awt/peer/gtk/GdkGraphics2D.java (setBackground): Set to + Color.WHITE if null. + +2006-01-03 Lillian Angel + + * javax/swing/plaf/metal/MetalLookAndFeel.java + (getDescription): Fixed to return the correct string. + (getID): Likewise. + (getName): Likewise. + (getDefaults): Added check to avoid NPE. + (getAcceleratorForeground): Likewise. + (getAcceleratorSelectedForeground): Likewise. + (getBlack): Likewise. + (getControl): Likewise. + (getControlDarkShadow): Likewise. + (getControlDisabled): Likewise. + (getControlHighlight): Likewise. + (getControlInfo): Likewise. + (getControlShadow): Likewise. + (getControlTextColor): Likewise. + (getControlTextFont): Likewise. + (getDesktopColor): Likewise. + (getFocusColor): Likewise. + (getHighlightedTextColor): Likewise. + (getInactiveControlTextColor): Likewise. + (getInactiveSystemTextColor): Likewise. + (getMenuBackground): Likewise. + (getMenuDisabledForeground): Likewise. + (getMenuForeground): Likewise. + (getMenuSelectedBackground): Likewise. + (getMenuSelectedForeground): Likewise. + (getMenuTextFont): Likewise. + (getPrimaryControl): Likewise. + (getPrimaryControlDarkShadow): Likewise. + (getPrimaryControlHighlight): Likewise. + (getPrimaryControlInfo): Likewise. + (getPrimaryControlShadow): Likewise. + (getSeparatorBackground): Likewise. + (getSeparatorForeground): Likewise. + (getSubTextFont): Likewise. + (getSystemTextColor): Likewise. + (getSystemTextFont): Likewise. + (getTextHighlightColor): Likewise. + (getUserTextColor): Likewise. + (getUserTextFont): Likewise. + (getWhite): Likewise. + (getWindowBackground): Likewise. + (getWindowTitleBackground): Likewise. + (getWindowTitleFont): Likewise. + (getWindowTitleForeground): Likewise. + (getWindowTitleInactiveBackground): Likewise. + (getWindowTitleInactiveForeground): Likewise. + +2006-01-03 Mark Wielaard + + * javax/swing/JTextArea.java + (JTextArea(Document,text,int,int)): Only call setText() when text is + not null. + +2006-01-03 Lillian Angel + + * javax/swing/plaf/basic/BasicFileChooserUI.java + (installStrings): Fixed installation of defaults that + were changed in BasicLookAndFeel. + * javax/swing/plaf/basic/BasicTabbedPaneUI.java + (installDefaults): Fixed installation of defaults that + were changed in BasicLookAndFeel. + +2006-01-03 Lillian Angel + + * javax/swing/plaf/basic/BasicLookAndFeel.java + (initComponentDefaults): Fixed several defaults that differed + from the JDK. + +2006-01-03 Lillian Angel + + * javax/swing/tree/DefaultTreeSelectionModel.java + (DefaultTreeSelectionModel): Default should be DISCONTIGUOUS_TREE_SELECTION. + +2006-01-03 Lillian Angel + + * javax/swing/AbstractAction.java + (AbstractAction): Fixed to pass in null. Should not be + an empty string. Removed TODO comment. + (AbstractAction): Removed TODO comment. + * javax/swing/JList.java + (init): Default selection mode should be MULTIPLE_INTERVAL_SELECTION. + * javax/swing/JMenuItem.java + (JMenuItem): Set all defaults if the action passed in is not null. + * javax/swing/JProgressBar.java + (JProgressBar): Added check to prevent NPE. + +2006-01-03 Lillian Angel + + * javax/swing/plaf/basic/BasicListUI.java + (getPreferredSize): The JDK adds some extra space to + the list, so we should as well. + * javax/swing/plaf/metal/MetalFileChooserUI.java + (getPreferredSize): Should only take the fileListPanel's + width into account when getting the size. Also, the buttonPanel's + size should not be checked, since it is in the bottomPanel already. + (getMinimumSize): Likewise. + +2006-01-03 Lillian Angel + + * javax/swing/JList.java + (init): visibleRowCount should be 7, like the JDK. + * javax/swing/plaf/metal/MetalFileChooserUI.java + (installComponents): No need to add the fileFilterCombo + to a panel. It can be added to the row directly. + +2006-01-03 Lillian Angel + + PR classpath/25480 PR classpath/25478 + * javax/swing/plaf/basic/BasicScrollPaneUI.java + (updateViewport): Made changes suggested by + Chris Lansdown. + * javax/swing/plaf/metal/MetalFileChooserUI.java: + Removed unneeded import. + (createList): Removed comment, JList wrapping + now works. + (getPreferredSize): Made changes suggested by + Chris Lansdown. Uses fileListPanel, instead + of fileList. + (getMinimumSize): Uses fileListPanel, instead + of fileList. + * javax/swing/plaf/metal/MetalRadioButtonUI.java + (paintFocus): Fixed height. + +2006-01-03 Roman Kennke + + * javax/swing/plaf/basic/BasicListUI.java + (locationToIndex): Added check to avoid ArrayOutOfBoundsException. + +2006-01-03 Roman Kennke + + * javax/swing/plaf/basic/BasicListUI.java + (locationToIndex): Special case for when variable cell heights + are possible. (cellHeights is used instead of cellHeight). + (indexToLocation): Special case for when variable cell heights + are possible. (cellHeights is used instead of cellHeight). + +2006-01-03 Roman Kennke + + * javax/swing/text/DefaultStyledDocument.java + (ElementBuffer.remove): New method. + (ElementBuffer.removeUpdate): New method. + (removeUpdate): New method. + +2006-01-03 Roman Kennke + + * lib/Makefile.am: + (dist-hook): Preserve attributes of Java sources when copying to + dist dir. + +2006-01-03 Raif S. Naffah + + * AUTHORS: Added self. + * java/security/Security.java (getProvider): Ensures provider's name is + not null, not an empty string, and is trimmed before usage. + +2006-01-01 Audrius Meskauskas + + * gnu/CORBA/Poa/AOM.java (add): + Changed parameter Object into gnuServantObject. + (Obj.object): Changed type to gnuServantObject. + (findObject): Rewritten. + +2006-01-01 Andreas Tobler + + * native/jni/qt-peer/mainqtthread.cpp: Remove call to disable double + buffering. Ability has gone in Qt-4.1.x. + + * configure.ac (QT_CFLAGS): Check for 4.1.0 version and for QtCore + to have the right include flags. + +2006-01-01 Raif S. Naffah + + * java/security/MessageDigest.java (getInstance(String,String)): + Use trimmed copy of provider name. + * gnu/java/security/Engine.java + (getInstance(String,String,Provider,Object[])): Use trimmed copy of + service and algorithm names. + +2006-01-01 Raif S. Naffah + + * java/net/InetAddress.java (getAllByName): use LOCALHOST if + localhost is null or is an empty string. Trim hostname before + lookup. + diff --git a/libjava/classpath/ChangeLog.gcj b/libjava/classpath/ChangeLog.gcj index c11d849..ef38c1d 100644 --- a/libjava/classpath/ChangeLog.gcj +++ b/libjava/classpath/ChangeLog.gcj @@ -1,3 +1,11 @@ +2007-05-31 Matthias Klose + + * javax/management/NotificationBroadcasterSupport.java + (getNotificationInfo): Add cast. + * native/jni/qt-peer/Makefile.am (AM_CXXFLAGS): Add libstdc++ include + directories. + * native/jni/qt-peer/Makefile.in: Regenerate. + 2007-05-30 H.J. Lu PR libjava/32098 diff --git a/libjava/classpath/INSTALL b/libjava/classpath/INSTALL index 50a524b..86ce66c 100644 --- a/libjava/classpath/INSTALL +++ b/libjava/classpath/INSTALL @@ -50,6 +50,11 @@ Suggested Software - gdk-pixbuf - XTest Extension (libXtst) for GdkRobot support in java.awt. + + - There is a bug in earlier versions of at-spi, atk, and gail, which are + used for GNOME accessibility. Prior to version 1.18.0 of these packages, + gtk graphical applications should be run without accessibility (clear the + GTK_MODULES environment variable). For building gcjwebplugin you'll need the Mozilla plugin support headers and libraries. diff --git a/libjava/classpath/LICENSE b/libjava/classpath/LICENSE index 44620dc..4e3d8b8 100644 --- a/libjava/classpath/LICENSE +++ b/libjava/classpath/LICENSE @@ -358,3 +358,39 @@ the following notice: (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +* m4/ax_func_which_gethostbyname_r.m4 + + Copyright © 2005 Caolan McNamara + Copyright © 2005 Daniel Richard G. + + 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 + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program 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 this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, + USA. + + As a special exception, the respective Autoconf Macro's copyright + owner gives unlimited permission to copy, distribute and modify the + configure scripts that are the output of Autoconf when processing the + Macro. You need not follow the terms of the GNU General Public License + when using or distributing such scripts, even though portions of the + text of the Macro appear in them. The GNU General Public License + (GPL) does govern all other use of the material that constitutes the + Autoconf Macro. + + This special exception to the GPL applies to versions of the + Autoconf Macro released by the Autoconf Macro Archive. When you make + and distribute a modified version of the Autoconf Macro, you may + extend this special exception to the GPL to apply to your modified + version as well. diff --git a/libjava/classpath/Makefile.am b/libjava/classpath/Makefile.am index 82e97db..59cc3c0 100644 --- a/libjava/classpath/Makefile.am +++ b/libjava/classpath/Makefile.am @@ -10,7 +10,7 @@ ACLOCAL_AMFLAGS = -I m4 -I ../.. -I ../../config native: lib EXTRA_DIST = HACKING BUGS THANKYOU mauve-classpath LICENSE \ - ChangeLog-2003 ChangeLog-2004 ChangeLog-2005 \ + ChangeLog-2003 ChangeLog-2004 ChangeLog-2005 ChangeLog-2006 \ ChangeLog.gnujaxp.1 ChangeLog.gnujaxp.2 ChangeLog.libxmlj \ autogen.sh diff --git a/libjava/classpath/Makefile.in b/libjava/classpath/Makefile.in index 11fb52d..cbec751 100644 --- a/libjava/classpath/Makefile.in +++ b/libjava/classpath/Makefile.in @@ -66,6 +66,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \ $(top_srcdir)/m4/acinclude.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/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ @@ -117,6 +118,8 @@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@ BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -181,10 +184,10 @@ FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@ FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@ FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@ FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@ -FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@ -FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@ FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@ FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@ +FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@ +FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@ FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@ FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@ FOUND_KJC_FALSE = @FOUND_KJC_FALSE@ @@ -192,7 +195,6 @@ FOUND_KJC_TRUE = @FOUND_KJC_TRUE@ FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@ FREETYPE2_LIBS = @FREETYPE2_LIBS@ GCJ = @GCJ@ -GCJX = @GCJX@ GCONF_CFLAGS = @GCONF_CFLAGS@ GCONF_LIBS = @GCONF_LIBS@ GDK_CFLAGS = @GDK_CFLAGS@ @@ -214,6 +216,7 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +JAVAC = @JAVAC@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ @@ -353,7 +356,7 @@ SUBDIRS = lib doc external include native resource scripts tools $(EXAMPLESDIR) DIST_SUBDIRS = lib doc external include native resource scripts tools examples ACLOCAL_AMFLAGS = -I m4 -I ../.. -I ../../config EXTRA_DIST = HACKING BUGS THANKYOU mauve-classpath LICENSE \ - ChangeLog-2003 ChangeLog-2004 ChangeLog-2005 \ + ChangeLog-2003 ChangeLog-2004 ChangeLog-2005 ChangeLog-2006 \ ChangeLog.gnujaxp.1 ChangeLog.gnujaxp.2 ChangeLog.libxmlj \ autogen.sh diff --git a/libjava/classpath/NEWS b/libjava/classpath/NEWS index 0ebecf39..85630ff 100644 --- a/libjava/classpath/NEWS +++ b/libjava/classpath/NEWS @@ -1,9 +1,51 @@ -New in release 0.94 (UNRELEASED) - -* The ASM library is now included. A separate copy is no longer needed. +New in release 0.95 (Apr 23, 2007) +* Full merge of 1.5 generics work. +* Added 1.6 java.util.ServiceLoader support. +* The ASM library is now included. A separate copy is no longer + needed. gjavah works out of the box now. * The setReadTimeout and getReadTimeout methods have been added to - java.net.URLConnection. They are now fully implemented for http URLs. + java.net.URLConnection. They are now fully implemented for http URLs. +* The java.lang.management implementation now includes the new features + added in 1.6 +* java.util.TimeZone now reads time zone information from the system + zoneinfo files (see also runtime interface changes below). +* The collection classes have been updated to support all the 1.6 + additions. +* java.util.spi 1.6 package has been added and is used in java.text. +* Bootstrappable with OpenJDK javac compiler + (use configure --with-javac). +* Large speedups (and locking behaviour updated) in Graphics2D cairo + and freetype support. +* Better detection of browser plugin mechanism for mozilla, iceweasel, + firefox on various platforms. +* Inclusion of generic javadoc classes in tools.zip to support more + javadoc processing tools. +* Added documentation for command lines options for the included GNU + Classpath Tools gjar, gjavah, gnative2ascii, gorbd, grmid, + grmiregistry, gserialver and gtnameserv. + +Runtime interface changes: + +* gnu.java.lang.management.VMThreadMXBeanImpl has gained three new + optional native methods to allow the 1.6 version of the threading + bean to be supported. One (getMonitorInfo) fills in information + about object monitor locks held by a thread and is only required + if the monitoring of object monitor locks is supported by the VM. + The other two (findDeadlockedThreads and getLockInfo) are related + to ownable synchronizers (part of the java.util.concurrent suite) + and only required if monitoring of locks relating to these is + supported by the VM. +* java.util.VMTimeZone and java.util.TimeZone have been refactored + to simplify the reference implementation. VMTimeZone.readtzFile() + and VMTimeZone.skipFully() have been removed, and a new method + VMTimeZone.readSysconfigClockFile() has been introduced. +* VMs need to set the system property "gnu.java.util.zoneinfo.dir" + to point to the directory where zoneinfo files live. In libgcj + this is set to the value of the TZDATA environment variable, or + "/usr/share/zoneinfo" if this is not set. +* VMFile has been extended to support new 1.6 methods (canExecute, + setReadable, setWritable, setExecutable). New in release 0.93 (Dec 8, 2006) diff --git a/libjava/classpath/aclocal.m4 b/libjava/classpath/aclocal.m4 index 7544f03..aca1c3c 100644 --- a/libjava/classpath/aclocal.m4 +++ b/libjava/classpath/aclocal.m4 @@ -11,6405 +11,6 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. -# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- - -# serial 48 AC_PROG_LIBTOOL - - -# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED) -# ----------------------------------------------------------- -# If this macro is not defined by Autoconf, define it here. -m4_ifdef([AC_PROVIDE_IFELSE], - [], - [m4_define([AC_PROVIDE_IFELSE], - [m4_ifdef([AC_PROVIDE_$1], - [$2], [$3])])]) - - -# AC_PROG_LIBTOOL -# --------------- -AC_DEFUN([AC_PROG_LIBTOOL], -[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl -dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX -dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX. - AC_PROVIDE_IFELSE([AC_PROG_CXX], - [AC_LIBTOOL_CXX], - [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX - ])]) -dnl And a similar setup for Fortran 77 support - AC_PROVIDE_IFELSE([AC_PROG_F77], - [AC_LIBTOOL_F77], - [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77 -])]) - -dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly. -dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run -dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both. - AC_PROVIDE_IFELSE([AC_PROG_GCJ], - [AC_LIBTOOL_GCJ], - [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], - [AC_LIBTOOL_GCJ], - [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ], - [AC_LIBTOOL_GCJ], - [ifdef([AC_PROG_GCJ], - [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])]) - ifdef([A][M_PROG_GCJ], - [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])]) - ifdef([LT_AC_PROG_GCJ], - [define([LT_AC_PROG_GCJ], - defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])]) -])])# AC_PROG_LIBTOOL - - -# _AC_PROG_LIBTOOL -# ---------------- -AC_DEFUN([_AC_PROG_LIBTOOL], -[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl -AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl -AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl -AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' -AC_SUBST(LIBTOOL)dnl - -# Prevent multiple expansion -define([AC_PROG_LIBTOOL], []) -])# _AC_PROG_LIBTOOL - - -# AC_LIBTOOL_SETUP -# ---------------- -AC_DEFUN([AC_LIBTOOL_SETUP], -[AC_PREREQ(2.50)dnl -AC_REQUIRE([AC_ENABLE_SHARED])dnl -AC_REQUIRE([AC_ENABLE_STATIC])dnl -AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_PROG_LD])dnl -AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl -AC_REQUIRE([AC_PROG_NM])dnl - -AC_REQUIRE([AC_PROG_LN_S])dnl -AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl -# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! -AC_REQUIRE([AC_OBJEXT])dnl -AC_REQUIRE([AC_EXEEXT])dnl -dnl - -AC_LIBTOOL_SYS_MAX_CMD_LEN -AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE -AC_LIBTOOL_OBJDIR - -AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl -_LT_AC_PROG_ECHO_BACKSLASH - -case $host_os in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -Xsed='sed -e 1s/^X//' -[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'] - -# Same as above, but do not quote variable references. -[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'] - -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' - -# Sed substitution to avoid accidental globbing in evaled expressions -no_glob_subst='s/\*/\\\*/g' - -# Constants: -rm="rm -f" - -# Global variables: -default_ofile=libtool -can_build_shared=yes - -# All known linkers require a `.a' archive for static linking (except MSVC, -# which needs '.lib'). -libext=a -ltmain="$ac_aux_dir/ltmain.sh" -ofile="$default_ofile" -with_gnu_ld="$lt_cv_prog_gnu_ld" - -AC_CHECK_TOOL(AR, ar, false) -AC_CHECK_TOOL(RANLIB, ranlib, :) -AC_CHECK_TOOL(STRIP, strip, :) - -old_CC="$CC" -old_CFLAGS="$CFLAGS" - -# Set sane defaults for various variables -test -z "$AR" && AR=ar -test -z "$AR_FLAGS" && AR_FLAGS=cru -test -z "$AS" && AS=as -test -z "$CC" && CC=cc -test -z "$LTCC" && LTCC=$CC -test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS -test -z "$DLLTOOL" && DLLTOOL=dlltool -test -z "$LD" && LD=ld -test -z "$LN_S" && LN_S="ln -s" -test -z "$MAGIC_CMD" && MAGIC_CMD=file -test -z "$NM" && NM=nm -test -z "$SED" && SED=sed -test -z "$OBJDUMP" && OBJDUMP=objdump -test -z "$RANLIB" && RANLIB=: -test -z "$STRIP" && STRIP=: -test -z "$ac_objext" && ac_objext=o - -# Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -if test -n "$RANLIB"; then - case $host_os in - openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" - ;; - *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" -fi - -_LT_CC_BASENAME([$compiler]) - -# Only perform the check for file, if the check method requires it -case $deplibs_check_method in -file_magic*) - if test "$file_magic_cmd" = '$MAGIC_CMD'; then - AC_PATH_MAGIC - fi - ;; -esac - -AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no) -AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], -enable_win32_dll=yes, enable_win32_dll=no) - -AC_ARG_ENABLE([libtool-lock], - [AC_HELP_STRING([--disable-libtool-lock], - [avoid locking (might break parallel builds)])]) -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes - -AC_ARG_WITH([pic], - [AC_HELP_STRING([--with-pic], - [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], - [pic_mode="$withval"], - [pic_mode=default]) -test -z "$pic_mode" && pic_mode=default - -# Use C for the default configuration in the libtool script -tagname= -AC_LIBTOOL_LANG_C_CONFIG -_LT_AC_TAGCONFIG -])# AC_LIBTOOL_SETUP - - -# _LT_AC_SYS_COMPILER -# ------------------- -AC_DEFUN([_LT_AC_SYS_COMPILER], -[AC_REQUIRE([AC_PROG_CC])dnl - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC -])# _LT_AC_SYS_COMPILER - - -# _LT_CC_BASENAME(CC) -# ------------------- -# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. -AC_DEFUN([_LT_CC_BASENAME], -[for cc_temp in $1""; do - case $cc_temp in - compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; - distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` -]) - - -# _LT_COMPILER_BOILERPLATE -# ------------------------ -# Check for compiler boilerplate output or warnings with -# the simple compiler test code. -AC_DEFUN([_LT_COMPILER_BOILERPLATE], -[ac_outfile=conftest.$ac_objext -printf "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$rm conftest* -])# _LT_COMPILER_BOILERPLATE - - -# _LT_LINKER_BOILERPLATE -# ---------------------- -# Check for linker boilerplate output or warnings with -# the simple link test code. -AC_DEFUN([_LT_LINKER_BOILERPLATE], -[ac_outfile=conftest.$ac_objext -printf "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$rm conftest* -])# _LT_LINKER_BOILERPLATE - - -# _LT_AC_SYS_LIBPATH_AIX -# ---------------------- -# Links a minimal program and checks the executable -# for the system default hardcoded library path. In most cases, -# this is /usr/lib:/lib, but when the MPI compilers are used -# the location of the communication and MPI libs are included too. -# If we don't find anything, use the default library path according -# to the aix ld manual. -AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX], -[AC_LINK_IFELSE(AC_LANG_PROGRAM,[ -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'`; fi],[]) -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi -])# _LT_AC_SYS_LIBPATH_AIX - - -# _LT_AC_SHELL_INIT(ARG) -# ---------------------- -AC_DEFUN([_LT_AC_SHELL_INIT], -[ifdef([AC_DIVERSION_NOTICE], - [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], - [AC_DIVERT_PUSH(NOTICE)]) -$1 -AC_DIVERT_POP -])# _LT_AC_SHELL_INIT - - -# _LT_AC_PROG_ECHO_BACKSLASH -# -------------------------- -# Add some code to the start of the generated configure script which -# will find an echo command which doesn't interpret backslashes. -AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH], -[_LT_AC_SHELL_INIT([ -# Check that we are running under the correct shell. -SHELL=${CONFIG_SHELL-/bin/sh} - -case X$ECHO in -X*--fallback-echo) - # Remove one level of quotation (which was required for Make). - ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` - ;; -esac - -echo=${ECHO-echo} -if test "X[$]1" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift -elif test "X[$]1" = X--fallback-echo; then - # Avoid inline document here, it may be left over - : -elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then - # Yippee, $echo works! - : -else - # Restart under the correct shell. - exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} -fi - -if test "X[$]1" = X--fallback-echo; then - # used as fallback echo - shift - cat </dev/null 2>&1 && unset CDPATH - -if test -z "$ECHO"; then -if test "X${echo_test_string+set}" != Xset; then -# find a string as large as possible, as long as the shell can cope with it - for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do - # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... - if (echo_test_string=`eval $cmd`) 2>/dev/null && - echo_test_string=`eval $cmd` && - (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null - then - break - fi - done -fi - -if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - : -else - # The Solaris, AIX, and Digital Unix default echo programs unquote - # backslashes. This makes it impossible to quote backslashes using - # echo "$something" | sed 's/\\/\\\\/g' - # - # So, first we look for a working echo in the user's PATH. - - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for dir in $PATH /usr/ucb; do - IFS="$lt_save_ifs" - if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && - test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - echo="$dir/echo" - break - fi - done - IFS="$lt_save_ifs" - - if test "X$echo" = Xecho; then - # We didn't find a better echo, so look for alternatives. - if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # This shell has a builtin print -r that does the trick. - echo='print -r' - elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && - test "X$CONFIG_SHELL" != X/bin/ksh; then - # If we have ksh, try running configure again with it. - ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} - export ORIGINAL_CONFIG_SHELL - CONFIG_SHELL=/bin/ksh - export CONFIG_SHELL - exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} - else - # Try using printf. - echo='printf %s\n' - if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # Cool, printf works - : - elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL - export CONFIG_SHELL - SHELL="$CONFIG_SHELL" - export SHELL - echo="$CONFIG_SHELL [$]0 --fallback-echo" - elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - echo="$CONFIG_SHELL [$]0 --fallback-echo" - else - # maybe with a smaller string... - prev=: - - for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do - if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null - then - break - fi - prev="$cmd" - done - - if test "$prev" != 'sed 50q "[$]0"'; then - echo_test_string=`eval $prev` - export echo_test_string - exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} - else - # Oops. We lost completely, so just stick with echo. - echo=echo - fi - fi - fi - fi -fi -fi - -# Copy echo and quote the copy suitably for passing to libtool from -# the Makefile, instead of quoting the original, which is used later. -ECHO=$echo -if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then - ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" -fi - -AC_SUBST(ECHO) -])])# _LT_AC_PROG_ECHO_BACKSLASH - - -# _LT_AC_LOCK -# ----------- -AC_DEFUN([_LT_AC_LOCK], -[AC_ARG_ENABLE([libtool-lock], - [AC_HELP_STRING([--disable-libtool-lock], - [avoid locking (might break parallel builds)])]) -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes - -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -ia64-*-hpux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.$ac_objext` in - *ELF-32*) - HPUX_IA64_MODE="32" - ;; - *ELF-64*) - HPUX_IA64_MODE="64" - ;; - esac - fi - rm -rf conftest* - ;; -*-*-irix6*) - # Find out which ABI we are using. - echo '[#]line __oline__ "configure"' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - if test "$lt_cv_prog_gnu_ld" = yes; then - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -melf32bsmip" - ;; - *N32*) - LD="${LD-ld} -melf32bmipn32" - ;; - *64-bit*) - LD="${LD-ld} -melf64bmip" - ;; - esac - else - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - fi - rm -rf conftest* - ;; - -x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.o` in - *32-bit*) - case $host in - x86_64-*linux*) - LD="${LD-ld} -m elf_i386" - ;; - ppc64-*linux*|powerpc64-*linux*) - LD="${LD-ld} -m elf32ppclinux" - ;; - s390x-*linux*) - LD="${LD-ld} -m elf_s390" - ;; - sparc64-*linux*) - LD="${LD-ld} -m elf32_sparc" - ;; - esac - ;; - *64-bit*) - case $host in - x86_64-*linux*) - LD="${LD-ld} -m elf_x86_64" - ;; - ppc*-*linux*|powerpc*-*linux*) - LD="${LD-ld} -m elf64ppc" - ;; - s390*-*linux*) - LD="${LD-ld} -m elf64_s390" - ;; - sparc*-*linux*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -belf" - AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, - [AC_LANG_PUSH(C) - AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) - AC_LANG_POP]) - if test x"$lt_cv_cc_needs_belf" != x"yes"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS="$SAVE_CFLAGS" - fi - ;; -sparc*-*solaris*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.o` in - *64-bit*) - case $lt_cv_prog_gnu_ld in - yes*) LD="${LD-ld} -m elf64_sparc" ;; - *) LD="${LD-ld} -64" ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - -AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], -[*-*-cygwin* | *-*-mingw* | *-*-pw32*) - AC_CHECK_TOOL(DLLTOOL, dlltool, false) - AC_CHECK_TOOL(AS, as, false) - AC_CHECK_TOOL(OBJDUMP, objdump, false) - ;; - ]) -esac - -need_locks="$enable_libtool_lock" - -])# _LT_AC_LOCK - - -# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, -# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) -# ---------------------------------------------------------------- -# Check whether the given compiler option works -AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], -[AC_REQUIRE([LT_AC_PROG_SED]) -AC_CACHE_CHECK([$1], [$2], - [$2=no - ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) - printf "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$3" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi - fi - $rm conftest* -]) - -if test x"[$]$2" = xyes; then - ifelse([$5], , :, [$5]) -else - ifelse([$6], , :, [$6]) -fi -])# AC_LIBTOOL_COMPILER_OPTION - - -# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, -# [ACTION-SUCCESS], [ACTION-FAILURE]) -# ------------------------------------------------------------ -# Check whether the given compiler option works -AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], -[AC_CACHE_CHECK([$1], [$2], - [$2=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $3" - printf "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&AS_MESSAGE_LOG_FD - $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi - else - $2=yes - fi - fi - $rm conftest* - LDFLAGS="$save_LDFLAGS" -]) - -if test x"[$]$2" = xyes; then - ifelse([$4], , :, [$4]) -else - ifelse([$5], , :, [$5]) -fi -])# AC_LIBTOOL_LINKER_OPTION - - -# AC_LIBTOOL_SYS_MAX_CMD_LEN -# -------------------------- -AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], -[# find the maximum length of command line arguments -AC_MSG_CHECKING([the maximum length of command line arguments]) -AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl - i=0 - teststring="ABCD" - - case $build_os in - msdosdjgpp*) - # On DJGPP, this test can blow up pretty badly due to problems in libc - # (any single argument exceeding 2000 bytes causes a buffer overrun - # during glob expansion). Even if it were fixed, the result of this - # check would be larger than it should be. - lt_cv_sys_max_cmd_len=12288; # 12K is about right - ;; - - gnu*) - # Under GNU Hurd, this test is not required because there is - # no limit to the length of command line arguments. - # Libtool will interpret -1 as no limit whatsoever - lt_cv_sys_max_cmd_len=-1; - ;; - - cygwin* | mingw*) - # On Win9x/ME, this test blows up -- it succeeds, but takes - # about 5 minutes as the teststring grows exponentially. - # Worse, since 9x/ME are not pre-emptively multitasking, - # you end up with a "frozen" computer, even though with patience - # the test eventually succeeds (with a max line length of 256k). - # Instead, let's just punt: use the minimum linelength reported by - # all of the supported platforms: 8192 (on NT/2K/XP). - lt_cv_sys_max_cmd_len=8192; - ;; - - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. - lt_cv_sys_max_cmd_len=8192; - ;; - - netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - elif test -x /usr/sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` - else - lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs - fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - ;; - - interix*) - # We know the value 262144 and hardcode it with a safety zone (like BSD) - lt_cv_sys_max_cmd_len=196608 - ;; - - osf*) - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not - # nice to cause kernel panics so lets avoid the loop below. - # First set a reasonable default. - lt_cv_sys_max_cmd_len=16384 - # - if test -x /sbin/sysconfig; then - case `/sbin/sysconfig -q proc exec_disable_arg_limit` in - *1*) lt_cv_sys_max_cmd_len=-1 ;; - esac - fi - ;; - sco3.2v5*) - lt_cv_sys_max_cmd_len=102400 - ;; - sysv5* | sco5v6* | sysv4.2uw2*) - kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` - if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` - else - lt_cv_sys_max_cmd_len=32768 - fi - ;; - *) - # If test is not a shell built-in, we'll probably end up computing a - # maximum length that is only half of the actual maximum length, but - # we can't tell. - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \ - = "XX$teststring") >/dev/null 2>&1 && - new_result=`expr "X$teststring" : ".*" 2>&1` && - lt_cv_sys_max_cmd_len=$new_result && - test $i != 17 # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - teststring= - # Add a significant safety factor because C++ compilers can tack on massive - # amounts of additional arguments before passing them to the linker. - # It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` - ;; - esac -]) -if test -n $lt_cv_sys_max_cmd_len ; then - AC_MSG_RESULT($lt_cv_sys_max_cmd_len) -else - AC_MSG_RESULT(none) -fi -])# AC_LIBTOOL_SYS_MAX_CMD_LEN - - -# _LT_AC_CHECK_DLFCN -# ------------------ -AC_DEFUN([_LT_AC_CHECK_DLFCN], -[AC_CHECK_HEADERS(dlfcn.h)dnl -])# _LT_AC_CHECK_DLFCN - - -# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, -# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) -# --------------------------------------------------------------------- -AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF], -[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl -if test "$cross_compiling" = yes; then : - [$4] -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext < -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -#ifdef __cplusplus -extern "C" void exit (int); -#endif - -void fnord() { int i=42;} -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - /* dlclose (self); */ - } - else - puts (dlerror ()); - - exit (status); -}] -EOF - if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) $1 ;; - x$lt_dlneed_uscore) $2 ;; - x$lt_dlunknown|x*) $3 ;; - esac - else : - # compilation failed - $3 - fi -fi -rm -fr conftest* -])# _LT_AC_TRY_DLOPEN_SELF - - -# AC_LIBTOOL_DLOPEN_SELF -# ---------------------- -AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], -[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl -if test "x$enable_dlopen" != xyes; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen="load_add_on" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - mingw* | pw32*) - lt_cv_dlopen="LoadLibrary" - lt_cv_dlopen_libs= - ;; - - cygwin*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; - - darwin*) - # if libdl is installed we need to link against it - AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ - lt_cv_dlopen="dyld" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ]) - ;; - - *) - AC_CHECK_FUNC([shl_load], - [lt_cv_dlopen="shl_load"], - [AC_CHECK_LIB([dld], [shl_load], - [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"], - [AC_CHECK_FUNC([dlopen], - [lt_cv_dlopen="dlopen"], - [AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], - [AC_CHECK_LIB([svld], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], - [AC_CHECK_LIB([dld], [dld_link], - [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"]) - ]) - ]) - ]) - ]) - ]) - ;; - esac - - if test "x$lt_cv_dlopen" != xno; then - enable_dlopen=yes - else - enable_dlopen=no - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS="$CPPFLAGS" - test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS="$LDFLAGS" - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS="$LIBS" - LIBS="$lt_cv_dlopen_libs $LIBS" - - AC_CACHE_CHECK([whether a program can dlopen itself], - lt_cv_dlopen_self, [dnl - _LT_AC_TRY_DLOPEN_SELF( - lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, - lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) - ]) - - if test "x$lt_cv_dlopen_self" = xyes; then - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - AC_CACHE_CHECK([whether a statically linked program can dlopen itself], - lt_cv_dlopen_self_static, [dnl - _LT_AC_TRY_DLOPEN_SELF( - lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, - lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) - ]) - fi - - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" - LIBS="$save_LIBS" - ;; - esac - - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi -])# AC_LIBTOOL_DLOPEN_SELF - - -# AC_LIBTOOL_PROG_CC_C_O([TAGNAME]) -# --------------------------------- -# Check to see if options -c and -o are simultaneously supported by compiler -AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O], -[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl -AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], - [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)], - [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no - $rm -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - printf "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes - fi - fi - chmod u+w . 2>&AS_MESSAGE_LOG_FD - $rm conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files - $rm out/* && rmdir out - cd .. - rmdir conftest - $rm conftest* -]) -])# AC_LIBTOOL_PROG_CC_C_O - - -# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME]) -# ----------------------------------------- -# Check to see if we can do hard links to lock some files if needed -AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], -[AC_REQUIRE([_LT_AC_LOCK])dnl - -hard_links="nottested" -if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - AC_MSG_CHECKING([if we can lock with hard links]) - hard_links=yes - $rm conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - AC_MSG_RESULT([$hard_links]) - if test "$hard_links" = no; then - AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) - need_locks=warn - fi -else - need_locks=no -fi -])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS - - -# AC_LIBTOOL_OBJDIR -# ----------------- -AC_DEFUN([AC_LIBTOOL_OBJDIR], -[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], -[rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - lt_cv_objdir=.libs -else - # MS-DOS does not allow filenames that begin with a dot. - lt_cv_objdir=_libs -fi -rmdir .libs 2>/dev/null]) -objdir=$lt_cv_objdir -])# AC_LIBTOOL_OBJDIR - - -# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME]) -# ---------------------------------------------- -# Check hardcoding attributes. -AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], -[AC_MSG_CHECKING([how to hardcode library paths into programs]) -_LT_AC_TAGVAR(hardcode_action, $1)= -if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \ - test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \ - test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then - - # We can hardcode non-existant directories. - if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no && - test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then - # Linking always hardcodes the temporary library directory. - _LT_AC_TAGVAR(hardcode_action, $1)=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - _LT_AC_TAGVAR(hardcode_action, $1)=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - _LT_AC_TAGVAR(hardcode_action, $1)=unsupported -fi -AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)]) - -if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi -])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH - - -# AC_LIBTOOL_SYS_LIB_STRIP -# ------------------------ -AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP], -[striplib= -old_striplib= -AC_MSG_CHECKING([whether stripping libraries is possible]) -if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - AC_MSG_RESULT([yes]) -else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP" ; then - striplib="$STRIP -x" - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) -fi - ;; - *) - AC_MSG_RESULT([no]) - ;; - esac -fi -])# AC_LIBTOOL_SYS_LIB_STRIP - - -# AC_LIBTOOL_SYS_DYNAMIC_LINKER -# ----------------------------- -# PORTME Fill in your ld.so characteristics -AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER], -[AC_MSG_CHECKING([dynamic linker characteristics]) -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -if test "$GCC" = yes; then - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -case $host_os in -aix3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; - -aix4* | aix5*) - version_type=linux - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[[01]] | aix4.[[01]].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[[45]]*) - version_type=linux - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no - - case $GCC,$host_os in - yes,cygwin* | yes,mingw* | yes,pw32*) - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $rm \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" - ;; - mingw*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then - # It is most probably a Windows format PATH printed by - # mingw gcc, but we are running on Cygwin. Gcc prints its search - # path with ; separators, and with drive letters. We can handle the - # drive letters (cygwin fileutils understands them), so leave them, - # especially as we might pass files found there to a mingw objdump, - # which wouldn't understand a cygwinified path. Ahh. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - ;; - esac - ;; - - *) - library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' - ;; - esac - dynamic_linker='Win32 ld.exe' - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. - if test "$GCC" = yes; then - sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` - else - sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' - fi - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd1*) - dynamic_linker=no - ;; - -kfreebsd*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='GNU ld.so' - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[[123]]*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[[01]]* | freebsdelf3.[[01]]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ - freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - freebsd*) # from 4.6 on - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -gnu*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555. - postinstall_cmds='chmod 555 $lib' - ;; - -interix3*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -# This must be Linux ELF. -linux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # find out which ABI we are using - libsuff= - case "$host_cpu" in - x86_64*|s390x*|powerpc64*) - echo '[#]line __oline__ "configure"' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.$ac_objext` in - *64-bit*) - libsuff=64 - sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}" - ;; - esac - fi - rm -rf conftest* - ;; - esac - - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -knetbsd*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='GNU ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -nto-qnx*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -openbsd*) - version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" - need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[[89]] | openbsd2.[[89]].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; - -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -solaris*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - export_dynamic_flag_spec='${wl}-Blargedynsym' - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - shlibpath_overrides_runpath=no - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - shlibpath_overrides_runpath=yes - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -uts4*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -AC_MSG_RESULT([$dynamic_linker]) -test "$dynamic_linker" = no && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi -])# AC_LIBTOOL_SYS_DYNAMIC_LINKER - - -# _LT_AC_TAGCONFIG -# ---------------- -AC_DEFUN([_LT_AC_TAGCONFIG], -[AC_ARG_WITH([tags], - [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@], - [include additional configurations @<:@automatic@:>@])], - [tagnames="$withval"]) - -if test -f "$ltmain" && test -n "$tagnames"; then - if test ! -f "${ofile}"; then - AC_MSG_WARN([output file `$ofile' does not exist]) - fi - - if test -z "$LTCC"; then - eval "`$SHELL ${ofile} --config | grep '^LTCC='`" - if test -z "$LTCC"; then - AC_MSG_WARN([output file `$ofile' does not look like a libtool script]) - else - AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile']) - fi - fi - if test -z "$LTCFLAGS"; then - eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" - fi - - # Extract list of available tagged configurations in $ofile. - # Note that this assumes the entire list is on one line. - available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` - - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for tagname in $tagnames; do - IFS="$lt_save_ifs" - # Check whether tagname contains only valid characters - case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in - "") ;; - *) AC_MSG_ERROR([invalid tag name: $tagname]) - ;; - esac - - if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null - then - AC_MSG_ERROR([tag name \"$tagname\" already exists]) - fi - - # Update the list of available tags. - if test -n "$tagname"; then - echo appending configuration tag \"$tagname\" to $ofile - - case $tagname in - CXX) - if test -n "$CXX" && ( test "X$CXX" != "Xno" && - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || - (test "X$CXX" != "Xg++"))) ; then - AC_LIBTOOL_LANG_CXX_CONFIG - else - tagname="" - fi - ;; - - F77) - if test -n "$F77" && test "X$F77" != "Xno"; then - AC_LIBTOOL_LANG_F77_CONFIG - else - tagname="" - fi - ;; - - GCJ) - if test -n "$GCJ" && test "X$GCJ" != "Xno"; then - AC_LIBTOOL_LANG_GCJ_CONFIG - else - tagname="" - fi - ;; - - RC) - AC_LIBTOOL_LANG_RC_CONFIG - ;; - - *) - AC_MSG_ERROR([Unsupported tag name: $tagname]) - ;; - esac - - # Append the new tag name to the list of available tags. - if test -n "$tagname" ; then - available_tags="$available_tags $tagname" - fi - fi - done - IFS="$lt_save_ifs" - - # Now substitute the updated list of available tags. - if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then - mv "${ofile}T" "$ofile" - chmod +x "$ofile" - else - rm -f "${ofile}T" - AC_MSG_ERROR([unable to update list of available tagged configurations.]) - fi -fi -])# _LT_AC_TAGCONFIG - - -# AC_LIBTOOL_DLOPEN -# ----------------- -# enable checks for dlopen support -AC_DEFUN([AC_LIBTOOL_DLOPEN], - [AC_BEFORE([$0],[AC_LIBTOOL_SETUP]) -])# AC_LIBTOOL_DLOPEN - - -# AC_LIBTOOL_WIN32_DLL -# -------------------- -# declare package support for building win32 DLLs -AC_DEFUN([AC_LIBTOOL_WIN32_DLL], -[AC_BEFORE([$0], [AC_LIBTOOL_SETUP]) -])# AC_LIBTOOL_WIN32_DLL - - -# AC_ENABLE_SHARED([DEFAULT]) -# --------------------------- -# implement the --enable-shared flag -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -AC_DEFUN([AC_ENABLE_SHARED], -[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl -AC_ARG_ENABLE([shared], - [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@], - [build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_shared=yes ;; - no) enable_shared=no ;; - *) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_shared=]AC_ENABLE_SHARED_DEFAULT) -])# AC_ENABLE_SHARED - - -# AC_DISABLE_SHARED -# ----------------- -# set the default shared flag to --disable-shared -AC_DEFUN([AC_DISABLE_SHARED], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -AC_ENABLE_SHARED(no) -])# AC_DISABLE_SHARED - - -# AC_ENABLE_STATIC([DEFAULT]) -# --------------------------- -# implement the --enable-static flag -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -AC_DEFUN([AC_ENABLE_STATIC], -[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl -AC_ARG_ENABLE([static], - [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@], - [build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_static=yes ;; - no) enable_static=no ;; - *) - enable_static=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_static=]AC_ENABLE_STATIC_DEFAULT) -])# AC_ENABLE_STATIC - - -# AC_DISABLE_STATIC -# ----------------- -# set the default static flag to --disable-static -AC_DEFUN([AC_DISABLE_STATIC], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -AC_ENABLE_STATIC(no) -])# AC_DISABLE_STATIC - - -# AC_ENABLE_FAST_INSTALL([DEFAULT]) -# --------------------------------- -# implement the --enable-fast-install flag -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -AC_DEFUN([AC_ENABLE_FAST_INSTALL], -[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl -AC_ARG_ENABLE([fast-install], - [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], - [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_fast_install=yes ;; - no) enable_fast_install=no ;; - *) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT) -])# AC_ENABLE_FAST_INSTALL - - -# AC_DISABLE_FAST_INSTALL -# ----------------------- -# set the default to --disable-fast-install -AC_DEFUN([AC_DISABLE_FAST_INSTALL], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -AC_ENABLE_FAST_INSTALL(no) -])# AC_DISABLE_FAST_INSTALL - - -# AC_LIBTOOL_PICMODE([MODE]) -# -------------------------- -# implement the --with-pic flag -# MODE is either `yes' or `no'. If omitted, it defaults to `both'. -AC_DEFUN([AC_LIBTOOL_PICMODE], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -pic_mode=ifelse($#,1,$1,default) -])# AC_LIBTOOL_PICMODE - - -# AC_PROG_EGREP -# ------------- -# This is predefined starting with Autoconf 2.54, so this conditional -# definition can be removed once we require Autoconf 2.54 or later. -m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP], -[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep], - [if echo a | (grep -E '(a|b)') >/dev/null 2>&1 - then ac_cv_prog_egrep='grep -E' - else ac_cv_prog_egrep='egrep' - fi]) - EGREP=$ac_cv_prog_egrep - AC_SUBST([EGREP]) -])]) - - -# AC_PATH_TOOL_PREFIX -# ------------------- -# find a file program which can recognise shared library -AC_DEFUN([AC_PATH_TOOL_PREFIX], -[AC_REQUIRE([AC_PROG_EGREP])dnl -AC_MSG_CHECKING([for $1]) -AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, -[case $MAGIC_CMD in -[[\\/*] | ?:[\\/]*]) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR -dnl $ac_dummy forces splitting on constant user-supplied paths. -dnl POSIX.2 word splitting is done only on the output of word expansions, -dnl not every word. This closes a longstanding sh security hole. - ac_dummy="ifelse([$2], , $PATH, [$2])" - for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$1; then - lt_cv_path_MAGIC_CMD="$ac_dir/$1" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -EOF - fi ;; - esac - fi - break - fi - done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; -esac]) -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - AC_MSG_RESULT($MAGIC_CMD) -else - AC_MSG_RESULT(no) -fi -])# AC_PATH_TOOL_PREFIX - - -# AC_PATH_MAGIC -# ------------- -# find a file program which can recognise a shared library -AC_DEFUN([AC_PATH_MAGIC], -[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) -if test -z "$lt_cv_path_MAGIC_CMD"; then - if test -n "$ac_tool_prefix"; then - AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) - else - MAGIC_CMD=: - fi -fi -])# AC_PATH_MAGIC - - -# AC_PROG_LD -# ---------- -# find the pathname to the GNU or non-GNU linker -AC_DEFUN([AC_PROG_LD], -[AC_ARG_WITH([gnu-ld], - [AC_HELP_STRING([--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([LT_AC_PROG_SED])dnl -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -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 $CC]) - 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. - [[\\/]]* | ?:[[\\/]]*) - re_direlt='/[[^/]][[^/]]*/\.\./' - # Canonicalize the pathname 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(lt_cv_path_LD, -[if test -z "$LD"; then - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null; then - case $host_cpu in - i*86 ) - # Not sure whether the presence of OpenBSD here was a mistake. - # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - ;; - esac - else - lt_cv_deplibs_check_method=pass_all - fi - ;; - -gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - -hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file - case $host_cpu in - ia64*) - lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' - lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so - ;; - hppa*64*) - [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'] - lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl - ;; - *) - lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' - lt_cv_file_magic_test_file=/usr/lib/libc.sl - ;; - esac - ;; - -interix3*) - # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' - ;; - -irix5* | irix6* | nonstopux*) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - lt_cv_deplibs_check_method=pass_all - ;; - -# This must be Linux ELF. -linux*) - lt_cv_deplibs_check_method=pass_all - ;; - -netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' - fi - ;; - -newos6*) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libnls.so - ;; - -nto-qnx*) - lt_cv_deplibs_check_method=unknown - ;; - -openbsd*) - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' - fi - ;; - -osf3* | osf4* | osf5*) - lt_cv_deplibs_check_method=pass_all - ;; - -solaris*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv4 | sysv4.3*) - case $host_vendor in - motorola) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` - ;; - ncr) - lt_cv_deplibs_check_method=pass_all - ;; - sequent) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' - ;; - sni) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" - lt_cv_file_magic_test_file=/lib/libc.so - ;; - siemens) - lt_cv_deplibs_check_method=pass_all - ;; - pc) - lt_cv_deplibs_check_method=pass_all - ;; - esac - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all - ;; -esac -]) -file_magic_cmd=$lt_cv_file_magic_cmd -deplibs_check_method=$lt_cv_deplibs_check_method -test -z "$deplibs_check_method" && deplibs_check_method=unknown -])# AC_DEPLIBS_CHECK_METHOD - - -# AC_PROG_NM -# ---------- -# find the pathname to a BSD-compatible name lister -AC_DEFUN([AC_PROG_NM], -[AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM, -[if test -n "$NM"; then - # Let the user override the test. - lt_cv_path_NM="$NM" -else - lt_nm_to_check="${ac_tool_prefix}nm" - if test -n "$ac_tool_prefix" && test "$build" = "$host"; then - lt_nm_to_check="$lt_nm_to_check nm" - fi - for lt_tmp_nm in $lt_nm_to_check; do - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - tmp_nm="$ac_dir/$lt_tmp_nm" - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in - */dev/null* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" - break - ;; - *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - ;; - esac - ;; - esac - fi - done - IFS="$lt_save_ifs" - done - test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm -fi]) -NM="$lt_cv_path_NM" -])# AC_PROG_NM - - -# AC_CHECK_LIBM -# ------------- -# check for math library -AC_DEFUN([AC_CHECK_LIBM], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -LIBM= -case $host in -*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) - # These system don't have libm, or don't need it - ;; -*-ncr-sysv4.3*) - AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") - AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") - ;; -*) - AC_CHECK_LIB(m, cos, LIBM="-lm") - ;; -esac -])# AC_CHECK_LIBM - - -# AC_LIBLTDL_CONVENIENCE([DIRECTORY]) -# ----------------------------------- -# sets LIBLTDL to the link flags for the libltdl convenience library and -# LTDLINCL to the include flags for the libltdl header and adds -# --enable-ltdl-convenience to the configure arguments. Note that -# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided, -# it is assumed to be `libltdl'. LIBLTDL will be prefixed with -# '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/' -# (note the single quotes!). If your package is not flat and you're not -# using automake, define top_builddir and top_srcdir appropriately in -# the Makefiles. -AC_DEFUN([AC_LIBLTDL_CONVENIENCE], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl - case $enable_ltdl_convenience in - no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; - "") enable_ltdl_convenience=yes - ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; - esac - LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la - LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) - # For backwards non-gettext consistent compatibility... - INCLTDL="$LTDLINCL" -])# AC_LIBLTDL_CONVENIENCE - - -# AC_LIBLTDL_INSTALLABLE([DIRECTORY]) -# ----------------------------------- -# sets LIBLTDL to the link flags for the libltdl installable library and -# LTDLINCL to the include flags for the libltdl header and adds -# --enable-ltdl-install to the configure arguments. Note that -# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided, -# and an installed libltdl is not found, it is assumed to be `libltdl'. -# LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with -# '${top_srcdir}/' (note the single quotes!). If your package is not -# flat and you're not using automake, define top_builddir and top_srcdir -# appropriately in the Makefiles. -# In the future, this macro may have to be called after AC_PROG_LIBTOOL. -AC_DEFUN([AC_LIBLTDL_INSTALLABLE], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl - AC_CHECK_LIB(ltdl, lt_dlinit, - [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], - [if test x"$enable_ltdl_install" = xno; then - AC_MSG_WARN([libltdl not installed, but installation disabled]) - else - enable_ltdl_install=yes - fi - ]) - if test x"$enable_ltdl_install" = x"yes"; then - ac_configure_args="$ac_configure_args --enable-ltdl-install" - LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la - LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) - else - ac_configure_args="$ac_configure_args --enable-ltdl-install=no" - LIBLTDL="-lltdl" - LTDLINCL= - fi - # For backwards non-gettext consistent compatibility... - INCLTDL="$LTDLINCL" -])# AC_LIBLTDL_INSTALLABLE - - -# AC_LIBTOOL_CXX -# -------------- -# enable support for C++ libraries -AC_DEFUN([AC_LIBTOOL_CXX], -[AC_REQUIRE([_LT_AC_LANG_CXX]) -])# AC_LIBTOOL_CXX - - -# _LT_AC_LANG_CXX -# --------------- -AC_DEFUN([_LT_AC_LANG_CXX], -[AC_REQUIRE([AC_PROG_CXX]) -AC_REQUIRE([_LT_AC_PROG_CXXCPP]) -_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX]) -])# _LT_AC_LANG_CXX - -# _LT_AC_PROG_CXXCPP -# ------------------ -AC_DEFUN([_LT_AC_PROG_CXXCPP], -[ -AC_REQUIRE([AC_PROG_CXX]) -if test -n "$CXX" && ( test "X$CXX" != "Xno" && - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || - (test "X$CXX" != "Xg++"))) ; then - AC_PROG_CXXCPP -fi -])# _LT_AC_PROG_CXXCPP - -# AC_LIBTOOL_F77 -# -------------- -# enable support for Fortran 77 libraries -AC_DEFUN([AC_LIBTOOL_F77], -[AC_REQUIRE([_LT_AC_LANG_F77]) -])# AC_LIBTOOL_F77 - - -# _LT_AC_LANG_F77 -# --------------- -AC_DEFUN([_LT_AC_LANG_F77], -[AC_REQUIRE([AC_PROG_F77]) -_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77]) -])# _LT_AC_LANG_F77 - - -# AC_LIBTOOL_GCJ -# -------------- -# enable support for GCJ libraries -AC_DEFUN([AC_LIBTOOL_GCJ], -[AC_REQUIRE([_LT_AC_LANG_GCJ]) -])# AC_LIBTOOL_GCJ - - -# _LT_AC_LANG_GCJ -# --------------- -AC_DEFUN([_LT_AC_LANG_GCJ], -[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[], - [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[], - [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[], - [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])], - [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])], - [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])]) -_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ]) -])# _LT_AC_LANG_GCJ - - -# AC_LIBTOOL_RC -# ------------- -# enable support for Windows resource files -AC_DEFUN([AC_LIBTOOL_RC], -[AC_REQUIRE([LT_AC_PROG_RC]) -_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC]) -])# AC_LIBTOOL_RC - - -# AC_LIBTOOL_LANG_C_CONFIG -# ------------------------ -# Ensure that the configuration vars for the C compiler are -# suitably defined. Those variables are subsequently used by -# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. -AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG]) -AC_DEFUN([_LT_AC_LANG_C_CONFIG], -[lt_save_CC="$CC" -AC_LANG_PUSH(C) - -# Source file extension for C test sources. -ac_ext=c - -# Object file extension for compiled C test sources. -objext=o -_LT_AC_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;\n" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(){return(0);}\n' - -_LT_AC_SYS_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) -AC_LIBTOOL_PROG_COMPILER_PIC($1) -AC_LIBTOOL_PROG_CC_C_O($1) -AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) -AC_LIBTOOL_PROG_LD_SHLIBS($1) -AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) -AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) -AC_LIBTOOL_SYS_LIB_STRIP -AC_LIBTOOL_DLOPEN_SELF - -# Report which library types will actually be built -AC_MSG_CHECKING([if libtool supports shared libraries]) -AC_MSG_RESULT([$can_build_shared]) - -AC_MSG_CHECKING([whether to build shared libraries]) -test "$can_build_shared" = "no" && enable_shared=no - -# On AIX, shared libraries and static libraries use the same namespace, and -# are all built from PIC. -case $host_os in -aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - -aix4* | aix5*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; -esac -AC_MSG_RESULT([$enable_shared]) - -AC_MSG_CHECKING([whether to build static libraries]) -# Make sure either enable_shared or enable_static is yes. -test "$enable_shared" = yes || enable_static=yes -AC_MSG_RESULT([$enable_static]) - -AC_LIBTOOL_CONFIG($1) - -AC_LANG_POP -CC="$lt_save_CC" -])# AC_LIBTOOL_LANG_C_CONFIG - - -# AC_LIBTOOL_LANG_CXX_CONFIG -# -------------------------- -# Ensure that the configuration vars for the C compiler are -# suitably defined. Those variables are subsequently used by -# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. -AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)]) -AC_DEFUN([_LT_AC_LANG_CXX_CONFIG], -[AC_LANG_PUSH(C++) -AC_REQUIRE([AC_PROG_CXX]) -AC_REQUIRE([_LT_AC_PROG_CXXCPP]) - -_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_AC_TAGVAR(allow_undefined_flag, $1)= -_LT_AC_TAGVAR(always_export_symbols, $1)=no -_LT_AC_TAGVAR(archive_expsym_cmds, $1)= -_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_AC_TAGVAR(hardcode_direct, $1)=no -_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= -_LT_AC_TAGVAR(hardcode_libdir_separator, $1)= -_LT_AC_TAGVAR(hardcode_minus_L, $1)=no -_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported -_LT_AC_TAGVAR(hardcode_automatic, $1)=no -_LT_AC_TAGVAR(module_cmds, $1)= -_LT_AC_TAGVAR(module_expsym_cmds, $1)= -_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown -_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_AC_TAGVAR(no_undefined_flag, $1)= -_LT_AC_TAGVAR(whole_archive_flag_spec, $1)= -_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Dependencies to place before and after the object being linked: -_LT_AC_TAGVAR(predep_objects, $1)= -_LT_AC_TAGVAR(postdep_objects, $1)= -_LT_AC_TAGVAR(predeps, $1)= -_LT_AC_TAGVAR(postdeps, $1)= -_LT_AC_TAGVAR(compiler_lib_search_path, $1)= - -# Source file extension for C++ test sources. -ac_ext=cpp - -# Object file extension for compiled C++ test sources. -objext=o -_LT_AC_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;\n" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }\n' - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_AC_SYS_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC=$CC -lt_save_LD=$LD -lt_save_GCC=$GCC -GCC=$GXX -lt_save_with_gnu_ld=$with_gnu_ld -lt_save_path_LD=$lt_cv_path_LD -if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then - lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx -else - $as_unset lt_cv_prog_gnu_ld -fi -if test -n "${lt_cv_path_LDCXX+set}"; then - lt_cv_path_LD=$lt_cv_path_LDCXX -else - $as_unset lt_cv_path_LD -fi -test -z "${LDCXX+set}" || LD=$LDCXX -CC=${CXX-"c++"} -compiler=$CC -_LT_AC_TAGVAR(compiler, $1)=$CC -_LT_CC_BASENAME([$compiler]) - -# We don't want -fno-exception wen compiling C++ code, so set the -# no_builtin_flag separately -if test "$GXX" = yes; then - _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' -else - _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= -fi - -if test "$GXX" = yes; then - # Set up default GNU C++ configuration - - AC_PROG_LD - - # Check if GNU C++ uses GNU ld as the underlying linker, since the - # archiving commands below assume that GNU ld is being used. - if test "$with_gnu_ld" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - - # If archive_cmds runs LD, not CC, wlarc should be empty - # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to - # investigate it a little bit more. (MM) - wlarc='${wl}' - - # ancient GNU ld didn't support --whole-archive et. al. - if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ - grep 'no-whole-archive' > /dev/null; then - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= - fi - else - with_gnu_ld=no - wlarc= - - # A generic and very simple default shared library creation - # command for GNU C++ for the case where it uses the native - # linker, instead of GNU ld. If possible, this setting should - # overridden to take advantage of the native linker features on - # the platform it is being used on. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - fi - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' - -else - GXX=no - with_gnu_ld=no - wlarc= -fi - -# PORTME: fill in a description of your system's C++ link characteristics -AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) -_LT_AC_TAGVAR(ld_shlibs, $1)=yes -case $host_os in - aix3*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - aix4* | aix5*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) - for ld_flag in $LDFLAGS; do - case $ld_flag in - *-brtl*) - aix_use_runtimelinking=yes - break - ;; - esac - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - _LT_AC_TAGVAR(archive_cmds, $1)='' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - - if test "$GXX" = yes; then - case $host_os in aix4.[[012]]|aix4.[[012]].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - else - # We have old collect2 - _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - _LT_AC_TAGVAR(always_export_symbols, $1)=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' - # Determine the default libpath from the value encoded in an empty executable. - _LT_AC_SYS_LIBPATH_AIX - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' - _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an empty executable. - _LT_AC_SYS_LIBPATH_AIX - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes - # This is similar to how AIX traditionally builds its shared libraries. - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - beos*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - chorus*) - case $cc_basename in - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - cygwin* | mingw* | pw32*) - # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, - # as there is no search path for DLLs. - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_AC_TAGVAR(always_export_symbols, $1)=no - _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - - if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - darwin* | rhapsody*) - case $host_os in - rhapsody* | darwin1.[[012]]) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' - ;; - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[[012]]) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - ;; - 10.*) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' - ;; - esac - fi - ;; - esac - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_automatic, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - - if test "$GXX" = yes ; then - lt_int_apple_cc_single_mod=no - output_verbose_link_cmd='echo' - if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then - lt_int_apple_cc_single_mod=yes - fi - if test "X$lt_int_apple_cc_single_mod" = Xyes ; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - fi - _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - if test "X$lt_int_apple_cc_single_mod" = Xyes ; then - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - fi - _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - case $cc_basename in - xlc*) - output_verbose_link_cmd='echo' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' - _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - ;; - *) - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - fi - ;; - - dgux*) - case $cc_basename in - ec++*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - ghcx*) - # Green Hills C++ Compiler - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - freebsd[[12]]*) - # C++ shared libraries reported to be fairly broken before switch to ELF - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - freebsd-elf*) - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - ;; - freebsd* | kfreebsd*-gnu | dragonfly*) - # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF - # conventions - _LT_AC_TAGVAR(ld_shlibs, $1)=yes - ;; - gnu*) - ;; - hpux9*) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, - # but as the default - # location of the library. - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - aCC*) - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[[-]]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - hpux10*|hpux11*) - if test $with_gnu_ld = no; then - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - case $host_cpu in - hppa*64*|ia64*) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' - ;; - *) - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - ;; - esac - fi - case $host_cpu in - hppa*64*|ia64*) - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - *) - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, - # but as the default - # location of the library. - ;; - esac - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - aCC*) - case $host_cpu in - hppa*64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes; then - if test $with_gnu_ld = no; then - case $host_cpu in - hppa*64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - fi - else - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - interix3*) - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - irix5* | irix6*) - case $cc_basename in - CC*) - # SGI C++ - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - - # Archives containing C++ object files must be created using - # "CC -ar", where "CC" is the IRIX C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' - ;; - *) - if test "$GXX" = yes; then - if test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' - fi - fi - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - ;; - esac - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - linux*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' - ;; - icpc*) - # Intel C++ - with_gnu_ld=yes - # version 8.0 and above of icpc choke on multiply defined symbols - # if we add $predep_objects and $postdep_objects, however 7.1 and - # earlier do not add the objects themselves. - case `$CC -V 2>&1` in - *"Version 7."*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - *) # Version 8.0 or newer - tmp_idyn= - case $host_cpu in - ia64*) tmp_idyn=' -i_dynamic';; - esac - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - esac - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - ;; - pgCC*) - # Portland Group C++ compiler - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - ;; - cxx*) - # Compaq C++ - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' - - runpath_var=LD_RUN_PATH - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - esac - ;; - lynxos*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - m88k*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - mvs*) - case $cc_basename in - cxx*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' - wlarc= - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - fi - # Workaround some broken pre-1.5 toolchains - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' - ;; - openbsd2*) - # C++ shared libraries are fairly broken - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - openbsd*) - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - fi - output_verbose_link_cmd='echo' - ;; - osf3*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' - - ;; - RCC*) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - cxx*) - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' - - else - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - osf4* | osf5*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Archives containing C++ object files must be created using - # the KAI C++ compiler. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' - ;; - RCC*) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - cxx*) - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ - echo "-hidden">> $lib.exp~ - $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ - $rm $lib.exp' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' - - else - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - psos*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - lcc*) - # Lucid - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - solaris*) - case $cc_basename in - CC*) - # Sun C++ 4.2, 5.x and Centerline C++ - _LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes - _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - # The C++ compiler is used as linker so we must use $wl - # flag to pass the commands to the underlying system - # linker. We must also pass each convience library through - # to the system linker between allextract/defaultextract. - # The C++ compiler will combine linker options so we - # cannot just pass the convience library names through - # without $wl. - # Supported since Solaris 2.6 (maybe 2.5.1?) - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' - ;; - esac - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - - output_verbose_link_cmd='echo' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' - ;; - gcx*) - # Green Hills C++ Compiler - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - - # The C++ compiler must be used to create the archive. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' - ;; - *) - # GNU C++ compiler with Solaris linker - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' - if $CC --version | grep -v '^2\.7' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" - else - # g++ 2.7 appears to require `-G' NOT `-shared' on this - # platform. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" - fi - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' - fi - ;; - esac - ;; - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) - _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - # So that behaviour is only enabled if SCOABSPATH is set to a - # non-empty value in the environment. Most likely only useful for - # creating official distributions of packages. - # This is a hack until libtool officially supports absolute path - # names for shared libraries. - _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - vxworks*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; -esac -AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) -test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no - -_LT_AC_TAGVAR(GCC, $1)="$GXX" -_LT_AC_TAGVAR(LD, $1)="$LD" - -AC_LIBTOOL_POSTDEP_PREDEP($1) -AC_LIBTOOL_PROG_COMPILER_PIC($1) -AC_LIBTOOL_PROG_CC_C_O($1) -AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) -AC_LIBTOOL_PROG_LD_SHLIBS($1) -AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) -AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) - -AC_LIBTOOL_CONFIG($1) - -AC_LANG_POP -CC=$lt_save_CC -LDCXX=$LD -LD=$lt_save_LD -GCC=$lt_save_GCC -with_gnu_ldcxx=$with_gnu_ld -with_gnu_ld=$lt_save_with_gnu_ld -lt_cv_path_LDCXX=$lt_cv_path_LD -lt_cv_path_LD=$lt_save_path_LD -lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld -lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld -])# AC_LIBTOOL_LANG_CXX_CONFIG - -# AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME]) -# ------------------------------------ -# Figure out "hidden" library dependencies from verbose -# compiler output when linking a shared library. -# Parse the compiler output and extract the necessary -# objects, libraries and library flags. -AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],[ -dnl we can't use the lt_simple_compile_test_code here, -dnl because it contains code intended for an executable, -dnl not a library. It's possible we should let each -dnl tag define a new lt_????_link_test_code variable, -dnl but it's only used here... -ifelse([$1],[],[cat > conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext <> "$cfgfile" -ifelse([$1], [], -[#! $SHELL - -# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. -# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) -# NOTE: Changes made to this file will be lost: look at ltmain.sh. -# -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 -# Free Software Foundation, Inc. -# -# This file is part of GNU Libtool: -# Originally by Gordon Matzigkeit , 1996 -# -# 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 -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program 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 this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# A sed program that does not truncate output. -SED=$lt_SED - -# Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="$SED -e 1s/^X//" - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -# The names of the tagged configurations supported by this script. -available_tags= - -# ### BEGIN LIBTOOL CONFIG], -[# ### BEGIN LIBTOOL TAG CONFIG: $tagname]) - -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1) - -# Whether or not to disallow shared libs when runtime libs are static -allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os - -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - -# An echo program that does not interpret backslashes. -echo=$lt_echo - -# The archiver. -AR=$lt_AR -AR_FLAGS=$lt_AR_FLAGS - -# A C compiler. -LTCC=$lt_LTCC - -# LTCC compiler flags. -LTCFLAGS=$lt_LTCFLAGS - -# A language-specific compiler. -CC=$lt_[]_LT_AC_TAGVAR(compiler, $1) - -# Is the compiler the GNU C compiler? -with_gcc=$_LT_AC_TAGVAR(GCC, $1) - -gcc_dir=\`gcc -print-file-name=. | $SED 's,/\.$,,'\` -gcc_ver=\`gcc -dumpversion\` - -# An ERE matcher. -EGREP=$lt_EGREP - -# The linker used to build libraries. -LD=$lt_[]_LT_AC_TAGVAR(LD, $1) - -# Whether we need hard or soft links. -LN_S=$lt_LN_S - -# A BSD-compatible nm program. -NM=$lt_NM - -# A symbol stripping program -STRIP=$lt_STRIP - -# Used to examine libraries when file_magic_cmd begins "file" -MAGIC_CMD=$MAGIC_CMD - -# Used on cygwin: DLL creation program. -DLLTOOL="$DLLTOOL" - -# Used on cygwin: object dumper. -OBJDUMP="$OBJDUMP" - -# Used on cygwin: assembler. -AS="$AS" - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# How to pass a linker flag through the compiler. -wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) - -# Object file suffix (normally "o"). -objext="$ac_objext" - -# Old archive suffix (normally "a"). -libext="$libext" - -# Shared library suffix (normally ".so"). -shrext_cmds='$shrext_cmds' - -# Executable file suffix (normally ""). -exeext="$exeext" - -# Additional compiler flags for building library objects. -pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) -pic_mode=$pic_mode - -# What is the maximum length of a command? -max_cmd_len=$lt_cv_sys_max_cmd_len - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) - -# Must we lock files when doing compilation? -need_locks=$lt_need_locks - -# Do we need the lib prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1) - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1) - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1) - -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1) - -# Library versioning type. -version_type=$version_type - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME. -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Commands used to build and install an old-style archive. -RANLIB=$lt_RANLIB -old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1) -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1) - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) - -# Commands used to build and install a shared archive. -archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1) -archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1) -postinstall_cmds=$lt_postinstall_cmds -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands used to build a loadable module (assumed same as above if empty) -module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1) -module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1) - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - -# Dependencies to place before the objects being linked to create a -# shared library. -predep_objects=\`echo $lt_[]_LT_AC_TAGVAR(predep_objects, $1) | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\` - -# Dependencies to place after the objects being linked to create a -# shared library. -postdep_objects=\`echo $lt_[]_LT_AC_TAGVAR(postdep_objects, $1) | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\` - -# Dependencies to place before the objects being linked to create a -# shared library. -predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1) - -# Dependencies to place after the objects being linked to create a -# shared library. -postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1) - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=\`echo $lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1) | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\` - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method == file_magic. -file_magic_cmd=$lt_file_magic_cmd - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1) - -# Flag that forces no undefined symbols. -no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1) - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# Same as above, but a single script fragment to be evaled but not shown. -finish_eval=$lt_finish_eval - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - -# Transform the output of nm in a proper C declaration -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - -# Transform the output of nm in a C name address pair -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - -# This is the shared library runtime path variable. -runpath_var=$runpath_var - -# This is the shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# How to hardcode a shared library path into an executable. -hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1) - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) - -# If ld is used when linking, flag to hardcode \$libdir into -# a binary during linking. This must work even if \$libdir does -# not exist. -hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) - -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1) - -# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the -# resulting binary. -hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1) - -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1) - -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into -# the resulting binary. -hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1) - -# Set to yes if building a shared library automatically hardcodes DIR into the library -# and all subsequent libraries and executables linked against it. -hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1) - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at relink time. -variables_saved_for_relink="$variables_saved_for_relink" - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1) - -# Compile-time system search path for libraries -sys_lib_search_path_spec=\`echo $lt_sys_lib_search_path_spec | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\` - -# Run-time system search path for libraries -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec - -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path="$_LT_AC_TAGVAR(fix_srcfile_path, $1)" - -# Set to yes if exported symbols are required. -always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1) - -# The commands to list exported symbols. -export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1) - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1) - -# Symbols that must always be exported. -include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1) - -ifelse([$1],[], -[# ### END LIBTOOL CONFIG], -[# ### END LIBTOOL TAG CONFIG: $tagname]) - -__EOF__ - -ifelse([$1],[], [ - case $host_os in - aix3*) - cat <<\EOF >> "$cfgfile" - -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -EOF - ;; - esac - - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) - - mv -f "$cfgfile" "$ofile" || \ - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" -]) -else - # If there is no Makefile yet, we rely on a make rule to execute - # `config.status --recheck' to rerun these tests and create the - # libtool script then. - ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` - if test -f "$ltmain_in"; then - test -f Makefile && make "$ltmain" - fi -fi -])# AC_LIBTOOL_CONFIG - - -# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME]) -# ------------------------------------------- -AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], -[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl - -_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= - -if test "$GCC" = yes; then - _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' - - AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], - lt_cv_prog_compiler_rtti_exceptions, - [-fno-rtti -fno-exceptions], [], - [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) -fi -])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI - - -# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE -# --------------------------------- -AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], -[AC_REQUIRE([AC_CANONICAL_HOST]) -AC_REQUIRE([AC_PROG_NM]) -AC_REQUIRE([AC_OBJEXT]) -# Check for command to grab the raw symbol name followed by C symbol from nm. -AC_MSG_CHECKING([command to parse $NM output from $compiler object]) -AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], -[ -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] - -# Character class describing NM global symbol codes. -symcode='[[BCDEGRST]]' - -# Regexp to match symbols that can be accessed directly from C. -sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' - -# Transform an extracted symbol line into a proper C declaration -lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" - -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" - -# Define system-specific variables. -case $host_os in -aix*) - symcode='[[BCDT]]' - ;; -cygwin* | mingw* | pw32*) - symcode='[[ABCDGISTW]]' - ;; -hpux*) # Its linker distinguishes data from code symbols - if test "$host_cpu" = ia64; then - symcode='[[ABCDEGRST]]' - fi - lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" - ;; -linux*) - if test "$host_cpu" = ia64; then - symcode='[[ABCDGIRSTW]]' - lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" - fi - ;; -irix* | nonstopux*) - symcode='[[BCDEGRST]]' - ;; -osf*) - symcode='[[BCDEGQRST]]' - ;; -solaris*) - symcode='[[BDRT]]' - ;; -sco3.2v5*) - symcode='[[DT]]' - ;; -sysv4.2uw2*) - symcode='[[DT]]' - ;; -sysv5* | sco5v6* | unixware* | OpenUNIX*) - symcode='[[ABDT]]' - ;; -sysv4) - symcode='[[DFNSTU]]' - ;; -esac - -# Handle CRLF in mingw tool chain -opt_cr= -case $build_os in -mingw*) - opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp - ;; -esac - -# If we're using GNU nm, then use its standard symbol codes. -case `$NM -V 2>&1` in -*GNU* | *'with BFD'*) - symcode='[[ABCDGIRSTW]]' ;; -esac - -# Try without a prefix undercore, then with it. -for ac_symprfx in "" "_"; do - - # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. - symxfrm="\\1 $ac_symprfx\\2 \\2" - - # Write the raw and C identifiers. - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" - - # Check to see that the pipe works correctly. - pipe_works=no - - rm -f conftest* - cat > conftest.$ac_ext < $nlist) && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi - - # Make sure that we snagged all the symbols we need. - if grep ' nm_test_var$' "$nlist" >/dev/null; then - if grep ' nm_test_func$' "$nlist" >/dev/null; then - cat < conftest.$ac_ext -#ifdef __cplusplus -extern "C" { -#endif - -EOF - # Now generate the symbol file. - eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' - - cat <> conftest.$ac_ext -#if defined (__STDC__) && __STDC__ -# define lt_ptr_t void * -#else -# define lt_ptr_t char * -# define const -#endif - -/* The mapping between symbol names and symbols. */ -const struct { - const char *name; - lt_ptr_t address; -} -lt_preloaded_symbols[[]] = -{ -EOF - $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext - cat <<\EOF >> conftest.$ac_ext - {0, (lt_ptr_t) 0} -}; - -#ifdef __cplusplus -} -#endif -EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext - lt_save_LIBS="$LIBS" - lt_save_CFLAGS="$CFLAGS" - LIBS="conftstm.$ac_objext" - CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" - if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then - pipe_works=yes - fi - LIBS="$lt_save_LIBS" - CFLAGS="$lt_save_CFLAGS" - else - echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD - fi - else - echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD - fi - else - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD - fi - else - echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD - cat conftest.$ac_ext >&5 - fi - rm -f conftest* conftst* - - # Do not use the global_symbol_pipe unless it works. - if test "$pipe_works" = yes; then - break - else - lt_cv_sys_global_symbol_pipe= - fi -done -]) -if test -z "$lt_cv_sys_global_symbol_pipe"; then - lt_cv_sys_global_symbol_to_cdecl= -fi -if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - AC_MSG_RESULT(failed) -else - AC_MSG_RESULT(ok) -fi -]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE - - -# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME]) -# --------------------------------------- -AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC], -[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)= -_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= -_LT_AC_TAGVAR(lt_prog_compiler_static, $1)= - -AC_MSG_CHECKING([for $compiler option to produce PIC]) - ifelse([$1],[CXX],[ - # C++ specific cases for pic, static, wl, etc. - if test "$GXX" = yes; then - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - amigaos*) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' - ;; - beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - mingw* | os2* | pw32*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' - ;; - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - ;; - *djgpp*) - # DJGPP does not support shared libraries at all - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= - ;; - interix3*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - sysv4*MP*) - if test -d /usr/nec; then - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic - fi - ;; - hpux*) - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - else - case $host_os in - aix4* | aix5*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - else - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' - fi - ;; - chorus*) - case $cc_basename in - cxch68*) - # Green Hills C++ Compiler - # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" - ;; - esac - ;; - darwin*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - case $cc_basename in - xlc*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - ;; - esac - ;; - dgux*) - case $cc_basename in - ec++*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - ;; - ghcx*) - # Green Hills C++ Compiler - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - *) - ;; - esac - ;; - freebsd* | kfreebsd*-gnu | dragonfly*) - # FreeBSD uses GNU C++ - ;; - hpux9* | hpux10* | hpux11*) - case $cc_basename in - CC*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - if test "$host_cpu" != ia64; then - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - fi - ;; - aCC*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - ;; - esac - ;; - *) - ;; - esac - ;; - interix*) - # This is c89, which is MS Visual C++ (no shared libs) - # Anyone wants to do a port? - ;; - irix5* | irix6* | nonstopux*) - case $cc_basename in - CC*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - # CC pic flag -KPIC is the default. - ;; - *) - ;; - esac - ;; - linux*) - case $cc_basename in - KCC*) - # KAI C++ Compiler - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - icpc* | ecpc*) - # Intel C++ - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - pgCC*) - # Portland Group C++ compiler. - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - cxx*) - # Compaq C++ - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - *) - ;; - esac - ;; - lynxos*) - ;; - m88k*) - ;; - mvs*) - case $cc_basename in - cxx*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' - ;; - *) - ;; - esac - ;; - netbsd*) - ;; - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' - ;; - RCC*) - # Rational C++ 2.4.1 - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - cxx*) - # Digital/Compaq C++ - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - *) - ;; - esac - ;; - psos*) - ;; - solaris*) - case $cc_basename in - CC*) - # Sun C++ 4.2, 5.x and Centerline C++ - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - gcx*) - # Green Hills C++ Compiler - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - ;; - *) - ;; - esac - ;; - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - lcc*) - # Lucid - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - *) - ;; - esac - ;; - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - ;; - *) - ;; - esac - ;; - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - case $cc_basename in - CC*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - esac - ;; - vxworks*) - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - esac - fi -], -[ - if test "$GCC" = yes; then - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - amigaos*) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' - ;; - - beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - ;; - - interix3*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - enable_shared=no - ;; - - sysv4*MP*) - if test -d /usr/nec; then - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic - fi - ;; - - hpux*) - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - ;; - - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - else - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' - fi - ;; - darwin*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - case $cc_basename in - xlc*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - ;; - esac - ;; - - mingw* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' - ;; - - hpux9* | hpux10* | hpux11*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # PIC (with -KPIC) is the default. - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - newsos6) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - linux*) - case $cc_basename in - icc* | ecc*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - pgcc* | pgf77* | pgf90* | pgf95*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - ccc*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # All Alpha code is PIC. - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - esac - ;; - - osf3* | osf4* | osf5*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # All OSF/1 code is PIC. - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - solaris*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - case $cc_basename in - f77* | f90* | f95*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; - *) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; - esac - ;; - - sunos4*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec ;then - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - unicos*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - - uts4*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - *) - _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - esac - fi -]) -AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)]) - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then - AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works], - _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1), - [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [], - [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in - "" | " "*) ;; - *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;; - esac], - [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) -fi -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])" - ;; -esac - -# -# Check to make sure the static flag actually works. -# -wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\" -AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], - _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1), - $lt_tmp_static_flag, - [], - [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=]) -]) - - -# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME]) -# ------------------------------------ -# See if the linker supports building shared libraries. -AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS], -[AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) -ifelse([$1],[CXX],[ - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - case $host_os in - aix4* | aix5*) - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | grep 'GNU' > /dev/null; then - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' - else - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' - fi - ;; - pw32*) - _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" - ;; - cygwin* | mingw*) - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([[^ ]]*\) [[^ ]]*/\1 DATA/;/^I /d;/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' - ;; - *) - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - ;; - esac -],[ - runpath_var= - _LT_AC_TAGVAR(allow_undefined_flag, $1)= - _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no - _LT_AC_TAGVAR(archive_cmds, $1)= - _LT_AC_TAGVAR(archive_expsym_cmds, $1)= - _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)= - _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)= - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= - _LT_AC_TAGVAR(thread_safe_flag_spec, $1)= - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_minus_L, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown - _LT_AC_TAGVAR(hardcode_automatic, $1)=no - _LT_AC_TAGVAR(module_cmds, $1)= - _LT_AC_TAGVAR(module_expsym_cmds, $1)= - _LT_AC_TAGVAR(always_export_symbols, $1)=no - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - _LT_AC_TAGVAR(include_expsyms, $1)= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ` (' and `)$', so one must not match beginning or - # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', - # as well as any symbol that contains `d'. - _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_" - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - extract_expsyms_cmds= - # Just being paranoid about ensuring that cc_basename is set. - _LT_CC_BASENAME([$compiler]) - case $host_os in - cygwin* | mingw* | pw32*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd*) - with_gnu_ld=no - ;; - esac - - _LT_AC_TAGVAR(ld_shlibs, $1)=yes - if test "$with_gnu_ld" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= - fi - supports_anon_versioning=no - case `$LD -v 2>/dev/null` in - *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix3* | aix4* | aix5*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - _LT_AC_TAGVAR(ld_shlibs, $1)=no - cat <&2 - -*** Warning: the GNU linker, at least up to release 2.9.1, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to modify your PATH -*** so that a non-GNU linker is found, and then restart. - -EOF - fi - ;; - - amigaos*) - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - - # Samuel A. Falvo II reports - # that the semantics of dynamic libraries on AmigaOS, at least up - # to version 4, is to share data among multiple programs linked - # with the same dynamic library. Since this doesn't match the - # behavior of shared libraries on other platforms, we can't use - # them. - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - - beos*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - cygwin* | mingw* | pw32*) - # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, - # as there is no search path for DLLs. - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_AC_TAGVAR(always_export_symbols, $1)=no - _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' - - if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - interix3*) - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - - linux*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - tmp_addflag= - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - esac - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - - if test $supports_anon_versioning = yes; then - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - $echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then - _LT_AC_TAGVAR(ld_shlibs, $1)=no - cat <&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -EOF - elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) - _LT_AC_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - sunos4*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - - if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then - runpath_var= - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_AC_TAGVAR(always_export_symbols, $1)=yes - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported - fi - ;; - - aix4* | aix5*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | grep 'GNU' > /dev/null; then - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' - else - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - _LT_AC_TAGVAR(archive_cmds, $1)='' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - - if test "$GCC" = yes; then - case $host_os in aix4.[[012]]|aix4.[[012]].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - else - # We have old collect2 - _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - _LT_AC_TAGVAR(always_export_symbols, $1)=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' - # Determine the default libpath from the value encoded in an empty executable. - _LT_AC_SYS_LIBPATH_AIX - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' - _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an empty executable. - _LT_AC_SYS_LIBPATH_AIX - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes - # This is similar to how AIX traditionally builds its shared libraries. - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - amigaos*) - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - # see comment about different semantics on the GNU ld section - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - - bsdi[[45]]*) - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic - ;; - - cygwin* | mingw* | pw32*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true' - # FIXME: Should let the user specify the lib program. - _LT_AC_TAGVAR(old_archive_cmds, $1)='lib /OUT:$oldlib$oldobjs$old_deplibs' - _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' - _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - ;; - - darwin* | rhapsody*) - case $host_os in - rhapsody* | darwin1.[[012]]) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' - ;; - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[[012]]) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - ;; - 10.*) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' - ;; - esac - fi - ;; - esac - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_automatic, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - if test "$GCC" = yes ; then - output_verbose_link_cmd='echo' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - case $cc_basename in - xlc*) - output_verbose_link_cmd='echo' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' - _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - ;; - *) - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - fi - ;; - - dgux*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - freebsd1*) - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | kfreebsd*-gnu | dragonfly*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - hpux9*) - if test "$GCC" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - ;; - - hpux10*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - fi - ;; - - hpux11*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - case $host_cpu in - hppa*64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - fi - if test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - case $host_cpu in - hppa*64*|ia64*) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - *) - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test "$GCC" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - newsos6) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - openbsd*) - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - else - case $host_os in - openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - ;; - esac - fi - ;; - - os2*) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; - - osf3*) - if test "$GCC" = yes; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - else - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ - $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' - - # Both c and cxx compiler support -rpath directly - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - fi - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - - solaris*) - _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' - if test "$GCC" = yes; then - wlarc='${wl}' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' - else - wlarc='' - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - # The compiler driver will combine linker options so we - # cannot just pass the convience library names through - # without $wl, iff we do not link with $LD. - # Luckily, gcc supports the same syntax we need for Sun Studio. - # Supported since Solaris 2.6 (maybe 2.5.1?) - case $wlarc in - '') - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;; - *) - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; - esac ;; - esac - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - ;; - - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - sysv4) - case $host_vendor in - sni) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' - _LT_AC_TAGVAR(hardcode_direct, $1)=no - ;; - motorola) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - sysv4.3*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - _LT_AC_TAGVAR(ld_shlibs, $1)=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7*) - _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *) - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - fi -]) -AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) -test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no - -# -# Do we need to explicitly link libc? -# -case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in -x|xyes) - # Assume -lc should be added - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes - - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $_LT_AC_TAGVAR(archive_cmds, $1) in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - AC_MSG_CHECKING([whether -lc should be explicitly linked in]) - $rm conftest* - printf "$lt_simple_compile_test_code" > conftest.$ac_ext - - if AC_TRY_EVAL(ac_compile) 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) - pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1) - _LT_AC_TAGVAR(allow_undefined_flag, $1)= - if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) - then - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - else - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes - fi - _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $rm conftest* - AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)]) - ;; - esac - fi - ;; -esac -])# AC_LIBTOOL_PROG_LD_SHLIBS - - -# _LT_AC_FILE_LTDLL_C -# ------------------- -# Be careful that the start marker always follows a newline. -AC_DEFUN([_LT_AC_FILE_LTDLL_C], [ -# /* ltdll.c starts here */ -# #define WIN32_LEAN_AND_MEAN -# #include -# #undef WIN32_LEAN_AND_MEAN -# #include -# -# #ifndef __CYGWIN__ -# # ifdef __CYGWIN32__ -# # define __CYGWIN__ __CYGWIN32__ -# # endif -# #endif -# -# #ifdef __cplusplus -# extern "C" { -# #endif -# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved); -# #ifdef __cplusplus -# } -# #endif -# -# #ifdef __CYGWIN__ -# #include -# DECLARE_CYGWIN_DLL( DllMain ); -# #endif -# HINSTANCE __hDllInstance_base; -# -# BOOL APIENTRY -# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) -# { -# __hDllInstance_base = hInst; -# return TRUE; -# } -# /* ltdll.c ends here */ -])# _LT_AC_FILE_LTDLL_C - - -# _LT_AC_TAGVAR(VARNAME, [TAGNAME]) -# --------------------------------- -AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])]) - - -# old names -AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL]) -AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) -AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) -AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) -AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) -AC_DEFUN([AM_PROG_LD], [AC_PROG_LD]) -AC_DEFUN([AM_PROG_NM], [AC_PROG_NM]) - -# This is just to silence aclocal about the macro not being used -ifelse([AC_DISABLE_FAST_INSTALL]) - -AC_DEFUN([LT_AC_PROG_GCJ], -[AC_CHECK_TOOL(GCJ, gcj, no) - test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" - AC_SUBST(GCJFLAGS) -]) - -AC_DEFUN([LT_AC_PROG_RC], -[AC_CHECK_TOOL(RC, windres, no) -]) - -# NOTE: This macro has been submitted for inclusion into # -# GNU Autoconf as AC_PROG_SED. When it is available in # -# a released version of Autoconf we should remove this # -# macro and use it instead. # -# LT_AC_PROG_SED -# -------------- -# Check for a fully-functional sed program, that truncates -# as few characters as possible. Prefer GNU sed if found. -AC_DEFUN([LT_AC_PROG_SED], -[AC_MSG_CHECKING([for a sed that does not truncate output]) -AC_CACHE_VAL(lt_cv_path_SED, -[# Loop through the user's path and test for sed and gsed. -# Then use that list of sed's as ones to test for truncation. -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for lt_ac_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then - lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" - fi - done - done -done -IFS=$as_save_IFS -lt_ac_max=0 -lt_ac_count=0 -# Add /usr/xpg4/bin/sed as it is typically found on Solaris -# along with /bin/sed that truncates output. -for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do - test ! -f $lt_ac_sed && continue - cat /dev/null > conftest.in - lt_ac_count=0 - echo $ECHO_N "0123456789$ECHO_C" >conftest.in - # Check for GNU sed and select it if it is found. - if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then - lt_cv_path_SED=$lt_ac_sed - break - fi - while true; do - cat conftest.in conftest.in >conftest.tmp - mv conftest.tmp conftest.in - cp conftest.in conftest.nl - echo >>conftest.nl - $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break - cmp -s conftest.out conftest.nl || break - # 10000 chars as input seems more than enough - test $lt_ac_count -gt 10 && break - lt_ac_count=`expr $lt_ac_count + 1` - if test $lt_ac_count -gt $lt_ac_max; then - lt_ac_max=$lt_ac_count - lt_cv_path_SED=$lt_ac_sed - fi - done -done -]) -SED=$lt_cv_path_SED -AC_SUBST([SED]) -AC_MSG_RESULT([$SED]) -]) - # Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation @@ -6948,6 +549,34 @@ AC_MSG_RESULT([$_am_result]) rm -f confinc confmf ]) +# Copyright (C) 1999, 2000, 2001, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 3 + +# AM_PROG_CC_C_O +# -------------- +# Like AC_PROG_CC_C_O, but changed for automake. +AC_DEFUN([AM_PROG_CC_C_O], +[AC_REQUIRE([AC_PROG_CC_C_O])dnl +AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +# FIXME: we rely on the cache variable name because +# there is no other way. +set dummy $CC +ac_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']` +if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" != yes"; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi +]) + # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Copyright (C) 1997, 1999, 2000, 2001, 2003, 2005 @@ -7284,6 +913,7 @@ m4_include([m4/acattribute.m4]) m4_include([m4/accross.m4]) m4_include([m4/acinclude.m4]) 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]) diff --git a/libjava/classpath/autogen.sh b/libjava/classpath/autogen.sh index 9919d15..eb94e22 100755 --- a/libjava/classpath/autogen.sh +++ b/libjava/classpath/autogen.sh @@ -38,17 +38,14 @@ have_autoconf=false if autoconf --version < /dev/null > /dev/null 2>&1 ; then autoconf_version=`autoconf --version | sed 's/^[^0-9]*\([0-9.][0-9.]*\).*/\1/'` case $autoconf_version in - 2.59*) - have_autoconf=true - ;; - 2.60*) + 2.59* | 2.6[0-9]* ) have_autoconf=true ;; esac fi if $have_autoconf ; then : ; else echo - echo "You must have autoconf 2.59 or 2.60 installed for $PROJECT." + echo "You must have autoconf 2.59 or later installed for $PROJECT." echo "Install the appropriate package for your distribution," echo "or get the source tarball at http://ftp.gnu.org/gnu/autoconf/" DIE=1 @@ -65,14 +62,14 @@ elif automake --version < /dev/null > /dev/null 2>&1 ; then ACLOCAL=aclocal automake_version=`automake --version | sed 's/^[^0-9]*\([0-9.][0-9.]*\).*/\1/'` case $automake_version in - 1.9*) + 1.9* | 1.10*) have_automake=true ;; esac fi if $have_automake ; then : ; else echo - echo "You must have automake 1.9 installed to compile $PROJECT." + echo "You must have automake 1.9 or 1.10 installed to compile $PROJECT." echo "Install the appropriate package for your distribution," echo "or get the source tarball at http://ftp.gnu.org/gnu/automake/" DIE=1 diff --git a/libjava/classpath/config.guess b/libjava/classpath/config.guess index 2fc3acc..2b03b48 100755 --- a/libjava/classpath/config.guess +++ b/libjava/classpath/config.guess @@ -1,9 +1,10 @@ #! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003 Free Software Foundation, Inc. +# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, +# Inc. -timestamp='2003-06-17' +timestamp='2006-12-08' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -17,13 +18,15 @@ timestamp='2003-06-17' # # 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +# 02110-1301, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. + # Originally written by Per Bothner . # Please send patches to . Submit a context # diff and a properly formatted ChangeLog entry. @@ -53,7 +56,7 @@ version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO @@ -66,11 +69,11 @@ Try \`$me --help' for more information." while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) - echo "$timestamp" ; exit 0 ;; + echo "$timestamp" ; exit ;; --version | -v ) - echo "$version" ; exit 0 ;; + echo "$version" ; exit ;; --help | --h* | -h ) - echo "$usage"; exit 0 ;; + echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. @@ -104,7 +107,7 @@ set_cc_for_build=' trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; : ${TMPDIR=/tmp} ; - { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; @@ -123,7 +126,7 @@ case $CC_FOR_BUILD,$HOST_CC,$CC in ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; -esac ;' +esac ; set_cc_for_build= ;' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) @@ -136,13 +139,6 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown -## for Red Hat Linux -if test -f /etc/redhat-release ; then - VENDOR=redhat ; -else - VENDOR= ; -fi - # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in @@ -165,6 +161,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; + sh5el) machine=sh5le-unknown ;; *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched @@ -203,50 +200,32 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" - exit 0 ;; - amiga:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - arc:OpenBSD:*:*) - echo mipsel-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - hp300:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mac68k:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - macppc:OpenBSD:*:*) - echo powerpc-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mvme68k:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mvme88k:OpenBSD:*:*) - echo m88k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mvmeppc:OpenBSD:*:*) - echo powerpc-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - pmax:OpenBSD:*:*) - echo mipsel-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - sgi:OpenBSD:*:*) - echo mipseb-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - sun3:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - wgrisc:OpenBSD:*:*) - echo mipsel-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; + exit ;; *:OpenBSD:*:*) - echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; + UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} + exit ;; + *:ekkoBSD:*:*) + echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} + exit ;; + *:SolidBSD:*:*) + echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} + exit ;; + macppc:MirBSD:*:*) + echo powerpc-unknown-mirbsd${UNAME_RELEASE} + exit ;; + *:MirBSD:*:*) + echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} + exit ;; alpha:OSF1:*:*) - if test $UNAME_RELEASE = "V4.0"; then + case $UNAME_RELEASE in + *4.0) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` - fi + ;; + *5.*) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + ;; + esac # According to Compaq, /usr/sbin/psrinfo has been available on # OSF/1 and Tru64 systems produced since 1995. I hope that # covers most systems running today. This code pipes the CPU @@ -284,42 +263,49 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in "EV7.9 (21364A)") UNAME_MACHINE="alphaev79" ;; esac + # A Pn.n version is a patched version. # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - exit 0 ;; - Alpha*:OpenVMS:*:*) - echo alpha-hp-vms - exit 0 ;; + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + exit ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead # of the specific Alpha model? echo alpha-pc-interix - exit 0 ;; + exit ;; 21064:Windows_NT:50:3) echo alpha-dec-winnt3.5 - exit 0 ;; + exit ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 - exit 0;; + exit ;; *:[Aa]miga[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-amigaos - exit 0 ;; + exit ;; *:[Mm]orph[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-morphos - exit 0 ;; + exit ;; *:OS/390:*:*) echo i370-ibm-openedition - exit 0 ;; + exit ;; + *:z/VM:*:*) + echo s390-ibm-zvmoe + exit ;; + *:OS400:*:*) + echo powerpc-ibm-os400 + exit ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} - exit 0;; + exit ;; + arm:riscos:*:*|arm:RISCOS:*:*) + echo arm-unknown-riscos + exit ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp - exit 0;; + exit ;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. if test "`(/bin/universe) 2>/dev/null`" = att ; then @@ -327,32 +313,32 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in else echo pyramid-pyramid-bsd fi - exit 0 ;; + exit ;; NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 - exit 0 ;; + exit ;; DRS?6000:unix:4.0:6*) echo sparc-icl-nx6 - exit 0 ;; - DRS?6000:UNIX_SV:4.2*:7*) + exit ;; + DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) case `/usr/bin/uname -p` in - sparc) echo sparc-icl-nx7 && exit 0 ;; + sparc) echo sparc-icl-nx7; exit ;; esac ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; + exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; + exit ;; i86pc:SunOS:5.*:*) echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; + exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; + exit ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in Series*|S4*) @@ -361,10 +347,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in esac # Japanese Language versions have a version number like `4.1.3-JL'. echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` - exit 0 ;; + exit ;; sun3*:SunOS:*:*) echo m68k-sun-sunos${UNAME_RELEASE} - exit 0 ;; + exit ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 @@ -376,10 +362,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in echo sparc-sun-sunos${UNAME_RELEASE} ;; esac - exit 0 ;; + exit ;; aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} - exit 0 ;; + exit ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor @@ -390,37 +376,40 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} - exit 0 ;; + exit ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} - exit 0 ;; + exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} - exit 0 ;; + exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) echo m68k-milan-mint${UNAME_RELEASE} - exit 0 ;; + exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) echo m68k-hades-mint${UNAME_RELEASE} - exit 0 ;; + exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint${UNAME_RELEASE} - exit 0 ;; + exit ;; + m68k:machten:*:*) + echo m68k-apple-machten${UNAME_RELEASE} + exit ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} - exit 0 ;; + exit ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 - exit 0 ;; + exit ;; RISC*:ULTRIX:*:*) echo mips-dec-ultrix${UNAME_RELEASE} - exit 0 ;; + exit ;; VAX*:ULTRIX*:*:*) echo vax-dec-ultrix${UNAME_RELEASE} - exit 0 ;; + exit ;; 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix${UNAME_RELEASE} - exit 0 ;; + exit ;; mips:*:*:UMIPS | mips:*:*:RISCos) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c @@ -444,32 +433,33 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in exit (-1); } EOF - $CC_FOR_BUILD -o $dummy $dummy.c \ - && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ - && exit 0 + $CC_FOR_BUILD -o $dummy $dummy.c && + dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && + SYSTEM_NAME=`$dummy $dummyarg` && + { echo "$SYSTEM_NAME"; exit; } echo mips-mips-riscos${UNAME_RELEASE} - exit 0 ;; + exit ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax - exit 0 ;; + exit ;; Motorola:*:4.3:PL8-*) echo powerpc-harris-powermax - exit 0 ;; + exit ;; Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) echo powerpc-harris-powermax - exit 0 ;; + exit ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix - exit 0 ;; + exit ;; m88k:CX/UX:7*:*) echo m88k-harris-cxux7 - exit 0 ;; + exit ;; m88k:*:4*:R4*) echo m88k-motorola-sysv4 - exit 0 ;; + exit ;; m88k:*:3*:R3*) echo m88k-motorola-sysv3 - exit 0 ;; + exit ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` @@ -485,29 +475,29 @@ EOF else echo i586-dg-dgux${UNAME_RELEASE} fi - exit 0 ;; + exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 - exit 0 ;; + exit ;; M88*:*:R3*:*) # Delta 88k system running SVR3 echo m88k-motorola-sysv3 - exit 0 ;; + exit ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) echo m88k-tektronix-sysv3 - exit 0 ;; + exit ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) echo m68k-tektronix-bsd - exit 0 ;; + exit ;; *:IRIX*:*:*) echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` - exit 0 ;; + exit ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. - echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id - exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id + exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) echo i386-ibm-aix - exit 0 ;; + exit ;; ia64:AIX:*:*) if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` @@ -515,7 +505,7 @@ EOF IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} - exit 0 ;; + exit ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then eval $set_cc_for_build @@ -530,14 +520,18 @@ EOF exit(0); } EOF - $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0 - echo rs6000-ibm-aix3.2.5 + if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` + then + echo "$SYSTEM_NAME" + else + echo rs6000-ibm-aix3.2.5 + fi elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 else echo rs6000-ibm-aix3.2 fi - exit 0 ;; + exit ;; *:AIX:*:[45]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then @@ -551,28 +545,28 @@ EOF IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${IBM_ARCH}-ibm-aix${IBM_REV} - exit 0 ;; + exit ;; *:AIX:*:*) echo rs6000-ibm-aix - exit 0 ;; + exit ;; ibmrt:4.4BSD:*|romp-ibm:BSD:*) echo romp-ibm-bsd4.4 - exit 0 ;; + exit ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to - exit 0 ;; # report: romp-ibm BSD 4.3 + exit ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx - exit 0 ;; + exit ;; DPX/2?00:B.O.S.:*:*) echo m68k-bull-sysv3 - exit 0 ;; + exit ;; 9000/[34]??:4.3bsd:1.*:*) echo m68k-hp-bsd - exit 0 ;; + exit ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) echo m68k-hp-bsd4.4 - exit 0 ;; + exit ;; 9000/[34678]??:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` case "${UNAME_MACHINE}" in @@ -634,9 +628,19 @@ EOF esac if [ ${HP_ARCH} = "hppa2.0w" ] then - # avoid double evaluation of $set_cc_for_build - test -n "$CC_FOR_BUILD" || eval $set_cc_for_build - if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null + eval $set_cc_for_build + + # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating + # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler + # generating 64-bit code. GNU and HP use different nomenclature: + # + # $ CC_FOR_BUILD=cc ./config.guess + # => hppa2.0w-hp-hpux11.23 + # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess + # => hppa64-hp-hpux11.23 + + if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | + grep __LP64__ >/dev/null then HP_ARCH="hppa2.0w" else @@ -644,11 +648,11 @@ EOF fi fi echo ${HP_ARCH}-hp-hpux${HPUX_REV} - exit 0 ;; + exit ;; ia64:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` echo ia64-hp-hpux${HPUX_REV} - exit 0 ;; + exit ;; 3050*:HI-UX:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c @@ -676,150 +680,179 @@ EOF exit (0); } EOF - $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0 + $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } echo unknown-hitachi-hiuxwe2 - exit 0 ;; + exit ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) echo hppa1.1-hp-bsd - exit 0 ;; + exit ;; 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd - exit 0 ;; + exit ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix - exit 0 ;; + exit ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) echo hppa1.1-hp-osf - exit 0 ;; + exit ;; hp8??:OSF1:*:*) echo hppa1.0-hp-osf - exit 0 ;; + exit ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then echo ${UNAME_MACHINE}-unknown-osf1mk else echo ${UNAME_MACHINE}-unknown-osf1 fi - exit 0 ;; + exit ;; parisc*:Lites*:*:*) echo hppa1.1-hp-lites - exit 0 ;; + exit ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd - exit 0 ;; + exit ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi - exit 0 ;; + exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd - exit 0 ;; + exit ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd - exit 0 ;; + exit ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd - exit 0 ;; + exit ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; + exit ;; CRAY*[A-Z]90:*:*:*) echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' - exit 0 ;; + exit ;; CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; + exit ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; + exit ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; + exit ;; *:UNICOS/mp:*:*) - echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; + echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit 0 ;; + exit ;; + 5000:UNIX_System_V:4.*:*) + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` + echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} - exit 0 ;; + exit ;; sparc*:BSD/OS:*:*) echo sparc-unknown-bsdi${UNAME_RELEASE} - exit 0 ;; + exit ;; *:BSD/OS:*:*) echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} - exit 0 ;; - *:FreeBSD:*:*|*:GNU/FreeBSD:*:*) - # Determine whether the default compiler uses glibc. - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - #if __GLIBC__ >= 2 - LIBC=gnu - #else - LIBC= - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` - echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC} - exit 0 ;; + exit ;; + *:FreeBSD:*:*) + case ${UNAME_MACHINE} in + pc98) + echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + amd64) + echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + *) + echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + esac + exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin - exit 0 ;; + exit ;; i*:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 - exit 0 ;; + exit ;; + i*:windows32*:*) + # uname -m includes "-pc" on this system. + echo ${UNAME_MACHINE}-mingw32 + exit ;; i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 - exit 0 ;; - x86:Interix*:[34]*) - echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//' - exit 0 ;; + exit ;; + x86:Interix*:[3456]*) + echo i586-pc-interix${UNAME_RELEASE} + exit ;; + EM64T:Interix*:[3456]* | authenticamd:Interix*:[3456]*) + echo x86_64-unknown-interix${UNAME_RELEASE} + exit ;; [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks - exit 0 ;; + exit ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we # UNAME_MACHINE based on the output of uname instead of i386? echo i586-pc-interix - exit 0 ;; + exit ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin - exit 0 ;; + exit ;; + amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) + echo x86_64-unknown-cygwin + exit ;; p*:CYGWIN*:*) echo powerpcle-unknown-cygwin - exit 0 ;; + exit ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; + exit ;; *:GNU:*:*) + # the GNU system echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` - exit 0 ;; + exit ;; + *:GNU/*:*:*) + # other systems with GNU libc and userland + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu + exit ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix - exit 0 ;; + exit ;; arm*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; + exit ;; + avr32*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; cris:Linux:*:*) echo cris-axis-linux-gnu - exit 0 ;; + exit ;; + crisv32:Linux:*:*) + echo crisv32-axis-linux-gnu + exit ;; + frv:Linux:*:*) + echo frv-unknown-linux-gnu + exit ;; ia64:Linux:*:*) - echo ${UNAME_MACHINE}-${VENDOR:-unknown}-linux-gnu - exit 0 ;; + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + m32r*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; + exit ;; mips:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c @@ -836,8 +869,12 @@ EOF #endif #endif EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` - test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0 + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^CPU/{ + s: ::g + p + }'`" + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; mips64:Linux:*:*) eval $set_cc_for_build @@ -855,15 +892,22 @@ EOF #endif #endif EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` - test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0 + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^CPU/{ + s: ::g + p + }'`" + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; + or32:Linux:*:*) + echo or32-unknown-linux-gnu + exit ;; ppc:Linux:*:*) - echo powerpc-${VENDOR:-unknown}-linux-gnu - exit 0 ;; + echo powerpc-unknown-linux-gnu + exit ;; ppc64:Linux:*:*) - echo powerpc64-${VENDOR:-unknown}-linux-gnu - exit 0 ;; + echo powerpc64-unknown-linux-gnu + exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; @@ -877,7 +921,7 @@ EOF objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} - exit 0 ;; + exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in @@ -885,25 +929,31 @@ EOF PA8*) echo hppa2.0-unknown-linux-gnu ;; *) echo hppa-unknown-linux-gnu ;; esac - exit 0 ;; + exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) echo hppa64-unknown-linux-gnu - exit 0 ;; + exit ;; s390:Linux:*:* | s390x:Linux:*:*) - echo ${UNAME_MACHINE}-${VENDOR:-ibm}-linux-gnu - exit 0 ;; + echo ${UNAME_MACHINE}-ibm-linux + exit ;; sh64*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; + exit ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; + exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; + exit ;; + vax:Linux:*:*) + echo ${UNAME_MACHINE}-dec-linux-gnu + exit ;; x86_64:Linux:*:*) - echo x86_64-${VENDOR:-unknown}-linux-gnu - exit 0 ;; + echo x86_64-unknown-linux-gnu + exit ;; + xtensa:Linux:*:*) + echo xtensa-unknown-linux-gnu + exit ;; i*86:Linux:*:*) # The BFD linker knows what the default object file format is, so # first see if it will tell us. cd to the root directory to prevent @@ -921,15 +971,15 @@ EOF ;; a.out-i386-linux) echo "${UNAME_MACHINE}-pc-linux-gnuaout" - exit 0 ;; + exit ;; coff-i386) echo "${UNAME_MACHINE}-pc-linux-gnucoff" - exit 0 ;; + exit ;; "") # Either a pre-BFD a.out linker (linux-gnuoldld) or # one that does not give us useful --help. echo "${UNAME_MACHINE}-pc-linux-gnuoldld" - exit 0 ;; + exit ;; esac # Determine whether the default compiler is a.out or elf eval $set_cc_for_build @@ -946,23 +996,33 @@ EOF LIBC=gnulibc1 # endif #else - #ifdef __INTEL_COMPILER + #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) LIBC=gnu #else LIBC=gnuaout #endif #endif + #ifdef __dietlibc__ + LIBC=dietlibc + #endif EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` - test x"${LIBC}" != x && echo "${UNAME_MACHINE}-${VENDOR:-pc}-linux-${LIBC}" && exit 0 - test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0 + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^LIBC/{ + s: ::g + p + }'`" + test x"${LIBC}" != x && { + echo "${UNAME_MACHINE}-pc-linux-${LIBC}" + exit + } + test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both # sysname and nodename. echo i386-sequent-sysv4 - exit 0 ;; + exit ;; i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... @@ -970,24 +1030,27 @@ EOF # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} - exit 0 ;; + exit ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. echo ${UNAME_MACHINE}-pc-os2-emx - exit 0 ;; + exit ;; i*86:XTS-300:*:STOP) echo ${UNAME_MACHINE}-unknown-stop - exit 0 ;; + exit ;; i*86:atheos:*:*) echo ${UNAME_MACHINE}-unknown-atheos - exit 0 ;; + exit ;; + i*86:syllable:*:*) + echo ${UNAME_MACHINE}-pc-syllable + exit ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) echo i386-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; + exit ;; i*86:*DOS:*:*) echo ${UNAME_MACHINE}-pc-msdosdjgpp - exit 0 ;; + exit ;; i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then @@ -995,15 +1058,16 @@ EOF else echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} fi - exit 0 ;; - i*86:*:5:[78]*) + exit ;; + i*86:*:5:[678]*) + # UnixWare 7.x, OpenUNIX and OpenServer 6. case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} - exit 0 ;; + exit ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null 2>&1 ; then echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 fi - exit 0 ;; + exit ;; mini*:CTIX:SYS*5:*) # "miniframe" echo m68010-convergent-sysv - exit 0 ;; + exit ;; mc68k:UNIX:SYSTEM5:3.51m) echo m68k-convergent-sysv - exit 0 ;; + exit ;; M680?0:D-NIX:5.3:*) echo m68k-diab-dnix - exit 0 ;; - M68*:*:R3V[567]*:*) - test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; - 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0) + exit ;; + M68*:*:R3V[5678]*:*) + test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; + 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && echo i486-ncr-sysv4.3${OS_REL} && exit 0 + && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;; + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && echo i486-ncr-sysv4 && exit 0 ;; + && { echo i486-ncr-sysv4; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; + exit ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 - exit 0 ;; + exit ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; + exit ;; rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; + exit ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; + exit ;; SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv${UNAME_RELEASE} - exit 0 ;; + exit ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 - exit 0 ;; + exit ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 - exit 0 ;; + exit ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` @@ -1095,68 +1159,78 @@ EOF else echo ns32k-sni-sysv fi - exit 0 ;; + exit ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says echo i586-unisys-sysv4 - exit 0 ;; + exit ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm echo hppa1.1-stratus-sysv4 - exit 0 ;; + exit ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. echo i860-stratus-sysv4 - exit 0 ;; + exit ;; + i*86:VOS:*:*) + # From Paul.Green@stratus.com. + echo ${UNAME_MACHINE}-stratus-vos + exit ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos - exit 0 ;; + exit ;; mc68*:A/UX:*:*) echo m68k-apple-aux${UNAME_RELEASE} - exit 0 ;; + exit ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 - exit 0 ;; + exit ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then echo mips-nec-sysv${UNAME_RELEASE} else echo mips-unknown-sysv${UNAME_RELEASE} fi - exit 0 ;; + exit ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos - exit 0 ;; + exit ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. echo powerpc-apple-beos - exit 0 ;; + exit ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos - exit 0 ;; + exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} - exit 0 ;; + exit ;; SX-5:SUPER-UX:*:*) echo sx5-nec-superux${UNAME_RELEASE} - exit 0 ;; + exit ;; SX-6:SUPER-UX:*:*) echo sx6-nec-superux${UNAME_RELEASE} - exit 0 ;; + exit ;; + SX-7:SUPER-UX:*:*) + echo sx7-nec-superux${UNAME_RELEASE} + exit ;; + SX-8:SUPER-UX:*:*) + echo sx8-nec-superux${UNAME_RELEASE} + exit ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} - exit 0 ;; + exit ;; *:Rhapsody:*:*) echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} - exit 0 ;; + exit ;; *:Darwin:*:*) - case `uname -p` in - *86) UNAME_PROCESSOR=i686 ;; - powerpc) UNAME_PROCESSOR=powerpc ;; + UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown + case $UNAME_PROCESSOR in + unknown) UNAME_PROCESSOR=powerpc ;; esac echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} - exit 0 ;; + exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` if test "$UNAME_PROCESSOR" = "x86"; then @@ -1164,22 +1238,25 @@ EOF UNAME_MACHINE=pc fi echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} - exit 0 ;; + exit ;; *:QNX:*:4*) echo i386-pc-qnx - exit 0 ;; - NSR-[DGKLNPTVW]:NONSTOP_KERNEL:*:*) + exit ;; + NSE-?:NONSTOP_KERNEL:*:*) + echo nse-tandem-nsk${UNAME_RELEASE} + exit ;; + NSR-?:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} - exit 0 ;; + exit ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux - exit 0 ;; + exit ;; BS2000:POSIX*:*:*) echo bs2000-siemens-sysv - exit 0 ;; + exit ;; DS/*:UNIX_System_V:*:*) echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} - exit 0 ;; + exit ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 @@ -1190,28 +1267,47 @@ EOF UNAME_MACHINE="$cputype" fi echo ${UNAME_MACHINE}-unknown-plan9 - exit 0 ;; + exit ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 - exit 0 ;; + exit ;; *:TENEX:*:*) echo pdp10-unknown-tenex - exit 0 ;; + exit ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) echo pdp10-dec-tops20 - exit 0 ;; + exit ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) echo pdp10-xkl-tops20 - exit 0 ;; + exit ;; *:TOPS-20:*:*) echo pdp10-unknown-tops20 - exit 0 ;; + exit ;; *:ITS:*:*) echo pdp10-unknown-its - exit 0 ;; + exit ;; SEI:*:*:SEIUX) echo mips-sei-seiux${UNAME_RELEASE} - exit 0 ;; + exit ;; + *:DragonFly:*:*) + echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit ;; + *:*VMS:*:*) + UNAME_MACHINE=`(uname -p) 2>/dev/null` + case "${UNAME_MACHINE}" in + A*) echo alpha-dec-vms ; exit ;; + I*) echo ia64-dec-vms ; exit ;; + V*) echo vax-dec-vms ; exit ;; + esac ;; + *:XENIX:*:SysV) + echo i386-pc-xenix + exit ;; + i*86:skyos:*:*) + echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' + exit ;; + i*86:rdos:*:*) + echo ${UNAME_MACHINE}-pc-rdos + exit ;; esac #echo '(No uname command or uname output not recognized.)' 1>&2 @@ -1243,7 +1339,7 @@ main () #endif #if defined (__arm) && defined (__acorn) && defined (__unix) - printf ("arm-acorn-riscix"); exit (0); + printf ("arm-acorn-riscix\n"); exit (0); #endif #if defined (hp300) && !defined (hpux) @@ -1332,11 +1428,12 @@ main () } EOF -$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0 +$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } # Apollos put the system type in the environment. -test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; } +test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } # Convex versions that predate uname can use getsysinfo(1) @@ -1345,22 +1442,22 @@ then case `getsysinfo -f cpu_type` in c1*) echo c1-convex-bsd - exit 0 ;; + exit ;; c2*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi - exit 0 ;; + exit ;; c34*) echo c34-convex-bsd - exit 0 ;; + exit ;; c38*) echo c38-convex-bsd - exit 0 ;; + exit ;; c4*) echo c4-convex-bsd - exit 0 ;; + exit ;; esac fi @@ -1371,7 +1468,9 @@ This script, last modified $timestamp, has failed to recognize the operating system you are using. It is advised that you download the most up to date version of the config scripts from - ftp://ftp.gnu.org/pub/gnu/config/ + http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess +and + http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub If the version you run ($0) is already up to date, please send the following data and any information you think might be diff --git a/libjava/classpath/config.sub b/libjava/classpath/config.sub index 6b2ff9f..b91a4bc 100755 --- a/libjava/classpath/config.sub +++ b/libjava/classpath/config.sub @@ -1,9 +1,10 @@ #! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003 Free Software Foundation, Inc. +# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, +# Inc. -timestamp='2003-06-18' +timestamp='2006-12-08' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software @@ -21,14 +22,15 @@ timestamp='2003-06-18' # # 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., 59 Temple Place - Suite 330, -# Boston, MA 02111-1307, USA. - +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +# 02110-1301, USA. +# # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. + # Please send patches to . Submit a context # diff and a properly formatted ChangeLog entry. # @@ -70,7 +72,7 @@ Report bugs and patches to ." version="\ GNU config.sub ($timestamp) -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO @@ -83,11 +85,11 @@ Try \`$me --help' for more information." while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) - echo "$timestamp" ; exit 0 ;; + echo "$timestamp" ; exit ;; --version | -v ) - echo "$version" ; exit 0 ;; + echo "$version" ; exit ;; --help | --h* | -h ) - echo "$usage"; exit 0 ;; + echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. @@ -99,7 +101,7 @@ while test $# -gt 0 ; do *local*) # First pass through any local machine types. echo $1 - exit 0;; + exit ;; * ) break ;; @@ -118,7 +120,9 @@ esac # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in - nto-qnx* | linux-gnu* | freebsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*) + nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ + uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ + storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; @@ -144,7 +148,7 @@ case $os in -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple | -axis) + -apple | -axis | -knuth | -cray) os= basic_machine=$1 ;; @@ -169,6 +173,10 @@ case $os in -hiux*) os=-hiuxwe2 ;; + -sco6) + os=-sco5v6 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; -sco5) os=-sco3.2v5 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` @@ -185,6 +193,10 @@ case $os in # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; + -sco5v6*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; -sco*) os=-sco3.2v2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` @@ -228,14 +240,18 @@ case $basic_machine in | a29k \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ - | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \ + | am33_2.0 \ + | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ + | bfin \ | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ - | fr30 | frv \ + | fido | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | i370 | i860 | i960 | ia64 \ - | ip2k \ - | m32r | m68000 | m68k | m88k | mcore \ + | ip2k | iq2000 \ + | m32c | m32r | m32rle | m68000 | m68k | m88k \ + | maxq | mb | microblaze | mcore \ + | mep \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ @@ -244,28 +260,33 @@ case $basic_machine in | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ + | mips64vr5900 | mips64vr5900el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ | mipsisa64 | mipsisa64el \ + | mipsisa64r2 | mipsisa64r2el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ + | mt \ | msp430 \ + | nios | nios2 \ | ns16k | ns32k \ - | openrisc | or32 \ + | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ - | s390 | s390x \ - | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ + | score \ + | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ - | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv8 | sparcv9 | sparcv9b \ - | strongarm \ + | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ + | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ + | spu | strongarm \ | tahoe | thumb | tic4x | tic80 | tron \ | v850 | v850e \ | we32k \ - | x86 | xscale | xstormy16 | xtensa \ + | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ | z8k) basic_machine=$basic_machine-unknown ;; @@ -276,6 +297,9 @@ case $basic_machine in ;; m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) ;; + ms1) + basic_machine=mt-unknown + ;; # We use `pc' rather than `unknown' # because (1) that's what they normally are, and @@ -295,21 +319,22 @@ case $basic_machine in | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ - | avr-* \ - | bs2000-* \ + | avr-* | avr32-* \ + | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ - | clipper-* | cydra-* \ + | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ - | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ + | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | i*86-* | i860-* | i960-* | ia64-* \ - | ip2k-* \ - | m32r-* \ + | ip2k-* | iq2000-* \ + | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | mcore-* \ + | m88110-* | m88k-* | maxq-* | mcore-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ + | mep-* \ | mips16-* \ | mips64-* | mips64el-* \ | mips64vr-* | mips64vrel-* \ @@ -317,31 +342,36 @@ case $basic_machine in | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ + | mips64vr5900-* | mips64vr5900el-* \ | mipsisa32-* | mipsisa32el-* \ | mipsisa32r2-* | mipsisa32r2el-* \ | mipsisa64-* | mipsisa64el-* \ + | mipsisa64r2-* | mipsisa64r2el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipstx39-* | mipstx39el-* \ + | mmix-* \ + | mt-* \ | msp430-* \ - | none-* | np1-* | nv1-* | ns16k-* | ns32k-* \ + | nios-* | nios2-* \ + | none-* | np1-* | ns16k-* | ns32k-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ | romp-* | rs6000-* \ - | s390-* | s390x-* \ - | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \ + | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ - | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \ - | sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \ + | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ + | sparclite-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ | tahoe-* | thumb-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tron-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ - | x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \ - | xtensa-* \ + | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ + | xstormy16-* | xtensa-* \ | ymp-* \ | z8k-*) ;; @@ -361,6 +391,9 @@ case $basic_machine in basic_machine=a29k-amd os=-udi ;; + abacus) + basic_machine=abacus-unknown + ;; adobe68k) basic_machine=m68010-adobe os=-scout @@ -378,6 +411,9 @@ case $basic_machine in amd64) basic_machine=x86_64-pc ;; + amd64-*) + basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; amdahl) basic_machine=580-amdahl os=-sysv @@ -437,12 +473,27 @@ case $basic_machine in basic_machine=j90-cray os=-unicos ;; + craynv) + basic_machine=craynv-cray + os=-unicosmp + ;; + cr16c) + basic_machine=cr16c-unknown + os=-elf + ;; crds | unos) basic_machine=m68k-crds ;; + crisv32 | crisv32-* | etraxfs*) + basic_machine=crisv32-axis + ;; cris | cris-* | etrax*) basic_machine=cris-axis ;; + crx) + basic_machine=crx-unknown + os=-elf + ;; da30 | da30-*) basic_machine=m68k-da30 ;; @@ -465,6 +516,10 @@ case $basic_machine in basic_machine=m88k-motorola os=-sysv3 ;; + djgpp) + basic_machine=i586-pc + os=-msdosdjgpp + ;; dpx20 | dpx20-*) basic_machine=rs6000-bull os=-bosx @@ -643,10 +698,6 @@ case $basic_machine in mips3*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown ;; - mmix*) - basic_machine=mmix-knuth - os=-mmixware - ;; monitor) basic_machine=m68k-rom68k os=-coff @@ -659,6 +710,9 @@ case $basic_machine in basic_machine=i386-pc os=-msdos ;; + ms1-*) + basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` + ;; mvs) basic_machine=i370-ibm os=-mvs @@ -727,10 +781,6 @@ case $basic_machine in np1) basic_machine=np1-gould ;; - nv1) - basic_machine=nv1-cray - os=-unicosmp - ;; nsr-tandem) basic_machine=nsr-tandem ;; @@ -738,9 +788,12 @@ case $basic_machine in basic_machine=hppa1.1-oki os=-proelf ;; - or32 | or32-*) + openrisc | openrisc-*) basic_machine=or32-unknown - os=-coff + ;; + os400) + basic_machine=powerpc-ibm + os=-os400 ;; OSE68000 | ose68000) basic_machine=m68000-ericsson @@ -767,6 +820,12 @@ case $basic_machine in pc532 | pc532-*) basic_machine=ns32k-pc532 ;; + pc98) + basic_machine=i386-pc + ;; + pc98-*) + basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; pentium | p5 | k5 | k6 | nexgen | viac3) basic_machine=i586-pc ;; @@ -823,6 +882,10 @@ case $basic_machine in basic_machine=i586-unknown os=-pw32 ;; + rdos) + basic_machine=i386-pc + os=-rdos + ;; rom68k) basic_machine=m68k-rom68k os=-coff @@ -833,6 +896,12 @@ case $basic_machine in rtpc | rtpc-*) basic_machine=romp-ibm ;; + s390 | s390-*) + basic_machine=s390-ibm + ;; + s390x | s390x-*) + basic_machine=s390x-ibm + ;; sa29200) basic_machine=a29k-amd os=-udi @@ -843,6 +912,10 @@ case $basic_machine in sb1el) basic_machine=mipsisa64sb1el-unknown ;; + sde) + basic_machine=mipsisa32-sde + os=-elf + ;; sei) basic_machine=mips-sei os=-seiux @@ -854,6 +927,9 @@ case $basic_machine in basic_machine=sh-hitachi os=-hms ;; + sh5el) + basic_machine=sh5le-unknown + ;; sh64) basic_machine=sh64-unknown ;; @@ -956,6 +1032,10 @@ case $basic_machine in tower | tower-32) basic_machine=m68k-ncr ;; + tpf) + basic_machine=s390x-ibm + os=-tpf + ;; udi29k) basic_machine=a29k-amd os=-udi @@ -999,6 +1079,10 @@ case $basic_machine in basic_machine=hppa1.1-winbond os=-proelf ;; + xbox) + basic_machine=i686-pc + os=-mingw32 + ;; xps | xps100) basic_machine=xps100-honeywell ;; @@ -1029,6 +1113,9 @@ case $basic_machine in romp) basic_machine=romp-ibm ;; + mmix) + basic_machine=mmix-knuth + ;; rs6000) basic_machine=rs6000-ibm ;; @@ -1045,13 +1132,10 @@ case $basic_machine in we32k) basic_machine=we32k-att ;; - sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele) + sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; - sh64) - basic_machine=sh64-unknown - ;; - sparc | sparcv8 | sparcv9 | sparcv9b) + sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) basic_machine=sparc-sun ;; cydra) @@ -1124,19 +1208,23 @@ case $os in | -aos* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \ - | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ + | -openbsd* | -solidbsd* \ + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* \ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \ + | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ + | -uxpv* | -beos* | -mpeix* | -udk* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ - | -powermax* | -dnix* | -nx6 | -nx7 | -sei*) + | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ + | -skyos* | -haiku* | -rdos* | -toppers*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) @@ -1154,12 +1242,15 @@ case $os in os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ - | -windows* | -osx | -abug | -netware* | -os9* | -beos* \ + | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ;; -mac*) os=`echo $os | sed -e 's|mac|macos|'` ;; + -linux-dietlibc) + os=-linux-dietlibc + ;; -linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; @@ -1172,6 +1263,9 @@ case $os in -opened*) os=-openedition ;; + -os400*) + os=-os400 + ;; -wince*) os=-wince ;; @@ -1193,6 +1287,9 @@ case $os in -atheos*) os=-atheos ;; + -syllable*) + os=-syllable + ;; -386bsd) os=-bsd ;; @@ -1215,6 +1312,9 @@ case $os in -sinix*) os=-sysv4 ;; + -tpf*) + os=-tpf + ;; -triton*) os=-sysv3 ;; @@ -1251,6 +1351,9 @@ case $os in -kaos*) os=-kaos ;; + -zvmoe) + os=-zvmoe + ;; -none) ;; *) @@ -1273,6 +1376,12 @@ else # system, and we'll never get to this point. case $basic_machine in + score-*) + os=-elf + ;; + spu-*) + os=-elf + ;; *-acorn) os=-riscix1.2 ;; @@ -1282,8 +1391,8 @@ case $basic_machine in arm*-semi) os=-aout ;; - c4x-* | tic4x-*) - os=-coff + c4x-* | tic4x-*) + os=-coff ;; # This must come before the *-dec entry. pdp10-*) @@ -1328,9 +1437,15 @@ case $basic_machine in *-be) os=-beos ;; + *-haiku) + os=-haiku + ;; *-ibm) os=-aix ;; + *-knuth) + os=-mmixware + ;; *-wec) os=-proelf ;; @@ -1463,9 +1578,15 @@ case $basic_machine in -mvs* | -opened*) vendor=ibm ;; + -os400*) + vendor=ibm + ;; -ptx*) vendor=sequent ;; + -tpf*) + vendor=ibm + ;; -vxsim* | -vxworks* | -windiss*) vendor=wrs ;; @@ -1490,7 +1611,7 @@ case $basic_machine in esac echo $basic_machine$os -exit 0 +exit # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) diff --git a/libjava/classpath/configure b/libjava/classpath/configure index f33e435..aab12bb 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.59 for GNU Classpath 0.94-pre. +# Generated by GNU Autoconf 2.59 for GNU Classpath 0.95. # # Report bugs to . # @@ -418,8 +418,8 @@ SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='GNU Classpath' PACKAGE_TARNAME='classpath' -PACKAGE_VERSION='0.94-pre' -PACKAGE_STRING='GNU Classpath 0.94-pre' +PACKAGE_VERSION='0.95' +PACKAGE_STRING='GNU Classpath 0.95' PACKAGE_BUGREPORT='classpath@gnu.org' ac_unique_file="java/lang/System.java" @@ -461,7 +461,7 @@ ac_includes_default="\ # include #endif" -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os JAVA_MAINTAINER_MODE_TRUE JAVA_MAINTAINER_MODE_FALSE GENINSRC_TRUE GENINSRC_FALSE multi_basedir LIBVERSION CLASSPATH_MODULE CLASSPATH_CONVENIENCE INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar CREATE_COLLECTIONS_TRUE CREATE_COLLECTIONS_FALSE CREATE_JNI_LIBRARIES_TRUE CREATE_JNI_LIBRARIES_FALSE CREATE_CORE_JNI_LIBRARIES_TRUE CREATE_CORE_JNI_LIBRARIES_FALSE CREATE_GCONF_PEER_LIBRARIES_TRUE CREATE_GCONF_PEER_LIBRARIES_FALSE default_toolkit CREATE_XMLJ_LIBRARY_TRUE CREATE_XMLJ_LIBRARY_FALSE CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CPP EGREP CREATE_ALSA_LIBRARIES_TRUE CREATE_ALSA_LIBRARIES_FALSE CREATE_DSSI_LIBRARIES_TRUE CREATE_DSSI_LIBRARIES_FALSE CREATE_GTK_PEER_LIBRARIES_TRUE CREATE_GTK_PEER_LIBRARIES_FALSE CREATE_QT_PEER_LIBRARIES_TRUE CREATE_QT_PEER_LIBRARIES_FALSE CREATE_PLUGIN_TRUE CREATE_PLUGIN_FALSE toolexeclibdir nativeexeclibdir glibjdir VM_BINARY FOUND_CACAO_TRUE FOUND_CACAO_FALSE CREATE_JNI_HEADERS_TRUE CREATE_JNI_HEADERS_FALSE CREATE_WRAPPERS_TRUE CREATE_WRAPPERS_FALSE LN_S LIBTOOL SED FGREP GREP LD DUMPBIN ac_ct_DUMPBIN NM AR ac_ct_AR RANLIB ac_ct_RANLIB lt_ECHO CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP PERL COLLECTIONS_PREFIX LIBMAGIC LIBICONV LTLIBICONV WARNING_CFLAGS STRICT_WARNING_CFLAGS ERROR_CFLAGS PKG_CONFIG XML_CFLAGS XML_LIBS XSLT_CFLAGS XSLT_LIBS X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS GTK_CFLAGS GTK_LIBS FREETYPE2_CFLAGS FREETYPE2_LIBS PANGOFT2_CFLAGS PANGOFT2_LIBS XTEST_LIBS GCONF_CFLAGS GCONF_LIBS GDK_CFLAGS GDK_LIBS QT_CFLAGS QT_LIBS MOC MOZILLA_CFLAGS MOZILLA_LIBS GLIB_CFLAGS GLIB_LIBS PLUGIN_DIR USER_JAVAH USER_SPECIFIED_JAVAH_TRUE USER_SPECIFIED_JAVAH_FALSE CLASSPATH_INCLUDES GCJ JIKES JIKESENCODING JIKESWARNINGS KJC GCJX ECJ FOUND_GCJ_TRUE FOUND_GCJ_FALSE FOUND_JIKES_TRUE FOUND_JIKES_FALSE FOUND_ECJ_TRUE FOUND_ECJ_FALSE FOUND_KJC_TRUE FOUND_KJC_FALSE FOUND_GCJX_TRUE FOUND_GCJX_FALSE USER_CLASSLIB USER_SPECIFIED_CLASSLIB_TRUE USER_SPECIFIED_CLASSLIB_FALSE vm_classes MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT LIBDEBUG INIT_LOAD_LIBRARY ECJ_JAR JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION REMOVE MKDIR CP DATE FIND ZIP FASTJAR INSTALL_GLIBJ_ZIP_TRUE INSTALL_GLIBJ_ZIP_FALSE INSTALL_CLASS_FILES_TRUE INSTALL_CLASS_FILES_FALSE BUILD_CLASS_FILES_TRUE BUILD_CLASS_FILES_FALSE EXAMPLESDIR GJDOC CREATE_API_DOCS_TRUE CREATE_API_DOCS_FALSE JAY JAY_SKELETON REGEN_PARSERS_TRUE REGEN_PARSERS_FALSE USE_PREBUILT_GLIBJ_ZIP_TRUE USE_PREBUILT_GLIBJ_ZIP_FALSE PATH_TO_GLIBJ_ZIP USE_ESCHER_TRUE USE_ESCHER_FALSE PATH_TO_ESCHER ENABLE_LOCAL_SOCKETS_TRUE ENABLE_LOCAL_SOCKETS_FALSE DEFAULT_PREFS_PEER LIBOBJS LTLIBOBJS' +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os JAVA_MAINTAINER_MODE_TRUE JAVA_MAINTAINER_MODE_FALSE GENINSRC_TRUE GENINSRC_FALSE multi_basedir LIBVERSION CLASSPATH_MODULE CLASSPATH_CONVENIENCE INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar CREATE_COLLECTIONS_TRUE CREATE_COLLECTIONS_FALSE CREATE_JNI_LIBRARIES_TRUE CREATE_JNI_LIBRARIES_FALSE CREATE_CORE_JNI_LIBRARIES_TRUE CREATE_CORE_JNI_LIBRARIES_FALSE CREATE_GCONF_PEER_LIBRARIES_TRUE CREATE_GCONF_PEER_LIBRARIES_FALSE default_toolkit CREATE_XMLJ_LIBRARY_TRUE CREATE_XMLJ_LIBRARY_FALSE CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CPP EGREP CREATE_ALSA_LIBRARIES_TRUE CREATE_ALSA_LIBRARIES_FALSE CREATE_DSSI_LIBRARIES_TRUE CREATE_DSSI_LIBRARIES_FALSE CREATE_GTK_PEER_LIBRARIES_TRUE CREATE_GTK_PEER_LIBRARIES_FALSE CREATE_QT_PEER_LIBRARIES_TRUE CREATE_QT_PEER_LIBRARIES_FALSE CREATE_PLUGIN_TRUE CREATE_PLUGIN_FALSE toolexeclibdir nativeexeclibdir glibjdir VM_BINARY FOUND_CACAO_TRUE FOUND_CACAO_FALSE CREATE_JNI_HEADERS_TRUE CREATE_JNI_HEADERS_FALSE CREATE_WRAPPERS_TRUE CREATE_WRAPPERS_FALSE LN_S LIBTOOL SED FGREP GREP LD DUMPBIN ac_ct_DUMPBIN NM AR ac_ct_AR RANLIB ac_ct_RANLIB lt_ECHO CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP PERL COLLECTIONS_PREFIX LIBMAGIC LIBICONV LTLIBICONV WARNING_CFLAGS STRICT_WARNING_CFLAGS ERROR_CFLAGS PKG_CONFIG XML_CFLAGS XML_LIBS XSLT_CFLAGS XSLT_LIBS X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS GTK_CFLAGS GTK_LIBS FREETYPE2_CFLAGS FREETYPE2_LIBS PANGOFT2_CFLAGS PANGOFT2_LIBS CAIRO_CFLAGS CAIRO_LIBS XTEST_LIBS GCONF_CFLAGS GCONF_LIBS GDK_CFLAGS GDK_LIBS QT_CFLAGS QT_LIBS MOC MOZILLA_CFLAGS MOZILLA_LIBS GLIB_CFLAGS GLIB_LIBS PLUGIN_DIR USER_JAVAH USER_SPECIFIED_JAVAH_TRUE USER_SPECIFIED_JAVAH_FALSE CLASSPATH_INCLUDES GCJ JIKES JIKESENCODING JIKESWARNINGS KJC ECJ JAVAC FOUND_GCJ_TRUE FOUND_GCJ_FALSE FOUND_JIKES_TRUE FOUND_JIKES_FALSE FOUND_ECJ_TRUE FOUND_ECJ_FALSE FOUND_JAVAC_TRUE FOUND_JAVAC_FALSE FOUND_KJC_TRUE FOUND_KJC_FALSE USER_CLASSLIB USER_SPECIFIED_CLASSLIB_TRUE USER_SPECIFIED_CLASSLIB_FALSE vm_classes MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT LIBDEBUG INIT_LOAD_LIBRARY ECJ_JAR JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION REMOVE MKDIR CP DATE FIND ZIP FASTJAR INSTALL_GLIBJ_ZIP_TRUE INSTALL_GLIBJ_ZIP_FALSE INSTALL_CLASS_FILES_TRUE INSTALL_CLASS_FILES_FALSE BUILD_CLASS_FILES_TRUE BUILD_CLASS_FILES_FALSE EXAMPLESDIR GJDOC CREATE_API_DOCS_TRUE CREATE_API_DOCS_FALSE JAY JAY_SKELETON REGEN_PARSERS_TRUE REGEN_PARSERS_FALSE USE_PREBUILT_GLIBJ_ZIP_TRUE USE_PREBUILT_GLIBJ_ZIP_FALSE PATH_TO_GLIBJ_ZIP USE_ESCHER_TRUE USE_ESCHER_FALSE PATH_TO_ESCHER ENABLE_LOCAL_SOCKETS_TRUE ENABLE_LOCAL_SOCKETS_FALSE DEFAULT_PREFS_PEER LIBOBJS LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. @@ -942,7 +942,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.94-pre to adapt to many kinds of systems. +\`configure' configures GNU Classpath 0.95 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1013,7 +1013,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of GNU Classpath 0.94-pre:";; + short | recursive ) echo "Configuration of GNU Classpath 0.95:";; esac cat <<\_ACEOF @@ -1100,8 +1100,8 @@ Optional Packages: --with-gcj bytecode compilation with gcj --with-jikes bytecode compilation with jikes --with-kjc bytecode compilation with kjc - --with-gcjx bytecode compilation with gcjx --with-ecj bytecode compilation with ecj + --with-javac bytecode compilation with javac --with-classpath specify path to a classes.zip like file --with-vm-classes specify path to VM override source files --with-ecj-jar=ABS.PATH specify jar file containing the Eclipse Java @@ -1227,7 +1227,7 @@ fi test -n "$ac_init_help" && exit 0 if $ac_init_version; then cat <<\_ACEOF -GNU Classpath configure 0.94-pre +GNU Classpath configure 0.95 generated by GNU Autoconf 2.59 Copyright (C) 2003 Free Software Foundation, Inc. @@ -1241,7 +1241,7 @@ cat >&5 <<_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.94-pre, which was +It was created by GNU Classpath $as_me 0.95, which was generated by GNU Autoconf 2.59. Invocation command line was $ $0 $@ @@ -2076,7 +2076,7 @@ fi # Define the identity of the package. PACKAGE='classpath' - VERSION='0.94-pre' + VERSION='0.95' cat >>confdefs.h <<_ACEOF @@ -11859,6 +11859,109 @@ else fi +if test "x$CC" != xcc; then + echo "$as_me:$LINENO: checking whether $CC and cc understand -c and -o together" >&5 +echo $ECHO_N "checking whether $CC and cc understand -c and -o together... $ECHO_C" >&6 +else + echo "$as_me:$LINENO: checking whether cc understands -c and -o together" >&5 +echo $ECHO_N "checking whether cc understands -c and -o together... $ECHO_C" >&6 +fi +set dummy $CC; ac_cc=`echo $2 | + sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` +if eval "test \"\${ac_cv_prog_cc_${ac_cc}_c_o+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +# Make sure it works both with $CC and with simple cc. +# We do the test twice because some compilers refuse to overwrite an +# existing .o file with -o, though they will create one. +ac_try='$CC -c conftest.$ac_ext -o conftest.$ac_objext >&5' +if { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + test -f conftest.$ac_objext && { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; +then + eval ac_cv_prog_cc_${ac_cc}_c_o=yes + if test "x$CC" != xcc; then + # Test first that cc exists at all. + if { ac_try='cc -c conftest.$ac_ext >&5' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_try='cc -c conftest.$ac_ext -o conftest.$ac_objext >&5' + if { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + test -f conftest.$ac_objext && { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; + then + # cc works too. + : + else + # cc exists but doesn't like -o. + eval ac_cv_prog_cc_${ac_cc}_c_o=no + fi + fi + fi +else + eval ac_cv_prog_cc_${ac_cc}_c_o=no +fi +rm -f conftest* + +fi +if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" = yes"; then + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 + +cat >>confdefs.h <<\_ACEOF +#define NO_MINUS_C_MINUS_O 1 +_ACEOF + +fi + +# FIXME: we rely on the cache variable name because +# there is no other way. +set dummy $CC +ac_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` +if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" != yes"; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -15084,11 +15187,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:15087: $lt_compile\"" >&5) + (eval echo "\"\$as_me:15190: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:15091: \$? = $ac_status" >&5 + echo "$as_me:15194: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -15183,11 +15286,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:15186: $lt_compile\"" >&5) + (eval echo "\"\$as_me:15289: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:15190: \$? = $ac_status" >&5 + echo "$as_me:15293: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -15235,11 +15338,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:15238: $lt_compile\"" >&5) + (eval echo "\"\$as_me:15341: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:15242: \$? = $ac_status" >&5 + echo "$as_me:15345: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -17170,6 +17273,7 @@ rm -f conftest* + for ac_func in ftruncate fsync select \ gethostname socket strerror fork pipe execve open close \ lseek fstat read readv write writev htonl memset htons connect \ @@ -17182,7 +17286,7 @@ for ac_func in ftruncate fsync select \ lstat readlink \ inet_aton inet_addr inet_pton \ getifaddrs kqueue kevent epoll_create \ - readdir_r + readdir_r getloadavg do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` echo "$as_me:$LINENO: checking for $ac_func" >&5 @@ -18014,6 +18118,77 @@ _ACEOF fi + echo "$as_me:$LINENO: checking for inline" >&5 +echo $ECHO_N "checking for inline... $ECHO_C" >&6 +if test "${ac_cv_c_inline+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_c_inline=no +for ac_kw in inline __inline__ __inline; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifndef __cplusplus +typedef int foo_t; +static $ac_kw foo_t static_foo () {return 0; } +$ac_kw foo_t foo () {return 0; } +#endif + +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_c_inline=$ac_kw; break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +done + +fi +echo "$as_me:$LINENO: result: $ac_cv_c_inline" >&5 +echo "${ECHO_T}$ac_cv_c_inline" >&6 + + +case $ac_cv_c_inline in + inline | yes) ;; + *) + case $ac_cv_c_inline in + no) ac_val=;; + *) ac_val=$ac_cv_c_inline;; + esac + cat >>confdefs.h <<_ACEOF +#ifndef __cplusplus +#define inline $ac_val +#endif +_ACEOF + ;; +esac + echo "$as_me:$LINENO: checking for __attribute__" >&5 echo $ECHO_N "checking for __attribute__... $ECHO_C" >&6 if test "${ac_cv_c_attribute+set}" = set; then @@ -18077,146 +18252,465 @@ esac - 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" + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + echo "$as_me:$LINENO: checking how many arguments gethostbyname_r() takes" >&5 +echo $ECHO_N "checking how many arguments gethostbyname_r() takes... $ECHO_C" >&6 -# Check whether --with-gnu-ld or --without-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then - withval="$with_gnu_ld" - test "$withval" = no || with_gnu_ld=yes -else - with_gnu_ld=no -fi; -# 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. - echo "$as_me:$LINENO: checking for ld used by GCC" >&5 -echo $ECHO_N "checking for ld used by GCC... $ECHO_C" >&6 - 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 - echo "$as_me:$LINENO: checking for GNU ld" >&5 -echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6 -else - echo "$as_me:$LINENO: checking for non-GNU ld" >&5 -echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6 -fi -if test "${acl_cv_path_LD+set}" = set; then + if test "${ac_cv_func_which_gethostbyname_r+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - 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. - 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 - fi - done - IFS="$ac_save_ifs" -else - acl_cv_path_LD="$LD" # Let the user override the test with a path. -fi -fi -LD="$acl_cv_path_LD" -if test -n "$LD"; then - echo "$as_me:$LINENO: result: $LD" >&5 -echo "${ECHO_T}$LD" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi -test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 -echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} - { (exit 1); exit 1; }; } -echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 -echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6 -if test "${acl_cv_prog_gnu_ld+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # I'd rather use --version here, but apparently some GNU ld's only accept -v. -if $LD -v 2>&1 &5; then - acl_cv_prog_gnu_ld=yes -else - acl_cv_prog_gnu_ld=no -fi -fi -echo "$as_me:$LINENO: result: $acl_cv_prog_gnu_ld" >&5 -echo "${ECHO_T}$acl_cv_prog_gnu_ld" >&6 -with_gnu_ld=$acl_cv_prog_gnu_ld +################################################################ +ac_cv_func_which_gethostbyname_r=unknown - echo "$as_me:$LINENO: checking for shared library run path origin" >&5 -echo $ECHO_N "checking for shared library run path origin... $ECHO_C" >&6 -if test "${acl_cv_rpath+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else +# +# ONE ARGUMENT (sanity check) +# - 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 +# This should fail, as there is no variant of gethostbyname_r() that takes +# a single argument. If it actually compiles, then we can assume that +# netdb.h is not declaring the function, and the compiler is thereby +# assuming an implicit prototype. In which case, we're out of luck. +# +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ + + char *name = "www.gnu.org"; + (void)gethostbyname_r(name) /* ; */ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_func_which_gethostbyname_r=no +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +# +# SIX ARGUMENTS +# (e.g. Linux) +# + +if test "$ac_cv_func_which_gethostbyname_r" = "unknown"; then + +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ + + char *name = "www.gnu.org"; + struct hostent ret, *retp; + char buf[1024]; + int buflen = 1024; + int my_h_errno; + (void)gethostbyname_r(name, &ret, buf, buflen, &retp, &my_h_errno) /* ; */ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_func_which_gethostbyname_r=six +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +fi + +# +# FIVE ARGUMENTS +# (e.g. Solaris) +# + +if test "$ac_cv_func_which_gethostbyname_r" = "unknown"; then + +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ + + char *name = "www.gnu.org"; + struct hostent ret; + char buf[1024]; + int buflen = 1024; + int my_h_errno; + (void)gethostbyname_r(name, &ret, buf, buflen, &my_h_errno) /* ; */ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_func_which_gethostbyname_r=five +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +fi + +# +# THREE ARGUMENTS +# (e.g. AIX, HP-UX, Tru64) +# + +if test "$ac_cv_func_which_gethostbyname_r" = "unknown"; then + +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ + + char *name = "www.gnu.org"; + struct hostent ret; + struct hostent_data data; + (void)gethostbyname_r(name, &ret, &data) /* ; */ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_func_which_gethostbyname_r=three +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +fi + +################################################################ + + +fi + +case "$ac_cv_func_which_gethostbyname_r" in + three) + echo "$as_me:$LINENO: result: three" >&5 +echo "${ECHO_T}three" >&6 + +cat >>confdefs.h <<\_ACEOF +#define HAVE_FUNC_GETHOSTBYNAME_R_3 1 +_ACEOF + + ;; + + five) + echo "$as_me:$LINENO: result: five" >&5 +echo "${ECHO_T}five" >&6 + +cat >>confdefs.h <<\_ACEOF +#define HAVE_FUNC_GETHOSTBYNAME_R_5 1 +_ACEOF + + ;; + + six) + echo "$as_me:$LINENO: result: six" >&5 +echo "${ECHO_T}six" >&6 + +cat >>confdefs.h <<\_ACEOF +#define HAVE_FUNC_GETHOSTBYNAME_R_6 1 +_ACEOF + + ;; + + no) + echo "$as_me:$LINENO: result: cannot find function declaration in netdb.h" >&5 +echo "${ECHO_T}cannot find function declaration in netdb.h" >&6 + ;; + + unknown) + echo "$as_me:$LINENO: result: can't tell" >&5 +echo "${ECHO_T}can't tell" >&6 + ;; + + *) + { { echo "$as_me:$LINENO: error: internal error" >&5 +echo "$as_me: error: internal error" >&2;} + { (exit 1); exit 1; }; } + ;; +esac + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + + + + 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" + + +# Check whether --with-gnu-ld or --without-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then + withval="$with_gnu_ld" + test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi; +# 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. + echo "$as_me:$LINENO: checking for ld used by GCC" >&5 +echo $ECHO_N "checking for ld used by GCC... $ECHO_C" >&6 + 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 + echo "$as_me:$LINENO: checking for GNU ld" >&5 +echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6 +else + echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6 +fi +if test "${acl_cv_path_LD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + 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. + 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 + fi + done + IFS="$ac_save_ifs" +else + acl_cv_path_LD="$LD" # Let the user override the test with a path. +fi +fi + +LD="$acl_cv_path_LD" +if test -n "$LD"; then + echo "$as_me:$LINENO: result: $LD" >&5 +echo "${ECHO_T}$LD" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi +test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6 +if test "${acl_cv_prog_gnu_ld+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # I'd rather use --version here, but apparently some GNU ld's only accept -v. +if $LD -v 2>&1 &5; then + acl_cv_prog_gnu_ld=yes +else + acl_cv_prog_gnu_ld=no +fi +fi +echo "$as_me:$LINENO: result: $acl_cv_prog_gnu_ld" >&5 +echo "${ECHO_T}$acl_cv_prog_gnu_ld" >&6 +with_gnu_ld=$acl_cv_prog_gnu_ld + + + + echo "$as_me:$LINENO: checking for shared library run path origin" >&5 +echo $ECHO_N "checking for shared library run path origin... $ECHO_C" >&6 +if test "${acl_cv_rpath+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + 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 fi echo "$as_me:$LINENO: result: $acl_cv_rpath" >&5 @@ -19187,7 +19681,7 @@ ac_x_header_dirs=' /usr/openwin/share/include' if test "$ac_x_includes" = no; then - # Guess where to find include files, by looking for Xlib.h. + # Guess where to find include files, by looking for Intrinsic.h. # First, try using that file with no special directory specified. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -19195,7 +19689,7 @@ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include +#include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 @@ -19222,7 +19716,7 @@ else sed 's/^/| /' conftest.$ac_ext >&5 for ac_dir in $ac_x_header_dirs; do - if test -r "$ac_dir/X11/Xlib.h"; then + if test -r "$ac_dir/X11/Intrinsic.h"; then ac_x_includes=$ac_dir break fi @@ -19236,7 +19730,7 @@ if test "$ac_x_libraries" = no; then # See if we find them without any special options. # Don't add to $LIBS permanently. ac_save_LIBS=$LIBS - LIBS="-lX11 $LIBS" + LIBS="-lXt $LIBS" if test x$gcc_no_link = xyes; then { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5 echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;} @@ -19248,11 +19742,11 @@ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include +#include int main () { -XrmInitialize () +XtMalloc (0) ; return 0; } @@ -20795,32 +21289,130 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for freetype2" >&5 -echo $ECHO_N "checking for freetype2... $ECHO_C" >&6 + echo "$as_me:$LINENO: checking for freetype2" >&5 +echo $ECHO_N "checking for freetype2... $ECHO_C" >&6 + + if $PKG_CONFIG --exists "freetype2" ; then + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 + succeeded=yes + + echo "$as_me:$LINENO: checking FREETYPE2_CFLAGS" >&5 +echo $ECHO_N "checking FREETYPE2_CFLAGS... $ECHO_C" >&6 + FREETYPE2_CFLAGS=`$PKG_CONFIG --cflags "freetype2"` + echo "$as_me:$LINENO: result: $FREETYPE2_CFLAGS" >&5 +echo "${ECHO_T}$FREETYPE2_CFLAGS" >&6 + + echo "$as_me:$LINENO: checking FREETYPE2_LIBS" >&5 +echo $ECHO_N "checking FREETYPE2_LIBS... $ECHO_C" >&6 + FREETYPE2_LIBS=`$PKG_CONFIG --libs "freetype2"` + echo "$as_me:$LINENO: result: $FREETYPE2_LIBS" >&5 +echo "${ECHO_T}$FREETYPE2_LIBS" >&6 + else + FREETYPE2_CFLAGS="" + FREETYPE2_LIBS="" + ## If we have a custom action on failure, don't print errors, but + ## do set a variable so people can do so. + FREETYPE2_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "freetype2"` + echo $FREETYPE2_PKG_ERRORS + fi + + + + else + echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer." + echo "*** See http://www.freedesktop.org/software/pkgconfig" + fi + fi + + if test $succeeded = yes; then + : + else + { { echo "$as_me:$LINENO: error: Library requirements (freetype2) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 +echo "$as_me: error: Library requirements (freetype2) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} + { (exit 1); exit 1; }; } + fi + + + succeeded=no + + if test -z "$PKG_CONFIG"; then + # Extract the first word of "pkg-config", so it can be a program name with args. +set dummy pkg-config; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" + ;; +esac +fi +PKG_CONFIG=$ac_cv_path_PKG_CONFIG + +if test -n "$PKG_CONFIG"; then + echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 +echo "${ECHO_T}$PKG_CONFIG" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + fi + + if test "$PKG_CONFIG" = "no" ; then + echo "*** The pkg-config script could not be found. Make sure it is" + echo "*** in your path, or set the PKG_CONFIG environment variable" + echo "*** to the full path to pkg-config." + echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config." + else + PKG_CONFIG_MIN_VERSION=0.9.0 + if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then + echo "$as_me:$LINENO: checking for pangoft2" >&5 +echo $ECHO_N "checking for pangoft2... $ECHO_C" >&6 - if $PKG_CONFIG --exists "freetype2" ; then + if $PKG_CONFIG --exists "pangoft2" ; then echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 succeeded=yes - echo "$as_me:$LINENO: checking FREETYPE2_CFLAGS" >&5 -echo $ECHO_N "checking FREETYPE2_CFLAGS... $ECHO_C" >&6 - FREETYPE2_CFLAGS=`$PKG_CONFIG --cflags "freetype2"` - echo "$as_me:$LINENO: result: $FREETYPE2_CFLAGS" >&5 -echo "${ECHO_T}$FREETYPE2_CFLAGS" >&6 + echo "$as_me:$LINENO: checking PANGOFT2_CFLAGS" >&5 +echo $ECHO_N "checking PANGOFT2_CFLAGS... $ECHO_C" >&6 + PANGOFT2_CFLAGS=`$PKG_CONFIG --cflags "pangoft2"` + echo "$as_me:$LINENO: result: $PANGOFT2_CFLAGS" >&5 +echo "${ECHO_T}$PANGOFT2_CFLAGS" >&6 - echo "$as_me:$LINENO: checking FREETYPE2_LIBS" >&5 -echo $ECHO_N "checking FREETYPE2_LIBS... $ECHO_C" >&6 - FREETYPE2_LIBS=`$PKG_CONFIG --libs "freetype2"` - echo "$as_me:$LINENO: result: $FREETYPE2_LIBS" >&5 -echo "${ECHO_T}$FREETYPE2_LIBS" >&6 + echo "$as_me:$LINENO: checking PANGOFT2_LIBS" >&5 +echo $ECHO_N "checking PANGOFT2_LIBS... $ECHO_C" >&6 + PANGOFT2_LIBS=`$PKG_CONFIG --libs "pangoft2"` + echo "$as_me:$LINENO: result: $PANGOFT2_LIBS" >&5 +echo "${ECHO_T}$PANGOFT2_LIBS" >&6 else - FREETYPE2_CFLAGS="" - FREETYPE2_LIBS="" + PANGOFT2_CFLAGS="" + PANGOFT2_LIBS="" ## If we have a custom action on failure, don't print errors, but ## do set a variable so people can do so. - FREETYPE2_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "freetype2"` - echo $FREETYPE2_PKG_ERRORS + PANGOFT2_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "pangoft2"` + echo $PANGOFT2_PKG_ERRORS fi @@ -20834,8 +21426,8 @@ echo "${ECHO_T}$FREETYPE2_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (freetype2) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (freetype2) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} + { { echo "$as_me:$LINENO: error: Library requirements (pangoft2) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 +echo "$as_me: error: Library requirements (pangoft2) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} { (exit 1); exit 1; }; } fi @@ -20893,32 +21485,32 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for pangoft2" >&5 -echo $ECHO_N "checking for pangoft2... $ECHO_C" >&6 + echo "$as_me:$LINENO: checking for cairo >= 1.1.8" >&5 +echo $ECHO_N "checking for cairo >= 1.1.8... $ECHO_C" >&6 - if $PKG_CONFIG --exists "pangoft2" ; then + if $PKG_CONFIG --exists "cairo >= 1.1.8" ; then echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 succeeded=yes - echo "$as_me:$LINENO: checking PANGOFT2_CFLAGS" >&5 -echo $ECHO_N "checking PANGOFT2_CFLAGS... $ECHO_C" >&6 - PANGOFT2_CFLAGS=`$PKG_CONFIG --cflags "pangoft2"` - echo "$as_me:$LINENO: result: $PANGOFT2_CFLAGS" >&5 -echo "${ECHO_T}$PANGOFT2_CFLAGS" >&6 - - echo "$as_me:$LINENO: checking PANGOFT2_LIBS" >&5 -echo $ECHO_N "checking PANGOFT2_LIBS... $ECHO_C" >&6 - PANGOFT2_LIBS=`$PKG_CONFIG --libs "pangoft2"` - echo "$as_me:$LINENO: result: $PANGOFT2_LIBS" >&5 -echo "${ECHO_T}$PANGOFT2_LIBS" >&6 + echo "$as_me:$LINENO: checking CAIRO_CFLAGS" >&5 +echo $ECHO_N "checking CAIRO_CFLAGS... $ECHO_C" >&6 + CAIRO_CFLAGS=`$PKG_CONFIG --cflags "cairo >= 1.1.8"` + echo "$as_me:$LINENO: result: $CAIRO_CFLAGS" >&5 +echo "${ECHO_T}$CAIRO_CFLAGS" >&6 + + echo "$as_me:$LINENO: checking CAIRO_LIBS" >&5 +echo $ECHO_N "checking CAIRO_LIBS... $ECHO_C" >&6 + CAIRO_LIBS=`$PKG_CONFIG --libs "cairo >= 1.1.8"` + echo "$as_me:$LINENO: result: $CAIRO_LIBS" >&5 +echo "${ECHO_T}$CAIRO_LIBS" >&6 else - PANGOFT2_CFLAGS="" - PANGOFT2_LIBS="" + CAIRO_CFLAGS="" + CAIRO_LIBS="" ## If we have a custom action on failure, don't print errors, but ## do set a variable so people can do so. - PANGOFT2_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "pangoft2"` - echo $PANGOFT2_PKG_ERRORS + CAIRO_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "cairo >= 1.1.8"` + echo $CAIRO_PKG_ERRORS fi @@ -20932,8 +21524,8 @@ echo "${ECHO_T}$PANGOFT2_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (pangoft2) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (pangoft2) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} + { { echo "$as_me:$LINENO: error: Library requirements (cairo >= 1.1.8) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 +echo "$as_me: error: Library requirements (cairo >= 1.1.8) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} { (exit 1); exit 1; }; } fi @@ -21161,23 +21753,23 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for gconf-2.0 >= 2.11.2" >&5 -echo $ECHO_N "checking for gconf-2.0 >= 2.11.2... $ECHO_C" >&6 + echo "$as_me:$LINENO: checking for gconf-2.0 >= 2.6.0" >&5 +echo $ECHO_N "checking for gconf-2.0 >= 2.6.0... $ECHO_C" >&6 - if $PKG_CONFIG --exists "gconf-2.0 >= 2.11.2" ; then + if $PKG_CONFIG --exists "gconf-2.0 >= 2.6.0" ; then echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 succeeded=yes echo "$as_me:$LINENO: checking GCONF_CFLAGS" >&5 echo $ECHO_N "checking GCONF_CFLAGS... $ECHO_C" >&6 - GCONF_CFLAGS=`$PKG_CONFIG --cflags "gconf-2.0 >= 2.11.2"` + GCONF_CFLAGS=`$PKG_CONFIG --cflags "gconf-2.0 >= 2.6.0"` echo "$as_me:$LINENO: result: $GCONF_CFLAGS" >&5 echo "${ECHO_T}$GCONF_CFLAGS" >&6 echo "$as_me:$LINENO: checking GCONF_LIBS" >&5 echo $ECHO_N "checking GCONF_LIBS... $ECHO_C" >&6 - GCONF_LIBS=`$PKG_CONFIG --libs "gconf-2.0 >= 2.11.2"` + GCONF_LIBS=`$PKG_CONFIG --libs "gconf-2.0 >= 2.6.0"` echo "$as_me:$LINENO: result: $GCONF_LIBS" >&5 echo "${ECHO_T}$GCONF_LIBS" >&6 else @@ -21185,7 +21777,7 @@ echo "${ECHO_T}$GCONF_LIBS" >&6 GCONF_LIBS="" ## If we have a custom action on failure, don't print errors, but ## do set a variable so people can do so. - GCONF_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gconf-2.0 >= 2.11.2"` + GCONF_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gconf-2.0 >= 2.6.0"` echo $GCONF_PKG_ERRORS fi @@ -21200,8 +21792,8 @@ echo "${ECHO_T}$GCONF_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (gconf-2.0 >= 2.11.2) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (gconf-2.0 >= 2.11.2) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} + { { echo "$as_me:$LINENO: error: Library requirements (gconf-2.0 >= 2.6.0) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 +echo "$as_me: error: Library requirements (gconf-2.0 >= 2.6.0) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} { (exit 1); exit 1; }; } fi @@ -21884,13 +22476,209 @@ echo "${ECHO_T}yes" >&6 echo "$as_me:$LINENO: checking MOZILLA_CFLAGS" >&5 echo $ECHO_N "checking MOZILLA_CFLAGS... $ECHO_C" >&6 - MOZILLA_CFLAGS=`$PKG_CONFIG --cflags "firefox-plugin firefox-xpcom"` + MOZILLA_CFLAGS=`$PKG_CONFIG --cflags "firefox-plugin firefox-xpcom"` + echo "$as_me:$LINENO: result: $MOZILLA_CFLAGS" >&5 +echo "${ECHO_T}$MOZILLA_CFLAGS" >&6 + + echo "$as_me:$LINENO: checking MOZILLA_LIBS" >&5 +echo $ECHO_N "checking MOZILLA_LIBS... $ECHO_C" >&6 + MOZILLA_LIBS=`$PKG_CONFIG --libs "firefox-plugin firefox-xpcom"` + echo "$as_me:$LINENO: result: $MOZILLA_LIBS" >&5 +echo "${ECHO_T}$MOZILLA_LIBS" >&6 + else + MOZILLA_CFLAGS="" + MOZILLA_LIBS="" + ## If we have a custom action on failure, don't print errors, but + ## do set a variable so people can do so. + MOZILLA_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "firefox-plugin firefox-xpcom"` + + fi + + + + else + echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer." + echo "*** See http://www.freedesktop.org/software/pkgconfig" + fi + fi + + if test $succeeded = yes; then + MOZILLA_FOUND=yes + else + MOZILLA_FOUND=no + fi + + fi + if test "x${MOZILLA_FOUND}" = xno; then + + succeeded=no + + if test -z "$PKG_CONFIG"; then + # Extract the first word of "pkg-config", so it can be a program name with args. +set dummy pkg-config; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" + ;; +esac +fi +PKG_CONFIG=$ac_cv_path_PKG_CONFIG + +if test -n "$PKG_CONFIG"; then + echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 +echo "${ECHO_T}$PKG_CONFIG" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + fi + + if test "$PKG_CONFIG" = "no" ; then + echo "*** The pkg-config script could not be found. Make sure it is" + echo "*** in your path, or set the PKG_CONFIG environment variable" + echo "*** to the full path to pkg-config." + echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config." + else + PKG_CONFIG_MIN_VERSION=0.9.0 + if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then + echo "$as_me:$LINENO: checking for xulrunner-plugin xulrunner-xpcom" >&5 +echo $ECHO_N "checking for xulrunner-plugin xulrunner-xpcom... $ECHO_C" >&6 + + if $PKG_CONFIG --exists "xulrunner-plugin xulrunner-xpcom" ; then + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 + succeeded=yes + + echo "$as_me:$LINENO: checking MOZILLA_CFLAGS" >&5 +echo $ECHO_N "checking MOZILLA_CFLAGS... $ECHO_C" >&6 + MOZILLA_CFLAGS=`$PKG_CONFIG --cflags "xulrunner-plugin xulrunner-xpcom"` + echo "$as_me:$LINENO: result: $MOZILLA_CFLAGS" >&5 +echo "${ECHO_T}$MOZILLA_CFLAGS" >&6 + + echo "$as_me:$LINENO: checking MOZILLA_LIBS" >&5 +echo $ECHO_N "checking MOZILLA_LIBS... $ECHO_C" >&6 + MOZILLA_LIBS=`$PKG_CONFIG --libs "xulrunner-plugin xulrunner-xpcom"` + echo "$as_me:$LINENO: result: $MOZILLA_LIBS" >&5 +echo "${ECHO_T}$MOZILLA_LIBS" >&6 + else + MOZILLA_CFLAGS="" + MOZILLA_LIBS="" + ## If we have a custom action on failure, don't print errors, but + ## do set a variable so people can do so. + MOZILLA_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "xulrunner-plugin xulrunner-xpcom"` + + fi + + + + else + echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer." + echo "*** See http://www.freedesktop.org/software/pkgconfig" + fi + fi + + if test $succeeded = yes; then + MOZILLA_FOUND=yes + else + MOZILLA_FOUND=no + fi + + fi + if test "x${MOZILLA_FOUND}" = xno; then + + succeeded=no + + if test -z "$PKG_CONFIG"; then + # Extract the first word of "pkg-config", so it can be a program name with args. +set dummy pkg-config; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" + ;; +esac +fi +PKG_CONFIG=$ac_cv_path_PKG_CONFIG + +if test -n "$PKG_CONFIG"; then + echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 +echo "${ECHO_T}$PKG_CONFIG" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + fi + + if test "$PKG_CONFIG" = "no" ; then + echo "*** The pkg-config script could not be found. Make sure it is" + echo "*** in your path, or set the PKG_CONFIG environment variable" + echo "*** to the full path to pkg-config." + echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config." + else + PKG_CONFIG_MIN_VERSION=0.9.0 + if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then + echo "$as_me:$LINENO: checking for mozilla-firefox-plugin mozilla-firefox-xpcom" >&5 +echo $ECHO_N "checking for mozilla-firefox-plugin mozilla-firefox-xpcom... $ECHO_C" >&6 + + if $PKG_CONFIG --exists "mozilla-firefox-plugin mozilla-firefox-xpcom" ; then + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 + succeeded=yes + + echo "$as_me:$LINENO: checking MOZILLA_CFLAGS" >&5 +echo $ECHO_N "checking MOZILLA_CFLAGS... $ECHO_C" >&6 + MOZILLA_CFLAGS=`$PKG_CONFIG --cflags "mozilla-firefox-plugin mozilla-firefox-xpcom"` echo "$as_me:$LINENO: result: $MOZILLA_CFLAGS" >&5 echo "${ECHO_T}$MOZILLA_CFLAGS" >&6 echo "$as_me:$LINENO: checking MOZILLA_LIBS" >&5 echo $ECHO_N "checking MOZILLA_LIBS... $ECHO_C" >&6 - MOZILLA_LIBS=`$PKG_CONFIG --libs "firefox-plugin firefox-xpcom"` + MOZILLA_LIBS=`$PKG_CONFIG --libs "mozilla-firefox-plugin mozilla-firefox-xpcom"` echo "$as_me:$LINENO: result: $MOZILLA_LIBS" >&5 echo "${ECHO_T}$MOZILLA_LIBS" >&6 else @@ -21898,7 +22686,7 @@ echo "${ECHO_T}$MOZILLA_LIBS" >&6 MOZILLA_LIBS="" ## If we have a custom action on failure, don't print errors, but ## do set a variable so people can do so. - MOZILLA_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "firefox-plugin firefox-xpcom"` + MOZILLA_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "mozilla-firefox-plugin mozilla-firefox-xpcom"` fi @@ -21972,23 +22760,23 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for xulrunner-plugin xulrunner-xpcom" >&5 -echo $ECHO_N "checking for xulrunner-plugin xulrunner-xpcom... $ECHO_C" >&6 + echo "$as_me:$LINENO: checking for seamonkey-plugin seamonkey-xpcom" >&5 +echo $ECHO_N "checking for seamonkey-plugin seamonkey-xpcom... $ECHO_C" >&6 - if $PKG_CONFIG --exists "xulrunner-plugin xulrunner-xpcom" ; then + if $PKG_CONFIG --exists "seamonkey-plugin seamonkey-xpcom" ; then echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 succeeded=yes echo "$as_me:$LINENO: checking MOZILLA_CFLAGS" >&5 echo $ECHO_N "checking MOZILLA_CFLAGS... $ECHO_C" >&6 - MOZILLA_CFLAGS=`$PKG_CONFIG --cflags "xulrunner-plugin xulrunner-xpcom"` + MOZILLA_CFLAGS=`$PKG_CONFIG --cflags "seamonkey-plugin seamonkey-xpcom"` echo "$as_me:$LINENO: result: $MOZILLA_CFLAGS" >&5 echo "${ECHO_T}$MOZILLA_CFLAGS" >&6 echo "$as_me:$LINENO: checking MOZILLA_LIBS" >&5 echo $ECHO_N "checking MOZILLA_LIBS... $ECHO_C" >&6 - MOZILLA_LIBS=`$PKG_CONFIG --libs "xulrunner-plugin xulrunner-xpcom"` + MOZILLA_LIBS=`$PKG_CONFIG --libs "seamonkey-plugin seamonkey-xpcom"` echo "$as_me:$LINENO: result: $MOZILLA_LIBS" >&5 echo "${ECHO_T}$MOZILLA_LIBS" >&6 else @@ -21996,7 +22784,7 @@ echo "${ECHO_T}$MOZILLA_LIBS" >&6 MOZILLA_LIBS="" ## If we have a custom action on failure, don't print errors, but ## do set a variable so people can do so. - MOZILLA_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "xulrunner-plugin xulrunner-xpcom"` + MOZILLA_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "seamonkey-plugin seamonkey-xpcom"` fi @@ -22070,23 +22858,23 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for mozilla-firefox-plugin mozilla-firefox-xpcom" >&5 -echo $ECHO_N "checking for mozilla-firefox-plugin mozilla-firefox-xpcom... $ECHO_C" >&6 + echo "$as_me:$LINENO: checking for iceape-plugin iceape-xpcom" >&5 +echo $ECHO_N "checking for iceape-plugin iceape-xpcom... $ECHO_C" >&6 - if $PKG_CONFIG --exists "mozilla-firefox-plugin mozilla-firefox-xpcom" ; then + if $PKG_CONFIG --exists "iceape-plugin iceape-xpcom" ; then echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 succeeded=yes echo "$as_me:$LINENO: checking MOZILLA_CFLAGS" >&5 echo $ECHO_N "checking MOZILLA_CFLAGS... $ECHO_C" >&6 - MOZILLA_CFLAGS=`$PKG_CONFIG --cflags "mozilla-firefox-plugin mozilla-firefox-xpcom"` + MOZILLA_CFLAGS=`$PKG_CONFIG --cflags "iceape-plugin iceape-xpcom"` echo "$as_me:$LINENO: result: $MOZILLA_CFLAGS" >&5 echo "${ECHO_T}$MOZILLA_CFLAGS" >&6 echo "$as_me:$LINENO: checking MOZILLA_LIBS" >&5 echo $ECHO_N "checking MOZILLA_LIBS... $ECHO_C" >&6 - MOZILLA_LIBS=`$PKG_CONFIG --libs "mozilla-firefox-plugin mozilla-firefox-xpcom"` + MOZILLA_LIBS=`$PKG_CONFIG --libs "iceape-plugin iceape-xpcom"` echo "$as_me:$LINENO: result: $MOZILLA_LIBS" >&5 echo "${ECHO_T}$MOZILLA_LIBS" >&6 else @@ -22094,7 +22882,7 @@ echo "${ECHO_T}$MOZILLA_LIBS" >&6 MOZILLA_LIBS="" ## If we have a custom action on failure, don't print errors, but ## do set a variable so people can do so. - MOZILLA_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "mozilla-firefox-plugin mozilla-firefox-xpcom"` + MOZILLA_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "iceape-plugin iceape-xpcom"` fi @@ -22114,6 +22902,11 @@ echo "${ECHO_T}$MOZILLA_LIBS" >&6 fi if test "x${MOZILLA_FOUND}" = xno; then + { { echo "$as_me:$LINENO: error: Couldn't find plugin support headers and libraries, try --disable-plugin" >&5 +echo "$as_me: error: Couldn't find plugin support headers and libraries, try --disable-plugin" >&2;} + { (exit 1); exit 1; }; } + fi + succeeded=no @@ -22168,32 +22961,32 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for seamonkey-plugin seamonkey-xpcom" >&5 -echo $ECHO_N "checking for seamonkey-plugin seamonkey-xpcom... $ECHO_C" >&6 + echo "$as_me:$LINENO: checking for glib-2.0" >&5 +echo $ECHO_N "checking for glib-2.0... $ECHO_C" >&6 - if $PKG_CONFIG --exists "seamonkey-plugin seamonkey-xpcom" ; then + if $PKG_CONFIG --exists "glib-2.0" ; then echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 succeeded=yes - echo "$as_me:$LINENO: checking MOZILLA_CFLAGS" >&5 -echo $ECHO_N "checking MOZILLA_CFLAGS... $ECHO_C" >&6 - MOZILLA_CFLAGS=`$PKG_CONFIG --cflags "seamonkey-plugin seamonkey-xpcom"` - echo "$as_me:$LINENO: result: $MOZILLA_CFLAGS" >&5 -echo "${ECHO_T}$MOZILLA_CFLAGS" >&6 + echo "$as_me:$LINENO: checking GLIB_CFLAGS" >&5 +echo $ECHO_N "checking GLIB_CFLAGS... $ECHO_C" >&6 + GLIB_CFLAGS=`$PKG_CONFIG --cflags "glib-2.0"` + echo "$as_me:$LINENO: result: $GLIB_CFLAGS" >&5 +echo "${ECHO_T}$GLIB_CFLAGS" >&6 - echo "$as_me:$LINENO: checking MOZILLA_LIBS" >&5 -echo $ECHO_N "checking MOZILLA_LIBS... $ECHO_C" >&6 - MOZILLA_LIBS=`$PKG_CONFIG --libs "seamonkey-plugin seamonkey-xpcom"` - echo "$as_me:$LINENO: result: $MOZILLA_LIBS" >&5 -echo "${ECHO_T}$MOZILLA_LIBS" >&6 + echo "$as_me:$LINENO: checking GLIB_LIBS" >&5 +echo $ECHO_N "checking GLIB_LIBS... $ECHO_C" >&6 + GLIB_LIBS=`$PKG_CONFIG --libs "glib-2.0"` + echo "$as_me:$LINENO: result: $GLIB_LIBS" >&5 +echo "${ECHO_T}$GLIB_LIBS" >&6 else - MOZILLA_CFLAGS="" - MOZILLA_LIBS="" + GLIB_CFLAGS="" + GLIB_LIBS="" ## If we have a custom action on failure, don't print errors, but ## do set a variable so people can do so. - MOZILLA_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "seamonkey-plugin seamonkey-xpcom"` - + GLIB_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "glib-2.0"` + echo $GLIB_PKG_ERRORS fi @@ -22205,12 +22998,13 @@ echo "${ECHO_T}$MOZILLA_LIBS" >&6 fi if test $succeeded = yes; then - MOZILLA_FOUND=yes + : else - MOZILLA_FOUND=no + { { echo "$as_me:$LINENO: error: Library requirements (glib-2.0) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 +echo "$as_me: error: Library requirements (glib-2.0) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} + { (exit 1); exit 1; }; } fi - fi succeeded=no @@ -22265,32 +23059,32 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for glib-2.0" >&5 -echo $ECHO_N "checking for glib-2.0... $ECHO_C" >&6 + echo "$as_me:$LINENO: checking for gtk+-2.0 >= 2.8 gthread-2.0 >= 2.2 gdk-pixbuf-2.0" >&5 +echo $ECHO_N "checking for gtk+-2.0 >= 2.8 gthread-2.0 >= 2.2 gdk-pixbuf-2.0... $ECHO_C" >&6 - if $PKG_CONFIG --exists "glib-2.0" ; then + if $PKG_CONFIG --exists "gtk+-2.0 >= 2.8 gthread-2.0 >= 2.2 gdk-pixbuf-2.0" ; then echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 succeeded=yes - echo "$as_me:$LINENO: checking GLIB_CFLAGS" >&5 -echo $ECHO_N "checking GLIB_CFLAGS... $ECHO_C" >&6 - GLIB_CFLAGS=`$PKG_CONFIG --cflags "glib-2.0"` - echo "$as_me:$LINENO: result: $GLIB_CFLAGS" >&5 -echo "${ECHO_T}$GLIB_CFLAGS" >&6 + echo "$as_me:$LINENO: checking GTK_CFLAGS" >&5 +echo $ECHO_N "checking GTK_CFLAGS... $ECHO_C" >&6 + GTK_CFLAGS=`$PKG_CONFIG --cflags "gtk+-2.0 >= 2.8 gthread-2.0 >= 2.2 gdk-pixbuf-2.0"` + echo "$as_me:$LINENO: result: $GTK_CFLAGS" >&5 +echo "${ECHO_T}$GTK_CFLAGS" >&6 - echo "$as_me:$LINENO: checking GLIB_LIBS" >&5 -echo $ECHO_N "checking GLIB_LIBS... $ECHO_C" >&6 - GLIB_LIBS=`$PKG_CONFIG --libs "glib-2.0"` - echo "$as_me:$LINENO: result: $GLIB_LIBS" >&5 -echo "${ECHO_T}$GLIB_LIBS" >&6 + echo "$as_me:$LINENO: checking GTK_LIBS" >&5 +echo $ECHO_N "checking GTK_LIBS... $ECHO_C" >&6 + GTK_LIBS=`$PKG_CONFIG --libs "gtk+-2.0 >= 2.8 gthread-2.0 >= 2.2 gdk-pixbuf-2.0"` + echo "$as_me:$LINENO: result: $GTK_LIBS" >&5 +echo "${ECHO_T}$GTK_LIBS" >&6 else - GLIB_CFLAGS="" - GLIB_LIBS="" + GTK_CFLAGS="" + GTK_LIBS="" ## If we have a custom action on failure, don't print errors, but ## do set a variable so people can do so. - GLIB_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "glib-2.0"` - echo $GLIB_PKG_ERRORS + GTK_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gtk+-2.0 >= 2.8 gthread-2.0 >= 2.2 gdk-pixbuf-2.0"` + echo $GTK_PKG_ERRORS fi @@ -22304,8 +23098,8 @@ echo "${ECHO_T}$GLIB_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (glib-2.0) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (glib-2.0) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} + { { echo "$as_me:$LINENO: error: Library requirements (gtk+-2.0 >= 2.8 gthread-2.0 >= 2.2 gdk-pixbuf-2.0) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 +echo "$as_me: error: Library requirements (gtk+-2.0 >= 2.8 gthread-2.0 >= 2.2 gdk-pixbuf-2.0) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} { (exit 1); exit 1; }; } fi @@ -22315,6 +23109,8 @@ echo "$as_me: error: Library requirements (glib-2.0) not met; consider adjusting + + PLUGIN_DIR=$HOME/.mozilla/plugins/ fi @@ -23704,26 +24500,26 @@ fi; -# Check whether --with-gcjx or --without-gcjx was given. -if test "${with_gcjx+set}" = set; then - withval="$with_gcjx" +# Check whether --with-ecj or --without-ecj was given. +if test "${with_ecj+set}" = set; then + withval="$with_ecj" if test "x${withval}" != x && test "x${withval}" != xyes && test "x${withval}" != xno; then if test "x${withval}" != x; then if test -f "${withval}"; then - GCJX="${withval}" + ECJ="${withval}" else # Extract the first word of ""${withval}"", so it can be a program name with args. set dummy "${withval}"; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_GCJX+set}" = set; then +if test "${ac_cv_path_ECJ+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - case $GCJX in + case $ECJ in [\\/]* | ?:[\\/]*) - ac_cv_path_GCJX="$GCJX" # Let the user override the test with a path. + ac_cv_path_ECJ="$ECJ" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -23733,7 +24529,7 @@ do test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_GCJX="$as_dir/$ac_word$ac_exec_ext" + ac_cv_path_ECJ="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -23743,11 +24539,11 @@ done ;; esac fi -GCJX=$ac_cv_path_GCJX +ECJ=$ac_cv_path_ECJ -if test -n "$GCJX"; then - echo "$as_me:$LINENO: result: $GCJX" >&5 -echo "${ECHO_T}$GCJX" >&6 +if test -n "$ECJ"; then + echo "$as_me:$LINENO: result: $ECJ" >&5 +echo "${ECHO_T}$ECJ" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 @@ -23755,16 +24551,16 @@ fi fi else - # Extract the first word of ""gcjx"", so it can be a program name with args. -set dummy "gcjx"; ac_word=$2 + # Extract the first word of ""ecj"", so it can be a program name with args. +set dummy "ecj"; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_GCJX+set}" = set; then +if test "${ac_cv_path_ECJ+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - case $GCJX in + case $ECJ in [\\/]* | ?:[\\/]*) - ac_cv_path_GCJX="$GCJX" # Let the user override the test with a path. + ac_cv_path_ECJ="$ECJ" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -23774,7 +24570,7 @@ do test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_GCJX="$as_dir/$ac_word$ac_exec_ext" + ac_cv_path_ECJ="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -23784,11 +24580,11 @@ done ;; esac fi -GCJX=$ac_cv_path_GCJX +ECJ=$ac_cv_path_ECJ -if test -n "$GCJX"; then - echo "$as_me:$LINENO: result: $GCJX" >&5 -echo "${ECHO_T}$GCJX" >&6 +if test -n "$ECJ"; then + echo "$as_me:$LINENO: result: $ECJ" >&5 +echo "${ECHO_T}$ECJ" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 @@ -23801,18 +24597,18 @@ fi if test "x" != x; then if test -f ""; then - GCJX="" + ECJ="" else # Extract the first word of """", so it can be a program name with args. set dummy ""; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_GCJX+set}" = set; then +if test "${ac_cv_path_ECJ+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - case $GCJX in + case $ECJ in [\\/]* | ?:[\\/]*) - ac_cv_path_GCJX="$GCJX" # Let the user override the test with a path. + ac_cv_path_ECJ="$ECJ" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -23822,7 +24618,7 @@ do test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_GCJX="$as_dir/$ac_word$ac_exec_ext" + ac_cv_path_ECJ="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -23832,11 +24628,11 @@ done ;; esac fi -GCJX=$ac_cv_path_GCJX +ECJ=$ac_cv_path_ECJ -if test -n "$GCJX"; then - echo "$as_me:$LINENO: result: $GCJX" >&5 -echo "${ECHO_T}$GCJX" >&6 +if test -n "$ECJ"; then + echo "$as_me:$LINENO: result: $ECJ" >&5 +echo "${ECHO_T}$ECJ" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 @@ -23844,16 +24640,16 @@ fi fi else - # Extract the first word of ""gcjx"", so it can be a program name with args. -set dummy "gcjx"; ac_word=$2 + # Extract the first word of ""ecj"", so it can be a program name with args. +set dummy "ecj"; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_GCJX+set}" = set; then +if test "${ac_cv_path_ECJ+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - case $GCJX in + case $ECJ in [\\/]* | ?:[\\/]*) - ac_cv_path_GCJX="$GCJX" # Let the user override the test with a path. + ac_cv_path_ECJ="$ECJ" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -23863,7 +24659,7 @@ do test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_GCJX="$as_dir/$ac_word$ac_exec_ext" + ac_cv_path_ECJ="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -23873,11 +24669,11 @@ done ;; esac fi -GCJX=$ac_cv_path_GCJX +ECJ=$ac_cv_path_ECJ -if test -n "$GCJX"; then - echo "$as_me:$LINENO: result: $GCJX" >&5 -echo "${ECHO_T}$GCJX" >&6 +if test -n "$ECJ"; then + echo "$as_me:$LINENO: result: $ECJ" >&5 +echo "${ECHO_T}$ECJ" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 @@ -23887,25 +24683,25 @@ fi fi fi - user_specified_javac=gcjx + user_specified_javac=ecj else if test "x" != x; then if test -f ""; then - GCJX="" + ECJ="" else # Extract the first word of """", so it can be a program name with args. set dummy ""; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_GCJX+set}" = set; then +if test "${ac_cv_path_ECJ+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - case $GCJX in + case $ECJ in [\\/]* | ?:[\\/]*) - ac_cv_path_GCJX="$GCJX" # Let the user override the test with a path. + ac_cv_path_ECJ="$ECJ" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -23915,7 +24711,7 @@ do test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_GCJX="$as_dir/$ac_word$ac_exec_ext" + ac_cv_path_ECJ="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -23925,11 +24721,11 @@ done ;; esac fi -GCJX=$ac_cv_path_GCJX +ECJ=$ac_cv_path_ECJ -if test -n "$GCJX"; then - echo "$as_me:$LINENO: result: $GCJX" >&5 -echo "${ECHO_T}$GCJX" >&6 +if test -n "$ECJ"; then + echo "$as_me:$LINENO: result: $ECJ" >&5 +echo "${ECHO_T}$ECJ" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 @@ -23937,16 +24733,16 @@ fi fi else - # Extract the first word of ""gcjx"", so it can be a program name with args. -set dummy "gcjx"; ac_word=$2 + # Extract the first word of ""ecj"", so it can be a program name with args. +set dummy "ecj"; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_GCJX+set}" = set; then +if test "${ac_cv_path_ECJ+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - case $GCJX in + case $ECJ in [\\/]* | ?:[\\/]*) - ac_cv_path_GCJX="$GCJX" # Let the user override the test with a path. + ac_cv_path_ECJ="$ECJ" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -23956,7 +24752,7 @@ do test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_GCJX="$as_dir/$ac_word$ac_exec_ext" + ac_cv_path_ECJ="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -23966,11 +24762,11 @@ done ;; esac fi -GCJX=$ac_cv_path_GCJX +ECJ=$ac_cv_path_ECJ -if test -n "$GCJX"; then - echo "$as_me:$LINENO: result: $GCJX" >&5 -echo "${ECHO_T}$GCJX" >&6 +if test -n "$ECJ"; then + echo "$as_me:$LINENO: result: $ECJ" >&5 +echo "${ECHO_T}$ECJ" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 @@ -23984,26 +24780,26 @@ fi; -# Check whether --with-ecj or --without-ecj was given. -if test "${with_ecj+set}" = set; then - withval="$with_ecj" +# Check whether --with-javac or --without-javac was given. +if test "${with_javac+set}" = set; then + withval="$with_javac" if test "x${withval}" != x && test "x${withval}" != xyes && test "x${withval}" != xno; then if test "x${withval}" != x; then if test -f "${withval}"; then - ECJ="${withval}" + JAVAC="${withval}" else # Extract the first word of ""${withval}"", so it can be a program name with args. set dummy "${withval}"; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_ECJ+set}" = set; then +if test "${ac_cv_path_JAVAC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - case $ECJ in + case $JAVAC in [\\/]* | ?:[\\/]*) - ac_cv_path_ECJ="$ECJ" # Let the user override the test with a path. + ac_cv_path_JAVAC="$JAVAC" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -24013,7 +24809,7 @@ do test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_ECJ="$as_dir/$ac_word$ac_exec_ext" + ac_cv_path_JAVAC="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -24023,11 +24819,11 @@ done ;; esac fi -ECJ=$ac_cv_path_ECJ +JAVAC=$ac_cv_path_JAVAC -if test -n "$ECJ"; then - echo "$as_me:$LINENO: result: $ECJ" >&5 -echo "${ECHO_T}$ECJ" >&6 +if test -n "$JAVAC"; then + echo "$as_me:$LINENO: result: $JAVAC" >&5 +echo "${ECHO_T}$JAVAC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 @@ -24035,16 +24831,16 @@ fi fi else - # Extract the first word of ""ecj"", so it can be a program name with args. -set dummy "ecj"; ac_word=$2 + # Extract the first word of ""javac"", so it can be a program name with args. +set dummy "javac"; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_ECJ+set}" = set; then +if test "${ac_cv_path_JAVAC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - case $ECJ in + case $JAVAC in [\\/]* | ?:[\\/]*) - ac_cv_path_ECJ="$ECJ" # Let the user override the test with a path. + ac_cv_path_JAVAC="$JAVAC" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -24054,7 +24850,7 @@ do test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_ECJ="$as_dir/$ac_word$ac_exec_ext" + ac_cv_path_JAVAC="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -24064,11 +24860,11 @@ done ;; esac fi -ECJ=$ac_cv_path_ECJ +JAVAC=$ac_cv_path_JAVAC -if test -n "$ECJ"; then - echo "$as_me:$LINENO: result: $ECJ" >&5 -echo "${ECHO_T}$ECJ" >&6 +if test -n "$JAVAC"; then + echo "$as_me:$LINENO: result: $JAVAC" >&5 +echo "${ECHO_T}$JAVAC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 @@ -24081,18 +24877,18 @@ fi if test "x" != x; then if test -f ""; then - ECJ="" + JAVAC="" else # Extract the first word of """", so it can be a program name with args. set dummy ""; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_ECJ+set}" = set; then +if test "${ac_cv_path_JAVAC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - case $ECJ in + case $JAVAC in [\\/]* | ?:[\\/]*) - ac_cv_path_ECJ="$ECJ" # Let the user override the test with a path. + ac_cv_path_JAVAC="$JAVAC" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -24102,7 +24898,7 @@ do test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_ECJ="$as_dir/$ac_word$ac_exec_ext" + ac_cv_path_JAVAC="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -24112,11 +24908,11 @@ done ;; esac fi -ECJ=$ac_cv_path_ECJ +JAVAC=$ac_cv_path_JAVAC -if test -n "$ECJ"; then - echo "$as_me:$LINENO: result: $ECJ" >&5 -echo "${ECHO_T}$ECJ" >&6 +if test -n "$JAVAC"; then + echo "$as_me:$LINENO: result: $JAVAC" >&5 +echo "${ECHO_T}$JAVAC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 @@ -24124,16 +24920,16 @@ fi fi else - # Extract the first word of ""ecj"", so it can be a program name with args. -set dummy "ecj"; ac_word=$2 + # Extract the first word of ""javac"", so it can be a program name with args. +set dummy "javac"; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_ECJ+set}" = set; then +if test "${ac_cv_path_JAVAC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - case $ECJ in + case $JAVAC in [\\/]* | ?:[\\/]*) - ac_cv_path_ECJ="$ECJ" # Let the user override the test with a path. + ac_cv_path_JAVAC="$JAVAC" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -24143,7 +24939,7 @@ do test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_ECJ="$as_dir/$ac_word$ac_exec_ext" + ac_cv_path_JAVAC="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -24153,11 +24949,11 @@ done ;; esac fi -ECJ=$ac_cv_path_ECJ +JAVAC=$ac_cv_path_JAVAC -if test -n "$ECJ"; then - echo "$as_me:$LINENO: result: $ECJ" >&5 -echo "${ECHO_T}$ECJ" >&6 +if test -n "$JAVAC"; then + echo "$as_me:$LINENO: result: $JAVAC" >&5 +echo "${ECHO_T}$JAVAC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 @@ -24167,25 +24963,25 @@ fi fi fi - user_specified_javac=ecj + user_specified_javac=javac else if test "x" != x; then if test -f ""; then - ECJ="" + JAVAC="" else # Extract the first word of """", so it can be a program name with args. set dummy ""; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_ECJ+set}" = set; then +if test "${ac_cv_path_JAVAC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - case $ECJ in + case $JAVAC in [\\/]* | ?:[\\/]*) - ac_cv_path_ECJ="$ECJ" # Let the user override the test with a path. + ac_cv_path_JAVAC="$JAVAC" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -24195,7 +24991,7 @@ do test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_ECJ="$as_dir/$ac_word$ac_exec_ext" + ac_cv_path_JAVAC="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -24205,11 +25001,11 @@ done ;; esac fi -ECJ=$ac_cv_path_ECJ +JAVAC=$ac_cv_path_JAVAC -if test -n "$ECJ"; then - echo "$as_me:$LINENO: result: $ECJ" >&5 -echo "${ECHO_T}$ECJ" >&6 +if test -n "$JAVAC"; then + echo "$as_me:$LINENO: result: $JAVAC" >&5 +echo "${ECHO_T}$JAVAC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 @@ -24217,16 +25013,16 @@ fi fi else - # Extract the first word of ""ecj"", so it can be a program name with args. -set dummy "ecj"; ac_word=$2 + # Extract the first word of ""javac"", so it can be a program name with args. +set dummy "javac"; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_ECJ+set}" = set; then +if test "${ac_cv_path_JAVAC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - case $ECJ in + case $JAVAC in [\\/]* | ?:[\\/]*) - ac_cv_path_ECJ="$ECJ" # Let the user override the test with a path. + ac_cv_path_JAVAC="$JAVAC" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -24236,7 +25032,7 @@ do test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_ECJ="$as_dir/$ac_word$ac_exec_ext" + ac_cv_path_JAVAC="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -24246,11 +25042,11 @@ done ;; esac fi -ECJ=$ac_cv_path_ECJ +JAVAC=$ac_cv_path_JAVAC -if test -n "$ECJ"; then - echo "$as_me:$LINENO: result: $ECJ" >&5 -echo "${ECHO_T}$ECJ" >&6 +if test -n "$JAVAC"; then + echo "$as_me:$LINENO: result: $JAVAC" >&5 +echo "${ECHO_T}$JAVAC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 @@ -24294,6 +25090,16 @@ else FOUND_ECJ_FALSE= fi + + +if test "x${JAVAC}" != x; then + FOUND_JAVAC_TRUE= + FOUND_JAVAC_FALSE='#' +else + FOUND_JAVAC_TRUE='#' + FOUND_JAVAC_FALSE= +fi + else @@ -24325,6 +25131,16 @@ else FOUND_ECJ_FALSE= fi + + +if test "x${user_specified_javac}" = xjavac; then + FOUND_JAVAC_TRUE= + FOUND_JAVAC_FALSE='#' +else + FOUND_JAVAC_TRUE='#' + FOUND_JAVAC_FALSE= +fi + fi @@ -24337,19 +25153,9 @@ else fi - -if test "x${user_specified_javac}" = xgcjx; then - FOUND_GCJX_TRUE= - FOUND_GCJX_FALSE='#' -else - FOUND_GCJX_TRUE='#' - FOUND_GCJX_FALSE= -fi - - - if test "x${GCJ}" = x && test "x${JIKES}" = x && test "x${user_specified_javac}" != xkjc && test "x${user_specified_javac}" != xgcjx && test "x${user_specified_javac}" != xecj; then - { { echo "$as_me:$LINENO: error: cannot find javac, try --with-gcj, --with-jikes, --with-kjc, --with-ecj, or --with-gcjx" >&5 -echo "$as_me: error: cannot find javac, try --with-gcj, --with-jikes, --with-kjc, --with-ecj, or --with-gcjx" >&2;} + if test "x${ECJ}" = x && test "x${JAVAC}" = x && test "x${user_specified_javac}" != xecj; then + { { echo "$as_me:$LINENO: error: cannot find javac, try --with-ecj" >&5 +echo "$as_me: error: cannot find javac, try --with-ecj" >&2;} { (exit 1); exit 1; }; } fi @@ -28582,6 +29388,13 @@ echo "$as_me: error: conditional \"FOUND_ECJ\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi +if test -z "${FOUND_JAVAC_TRUE}" && test -z "${FOUND_JAVAC_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"FOUND_JAVAC\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"FOUND_JAVAC\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi if test -z "${FOUND_GCJ_TRUE}" && test -z "${FOUND_GCJ_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"FOUND_GCJ\" was never defined. Usually this means the macro was only invoked conditionally." >&5 @@ -28603,17 +29416,17 @@ echo "$as_me: error: conditional \"FOUND_ECJ\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi -if test -z "${FOUND_KJC_TRUE}" && test -z "${FOUND_KJC_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"FOUND_KJC\" was never defined. +if test -z "${FOUND_JAVAC_TRUE}" && test -z "${FOUND_JAVAC_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"FOUND_JAVAC\" was never defined. Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"FOUND_KJC\" was never defined. +echo "$as_me: error: conditional \"FOUND_JAVAC\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi -if test -z "${FOUND_GCJX_TRUE}" && test -z "${FOUND_GCJX_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"FOUND_GCJX\" was never defined. +if test -z "${FOUND_KJC_TRUE}" && test -z "${FOUND_KJC_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"FOUND_KJC\" was never defined. Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"FOUND_GCJX\" was never defined. +echo "$as_me: error: conditional \"FOUND_KJC\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi @@ -28958,7 +29771,7 @@ _ASBOX } >&5 cat >&5 <<_CSEOF -This file was extended by GNU Classpath $as_me 0.94-pre, which was +This file was extended by GNU Classpath $as_me 0.95, which was generated by GNU Autoconf 2.59. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -29024,7 +29837,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ -GNU Classpath config.status 0.94-pre +GNU Classpath config.status 0.95 configured by $0, generated by GNU Autoconf 2.59, with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" @@ -29791,6 +30604,8 @@ s,@FREETYPE2_CFLAGS@,$FREETYPE2_CFLAGS,;t t s,@FREETYPE2_LIBS@,$FREETYPE2_LIBS,;t t s,@PANGOFT2_CFLAGS@,$PANGOFT2_CFLAGS,;t t s,@PANGOFT2_LIBS@,$PANGOFT2_LIBS,;t t +s,@CAIRO_CFLAGS@,$CAIRO_CFLAGS,;t t +s,@CAIRO_LIBS@,$CAIRO_LIBS,;t t s,@XTEST_LIBS@,$XTEST_LIBS,;t t s,@GCONF_CFLAGS@,$GCONF_CFLAGS,;t t s,@GCONF_LIBS@,$GCONF_LIBS,;t t @@ -29813,18 +30628,18 @@ s,@JIKES@,$JIKES,;t t s,@JIKESENCODING@,$JIKESENCODING,;t t s,@JIKESWARNINGS@,$JIKESWARNINGS,;t t s,@KJC@,$KJC,;t t -s,@GCJX@,$GCJX,;t t s,@ECJ@,$ECJ,;t t +s,@JAVAC@,$JAVAC,;t t s,@FOUND_GCJ_TRUE@,$FOUND_GCJ_TRUE,;t t s,@FOUND_GCJ_FALSE@,$FOUND_GCJ_FALSE,;t t s,@FOUND_JIKES_TRUE@,$FOUND_JIKES_TRUE,;t t s,@FOUND_JIKES_FALSE@,$FOUND_JIKES_FALSE,;t t s,@FOUND_ECJ_TRUE@,$FOUND_ECJ_TRUE,;t t s,@FOUND_ECJ_FALSE@,$FOUND_ECJ_FALSE,;t t +s,@FOUND_JAVAC_TRUE@,$FOUND_JAVAC_TRUE,;t t +s,@FOUND_JAVAC_FALSE@,$FOUND_JAVAC_FALSE,;t t s,@FOUND_KJC_TRUE@,$FOUND_KJC_TRUE,;t t s,@FOUND_KJC_FALSE@,$FOUND_KJC_FALSE,;t t -s,@FOUND_GCJX_TRUE@,$FOUND_GCJX_TRUE,;t t -s,@FOUND_GCJX_FALSE@,$FOUND_GCJX_FALSE,;t t s,@USER_CLASSLIB@,$USER_CLASSLIB,;t t s,@USER_SPECIFIED_CLASSLIB_TRUE@,$USER_SPECIFIED_CLASSLIB_TRUE,;t t s,@USER_SPECIFIED_CLASSLIB_FALSE@,$USER_SPECIFIED_CLASSLIB_FALSE,;t t diff --git a/libjava/classpath/configure.ac b/libjava/classpath/configure.ac index 39e88be..a751c7d 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.94-pre],[classpath@gnu.org],[classpath]) +AC_INIT([GNU Classpath],[0.95],[classpath@gnu.org],[classpath]) AC_CONFIG_SRCDIR(java/lang/System.java) dnl GCJ LOCAL @@ -72,7 +72,7 @@ CLASSPATH_CONVENIENCE="-no-undefined" AC_SUBST(CLASSPATH_CONVENIENCE) AC_PREREQ(2.59) -AM_INIT_AUTOMAKE([1.9.0 gnu std-options tar-ustar]) +AM_INIT_AUTOMAKE([1.9.0 gnu std-options tar-ustar -Wno-portability]) AC_CONFIG_HEADERS([include/config.h]) AC_PREFIX_DEFAULT(/usr/local/classpath) @@ -360,6 +360,7 @@ AC_DISABLE_STATIC AC_PROG_LIBTOOL dnl AC_PROG_AWK AC_PROG_CC +AM_PROG_CC_C_O AC_PROG_CPP AC_PROG_CXX @@ -427,7 +428,7 @@ if test "x${COMPILE_JNI}" = xyes; then lstat readlink \ inet_aton inet_addr inet_pton \ getifaddrs kqueue kevent epoll_create \ - readdir_r ]) + readdir_r getloadavg]) LIBMAGIC= AC_CHECK_LIB(magic, magic_open, LIBMAGIC=-lmagic) @@ -467,7 +468,9 @@ if test "x${COMPILE_JNI}" = xyes; then [AC_MSG_RESULT(no)])])]) AC_C_CONST + AC_C_INLINE AC_C_ATTRIBUTE + AX_FUNC_WHICH_GETHOSTBYNAME_R dnl See if we HAVE_ICONV, how ICONV_CONST is set and LTLIBICONV AM_ICONV @@ -521,6 +524,7 @@ if test "x${COMPILE_JNI}" = xyes; then PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 2.8 gthread-2.0 >= 2.2 gdk-pixbuf-2.0) PKG_CHECK_MODULES(FREETYPE2, freetype2) PKG_CHECK_MODULES(PANGOFT2, pangoft2) + PKG_CHECK_MODULES(CAIRO, cairo >= 1.1.8) dnl Check if we can link against the XRender library and set dnl HAVE_XRENDER accordingly. AC_CHECK_LIB([Xrender], [XRenderQueryExtension], @@ -546,7 +550,7 @@ if test "x${COMPILE_JNI}" = xyes; then dnl gconf-peer if test "x${COMPILE_GCONF_PEER}" = xyes; then - PKG_CHECK_MODULES(GCONF, gconf-2.0 >= 2.11.2) + PKG_CHECK_MODULES(GCONF, gconf-2.0 >= 2.6.0) AC_SUBST(GCONF_CFLAGS) AC_SUBST(GCONF_LIBS) dnl we also need gdk for locking @@ -649,12 +653,22 @@ if test "x${COMPILE_JNI}" = xyes; then if test "x${MOZILLA_FOUND}" = xno; then PKG_CHECK_MODULES(MOZILLA, seamonkey-plugin seamonkey-xpcom, [MOZILLA_FOUND=yes], [MOZILLA_FOUND=no]) fi + if test "x${MOZILLA_FOUND}" = xno; then + PKG_CHECK_MODULES(MOZILLA, iceape-plugin iceape-xpcom, [MOZILLA_FOUND=yes], [MOZILLA_FOUND=no]) + fi + if test "x${MOZILLA_FOUND}" = xno; then + AC_MSG_ERROR([Couldn't find plugin support headers and libraries, try --disable-plugin]) + fi + PKG_CHECK_MODULES(GLIB, glib-2.0) + PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 2.8 gthread-2.0 >= 2.2 gdk-pixbuf-2.0) AC_SUBST(MOZILLA_CFLAGS) AC_SUBST(MOZILLA_LIBS) AC_SUBST(GLIB_CFLAGS) AC_SUBST(GLIB_LIBS) + AC_SUBST(GTK_CFLAGS) + AC_SUBST(GTK_LIBS) AC_SUBST(PLUGIN_DIR, $HOME/.mozilla/plugins/) fi diff --git a/libjava/classpath/depcomp b/libjava/classpath/depcomp index 27a0ef7..ca5ea4e 100755 --- a/libjava/classpath/depcomp +++ b/libjava/classpath/depcomp @@ -1,7 +1,10 @@ #! /bin/sh - # depcomp - compile a program generating dependencies as side-effects -# Copyright 1999, 2000 Free Software Foundation, Inc. + +scriptversion=2006-10-15.18 + +# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006 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 @@ -25,22 +28,45 @@ # Originally written by Alexandre Oliva . +case $1 in + '') + echo "$0: No command. Try \`$0 --help' for more information." 1>&2 + exit 1; + ;; + -h | --h*) + cat <<\EOF +Usage: depcomp [--help] [--version] PROGRAM [ARGS] + +Run PROGRAMS ARGS to compile a file, generating dependencies +as side-effects. + +Environment variables: + depmode Dependency tracking mode. + source Source file read by `PROGRAMS ARGS'. + object Object file output by `PROGRAMS ARGS'. + DEPDIR directory where to store dependencies. + depfile Dependency file to output. + tmpdepfile Temporary file to use when outputing dependencies. + libtool Whether libtool is used (yes/no). + +Report bugs to . +EOF + exit $? + ;; + -v | --v*) + echo "depcomp $scriptversion" + exit $? + ;; +esac + if test -z "$depmode" || test -z "$source" || test -z "$object"; then echo "depcomp: Variables source, object and depmode must be set" 1>&2 exit 1 fi -# `libtool' can also be set to `yes' or `no'. - -if test -z "$depfile"; then - base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'` - dir=`echo "$object" | sed 's,/.*$,/,'` - if test "$dir" = "$object"; then - dir= - fi - # FIXME: should be _deps on DOS. - depfile="$dir.deps/$base" -fi +# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. +depfile=${depfile-`echo "$object" | + sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} rm -f "$tmpdepfile" @@ -66,7 +92,20 @@ gcc3) ## gcc 3 implements dependency tracking that does exactly what ## we want. Yay! Note: for some reason libtool 1.4 doesn't like ## it if -MD -MP comes after the -MF stuff. Hmm. - "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" +## Unfortunately, FreeBSD c89 acceptance of flags depends upon +## the command line argument order; so add the flags where they +## appear in depend2.am. Note that the slowdown incurred here +## affects only configure: in makefiles, %FASTDEP% shortcuts this. + for arg + do + case $arg in + -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; + *) set fnord "$@" "$arg" ;; + esac + shift # fnord + shift # $arg + done + "$@" stat=$? if test $stat -eq 0; then : else @@ -172,19 +211,25 @@ sgi) aix) # The C for AIX Compiler uses -M and outputs the dependencies - # in a .u file. This file always lives in the current directory. - # Also, the AIX compiler puts `$object:' at the start of each line; - # $object doesn't have directory information. - stripped=`echo "$object" | sed -e 's,^.*/,,' -e 's/\(.*\)\..*$/\1/'` + # in a .u file. In older versions, this file always lives in the + # current directory. Also, the AIX compiler puts `$object:' at the + # start of each line; $object doesn't have directory information. + # Version 6 uses the directory in both cases. + stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'` tmpdepfile="$stripped.u" - outname="$stripped.o" if test "$libtool" = yes; then "$@" -Wc,-M else "$@" -M fi - stat=$? + + if test -f "$tmpdepfile"; then : + else + stripped=`echo "$stripped" | sed 's,^.*/,,'` + tmpdepfile="$stripped.u" + fi + if test $stat -eq 0; then : else rm -f "$tmpdepfile" @@ -192,6 +237,7 @@ aix) fi if test -f "$tmpdepfile"; then + outname="$stripped.o" # Each line is of the form `foo.o: dependent.h'. # Do two passes, one to just change these to # `$object: dependent.h' and one to simply `dependent.h:'. @@ -206,6 +252,84 @@ aix) rm -f "$tmpdepfile" ;; +icc) + # Intel's C compiler understands `-MD -MF file'. However on + # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c + # ICC 7.0 will fill foo.d with something like + # foo.o: sub/foo.c + # foo.o: sub/foo.h + # which is wrong. We want: + # sub/foo.o: sub/foo.c + # sub/foo.o: sub/foo.h + # sub/foo.c: + # sub/foo.h: + # ICC 7.1 will output + # foo.o: sub/foo.c sub/foo.h + # and will wrap long lines using \ : + # foo.o: sub/foo.c ... \ + # sub/foo.h ... \ + # ... + + "$@" -MD -MF "$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + # Each line is of the form `foo.o: dependent.h', + # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. + # Do two passes, one to just change these to + # `$object: dependent.h' and one to simply `dependent.h:'. + sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" + # Some versions of the HPUX 10.20 sed can't process this invocation + # correctly. Breaking it into two sed invocations is a workaround. + sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | + sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +hp2) + # The "hp" stanza above does not work with aCC (C++) and HP's ia64 + # compilers, which have integrated preprocessors. The correct option + # to use with these is +Maked; it writes dependencies to a file named + # 'foo.d', which lands next to the object file, wherever that + # happens to be. + # Much of this is similar to the tru64 case; see comments there. + dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` + test "x$dir" = "x$object" && dir= + base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` + if test "$libtool" = yes; then + tmpdepfile1=$dir$base.d + tmpdepfile2=$dir.libs/$base.d + "$@" -Wc,+Maked + else + tmpdepfile1=$dir$base.d + tmpdepfile2=$dir$base.d + "$@" +Maked + fi + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile1" "$tmpdepfile2" + exit $stat + fi + + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" + do + test -f "$tmpdepfile" && break + done + if test -f "$tmpdepfile"; then + sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" + # Add `dependent.h:' lines. + sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile" + else + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" "$tmpdepfile2" + ;; + tru64) # The Tru64 compiler uses -MD to generate dependencies as a side # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. @@ -217,31 +341,47 @@ tru64) base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` if test "$libtool" = yes; then - tmpdepfile1="$dir.libs/$base.lo.d" - tmpdepfile2="$dir.libs/$base.d" + # With Tru64 cc, shared objects can also be used to make a + # static library. This mechanism is used in libtool 1.4 series to + # handle both shared and static libraries in a single compilation. + # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. + # + # With libtool 1.5 this exception was removed, and libtool now + # generates 2 separate objects for the 2 libraries. These two + # compilations output dependencies in $dir.libs/$base.o.d and + # in $dir$base.o.d. We have to check for both files, because + # one of the two compilations can be disabled. We should prefer + # $dir$base.o.d over $dir.libs/$base.o.d because the latter is + # automatically cleaned when .libs/ is deleted, while ignoring + # the former would cause a distcleancheck panic. + tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4 + tmpdepfile2=$dir$base.o.d # libtool 1.5 + tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5 + tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504 "$@" -Wc,-MD else - tmpdepfile1="$dir$base.o.d" - tmpdepfile2="$dir$base.d" + tmpdepfile1=$dir$base.o.d + tmpdepfile2=$dir$base.d + tmpdepfile3=$dir$base.d + tmpdepfile4=$dir$base.d "$@" -MD fi stat=$? if test $stat -eq 0; then : else - rm -f "$tmpdepfile1" "$tmpdepfile2" + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" exit $stat fi - if test -f "$tmpdepfile1"; then - tmpdepfile="$tmpdepfile1" - else - tmpdepfile="$tmpdepfile2" - fi + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" + do + test -f "$tmpdepfile" && break + done if test -f "$tmpdepfile"; then sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" - # That's a space and a tab in the []. - sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" + # That's a tab and a space in the []. + sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" else echo "#dummy" > "$depfile" fi @@ -254,7 +394,7 @@ tru64) dashmstdout) # Important note: in order to support this mode, a compiler *must* - # always write the proprocessed file to stdout, regardless of -o. + # always write the preprocessed file to stdout, regardless of -o. "$@" || exit $? # Remove the call to Libtool. @@ -265,9 +405,7 @@ dashmstdout) shift fi - # Remove `-o $object'. We will use -o /dev/null later, - # however we can't do the remplacement now because - # `-o $object' might simply not be used + # Remove `-o $object'. IFS=" " for arg do @@ -287,7 +425,11 @@ dashmstdout) done test -z "$dashmflag" && dashmflag=-M - "$@" -o /dev/null $dashmflag | sed 's:^[^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" + # Require at least two characters before searching for `:' + # in the target name. This is to cope with DOS-style filenames: + # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. + "$@" $dashmflag | + sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" tr ' ' ' @@ -306,6 +448,13 @@ dashXmstdout) makedepend) "$@" || exit $? + # Remove any Libtool call + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi # X makedepend shift cleared=no @@ -318,7 +467,9 @@ makedepend) case "$arg" in -D*|-I*) set fnord "$@" "$arg"; shift ;; - -*) + # Strip any option that makedepend may not understand. Remove + # the object too, otherwise makedepend will parse it as a source file. + -*|$object) ;; *) set fnord "$@" "$arg"; shift ;; @@ -339,7 +490,7 @@ makedepend) cpp) # Important note: in order to support this mode, a compiler *must* - # always write the proprocessed file to stdout. + # always write the preprocessed file to stdout. "$@" || exit $? # Remove the call to Libtool. @@ -370,7 +521,8 @@ cpp) done "$@" -E | - sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | + sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ + -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | sed '$ s: \\$::' > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" @@ -381,7 +533,7 @@ cpp) msvisualcpp) # Important note: in order to support this mode, a compiler *must* - # always write the proprocessed file to stdout, regardless of -o, + # always write the preprocessed file to stdout, regardless of -o, # because we must use -o when running libtool. "$@" || exit $? IFS=" " @@ -421,3 +573,12 @@ none) esac exit 0 + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/libjava/classpath/doc/Makefile.am b/libjava/classpath/doc/Makefile.am index 641d8d0..5f9eb68 100644 --- a/libjava/classpath/doc/Makefile.am +++ b/libjava/classpath/doc/Makefile.am @@ -1,21 +1,19 @@ SUBDIRS = api -EXTRA_DIST = README.jaxp $(man_MANS) +EXTRA_DIST = README.jaxp texi2pod.pl $(man_MANS) ## GCJ LOCAL: we don't want to install all of Classpath's info files. ## info_TEXINFOS = cp-hacking.texinfo cp-vmintegration.texinfo cp-tools.texinfo TEXINFO_TEX = ../../gcc/doc/include/texinfo.tex info_TEXINFOS = cp-tools.texinfo -cp_tools_TEXINFOS = gcc-vers.texi -%.dvi : %.texinfo +.texinfo.dvi: texi2dvi $< -%.ps : %.dvi +.dvi.ps: dvips -o $@ $< -docs: cp-hacking.ps cp-vmintegration.ps cp-tools.ps -install-data-local: install-info +docs: cp-hacking.ps cp-vmintegration.ps cp-tools.ps $(TOOLS_MANFILES) man_MANS = $(TOOLS_MANFILES) TOOLS_MANFILES = \ @@ -32,23 +30,11 @@ TOOLS_MANFILES = \ gserialver.1 \ gtnameserv.1 -BASEVER = $(top_srcdir)/../../gcc/BASE-VER -DEVPHASE = $(top_srcdir)/../../gcc/DEV-PHASE - -POD2MAN = pod2man --center="GNU" --release="gcc-$(shell cat $(BASEVER))" -TEXI2POD = perl $(top_srcdir)/../../contrib/texi2pod.pl +POD2MAN = pod2man --center="GNU" --release="$(VERSION)" +TEXI2POD = perl $(srcdir)/texi2pod.pl STAMP = echo timestamp > -# gcc-vers.texi is generated from the version files. -gcc-vers.texi: $(BASEVER) $(DEVPHASE) - (echo "@set version-GCC $(shell cat $(BASEVER))"; \ - if [ "$(shell cat $(DEVPHASE))" = "experimental" ]; \ - then echo "@set DEVELOPMENT"; \ - else echo "@clear DEVELOPMENT"; \ - fi) > $@T - mv -f $@T $@ - -%.1: %.pod +.pod.1: $(STAMP) $@ -($(POD2MAN) --section=1 $< > $(@).T$$$$ && \ mv -f $(@).T$$$$ $@) || \ diff --git a/libjava/classpath/doc/Makefile.in b/libjava/classpath/doc/Makefile.in index ad1b552..e00e0ae 100644 --- a/libjava/classpath/doc/Makefile.in +++ b/libjava/classpath/doc/Makefile.in @@ -37,23 +37,27 @@ build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = doc -DIST_COMMON = $(cp_tools_TEXINFOS) $(srcdir)/Makefile.am \ - $(srcdir)/Makefile.in texinfo.tex +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/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ - $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ - $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ + $(top_srcdir)/../../libtool.m4 \ + $(top_srcdir)/../../ltoptions.m4 \ + $(top_srcdir)/../../ltsugar.m4 \ + $(top_srcdir)/../../ltversion.m4 \ + $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \ + $(top_srcdir)/m4/acinclude.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/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 +mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs CONFIG_HEADER = $(top_builddir)/include/config.h CONFIG_CLEAN_FILES = SOURCES = @@ -88,12 +92,15 @@ ACLOCAL = @ACLOCAL@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ +AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@ BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -139,6 +146,7 @@ DATE = @DATE@ DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ @@ -151,15 +159,16 @@ ERROR_CFLAGS = @ERROR_CFLAGS@ EXAMPLESDIR = @EXAMPLESDIR@ EXEEXT = @EXEEXT@ FASTJAR = @FASTJAR@ +FGREP = @FGREP@ FIND = @FIND@ FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@ FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@ FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@ FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@ -FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@ -FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@ FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@ FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@ +FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@ +FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@ FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@ FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@ FOUND_KJC_FALSE = @FOUND_KJC_FALSE@ @@ -167,7 +176,6 @@ FOUND_KJC_TRUE = @FOUND_KJC_TRUE@ FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@ FREETYPE2_LIBS = @FREETYPE2_LIBS@ GCJ = @GCJ@ -GCJX = @GCJX@ GCONF_CFLAGS = @GCONF_CFLAGS@ GCONF_LIBS = @GCONF_LIBS@ GDK_CFLAGS = @GDK_CFLAGS@ @@ -177,6 +185,7 @@ GENINSRC_TRUE = @GENINSRC_TRUE@ GJDOC = @GJDOC@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ +GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@ @@ -188,6 +197,7 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +JAVAC = @JAVAC@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ @@ -197,6 +207,7 @@ JIKES = @JIKES@ JIKESENCODING = @JIKESENCODING@ JIKESWARNINGS = @JIKESWARNINGS@ KJC = @KJC@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBDEBUG = @LIBDEBUG@ LIBICONV = @LIBICONV@ @@ -216,6 +227,7 @@ MKDIR = @MKDIR@ MOC = @MOC@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ +NM = @NM@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ @@ -237,6 +249,7 @@ RANLIB = @RANLIB@ REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@ REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@ REMOVE = @REMOVE@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@ @@ -264,8 +277,10 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ X_PRE_LIBS = @X_PRE_LIBS@ ZIP = @ZIP@ +ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_STRIP = @ac_ct_STRIP@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ @@ -298,6 +313,7 @@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ multi_basedir = @multi_basedir@ @@ -316,10 +332,9 @@ target_vendor = @target_vendor@ toolexeclibdir = @toolexeclibdir@ vm_classes = @vm_classes@ SUBDIRS = api -EXTRA_DIST = README.jaxp $(man_MANS) +EXTRA_DIST = README.jaxp texi2pod.pl $(man_MANS) TEXINFO_TEX = ../../gcc/doc/include/texinfo.tex info_TEXINFOS = cp-tools.texinfo -cp_tools_TEXINFOS = gcc-vers.texi man_MANS = $(TOOLS_MANFILES) TOOLS_MANFILES = \ gappletviewer.1 \ @@ -335,10 +350,8 @@ TOOLS_MANFILES = \ gserialver.1 \ gtnameserv.1 -BASEVER = $(top_srcdir)/../../gcc/BASE-VER -DEVPHASE = $(top_srcdir)/../../gcc/DEV-PHASE -POD2MAN = pod2man --center="GNU" --release="gcc-$(shell cat $(BASEVER))" -TEXI2POD = perl $(top_srcdir)/../../contrib/texi2pod.pl +POD2MAN = pod2man --center="GNU" --release="$(VERSION)" +TEXI2POD = perl $(srcdir)/texi2pod.pl STAMP = echo timestamp > @GENINSRC_FALSE@STAMP_GENINSRC = @@ -365,7 +378,7 @@ MAINTAINERCLEANFILES = \ all: all-recursive .SUFFIXES: -.SUFFIXES: .dvi .ps +.SUFFIXES: .1 .dvi .pod .ps .texinfo $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ @@ -405,7 +418,7 @@ clean-libtool: distclean-libtool: -rm -f libtool -cp-tools.info: cp-tools.texinfo $(cp_tools_TEXINFOS) +cp-tools.info: cp-tools.texinfo restore=: && backupdir="$(am__leading_dot)am$$$$" && \ rm -rf $$backupdir && mkdir $$backupdir && \ if ($(MAKEINFO) --version) >/dev/null 2>&1; then \ @@ -423,17 +436,17 @@ cp-tools.info: cp-tools.texinfo $(cp_tools_TEXINFOS) fi; \ rm -rf $$backupdir; exit $$rc -cp-tools.dvi: cp-tools.texinfo $(cp_tools_TEXINFOS) +cp-tools.dvi: cp-tools.texinfo TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \ $(TEXI2DVI) -o $@ `test -f 'cp-tools.texinfo' || echo '$(srcdir)/'`cp-tools.texinfo -cp-tools.pdf: cp-tools.texinfo $(cp_tools_TEXINFOS) +cp-tools.pdf: cp-tools.texinfo TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \ $(TEXI2PDF) -o $@ `test -f 'cp-tools.texinfo' || echo '$(srcdir)/'`cp-tools.texinfo -cp-tools.html: cp-tools.texinfo $(cp_tools_TEXINFOS) +cp-tools.html: cp-tools.texinfo rm -rf $(@:.html=.htp) if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \ -o $(@:.html=.htp) `test -f 'cp-tools.texinfo' || echo '$(srcdir)/'`cp-tools.texinfo; \ @@ -446,9 +459,6 @@ cp-tools.html: cp-tools.texinfo $(cp_tools_TEXINFOS) rm -rf $(@:.html=); else rm -Rf $(@:.html=.htp) $@; fi; \ exit 1; \ fi -.dvi.ps: - TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ - $(DVIPS) -o $@ $< uninstall-info-am: @$(PRE_UNINSTALL) @@ -778,7 +788,7 @@ info: info-recursive info-am: $(INFO_DEPS) -install-data-am: install-data-local install-info-am install-man +install-data-am: install-info-am install-man install-exec-am: @@ -847,36 +857,26 @@ uninstall-man: uninstall-man1 ctags ctags-recursive dist-info distclean distclean-generic \ distclean-libtool distclean-recursive distclean-tags distdir \ dvi dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-data-local install-exec \ - install-exec-am install-info install-info-am install-man \ - install-man1 install-strip installcheck installcheck-am \ - installdirs installdirs-am maintainer-clean \ - maintainer-clean-aminfo maintainer-clean-generic \ - maintainer-clean-recursive mostlyclean mostlyclean-aminfo \ - mostlyclean-generic mostlyclean-libtool mostlyclean-recursive \ - pdf pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \ - uninstall-info-am uninstall-man uninstall-man1 - - -%.dvi : %.texinfo + install-data install-data-am install-exec install-exec-am \ + install-info install-info-am install-man install-man1 \ + install-strip installcheck installcheck-am installdirs \ + installdirs-am maintainer-clean maintainer-clean-aminfo \ + maintainer-clean-generic maintainer-clean-recursive \ + mostlyclean mostlyclean-aminfo mostlyclean-generic \ + mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \ + tags tags-recursive uninstall uninstall-am uninstall-info-am \ + uninstall-man uninstall-man1 + + +.texinfo.dvi: texi2dvi $< -%.ps : %.dvi +.dvi.ps: dvips -o $@ $< -docs: cp-hacking.ps cp-vmintegration.ps cp-tools.ps -install-data-local: install-info - -# gcc-vers.texi is generated from the version files. -gcc-vers.texi: $(BASEVER) $(DEVPHASE) - (echo "@set version-GCC $(shell cat $(BASEVER))"; \ - if [ "$(shell cat $(DEVPHASE))" = "experimental" ]; \ - then echo "@set DEVELOPMENT"; \ - else echo "@clear DEVELOPMENT"; \ - fi) > $@T - mv -f $@T $@ +docs: cp-hacking.ps cp-vmintegration.ps cp-tools.ps $(TOOLS_MANFILES) -%.1: %.pod +.pod.1: $(STAMP) $@ -($(POD2MAN) --section=1 $< > $(@).T$$$$ && \ mv -f $(@).T$$$$ $@) || \ diff --git a/libjava/classpath/doc/api/Makefile.in b/libjava/classpath/doc/api/Makefile.in index 4a24a9d..937d0cc 100644 --- a/libjava/classpath/doc/api/Makefile.in +++ b/libjava/classpath/doc/api/Makefile.in @@ -44,16 +44,21 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ - $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ - $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ + $(top_srcdir)/../../libtool.m4 \ + $(top_srcdir)/../../ltoptions.m4 \ + $(top_srcdir)/../../ltsugar.m4 \ + $(top_srcdir)/../../ltversion.m4 \ + $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \ + $(top_srcdir)/m4/acinclude.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/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 +mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs CONFIG_HEADER = $(top_builddir)/include/config.h CONFIG_CLEAN_FILES = SOURCES = @@ -64,12 +69,15 @@ ACLOCAL = @ACLOCAL@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ +AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@ BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -115,6 +123,7 @@ DATE = @DATE@ DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ @@ -127,15 +136,16 @@ ERROR_CFLAGS = @ERROR_CFLAGS@ EXAMPLESDIR = @EXAMPLESDIR@ EXEEXT = @EXEEXT@ FASTJAR = @FASTJAR@ +FGREP = @FGREP@ FIND = @FIND@ FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@ FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@ FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@ FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@ -FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@ -FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@ FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@ FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@ +FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@ +FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@ FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@ FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@ FOUND_KJC_FALSE = @FOUND_KJC_FALSE@ @@ -143,7 +153,6 @@ FOUND_KJC_TRUE = @FOUND_KJC_TRUE@ FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@ FREETYPE2_LIBS = @FREETYPE2_LIBS@ GCJ = @GCJ@ -GCJX = @GCJX@ GCONF_CFLAGS = @GCONF_CFLAGS@ GCONF_LIBS = @GCONF_LIBS@ GDK_CFLAGS = @GDK_CFLAGS@ @@ -153,6 +162,7 @@ GENINSRC_TRUE = @GENINSRC_TRUE@ GJDOC = @GJDOC@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ +GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@ @@ -164,6 +174,7 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +JAVAC = @JAVAC@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ @@ -173,6 +184,7 @@ JIKES = @JIKES@ JIKESENCODING = @JIKESENCODING@ JIKESWARNINGS = @JIKESWARNINGS@ KJC = @KJC@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBDEBUG = @LIBDEBUG@ LIBICONV = @LIBICONV@ @@ -192,6 +204,7 @@ MKDIR = @MKDIR@ MOC = @MOC@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ +NM = @NM@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ @@ -213,6 +226,7 @@ RANLIB = @RANLIB@ REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@ REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@ REMOVE = @REMOVE@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@ @@ -240,8 +254,10 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ X_PRE_LIBS = @X_PRE_LIBS@ ZIP = @ZIP@ +ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_STRIP = @ac_ct_STRIP@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ @@ -274,6 +290,7 @@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ multi_basedir = @multi_basedir@ diff --git a/libjava/classpath/doc/cp-hacking.texinfo b/libjava/classpath/doc/cp-hacking.texinfo index efb7aa9..c79ea52 100644 --- a/libjava/classpath/doc/cp-hacking.texinfo +++ b/libjava/classpath/doc/cp-hacking.texinfo @@ -1,7 +1,7 @@ \input texinfo @c -*-texinfo-*- @c %**start of header -@setfilename hacking.info +@setfilename cp-hacking.info @settitle GNU Classpath Hacker's Guide @c %**end of header @@ -11,7 +11,7 @@ This file contains important information you will need to know if you are going to hack on the GNU Classpath project code. -Copyright (C) 1998,1999,2000,2001,2002,2003,2004, 2005 Free Software Foundation, Inc. +Copyright (C) 1998,1999,2000,2001,2002,2003,2004,2005,2007 Free Software Foundation, Inc. @ifnotplaintext @dircategory GNU Libraries @@ -65,6 +65,9 @@ and compilers for the java programming language. * Volunteering:: So you want to help out * Project Goals:: Goals of the GNU Classpath project * Needed Tools and Libraries:: A list of programs and libraries you will need +* Installation:: Installation instructions +* Building and running with the X AWT peers:: Building and running with the X AWT peers +* Misc. Notes:: Miscellaneous notes * Programming Standards:: Standards to use when writing code * Hacking Code:: Working on code, Working with others * Programming Goals:: What to consider when writing code @@ -324,7 +327,7 @@ that way. But finishing, polishing up, documenting, testing and debugging current functionality is of higher priority then adding new functionality. -@node Needed Tools and Libraries, Programming Standards, Project Goals, Top +@node Needed Tools and Libraries, Installation, Project Goals, Top @comment node-name, next, previous, up @chapter Needed Tools and Libraries @@ -338,15 +341,19 @@ needed when working directly on the CVS version. @itemize @bullet @item -GCC 3.3+ +GNU make 3.80+ +@item +GCC 2.95+ +@item +Eclipse Compiler for Java 3.1+ @item CVS 1.11+ @item -automake 1.7+ +automake 1.9+ @item autoconf 2.59+ @item -libtool 1.4.2+ +libtool 1.5+ @item GNU m4 1.4 @item @@ -356,35 +363,50 @@ texinfo 4.2+ All of these tools are available from @uref{ftp://gnudist.gnu.org/pub/gnu/,gnudist.gnu.org} via anonymous ftp, except CVS which is available from -@uref{http://www.cvshome.org/,www.cvshome.org}. They are fully -documented with texinfo manuals. Texinfo can be browsed with the -Emacs editor, or with the text editor of your choice, or transformed -into nicely printable Postscript. +@uref{http://www.cvshome.org/,www.cvshome.org} and the Eclipse +Compiler for Java, which is available from +@uref{http://www.eclipse.org/jdt/core,www.eclipse.org/jdt/core}. + +Except for the Eclipse Compiler for Java, they are fully documented +with texinfo manuals. Texinfo can be browsed with the Emacs editor, +or with the text editor of your choice, or transformed into nicely +printable Postscript. Here is a brief description of the purpose of those tools. @table @b +@item make +GNU make ("gmake") is required for building Classpath. + @item GCC The GNU Compiler Collection. This contains a C compiler (gcc) for compiling the native C code and a compiler for the java programming -language (gcj). You will need at least gcj version 3.3 or higher. If -that version is not available for your platform you can try the -@uref{http://www.jikes.org/, jikes compiler}. We try to keep all code -compilable with both gcj and jikes at all times. +language (gcj). You will need at least gcc version 2.95 or higher +in order to compile the native code. There is currently no +released version of gcj that can compile the Java 1.5 programming +language used by GNU Classpath. + +@item ecj +The Eclipse Compiler for Java. This is a compiler for the Java 1.5 +programming language. It translates source code to bytecode. The +Eclipse Foundation makes ``ecj.jar'' available as the JDT Core Batch +Compiler download. @item CVS A version control system that maintains a centralized Internet repository of all code in the Classpath system. @item automake -This tool automatically creates Makefile.in files from Makefile.am -files. The Makefile.in is turned into a Makefile by autoconf. Why -use this? Because it automatically generates every makefile target -you would ever want (clean, install, dist, etc) in full compliance -with the GNU coding standards. It also simplifies Makefile creation -in a number of ways that cannot be described here. Read the docs for -more info. +This tool automatically creates @file{Makefile.in} files from +@file{Makefile.am} files. The @file{Makefile.in} is turned into a +@file{Makefile} by @command{autoconf}. + +Why use this? Because it automatically generates every makefile +target you would ever want (@option{clean}, @option{install}, +@option{dist}, etc) in full compliance with the GNU coding standards. +It also simplifies Makefile creation in a number of ways that cannot +be described here. Read the docs for more info. @item autoconf Automatically configures a package for the platform on which it is @@ -414,12 +436,29 @@ is revised, you need revise only that one document. @end table +For any build environment involving native libraries, recent +versions of @command{autoconf}, @command{automake}, and @command{libtool} +are required if changes are made that require rebuilding @file{configure}, +@file{Makefile.in}, @file{aclocal.m4}, or @file{config.h.in}. + +When working from CVS you can run those tools by executing +@command{autogen.sh} in the source directory. + +For building the Java bytecode (.class files), you can select +which compiler should be employed using @option{--with-javac} or +@option{--with-ecj} as argument to @command{configure}; +the present default is @command{ecj}. + +Instead of @command{ecj}, you can also use @command{javac}, which is +available at +@uref{https://openjdk.dev.java.net/compiler, openjdk.dev.java.net/compiler}. For compiling the native AWT libraries you need to have the following -libraries installed: +libraries installed (unless @option{--disable-gtk-peer} is used as an argument +to @command{configure}): @table @b -@item GTK+ 2.2.x +@item GTK+ 2.8.x @uref{http://www.gtk.org/,GTK+} is a multi-platform toolkit for creating graphical user interfaces. It is used as the basis of the GNU desktop project GNOME. @@ -427,8 +466,125 @@ GNU desktop project GNOME. @item gdk-pixbuf @uref{http://www.gnome.org/start/,gdk-pixbuf} is a GNOME library for representing images. + +@item XTest +@uref{http://www.x.org,www.x.org} hosts the XTest Extension (libXtst). +It is necessary for GdkRobot support in java.awt. + @end table +There is a bug in earlier versions of at-spi, atk, and gail, which are +used for GNOME accessibility. Prior to version 1.18.0 of these packages, +gtk graphical applications should be run without accessibility (clear the +GTK_MODULES environment variable). + +For building the Qt AWT peer JNI native libraries you have to +specify @option{--enable-qt-peer} and need the following library: + +@table @b +@item Qt +@uref{http://www.trolltech.com/products/qt,Qt} version 4.0.1 or higher. +The Qt library is a cros-platform graphics toolkit. + +@end table + +Please note that at the moment most operating systems do not +ship Qt version 4.0.1 by default. We recommend using GNU Classpath' Qt +support only for its developers and bug reporters. See +@uref{http://developer.classpath.org/mediation/ClasspathShowcase, the wiki} +for details on how to get it to work. + +For building the X AWT peers you have to specify where to find the +Escher library on your system using the @option{--with-escher=ABS.PATH} option. +You will need the following library: + +@table @b +@item Escher +@uref{http://escher.sourceforge.net,Escher} version 0.2.3 or higher. +The Escher library is an implementation of X protocol and associated +libraries written in the Java programming language. + +@end table + +For building the ALSA midi provider code you will need +the following library: + + +@table @b +@item ALSA +@uref{http://www.alsa-project.org,ALSA} libraries. + +The ALSA project provides sound device drivers and associated +libraries for the Linux kernel. + +@end table + +Building the ALSA midi provider code can be disabled by passing +@option{--disable-alsa} to @command{configure}. + +For building the DSSI midi synthesizer provider code you will +need the following libraries: + +@table @b +@item DSSI +@uref{http://dssi.sourceforge.net,DSSI} library for audio +processing plugins. + +@item liblo +@uref{http://plugin.org.uk/liblo/,liblo}, the Lightweight OSC +implementation. + +@item LADSPA +@uref{http://www.ladspa.org,LADSPA}, the Linux Audio Developer's +Simple Plugin API. + +@item JACK +@uref{http://jackit.sourceforge.net,JACK}, a low latency audio +server. + +@item libsndfile +@uref{http://www.mega-nerd.com/libsndfile/,libsndfile}, an audio +file I/O library. + +@item fluidsynth +@uref{http://www.fluidsynth.org/,fluidsynth}, a real-time SoundFont +2 based soft-synth. + +@end table + +The GConf-based backend for java.util.prefs needs the following +library headers: + +@table @b +@item GConf +@uref{http://www.gnome.org/projects/gconf/,GConf} version 2.11.2 +(or higher). GConf is used for storing dektop and application +configuration settings in GNOME. + +@end table + +For building @command{gcjwebplugin} you'll need the Mozilla plugin +support headers and libraries, which are available at +@uref{http://www.mozilla.org,www.mozilla.org}. + +For enabling the com.sun.tools.javac support in tools.zip you +will a need jar file containing the Eclipse Java Compiler. +Otherwise com.sun.tools.javac will not be included in @file{tools.zip}. + +For building the xmlj JAXP implementation (disabled by default, +use @command{configure --enable-xmlj}) you need the following libraries: + +@table @b +@item libxml2 +@uref{http://www.xmlsoft.org/,libxml2} version 2.6.8 or higher. + +The libxml2 library is the XML C library for the Gnome desktop. + +@item libxslt +@uref{http://www.xmlsoft.org/XSLT/,libxslt} version 1.1.11 or higher. + +The libxslt library if the XSLT C library for the Gnome desktop. +@end table GNU Classpath comes with a couple of libraries included in the source that are not part of GNU Classpath proper, but that have been included @@ -457,8 +613,167 @@ java.lang.StrictMath. @end table +@node Installation, Building and running with the X AWT peers, Needed Tools and Libraries, Top +@comment node-name, next, previous, up +@chapter Installation instructions + +This package was designed to use the GNU standard for configuration +and makefiles. To build and install do the following: + +@enumerate +@item Configuration + +Run the @command{configure} script to configure the package. There are +various options you might want to pass to @command{configure} to control how the +package is built. Consider the following options, @command{configure --help} +gives a complete list. + +@table @option +@item --enable-java + +compile Java source (default=@option{yes}). + +@item --enable-jni + +compile JNI source (default=@option{yes}). + +@item --enable-gtk-peer + +compile GTK native peers (default=@option{yes}). + +@item --enable-qt-peer + +compile Qt4 native peers (default=@option{no}). + +@item --enable-default-toolkit + +fully qualified class name of default AWT toolkit (default=@option{no}). + +@item --enable-xmlj + +compile native libxml/xslt library (default=@option{no}). + +@item --enable-load-library + +enable to use JNI native methods (default=@option{yes}). + +@item --enable-local-sockets + +enable build of local Unix sockets. + +@item --with-glibj +define what to install @option{(zip|flat|both|none)} (default=@option{zip}). + +@item --with-escher=/path/to/escher + +enable build of the X/Escher peers, with +the escher library at @file{/path/to/escher}, either +in the form of a JAR file, or a directory +containing the .class files of Escher. + +@item --enable-Werror + +whether to compile C code with @option{-Werror} which turns +any compiler warning into a compilation failure +(default=@option{no}). + +@item --with-gjdoc + +generate documentation using @command{gjdoc} (default=@option{no}). + +@item --with-jay + +Regenerate the parsers with @command{jay}, must be given the +path to the @command{jay} executable + +@item --with-glibj-zip=ABS.PATH + +use prebuilt glibj.zip class library + +@item --with-ecj-jar=ABS.PATH + +specify jar file containing the Eclipse Java Compiler + +@end table + +For more flags run @command{configure --help}. + +@item Building + +Type @command{gmake} to build the package. There is no longer a +dependency problem and we aim to keep it that way. + +@item Installation + +Type @command{gmake install} to install everything. This may require +being the superuser. The default install path is /usr/local/classpath +you may change it by giving @command{configure} the +@option{--prefix=} option. + +@end enumerate + +Report bugs to @email{classpath@@gnu.org} or much better to the +GNU Classpath bug tracker at +@uref{http://savannah.gnu.org/support/?func=addsupport&group=classpath,Savannah}. + +Happy Hacking! + +Once installed, GNU Classpath is ready to be used by any VM that supports +using the official version of GNU Classpath. Simply ensure that +@file{/usr/local/classpath/share/classpath} is in your @env{CLASSPATH} environment +variable. You'll also have to set your @env{LD_LIBRARY_PATH} +variable (or similar system configuration) to include the Classpath +native libraries in @file{/usr/local/classpath/lib/classpath}. + +*NOTE* All example paths assume the default prefix is used with @command{configure}. +If you don't know what this means then the examples are correct. + +@example +LD_LIBRARY_PATH=/usr/local/classpath/lib/classpath +CLASSPATH=/usr/local/classpath/share/classpath/glibj.zip:. +export LD_LIBRARY_PATH CLASSPATH +@end example + +More information about the VMs that use GNU Classpath can be found in the +@file{README} file. + +@node Building and running with the X AWT peers, Misc. Notes, Installation, Top +@comment node-name, next, previous, up +@chapter Building and running with the X AWT peers + +In order build the X peers you need the Escher library version 0.2.3 +from @uref{http://escher.sourceforge.net,escher.sourceforge.net}. +Unpack (and optionally build) the +Escher library following the instructions in the downloaded +package. Enable the build of the X peers by passing +@option{--with-escher=/path/to/escher} to @command{configure} where @file{/path/to/escher} +either points to a directory structure or JAR file containing the +Escher classes. For Unix systems it is preferable to also build local +socket support by passing @option{--enable-local-sockets}, which accelerates +the network communication to the X server significantly. + +In this release you have to enable the X peers at runtime by +setting the system property awt.toolkit=gnu.java.awt.peer.x.XToolkit +by passing @option{-Dawt.toolkit=gnu.java.awt.peer.x.XToolkit} to the @command{java} +command when running an application. + +@node Misc. Notes, Programming Standards, Building and running with the X AWT peers, Top +@comment node-name, next, previous, up +@chapter Misc. Notes + +Compilation is accomplished using a compiler's @@file syntax. For our +part, we avoid placing make style dependencies as rules upon the +compilation of a particular class file and leave this up to the Java +compiler instead. + +The @option{--enable-maintainer-mode} option to @command{configure} currently does very +little and shouldn't be used by ordinary developers or users anyway. + +On Windows machines, the native libraries do not currently build, but +the Java bytecode library will. Gcj trunk is beginning to work under +Cygwin. -@node Programming Standards, Hacking Code, Needed Tools and Libraries, Top +@node Programming Standards, Hacking Code, Misc. Notes, Top @comment node-name, next, previous, up @chapter Programming Standards diff --git a/libjava/classpath/doc/cp-vmintegration.texinfo b/libjava/classpath/doc/cp-vmintegration.texinfo index 6d59b5d..97f381a 100644 --- a/libjava/classpath/doc/cp-vmintegration.texinfo +++ b/libjava/classpath/doc/cp-vmintegration.texinfo @@ -1,7 +1,7 @@ \input texinfo @c -*-texinfo-*- @c %**start of header -@setfilename vmintegration.info +@setfilename cp-vmintegration.info @settitle GNU Classpath VM Integration Guide @c %**end of header @@ -12,7 +12,7 @@ This file contains important information you will need to know if you are going to write an interface between GNU Classpath and a Virtual Machine. -Copyright (C) 1998-2002, 2004, 2005, 2006 Free Software Foundation, Inc. +Copyright (C) 1998-2002, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. @ifnotplaintext @dircategory GNU Libraries @@ -1376,6 +1376,12 @@ time used by all threads. @item @code{gnu.java.lang.management.ThreadContentionSupport} -- This property should be present if the VM supports thread contention monitoring. +@item @code{gnu.java.lang.management.MonitorUsageMonitoringSupport} -- +This property should be present if the VM supports the monitoring +of object monitor usage. +@item @code{gnu.java.lang.management.OwnableSynchronizerUsageMonitoringSupport} -- +This property should be present if the VM supports the monitoring +of ownable synchronizer usage. @end itemize In addition, the property @@ -1386,11 +1392,18 @@ is enabled at startup. The methods are as follows: @itemize @bullet +@item @code{(findDeadlockedThreads())} -- This should return +an array of thread identifiers which match threads involved in +deadlock cycles (where each thread is waiting to obtain a lock +held by one of the others) on object monitors or ownable +synchronizers. This is specified as a native method in the +reference implementation, and is optional. It is only called +when the VM supports ownable synchronizer monitoring. @item @code{(findMonitorDeadlockedThreads())} -- This should return an array of thread identifiers which match threads involved in deadlock cycles (where each thread is waiting to obtain a lock -held by one of the others). This is specified as a native method -in the reference implementation. +held by one of the others) on object monitors. This is specified +as a native method in the reference implementation. @item @code{(getAllThreads())} -- This should return an array of all live threads and set the @code{filled} variable to the number found. A default implementation is provided. @@ -1408,6 +1421,16 @@ supporting time monitoring. @item @code{(getDaemonThreadCount())} -- This should return the number of live daemon threads. A default implementation is provided, based on @code{getAllThreads()}. +@item @code{(getLockInfo(ThreadInfo))} -- This is an optional native +method called when the VM supports ownable synchronizer usage monitoring +and the user has requested information for a particular thread. The +supplied @code{ThreadInfo} object should be filled out with an +array of @code{LockInfo} objects, providing details on each lock. +@item @code{(getMonitorInfo(ThreadInfo))} -- This is an optional native +method called when the VM supports object monitor usage monitoring +and the user has requested information for a particular thread. The +supplied @code{ThreadInfo} object should be filled out with an +array of @code{MonitorInfo} objects, providing details on each lock. @item @code{(getPeakThreadCount())} -- The VM should maintain a record of the peak number of live threads, and return it when this method is called. This is specified as a native method in the reference diff --git a/libjava/classpath/doc/texi2pod.pl b/libjava/classpath/doc/texi2pod.pl new file mode 100755 index 0000000..e7b983b --- /dev/null +++ b/libjava/classpath/doc/texi2pod.pl @@ -0,0 +1,478 @@ +#! /usr/bin/perl -w + +# Copyright (C) 1999, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This file is part of GCC. + +# GCC 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. + +# GCC 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 GCC; see the file COPYING. If not, write to +# the Free Software Foundation, 51 Franklin Street, Fifth Floor, +# Boston MA 02110-1301, USA. + +# This does trivial (and I mean _trivial_) conversion of Texinfo +# markup to Perl POD format. It's intended to be used to extract +# something suitable for a manpage from a Texinfo document. + +$output = 0; +$skipping = 0; +%sects = (); +$section = ""; +@icstack = (); +@endwstack = (); +@skstack = (); +@instack = (); +$shift = ""; +%defs = (); +$fnno = 1; +$inf = ""; +$ibase = ""; +@ipath = (); + +while ($_ = shift) { + if (/^-D(.*)$/) { + if ($1 ne "") { + $flag = $1; + } else { + $flag = shift; + } + $value = ""; + ($flag, $value) = ($flag =~ /^([^=]+)(?:=(.+))?/); + die "no flag specified for -D\n" + unless $flag ne ""; + die "flags may only contain letters, digits, hyphens, dashes and underscores\n" + unless $flag =~ /^[a-zA-Z0-9_-]+$/; + $defs{$flag} = $value; + } elsif (/^-I(.*)$/) { + if ($1 ne "") { + $flag = $1; + } else { + $flag = shift; + } + push (@ipath, $flag); + } elsif (/^-/) { + usage(); + } else { + $in = $_, next unless defined $in; + $out = $_, next unless defined $out; + usage(); + } +} + +if (defined $in) { + $inf = gensym(); + open($inf, "<$in") or die "opening \"$in\": $!\n"; + $ibase = $1 if $in =~ m|^(.+)/[^/]+$|; +} else { + $inf = \*STDIN; +} + +if (defined $out) { + open(STDOUT, ">$out") or die "opening \"$out\": $!\n"; +} + +while(defined $inf) { +while(<$inf>) { + # Certain commands are discarded without further processing. + /^\@(?: + [a-z]+index # @*index: useful only in complete manual + |need # @need: useful only in printed manual + |(?:end\s+)?group # @group .. @end group: ditto + |page # @page: ditto + |node # @node: useful only in .info file + |(?:end\s+)?ifnottex # @ifnottex .. @end ifnottex: use contents + )\b/x and next; + + chomp; + + # Look for filename and title markers. + /^\@setfilename\s+([^.]+)/ and $fn = $1, next; + /^\@settitle\s+([^.]+)/ and $tl = postprocess($1), next; + + # Identify a man title but keep only the one we are interested in. + /^\@c\s+man\s+title\s+([A-Za-z0-9-]+)\s+(.+)/ and do { + if (exists $defs{$1}) { + $fn = $1; + $tl = postprocess($2); + } + next; + }; + + # Look for blocks surrounded by @c man begin SECTION ... @c man end. + # This really oughta be @ifman ... @end ifman and the like, but such + # would require rev'ing all other Texinfo translators. + /^\@c\s+man\s+begin\s+([A-Z]+)\s+([A-Za-z0-9-]+)/ and do { + $output = 1 if exists $defs{$2}; + $sect = $1; + next; + }; + /^\@c\s+man\s+begin\s+([A-Z]+)/ and $sect = $1, $output = 1, next; + /^\@c\s+man\s+end/ and do { + $sects{$sect} = "" unless exists $sects{$sect}; + $sects{$sect} .= postprocess($section); + $section = ""; + $output = 0; + next; + }; + + # handle variables + /^\@set\s+([a-zA-Z0-9_-]+)\s*(.*)$/ and do { + $defs{$1} = $2; + next; + }; + /^\@clear\s+([a-zA-Z0-9_-]+)/ and do { + delete $defs{$1}; + next; + }; + + next unless $output; + + # Discard comments. (Can't do it above, because then we'd never see + # @c man lines.) + /^\@c\b/ and next; + + # End-block handler goes up here because it needs to operate even + # if we are skipping. + /^\@end\s+([a-z]+)/ and do { + # Ignore @end foo, where foo is not an operation which may + # cause us to skip, if we are presently skipping. + my $ended = $1; + next if $skipping && $ended !~ /^(?:ifset|ifclear|ignore|menu|iftex|copying)$/; + + die "\@end $ended without \@$ended at line $.\n" unless defined $endw; + die "\@$endw ended by \@end $ended at line $.\n" unless $ended eq $endw; + + $endw = pop @endwstack; + + if ($ended =~ /^(?:ifset|ifclear|ignore|menu|iftex)$/) { + $skipping = pop @skstack; + next; + } elsif ($ended =~ /^(?:example|smallexample|display)$/) { + $shift = ""; + $_ = ""; # need a paragraph break + } elsif ($ended =~ /^(?:itemize|enumerate|[fv]?table)$/) { + $_ = "\n=back\n"; + $ic = pop @icstack; + } elsif ($ended eq "multitable") { + $_ = "\n=back\n"; + } else { + die "unknown command \@end $ended at line $.\n"; + } + }; + + # We must handle commands which can cause skipping even while we + # are skipping, otherwise we will not process nested conditionals + # correctly. + /^\@ifset\s+([a-zA-Z0-9_-]+)/ and do { + push @endwstack, $endw; + push @skstack, $skipping; + $endw = "ifset"; + $skipping = 1 unless exists $defs{$1}; + next; + }; + + /^\@ifclear\s+([a-zA-Z0-9_-]+)/ and do { + push @endwstack, $endw; + push @skstack, $skipping; + $endw = "ifclear"; + $skipping = 1 if exists $defs{$1}; + next; + }; + + /^\@(ignore|menu|iftex|copying)\b/ and do { + push @endwstack, $endw; + push @skstack, $skipping; + $endw = $1; + $skipping = 1; + next; + }; + + next if $skipping; + + # Character entities. First the ones that can be replaced by raw text + # or discarded outright: + s/\@copyright\{\}/(c)/g; + s/\@dots\{\}/.../g; + s/\@enddots\{\}/..../g; + s/\@([.!? ])/$1/g; + s/\@[:-]//g; + s/\@bullet(?:\{\})?/*/g; + s/\@TeX\{\}/TeX/g; + s/\@pounds\{\}/\#/g; + s/\@minus(?:\{\})?/-/g; + s/\\,/,/g; + + # Now the ones that have to be replaced by special escapes + # (which will be turned back into text by unmunge()) + s/&/&/g; + s/\@\{/{/g; + s/\@\}/}/g; + s/\@\@/&at;/g; + + # Inside a verbatim block, handle @var specially. + if ($shift ne "") { + s/\@var\{([^\}]*)\}/<$1>/g; + } + + # POD doesn't interpret E<> inside a verbatim block. + if ($shift eq "") { + s//>/g; + } else { + s//>/g; + } + + # Single line command handlers. + + /^\@include\s+(.+)$/ and do { + push @instack, $inf; + $inf = gensym(); + $file = postprocess($1); + + # Try cwd and $ibase, then explicit -I paths. + $done = 0; + foreach $path ("", $ibase, @ipath) { + $mypath = $file; + $mypath = $path . "/" . $mypath if ($path ne ""); + open($inf, "<" . $mypath) and ($done = 1, last); + } + die "cannot find $file" if !$done; + next; + }; + + /^\@(?:section|unnumbered|unnumberedsec|center)\s+(.+)$/ + and $_ = "\n=head2 $1\n"; + /^\@subsection\s+(.+)$/ + and $_ = "\n=head3 $1\n"; + /^\@subsubsection\s+(.+)$/ + and $_ = "\n=head4 $1\n"; + + # Block command handlers: + /^\@itemize(?:\s+(\@[a-z]+|\*|-))?/ and do { + push @endwstack, $endw; + push @icstack, $ic; + if (defined $1) { + $ic = $1; + } else { + $ic = '@bullet'; + } + $_ = "\n=over 4\n"; + $endw = "itemize"; + }; + + /^\@enumerate(?:\s+([a-zA-Z0-9]+))?/ and do { + push @endwstack, $endw; + push @icstack, $ic; + if (defined $1) { + $ic = $1 . "."; + } else { + $ic = "1."; + } + $_ = "\n=over 4\n"; + $endw = "enumerate"; + }; + + /^\@multitable\s.*/ and do { + push @endwstack, $endw; + $endw = "multitable"; + $_ = "\n=over 4\n"; + }; + + /^\@([fv]?table)\s+(\@[a-z]+)/ and do { + push @endwstack, $endw; + push @icstack, $ic; + $endw = $1; + $ic = $2; + $ic =~ s/\@(?:samp|strong|key|gcctabopt|env)/B/; + $ic =~ s/\@(?:code|kbd)/C/; + $ic =~ s/\@(?:dfn|var|emph|cite|i)/I/; + $ic =~ s/\@(?:file)/F/; + $_ = "\n=over 4\n"; + }; + + /^\@((?:small)?example|display)/ and do { + push @endwstack, $endw; + $endw = $1; + $shift = "\t"; + $_ = ""; # need a paragraph break + }; + + /^\@item\s+(.*\S)\s*$/ and $endw eq "multitable" and do { + @columns = (); + for $column (split (/\s*\@tab\s*/, $1)) { + # @strong{...} is used a @headitem work-alike + $column =~ s/^\@strong{(.*)}$/$1/; + push @columns, $column; + } + $_ = "\n=item ".join (" : ", @columns)."\n"; + }; + + /^\@itemx?\s*(.+)?$/ and do { + if (defined $1) { + # Entity escapes prevent munging by the <> processing below. + $_ = "\n=item $ic\<$1\>\n"; + } else { + $_ = "\n=item $ic\n"; + $ic =~ y/A-Ya-y/B-Zb-z/; + $ic =~ s/(\d+)/$1 + 1/eg; + } + }; + + $section .= $shift.$_."\n"; +} +# End of current file. +close($inf); +$inf = pop @instack; +} + +die "No filename or title\n" unless defined $fn && defined $tl; + +$sects{NAME} = "$fn \- $tl\n"; +$sects{FOOTNOTES} .= "=back\n" if exists $sects{FOOTNOTES}; + +for $sect (qw(NAME SYNOPSIS DESCRIPTION OPTIONS ENVIRONMENT FILES + BUGS NOTES FOOTNOTES SEEALSO AUTHOR COPYRIGHT)) { + if(exists $sects{$sect}) { + $head = $sect; + $head =~ s/SEEALSO/SEE ALSO/; + print "=head1 $head\n\n"; + print scalar unmunge ($sects{$sect}); + print "\n"; + } +} + +sub usage +{ + die "usage: $0 [-D toggle...] [infile [outfile]]\n"; +} + +sub postprocess +{ + local $_ = $_[0]; + + # @value{foo} is replaced by whatever 'foo' is defined as. + while (m/(\@value\{([a-zA-Z0-9_-]+)\})/g) { + if (! exists $defs{$2}) { + print STDERR "Option $2 not defined\n"; + s/\Q$1\E//; + } else { + $value = $defs{$2}; + s/\Q$1\E/$value/; + } + } + + # Formatting commands. + # Temporary escape for @r. + s/\@r\{([^\}]*)\}/R<$1>/g; + s/\@(?:dfn|var|emph|cite|i)\{([^\}]*)\}/I<$1>/g; + s/\@(?:code|kbd)\{([^\}]*)\}/C<$1>/g; + s/\@(?:gccoptlist|samp|strong|key|option|env|command|b)\{([^\}]*)\}/B<$1>/g; + s/\@sc\{([^\}]*)\}/\U$1/g; + s/\@file\{([^\}]*)\}/F<$1>/g; + s/\@w\{([^\}]*)\}/S<$1>/g; + s/\@(?:dmn|math)\{([^\}]*)\}/$1/g; + + # keep references of the form @ref{...}, print them bold + s/\@(?:ref)\{([^\}]*)\}/B<$1>/g; + + # Change double single quotes to double quotes. + s/''/"/g; + s/``/"/g; + + # Cross references are thrown away, as are @noindent and @refill. + # (@noindent is impossible in .pod, and @refill is unnecessary.) + # @* is also impossible in .pod; we discard it and any newline that + # follows it. Similarly, our macro @gol must be discarded. + + s/\(?\@xref\{(?:[^\}]*)\}(?:[^.<]|(?:<[^<>]*>))*\.\)?//g; + s/\s+\(\@pxref\{(?:[^\}]*)\}\)//g; + s/;\s+\@pxref\{(?:[^\}]*)\}//g; + s/\@noindent\s*//g; + s/\@refill//g; + s/\@gol//g; + s/\@\*\s*\n?//g; + + # Anchors are thrown away + s/\@anchor\{(?:[^\}]*)\}//g; + + # @uref can take one, two, or three arguments, with different + # semantics each time. @url and @email are just like @uref with + # one argument, for our purposes. + s/\@(?:uref|url|email)\{([^\},]*)\}/<B<$1>>/g; + s/\@uref\{([^\},]*),([^\},]*)\}/$2 (C<$1>)/g; + s/\@uref\{([^\},]*),([^\},]*),([^\},]*)\}/$3/g; + + # Un-escape <> at this point. + s/<//g; + + # Now un-nest all B<>, I<>, R<>. Theoretically we could have + # indefinitely deep nesting; in practice, one level suffices. + 1 while s/([BIR])<([^<>]*)([BIR])<([^<>]*)>/$1<$2>$3<$4>$1 with bare ...; eliminate empty markup, B<>; + # shift white space at the ends of [BI]<...> expressions outside + # the expression. + s/R<([^<>]*)>/$1/g; + s/[BI]<>//g; + s/([BI])<(\s+)([^>]+)>/$2$1<$3>/g; + s/([BI])<([^>]+?)(\s+)>/$1<$2>$3/g; + + # Extract footnotes. This has to be done after all other + # processing because otherwise the regexp will choke on formatting + # inside @footnote. + while (/\@footnote/g) { + s/\@footnote\{([^\}]+)\}/[$fnno]/; + add_footnote($1, $fnno); + $fnno++; + } + + return $_; +} + +sub unmunge +{ + # Replace escaped symbols with their equivalents. + local $_ = $_[0]; + + s/</E/g; + s/>/E/g; + s/{/\{/g; + s/}/\}/g; + s/&at;/\@/g; + s/&/&/g; + return $_; +} + +sub add_footnote +{ + unless (exists $sects{FOOTNOTES}) { + $sects{FOOTNOTES} = "\n=over 4\n\n"; + } + + $sects{FOOTNOTES} .= "=item $fnno.\n\n"; $fnno++; + $sects{FOOTNOTES} .= $_[0]; + $sects{FOOTNOTES} .= "\n\n"; +} + +# stolen from Symbol.pm +{ + my $genseq = 0; + sub gensym + { + my $name = "GEN" . $genseq++; + my $ref = \*{$name}; + delete $::{$name}; + return $ref; + } +} diff --git a/libjava/classpath/doc/texinfo.tex b/libjava/classpath/doc/texinfo.tex index ad9db29..8083622 100644 --- a/libjava/classpath/doc/texinfo.tex +++ b/libjava/classpath/doc/texinfo.tex @@ -3,10 +3,11 @@ % Load plain if necessary, i.e., if running under initex. \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi % -\def\texinfoversion{2002-06-04.06} +\def\texinfoversion{2006-10-04.17} % -% Copyright (C) 1985, 86, 88, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, -% 2000, 01, 02 Free Software Foundation, Inc. +% Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, +% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 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 @@ -23,24 +24,17 @@ % to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, % Boston, MA 02110-1301, USA. % -% In other words, you are welcome to use, share and improve this program. -% You are forbidden to forbid anyone else to use, share and improve -% what you give them. Help stamp out software-hoarding! +% As a special exception, when this file is read by TeX when processing +% a Texinfo source document, you may use the result without +% restriction. (This has been our intent since Texinfo was invented.) % % Please try the latest version of texinfo.tex before submitting bug % reports; you can get the latest version from: -% ftp://ftp.gnu.org/gnu/texinfo.tex -% (and all GNU mirrors, see http://www.gnu.org/order/ftp.html) -% ftp://texinfo.org/texinfo/texinfo.tex +% http://www.gnu.org/software/texinfo/ (the Texinfo home page), or % ftp://tug.org/tex/texinfo.tex -% (and all CTAN mirrors, see http://www.ctan.org), -% and /home/gd/gnu/doc/texinfo.tex on the GNU machines. -% -% The texinfo.tex in any given Texinfo distribution could well be out +% (and all CTAN mirrors, see http://www.ctan.org). +% The texinfo.tex in any given distribution could well be out % of date, so if that's what you're using, please check. -% -% Texinfo has a small home page at http://texinfo.org/ and also -% http://www.gnu.org/software/texinfo. % % Send bug reports to bug-texinfo@gnu.org. Please include including a % complete document in each bug report with which we can reproduce the @@ -58,8 +52,12 @@ % Sometimes one run after texindex suffices, and sometimes you need more % than two; texi2dvi does it as many times as necessary. % -% It is possible to adapt texinfo.tex for other languages. You can get -% the existing language-specific files from the full Texinfo distribution. +% It is possible to adapt texinfo.tex for other languages, to some +% extent. You can get the existing language-specific files from the +% full Texinfo distribution. +% +% The GNU Texinfo home page is http://www.gnu.org/software/texinfo. + \message{Loading texinfo [version \texinfoversion]:} @@ -69,7 +67,14 @@ \everyjob{\message{[Texinfo version \texinfoversion]}% \catcode`+=\active \catcode`\_=\active} -% Save some parts of plain tex whose names we will redefine. +\message{Basics,} +\chardef\other=12 + +% We never want plain's \outer definition of \+ in Texinfo. +% For @tex, we can use \tabalign. +\let\+ = \relax + +% Save some plain tex macros whose names we will redefine. \let\ptexb=\b \let\ptexbullet=\bullet \let\ptexc=\c @@ -79,23 +84,35 @@ \let\ptexend=\end \let\ptexequiv=\equiv \let\ptexexclam=\! +\let\ptexfootnote=\footnote +\let\ptexgtr=> +\let\ptexhat=^ \let\ptexi=\i +\let\ptexindent=\indent +\let\ptexinsert=\insert \let\ptexlbrace=\{ +\let\ptexless=< +\let\ptexnewwrite\newwrite +\let\ptexnoindent=\noindent +\let\ptexplus=+ \let\ptexrbrace=\} +\let\ptexslash=\/ \let\ptexstar=\* \let\ptext=\t -% We never want plain's outer \+ definition in Texinfo. -% For @tex, we can use \tabalign. -\let\+ = \relax - -\message{Basics,} -\chardef\other=12 - % If this character appears in an error message or help string, it % starts a new line in the output. \newlinechar = `^^J +% Use TeX 3.0's \inputlineno to get the line number, for better error +% messages, but if we're using an old version of TeX, don't do anything. +% +\ifx\inputlineno\thisisundefined + \let\linenumber = \empty % Pre-3.0. +\else + \def\linenumber{l.\the\inputlineno:\space} +\fi + % Set up fixed words for English if not already set. \ifx\putwordAppendix\undefined \gdef\putwordAppendix{Appendix}\fi \ifx\putwordChapter\undefined \gdef\putwordChapter{Chapter}\fi @@ -134,48 +151,113 @@ \ifx\putwordDefspec\undefined \gdef\putwordDefspec{Special Form}\fi \ifx\putwordDefvar\undefined \gdef\putwordDefvar{Variable}\fi \ifx\putwordDefopt\undefined \gdef\putwordDefopt{User Option}\fi -\ifx\putwordDeftypevar\undefined\gdef\putwordDeftypevar{Variable}\fi \ifx\putwordDeffunc\undefined \gdef\putwordDeffunc{Function}\fi -\ifx\putwordDeftypefun\undefined\gdef\putwordDeftypefun{Function}\fi + +% Since the category of space is not known, we have to be careful. +\chardef\spacecat = 10 +\def\spaceisspace{\catcode`\ =\spacecat} + +% sometimes characters are active, so we need control sequences. +\chardef\colonChar = `\: +\chardef\commaChar = `\, +\chardef\dashChar = `\- +\chardef\dotChar = `\. +\chardef\exclamChar= `\! +\chardef\lquoteChar= `\` +\chardef\questChar = `\? +\chardef\rquoteChar= `\' +\chardef\semiChar = `\; +\chardef\underChar = `\_ % Ignore a token. % \def\gobble#1{} -\hyphenation{ap-pen-dix} -\hyphenation{mini-buf-fer mini-buf-fers} -\hyphenation{eshell} -\hyphenation{white-space} +% The following is used inside several \edef's. +\def\makecsname#1{\expandafter\noexpand\csname#1\endcsname} + +% Hyphenation fixes. +\hyphenation{ + Flor-i-da Ghost-script Ghost-view Mac-OS Post-Script + ap-pen-dix bit-map bit-maps + data-base data-bases eshell fall-ing half-way long-est man-u-script + man-u-scripts mini-buf-fer mini-buf-fers over-view par-a-digm + par-a-digms rath-er rec-tan-gu-lar ro-bot-ics se-vere-ly set-up spa-ces + spell-ing spell-ings + stand-alone strong-est time-stamp time-stamps which-ever white-space + wide-spread wrap-around +} % Margin to add to right of even pages, to left of odd pages. -\newdimen \bindingoffset -\newdimen \normaloffset +\newdimen\bindingoffset +\newdimen\normaloffset \newdimen\pagewidth \newdimen\pageheight +% For a final copy, take out the rectangles +% that mark overfull boxes (in case you have decided +% that the text looks ok even though it passes the margin). +% +\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, -% since that produces some useless output on the terminal. +% since that produces some useless output on the terminal. We also make +% some effort to order the tracing commands to reduce output in the log +% file; cf. trace.sty in LaTeX. % \def\gloggingall{\begingroup \globaldefs = 1 \loggingall \endgroup}% -\ifx\eTeXversion\undefined -\def\loggingall{\tracingcommands2 \tracingstats2 - \tracingpages1 \tracingoutput1 \tracinglostchars1 - \tracingmacros2 \tracingparagraphs1 \tracingrestores1 - \showboxbreadth\maxdimen\showboxdepth\maxdimen -}% -\else -\def\loggingall{\tracingcommands3 \tracingstats2 - \tracingpages1 \tracingoutput1 \tracinglostchars1 - \tracingmacros2 \tracingparagraphs1 \tracingrestores1 - \tracingscantokens1 \tracingassigns1 \tracingifs1 - \tracinggroups1 \tracingnesting2 - \showboxbreadth\maxdimen\showboxdepth\maxdimen +\def\loggingall{% + \tracingstats2 + \tracingpages1 + \tracinglostchars2 % 2 gives us more in etex + \tracingparagraphs1 + \tracingoutput1 + \tracingmacros2 + \tracingrestores1 + \showboxbreadth\maxdimen \showboxdepth\maxdimen + \ifx\eTeXversion\undefined\else % etex gives us more logging + \tracingscantokens1 + \tracingifs1 + \tracinggroups1 + \tracingnesting2 + \tracingassigns1 + \fi + \tracingcommands3 % 3 gives us more in etex + \errorcontextlines16 }% -\fi % 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. -% +% \def\smallbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\smallskipamount \removelastskip\penalty-50\smallskip\fi\fi} \def\medbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\medskipamount @@ -222,13 +304,17 @@ % take effect in \write's, yet the group defined by the \vbox ends % before the \shipout runs. % - \escapechar = `\\ % use backslash in output files. \indexdummies % don't expand commands in the output. \normalturnoffactive % \ in index entries must not stay \, e.g., if - % the page break happens to be in the middle of an example. + % the page break happens to be in the middle of an example. + % We don't want .vr (or whatever) entries like this: + % \entry{{\tt \indexbackslash }acronym}{32}{\code {\acronym}} + % "\acronym" won't work when it's read back in; + % it needs to be + % {\code {{\tt \backslashcurfont }acronym} \shipout\vbox{% % Do this early so pdf references go to the beginning of the page. - \ifpdfmakepagedest \pdfmkdest{\the\pageno} \fi + \ifpdfmakepagedest \pdfdest name{\the\pageno} xyz\fi % \ifcropmarks \vbox to \outervsize\bgroup \hsize = \outerhsize @@ -253,9 +339,9 @@ \pagebody{#1}% \ifdim\ht\footlinebox > 0pt % Only leave this space if the footline is nonempty. - % (We lessened \vsize for it in \oddfootingxxx.) + % (We lessened \vsize for it in \oddfootingyyy.) % The \baselineskip=24pt in plain's \makefootline has no effect. - \vskip 2\baselineskip + \vskip 24pt \unvbox\footlinebox \fi % @@ -276,7 +362,7 @@ \egroup % \vbox from first cropmarks clause \fi }% end of \shipout\vbox - }% end of group with \turnoffactive + }% end of group with \indexdummies \advancepageno \ifnum\outputpenalty>-20000 \else\dosupereject\fi } @@ -309,143 +395,161 @@ % the input line (except we remove a trailing comment). #1 should be a % macro which expects an ordinary undelimited TeX argument. % -\def\parsearg#1{% - \let\next = #1% +\def\parsearg{\parseargusing{}} +\def\parseargusing#1#2{% + \def\argtorun{#2}% \begingroup \obeylines - \futurelet\temp\parseargx -} - -% If the next token is an obeyed space (from an @example environment or -% the like), remove it and recurse. Otherwise, we're done. -\def\parseargx{% - % \obeyedspace is defined far below, after the definition of \sepspaces. - \ifx\obeyedspace\temp - \expandafter\parseargdiscardspace - \else - \expandafter\parseargline - \fi + \spaceisspace + #1% + \parseargline\empty% Insert the \empty token, see \finishparsearg below. } -% Remove a single space (as the delimiter token to the macro call). -{\obeyspaces % - \gdef\parseargdiscardspace {\futurelet\temp\parseargx}} - {\obeylines % \gdef\parseargline#1^^M{% \endgroup % End of the group started in \parsearg. - % - % First remove any @c comment, then any @comment. - % Result of each macro is put in \toks0. - \argremovec #1\c\relax % - \expandafter\argremovecomment \the\toks0 \comment\relax % - % - % Call the caller's macro, saved as \next in \parsearg. - \expandafter\next\expandafter{\the\toks0}% + \argremovecomment #1\comment\ArgTerm% }% } -% Since all \c{,omment} does is throw away the argument, we can let TeX -% do that for us. The \relax here is matched by the \relax in the call -% in \parseargline; it could be more or less anything, its purpose is -% just to delimit the argument to the \c. -\def\argremovec#1\c#2\relax{\toks0 = {#1}} -\def\argremovecomment#1\comment#2\relax{\toks0 = {#1}} +% First remove any @comment, then any @c comment. +\def\argremovecomment#1\comment#2\ArgTerm{\argremovec #1\c\ArgTerm} +\def\argremovec#1\c#2\ArgTerm{\argcheckspaces#1\^^M\ArgTerm} -% \argremovec{,omment} might leave us with trailing spaces, though; e.g., +% Each occurence of `\^^M' or `\^^M' is replaced by a single space. +% +% \argremovec might leave us with trailing space, e.g., % @end itemize @c foo -% will have two active spaces as part of the argument with the -% `itemize'. Here we remove all active spaces from #1, and assign the -% result to \toks0. -% -% This loses if there are any *other* active characters besides spaces -% in the argument -- _ ^ +, for example -- since they get expanded. -% Fortunately, Texinfo does not define any such commands. (If it ever -% does, the catcode of the characters in questionwill have to be changed -% here.) But this means we cannot call \removeactivespaces as part of -% \argremovec{,omment}, since @c uses \parsearg, and thus the argument -% that \parsearg gets might well have any character at all in it. -% -\def\removeactivespaces#1{% - \begingroup - \ignoreactivespaces - \edef\temp{#1}% - \global\toks0 = \expandafter{\temp}% - \endgroup +% This space token undergoes the same procedure and is eventually removed +% by \finishparsearg. +% +\def\argcheckspaces#1\^^M{\argcheckspacesX#1\^^M \^^M} +\def\argcheckspacesX#1 \^^M{\argcheckspacesY#1\^^M} +\def\argcheckspacesY#1\^^M#2\^^M#3\ArgTerm{% + \def\temp{#3}% + \ifx\temp\empty + % Do not use \next, perhaps the caller of \parsearg uses it; reuse \temp: + \let\temp\finishparsearg + \else + \let\temp\argcheckspaces + \fi + % Put the space token in: + \temp#1 #3\ArgTerm } -% Change the active space to expand to nothing. +% If a _delimited_ argument is enclosed in braces, they get stripped; so +% to get _exactly_ the rest of the line, we had to prevent such situation. +% We prepended an \empty token at the very beginning and we expand it now, +% just before passing the control to \argtorun. +% (Similarily, we have to think about #3 of \argcheckspacesY above: it is +% either the null string, or it ends with \^^M---thus there is no danger +% that a pair of braces would be stripped. % -\begingroup +% But first, we have to remove the trailing space token. +% +\def\finishparsearg#1 \ArgTerm{\expandafter\argtorun\expandafter{#1}} + +% \parseargdef\foo{...} +% is roughly equivalent to +% \def\foo{\parsearg\Xfoo} +% \def\Xfoo#1{...} +% +% Actually, I use \csname\string\foo\endcsname, ie. \\foo, as it is my +% favourite TeX trick. --kasal, 16nov03 + +\def\parseargdef#1{% + \expandafter \doparseargdef \csname\string#1\endcsname #1% +} +\def\doparseargdef#1#2{% + \def#2{\parsearg#1}% + \def#1##1% +} + +% Several utility definitions with active space: +{ \obeyspaces - \gdef\ignoreactivespaces{\obeyspaces\let =\empty} -\endgroup + \gdef\obeyedspace{ } + + % Make each space character in the input produce a normal interword + % space in the output. Don't allow a line break at this space, as this + % is used only in environments like @example, where each line of input + % should produce a line of output anyway. + % + \gdef\sepspaces{\obeyspaces\let =\tie} + + % If an index command is used in an @example environment, any spaces + % therein should become regular spaces in the raw index file, not the + % expansion of \tie (\leavevmode \penalty \@M \ ). + \gdef\unsepspaces{\let =\space} +} \def\flushcr{\ifx\par\lisppar \def\next##1{}\else \let\next=\relax \fi \next} -%% These are used to keep @begin/@end levels from running away -%% Call \inENV within environments (after a \begingroup) -\newif\ifENV \ENVfalse \def\inENV{\ifENV\relax\else\ENVtrue\fi} -\def\ENVcheck{% -\ifENV\errmessage{Still within an environment; press RETURN to continue} -\endgroup\fi} % This is not perfect, but it should reduce lossage +% Define the framework for environments in texinfo.tex. It's used like this: +% +% \envdef\foo{...} +% \def\Efoo{...} +% +% It's the responsibility of \envdef to insert \begingroup before the +% actual body; @end closes the group after calling \Efoo. \envdef also +% defines \thisenv, so the current environment is known; @end checks +% whether the environment name matches. The \checkenv macro can also be +% used to check whether the current environment is the one expected. +% +% Non-false conditionals (@iftex, @ifset) don't fit into this, so they +% are not treated as enviroments; they don't open a group. (The +% implementation of @end takes care not to call \endgroup in this +% special case.) -% @begin foo is the same as @foo, for now. -\newhelp\EMsimple{Press RETURN to continue.} -\outer\def\begin{\parsearg\beginxxx} +% At runtime, environments start with this: +\def\startenvironment#1{\begingroup\def\thisenv{#1}} +% initialize +\let\thisenv\empty -\def\beginxxx #1{% -\expandafter\ifx\csname #1\endcsname\relax -{\errhelp=\EMsimple \errmessage{Undefined command @begin #1}}\else -\csname #1\endcsname\fi} +% ... but they get defined via ``\envdef\foo{...}'': +\long\def\envdef#1#2{\def#1{\startenvironment#1#2}} +\def\envparseargdef#1#2{\parseargdef#1{\startenvironment#1#2}} -% @end foo executes the definition of \Efoo. -% -\def\end{\parsearg\endxxx} -\def\endxxx #1{% - \removeactivespaces{#1}% - \edef\endthing{\the\toks0}% - % - \expandafter\ifx\csname E\endthing\endcsname\relax - \expandafter\ifx\csname \endthing\endcsname\relax - % There's no \foo, i.e., no ``environment'' foo. - \errhelp = \EMsimple - \errmessage{Undefined command `@end \endthing'}% - \else - \unmatchedenderror\endthing - \fi +% Check whether we're in the right environment: +\def\checkenv#1{% + \def\temp{#1}% + \ifx\thisenv\temp \else - % Everything's ok; the right environment has been started. - \csname E\endthing\endcsname + \badenverr \fi } -% There is an environment #1, but it hasn't been started. Give an error. -% -\def\unmatchedenderror#1{% +% Evironment mismatch, #1 expected: +\def\badenverr{% \errhelp = \EMsimple - \errmessage{This `@end #1' doesn't have a matching `@#1'}% + \errmessage{This command can appear only \inenvironment\temp, + not \inenvironment\thisenv}% +} +\def\inenvironment#1{% + \ifx#1\empty + out of any environment% + \else + in environment \expandafter\string#1% + \fi } -% Define the control sequence \E#1 to give an unmatched @end error. +% @end foo executes the definition of \Efoo. +% But first, it executes a specialized version of \checkenv % -\def\defineunmatchedend#1{% - \expandafter\def\csname E#1\endcsname{\unmatchedenderror{#1}}% +\parseargdef\end{% + \if 1\csname iscond.#1\endcsname + \else + % The general wording of \badenverr may not be ideal, but... --kasal, 06nov03 + \expandafter\checkenv\csname#1\endcsname + \csname E#1\endcsname + \endgroup + \fi } +\newhelp\EMsimple{Press RETURN to continue.} -% Single-spacing is done by various environments (specifically, in -% \nonfillstart and \quotations). -\newskip\singlespaceskip \singlespaceskip = 12.5pt -\def\singlespace{% - % Why was this kern here? It messes up equalizing space above and below - % environments. --karl, 6may93 - %{\advance \baselineskip by -\singlespaceskip - %\kern \baselineskip}% - \setleading\singlespaceskip -} %% Simple single-character @ commands @@ -466,16 +570,22 @@ \let\{=\mylbrace \let\}=\myrbrace \begingroup - % Definitions to produce actual \{ & \} command in an index. - \catcode`\{ = 12 \catcode`\} = 12 + % 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`\\ = 12 - @gdef@lbracecmd[\{]% - @gdef@rbracecmd[\}]% -@endgroup + \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: @` @' @" @^ @~ @= @v @H. +% Others are defined by plain TeX: @` @' @" @^ @~ @= @u @v @H. \let\, = \c \let\dotaccent = \. \def\ringaccent#1{{\accent23 #1}} @@ -483,10 +593,12 @@ \let\ubaraccent = \b \let\udotaccent = \d -% Other special characters: @questiondown @exclamdown -% Plain TeX defines: @AA @AE @O @OE @L (and lowercase versions) @ss. +% 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} @@ -499,6 +611,25 @@ \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 @@ -517,14 +648,32 @@ % @* forces a line break. \def\*{\hfil\break\hbox{}\ignorespaces} +% @/ allows a line break. +\let\/=\allowbreak + % @. is an end-of-sentence period. -\def\.{.\spacefactor=3000 } +\def\.{.\spacefactor=\endofsentencespacefactor\space} % @! is an end-of-sentence bang. -\def\!{!\spacefactor=3000 } +\def\!{!\spacefactor=\endofsentencespacefactor\space} % @? is an end-of-sentence query. -\def\?{?\spacefactor=3000 } +\def\?{?\spacefactor=\endofsentencespacefactor\space} + +% @frenchspacing on|off says whether to put extra space after punctuation. +% +\def\onword{on} +\def\offword{off} +% +\parseargdef\frenchspacing{% + \def\temp{#1}% + \ifx\temp\onword \plainfrenchspacing + \else\ifx\temp\offword \plainnonfrenchspacing + \else + \errhelp = \EMsimple + \errmessage{Unknown @frenchspacing option `\temp', must be on/off}% + \fi\fi +} % @w prevents a word break. Without the \leavevmode, @w at the % beginning of a paragraph, when TeX is still in vertical mode, would @@ -539,47 +688,24 @@ % therefore, no glue is inserted, and the space between the headline and % the text is small, which looks bad. % -\def\group{\begingroup - \ifnum\catcode13=\active \else +% Another complication is that the group might be very large. This can +% cause the glue on the previous page to be unduly stretched, because it +% does not have much material. In this case, it's better to add an +% explicit \vfill so that the extra space is at the bottom. The +% threshold for doing this is if the group is more than \vfilllimit +% percent of a page (\vfilllimit can be changed inside of @tex). +% +\newbox\groupbox +\def\vfilllimit{0.7} +% +\envdef\group{% + \ifnum\catcode`\^^M=\active \else \errhelp = \groupinvalidhelp \errmessage{@group invalid in context where filling is enabled}% \fi + \startsavinginserts % - % The \vtop we start below produces a box with normal height and large - % depth; thus, TeX puts \baselineskip glue before it, and (when the - % next line of text is done) \lineskip glue after it. (See p.82 of - % the TeXbook.) Thus, space below is not quite equal to space - % above. But it's pretty close. - \def\Egroup{% - \egroup % End the \vtop. - \endgroup % End the \group. - }% - % - \vtop\bgroup - % We have to put a strut on the last line in case the @group is in - % the midst of an example, rather than completely enclosing it. - % Otherwise, the interline space between the last line of the group - % and the first line afterwards is too small. But we can't put the - % strut in \Egroup, since there it would be on a line by itself. - % Hence this just inserts a strut at the beginning of each line. - \everypar = {\strut}% - % - % Since we have a strut on every line, we don't need any of TeX's - % normal interline spacing. - \offinterlineskip - % - % OK, but now we have to do something about blank - % lines in the input in @example-like environments, which normally - % just turn into \lisppar, which will insert no space now that we've - % turned off the interline space. Simplest is to make them be an - % empty paragraph. - \ifx\par\lisppar - \edef\par{\leavevmode \par}% - % - % Reset ^^M's definition to new definition of \par. - \obeylines - \fi - % + \setbox\groupbox = \vtop\bgroup % Do @comment since we are called inside an environment such as % @example, where each end-of-line in the input causes an % end-of-line in the output. We don't want the end-of-line after @@ -589,6 +715,32 @@ \comment } % +% The \vtop produces a box with normal height and large depth; thus, TeX puts +% \baselineskip glue before it, and (when the next line of text is done) +% \lineskip glue after it. Thus, space below is not quite equal to space +% above. But it's pretty close. +\def\Egroup{% + % To get correct interline space between the last line of the group + % and the first line afterwards, we have to propagate \prevdepth. + \endgraf % Not \par, as it may have been set to \lisppar. + \global\dimen1 = \prevdepth + \egroup % End the \vtop. + % \dimen0 is the vertical size of the group's box. + \dimen0 = \ht\groupbox \advance\dimen0 by \dp\groupbox + % \dimen2 is how much space is left on the page (more or less). + \dimen2 = \pageheight \advance\dimen2 by -\pagetotal + % if the group doesn't fit on the current page, and it's a big big + % group, force a page break. + \ifdim \dimen0 > \dimen2 + \ifdim \pagetotal < \vfilllimit\pageheight + \page + \fi + \fi + \box\groupbox + \prevdepth = \dimen1 + \checkinserts +} +% % TeX puts in an \escapechar (i.e., `@') at the beginning of the help % message, so this ends up printing `@group can only ...'. % @@ -601,10 +753,8 @@ where each line of input produces a line of output.} \newdimen\mil \mil=0.001in -\def\need{\parsearg\needx} - % Old definition--didn't work. -%\def\needx #1{\par % +%\parseargdef\need{\par % %% This method tries to make TeX break the page naturally %% if the depth of the box does not fit. %{\baselineskip=0pt% @@ -612,7 +762,7 @@ where each line of input produces a line of output.} %\prevdepth=-1000pt %}} -\def\needx#1{% +\parseargdef\need{% % Ensure vertical mode, so we don't make a big box in the middle of a % paragraph. \par @@ -651,37 +801,11 @@ where each line of input produces a line of output.} \fi } -% @br forces paragraph break +% @br forces paragraph break (and is undocumented). \let\br = \par -% @dots{} output an ellipsis using the current font. -% We do .5em per period so that it has the same spacing in a typewriter -% font as three actual period characters. -% -\def\dots{% - \leavevmode - \hbox to 1.5em{% - \hskip 0pt plus 0.25fil minus 0.25fil - .\hss.\hss.% - \hskip 0pt plus 0.5fil minus 0.5fil - }% -} - -% @enddots{} is an end-of-sentence ellipsis. -% -\def\enddots{% - \leavevmode - \hbox to 2em{% - \hskip 0pt plus 0.25fil minus 0.25fil - .\hss.\hss.\hss.% - \hskip 0pt plus 0.5fil minus 0.5fil - }% - \spacefactor=3000 -} - - -% @page forces the start of a new page +% @page forces the start of a new page. % \def\page{\par\vfill\supereject} @@ -693,13 +817,11 @@ where each line of input produces a line of output.} \newskip\exdentamount % This defn is used inside fill environments such as @defun. -\def\exdent{\parsearg\exdentyyy} -\def\exdentyyy #1{{\hfil\break\hbox{\kern -\exdentamount{\rm#1}}\hfil\break}} +\parseargdef\exdent{\hfil\break\hbox{\kern -\exdentamount{\rm#1}}\hfil\break} % This defn is used inside nofill environments such as @example. -\def\nofillexdent{\parsearg\nofillexdentyyy} -\def\nofillexdentyyy #1{{\advance \leftskip by -\exdentamount -\leftline{\hskip\leftskip{\rm#1}}}} +\parseargdef\nofillexdent{{\advance \leftskip by -\exdentamount + \leftline{\hskip\leftskip{\rm#1}}}} % @inmargin{WHICH}{TEXT} puts TEXT in the WHICH margin next to the current % paragraph. For more general purposes, use the \margin insertion @@ -730,10 +852,10 @@ where each line of input produces a line of output.} % @inmargin{TEXT [, RIGHT-TEXT]} % (if RIGHT-TEXT is given, use TEXT for left page, RIGHT-TEXT for right; % else use TEXT for both). -% +% \def\inmargin#1{\parseinmargin #1,,\finish} \def\parseinmargin#1,#2,#3\finish{% not perfect, but better than nothing. - \setbox0 = \hbox{\ignorespaces #2}% + \setbox0 = \hbox{\ignorespaces #2}% \ifdim\wd0 > 0pt \def\lefttext{#1}% have both texts \def\righttext{#2}% @@ -751,37 +873,71 @@ where each line of input produces a line of output.} } % @include file insert text of that file as input. -% Allow normal characters that we make active in the argument (a file name). -\def\include{\begingroup - \catcode`\\=12 - \catcode`~=12 - \catcode`^=12 - \catcode`_=12 - \catcode`|=12 - \catcode`<=12 - \catcode`>=12 - \catcode`+=12 - \parsearg\includezzz} -% Restore active chars for included file. -\def\includezzz#1{\endgroup\begingroup - % Read the included file in a group so nested @include's work. +% +\def\include{\parseargusing\filenamecatcodes\includezzz} +\def\includezzz#1{% + \pushthisfilestack \def\thisfile{#1}% - \input\thisfile -\endgroup} + {% + \makevalueexpandable + \def\temp{\input #1 }% + \expandafter + }\temp + \popthisfilestack +} +\def\filenamecatcodes{% + \catcode`\\=\other + \catcode`~=\other + \catcode`^=\other + \catcode`_=\other + \catcode`|=\other + \catcode`<=\other + \catcode`>=\other + \catcode`+=\other + \catcode`-=\other +} -\def\thisfile{} +\def\pushthisfilestack{% + \expandafter\pushthisfilestackX\popthisfilestack\StackTerm +} +\def\pushthisfilestackX{% + \expandafter\pushthisfilestackY\thisfile\StackTerm +} +\def\pushthisfilestackY #1\StackTerm #2\StackTerm {% + \gdef\popthisfilestack{\gdef\thisfile{#1}\gdef\popthisfilestack{#2}}% +} + +\def\popthisfilestack{\errthisfilestackempty} +\def\errthisfilestackempty{\errmessage{Internal error: + the stack of filenames is empty.}} -% @center line outputs that line, centered +\def\thisfile{} -\def\center{\parsearg\centerzzz} -\def\centerzzz #1{{\advance\hsize by -\leftskip -\advance\hsize by -\rightskip -\centerline{#1}}} +% @center line +% outputs that line, centered. +% +\parseargdef\center{% + \ifhmode + \let\next\centerH + \else + \let\next\centerV + \fi + \next{\hfil \ignorespaces#1\unskip \hfil}% +} +\def\centerH#1{% + {% + \hfil\break + \advance\hsize by -\leftskip + \advance\hsize by -\rightskip + \line{#1}% + \break + }% +} +\def\centerV#1{\line{\kern\leftskip #1\kern\rightskip}} % @sp n outputs n lines of vertical space -\def\sp{\parsearg\spxxx} -\def\spxxx #1{\vskip #1\baselineskip} +\parseargdef\sp{\vskip #1\baselineskip} % @comment ...line which is ignored... % @c is the same as @comment @@ -796,13 +952,13 @@ where each line of input produces a line of output.} % @paragraphindent NCHARS % We'll use ems for NCHARS, close enough. -% We cannot implement @paragraphindent asis, though. -% +% NCHARS can also be the word `asis' or `none'. +% We cannot feasibly implement @paragraphindent asis, though. +% \def\asisword{asis} % no translation, these are keywords \def\noneword{none} % -\def\paragraphindent{\parsearg\doparagraphindent} -\def\doparagraphindent#1{% +\parseargdef\paragraphindent{% \def\temp{#1}% \ifx\temp\asisword \else @@ -819,8 +975,7 @@ where each line of input produces a line of output.} % We'll use ems for NCHARS like @paragraphindent. % It seems @exampleindent asis isn't necessary, but % I preserve it to make it similar to @paragraphindent. -\def\exampleindent{\parsearg\doexampleindent} -\def\doexampleindent#1{% +\parseargdef\exampleindent{% \def\temp{#1}% \ifx\temp\asisword \else @@ -832,51 +987,147 @@ where each line of input produces a line of output.} \fi } +% @firstparagraphindent WORD +% If WORD is `none', then suppress indentation of the first paragraph +% after a section heading. If WORD is `insert', then do indent at such +% paragraphs. +% +% The paragraph indentation is suppressed or not by calling +% \suppressfirstparagraphindent, which the sectioning commands do. +% We switch the definition of this back and forth according to WORD. +% By default, we suppress indentation. +% +\def\suppressfirstparagraphindent{\dosuppressfirstparagraphindent} +\def\insertword{insert} +% +\parseargdef\firstparagraphindent{% + \def\temp{#1}% + \ifx\temp\noneword + \let\suppressfirstparagraphindent = \dosuppressfirstparagraphindent + \else\ifx\temp\insertword + \let\suppressfirstparagraphindent = \relax + \else + \errhelp = \EMsimple + \errmessage{Unknown @firstparagraphindent option `\temp'}% + \fi\fi +} + +% Here is how we actually suppress indentation. Redefine \everypar to +% \kern backwards by \parindent, and then reset itself to empty. +% +% We also make \indent itself not actually do anything until the next +% paragraph. +% +\gdef\dosuppressfirstparagraphindent{% + \gdef\indent{% + \restorefirstparagraphindent + \indent + }% + \gdef\noindent{% + \restorefirstparagraphindent + \noindent + }% + \global\everypar = {% + \kern -\parindent + \restorefirstparagraphindent + }% +} + +\gdef\restorefirstparagraphindent{% + \global \let \indent = \ptexindent + \global \let \noindent = \ptexnoindent + \global \everypar = {}% +} + + % @asis just yields its argument. Used with @table, for example. % \def\asis#1{#1} % @math outputs its argument in math mode. -% We don't use $'s directly in the definition of \math because we need -% to set catcodes according to plain TeX first, to allow for subscripts, -% superscripts, special math chars, etc. -% -% @math does not do math typesetting in section titles, index -% entries, and other such contexts where the catcodes are set before -% @math gets a chance to work. This could perhaps be fixed, but for now -% at least we can have real math in the main text, where it's needed most. -% -\let\implicitmath = $%$ font-lock fix % % One complication: _ usually means subscripts, but it could also mean % an actual _ character, as in @math{@var{some_variable} + 1}. So make -% _ within @math be active (mathcode "8000), and distinguish by seeing -% if the current family is \slfam, which is what @var uses. -% -{\catcode95 = \active % 95 = _ -\gdef\mathunderscore{% - \catcode95=\active - \def_{\ifnum\fam=\slfam \_\else\sb\fi}% -}} -% +% _ 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 - \mathcode`\_="8000 \mathunderscore + \mathunderscore \let\\ = \mathbackslash - \implicitmath\finishmath} -\def\finishmath#1{#1\implicitmath\Etex} + \mathactive + $\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 + \gdef\mathactive{% + \let^ = \ptexhat + \let< = \ptexless + \let> = \ptexgtr + \let+ = \ptexplus + } +} % @bullet and @minus need the same treatment as @math, just above. -\def\bullet{\implicitmath\ptexbullet\implicitmath} -\def\minus{\implicitmath-\implicitmath} +\def\bullet{$\ptexbullet$} +\def\minus{$-$} + +% @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 @@ -892,20 +1143,20 @@ where each line of input produces a line of output.} % So open here the files we need to have open while reading the input. % This makes it possible to make a .fmt file for texinfo. \def\setfilename{% + \fixbackslash % Turn off hack to swallow `\input texinfo'. \iflinks - \readauxfile + \tryauxfile + % Open the new aux file. TeX will close it automatically at exit. + \immediate\openout\auxfile=\jobname.aux \fi % \openindices needs to do some work in any case. \openindices - \fixbackslash % Turn off hack to swallow `\input texinfo'. - \global\let\setfilename=\comment % Ignore extra @setfilename cmds. + \let\setfilename=\comment % Ignore extra @setfilename cmds. % % If texinfo.cnf is present on the system, read it. % Useful for site-wide @afourpaper, etc. - % Just to be on the safe side, close the input stream before the \input. \openin 1 texinfo.cnf - \ifeof1 \let\temp=\relax \else \def\temp{\input texinfo.cnf }\fi - \closein1 - \temp + \ifeof 1 \else \input texinfo.cnf \fi + \closein 1 % \comment % Ignore the actual filename. } @@ -941,120 +1192,213 @@ where each line of input produces a line of output.} \newif\ifpdf \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 \undefined, +% borrowed from ifpdf.sty. \ifx\pdfoutput\undefined - \pdffalse - \let\pdfmkdest = \gobble - \let\pdfurl = \gobble - \let\endlink = \relax - \let\linkcolor = \relax - \let\pdfmakeoutlines = \relax \else - \pdftrue - \pdfoutput = 1 - \input pdfcolor - \def\dopdfimage#1#2#3{% - \def\imagewidth{#2}% - \def\imageheight{#3}% - % without \immediate, pdftex seg faults when the same image is - % included twice. (Version 3.14159-pre-1.0-unofficial-20010704.) - \ifnum\pdftexversion < 14 - \immediate\pdfimage + \ifx\pdfoutput\relax + \else + \ifcase\pdfoutput \else - \immediate\pdfximage + \pdftrue \fi - \ifx\empty\imagewidth\else width \imagewidth \fi - \ifx\empty\imageheight\else height \imageheight \fi - \ifnum\pdftexversion<13 - #1.pdf% - \else - {#1.pdf}% - \fi - \ifnum\pdftexversion < 14 \else - \pdfrefximage \pdflastximage - \fi} - \def\pdfmkdest#1{{\normalturnoffactive \pdfdest name{#1} xyz}} - \def\pdfmkpgn#1{#1} - \let\linkcolor = \Blue % was Cyan, but that seems light? + \fi +\fi + +% PDF uses PostScript string constants for the names of xref targets, +% 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. +% 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. I've +% tinkered with it a little for texinfo, but it's definitely from there. +% +% #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}% +} + +\ifpdf + \input pdfcolor + \pdfcatalog{/PageMode /UseOutlines}% + % #1 is image name, #2 width (might be empty/whitespace), #3 height (ditto). + \def\dopdfimage#1#2#3{% + \def\imagewidth{#2}\setbox0 = \hbox{\ignorespaces #2}% + \def\imageheight{#3}\setbox2 = \hbox{\ignorespaces #3}% + % without \immediate, pdftex seg faults when the same image is + % included twice. (Version 3.14159-pre-1.0-unofficial-20010704.) + \ifnum\pdftexversion < 14 + \immediate\pdfimage + \else + \immediate\pdfximage + \fi + \ifdim \wd0 >0pt width \imagewidth \fi + \ifdim \wd2 >0pt height \imageheight \fi + \ifnum\pdftexversion<13 + #1.pdf% + \else + {#1.pdf}% + \fi + \ifnum\pdftexversion < 14 \else + \pdfrefximage \pdflastximage + \fi} + \def\pdfmkdest#1{{% + % We have to set dummies so commands such as @code, and characters + % such as \, aren't expanded when present in a section title. + \atdummies + \activebackslashdouble + \def\pdfdestname{#1}% + \backslashparens\pdfdestname + \pdfdest name{\pdfdestname} xyz% + }}% + % + % used to mark target names; must be expandable. + \def\pdfmkpgn#1{#1}% + % + \let\linkcolor = \Blue % was Cyan, but that seems light? \def\endlink{\Black\pdfendlink} % Adding outlines to PDF; macros for calculating structure of outlines % come from Petr Olsak \def\expnumber#1{\expandafter\ifx\csname#1\endcsname\relax 0% \else \csname#1\endcsname \fi} \def\advancenumber#1{\tempnum=\expnumber{#1}\relax - \advance\tempnum by1 + \advance\tempnum by 1 \expandafter\xdef\csname#1\endcsname{\the\tempnum}} - \def\pdfmakeoutlines{{% - \openin 1 \jobname.toc - \ifeof 1\else\begingroup - \closein 1 - \indexnofonts - \def\tt{} - \let\_ = \normalunderscore - % Thanh's hack / proper braces in bookmarks + % + % #1 is the section text, which is what will be displayed in the + % outline by the pdf viewer. #2 is the pdf expression for the number + % of subentries (or empty, for subsubsections). #3 is the node text, + % which might be empty if this toc entry had no corresponding node. + % #4 is the page number + % + \def\dopdfoutline#1#2#3#4{% + % Generate a link to the node text if that exists; else, use the + % 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. + \def\pdfoutlinedest{#3}% + \ifx\pdfoutlinedest\empty + \def\pdfoutlinedest{#4}% + \else + % Doubled backslashes in the name. + {\activebackslashdouble \xdef\pdfoutlinedest{#3}% + \backslashparens\pdfoutlinedest}% + \fi + % + % 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 % - \def\chapentry ##1##2##3{} - \let\appendixentry = \chapentry - \def\unnumbchapentry ##1##2{} - \def\secentry ##1##2##3##4{\advancenumber{chap##2}} - \def\unnumbsecentry ##1##2##3{\advancenumber{chap##2}} - \def\subsecentry ##1##2##3##4##5{\advancenumber{sec##2.##3}} - \def\unnumbsubsecentry ##1##2##3##4{\advancenumber{sec##2.##3}} - \def\subsubsecentry ##1##2##3##4##5##6{\advancenumber{subsec##2.##3.##4}} - \def\unnumbsubsubsecentry ##1##2##3##4##5{\advancenumber{subsec##2.##3.##4}} - \input \jobname.toc - \def\chapentry ##1##2##3{% - \pdfoutline goto name{\pdfmkpgn{##3}}count-\expnumber{chap##2}{##1}} - \let\appendixentry = \chapentry - \def\unnumbchapentry ##1##2{% - \pdfoutline goto name{\pdfmkpgn{##2}}{##1}} - \def\secentry ##1##2##3##4{% - \pdfoutline goto name{\pdfmkpgn{##4}}count-\expnumber{sec##2.##3}{##1}} - \def\unnumbsecentry ##1##2##3{% - \pdfoutline goto name{\pdfmkpgn{##3}}{##1}} - \def\subsecentry ##1##2##3##4##5{% - \pdfoutline goto name{\pdfmkpgn{##5}}count-\expnumber{subsec##2.##3.##4}{##1}} - \def\unnumbsubsecentry ##1##2##3##4{% - \pdfoutline goto name{\pdfmkpgn{##4}}{##1}} - \def\subsubsecentry ##1##2##3##4##5##6{% - \pdfoutline goto name{\pdfmkpgn{##6}}{##1}} - \def\unnumbsubsubsecentry ##1##2##3##4##5{% - \pdfoutline goto name{\pdfmkpgn{##5}}{##1}} + % Read toc silently, to get counts of subentries for \pdfoutline. + \def\numchapentry##1##2##3##4{% + \def\thischapnum{##2}% + \def\thissecnum{0}% + \def\thissubsecnum{0}% + }% + \def\numsecentry##1##2##3##4{% + \advancenumber{chap\thischapnum}% + \def\thissecnum{##2}% + \def\thissubsecnum{0}% + }% + \def\numsubsecentry##1##2##3##4{% + \advancenumber{sec\thissecnum}% + \def\thissubsecnum{##2}% + }% + \def\numsubsubsecentry##1##2##3##4{% + \advancenumber{subsec\thissubsecnum}% + }% + \def\thischapnum{0}% + \def\thissecnum{0}% + \def\thissubsecnum{0}% + % + % use \def rather than \let here because we redefine \chapentry et + % al. a second time, below. + \def\appentry{\numchapentry}% + \def\appsecentry{\numsecentry}% + \def\appsubsecentry{\numsubsecentry}% + \def\appsubsubsecentry{\numsubsubsecentry}% + \def\unnchapentry{\numchapentry}% + \def\unnsecentry{\numsecentry}% + \def\unnsubsecentry{\numsubsecentry}% + \def\unnsubsubsecentry{\numsubsubsecentry}% + \readdatafile{toc}% + % + % Read toc second time, this time actually producing the outlines. + % The `-' means take the \expnumber as the absolute number of + % subentries, which we calculated on our first read of the .toc above. + % + % We use the node names as the destinations. + \def\numchapentry##1##2##3##4{% + \dopdfoutline{##1}{count-\expnumber{chap##2}}{##3}{##4}}% + \def\numsecentry##1##2##3##4{% + \dopdfoutline{##1}{count-\expnumber{sec##2}}{##3}{##4}}% + \def\numsubsecentry##1##2##3##4{% + \dopdfoutline{##1}{count-\expnumber{subsec##2}}{##3}{##4}}% + \def\numsubsubsecentry##1##2##3##4{% count is always zero + \dopdfoutline{##1}{}{##3}{##4}}% + % + % PDF outlines are displayed using system fonts, instead of + % document fonts. Therefore we cannot use special characters, + % since the encoding is unknown. For example, the eogonek from + % Latin 2 (0xea) gets translated to a | character. Info from + % Staszek Wawrykiewicz, 19 Jan 2004 04:09:24 +0100. + % + % 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 + \catcode`\\=\active \otherbackslash \input \jobname.toc - \endgroup\fi - }} - \def\makelinks #1,{% - \def\params{#1}\def\E{END}% - \ifx\params\E - \let\nextmakelinks=\relax - \else - \let\nextmakelinks=\makelinks - \ifnum\lnkcount>0,\fi - \picknum{#1}% - \startlink attr{/Border [0 0 0]} - goto name{\pdfmkpgn{\the\pgn}}% - \linkcolor #1% - \advance\lnkcount by 1% - \endlink - \fi - \nextmakelinks - } - \def\picknum#1{\expandafter\pn#1} - \def\pn#1{% - \def\p{#1}% - \ifx\p\lbrace - \let\nextpn=\ppn - \else - \let\nextpn=\ppnn - \def\first{#1} - \fi - \nextpn + \endgroup } - \def\ppn#1{\pgn=#1\gobble} - \def\ppnn{\pgn=\first} - \def\pdfmklnk#1{\lnkcount=0\makelinks #1,END,} - \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks} + % \def\skipspaces#1{\def\PP{#1}\def\D{|}% \ifx\PP\D\let\nextsp\relax \else\let\nextsp\skipspaces @@ -1069,25 +1413,32 @@ where each line of input produces a line of output.} \else \let \startlink \pdfstartlink \fi + % make a live url in pdf output. \def\pdfurl#1{% \begingroup - \normalturnoffactive\def\@{@}% - \let\value=\expandablevalue + % it seems we really need yet another set of dummies; have not + % tried to figure out what each command should do in the context + % of @url. for now, just make @/ a no-op, that's the only one + % people have actually reported a problem with. + % + \normalturnoffactive + \def\@{@}% + \let\/=\empty + \makevalueexpandable \leavevmode\Red \startlink attr{/Border [0 0 0]}% user{/Subtype /Link /A << /S /URI /URI (#1) >>}% - % #1 \endgroup} \def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}} \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks} \def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks} \def\poptoks#1#2|ENDTOKS|{\let\first=#1\toksD={#1}\toksA={#2}} \def\maketoks{% - \expandafter\poptoks\the\toksA|ENDTOKS| + \expandafter\poptoks\the\toksA|ENDTOKS|\relax \ifx\first0\adn0 \else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3 \else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6 - \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9 + \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9 \else \ifnum0=\countA\else\makelink\fi \ifx\first.\let\next=\done\else @@ -1103,20 +1454,45 @@ where each line of input produces a line of output.} \startlink attr{/Border [0 0 0]} goto name{\pdfmkpgn{#1}} \linkcolor #1\endlink} \def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st} -\fi % \ifx\pdfoutput +\else + \let\pdfmkdest = \gobble + \let\pdfurl = \gobble + \let\endlink = \relax + \let\linkcolor = \relax + \let\pdfmakeoutlines = \relax +\fi % \ifx\pdfoutput \message{fonts,} -% Font-change commands. + +% Change the current font style to #1, remembering it in \curfontstyle. +% For now, we do not accumulate font styles: @b{@i{foo}} prints foo in +% italics, not bold italics. +% +\def\setfontstyle#1{% + \def\curfontstyle{#1}% not as a control sequence, because we are \edef'd. + \csname ten#1\endcsname % change the current font +} + +% Select #1 fonts with the current style. +% +\def\selectfonts#1{\csname #1fonts\endcsname \csname\curfontstyle\endcsname} + +\def\rm{\fam=0 \setfontstyle{rm}} +\def\it{\fam=\itfam \setfontstyle{it}} +\def\sl{\fam=\slfam \setfontstyle{sl}} +\def\bf{\fam=\bffam \setfontstyle{bf}}\def\bfstylename{bf} +\def\tt{\fam=\ttfam \setfontstyle{tt}} % Texinfo sort of supports the sans serif font style, which plain TeX does not. -% So we set up a \sf analogous to plain's \rm, etc. +% So we set up a \sf. \newfam\sffam -\def\sf{\fam=\sffam \tensf} +\def\sf{\fam=\sffam \setfontstyle{sf}} \let\li = \sf % Sometimes we call it \li, not \sf. -% We don't need math for this one. -\def\ttsl{\tenttsl} +% We don't need math for this font style. +\def\ttsl{\setfontstyle{ttsl}} + % Default leading. \newdimen\textleading \textleading = 13.2pt @@ -1139,11 +1515,13 @@ where each line of input produces a line of output.} }% } + % Set the font macro #1 to the font named #2, adding on the % specified font prefix (normally `cm'). % #3 is the font's design size, #4 is a scale factor \def\setfont#1#2#3#4{\font#1=\fontprefix#2#3 scaled #4} + % Use cm as the default font prefix. % To specify the font prefix, you must define \fontprefix % before you read in texinfo.tex. @@ -1167,20 +1545,15 @@ where each line of input produces a line of output.} \def\scshape{csc} \def\scbshape{csc} -\newcount\mainmagstep -\ifx\bigger\relax - % not really supported. - \let\mainmagstep=\magstep1 - \setfont\textrm\rmshape{12}{1000} - \setfont\texttt\ttshape{12}{1000} -\else - \mainmagstep=\magstephalf - \setfont\textrm\rmshape{10}{\mainmagstep} - \setfont\texttt\ttshape{10}{\mainmagstep} -\fi -% Instead of cmb10, you many want to use cmbx10. -% cmbx10 is a prettier font on its own, but cmb10 -% looks better when embedded in a line with cmr10. +% Definitions for a main text size of 11pt. This is the default in +% Texinfo. +% +\def\definetextfontsizexi{ +% Text fonts (11.2pt, magstep1). +\def\textnominalsize{11pt} +\edef\mainmagstep{\magstephalf} +\setfont\textrm\rmshape{10}{\mainmagstep} +\setfont\texttt\ttshape{10}{\mainmagstep} \setfont\textbf\bfshape{10}{\mainmagstep} \setfont\textit\itshape{10}{\mainmagstep} \setfont\textsl\slshape{10}{\mainmagstep} @@ -1190,12 +1563,14 @@ where each line of input produces a line of output.} \font\texti=cmmi10 scaled \mainmagstep \font\textsy=cmsy10 scaled \mainmagstep -% A few fonts for @defun, etc. -\setfont\defbf\bxshape{10}{\magstep1} %was 1314 +% A few fonts for @defun names and args. +\setfont\defbf\bfshape{10}{\magstep1} \setfont\deftt\ttshape{10}{\magstep1} -\def\df{\let\tentt=\deftt \let\tenbf = \defbf \bf} +\setfont\defttsl\ttslshape{10}{\magstep1} +\def\df{\let\tentt=\deftt \let\tenbf = \defbf \let\tenttsl=\defttsl \bf} % Fonts for indices, footnotes, small examples (9pt). +\def\smallnominalsize{9pt} \setfont\smallrm\rmshape{9}{1000} \setfont\smalltt\ttshape{9}{1000} \setfont\smallbf\bfshape{10}{900} @@ -1208,6 +1583,7 @@ where each line of input produces a line of output.} \font\smallsy=cmsy9 % Fonts for small examples (8pt). +\def\smallernominalsize{8pt} \setfont\smallerrm\rmshape{8}{1000} \setfont\smallertt\ttshape{8}{1000} \setfont\smallerbf\bfshape{10}{800} @@ -1219,7 +1595,8 @@ where each line of input produces a line of output.} \font\smalleri=cmmi8 \font\smallersy=cmsy8 -% Fonts for title page: +% Fonts for title page (20.4pt): +\def\titlenominalsize{20pt} \setfont\titlerm\rmbshape{12}{\magstep3} \setfont\titleit\itbshape{10}{\magstep4} \setfont\titlesl\slbshape{10}{\magstep4} @@ -1231,8 +1608,10 @@ where each line of input produces a line of output.} \font\titlei=cmmi12 scaled \magstep3 \font\titlesy=cmsy10 scaled \magstep4 \def\authorrm{\secrm} +\def\authortt{\sectt} % Chapter (and unnumbered) fonts (17.28pt). +\def\chapnominalsize{17pt} \setfont\chaprm\rmbshape{12}{\magstep2} \setfont\chapit\itbshape{10}{\magstep3} \setfont\chapsl\slbshape{10}{\magstep3} @@ -1245,6 +1624,7 @@ where each line of input produces a line of output.} \font\chapsy=cmsy10 scaled \magstep3 % Section fonts (14.4pt). +\def\secnominalsize{14pt} \setfont\secrm\rmbshape{12}{\magstep1} \setfont\secit\itbshape{10}{\magstep2} \setfont\secsl\slbshape{10}{\magstep2} @@ -1257,6 +1637,7 @@ where each line of input produces a line of output.} \font\secsy=cmsy10 scaled \magstep2 % Subsection fonts (13.15pt). +\def\ssecnominalsize{13pt} \setfont\ssecrm\rmbshape{12}{\magstephalf} \setfont\ssecit\itbshape{10}{1315} \setfont\ssecsl\slbshape{10}{1315} @@ -1264,11 +1645,181 @@ where each line of input produces a line of output.} \setfont\ssecttsl\ttslshape{10}{1315} \setfont\ssecsf\sfbshape{12}{\magstephalf} \let\ssecbf\ssecrm -\setfont\ssecsc\scbshape{10}{\magstep1} +\setfont\ssecsc\scbshape{10}{1315} \font\sseci=cmmi12 scaled \magstephalf \font\ssecsy=cmsy10 scaled 1315 -% The smallcaps and symbol fonts should actually be scaled \magstep1.5, -% but that is not a standard magnification. + +% Reduced fonts for @acro in text (10pt). +\def\reducednominalsize{10pt} +\setfont\reducedrm\rmshape{10}{1000} +\setfont\reducedtt\ttshape{10}{1000} +\setfont\reducedbf\bfshape{10}{1000} +\setfont\reducedit\itshape{10}{1000} +\setfont\reducedsl\slshape{10}{1000} +\setfont\reducedsf\sfshape{10}{1000} +\setfont\reducedsc\scshape{10}{1000} +\setfont\reducedttsl\ttslshape{10}{1000} +\font\reducedi=cmmi10 +\font\reducedsy=cmsy10 + +% reset the current fonts +\textfonts +\rm +} % end of 11pt text font size definitions + + +% Definitions to make the main text be 10pt Computer Modern, with +% section, chapter, etc., sizes following suit. This is for the GNU +% Press printing of the Emacs 22 manual. Maybe other manuals in the +% future. Used with @smallbook, which sets the leading to 12pt. +% +\def\definetextfontsizex{% +% Text fonts (10pt). +\def\textnominalsize{10pt} +\edef\mainmagstep{1000} +\setfont\textrm\rmshape{10}{\mainmagstep} +\setfont\texttt\ttshape{10}{\mainmagstep} +\setfont\textbf\bfshape{10}{\mainmagstep} +\setfont\textit\itshape{10}{\mainmagstep} +\setfont\textsl\slshape{10}{\mainmagstep} +\setfont\textsf\sfshape{10}{\mainmagstep} +\setfont\textsc\scshape{10}{\mainmagstep} +\setfont\textttsl\ttslshape{10}{\mainmagstep} +\font\texti=cmmi10 scaled \mainmagstep +\font\textsy=cmsy10 scaled \mainmagstep + +% A few fonts for @defun names and args. +\setfont\defbf\bfshape{10}{\magstephalf} +\setfont\deftt\ttshape{10}{\magstephalf} +\setfont\defttsl\ttslshape{10}{\magstephalf} +\def\df{\let\tentt=\deftt \let\tenbf = \defbf \let\tenttsl=\defttsl \bf} + +% Fonts for indices, footnotes, small examples (9pt). +\def\smallnominalsize{9pt} +\setfont\smallrm\rmshape{9}{1000} +\setfont\smalltt\ttshape{9}{1000} +\setfont\smallbf\bfshape{10}{900} +\setfont\smallit\itshape{9}{1000} +\setfont\smallsl\slshape{9}{1000} +\setfont\smallsf\sfshape{9}{1000} +\setfont\smallsc\scshape{10}{900} +\setfont\smallttsl\ttslshape{10}{900} +\font\smalli=cmmi9 +\font\smallsy=cmsy9 + +% Fonts for small examples (8pt). +\def\smallernominalsize{8pt} +\setfont\smallerrm\rmshape{8}{1000} +\setfont\smallertt\ttshape{8}{1000} +\setfont\smallerbf\bfshape{10}{800} +\setfont\smallerit\itshape{8}{1000} +\setfont\smallersl\slshape{8}{1000} +\setfont\smallersf\sfshape{8}{1000} +\setfont\smallersc\scshape{10}{800} +\setfont\smallerttsl\ttslshape{10}{800} +\font\smalleri=cmmi8 +\font\smallersy=cmsy8 + +% Fonts for title page (20.4pt): +\def\titlenominalsize{20pt} +\setfont\titlerm\rmbshape{12}{\magstep3} +\setfont\titleit\itbshape{10}{\magstep4} +\setfont\titlesl\slbshape{10}{\magstep4} +\setfont\titlett\ttbshape{12}{\magstep3} +\setfont\titlettsl\ttslshape{10}{\magstep4} +\setfont\titlesf\sfbshape{17}{\magstep1} +\let\titlebf=\titlerm +\setfont\titlesc\scbshape{10}{\magstep4} +\font\titlei=cmmi12 scaled \magstep3 +\font\titlesy=cmsy10 scaled \magstep4 +\def\authorrm{\secrm} +\def\authortt{\sectt} + +% Chapter fonts (14.4pt). +\def\chapnominalsize{14pt} +\setfont\chaprm\rmbshape{12}{\magstep1} +\setfont\chapit\itbshape{10}{\magstep2} +\setfont\chapsl\slbshape{10}{\magstep2} +\setfont\chaptt\ttbshape{12}{\magstep1} +\setfont\chapttsl\ttslshape{10}{\magstep2} +\setfont\chapsf\sfbshape{12}{\magstep1} +\let\chapbf\chaprm +\setfont\chapsc\scbshape{10}{\magstep2} +\font\chapi=cmmi12 scaled \magstep1 +\font\chapsy=cmsy10 scaled \magstep2 + +% Section fonts (12pt). +\def\secnominalsize{12pt} +\setfont\secrm\rmbshape{12}{1000} +\setfont\secit\itbshape{10}{\magstep1} +\setfont\secsl\slbshape{10}{\magstep1} +\setfont\sectt\ttbshape{12}{1000} +\setfont\secttsl\ttslshape{10}{\magstep1} +\setfont\secsf\sfbshape{12}{1000} +\let\secbf\secrm +\setfont\secsc\scbshape{10}{\magstep1} +\font\seci=cmmi12 +\font\secsy=cmsy10 scaled \magstep1 + +% Subsection fonts (10pt). +\def\ssecnominalsize{10pt} +\setfont\ssecrm\rmbshape{10}{1000} +\setfont\ssecit\itbshape{10}{1000} +\setfont\ssecsl\slbshape{10}{1000} +\setfont\ssectt\ttbshape{10}{1000} +\setfont\ssecttsl\ttslshape{10}{1000} +\setfont\ssecsf\sfbshape{10}{1000} +\let\ssecbf\ssecrm +\setfont\ssecsc\scbshape{10}{1000} +\font\sseci=cmmi10 +\font\ssecsy=cmsy10 + +% Reduced fonts for @acro in text (9pt). +\def\reducednominalsize{9pt} +\setfont\reducedrm\rmshape{9}{1000} +\setfont\reducedtt\ttshape{9}{1000} +\setfont\reducedbf\bfshape{10}{900} +\setfont\reducedit\itshape{9}{1000} +\setfont\reducedsl\slshape{9}{1000} +\setfont\reducedsf\sfshape{9}{1000} +\setfont\reducedsc\scshape{10}{900} +\setfont\reducedttsl\ttslshape{10}{900} +\font\reducedi=cmmi9 +\font\reducedsy=cmsy9 + +% reduce space between paragraphs +\divide\parskip by 2 + +% reset the current fonts +\textfonts +\rm +} % end of 10pt text font size definitions + + +% We provide the user-level command +% @fonttextsize 10 +% (or 11) to redefine the text font size. pt is assumed. +% +\def\xword{10} +\def\xiword{11} +% +\parseargdef\fonttextsize{% + \def\textsizearg{#1}% + \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. + % + \begingroup \globaldefs=1 + \ifx\textsizearg\xword \definetextfontsizex + \else \ifx\textsizearg\xiword \definetextfontsizexi + \else + \errhelp=\EMsimple + \errmessage{@fonttextsize only supports `10' or `11', not `\textsizearg'} + \fi\fi + \endgroup +} + % In order for the font changes to affect most math symbols and letters, % we have to define the \textfont of the standard families. Since @@ -1283,56 +1834,104 @@ where each line of input produces a line of output.} } % The font-changing commands redefine the meanings of \tenSTYLE, instead -% of just \STYLE. We do this so that font changes will continue to work -% in math mode, where it is the current \fam that is relevant in most -% cases, not the current font. Plain TeX does \def\bf{\fam=\bffam -% \tenbf}, for example. By redefining \tenbf, we obviate the need to -% redefine \bf itself. +% of just \STYLE. We do this because \STYLE needs to also set the +% current \fam for math mode. Our \STYLE (e.g., \rm) commands hardwire +% \tenSTYLE to set the current font. +% +% Each font-changing command also sets the names \lsize (one size lower) +% and \lllsize (three sizes lower). These relative commands are used in +% the LaTeX logo and acronyms. +% +% This all needs generalizing, badly. +% \def\textfonts{% \let\tenrm=\textrm \let\tenit=\textit \let\tensl=\textsl \let\tenbf=\textbf \let\tentt=\texttt \let\smallcaps=\textsc - \let\tensf=\textsf \let\teni=\texti \let\tensy=\textsy \let\tenttsl=\textttsl + \let\tensf=\textsf \let\teni=\texti \let\tensy=\textsy + \let\tenttsl=\textttsl + \def\curfontsize{text}% + \def\lsize{reduced}\def\lllsize{smaller}% \resetmathfonts \setleading{\textleading}} \def\titlefonts{% \let\tenrm=\titlerm \let\tenit=\titleit \let\tensl=\titlesl \let\tenbf=\titlebf \let\tentt=\titlett \let\smallcaps=\titlesc \let\tensf=\titlesf \let\teni=\titlei \let\tensy=\titlesy \let\tenttsl=\titlettsl + \def\curfontsize{title}% + \def\lsize{chap}\def\lllsize{subsec}% \resetmathfonts \setleading{25pt}} \def\titlefont#1{{\titlefonts\rm #1}} \def\chapfonts{% \let\tenrm=\chaprm \let\tenit=\chapit \let\tensl=\chapsl \let\tenbf=\chapbf \let\tentt=\chaptt \let\smallcaps=\chapsc - \let\tensf=\chapsf \let\teni=\chapi \let\tensy=\chapsy \let\tenttsl=\chapttsl + \let\tensf=\chapsf \let\teni=\chapi \let\tensy=\chapsy + \let\tenttsl=\chapttsl + \def\curfontsize{chap}% + \def\lsize{sec}\def\lllsize{text}% \resetmathfonts \setleading{19pt}} \def\secfonts{% \let\tenrm=\secrm \let\tenit=\secit \let\tensl=\secsl \let\tenbf=\secbf \let\tentt=\sectt \let\smallcaps=\secsc - \let\tensf=\secsf \let\teni=\seci \let\tensy=\secsy \let\tenttsl=\secttsl + \let\tensf=\secsf \let\teni=\seci \let\tensy=\secsy + \let\tenttsl=\secttsl + \def\curfontsize{sec}% + \def\lsize{subsec}\def\lllsize{reduced}% \resetmathfonts \setleading{16pt}} \def\subsecfonts{% \let\tenrm=\ssecrm \let\tenit=\ssecit \let\tensl=\ssecsl \let\tenbf=\ssecbf \let\tentt=\ssectt \let\smallcaps=\ssecsc - \let\tensf=\ssecsf \let\teni=\sseci \let\tensy=\ssecsy \let\tenttsl=\ssecttsl + \let\tensf=\ssecsf \let\teni=\sseci \let\tensy=\ssecsy + \let\tenttsl=\ssecttsl + \def\curfontsize{ssec}% + \def\lsize{text}\def\lllsize{small}% \resetmathfonts \setleading{15pt}} -\let\subsubsecfonts = \subsecfonts % Maybe make sssec fonts scaled magstephalf? +\let\subsubsecfonts = \subsecfonts +\def\reducedfonts{% + \let\tenrm=\reducedrm \let\tenit=\reducedit \let\tensl=\reducedsl + \let\tenbf=\reducedbf \let\tentt=\reducedtt \let\reducedcaps=\reducedsc + \let\tensf=\reducedsf \let\teni=\reducedi \let\tensy=\reducedsy + \let\tenttsl=\reducedttsl + \def\curfontsize{reduced}% + \def\lsize{small}\def\lllsize{smaller}% + \resetmathfonts \setleading{10.5pt}} \def\smallfonts{% \let\tenrm=\smallrm \let\tenit=\smallit \let\tensl=\smallsl \let\tenbf=\smallbf \let\tentt=\smalltt \let\smallcaps=\smallsc \let\tensf=\smallsf \let\teni=\smalli \let\tensy=\smallsy \let\tenttsl=\smallttsl + \def\curfontsize{small}% + \def\lsize{smaller}\def\lllsize{smaller}% \resetmathfonts \setleading{10.5pt}} \def\smallerfonts{% \let\tenrm=\smallerrm \let\tenit=\smallerit \let\tensl=\smallersl \let\tenbf=\smallerbf \let\tentt=\smallertt \let\smallcaps=\smallersc \let\tensf=\smallersf \let\teni=\smalleri \let\tensy=\smallersy \let\tenttsl=\smallerttsl + \def\curfontsize{smaller}% + \def\lsize{smaller}\def\lllsize{smaller}% \resetmathfonts \setleading{9.5pt}} -\let\smallexamplefonts = \smallerfonts + +% Set the fonts to use with the @small... environments. +\let\smallexamplefonts = \smallfonts + +% About \smallexamplefonts. If we use \smallfonts (9pt), @smallexample +% can fit this many characters: +% 8.5x11=86 smallbook=72 a4=90 a5=69 +% If we use \scriptfonts (8pt), then we can fit this many characters: +% 8.5x11=90+ smallbook=80 a4=90+ a5=77 +% For me, subjectively, the few extra characters that fit aren't worth +% the additional smallness of 8pt. So I'm making the default 9pt. +% +% By the way, for comparison, here's what fits with @example (10pt): +% 8.5x11=71 smallbook=60 a4=75 a5=58 +% +% I wish the USA used A4 paper. +% --karl, 24jan03. + % Set up the default fonts, so we can use them for creating boxes. % -\textfonts +\definetextfontsizexi % Define these so they can be easily changed for other fonts. \def\angleleft{$\langle$} @@ -1343,27 +1942,41 @@ where each line of input produces a line of output.} % Fonts for short table of contents. \setfont\shortcontrm\rmshape{12}{1000} -\setfont\shortcontbf\bxshape{12}{1000} +\setfont\shortcontbf\bfshape{10}{\magstep1} % no cmb12 \setfont\shortcontsl\slshape{12}{1000} +\setfont\shortconttt\ttshape{12}{1000} %% Add scribe-like font environments, plus @l for inline lisp (usually sans %% serif) and @ii for TeX italic % \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\/\fi\fi\fi} -\def\smartslanted#1{{\sl #1}\futurelet\next\smartitalicx} -\def\smartitalic#1{{\it #1}\futurelet\next\smartitalicx} +\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} + +% like \smartslanted except unconditionally uses \ttsl. +% @var is set to this for defun arguments. +\def\ttslanted#1{{\ttsl #1}\futurelet\next\smartitalicx} + +% like \smartslanted except unconditionally use \sl. We never want +% ttsl for book titles, do we? +\def\cite#1{{\sl #1}\futurelet\next\smartitalicx} \let\i=\smartitalic +\let\slanted=\smartslanted \let\var=\smartslanted \let\dfn=\smartslanted \let\emph=\smartitalic -\let\cite=\smartslanted +% @b, explicit bold. \def\b#1{{\bf #1}} \let\strong=\b +% @sansserif, explicit sans. +\def\sansserif#1{{\sf #1}} + % We can't just use \exhyphenpenalty, because that only has effect at % the end of a paragraph. Restore normal hyphenation at the end of the % group within which \nohyphenation is presumably called. @@ -1371,11 +1984,28 @@ where each line of input produces a line of output.} \def\nohyphenation{\hyphenchar\font = -1 \aftergroup\restorehyphenation} \def\restorehyphenation{\hyphenchar\font = `- } +% Set sfcode to normal for the chars that usually have another value. +% Can't use plain's \frenchspacing because it uses the `\x notation, and +% sometimes \x has an active definition that messes things up. +% +\catcode`@=11 + \def\plainfrenchspacing{% + \sfcode\dotChar =\@m \sfcode\questChar=\@m \sfcode\exclamChar=\@m + \sfcode\colonChar=\@m \sfcode\semiChar =\@m \sfcode\commaChar =\@m + \def\endofsentencespacefactor{1000}% for @. and friends + } + \def\plainnonfrenchspacing{% + \sfcode`\.3000\sfcode`\?3000\sfcode`\!3000 + \sfcode`\:2000\sfcode`\;1500\sfcode`\,1250 + \def\endofsentencespacefactor{3000}% for @. and friends + } +\catcode`@=\other +\def\endofsentencespacefactor{3000}% default + \def\t#1{% - {\tt \rawbackslash \frenchspacing #1}% + {\tt \rawbackslash \plainfrenchspacing #1}% \null } -\let\ttfont=\t \def\samp#1{`\tclose{#1}'\null} \setfont\keyrm\rmshape{8}{1000} \font\keysy=cmsy9 @@ -1410,13 +2040,13 @@ where each line of input produces a line of output.} \nohyphenation % \rawbackslash - \frenchspacing + \plainfrenchspacing #1% }% \null } -% We *must* turn on hyphenation at `-' and `_' in \code. +% We *must* turn on hyphenation at `-' and `_' in @code. % Otherwise, it is too hard to avoid overfull hboxes % in the Emacs manual, the Library manual, etc. @@ -1426,18 +2056,23 @@ where each line of input produces a line of output.} % and arrange explicitly to hyphenate at a dash. % -- rms. { - \catcode`\-=\active - \catcode`\_=\active + \catcode`\-=\active \catcode`\_=\active + \catcode`\'=\active \catcode`\`=\active % \global\def\code{\begingroup - \catcode`\-=\active \let-\codedash - \catcode`\_=\active \let_\codeunder + \catcode\rquoteChar=\active \catcode\lquoteChar=\active + \let'\codequoteright \let`\codequoteleft + % + \catcode\dashChar=\active \catcode\underChar=\active + \ifallowcodebreaks + \let-\codedash + \let_\codeunder + \else + \let-\realdash + \let_\realunder + \fi \codex } - % - % If we end up with any active - characters when handling the index, - % just treat them as a normal -. - \global\def\indexbreaks{\catcode`\-=\active \let-\realdash} } \def\realdash{-} @@ -1455,30 +2090,53 @@ where each line of input produces a line of output.} } \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 +% some manuals, especially if they don't have long identifiers in +% general. @allowcodebreaks provides a way to control this. +% +\newif\ifallowcodebreaks \allowcodebreakstrue + +\def\keywordtrue{true} +\def\keywordfalse{false} + +\parseargdef\allowcodebreaks{% + \def\txiarg{#1}% + \ifx\txiarg\keywordtrue + \allowcodebreakstrue + \else\ifx\txiarg\keywordfalse + \allowcodebreaksfalse + \else + \errhelp = \EMsimple + \errmessage{Unknown @allowcodebreaks option `\txiarg'}% + \fi\fi +} + % @kbd is like @code, except that if the argument is just one @key command, % then @kbd has no effect. % @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always), % `example' (@kbd uses ttsl only inside of @example and friends), % or `code' (@kbd uses normal tty font always). -\def\kbdinputstyle{\parsearg\kbdinputstylexxx} -\def\kbdinputstylexxx#1{% - \def\arg{#1}% - \ifx\arg\worddistinct +\parseargdef\kbdinputstyle{% + \def\txiarg{#1}% + \ifx\txiarg\worddistinct \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\ttsl}% - \else\ifx\arg\wordexample + \else\ifx\txiarg\wordexample \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\tt}% - \else\ifx\arg\wordcode + \else\ifx\txiarg\wordcode \gdef\kbdexamplefont{\tt}\gdef\kbdfont{\tt}% + \else + \errhelp = \EMsimple + \errmessage{Unknown @kbdinputstyle option `\txiarg'}% \fi\fi\fi } \def\worddistinct{distinct} \def\wordexample{example} \def\wordcode{code} -% Default is kbdinputdistinct. (Too much of a hassle to call the macro, -% the catcodes are wrong for parsearg to work.) -\gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\ttsl} +% Default is `distinct.' +\kbdinputstyle distinct \def\xkey{\key} \def\kbdfoo#1#2#3\par{\def\one{#1}\def\three{#3}\def\threex{??}% @@ -1486,8 +2144,8 @@ where each line of input produces a line of output.} \else{\tclose{\kbdfont\look}}\fi \else{\tclose{\kbdfont\look}}\fi} -% For @url, @env, @command quotes seem unnecessary, so use \code. -\let\url=\code +% For @indicateurl, @env, @command quotes seem unnecessary, so use \code. +\let\indicateurl=\code \let\env=\code \let\command=\code @@ -1519,9 +2177,13 @@ where each line of input produces a line of output.} \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} @@ -1560,12 +2222,105 @@ where each line of input produces a line of output.} \def\sc#1{{\smallcaps#1}} % smallcaps font \def\ii#1{{\it #1}} % italic font -% @acronym downcases the argument and prints in smallcaps. -\def\acronym#1{{\smallcaps \lowercase{#1}}} +% @acronym for "FBI", "NATO", and the like. +% We print this one point size smaller, since it's intended for +% all-uppercase. +% +\def\acronym#1{\doacronym #1,,\finish} +\def\doacronym#1,#2,#3\finish{% + {\selectfonts\lsize #1}% + \def\temp{#2}% + \ifx\temp\empty \else + \space ({\unsepspaces \ignorespaces \temp \unskip})% + \fi +} + +% @abbr for "Comput. J." and the like. +% No font change, but don't do end-of-sentence spacing. +% +\def\abbr#1{\doabbr #1,,\finish} +\def\doabbr#1,#2,#3\finish{% + {\plainfrenchspacing #1}% + \def\temp{#2}% + \ifx\temp\empty \else + \space ({\unsepspaces \ignorespaces \temp \unskip})% + \fi +} -% @pounds{} is a sterling sign. +% @pounds{} is a sterling sign, which Knuth put in the CM italic font. +% \def\pounds{{\it\$}} +% @euro{} comes from a separate font, depending on the current style. +% We use the free feym* fonts from the eurosym package by Henrik +% Theiling, which support regular, slanted, bold and bold slanted (and +% "outlined" (blackboard board, sort of) versions, which we don't need). +% It is available from http://www.ctan.org/tex-archive/fonts/eurosym. +% +% Although only regular is the truly official Euro symbol, we ignore +% that. The Euro is designed to be slightly taller than the regular +% font height. +% +% feymr - regular +% feymo - slanted +% feybr - bold +% feybo - bold slanted +% +% There is no good (free) typewriter version, to my knowledge. +% A feymr10 euro is ~7.3pt wide, while a normal cmtt10 char is ~5.25pt wide. +% Hmm. +% +% Also doesn't work in math. Do we need to do math with euro symbols? +% Hope not. +% +% +\def\euro{{\eurofont e}} +\def\eurofont{% + % We set the font at each command, rather than predefining it in + % \textfonts and the other font-switching commands, so that + % installations which never need the symbol don't have to have the + % font installed. + % + % There is only one designed size (nominal 10pt), so we always scale + % that to the current nominal size. + % + % By the way, simply using "at 1em" works for cmr10 and the like, but + % does not work for cmbx10 and other extended/shrunken fonts. + % + \def\eurosize{\csname\curfontsize nominalsize\endcsname}% + % + \ifx\curfontstyle\bfstylename + % bold: + \font\thiseurofont = \ifusingit{feybo10}{feybr10} at \eurosize + \else + % regular: + \font\thiseurofont = \ifusingit{feymo10}{feymr10} at \eurosize + \fi + \thiseurofont +} + +% @registeredsymbol - R in a circle. The font for the R should really +% be smaller yet, but lllsize is the best we can do for now. +% Adapted from the plain.tex definition of \copyright. +% +\def\registeredsymbol{% + $^{{\ooalign{\hfil\raise.07ex\hbox{\selectfonts\lllsize R}% + \hfil\crcr\Orb}}% + }$% +} + +% @textdegree - the normal degrees sign. +% +\def\textdegree{$^\circ$} + +% Laurent Siebenmann reports \Orb undefined with: +% 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\undefined +\def\Orb{\mathhexbox20D} +\fi + \message{page headings,} @@ -1584,86 +2339,103 @@ where each line of input produces a line of output.} \newif\ifsetshortcontentsaftertitlepage \let\setshortcontentsaftertitlepage = \setshortcontentsaftertitlepagetrue -\def\shorttitlepage{\parsearg\shorttitlepagezzz} -\def\shorttitlepagezzz #1{\begingroup\hbox{}\vskip 1.5in \chaprm \centerline{#1}% +\parseargdef\shorttitlepage{\begingroup\hbox{}\vskip 1.5in \chaprm \centerline{#1}% \endgroup\page\hbox{}\page} -\def\titlepage{\begingroup \parindent=0pt \textfonts - \let\subtitlerm=\tenrm - \def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines}% - % - \def\authorfont{\authorrm \normalbaselineskip = 16pt \normalbaselines}% - % - % Leave some space at the very top of the page. - \vglue\titlepagetopglue - % - % Now you can print the title using @title. - \def\title{\parsearg\titlezzz}% - \def\titlezzz##1{\leftline{\titlefonts\rm ##1} - % print a rule at the page bottom also. - \finishedtitlepagefalse - \vskip4pt \hrule height 4pt width \hsize \vskip4pt}% - % No rule at page bottom unless we print one at the top with @title. - \finishedtitlepagetrue - % - % Now you can put text using @subtitle. - \def\subtitle{\parsearg\subtitlezzz}% - \def\subtitlezzz##1{{\subtitlefont \rightline{##1}}}% - % - % @author should come last, but may come many times. - \def\author{\parsearg\authorzzz}% - \def\authorzzz##1{\ifseenauthor\else\vskip 0pt plus 1filll\seenauthortrue\fi - {\authorfont \leftline{##1}}}% - % - % Most title ``pages'' are actually two pages long, with space - % at the top of the second. We don't want the ragged left on the second. - \let\oldpage = \page - \def\page{% +\envdef\titlepage{% + % Open one extra group, as we want to close it in the middle of \Etitlepage. + \begingroup + \parindent=0pt \textfonts + % Leave some space at the very top of the page. + \vglue\titlepagetopglue + % No rule at page bottom unless we print one at the top with @title. + \finishedtitlepagetrue + % + % Most title ``pages'' are actually two pages long, with space + % at the top of the second. We don't want the ragged left on the second. + \let\oldpage = \page + \def\page{% \iffinishedtitlepage\else - \finishtitlepage + \finishtitlepage \fi - \oldpage \let\page = \oldpage - \hbox{}}% -% \def\page{\oldpage \hbox{}} + \page + \null + }% } \def\Etitlepage{% - \iffinishedtitlepage\else - \finishtitlepage - \fi - % It is important to do the page break before ending the group, - % because the headline and footline are only empty inside the group. - % If we use the new definition of \page, we always get a blank page - % after the title page, which we certainly don't want. - \oldpage - \endgroup - % - % Need this before the \...aftertitlepage checks so that if they are - % in effect the toc pages will come out with page numbers. - \HEADINGSon - % - % If they want short, they certainly want long too. - \ifsetshortcontentsaftertitlepage - \shortcontents - \contents - \global\let\shortcontents = \relax - \global\let\contents = \relax - \fi - % - \ifsetcontentsaftertitlepage - \contents - \global\let\contents = \relax - \global\let\shortcontents = \relax - \fi + \iffinishedtitlepage\else + \finishtitlepage + \fi + % It is important to do the page break before ending the group, + % because the headline and footline are only empty inside the group. + % If we use the new definition of \page, we always get a blank page + % after the title page, which we certainly don't want. + \oldpage + \endgroup + % + % Need this before the \...aftertitlepage checks so that if they are + % in effect the toc pages will come out with page numbers. + \HEADINGSon + % + % If they want short, they certainly want long too. + \ifsetshortcontentsaftertitlepage + \shortcontents + \contents + \global\let\shortcontents = \relax + \global\let\contents = \relax + \fi + % + \ifsetcontentsaftertitlepage + \contents + \global\let\contents = \relax + \global\let\shortcontents = \relax + \fi } \def\finishtitlepage{% - \vskip4pt \hrule height 2pt width \hsize - \vskip\titlepagebottomglue - \finishedtitlepagetrue + \vskip4pt \hrule height 2pt width \hsize + \vskip\titlepagebottomglue + \finishedtitlepagetrue +} + +%%% Macros to be used within @titlepage: + +\let\subtitlerm=\tenrm +\def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines} + +\def\authorfont{\authorrm \normalbaselineskip = 16pt \normalbaselines + \let\tt=\authortt} + +\parseargdef\title{% + \checkenv\titlepage + \leftline{\titlefonts\rm #1} + % print a rule at the page bottom also. + \finishedtitlepagefalse + \vskip4pt \hrule height 4pt width \hsize \vskip4pt +} + +\parseargdef\subtitle{% + \checkenv\titlepage + {\subtitlefont \rightline{#1}}% +} + +% @author should come last, but may come many times. +% It can also be used inside @quotation. +% +\parseargdef\author{% + \def\temp{\quotation}% + \ifx\thisenv\temp + \def\quotationauthor{#1}% printed in \Equotation. + \else + \checkenv\titlepage + \ifseenauthor\else \vskip 0pt plus 1filll \seenauthortrue \fi + {\authorfont \leftline{#1}}% + \fi } + %%% Set up page headings and footings. \let\thispage=\folio @@ -1673,7 +2445,7 @@ where each line of input produces a line of output.} \newtoks\evenfootline % footline on even pages \newtoks\oddfootline % footline on odd pages -% Now make Tex use those variables +% Now make TeX use those variables \headline={{\textfonts\rm \ifodd\pageno \the\oddheadline \else \the\evenheadline \fi}} \footline={{\textfonts\rm \ifodd\pageno \the\oddfootline @@ -1687,43 +2459,37 @@ where each line of input produces a line of output.} % @evenfooting @thisfile|| % @oddfooting ||@thisfile -\def\evenheading{\parsearg\evenheadingxxx} -\def\oddheading{\parsearg\oddheadingxxx} -\def\everyheading{\parsearg\everyheadingxxx} - -\def\evenfooting{\parsearg\evenfootingxxx} -\def\oddfooting{\parsearg\oddfootingxxx} -\def\everyfooting{\parsearg\everyfootingxxx} - -{\catcode`\@=0 % -\gdef\evenheadingxxx #1{\evenheadingyyy #1@|@|@|@|\finish} -\gdef\evenheadingyyy #1@|#2@|#3@|#4\finish{% +\def\evenheading{\parsearg\evenheadingxxx} +\def\evenheadingxxx #1{\evenheadingyyy #1\|\|\|\|\finish} +\def\evenheadingyyy #1\|#2\|#3\|#4\finish{% \global\evenheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}} -\gdef\oddheadingxxx #1{\oddheadingyyy #1@|@|@|@|\finish} -\gdef\oddheadingyyy #1@|#2@|#3@|#4\finish{% +\def\oddheading{\parsearg\oddheadingxxx} +\def\oddheadingxxx #1{\oddheadingyyy #1\|\|\|\|\finish} +\def\oddheadingyyy #1\|#2\|#3\|#4\finish{% \global\oddheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}} -\gdef\everyheadingxxx#1{\oddheadingxxx{#1}\evenheadingxxx{#1}}% +\parseargdef\everyheading{\oddheadingxxx{#1}\evenheadingxxx{#1}}% -\gdef\evenfootingxxx #1{\evenfootingyyy #1@|@|@|@|\finish} -\gdef\evenfootingyyy #1@|#2@|#3@|#4\finish{% +\def\evenfooting{\parsearg\evenfootingxxx} +\def\evenfootingxxx #1{\evenfootingyyy #1\|\|\|\|\finish} +\def\evenfootingyyy #1\|#2\|#3\|#4\finish{% \global\evenfootline={\rlap{\centerline{#2}}\line{#1\hfil#3}}} -\gdef\oddfootingxxx #1{\oddfootingyyy #1@|@|@|@|\finish} -\gdef\oddfootingyyy #1@|#2@|#3@|#4\finish{% +\def\oddfooting{\parsearg\oddfootingxxx} +\def\oddfootingxxx #1{\oddfootingyyy #1\|\|\|\|\finish} +\def\oddfootingyyy #1\|#2\|#3\|#4\finish{% \global\oddfootline = {\rlap{\centerline{#2}}\line{#1\hfil#3}}% % % Leave some space for the footline. Hopefully ok to assume % @evenfooting will not be used by itself. - \global\advance\pageheight by -\baselineskip - \global\advance\vsize by -\baselineskip + \global\advance\pageheight by -12pt + \global\advance\vsize by -12pt } -\gdef\everyfootingxxx#1{\oddfootingxxx{#1}\evenfootingxxx{#1}} -% -}% unbind the catcode of @. +\parseargdef\everyfooting{\oddfootingxxx{#1}\evenfootingxxx{#1}} + % @headings double turns headings on for double-sided printing. % @headings single turns headings on for single-sided printing. @@ -1737,7 +2503,7 @@ where each line of input produces a line of output.} \def\headings #1 {\csname HEADINGS#1\endcsname} -\def\HEADINGSoff{ +\def\HEADINGSoff{% \global\evenheadline={\hfil} \global\evenfootline={\hfil} \global\oddheadline={\hfil} \global\oddfootline={\hfil}} \HEADINGSoff @@ -1746,7 +2512,7 @@ where each line of input produces a line of output.} % chapter name on inside top of right hand pages, document % title on inside top of left hand pages, and page numbers on outside top % edge of all pages. -\def\HEADINGSdouble{ +\def\HEADINGSdouble{% \global\pageno=1 \global\evenfootline={\hfil} \global\oddfootline={\hfil} @@ -1758,7 +2524,7 @@ where each line of input produces a line of output.} % For single-sided printing, chapter title goes across top left of page, % page number on top right. -\def\HEADINGSsingle{ +\def\HEADINGSsingle{% \global\pageno=1 \global\evenfootline={\hfil} \global\oddfootline={\hfil} @@ -1805,12 +2571,11 @@ where each line of input produces a line of output.} % @settitle line... specifies the title of the document, for headings. % It generates no output of its own. \def\thistitle{\putwordNoTitle} -\def\settitle{\parsearg\settitlezzz} -\def\settitlezzz #1{\gdef\thistitle{#1}} +\def\settitle{\parsearg{\gdef\thistitle}} \message{tables,} -% Tables -- @table, @ftable, @vtable, @item(x), @kitem(x), @xitem(x). +% Tables -- @table, @ftable, @vtable, @item(x). % default indentation of table text \newdimen\tableindent \tableindent=.8in @@ -1822,7 +2587,7 @@ where each line of input produces a line of output.} % used internally for \itemindent minus \itemmargin \newdimen\itemmax -% Note @table, @vtable, and @vtable define @item, @itemx, etc., with +% Note @table, @ftable, and @vtable define @item, @itemx, etc., with % these defs. % They also define \itemindex % to index the item name in whatever manner is desired (perhaps none). @@ -1834,22 +2599,10 @@ where each line of input produces a line of output.} \def\internalBitem{\smallbreak \parsearg\itemzzz} \def\internalBitemx{\itemxpar \parsearg\itemzzz} -\def\internalBxitem "#1"{\def\xitemsubtopix{#1} \smallbreak \parsearg\xitemzzz} -\def\internalBxitemx "#1"{\def\xitemsubtopix{#1} \itemxpar \parsearg\xitemzzz} - -\def\internalBkitem{\smallbreak \parsearg\kitemzzz} -\def\internalBkitemx{\itemxpar \parsearg\kitemzzz} - -\def\kitemzzz #1{\dosubind {kw}{\code{#1}}{for {\bf \lastfunction}}% - \itemzzz {#1}} - -\def\xitemzzz #1{\dosubind {kw}{\code{#1}}{for {\bf \xitemsubtopic}}% - \itemzzz {#1}} - \def\itemzzz #1{\begingroup % \advance\hsize by -\rightskip \advance\hsize by -\tableindent - \setbox0=\hbox{\itemfont{#1}}% + \setbox0=\hbox{\itemindicate{#1}}% \itemindex{#1}% \nobreak % This prevents a break before @itemx. % @@ -1873,10 +2626,14 @@ where each line of input produces a line of output.} % \parskip glue -- logically it's part of the @item we just started. \nobreak \vskip-\parskip % - % Stop a page break at the \parskip glue coming up. Unfortunately - % we can't prevent a possible page break at the following - % \baselineskip glue. - \nobreak + % Stop a page break at the \parskip glue coming up. However, if + % what follows is an environment such as @example, there will be no + % \parskip glue; then the negative vskip we just inserted would + % cause the example and the item to crash together. So we use this + % bizarre value of 10001 as a signal to \aboveenvbreak to insert + % \parskip glue after all. Section titles are handled this way also. + % + \penalty 10001 \endgroup \itemxneedsnegativevskipfalse \else @@ -1895,97 +2652,106 @@ where each line of input produces a line of output.} \fi } -\def\item{\errmessage{@item while not in a table}} -\def\itemx{\errmessage{@itemx while not in a table}} -\def\kitem{\errmessage{@kitem while not in a table}} -\def\kitemx{\errmessage{@kitemx while not in a table}} -\def\xitem{\errmessage{@xitem while not in a table}} -\def\xitemx{\errmessage{@xitemx while not in a table}} - -% Contains a kludge to get @end[description] to work. -\def\description{\tablez{\dontindex}{1}{}{}{}{}} +\def\item{\errmessage{@item while not in a list environment}} +\def\itemx{\errmessage{@itemx while not in a list environment}} % @table, @ftable, @vtable. -\def\table{\begingroup\inENV\obeylines\obeyspaces\tablex} -{\obeylines\obeyspaces% -\gdef\tablex #1^^M{% -\tabley\dontindex#1 \endtabley}} - -\def\ftable{\begingroup\inENV\obeylines\obeyspaces\ftablex} -{\obeylines\obeyspaces% -\gdef\ftablex #1^^M{% -\tabley\fnitemindex#1 \endtabley -\def\Eftable{\endgraf\afterenvbreak\endgroup}% -\let\Etable=\relax}} - -\def\vtable{\begingroup\inENV\obeylines\obeyspaces\vtablex} -{\obeylines\obeyspaces% -\gdef\vtablex #1^^M{% -\tabley\vritemindex#1 \endtabley -\def\Evtable{\endgraf\afterenvbreak\endgroup}% -\let\Etable=\relax}} - -\def\dontindex #1{} -\def\fnitemindex #1{\doind {fn}{\code{#1}}}% -\def\vritemindex #1{\doind {vr}{\code{#1}}}% - -{\obeyspaces % -\gdef\tabley#1#2 #3 #4 #5 #6 #7\endtabley{\endgroup% -\tablez{#1}{#2}{#3}{#4}{#5}{#6}}} - -\def\tablez #1#2#3#4#5#6{% -\aboveenvbreak % -\begingroup % -\def\Edescription{\Etable}% Necessary kludge. -\let\itemindex=#1% -\ifnum 0#3>0 \advance \leftskip by #3\mil \fi % -\ifnum 0#4>0 \tableindent=#4\mil \fi % -\ifnum 0#5>0 \advance \rightskip by #5\mil \fi % -\def\itemfont{#2}% -\itemmax=\tableindent % -\advance \itemmax by -\itemmargin % -\advance \leftskip by \tableindent % -\exdentamount=\tableindent -\parindent = 0pt -\parskip = \smallskipamount -\ifdim \parskip=0pt \parskip=2pt \fi% -\def\Etable{\endgraf\afterenvbreak\endgroup}% -\let\item = \internalBitem % -\let\itemx = \internalBitemx % -\let\kitem = \internalBkitem % -\let\kitemx = \internalBkitemx % -\let\xitem = \internalBxitem % -\let\xitemx = \internalBxitemx % +\envdef\table{% + \let\itemindex\gobble + \tablecheck{table}% +} +\envdef\ftable{% + \def\itemindex ##1{\doind {fn}{\code{##1}}}% + \tablecheck{ftable}% +} +\envdef\vtable{% + \def\itemindex ##1{\doind {vr}{\code{##1}}}% + \tablecheck{vtable}% +} +\def\tablecheck#1{% + \ifnum \the\catcode`\^^M=\active + \endgroup + \errmessage{This command won't work in this context; perhaps the problem is + that we are \inenvironment\thisenv}% + \def\next{\doignore{#1}}% + \else + \let\next\tablex + \fi + \next +} +\def\tablex#1{% + \def\itemindicate{#1}% + \parsearg\tabley +} +\def\tabley#1{% + {% + \makevalueexpandable + \edef\temp{\noexpand\tablez #1\space\space\space}% + \expandafter + }\temp \endtablez +} +\def\tablez #1 #2 #3 #4\endtablez{% + \aboveenvbreak + \ifnum 0#1>0 \advance \leftskip by #1\mil \fi + \ifnum 0#2>0 \tableindent=#2\mil \fi + \ifnum 0#3>0 \advance \rightskip by #3\mil \fi + \itemmax=\tableindent + \advance \itemmax by -\itemmargin + \advance \leftskip by \tableindent + \exdentamount=\tableindent + \parindent = 0pt + \parskip = \smallskipamount + \ifdim \parskip=0pt \parskip=2pt \fi + \let\item = \internalBitem + \let\itemx = \internalBitemx } +\def\Etable{\endgraf\afterenvbreak} +\let\Eftable\Etable +\let\Evtable\Etable +\let\Eitemize\Etable +\let\Eenumerate\Etable % This is the counter used by @enumerate, which is really @itemize \newcount \itemno -\def\itemize{\parsearg\itemizezzz} +\envdef\itemize{\parsearg\doitemize} -\def\itemizezzz #1{% - \begingroup % ended by the @end itemize - \itemizey {#1}{\Eitemize} +\def\doitemize#1{% + \aboveenvbreak + \itemmax=\itemindent + \advance\itemmax by -\itemmargin + \advance\leftskip by \itemindent + \exdentamount=\itemindent + \parindent=0pt + \parskip=\smallskipamount + \ifdim\parskip=0pt \parskip=2pt \fi + \def\itemcontents{#1}% + % @itemize with no arg is equivalent to @itemize @bullet. + \ifx\itemcontents\empty\def\itemcontents{\bullet}\fi + \let\item=\itemizeitem } -\def\itemizey #1#2{% -\aboveenvbreak % -\itemmax=\itemindent % -\advance \itemmax by -\itemmargin % -\advance \leftskip by \itemindent % -\exdentamount=\itemindent -\parindent = 0pt % -\parskip = \smallskipamount % -\ifdim \parskip=0pt \parskip=2pt \fi% -\def#2{\endgraf\afterenvbreak\endgroup}% -\def\itemcontents{#1}% -\let\item=\itemizeitem} - -% Set sfcode to normal for the chars that usually have another value. -% These are `.?!:;,' -\def\frenchspacing{\sfcode46=1000 \sfcode63=1000 \sfcode33=1000 - \sfcode58=1000 \sfcode59=1000 \sfcode44=1000 } +% Definition of @item while inside @itemize and @enumerate. +% +\def\itemizeitem{% + \advance\itemno by 1 % for enumerations + {\let\par=\endgraf \smallbreak}% reasonable place to break + {% + % If the document has an @itemize directly after a section title, a + % \nobreak will be last on the list, and \sectionheading will have + % done a \vskip-\parskip. In that case, we don't want to zero + % parskip, or the item text will crash with the heading. On the + % other hand, when there is normal text preceding the item (as there + % usually is), we do want to zero parskip, or there would be too much + % space. In that case, we won't have a \nobreak before. At least + % that's the theory. + \ifnum\lastpenalty<10000 \parskip=0in \fi + \noindent + \hbox to 0pt{\hss \itemcontents \kern\itemmargin}% + \vadjust{\penalty 1200}}% not good to break after first line of item. + \flushcr +} % \splitoff TOKENS\endmark defines \first to be the first token in % TOKENS, and \rest to be the remainder. @@ -1996,11 +2762,8 @@ where each line of input produces a line of output.} % or number, to specify the first label in the enumerated list. No % argument is the same as `1'. % -\def\enumerate{\parsearg\enumeratezzz} -\def\enumeratezzz #1{\enumeratey #1 \endenumeratey} +\envparseargdef\enumerate{\enumeratey #1 \endenumeratey} \def\enumeratey #1 #2\endenumeratey{% - \begingroup % ended by the @end enumerate - % % If we were given no argument, pretend we were given `1'. \def\thearg{#1}% \ifx\thearg\empty \def\thearg{1}\fi @@ -2071,13 +2834,13 @@ where each line of input produces a line of output.} }% } -% Call itemizey, adding a period to the first argument and supplying the +% Call \doitemize, adding a period to the first argument and supplying the % common last two arguments. Also subtract one from the initial value in % \itemno, since @item increments \itemno. % \def\startenumeration#1{% \advance\itemno by -1 - \itemizey{#1.}\Eenumerate\flushcr + \doitemize{#1.}\flushcr } % @alphaenumerate and @capsenumerate are abbreviations for giving an arg @@ -2088,16 +2851,6 @@ where each line of input produces a line of output.} \def\Ealphaenumerate{\Eenumerate} \def\Ecapsenumerate{\Eenumerate} -% Definition of @item while inside @itemize. - -\def\itemizeitem{% -\advance\itemno by 1 -{\let\par=\endgraf \smallbreak}% -\ifhmode \errmessage{In hmode at itemizeitem}\fi -{\parskip=0in \hskip 0pt -\hbox to 0pt{\hss \itemcontents\hskip \itemmargin}% -\vadjust{\penalty 1200}}% -\flushcr} % @multitable macros % Amy Hendrickson, 8/18/94, 3/6/96 @@ -2124,24 +2877,14 @@ where each line of input produces a line of output.} % @multitable {Column 1 template} {Column 2 template} {Column 3 template} % @item ... % using the widest term desired in each column. -% -% For those who want to use more than one line's worth of words in -% the preamble, break the line within one argument and it -% will parse correctly, i.e., -% -% @multitable {Column 1 template} {Column 2 template} {Column 3 -% template} -% Not: -% @multitable {Column 1 template} {Column 2 template} -% {Column 3 template} % Each new table line starts with @item, each subsequent new column % starts with @tab. Empty columns may be produced by supplying @tab's % with nothing between them for as many times as empty columns are needed, % ie, @tab@tab@tab will produce two empty columns. -% @item, @tab, @multitable or @end multitable do not need to be on their -% own lines, but it will not hurt if they are. +% @item, @tab do not need to be on their own lines, but it will not hurt +% if they are. % Sample multitable: @@ -2185,13 +2928,12 @@ where each line of input produces a line of output.} \def\xcolumnfractions{\columnfractions} \newif\ifsetpercent -% #1 is the part of the @columnfraction before the decimal point, which -% is presumably either 0 or the empty string (but we don't check, we -% just throw it away). #2 is the decimal part, which we use as the -% percent of \hsize for this column. -\def\pickupwholefraction#1.#2 {% +% #1 is the @columnfraction, usually a decimal number like .5, but might +% be just 1. We just use it, whatever it is. +% +\def\pickupwholefraction#1 {% \global\advance\colcount by 1 - \expandafter\xdef\csname col\the\colcount\endcsname{.#2\hsize}% + \expandafter\xdef\csname col\the\colcount\endcsname{#1\hsize}% \setuptable } @@ -2208,8 +2950,8 @@ where each line of input produces a line of output.} \let\go\pickupwholefraction \else \global\advance\colcount by 1 - \setbox0=\hbox{#1\unskip }% Add a normal word space as a separator; - % typically that is always in the input, anyway. + \setbox0=\hbox{#1\unskip\space}% Add a normal word space as a + % separator; typically that is always in the input, anyway. \expandafter\xdef\csname col\the\colcount\endcsname{\the\wd0}% \fi \fi @@ -2224,18 +2966,33 @@ where each line of input produces a line of output.} \go } -% This used to have \hskip1sp. But then the space in a template line is -% not enough. That is bad. So let's go back to just & until we -% encounter the problem it was intended to solve again. -% --karl, nathan@acm.org, 20apr99. -\def\tab{&} +% multitable-only commands. +% +% @headitem starts a heading row, which we typeset in bold. +% Assignments have to be global since we are inside the implicit group +% of an alignment entry. Note that \everycr resets \everytab. +\def\headitem{\checkenv\multitable \crcr \global\everytab={\bf}\the\everytab}% +% +% A \tab used to include \hskip1sp. But then the space in a template +% line is not enough. That is bad. So let's go back to just `&' until +% we encounter the problem it was intended to solve again. +% --karl, nathan@acm.org, 20apr99. +\def\tab{\checkenv\multitable &\the\everytab}% % @multitable ... @end multitable definitions: % -\def\multitable{\parsearg\dotable} -\def\dotable#1{\bgroup +\newtoks\everytab % insert after every tab. +% +\envdef\multitable{% \vskip\parskip - \let\item\crcr + \startsavinginserts + % + % @item within a multitable starts a normal row. + % We use \def instead of \let so that if one of the multitable entries + % contains an @itemize, we don't choke on the \item (seen as \crcr aka + % \endtemplate) expanding \doitemize. + \def\item{\crcr}% + % \tolerance=9500 \hbadness=9500 \setmultitablespacing @@ -2243,81 +3000,93 @@ where each line of input produces a line of output.} \parindent=\multitableparindent \overfullrule=0pt \global\colcount=0 - \def\Emultitable{\global\setpercentfalse\cr\egroup\egroup}% % + \everycr = {% + \noalign{% + \global\everytab={}% + \global\colcount=0 % Reset the column counter. + % Check for saved footnotes, etc. + \checkinserts + % Keeps underfull box messages off when table breaks over pages. + %\filbreak + % Maybe so, but it also creates really weird page breaks when the + % table breaks over pages. Wouldn't \vfil be better? Wait until the + % problem manifests itself, so it can be fixed for real --karl. + }% + }% + % + \parsearg\domultitable +} +\def\domultitable#1{% % To parse everything between @multitable and @item: \setuptable#1 \endsetuptable % - % \everycr will reset column counter, \colcount, at the end of - % each line. Every column entry will cause \colcount to advance by one. - % The table preamble - % looks at the current \colcount to find the correct column width. - \everycr{\noalign{% - % - % \filbreak%% keeps underfull box messages off when table breaks over pages. - % Maybe so, but it also creates really weird page breaks when the table - % breaks over pages. Wouldn't \vfil be better? Wait until the problem - % manifests itself, so it can be fixed for real --karl. - \global\colcount=0\relax}}% - % % This preamble sets up a generic column definition, which will % be used as many times as user calls for columns. % \vtop will set a single line and will also let text wrap and % continue for many paragraphs if desired. - \halign\bgroup&\global\advance\colcount by 1\relax - \multistrut\vtop{\hsize=\expandafter\csname col\the\colcount\endcsname - % - % In order to keep entries from bumping into each other - % we will add a \leftskip of \multitablecolspace to all columns after - % the first one. - % - % If a template has been used, we will add \multitablecolspace - % to the width of each template entry. - % - % If the user has set preamble in terms of percent of \hsize we will - % use that dimension as the width of the column, and the \leftskip - % will keep entries from bumping into each other. Table will start at - % left margin and final column will justify at right margin. - % - % Make sure we don't inherit \rightskip from the outer environment. - \rightskip=0pt - \ifnum\colcount=1 - % The first column will be indented with the surrounding text. - \advance\hsize by\leftskip - \else - \ifsetpercent \else - % If user has not set preamble in terms of percent of \hsize - % we will advance \hsize by \multitablecolspace. - \advance\hsize by \multitablecolspace - \fi - % In either case we will make \leftskip=\multitablecolspace: - \leftskip=\multitablecolspace - \fi - % Ignoring space at the beginning and end avoids an occasional spurious - % blank line, when TeX decides to break the line at the space before the - % box from the multistrut, so the strut ends up on a line by itself. - % For example: - % @multitable @columnfractions .11 .89 - % @item @code{#} - % @tab Legal holiday which is valid in major parts of the whole country. - % Is automatically provided with highlighting sequences respectively marking - % characters. - \noindent\ignorespaces##\unskip\multistrut}\cr -} - -\def\setmultitablespacing{% test to see if user has set \multitablelinespace. -% If so, do nothing. If not, give it an appropriate dimension based on -% current baselineskip. + \halign\bgroup &% + \global\advance\colcount by 1 + \multistrut + \vtop{% + % Use the current \colcount to find the correct column width: + \hsize=\expandafter\csname col\the\colcount\endcsname + % + % In order to keep entries from bumping into each other + % we will add a \leftskip of \multitablecolspace to all columns after + % the first one. + % + % If a template has been used, we will add \multitablecolspace + % to the width of each template entry. + % + % If the user has set preamble in terms of percent of \hsize we will + % use that dimension as the width of the column, and the \leftskip + % will keep entries from bumping into each other. Table will start at + % left margin and final column will justify at right margin. + % + % Make sure we don't inherit \rightskip from the outer environment. + \rightskip=0pt + \ifnum\colcount=1 + % The first column will be indented with the surrounding text. + \advance\hsize by\leftskip + \else + \ifsetpercent \else + % If user has not set preamble in terms of percent of \hsize + % we will advance \hsize by \multitablecolspace. + \advance\hsize by \multitablecolspace + \fi + % In either case we will make \leftskip=\multitablecolspace: + \leftskip=\multitablecolspace + \fi + % Ignoring space at the beginning and end avoids an occasional spurious + % blank line, when TeX decides to break the line at the space before the + % box from the multistrut, so the strut ends up on a line by itself. + % For example: + % @multitable @columnfractions .11 .89 + % @item @code{#} + % @tab Legal holiday which is valid in major parts of the whole country. + % Is automatically provided with highlighting sequences respectively + % marking characters. + \noindent\ignorespaces##\unskip\multistrut + }\cr +} +\def\Emultitable{% + \crcr + \egroup % end the \halign + \global\setpercentfalse +} + +\def\setmultitablespacing{% + \def\multistrut{\strut}% just use the standard line spacing + % + % Compute \multitablelinespace (if not defined by user) for use in + % \multitableparskip calculation. We used define \multistrut based on + % this, but (ironically) that caused the spacing to be off. + % See bug-texinfo report from Werner Lemberg, 31 Oct 2004 12:52:20 +0100. \ifdim\multitablelinespace=0pt \setbox0=\vbox{X}\global\multitablelinespace=\the\baselineskip \global\advance\multitablelinespace by-\ht0 -%% strut to put in table in case some entry doesn't have descenders, -%% to keep lines equally spaced -\let\multistrut = \strut -\else -%% FIXME: what is \box0 supposed to be? -\gdef\multistrut{\vrule height\multitablelinespace depth\dp0 -width0pt\relax} \fi +\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. @@ -2334,294 +3103,178 @@ width0pt\relax} \fi \message{conditionals,} -% Prevent errors for section commands. -% Used in @ignore and in failing conditionals. -\def\ignoresections{% - \let\chapter=\relax - \let\unnumbered=\relax - \let\top=\relax - \let\unnumberedsec=\relax - \let\unnumberedsection=\relax - \let\unnumberedsubsec=\relax - \let\unnumberedsubsection=\relax - \let\unnumberedsubsubsec=\relax - \let\unnumberedsubsubsection=\relax - \let\section=\relax - \let\subsec=\relax - \let\subsubsec=\relax - \let\subsection=\relax - \let\subsubsection=\relax - \let\appendix=\relax - \let\appendixsec=\relax - \let\appendixsection=\relax - \let\appendixsubsec=\relax - \let\appendixsubsection=\relax - \let\appendixsubsubsec=\relax - \let\appendixsubsubsection=\relax - \let\contents=\relax - \let\smallbook=\relax - \let\titlepage=\relax -} - -% Used in nested conditionals, where we have to parse the Texinfo source -% and so want to turn off most commands, in case they are used -% incorrectly. -% -\def\ignoremorecommands{% - \let\defcodeindex = \relax - \let\defcv = \relax - \let\deffn = \relax - \let\deffnx = \relax - \let\defindex = \relax - \let\defivar = \relax - \let\defmac = \relax - \let\defmethod = \relax - \let\defop = \relax - \let\defopt = \relax - \let\defspec = \relax - \let\deftp = \relax - \let\deftypefn = \relax - \let\deftypefun = \relax - \let\deftypeivar = \relax - \let\deftypeop = \relax - \let\deftypevar = \relax - \let\deftypevr = \relax - \let\defun = \relax - \let\defvar = \relax - \let\defvr = \relax - \let\ref = \relax - \let\xref = \relax - \let\printindex = \relax - \let\pxref = \relax - \let\settitle = \relax - \let\setchapternewpage = \relax - \let\setchapterstyle = \relax - \let\everyheading = \relax - \let\evenheading = \relax - \let\oddheading = \relax - \let\everyfooting = \relax - \let\evenfooting = \relax - \let\oddfooting = \relax - \let\headings = \relax - \let\include = \relax - \let\lowersections = \relax - \let\down = \relax - \let\raisesections = \relax - \let\up = \relax - \let\set = \relax - \let\clear = \relax - \let\item = \relax -} - -% Ignore @ignore, @ifhtml, @ifinfo, @ifplaintext, @ifnottex, @html, @menu, -% @direntry, and @documentdescription. + +% @iftex, @ifnotdocbook, @ifnothtml, @ifnotinfo, @ifnotplaintext, +% @ifnotxml always succeed. They currently do nothing; we don't +% attempt to check whether the conditionals are properly nested. But we +% have to remember that they are conditionals, so that @end doesn't +% attempt to close an environment group. % -\def\ignore{\doignore{ignore}} +\def\makecond#1{% + \expandafter\let\csname #1\endcsname = \relax + \expandafter\let\csname iscond.#1\endcsname = 1 +} +\makecond{iftex} +\makecond{ifnotdocbook} +\makecond{ifnothtml} +\makecond{ifnotinfo} +\makecond{ifnotplaintext} +\makecond{ifnotxml} + +% Ignore @ignore, @ifhtml, @ifinfo, and the like. +% +\def\direntry{\doignore{direntry}} +\def\documentdescription{\doignore{documentdescription}} +\def\docbook{\doignore{docbook}} +\def\html{\doignore{html}} +\def\ifdocbook{\doignore{ifdocbook}} \def\ifhtml{\doignore{ifhtml}} \def\ifinfo{\doignore{ifinfo}} -\def\ifplaintext{\doignore{ifplaintext}} \def\ifnottex{\doignore{ifnottex}} -\def\html{\doignore{html}} +\def\ifplaintext{\doignore{ifplaintext}} +\def\ifxml{\doignore{ifxml}} +\def\ignore{\doignore{ignore}} \def\menu{\doignore{menu}} -\def\direntry{\doignore{direntry}} -\def\documentdescription{\doignore{documentdescription}} -\def\documentdescriptionword{documentdescription} +\def\xml{\doignore{xml}} -% @dircategory CATEGORY -- specify a category of the dir file -% which this file should belong to. Ignore this in TeX. -\let\dircategory = \comment - -% Ignore text until a line `@end #1'. +% Ignore text until a line `@end #1', keeping track of nested conditionals. % +% A count to remember the depth of nesting. +\newcount\doignorecount + \def\doignore#1{\begingroup - % Don't complain about control sequences we have declared \outer. - \ignoresections - % - % Define a command to swallow text until we reach `@end #1'. - % This @ is a catcode 12 token (that is the normal catcode of @ in - % this texinfo.tex file). We change the catcode of @ below to match. - \long\def\doignoretext##1@end #1{\enddoignore}% + % Scan in ``verbatim'' mode: + \obeylines + \catcode`\@ = \other + \catcode`\{ = \other + \catcode`\} = \other % % Make sure that spaces turn into tokens that match what \doignoretext wants. - \catcode32 = 10 - % - % Ignore braces, too, so mismatched braces don't cause trouble. - \catcode`\{ = 9 - \catcode`\} = 9 + \spaceisspace % - % We must not have @c interpreted as a control sequence. - \catcode`\@ = 12 - % - \def\ignoreword{#1}% - \ifx\ignoreword\documentdescriptionword - % The c kludge breaks documentdescription, since - % `documentdescription' contains a `c'. Means not everything will - % be ignored inside @documentdescription, but oh well... - \else - % Make the letter c a comment character so that the rest of the line - % will be ignored. This way, the document can have (for example) - % @c @end ifinfo - % and the @end ifinfo will be properly ignored. - % (We've just changed @ to catcode 12.) - \catcode`\c = 14 - \fi + % Count number of #1's that we've seen. + \doignorecount = 0 % - % And now expand the command defined above. - \doignoretext -} - -% What we do to finish off ignored text. -% -\def\enddoignore{\endgroup\ignorespaces}% - -\newif\ifwarnedobs\warnedobsfalse -\def\obstexwarn{% - \ifwarnedobs\relax\else - % We need to warn folks that they may have trouble with TeX 3.0. - % This uses \immediate\write16 rather than \message to get newlines. - \immediate\write16{} - \immediate\write16{WARNING: for users of Unix TeX 3.0!} - \immediate\write16{This manual trips a bug in TeX version 3.0 (tex hangs).} - \immediate\write16{If you are running another version of TeX, relax.} - \immediate\write16{If you are running Unix TeX 3.0, kill this TeX process.} - \immediate\write16{ Then upgrade your TeX installation if you can.} - \immediate\write16{ (See ftp://ftp.gnu.org/pub/gnu/TeX.README.)} - \immediate\write16{If you are stuck with version 3.0, run the} - \immediate\write16{ script ``tex3patch'' from the Texinfo distribution} - \immediate\write16{ to use a workaround.} - \immediate\write16{} - \global\warnedobstrue - \fi + % Swallow text until we reach the matching `@end #1'. + \dodoignore{#1}% } -% **In TeX 3.0, setting text in \nullfont hangs tex. For a -% workaround (which requires the file ``dummy.tfm'' to be installed), -% uncomment the following line: -%%%%%\font\nullfont=dummy\let\obstexwarn=\relax - -% Ignore text, except that we keep track of conditional commands for -% purposes of nesting, up to an `@end #1' command. -% -\def\nestedignore#1{% - \obstexwarn - % We must actually expand the ignored text to look for the @end - % command, so that nested ignore constructs work. Thus, we put the - % text into a \vbox and then do nothing with the result. To minimize - % the change of memory overflow, we follow the approach outlined on - % page 401 of the TeXbook: make the current font be a dummy font. +{ \catcode`_=11 % We want to use \_STOP_ which cannot appear in texinfo source. + \obeylines % % - \setbox0 = \vbox\bgroup - % Don't complain about control sequences we have declared \outer. - \ignoresections + \gdef\dodoignore#1{% + % #1 contains the command name as a string, e.g., `ifinfo'. % - % Define `@end #1' to end the box, which will in turn undefine the - % @end command again. - \expandafter\def\csname E#1\endcsname{\egroup\ignorespaces}% + % Define a command to find the next `@end #1'. + \long\def\doignoretext##1^^M@end #1{% + \doignoretextyyy##1^^M@#1\_STOP_}% % - % We are going to be parsing Texinfo commands. Most cause no - % trouble when they are used incorrectly, but some commands do - % complicated argument parsing or otherwise get confused, so we - % undefine them. + % And this command to find another #1 command, at the beginning of a + % line. (Otherwise, we would consider a line `@c @ifset', for + % example, to count as an @ifset for nesting.) + \long\def\doignoretextyyy##1^^M@#1##2\_STOP_{\doignoreyyy{##2}\_STOP_}% % - % We can't do anything about stray @-signs, unfortunately; - % they'll produce `undefined control sequence' errors. - \ignoremorecommands - % - % Set the current font to be \nullfont, a TeX primitive, and define - % all the font commands to also use \nullfont. We don't use - % dummy.tfm, as suggested in the TeXbook, because not all sites - % might have that installed. Therefore, math mode will still - % produce output, but that should be an extremely small amount of - % stuff compared to the main input. - % - \nullfont - \let\tenrm=\nullfont \let\tenit=\nullfont \let\tensl=\nullfont - \let\tenbf=\nullfont \let\tentt=\nullfont \let\smallcaps=\nullfont - \let\tensf=\nullfont - % Similarly for index fonts. - \let\smallrm=\nullfont \let\smallit=\nullfont \let\smallsl=\nullfont - \let\smallbf=\nullfont \let\smalltt=\nullfont \let\smallsc=\nullfont - \let\smallsf=\nullfont - % Similarly for smallexample fonts. - \let\smallerrm=\nullfont \let\smallerit=\nullfont \let\smallersl=\nullfont - \let\smallerbf=\nullfont \let\smallertt=\nullfont \let\smallersc=\nullfont - \let\smallersf=\nullfont - % - % Don't complain when characters are missing from the fonts. - \tracinglostchars = 0 - % - % Don't bother to do space factor calculations. - \frenchspacing - % - % Don't report underfull hboxes. - \hbadness = 10000 - % - % Do minimal line-breaking. - \pretolerance = 10000 - % - % Do not execute instructions in @tex - \def\tex{\doignore{tex}}% - % Do not execute macro definitions. - % `c' is a comment character, so the word `macro' will get cut off. - \def\macro{\doignore{ma}}% + % And now expand that command. + \doignoretext ^^M% + }% +} + +\def\doignoreyyy#1{% + \def\temp{#1}% + \ifx\temp\empty % Nothing found. + \let\next\doignoretextzzz + \else % Found a nested condition, ... + \advance\doignorecount by 1 + \let\next\doignoretextyyy % ..., look for another. + % If we're here, #1 ends with ^^M\ifinfo (for example). + \fi + \next #1% the token \_STOP_ is present just after this macro. +} + +% We have to swallow the remaining "\_STOP_". +% +\def\doignoretextzzz#1{% + \ifnum\doignorecount = 0 % We have just found the outermost @end. + \let\next\enddoignore + \else % Still inside a nested condition. + \advance\doignorecount by -1 + \let\next\doignoretext % Look for the next @end. + \fi + \next } +% Finish off ignored text. +{ \obeylines% + % Ignore anything after the last `@end #1'; this matters in verbatim + % environments, where otherwise the newline after an ignored conditional + % would result in a blank line in the output. + \gdef\enddoignore#1^^M{\endgroup\ignorespaces}% +} + + % @set VAR sets the variable VAR to an empty value. % @set VAR REST-OF-LINE sets VAR to the value REST-OF-LINE. % % Since we want to separate VAR from REST-OF-LINE (which might be % empty), we can't just use \parsearg; we have to insert a space of our % own to delimit the rest of the line, and then take it out again if we -% didn't need it. Make sure the catcode of space is correct to avoid -% losing inside @example, for instance. +% didn't need it. +% We rely on the fact that \parsearg sets \catcode`\ =10. % -\def\set{\begingroup\catcode` =10 - \catcode`\-=12 \catcode`\_=12 % Allow - and _ in VAR. - \parsearg\setxxx} -\def\setxxx#1{\setyyy#1 \endsetyyy} +\parseargdef\set{\setyyy#1 \endsetyyy} \def\setyyy#1 #2\endsetyyy{% - \def\temp{#2}% - \ifx\temp\empty \global\expandafter\let\csname SET#1\endcsname = \empty - \else \setzzz{#1}#2\endsetzzz % Remove the trailing space \setxxx inserted. - \fi - \endgroup + {% + \makevalueexpandable + \def\temp{#2}% + \edef\next{\gdef\makecsname{SET#1}}% + \ifx\temp\empty + \next{}% + \else + \setzzz#2\endsetzzz + \fi + }% } -% Can't use \xdef to pre-expand #2 and save some time, since \temp or -% \next or other control sequences that we've defined might get us into -% an infinite loop. Consider `@set foo @cite{bar}'. -\def\setzzz#1#2 \endsetzzz{\expandafter\gdef\csname SET#1\endcsname{#2}} +% Remove the trailing space \setxxx inserted. +\def\setzzz#1 \endsetzzz{\next{#1}} % @clear VAR clears (i.e., unsets) the variable VAR. % -\def\clear{\parsearg\clearxxx} -\def\clearxxx#1{\global\expandafter\let\csname SET#1\endcsname=\relax} +\parseargdef\clear{% + {% + \makevalueexpandable + \global\expandafter\let\csname SET#1\endcsname=\relax + }% +} % @value{foo} gets the text saved in variable foo. +\def\value{\begingroup\makevalueexpandable\valuexxx} +\def\valuexxx#1{\expandablevalue{#1}\endgroup} { - \catcode`\_ = \active + \catcode`\- = \active \catcode`\_ = \active % - % We might end up with active _ or - characters in the argument if - % we're called from @code, as @code{@value{foo-bar_}}. So \let any - % such active characters to their normal equivalents. - \gdef\value{\begingroup - \catcode`\-=12 \catcode`\_=12 - \indexbreaks \let_\normalunderscore - \valuexxx} + \gdef\makevalueexpandable{% + \let\value = \expandablevalue + % We don't want these characters active, ... + \catcode`\-=\other \catcode`\_=\other + % ..., but we might end up with active ones in the argument if + % we're called from @code, as @code{@value{foo-bar_}}, though. + % So \let them to their normal equivalents. + \let-\realdash \let_\normalunderscore + } } -\def\valuexxx#1{\expandablevalue{#1}\endgroup} % We have this subroutine so that we can handle at least some @value's -% properly in indexes (we \let\value to this in \indexdummies). Ones -% whose names contain - or _ still won't work, but we can't do anything -% about that. The command has to be fully expandable, since the result -% winds up in the index file. This means that if the variable's value -% contains other Texinfo commands, it's almost certain it will fail -% (although perhaps we could fix that with sufficient work to do a -% one-level expansion on the result, instead of complete). +% properly in indexes (we call \makevalueexpandable in \indexdummies). +% The command has to be fully expandable (if the variable is set), since +% the result winds up in the index file. This means that if the +% variable's value contains other Texinfo commands, it's almost certain +% it will fail (although perhaps we could fix that with sufficient work +% to do a one-level expansion on the result, instead of complete). % \def\expandablevalue#1{% \expandafter\ifx\csname SET#1\endcsname\relax {[No value for ``#1'']}% + \message{Variable `#1', used in @value, is not set.}% \else \csname SET#1\endcsname \fi @@ -2630,68 +3283,36 @@ width0pt\relax} \fi % @ifset VAR ... @end ifset reads the `...' iff VAR has been defined % with @set. % -\def\ifset{\parsearg\ifsetxxx} -\def\ifsetxxx #1{% - \expandafter\ifx\csname SET#1\endcsname\relax - \expandafter\ifsetfail - \else - \expandafter\ifsetsucceed - \fi +% To get special treatment of `@end ifset,' call \makeond and the redefine. +% +\makecond{ifset} +\def\ifset{\parsearg{\doifset{\let\next=\ifsetfail}}} +\def\doifset#1#2{% + {% + \makevalueexpandable + \let\next=\empty + \expandafter\ifx\csname SET#2\endcsname\relax + #1% If not set, redefine \next. + \fi + \expandafter + }\next } -\def\ifsetsucceed{\conditionalsucceed{ifset}} -\def\ifsetfail{\nestedignore{ifset}} -\defineunmatchedend{ifset} +\def\ifsetfail{\doignore{ifset}} % @ifclear VAR ... @end ifclear reads the `...' iff VAR has never been % defined with @set, or has been undefined with @clear. % -\def\ifclear{\parsearg\ifclearxxx} -\def\ifclearxxx #1{% - \expandafter\ifx\csname SET#1\endcsname\relax - \expandafter\ifclearsucceed - \else - \expandafter\ifclearfail - \fi -} -\def\ifclearsucceed{\conditionalsucceed{ifclear}} -\def\ifclearfail{\nestedignore{ifclear}} -\defineunmatchedend{ifclear} - -% @iftex, @ifnothtml, @ifnotinfo, @ifnotplaintext always succeed; we -% read the text following, through the first @end iftex (etc.). Make -% `@end iftex' (etc.) valid only after an @iftex. -% -\def\iftex{\conditionalsucceed{iftex}} -\def\ifnothtml{\conditionalsucceed{ifnothtml}} -\def\ifnotinfo{\conditionalsucceed{ifnotinfo}} -\def\ifnotplaintext{\conditionalsucceed{ifnotplaintext}} -\defineunmatchedend{iftex} -\defineunmatchedend{ifnothtml} -\defineunmatchedend{ifnotinfo} -\defineunmatchedend{ifnotplaintext} - -% We can't just want to start a group at @iftex (etc.) and end it at -% @end iftex, since then @set commands inside the conditional have no -% effect (they'd get reverted at the end of the group). So we must -% define \Eiftex to redefine itself to be its previous value. (We can't -% just define it to fail again with an ``unmatched end'' error, since -% the @ifset might be nested.) -% -\def\conditionalsucceed#1{% - \edef\temp{% - % Remember the current value of \E#1. - \let\nece{prevE#1} = \nece{E#1}% - % - % At the `@end #1', redefine \E#1 to be its previous value. - \def\nece{E#1}{\let\nece{E#1} = \nece{prevE#1}}% - }% - \temp -} - -% We need to expand lots of \csname's, but we don't want to expand the -% control sequences after we've constructed them. +% The `\else' inside the `\doifset' parameter is a trick to reuse the +% above code: if the variable is not set, do nothing, if it is set, +% then redefine \next to \ifclearfail. % -\def\nece#1{\expandafter\noexpand\csname#1\endcsname} +\makecond{ifclear} +\def\ifclear{\parsearg{\doifset{\else \let\next=\ifclearfail}}} +\def\ifclearfail{\doignore{ifclear}} + +% @dircategory CATEGORY -- specify a category of the dir file +% which this file should belong to. Ignore this in TeX. +\let\dircategory=\comment % @defininfoenclose. \let\definfoenclose=\comment @@ -2701,9 +3322,8 @@ width0pt\relax} \fi % Index generation facilities % Define \newwrite to be identical to plain tex's \newwrite -% except not \outer, so it can be used within \newindex. -{\catcode`\@=11 -\gdef\newwrite{\alloc@7\write\chardef\sixt@@n}} +% except not \outer, so it can be used within macros and \if's. +\edef\newwrite{\makecsname{ptexnewwrite}} % \newindex {foo} defines an index named foo. % It automatically defines \fooindex such that @@ -2742,10 +3362,10 @@ width0pt\relax} \fi % @synindex foo bar makes index foo feed into index bar. % Do this instead of @defindex foo if you don't want it as a separate index. -% +% % @syncodeindex foo bar similar, but put all entries made for index foo % inside @code. -% +% \def\synindex#1 #2 {\dosynindex\doindex{#1}{#2}} \def\syncodeindex#1 #2 {\dosynindex\docodeindex{#1}{#2}} @@ -2784,284 +3404,422 @@ width0pt\relax} \fi \def\docodeindex#1{\edef\indexname{#1}\parsearg\singlecodeindexer} \def\singlecodeindexer #1{\doind{\indexname}{\code{#1}}} -% Take care of texinfo commands likely to appear in an index entry. -% (Must be a way to avoid doing expansion at all, and thus not have to -% laboriously list every single command here.) -% +% Take care of Texinfo commands that can appear in an index entry. +% Since there are some commands we want to expand, and others we don't, +% we have to laboriously prevent expansion for those that we don't. +% \def\indexdummies{% -\def\ { }% -\def\@{@}% change to @@ when we switch to @ as escape char in aux files. -% 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 -\def\_{{\realbackslash _}}% -\normalturnoffactive -% -% Take care of the plain tex accent commands. -\def\,##1{\realbackslash ,{##1}}% -\def\"{\realbackslash "}% -\def\`{\realbackslash `}% -\def\'{\realbackslash '}% -\def\^{\realbackslash ^}% -\def\~{\realbackslash ~}% -\def\={\realbackslash =}% -\def\b{\realbackslash b}% -\def\c{\realbackslash c}% -\def\d{\realbackslash d}% -\def\u{\realbackslash u}% -\def\v{\realbackslash v}% -\def\H{\realbackslash H}% -\def\dotless##1{\realbackslash dotless {##1}}% -% Take care of the plain tex special European modified letters. -\def\AA{\realbackslash AA}% -\def\AE{\realbackslash AE}% -\def\L{\realbackslash L}% -\def\OE{\realbackslash OE}% -\def\O{\realbackslash O}% -\def\aa{\realbackslash aa}% -\def\ae{\realbackslash ae}% -\def\l{\realbackslash l}% -\def\oe{\realbackslash oe}% -\def\o{\realbackslash o}% -\def\ss{\realbackslash ss}% -% -% Although these internals commands shouldn't show up, sometimes they do. -\def\bf{\realbackslash bf }% -\def\gtr{\realbackslash gtr}% -\def\hat{\realbackslash hat}% -\def\less{\realbackslash less}% -%\def\rm{\realbackslash rm }% -\def\sf{\realbackslash sf}% -\def\sl{\realbackslash sl }% -\def\tclose##1{\realbackslash tclose {##1}}% -\def\tt{\realbackslash tt}% -% -\def\b##1{\realbackslash b {##1}}% -\def\i##1{\realbackslash i {##1}}% -\def\sc##1{\realbackslash sc {##1}}% -\def\t##1{\realbackslash t {##1}}% -\def\r##1{\realbackslash r {##1}}% -% -\def\TeX{\realbackslash TeX}% -\def\acronym##1{\realbackslash acronym {##1}}% -\def\cite##1{\realbackslash cite {##1}}% -\def\code##1{\realbackslash code {##1}}% -\def\command##1{\realbackslash command {##1}}% -\def\dfn##1{\realbackslash dfn {##1}}% -\def\dots{\realbackslash dots }% -\def\emph##1{\realbackslash emph {##1}}% -\def\env##1{\realbackslash env {##1}}% -\def\file##1{\realbackslash file {##1}}% -\def\kbd##1{\realbackslash kbd {##1}}% -\def\key##1{\realbackslash key {##1}}% -\def\math##1{\realbackslash math {##1}}% -\def\option##1{\realbackslash option {##1}}% -\def\samp##1{\realbackslash samp {##1}}% -\def\strong##1{\realbackslash strong {##1}}% -\def\uref##1{\realbackslash uref {##1}}% -\def\url##1{\realbackslash url {##1}}% -\def\var##1{\realbackslash var {##1}}% -\def\w{\realbackslash w }% -% -% These math commands don't seem likely to be used in index entries. -\def\copyright{\realbackslash copyright}% -\def\equiv{\realbackslash equiv}% -\def\error{\realbackslash error}% -\def\expansion{\realbackslash expansion}% -\def\point{\realbackslash point}% -\def\print{\realbackslash print}% -\def\result{\realbackslash result}% -% -% Handle some cases of @value -- where the variable name does not -% contain - or _, and the value does not contain any -% (non-fully-expandable) commands. -\let\value = \expandablevalue -% -\unsepspaces -% Turn off macro expansion -\turnoffmacros -} - -% If an index command is used in an @example environment, any spaces -% therein should become regular spaces in the raw index file, not the -% expansion of \tie (\leavevmode \penalty \@M \ ). -{\obeyspaces - \gdef\unsepspaces{\obeyspaces\let =\space}} - -% \indexnofonts no-ops all font-change commands. -% This is used when outputting the strings to sort the index by. -\def\indexdummyfont#1{#1} -\def\indexdummytex{TeX} -\def\indexdummydots{...} + \escapechar = `\\ % use backslash in output files. + \def\@{@}% change to @@ when we switch to @ as escape char in index files. + \def\ {\realbackslash\space }% + % + % 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 + % causes processing to be prematurely terminated. This is, + % apparently, because \indexsorttmp is fully expanded, and \endinput + % is an expandable command. The redefinition below makes \endinput + % disappear altogether for that purpose -- although logging shows that + % processing continues to some further point. On the other hand, it + % seems \endinput does not hurt in the printed index arg, since that + % is still getting written without apparent harm. + % + % Sample source (mac-idx3.tex, reported by Graham Percival to + % help-texinfo, 22may06): + % @macro funindex {WORD} + % @findex xyz + % @end macro + % ... + % @funindex commtest + % + % The above is not enough to reproduce the bug, but it gives the flavor. + % + % Sample whatsit resulting: + % .@write3{\entry{xyz}{@folio }{@code {xyz@endinput }}} + % + % So: + \let\endinput = \empty + % + % Do the redefinitions. + \commondummies +} + +% For the aux and toc files, @ is the escape character. So we want to +% redefine everything using @ as the escape character (instead of +% \realbackslash, still used for index files). When everything uses @, +% this will be simpler. +% +\def\atdummies{% + \def\@{@@}% + \def\ {@ }% + \let\{ = \lbraceatcmd + \let\} = \rbraceatcmd + % + % Do the redefinitions. + \commondummies + \otherbackslash +} +% Called from \indexdummies and \atdummies. +% +\def\commondummies{% + % + % \definedummyword defines \#1 as \string\#1\space, thus effectively + % 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. + % + % For control letters, we have \definedummyletter, which omits the + % space. + % + % These can be used both for control words that take an argument and + % those that do not. If it is followed by {arg} in the input, then + % that will dutifully get written to the index (or wherever). + % + \def\definedummyword ##1{\def##1{\string##1\space}}% + \def\definedummyletter##1{\def##1{\string##1}}% + \let\definedummyaccent\definedummyletter + % + \commondummiesnofonts + % + \definedummyletter\_% + % + % Non-English letters. + \definedummyword\AA + \definedummyword\AE + \definedummyword\L + \definedummyword\OE + \definedummyword\O + \definedummyword\aa + \definedummyword\ae + \definedummyword\l + \definedummyword\oe + \definedummyword\o + \definedummyword\ss + \definedummyword\exclamdown + \definedummyword\questiondown + \definedummyword\ordf + \definedummyword\ordm + % + % Although these internal commands shouldn't show up, sometimes they do. + \definedummyword\bf + \definedummyword\gtr + \definedummyword\hat + \definedummyword\less + \definedummyword\sf + \definedummyword\sl + \definedummyword\tclose + \definedummyword\tt + % + \definedummyword\LaTeX + \definedummyword\TeX + % + % Assorted special characters. + \definedummyword\bullet + \definedummyword\comma + \definedummyword\copyright + \definedummyword\registeredsymbol + \definedummyword\dots + \definedummyword\enddots + \definedummyword\equiv + \definedummyword\error + \definedummyword\euro + \definedummyword\expansion + \definedummyword\minus + \definedummyword\pounds + \definedummyword\point + \definedummyword\print + \definedummyword\result + \definedummyword\textdegree + % + % We want to disable all macros so that they are not expanded by \write. + \macrolist + % + \normalturnoffactive + % + % Handle some cases of @value -- where it does not contain any + % (non-fully-expandable) commands. + \makevalueexpandable +} + +% \commondummiesnofonts: common to \commondummies and \indexnofonts. +% +\def\commondummiesnofonts{% + % Control letters and accents. + \definedummyletter\!% + \definedummyaccent\"% + \definedummyaccent\'% + \definedummyletter\*% + \definedummyaccent\,% + \definedummyletter\.% + \definedummyletter\/% + \definedummyletter\:% + \definedummyaccent\=% + \definedummyletter\?% + \definedummyaccent\^% + \definedummyaccent\`% + \definedummyaccent\~% + \definedummyword\u + \definedummyword\v + \definedummyword\H + \definedummyword\dotaccent + \definedummyword\ringaccent + \definedummyword\tieaccent + \definedummyword\ubaraccent + \definedummyword\udotaccent + \definedummyword\dotless + % + % Texinfo font commands. + \definedummyword\b + \definedummyword\i + \definedummyword\r + \definedummyword\sc + \definedummyword\t + % + % Commands that take arguments. + \definedummyword\acronym + \definedummyword\cite + \definedummyword\code + \definedummyword\command + \definedummyword\dfn + \definedummyword\emph + \definedummyword\env + \definedummyword\file + \definedummyword\kbd + \definedummyword\key + \definedummyword\math + \definedummyword\option + \definedummyword\pxref + \definedummyword\ref + \definedummyword\samp + \definedummyword\strong + \definedummyword\tie + \definedummyword\uref + \definedummyword\url + \definedummyword\var + \definedummyword\verb + \definedummyword\w + \definedummyword\xref +} + +% \indexnofonts is used when outputting the strings to sort the index +% by, and when constructing control sequence names. It eliminates all +% control sequences and just writes whatever the best ASCII sort string +% would be for a given command (usually its argument). +% \def\indexnofonts{% -\def\@{@}% -% how to handle braces? -\def\_{\normalunderscore}% -% -\let\,=\indexdummyfont -\let\"=\indexdummyfont -\let\`=\indexdummyfont -\let\'=\indexdummyfont -\let\^=\indexdummyfont -\let\~=\indexdummyfont -\let\==\indexdummyfont -\let\b=\indexdummyfont -\let\c=\indexdummyfont -\let\d=\indexdummyfont -\let\u=\indexdummyfont -\let\v=\indexdummyfont -\let\H=\indexdummyfont -\let\dotless=\indexdummyfont -% Take care of the plain tex special European modified letters. -\def\AA{AA}% -\def\AE{AE}% -\def\L{L}% -\def\OE{OE}% -\def\O{O}% -\def\aa{aa}% -\def\ae{ae}% -\def\l{l}% -\def\oe{oe}% -\def\o{o}% -\def\ss{ss}% -% -% Don't no-op \tt, since it isn't a user-level command -% and is used in the definitions of the active chars like <, >, |, etc. -% Likewise with the other plain tex font commands. -%\let\tt=\indexdummyfont -% -\let\b=\indexdummyfont -\let\i=\indexdummyfont -\let\r=\indexdummyfont -\let\sc=\indexdummyfont -\let\t=\indexdummyfont -% -\let\TeX=\indexdummytex -\let\acronym=\indexdummyfont -\let\cite=\indexdummyfont -\let\code=\indexdummyfont -\let\command=\indexdummyfont -\let\dfn=\indexdummyfont -\let\dots=\indexdummydots -\let\emph=\indexdummyfont -\let\env=\indexdummyfont -\let\file=\indexdummyfont -\let\kbd=\indexdummyfont -\let\key=\indexdummyfont -\let\math=\indexdummyfont -\let\option=\indexdummyfont -\let\samp=\indexdummyfont -\let\strong=\indexdummyfont -\let\uref=\indexdummyfont -\let\url=\indexdummyfont -\let\var=\indexdummyfont -\let\w=\indexdummyfont -} - -% To define \realbackslash, we must make \ not be an escape. -% We must first make another character (@) an escape -% so we do not become unable to do a definition. - -{\catcode`\@=0 \catcode`\\=\other - @gdef@realbackslash{\}} + % Accent commands should become @asis. + \def\definedummyaccent##1{\let##1\asis}% + % We can just ignore other control letters. + \def\definedummyletter##1{\let##1\empty}% + % Hopefully, all control words can become @asis. + \let\definedummyword\definedummyaccent + % + \commondummiesnofonts + % + % Don't no-op \tt, since it isn't a user-level command + % and is used in the definitions of the active chars like <, >, |, etc. + % Likewise with the other plain tex font commands. + %\let\tt=\asis + % + \def\ { }% + \def\@{@}% + % how to handle braces? + \def\_{\normalunderscore}% + % + % Non-English letters. + \def\AA{AA}% + \def\AE{AE}% + \def\L{L}% + \def\OE{OE}% + \def\O{O}% + \def\aa{aa}% + \def\ae{ae}% + \def\l{l}% + \def\oe{oe}% + \def\o{o}% + \def\ss{ss}% + \def\exclamdown{!}% + \def\questiondown{?}% + \def\ordf{a}% + \def\ordm{o}% + % + \def\LaTeX{LaTeX}% + \def\TeX{TeX}% + % + % Assorted special characters. + % (The following {} will end up in the sort string, but that's ok.) + \def\bullet{bullet}% + \def\comma{,}% + \def\copyright{copyright}% + \def\registeredsymbol{R}% + \def\dots{...}% + \def\enddots{...}% + \def\equiv{==}% + \def\error{error}% + \def\euro{euro}% + \def\expansion{==>}% + \def\minus{-}% + \def\pounds{pounds}% + \def\point{.}% + \def\print{-|}% + \def\result{=>}% + \def\textdegree{degrees}% + % + % 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 + % writing an index entry, and texindex isn't prepared for an index sort entry + % that starts with \. + % + % Since macro invocations are followed by braces, we can just redefine them + % to take a single TeX argument. The case of a macro invocation that + % goes to end-of-line is not handled. + % + \macrolist +} \let\indexbackslash=0 %overridden during \printindex. \let\SETmarginindex=\relax % put index entries in margin (undocumented)? -% For \ifx comparisons. -\def\emptymacro{\empty} - % Most index entries go through here, but \dosubind is the general case. -% -\def\doind#1#2{\dosubind{#1}{#2}\empty} +% #1 is the index name, #2 is the entry text. +\def\doind#1#2{\dosubind{#1}{#2}{}} % Workhorse for all \fooindexes. % #1 is name of index, #2 is stuff to put there, #3 is subentry -- -% \empty if called from \doind, as we usually are. The main exception -% is with defuns, which call us directly. +% empty if called from \doind, as we usually are (the main exception +% is with most defuns, which call us directly). % \def\dosubind#1#2#3{% + \iflinks + {% + % Store the main index entry text (including the third arg). + \toks0 = {#2}% + % If third arg is present, precede it with a space. + \def\thirdarg{#3}% + \ifx\thirdarg\empty \else + \toks0 = \expandafter{\the\toks0 \space #3}% + \fi + % + \edef\writeto{\csname#1indfile\endcsname}% + % + \ifvmode + \dosubindsanitize + \else + \dosubindwrite + \fi + }% + \fi +} + +% Write the entry in \toks0 to the index file: +% +\def\dosubindwrite{% % Put the index entry in the margin if desired. \ifx\SETmarginindex\relax\else - \insert\margin{\hbox{\vrule height8pt depth3pt width0pt #2}}% + \insert\margin{\hbox{\vrule height8pt depth3pt width0pt \the\toks0}}% \fi - {% - \count255=\lastpenalty - {% - \indexdummies % Must do this here, since \bf, etc expand at this stage - \escapechar=`\\ - {% - \let\folio = 0% We will expand all macros now EXCEPT \folio. - \def\rawbackslashxx{\indexbackslash}% \indexbackslash isn't defined now - % so it will be output as is; and it will print as backslash. - % - \def\thirdarg{#3}% - % - % If third arg is present, precede it with space in sort key. - \ifx\thirdarg\emptymacro - \let\subentry = \empty - \else - \def\subentry{ #3}% - \fi - % - % First process the index entry with all font commands turned - % off to get the string to sort by. - {\indexnofonts \xdef\indexsorttmp{#2\subentry}}% - % - % Now the real index entry with the fonts. - \toks0 = {#2}% - % - % If the third (subentry) arg is present, add it to the index - % line to write. - \ifx\thirdarg\emptymacro \else - \toks0 = \expandafter{\the\toks0{#3}}% - \fi - % - % Set up the complete index entry, with both the sort key and - % the original text, including any font commands. We write - % three arguments to \entry to the .?? file (four in the - % subentry case), texindex reduces to two when writing the .??s - % sorted result. - \edef\temp{% - \write\csname#1indfile\endcsname{% - \realbackslash entry{\indexsorttmp}{\folio}{\the\toks0}}% - }% - % - % If a skip is the last thing on the list now, preserve it - % by backing up by \lastskip, doing the \write, then inserting - % the skip again. Otherwise, the whatsit generated by the - % \write will make \lastskip zero. The result is that sequences - % like this: - % @end defun - % @tindex whatever - % @defun ... - % will have extra space inserted, because the \medbreak in the - % start of the @defun won't see the skip inserted by the @end of - % the previous defun. - % - % But don't do any of this if we're not in vertical mode. We - % don't want to do a \vskip and prematurely end a paragraph. - % - % Avoid page breaks due to these extra skips, too. - % - \iflinks - \ifvmode - \skip0 = \lastskip - \ifdim\lastskip = 0pt \else \nobreak\vskip-\lastskip \fi - \fi - % - \temp % do the write - % - % - \ifvmode \ifdim\skip0 = 0pt \else \nobreak\vskip\skip0 \fi \fi - \fi - }% - }% - \penalty\count255 + % + % Remember, we are within a group. + \indexdummies % Must do this here, since \bf, etc expand at this stage + \def\backslashcurfont{\indexbackslash}% \indexbackslash isn't defined now + % so it will be output as is; and it will print as backslash. + % + % Process the index entry with all font commands turned off, to + % get the string to sort by. + {\indexnofonts + \edef\temp{\the\toks0}% need full expansion + \xdef\indexsorttmp{\temp}% + }% + % + % Set up the complete index entry, with both the sort key and + % the original text, including any font commands. We write + % three arguments to \entry to the .?? file (four in the + % subentry case), texindex reduces to two when writing the .??s + % sorted result. + \edef\temp{% + \write\writeto{% + \string\entry{\indexsorttmp}{\noexpand\folio}{\the\toks0}}% }% + \temp +} + +% Take care of unwanted page breaks: +% +% If a skip is the last thing on the list now, preserve it +% by backing up by \lastskip, doing the \write, then inserting +% the skip again. Otherwise, the whatsit generated by the +% \write will make \lastskip zero. The result is that sequences +% like this: +% @end defun +% @tindex whatever +% @defun ... +% will have extra space inserted, because the \medbreak in the +% start of the @defun won't see the skip inserted by the @end of +% the previous defun. +% +% But don't do any of this if we're not in vertical mode. We +% don't want to do a \vskip and prematurely end a paragraph. +% +% Avoid page breaks due to these extra skips, too. +% +% But wait, there is a catch there: +% We'll have to check whether \lastskip is zero skip. \ifdim is not +% sufficient for this purpose, as it ignores stretch and shrink parts +% of the skip. The only way seems to be to check the textual +% representation of the skip. +% +% The following is almost like \def\zeroskipmacro{0.0pt} except that +% the ``p'' and ``t'' characters have catcode \other, not 11 (letter). +% +\edef\zeroskipmacro{\expandafter\the\csname z@skip\endcsname} +% +% ..., ready, GO: +% +\def\dosubindsanitize{% + % \lastskip and \lastpenalty cannot both be nonzero simultaneously. + \skip0 = \lastskip + \edef\lastskipmacro{\the\lastskip}% + \count255 = \lastpenalty + % + % If \lastskip is nonzero, that means the last item was a + % skip. And since a skip is discardable, that means this + % -\skip0 glue we're inserting is preceded by a + % non-discardable item, therefore it is not a potential + % breakpoint, therefore no \nobreak needed. + \ifx\lastskipmacro\zeroskipmacro + \else + \vskip-\skip0 + \fi + % + \dosubindwrite + % + \ifx\lastskipmacro\zeroskipmacro + % If \lastskip was zero, perhaps the last item was a penalty, and + % perhaps it was >=10000, e.g., a \nobreak. In that case, we want + % to re-insert the same penalty (values >10000 are used for various + % signals); since we just inserted a non-discardable item, any + % following glue (such as a \parskip) would be a breakpoint. For example: + % + % @deffn deffn-whatever + % @vindex index-whatever + % Description. + % would allow a break between the index-whatever whatsit + % and the "Description." paragraph. + \ifnum\count255>9999 \penalty\count255 \fi + \else + % On the other hand, if we had a nonzero \lastskip, + % this make-up glue would be preceded by a non-discardable item + % (the whatsit from the \write), so we must insert a \nobreak. + \nobreak\vskip\skip0 + \fi } % The index entry written in the file actually looks like @@ -3099,13 +3857,12 @@ width0pt\relax} \fi % @printindex causes a particular index (the ??s file) to get printed. % It does not print any chapter heading (usually an @unnumbered). % -\def\printindex{\parsearg\doprintindex} -\def\doprintindex#1{\begingroup +\parseargdef\printindex{\begingroup \dobreak \chapheadingskip{10000}% % \smallfonts \rm \tolerance = 9500 - \indexbreaks + \everypar = {}% don't want the \kern\-parindent from indentation suppression. % % See if the index file exists and is nonempty. % Change catcode of @ here so that if the index file contains @@ -3132,7 +3889,7 @@ width0pt\relax} \fi % Index files are almost Texinfo source, but we use \ as the escape % character. It would be better to use @, but that's too big a change % to make right now. - \def\indexbackslash{\rawbackslashxx}% + \def\indexbackslash{\backslashcurfont}% \catcode`\\ = 0 \escapechar = `\\ \begindoublecolumns @@ -3154,7 +3911,10 @@ width0pt\relax} \fi \removelastskip % % We like breaks before the index initials, so insert a bonus. - \penalty -300 + \nobreak + \vskip 0pt plus 3\baselineskip + \penalty 0 + \vskip 0pt plus -3\baselineskip % % Typeset the initial. Making this add up to a whole number of % baselineskips increases the chance of the dots lining up from column @@ -3164,85 +3924,105 @@ width0pt\relax} \fi % No shrink because it confuses \balancecolumns. \vskip 1.67\baselineskip plus .5\baselineskip \leftline{\secbf #1}% - \vskip .33\baselineskip plus .1\baselineskip - % % Do our best not to break after the initial. \nobreak + \vskip .33\baselineskip plus .1\baselineskip }} -% This typesets a paragraph consisting of #1, dot leaders, and then #2 -% flush to the right margin. It is used for index and table of contents -% entries. The paragraph is indented by \leftskip. +% \entry typesets a paragraph consisting of the text (#1), dot leaders, and +% then page number (#2) flushed to the right margin. It is used for index +% and table of contents entries. The paragraph is indented by \leftskip. % -\def\entry#1#2{\begingroup - % - % Start a new paragraph if necessary, so our assignments below can't - % affect previous text. - \par - % - % Do not fill out the last line with white space. - \parfillskip = 0in - % - % No extra space above this paragraph. - \parskip = 0in - % - % Do not prefer a separate line ending with a hyphen to fewer lines. - \finalhyphendemerits = 0 - % - % \hangindent is only relevant when the entry text and page number - % don't both fit on one line. In that case, bob suggests starting the - % dots pretty far over on the line. Unfortunately, a large - % indentation looks wrong when the entry text itself is broken across - % lines. So we use a small indentation and put up with long leaders. - % - % \hangafter is reset to 1 (which is the value we want) at the start - % of each paragraph, so we need not do anything with that. - \hangindent = 2em - % - % When the entry text needs to be broken, just fill out the first line - % with blank space. - \rightskip = 0pt plus1fil - % - % A bit of stretch before each entry for the benefit of balancing columns. - \vskip 0pt plus1pt - % - % Start a ``paragraph'' for the index entry so the line breaking - % parameters we've set above will have an effect. - \noindent - % - % Insert the text of the index entry. TeX will do line-breaking on it. - #1% - % The following is kludged to not output a line of dots in the index if - % there are no page numbers. The next person who breaks this will be - % cursed by a Unix daemon. - \def\tempa{{\rm }}% - \def\tempb{#2}% - \edef\tempc{\tempa}% - \edef\tempd{\tempb}% - \ifx\tempc\tempd\ \else% +% A straightforward implementation would start like this: +% \def\entry#1#2{... +% But this frozes 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{% + \begingroup % - % If we must, put the page number on a line of its own, and fill out - % this line with blank space. (The \hfil is overwhelmed with the - % fill leaders glue in \indexdotfill if the page number does fit.) - \hfil\penalty50 - \null\nobreak\indexdotfill % Have leaders before the page number. + % Start a new paragraph if necessary, so our assignments below can't + % affect previous text. + \par % - % The `\ ' here is removed by the implicit \unskip that TeX does as - % part of (the primitive) \par. Without it, a spurious underfull - % \hbox ensues. - \ifpdf - \pdfgettoks#2.\ \the\toksA % The page number ends the paragraph. - \else - \ #2% The page number ends the paragraph. - \fi - \fi% - \par -\endgroup} - -% Like \dotfill except takes at least 1 em. -\def\indexdotfill{\cleaders - \hbox{$\mathsurround=0pt \mkern1.5mu ${\it .}$ \mkern1.5mu$}\hskip 1em plus 1fill} - + % Do not fill out the last line with white space. + \parfillskip = 0in + % + % No extra space above this paragraph. + \parskip = 0in + % + % Do not prefer a separate line ending with a hyphen to fewer lines. + \finalhyphendemerits = 0 + % + % \hangindent is only relevant when the entry text and page number + % don't both fit on one line. In that case, bob suggests starting the + % dots pretty far over on the line. Unfortunately, a large + % indentation looks wrong when the entry text itself is broken across + % lines. So we use a small indentation and put up with long leaders. + % + % \hangafter is reset to 1 (which is the value we want) at the start + % of each paragraph, so we need not do anything with that. + \hangindent = 2em + % + % When the entry text needs to be broken, just fill out the first line + % with blank space. + \rightskip = 0pt plus1fil + % + % A bit of stretch before each entry for the benefit of balancing + % columns. + \vskip 0pt plus1pt + % + % Swallow the left brace of the text (first parameter): + \afterassignment\doentry + \let\temp = +} +\def\doentry{% + \bgroup % Instead of the swallowed brace. + \noindent + \aftergroup\finishentry + % And now comes the text of the entry. +} +\def\finishentry#1{% + % #1 is the page number. + % + % The following is kludged to not output a line of dots in the index if + % there are no page numbers. The next person who breaks this will be + % cursed by a Unix daemon. + \def\tempa{{\rm }}% + \def\tempb{#1}% + \edef\tempc{\tempa}% + \edef\tempd{\tempb}% + \ifx\tempc\tempd + \ % + \else + % + % If we must, put the page number on a line of its own, and fill out + % this line with blank space. (The \hfil is overwhelmed with the + % fill leaders glue in \indexdotfill if the page number does fit.) + \hfil\penalty50 + \null\nobreak\indexdotfill % Have leaders before the page number. + % + % The `\ ' here is removed by the implicit \unskip that TeX does as + % part of (the primitive) \par. Without it, a spurious underfull + % \hbox ensues. + \ifpdf + \pdfgettoks#1.% + \ \the\toksA + \else + \ #1% + \fi + \fi + \par + \endgroup +} + +% Like plain.tex's \dotfill, except uses up at least 1 em. +\def\indexdotfill{\cleaders + \hbox{$\mathsurround=0pt \mkern1.5mu.\mkern1.5mu$}\hskip 1em plus 1fill} + \def\primary #1{\line{#1\hfil}} \newskip\secondaryindent \secondaryindent=0.5cm @@ -3348,7 +4128,7 @@ width0pt\relax} \fi \wd0=\hsize \wd2=\hsize \hbox to\pagewidth{\box0\hfil\box2}% } -% +% % All done with double columns. \def\enddoublecolumns{% \output = {% @@ -3406,6 +4186,12 @@ width0pt\relax} \fi \message{sectioning,} % Chapters, sections, etc. +% \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 +% chapters, we're in trouble anyway, I'm sure.) +\newcount\unnumberedno \unnumberedno = 10000 \newcount\chapno \newcount\secno \secno=0 \newcount\subsecno \subsecno=0 @@ -3413,9 +4199,12 @@ width0pt\relax} \fi % This counter is funny since it counts through charcodes of letters A, B, ... \newcount\appendixno \appendixno = `\@ +% % \def\appendixletter{\char\the\appendixno} -% We do the following for the sake of pdftex, which needs the actual +% We do the following ugly conditional instead of the above simple +% construct for the sake of pdftex, which needs the actual % letter in the expansion, not just typeset. +% \def\appendixletter{% \ifnum\appendixno=`A A% \else\ifnum\appendixno=`B B% @@ -3453,11 +4242,12 @@ width0pt\relax} \fi % Each @chapter defines this as the name of the chapter. % page headings and footings can use it. @section does likewise. +% However, they are not reliable, because we don't use marks. \def\thischapter{} \def\thissection{} \newcount\absseclevel % used to calculate proper heading level -\newcount\secbase\secbase=0 % @raise/lowersections modify this count +\newcount\secbase\secbase=0 % @raisesections/@lowersections modify this count % @raisesections: treat @section as chapter, @subsection as section, etc. \def\raisesections{\global\advance\secbase by -1} @@ -3467,288 +4257,246 @@ width0pt\relax} \fi \def\lowersections{\global\advance\secbase by 1} \let\down=\lowersections % original BFox name -% Choose a numbered-heading macro -% #1 is heading level if unmodified by @raisesections or @lowersections -% #2 is text for heading -\def\numhead#1#2{\absseclevel=\secbase\advance\absseclevel by #1 -\ifcase\absseclevel - \chapterzzz{#2} -\or - \seczzz{#2} -\or - \numberedsubseczzz{#2} -\or - \numberedsubsubseczzz{#2} -\else - \ifnum \absseclevel<0 - \chapterzzz{#2} +% we only have subsub. +\chardef\maxseclevel = 3 +% +% A numbered section within an unnumbered changes to unnumbered too. +% 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. +\def\chapheadtype{N} + +% Choose a heading macro +% #1 is heading type +% #2 is heading level +% #3 is text for heading +\def\genhead#1#2#3{% + % Compute the abs. sec. level: + \absseclevel=#2 + \advance\absseclevel by \secbase + % Make sure \absseclevel doesn't fall outside the range: + \ifnum \absseclevel < 0 + \absseclevel = 0 \else - \numberedsubsubseczzz{#2} + \ifnum \absseclevel > 3 + \absseclevel = 3 + \fi \fi -\fi -} - -% like \numhead, but chooses appendix heading levels -\def\apphead#1#2{\absseclevel=\secbase\advance\absseclevel by #1 -\ifcase\absseclevel - \appendixzzz{#2} -\or - \appendixsectionzzz{#2} -\or - \appendixsubseczzz{#2} -\or - \appendixsubsubseczzz{#2} -\else - \ifnum \absseclevel<0 - \appendixzzz{#2} + % The heading type: + \def\headtype{#1}% + \if \headtype U% + \ifnum \absseclevel < \unmlevel + \chardef\unmlevel = \absseclevel + \fi + \else + % Check for appendix sections: + \ifnum \absseclevel = 0 + \edef\chapheadtype{\headtype}% + \else + \if \headtype A\if \chapheadtype N% + \errmessage{@appendix... within a non-appendix chapter}% + \fi\fi + \fi + % Check for numbered within unnumbered: + \ifnum \absseclevel > \unmlevel + \def\headtype{U}% + \else + \chardef\unmlevel = 3 + \fi + \fi + % Now print the heading: + \if \headtype U% + \ifcase\absseclevel + \unnumberedzzz{#3}% + \or \unnumberedseczzz{#3}% + \or \unnumberedsubseczzz{#3}% + \or \unnumberedsubsubseczzz{#3}% + \fi \else - \appendixsubsubseczzz{#2} + \if \headtype A% + \ifcase\absseclevel + \appendixzzz{#3}% + \or \appendixsectionzzz{#3}% + \or \appendixsubseczzz{#3}% + \or \appendixsubsubseczzz{#3}% + \fi + \else + \ifcase\absseclevel + \chapterzzz{#3}% + \or \seczzz{#3}% + \or \numberedsubseczzz{#3}% + \or \numberedsubsubseczzz{#3}% + \fi + \fi \fi -\fi + \suppressfirstparagraphindent } -% like \numhead, but chooses numberless heading levels -\def\unnmhead#1#2{\absseclevel=\secbase\advance\absseclevel by #1 -\ifcase\absseclevel - \unnumberedzzz{#2} -\or - \unnumberedseczzz{#2} -\or - \unnumberedsubseczzz{#2} -\or - \unnumberedsubsubseczzz{#2} -\else - \ifnum \absseclevel<0 - \unnumberedzzz{#2} - \else - \unnumberedsubsubseczzz{#2} - \fi -\fi +% an interface: +\def\numhead{\genhead N} +\def\apphead{\genhead A} +\def\unnmhead{\genhead U} + +% @chapter, @appendix, @unnumbered. Increment top-level counter, reset +% all lower-level sectioning counters to zero. +% +% Also set \chaplevelprefix, which we prepend to @float sequence numbers +% (e.g., figures), q.v. By default (before any chapter), that is empty. +\let\chaplevelprefix = \empty +% +\outer\parseargdef\chapter{\numhead0{#1}} % normally numhead0 calls chapterzzz +\def\chapterzzz#1{% + % section resetting is \global in case the chapter is in a group, such + % as an @include file. + \global\secno=0 \global\subsecno=0 \global\subsubsecno=0 + \global\advance\chapno by 1 + % + % Used for \float. + \gdef\chaplevelprefix{\the\chapno.}% + \resetallfloatnos + % + \message{\putwordChapter\space \the\chapno}% + % + % Write the actual heading. + \chapmacro{#1}{Ynumbered}{\the\chapno}% + % + % So @section and the like are numbered underneath this chapter. + \global\let\section = \numberedsec + \global\let\subsection = \numberedsubsec + \global\let\subsubsection = \numberedsubsubsec +} + +\outer\parseargdef\appendix{\apphead0{#1}} % normally apphead0 calls appendixzzz +\def\appendixzzz#1{% + \global\secno=0 \global\subsecno=0 \global\subsubsecno=0 + \global\advance\appendixno by 1 + \gdef\chaplevelprefix{\appendixletter.}% + \resetallfloatnos + % + \def\appendixnum{\putwordAppendix\space \appendixletter}% + \message{\appendixnum}% + % + \chapmacro{#1}{Yappendix}{\appendixletter}% + % + \global\let\section = \appendixsec + \global\let\subsection = \appendixsubsec + \global\let\subsubsection = \appendixsubsubsec } -% @chapter, @appendix, @unnumbered. -\def\thischaptername{No Chapter Title} -\outer\def\chapter{\parsearg\chapteryyy} -\def\chapteryyy #1{\numhead0{#1}} % normally numhead0 calls chapterzzz -\def\chapterzzz #1{% -\secno=0 \subsecno=0 \subsubsecno=0 -\global\advance \chapno by 1 \message{\putwordChapter\space \the\chapno}% -\chapmacro {#1}{\the\chapno}% -\gdef\thissection{#1}% -\gdef\thischaptername{#1}% -% We don't substitute the actual chapter name into \thischapter -% because we don't want its macros evaluated now. -\xdef\thischapter{\putwordChapter{} \the\chapno: \noexpand\thischaptername}% -\toks0 = {#1}% -\edef\temp{\noexpand\writetocentry{\realbackslash chapentry{\the\toks0}% - {\the\chapno}}}% -\temp -\donoderef -\global\let\section = \numberedsec -\global\let\subsection = \numberedsubsec -\global\let\subsubsection = \numberedsubsubsec -} - -\outer\def\appendix{\parsearg\appendixyyy} -\def\appendixyyy #1{\apphead0{#1}} % normally apphead0 calls appendixzzz -\def\appendixzzz #1{% -\secno=0 \subsecno=0 \subsubsecno=0 -\global\advance \appendixno by 1 -\message{\putwordAppendix\space \appendixletter}% -\chapmacro {#1}{\putwordAppendix{} \appendixletter}% -\gdef\thissection{#1}% -\gdef\thischaptername{#1}% -\xdef\thischapter{\putwordAppendix{} \appendixletter: \noexpand\thischaptername}% -\toks0 = {#1}% -\edef\temp{\noexpand\writetocentry{\realbackslash appendixentry{\the\toks0}% - {\appendixletter}}}% -\temp -\appendixnoderef -\global\let\section = \appendixsec -\global\let\subsection = \appendixsubsec -\global\let\subsubsection = \appendixsubsubsec +\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 + % + % Since an unnumbered has no number, no prefix for figures. + \global\let\chaplevelprefix = \empty + \resetallfloatnos + % + % This used to be simply \message{#1}, but TeX fully expands the + % argument to \message. Therefore, if #1 contained @-commands, TeX + % expanded them. For example, in `@unnumbered The @cite{Book}', TeX + % expanded @cite (which turns out to cause errors because \cite is meant + % to be executed, not expanded). + % + % Anyway, we don't want the fully-expanded definition of @cite to appear + % as a result of the \message, we just want `@cite' itself. We use + % \the to achieve this: TeX expands \the only once, + % simply yielding the contents of . (We also do this for + % the toc entries.) + \toks0 = {#1}% + \message{(\the\toks0)}% + % + \chapmacro{#1}{Ynothing}{\the\unnumberedno}% + % + \global\let\section = \unnumberedsec + \global\let\subsection = \unnumberedsubsec + \global\let\subsubsection = \unnumberedsubsubsec } % @centerchap is like @unnumbered, but the heading is centered. -\outer\def\centerchap{\parsearg\centerchapyyy} -\def\centerchapyyy #1{{\let\unnumbchapmacro=\centerchapmacro \unnumberedyyy{#1}}} +\outer\parseargdef\centerchap{% + % Well, we could do the following in a group, but that would break + % an assumption that \chapmacro is called at the outermost level. + % Thus we are safer this way: --kasal, 24feb04 + \let\centerparametersmaybe = \centerparameters + \unnmhead0{#1}% + \let\centerparametersmaybe = \relax +} % @top is like @unnumbered. -\outer\def\top{\parsearg\unnumberedyyy} - -\outer\def\unnumbered{\parsearg\unnumberedyyy} -\def\unnumberedyyy #1{\unnmhead0{#1}} % normally unnmhead0 calls unnumberedzzz -\def\unnumberedzzz #1{% -\secno=0 \subsecno=0 \subsubsecno=0 -% -% This used to be simply \message{#1}, but TeX fully expands the -% argument to \message. Therefore, if #1 contained @-commands, TeX -% expanded them. For example, in `@unnumbered The @cite{Book}', TeX -% expanded @cite (which turns out to cause errors because \cite is meant -% to be executed, not expanded). -% -% Anyway, we don't want the fully-expanded definition of @cite to appear -% as a result of the \message, we just want `@cite' itself. We use -% \the to achieve this: TeX expands \the only once, -% simply yielding the contents of . (We also do this for -% the toc entries.) -\toks0 = {#1}\message{(\the\toks0)}% -% -\unnumbchapmacro {#1}% -\gdef\thischapter{#1}\gdef\thissection{#1}% -\toks0 = {#1}% -\edef\temp{\noexpand\writetocentry{\realbackslash unnumbchapentry{\the\toks0}}}% -\temp -\unnumbnoderef -\global\let\section = \unnumberedsec -\global\let\subsection = \unnumberedsubsec -\global\let\subsubsection = \unnumberedsubsubsec -} +\let\top\unnumbered % Sections. -\outer\def\numberedsec{\parsearg\secyyy} -\def\secyyy #1{\numhead1{#1}} % normally calls seczzz -\def\seczzz #1{% -\subsecno=0 \subsubsecno=0 \global\advance \secno by 1 % -\gdef\thissection{#1}\secheading {#1}{\the\chapno}{\the\secno}% -\toks0 = {#1}% -\edef\temp{\noexpand\writetocentry{\realbackslash secentry{\the\toks0}% - {\the\chapno}{\the\secno}}}% -\temp -\donoderef -\nobreak -} - -\outer\def\appendixsection{\parsearg\appendixsecyyy} -\outer\def\appendixsec{\parsearg\appendixsecyyy} -\def\appendixsecyyy #1{\apphead1{#1}} % normally calls appendixsectionzzz -\def\appendixsectionzzz #1{% -\subsecno=0 \subsubsecno=0 \global\advance \secno by 1 % -\gdef\thissection{#1}\secheading {#1}{\appendixletter}{\the\secno}% -\toks0 = {#1}% -\edef\temp{\noexpand\writetocentry{\realbackslash secentry{\the\toks0}% - {\appendixletter}{\the\secno}}}% -\temp -\appendixnoderef -\nobreak -} - -\outer\def\unnumberedsec{\parsearg\unnumberedsecyyy} -\def\unnumberedsecyyy #1{\unnmhead1{#1}} % normally calls unnumberedseczzz -\def\unnumberedseczzz #1{% -\plainsecheading {#1}\gdef\thissection{#1}% -\toks0 = {#1}% -\edef\temp{\noexpand\writetocentry{\realbackslash unnumbsecentry% - {\the\toks0}{\the\chapno}}}% -\temp -\unnumbnoderef -\nobreak +\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}% +} + +\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 + +\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. -\outer\def\numberedsubsec{\parsearg\numberedsubsecyyy} -\def\numberedsubsecyyy #1{\numhead2{#1}} % normally calls numberedsubseczzz -\def\numberedsubseczzz #1{% -\gdef\thissection{#1}\subsubsecno=0 \global\advance \subsecno by 1 % -\subsecheading {#1}{\the\chapno}{\the\secno}{\the\subsecno}% -\toks0 = {#1}% -\edef\temp{\noexpand\writetocentry{\realbackslash subsecentry{\the\toks0}% - {\the\chapno}{\the\secno}{\the\subsecno}}}% -\temp -\donoderef -\nobreak -} - -\outer\def\appendixsubsec{\parsearg\appendixsubsecyyy} -\def\appendixsubsecyyy #1{\apphead2{#1}} % normally calls appendixsubseczzz -\def\appendixsubseczzz #1{% -\gdef\thissection{#1}\subsubsecno=0 \global\advance \subsecno by 1 % -\subsecheading {#1}{\appendixletter}{\the\secno}{\the\subsecno}% -\toks0 = {#1}% -\edef\temp{\noexpand\writetocentry{\realbackslash subsecentry{\the\toks0}% - {\appendixletter}{\the\secno}{\the\subsecno}}}% -\temp -\appendixnoderef -\nobreak -} - -\outer\def\unnumberedsubsec{\parsearg\unnumberedsubsecyyy} -\def\unnumberedsubsecyyy #1{\unnmhead2{#1}} %normally calls unnumberedsubseczzz -\def\unnumberedsubseczzz #1{% -\plainsubsecheading {#1}\gdef\thissection{#1}% -\toks0 = {#1}% -\edef\temp{\noexpand\writetocentry{\realbackslash unnumbsubsecentry% - {\the\toks0}{\the\chapno}{\the\secno}}}% -\temp -\unnumbnoderef -\nobreak +\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}% +} + +\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}% +} + +\outer\parseargdef\unnumberedsubsec{\unnmhead2{#1}} %normally calls unnumberedsubseczzz +\def\unnumberedsubseczzz#1{% + \global\subsubsecno=0 \global\advance\subsecno by 1 + \sectionheading{#1}{subsec}{Ynothing}% + {\the\unnumberedno.\the\secno.\the\subsecno}% } % Subsubsections. -\outer\def\numberedsubsubsec{\parsearg\numberedsubsubsecyyy} -\def\numberedsubsubsecyyy #1{\numhead3{#1}} % normally numberedsubsubseczzz -\def\numberedsubsubseczzz #1{% -\gdef\thissection{#1}\global\advance \subsubsecno by 1 % -\subsubsecheading {#1} - {\the\chapno}{\the\secno}{\the\subsecno}{\the\subsubsecno}% -\toks0 = {#1}% -\edef\temp{\noexpand\writetocentry{\realbackslash subsubsecentry{\the\toks0}% - {\the\chapno}{\the\secno}{\the\subsecno}{\the\subsubsecno}}}% -\temp -\donoderef -\nobreak -} - -\outer\def\appendixsubsubsec{\parsearg\appendixsubsubsecyyy} -\def\appendixsubsubsecyyy #1{\apphead3{#1}} % normally appendixsubsubseczzz -\def\appendixsubsubseczzz #1{% -\gdef\thissection{#1}\global\advance \subsubsecno by 1 % -\subsubsecheading {#1} - {\appendixletter}{\the\secno}{\the\subsecno}{\the\subsubsecno}% -\toks0 = {#1}% -\edef\temp{\noexpand\writetocentry{\realbackslash subsubsecentry{\the\toks0}% - {\appendixletter}{\the\secno}{\the\subsecno}{\the\subsubsecno}}}% -\temp -\appendixnoderef -\nobreak -} - -\outer\def\unnumberedsubsubsec{\parsearg\unnumberedsubsubsecyyy} -\def\unnumberedsubsubsecyyy #1{\unnmhead3{#1}} %normally unnumberedsubsubseczzz -\def\unnumberedsubsubseczzz #1{% -\plainsubsubsecheading {#1}\gdef\thissection{#1}% -\toks0 = {#1}% -\edef\temp{\noexpand\writetocentry{\realbackslash unnumbsubsubsecentry% - {\the\toks0}{\the\chapno}{\the\secno}{\the\subsecno}}}% -\temp -\unnumbnoderef -\nobreak -} - -% These are variants which are not "outer", so they can appear in @ifinfo. -% Actually, they should now be obsolete; ordinary section commands should work. -\def\infotop{\parsearg\unnumberedzzz} -\def\infounnumbered{\parsearg\unnumberedzzz} -\def\infounnumberedsec{\parsearg\unnumberedseczzz} -\def\infounnumberedsubsec{\parsearg\unnumberedsubseczzz} -\def\infounnumberedsubsubsec{\parsearg\unnumberedsubsubseczzz} - -\def\infoappendix{\parsearg\appendixzzz} -\def\infoappendixsec{\parsearg\appendixseczzz} -\def\infoappendixsubsec{\parsearg\appendixsubseczzz} -\def\infoappendixsubsubsec{\parsearg\appendixsubsubseczzz} - -\def\infochapter{\parsearg\chapterzzz} -\def\infosection{\parsearg\sectionzzz} -\def\infosubsection{\parsearg\subsectionzzz} -\def\infosubsubsection{\parsearg\subsubsectionzzz} +\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}% +} + +\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}% +} + +\outer\parseargdef\unnumberedsubsubsec{\unnmhead3{#1}} %normally unnumberedsubsubseczzz +\def\unnumberedsubsubseczzz#1{% + \global\advance\subsubsecno by 1 + \sectionheading{#1}{subsubsec}{Ynothing}% + {\the\unnumberedno.\the\secno.\the\subsecno.\the\subsubsecno}% +} % These macros control what the section commands do, according % to what kind of chapter we are in (ordinary, appendix, or unnumbered). % Define them by default for a numbered chapter. -\global\let\section = \numberedsec -\global\let\subsection = \numberedsubsec -\global\let\subsubsection = \numberedsubsubsec +\let\section = \numberedsec +\let\subsection = \numberedsubsec +\let\subsubsection = \numberedsubsubsec % Define @majorheading, @heading and @subheading @@ -3761,23 +4509,27 @@ width0pt\relax} \fi % if justification is not attempted. Hence \raggedright. -\def\majorheading{\parsearg\majorheadingzzz} -\def\majorheadingzzz #1{% -{\advance\chapheadingskip by 10pt \chapbreak }% -{\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 - \parindent=0pt\raggedright - \rm #1\hfill}}\bigskip \par\penalty 200} +\def\majorheading{% + {\advance\chapheadingskip by 10pt \chapbreak }% + \parsearg\chapheadingzzz +} -\def\chapheading{\parsearg\chapheadingzzz} -\def\chapheadingzzz #1{\chapbreak % -{\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 - \parindent=0pt\raggedright - \rm #1\hfill}}\bigskip \par\penalty 200} +\def\chapheading{\chapbreak \parsearg\chapheadingzzz} +\def\chapheadingzzz#1{% + {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 + \parindent=0pt\raggedright + \rm #1\hfill}}% + \bigskip \par\penalty 200\relax + \suppressfirstparagraphindent +} % @heading, @subheading, @subsubheading. -\def\heading{\parsearg\plainsecheading} -\def\subheading{\parsearg\plainsubsecheading} -\def\subsubheading{\parsearg\plainsubsubsecheading} +\parseargdef\heading{\sectionheading{#1}{sec}{Yomitfromtoc}{} + \suppressfirstparagraphindent} +\parseargdef\subheading{\sectionheading{#1}{subsec}{Yomitfromtoc}{} + \suppressfirstparagraphindent} +\parseargdef\subsubheading{\sectionheading{#1}{subsubsec}{Yomitfromtoc}{} + \suppressfirstparagraphindent} % These macros generate a chapter, section, etc. heading only % (including whitespace, linebreaking, etc. around it), @@ -3786,8 +4538,6 @@ width0pt\relax} \fi %%% Args are the skip and penalty (usually negative) \def\dobreak#1#2{\par\ifdim\lastskip<#1\removelastskip\penalty#2\vskip#1\fi} -\def\setchapterstyle #1 {\csname CHAPF#1\endcsname} - %%% Define plain chapter starts, and page on/off switching for it % Parameter controlling skip before chapter headings (if needed) @@ -3810,7 +4560,7 @@ width0pt\relax} \fi \global\let\pagealignmacro=\chappager \global\def\HEADINGSon{\HEADINGSsingle}} -\def\CHAPPAGodd{ +\def\CHAPPAGodd{% \global\let\contentsalignmacro = \chapoddpage \global\let\pchapsepmacro=\chapoddpage \global\let\pagealignmacro=\chapoddpage @@ -3818,107 +4568,205 @@ width0pt\relax} \fi \CHAPPAGon -\def\CHAPFplain{ -\global\let\chapmacro=\chfplain -\global\let\unnumbchapmacro=\unnchfplain -\global\let\centerchapmacro=\centerchfplain} - -% Plain chapter opening. -% #1 is the text, #2 the chapter number or empty if unnumbered. -\def\chfplain#1#2{% +% Chapter opening. +% +% #1 is the text, #2 is the section type (Ynumbered, Ynothing, +% Yappendix, Yomitfromtoc), #3 the chapter number. +% +% To test against our argument. +\def\Ynothingkeyword{Ynothing} +\def\Yomitfromtockeyword{Yomitfromtoc} +\def\Yappendixkeyword{Yappendix} +% +\def\chapmacro#1#2#3{% \pchapsepmacro {% \chapfonts \rm - \def\chapnum{#2}% - \setbox0 = \hbox{#2\ifx\chapnum\empty\else\enspace\fi}% + % + % Have to define \thissection before calling \donoderef, because the + % xref code eventually uses it. On the other hand, it has to be called + % after \pchapsepmacro, or the headline will change too soon. + \gdef\thissection{#1}% + \gdef\thischaptername{#1}% + % + % Only insert the separating space if we have a chapter/appendix + % number, and don't print the unnumbered ``number''. + \def\temptype{#2}% + \ifx\temptype\Ynothingkeyword + \setbox0 = \hbox{}% + \def\toctype{unnchap}% + \gdef\thischapternum{}% + \gdef\thischapter{#1}% + \else\ifx\temptype\Yomitfromtockeyword + \setbox0 = \hbox{}% contents like unnumbered, but no toc entry + \def\toctype{omit}% + \gdef\thischapternum{}% + \gdef\thischapter{}% + \else\ifx\temptype\Yappendixkeyword + \setbox0 = \hbox{\putwordAppendix{} #3\enspace}% + \def\toctype{app}% + \xdef\thischapternum{\appendixletter}% + % We don't substitute the actual chapter name into \thischapter + % because we don't want its macros evaluated now. And we don't + % use \thissection because that changes with each section. + % + \xdef\thischapter{\putwordAppendix{} \appendixletter: + \noexpand\thischaptername}% + \else + \setbox0 = \hbox{#3\enspace}% + \def\toctype{numchap}% + \xdef\thischapternum{\the\chapno}% + \xdef\thischapter{\putwordChapter{} \the\chapno: + \noexpand\thischaptername}% + \fi\fi\fi + % + % Write the toc entry for this chapter. Must come before the + % \donoderef, because we include the current node name in the toc + % entry, and \donoderef resets it to empty. + \writetocentry{\toctype}{#1}{#3}% + % + % For pdftex, we have to write out the node definition (aka, make + % the pdfdest) after any page break, but before the actual text has + % been typeset. If the destination for the pdf outline is after the + % text, then jumping from the outline may wind up with the text not + % being visible, for instance under high magnification. + \donoderef{#2}% + % + % Typeset the actual heading. \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \raggedright - \hangindent = \wd0 \centerparametersmaybe + \hangindent=\wd0 \centerparametersmaybe \unhbox0 #1\par}% }% \nobreak\bigskip % no page break after a chapter title \nobreak } -% Plain opening for unnumbered. -\def\unnchfplain#1{\chfplain{#1}{}} - % @centerchap -- centered and unnumbered. \let\centerparametersmaybe = \relax -\def\centerchfplain#1{{% - \def\centerparametersmaybe{% - \advance\rightskip by 3\rightskip - \leftskip = \rightskip - \parfillskip = 0pt - }% - \chfplain{#1}{}% -}} +\def\centerparameters{% + \advance\rightskip by 3\rightskip + \leftskip = \rightskip + \parfillskip = 0pt +} -\CHAPFplain % The default +% I don't think this chapter style is supported any more, so I'm not +% updating it with the new noderef stuff. We'll see. --karl, 11aug03. +% +\def\setchapterstyle #1 {\csname CHAPF#1\endcsname} +% \def\unnchfopen #1{% \chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 \parindent=0pt\raggedright \rm #1\hfill}}\bigskip \par\nobreak } - \def\chfopen #1#2{\chapoddpage {\chapfonts \vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}% \par\penalty 5000 % } - \def\centerchfopen #1{% \chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 \parindent=0pt \hfill {\rm #1}\hfill}}\bigskip \par\nobreak } - -\def\CHAPFopen{ -\global\let\chapmacro=\chfopen -\global\let\unnumbchapmacro=\unnchfopen -\global\let\centerchapmacro=\centerchfopen} +\def\CHAPFopen{% + \global\let\chapmacro=\chfopen + \global\let\centerchapmacro=\centerchfopen} -% Section titles. +% Section titles. These macros combine the section number parts and +% call the generic \sectionheading to do the printing. +% \newskip\secheadingskip -\def\secheadingbreak{\dobreak \secheadingskip {-1000}} -\def\secheading#1#2#3{\sectionheading{sec}{#2.#3}{#1}} -\def\plainsecheading#1{\sectionheading{sec}{}{#1}} +\def\secheadingbreak{\dobreak \secheadingskip{-1000}} % Subsection titles. -\newskip \subsecheadingskip -\def\subsecheadingbreak{\dobreak \subsecheadingskip {-500}} -\def\subsecheading#1#2#3#4{\sectionheading{subsec}{#2.#3.#4}{#1}} -\def\plainsubsecheading#1{\sectionheading{subsec}{}{#1}} +\newskip\subsecheadingskip +\def\subsecheadingbreak{\dobreak \subsecheadingskip{-500}} % Subsubsection titles. -\let\subsubsecheadingskip = \subsecheadingskip -\let\subsubsecheadingbreak = \subsecheadingbreak -\def\subsubsecheading#1#2#3#4#5{\sectionheading{subsubsec}{#2.#3.#4.#5}{#1}} -\def\plainsubsubsecheading#1{\sectionheading{subsubsec}{}{#1}} +\def\subsubsecheadingskip{\subsecheadingskip} +\def\subsubsecheadingbreak{\subsecheadingbreak} -% Print any size section title. +% Print any size, any type, section title. % -% #1 is the section type (sec/subsec/subsubsec), #2 is the section -% number (maybe empty), #3 the text. -\def\sectionheading#1#2#3{% - {% - \expandafter\advance\csname #1headingskip\endcsname by \parskip - \csname #1headingbreak\endcsname - }% +% #1 is the text, #2 is the section level (sec/subsec/subsubsec), #3 is +% the section type for xrefs (Ynumbered, Ynothing, Yappendix), #4 is the +% section number. +% +\def\sectionheading#1#2#3#4{% {% % Switch to the right set of fonts. - \csname #1fonts\endcsname \rm + \csname #2fonts\endcsname \rm + % + % Insert space above the heading. + \csname #2headingbreak\endcsname + % + % Only insert the space after the number if we have a section number. + \def\sectionlevel{#2}% + \def\temptype{#3}% + % + \ifx\temptype\Ynothingkeyword + \setbox0 = \hbox{}% + \def\toctype{unn}% + \gdef\thissection{#1}% + \else\ifx\temptype\Yomitfromtockeyword + % for @headings -- no section number, don't include in toc, + % and don't redefine \thissection. + \setbox0 = \hbox{}% + \def\toctype{omit}% + \let\sectionlevel=\empty + \else\ifx\temptype\Yappendixkeyword + \setbox0 = \hbox{#4\enspace}% + \def\toctype{app}% + \gdef\thissection{#1}% + \else + \setbox0 = \hbox{#4\enspace}% + \def\toctype{num}% + \gdef\thissection{#1}% + \fi\fi\fi + % + % Write the toc entry (before \donoderef). See comments in \chapmacro. + \writetocentry{\toctype\sectionlevel}{#1}{#4}% + % + % Write the node reference (= pdf destination for pdftex). + % Again, see comments in \chapmacro. + \donoderef{#3}% % - % Only insert the separating space if we have a section number. - \def\secnum{#2}% - \setbox0 = \hbox{#2\ifx\secnum\empty\else\enspace\fi}% + % Interline glue will be inserted when the vbox is completed. + % That glue will be a valid breakpoint for the page, since it'll be + % preceded by a whatsit (usually from the \donoderef, or from the + % \writetocentry if there was no node). We don't want to allow that + % break, since then the whatsits could end up on page n while the + % section is on page n+1, thus toc/etc. are wrong. Debian bug 276000. + \nobreak % + % Output the actual section heading. \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \raggedright - \hangindent = \wd0 % zero if no section number - \unhbox0 #3}% + \hangindent=\wd0 % zero if no section number + \unhbox0 #1}% }% - \ifdim\parskip<10pt \nobreak\kern10pt\nobreak\kern-\parskip\fi \nobreak + % Add extra space after the heading -- half of whatever came above it. + % Don't allow stretch, though. + \kern .5 \csname #2headingskip\endcsname + % + % Do not let the kern be a potential breakpoint, as it would be if it + % was followed by glue. + \nobreak + % + % We'll almost certainly start a paragraph next, so don't let that + % glue accumulate. (Not a breakpoint because it's preceded by a + % discardable item.) + \vskip-\parskip + % + % 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 } @@ -3927,112 +4775,173 @@ width0pt\relax} \fi \newwrite\tocfile % Write an entry to the toc file, opening it if necessary. -% Called from @chapter, etc. We supply {\folio} at the end of the -% argument, which will end up as the last argument to the \...entry macro. +% Called from @chapter, etc. % -% We open the .toc file here instead of at @setfilename or any other -% fixed time so that @contents can be put in the document anywhere. +% Example usage: \writetocentry{sec}{Section Name}{\the\chapno.\the\secno} +% We append the current node name (if any) and page number as additional +% arguments for the \{chap,sec,...}entry macros which will eventually +% read this. The node name is used in the pdf outlines as the +% destination to jump to. +% +% We open the .toc file for writing here instead of at @setfilename (or +% any other fixed time) so that @contents can be anywhere in the document. +% But if #1 is `omit', then we don't do anything. This is used for the +% table of contents chapter openings themselves. % \newif\iftocfileopened -\def\writetocentry#1{% - \iftocfileopened\else - \immediate\openout\tocfile = \jobname.toc - \global\tocfileopenedtrue +\def\omitkeyword{omit}% +% +\def\writetocentry#1#2#3{% + \edef\writetoctype{#1}% + \ifx\writetoctype\omitkeyword \else + \iftocfileopened\else + \immediate\openout\tocfile = \jobname.toc + \global\tocfileopenedtrue + \fi + % + \iflinks + {\atdummies + \edef\temp{% + \write\tocfile{@#1entry{#2}{#3}{\lastnode}{\noexpand\folio}}}% + \temp + }% + \fi \fi - \iflinks \write\tocfile{#1{\folio}}\fi % - % Tell \shipout to create a page destination if we're doing pdf, which - % will be the target of the links in the table of contents. We can't - % just do it on every page because the title pages are numbered 1 and - % 2 (the page numbers aren't printed), and so are the first two pages - % of the document. Thus, we'd have two destinations named `1', and - % two named `2'. - \ifpdf \pdfmakepagedesttrue \fi + % Tell \shipout to create a pdf destination on each page, if we're + % writing pdf. These are used in the table of contents. We can't + % just write one on every page because the title pages are numbered + % 1 and 2 (the page numbers aren't printed), and so are the first + % two pages of the document. Thus, we'd have two destinations named + % `1', and two named `2'. + \ifpdf \global\pdfmakepagedesttrue \fi +} + + +% These characters do not print properly in the Computer Modern roman +% fonts, so we must take special care. This is more or less redundant +% with the Texinfo input format setup at the end of this file. +% +\def\activecatcodes{% + \catcode`\"=\active + \catcode`\$=\active + \catcode`\<=\active + \catcode`\>=\active + \catcode`\\=\active + \catcode`\^=\active + \catcode`\_=\active + \catcode`\|=\active + \catcode`\~=\active +} + + +% Read the toc file, which is essentially Texinfo input. +\def\readtocfile{% + \setupdatafile + \activecatcodes + \input \jobname.toc } \newskip\contentsrightmargin \contentsrightmargin=1in \newcount\savepageno \newcount\lastnegativepageno \lastnegativepageno = -1 -% Finish up the main text and prepare to read what we've written -% to \tocfile. +% Prepare to read what we've written to \tocfile. % \def\startcontents#1{% - % If @setchapternewpage on, and @headings double, the contents should - % start on an odd page, unlike chapters. Thus, we maintain - % \contentsalignmacro in parallel with \pagealignmacro. - % From: Torbjorn Granlund - \contentsalignmacro - \immediate\closeout\tocfile - % - % Don't need to put `Contents' or `Short Contents' in the headline. - % It is abundantly clear what they are. - \unnumbchapmacro{#1}\def\thischapter{}% - \savepageno = \pageno - \begingroup % Set up to handle contents files properly. - \catcode`\\=0 \catcode`\{=1 \catcode`\}=2 \catcode`\@=11 - % We can't do this, because then an actual ^ in a section - % title fails, e.g., @chapter ^ -- exponentiation. --karl, 9jul97. - %\catcode`\^=7 % to see ^^e4 as \"a etc. juha@piuha.ydi.vtt.fi - \raggedbottom % Worry more about breakpoints than the bottom. - \advance\hsize by -\contentsrightmargin % Don't use the full line length. - % - % Roman numerals for page numbers. - \ifnum \pageno>0 \pageno = \lastnegativepageno \fi + % If @setchapternewpage on, and @headings double, the contents should + % start on an odd page, unlike chapters. Thus, we maintain + % \contentsalignmacro in parallel with \pagealignmacro. + % From: Torbjorn Granlund + \contentsalignmacro + \immediate\closeout\tocfile + % + % Don't need to put `Contents' or `Short Contents' in the headline. + % It is abundantly clear what they are. + \def\thischapter{}% + \chapmacro{#1}{Yomitfromtoc}{}% + % + \savepageno = \pageno + \begingroup % Set up to handle contents files properly. + \raggedbottom % Worry more about breakpoints than the bottom. + \advance\hsize by -\contentsrightmargin % Don't use the full line length. + % + % Roman numerals for page numbers. + \ifnum \pageno>0 \global\pageno = \lastnegativepageno \fi } % Normal (long) toc. \def\contents{% - \startcontents{\putwordTOC}% - \openin 1 \jobname.toc - \ifeof 1 \else - \closein 1 - \input \jobname.toc - \fi - \vfill \eject - \contentsalignmacro % in case @setchapternewpage odd is in effect - \pdfmakeoutlines - \endgroup - \lastnegativepageno = \pageno - \pageno = \savepageno + \startcontents{\putwordTOC}% + \openin 1 \jobname.toc + \ifeof 1 \else + \readtocfile + \fi + \vfill \eject + \contentsalignmacro % in case @setchapternewpage odd is in effect + \ifeof 1 \else + \pdfmakeoutlines + \fi + \closein 1 + \endgroup + \lastnegativepageno = \pageno + \global\pageno = \savepageno } % And just the chapters. \def\summarycontents{% - \startcontents{\putwordShortTOC}% - % - \let\chapentry = \shortchapentry - \let\appendixentry = \shortappendixentry - \let\unnumbchapentry = \shortunnumberedentry - % We want a true roman here for the page numbers. - \secfonts - \let\rm=\shortcontrm \let\bf=\shortcontbf \let\sl=\shortcontsl - \rm - \hyphenpenalty = 10000 - \advance\baselineskip by 1pt % Open it up a little. - \def\secentry ##1##2##3##4{} - \def\unnumbsecentry ##1##2##3{} - \def\subsecentry ##1##2##3##4##5{} - \def\unnumbsubsecentry ##1##2##3##4{} - \def\subsubsecentry ##1##2##3##4##5##6{} - \def\unnumbsubsubsecentry ##1##2##3##4##5{} - \openin 1 \jobname.toc - \ifeof 1 \else - \closein 1 - \input \jobname.toc - \fi - \vfill \eject - \contentsalignmacro % in case @setchapternewpage odd is in effect - \endgroup - \lastnegativepageno = \pageno - \pageno = \savepageno + \startcontents{\putwordShortTOC}% + % + \let\numchapentry = \shortchapentry + \let\appentry = \shortchapentry + \let\unnchapentry = \shortunnchapentry + % We want a true roman here for the page numbers. + \secfonts + \let\rm=\shortcontrm \let\bf=\shortcontbf + \let\sl=\shortcontsl \let\tt=\shortconttt + \rm + \hyphenpenalty = 10000 + \advance\baselineskip by 1pt % Open it up a little. + \def\numsecentry##1##2##3##4{} + \let\appsecentry = \numsecentry + \let\unnsecentry = \numsecentry + \let\numsubsecentry = \numsecentry + \let\appsubsecentry = \numsecentry + \let\unnsubsecentry = \numsecentry + \let\numsubsubsecentry = \numsecentry + \let\appsubsubsecentry = \numsecentry + \let\unnsubsubsecentry = \numsecentry + \openin 1 \jobname.toc + \ifeof 1 \else + \readtocfile + \fi + \closein 1 + \vfill \eject + \contentsalignmacro % in case @setchapternewpage odd is in effect + \endgroup + \lastnegativepageno = \pageno + \global\pageno = \savepageno } \let\shortcontents = \summarycontents -\ifpdf - \pdfcatalog{/PageMode /UseOutlines}% -\fi +% Typeset the label for a chapter or appendix for the short contents. +% The arg is, e.g., `A' for an appendix, or `3' for a chapter. +% +\def\shortchaplabel#1{% + % This space should be enough, since a single number is .5em, and the + % widest letter (M) is 1em, at least in the Computer Modern fonts. + % But use \hss just in case. + % (This space doesn't include the extra space that gets added after + % the label; that gets put in by \shortchapentry above.) + % + % We'd like to right-justify chapter numbers, but that looks strange + % with appendix letters. And right-justifying numbers and + % left-justifying letters looks strange when there is less than 10 + % chapters. Have to read the whole toc once to know how many chapters + % there are before deciding ... + \hbox to 1em{#1\hss}% +} % These macros generate individual entries in the table of contents. % The first argument is the chapter or section name. @@ -4040,57 +4949,46 @@ width0pt\relax} \fi % The arguments in between are the chapter number, section number, ... % Chapters, in the main contents. -\def\chapentry#1#2#3{\dochapentry{#2\labelspace#1}{#3}} +\def\numchapentry#1#2#3#4{\dochapentry{#2\labelspace#1}{#4}} % % Chapters, in the short toc. % See comments in \dochapentry re vbox and related settings. -\def\shortchapentry#1#2#3{% - \tocentry{\shortchaplabel{#2}\labelspace #1}{\doshortpageno\bgroup#3\egroup}% +\def\shortchapentry#1#2#3#4{% + \tocentry{\shortchaplabel{#2}\labelspace #1}{\doshortpageno\bgroup#4\egroup}% } % Appendices, in the main contents. -\def\appendixentry#1#2#3{\dochapentry{\putwordAppendix{} #2\labelspace#1}{#3}} -% -% Appendices, in the short toc. -\let\shortappendixentry = \shortchapentry - -% Typeset the label for a chapter or appendix for the short contents. -% The arg is, e.g., `Appendix A' for an appendix, or `3' for a chapter. -% We could simplify the code here by writing out an \appendixentry -% command in the toc file for appendices, instead of using \chapentry -% for both, but it doesn't seem worth it. +% Need the word Appendix, and a fixed-size box. % -\newdimen\shortappendixwidth +\def\appendixbox#1{% + % We use M since it's probably the widest letter. + \setbox0 = \hbox{\putwordAppendix{} M}% + \hbox to \wd0{\putwordAppendix{} #1\hss}} % -\def\shortchaplabel#1{% - % This space should be enough, since a single number is .5em, and the - % widest letter (M) is 1em, at least in the Computer Modern fonts. - % But use \hss just in case. - % (This space doesn't include the extra space that gets added after - % the label; that gets put in by \shortchapentry above.) - \dimen0 = 1em - \hbox to \dimen0{#1\hss}% -} +\def\appentry#1#2#3#4{\dochapentry{\appendixbox{#2}\labelspace#1}{#4}} % Unnumbered chapters. -\def\unnumbchapentry#1#2{\dochapentry{#1}{#2}} -\def\shortunnumberedentry#1#2{\tocentry{#1}{\doshortpageno\bgroup#2\egroup}} +\def\unnchapentry#1#2#3#4{\dochapentry{#1}{#4}} +\def\shortunnchapentry#1#2#3#4{\tocentry{#1}{\doshortpageno\bgroup#4\egroup}} % Sections. -\def\secentry#1#2#3#4{\dosecentry{#2.#3\labelspace#1}{#4}} -\def\unnumbsecentry#1#2#3{\dosecentry{#1}{#3}} +\def\numsecentry#1#2#3#4{\dosecentry{#2\labelspace#1}{#4}} +\let\appsecentry=\numsecentry +\def\unnsecentry#1#2#3#4{\dosecentry{#1}{#4}} % Subsections. -\def\subsecentry#1#2#3#4#5{\dosubsecentry{#2.#3.#4\labelspace#1}{#5}} -\def\unnumbsubsecentry#1#2#3#4{\dosubsecentry{#1}{#4}} +\def\numsubsecentry#1#2#3#4{\dosubsecentry{#2\labelspace#1}{#4}} +\let\appsubsecentry=\numsubsecentry +\def\unnsubsecentry#1#2#3#4{\dosubsecentry{#1}{#4}} % And subsubsections. -\def\subsubsecentry#1#2#3#4#5#6{% - \dosubsubsecentry{#2.#3.#4.#5\labelspace#1}{#6}} -\def\unnumbsubsubsecentry#1#2#3#4#5{\dosubsubsecentry{#1}{#5}} +\def\numsubsubsecentry#1#2#3#4{\dosubsubsecentry{#2\labelspace#1}{#4}} +\let\appsubsubsecentry=\numsubsubsecentry +\def\unnsubsubsecentry#1#2#3#4{\dosubsubsecentry{#1}{#4}} % This parameter controls the indentation of the various levels. -\newdimen\tocindent \tocindent = 3pc +% Same as \defaultparindent. +\newdimen\tocindent \tocindent = 15pt % Now for the actual typesetting. In all these, #1 is the text and #2 is the % page number. @@ -4121,17 +5019,8 @@ width0pt\relax} \fi \tocentry{#1}{\dopageno\bgroup#2\egroup}% \endgroup} -% Final typesetting of a toc entry; we use the same \entry macro as for -% the index entries, but we want to suppress hyphenation here. (We -% can't do that in the \entry macro, since index entries might consist -% of hyphenated-identifiers-that-do-not-fit-on-a-line-and-nothing-else.) -\def\tocentry#1#2{\begingroup - \vskip 0pt plus1pt % allow a little stretch for the sake of nice page breaks - % Do not use \turnoffactive in these arguments. Since the toc is - % typeset in cmr, characters such as _ would come out wrong; we - % have to do the usual translation tricks. - \entry{#1}{#2}% -\endgroup} +% We use the same \entry macro as for the index entries. +\let\tocentry = \entry % Space between chapter (or whatever) number and the title. \def\labelspace{\hskip1em \relax} @@ -4141,15 +5030,15 @@ width0pt\relax} \fi \def\chapentryfonts{\secfonts \rm} \def\secentryfonts{\textfonts} -\let\subsecentryfonts = \textfonts -\let\subsubsecentryfonts = \textfonts +\def\subsecentryfonts{\textfonts} +\def\subsubsecentryfonts{\textfonts} \message{environments,} % @foo ... @end foo. % @point{}, @result{}, @expansion{}, @print{}, @equiv{}. -% +% % Since these characters are used in examples, it should be an even number of % \tt widths. Each \tt character is 1en, so two makes it 1em. % @@ -4161,18 +5050,18 @@ width0pt\relax} \fi % The @error{} command. % Adapted from the TeXbook's \boxit. -% +% \newbox\errorbox % {\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 \tensf error\kern-1.5pt} +\setbox0 = \hbox{\kern-.75pt \reducedsf error\kern-1.5pt} % -\global\setbox\errorbox=\hbox to \dimen0{\hfil +\setbox\errorbox=\hbox to \dimen0{\hfil \hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right. \advance\hsize by -2\dimen2 % Rules. - \vbox{ + \vbox{% \hrule height\dimen2 \hbox{\vrule width\dimen2 \kern3pt % Space to left of text. \vtop{\kern2.4pt \box0 \kern2.4pt}% Space above/below. @@ -4186,17 +5075,16 @@ width0pt\relax} \fi % One exception: @ is still an escape character, so that @end tex works. % But \@ or @@ will get a plain tex @ character. -\def\tex{\begingroup +\envdef\tex{% \catcode `\\=0 \catcode `\{=1 \catcode `\}=2 \catcode `\$=3 \catcode `\&=4 \catcode `\#=6 - \catcode `\^=7 \catcode `\_=8 \catcode `\~=13 \let~=\tie + \catcode `\^=7 \catcode `\_=8 \catcode `\~=\active \let~=\tie \catcode `\%=14 - \catcode 43=12 % plus - \catcode`\"=12 - \catcode`\==12 - \catcode`\|=12 - \catcode`\<=12 - \catcode`\>=12 + \catcode `\+=\other + \catcode `\"=\other + \catcode `\|=\other + \catcode `\<=\other + \catcode `\>=\other \escapechar=`\\ % \let\b=\ptexb @@ -4208,19 +5096,24 @@ width0pt\relax} \fi \let\equiv=\ptexequiv \let\!=\ptexexclam \let\i=\ptexi + \let\indent=\ptexindent + \let\noindent=\ptexnoindent \let\{=\ptexlbrace \let\+=\tabalign \let\}=\ptexrbrace + \let\/=\ptexslash \let\*=\ptexstar \let\t=\ptext + \let\frenchspacing=\plainfrenchspacing % \def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}% \def\enddots{\relax\ifmmode\endldots\else$\mathsurround=0pt \endldots\,$\fi}% \def\@{@}% -\let\Etex=\endgroup} +} +% There is no need to define \Etex. % Define @lisp ... @end lisp. -% @lisp does a \begingroup so it can rebind things, +% @lisp environment forms a group so it can rebind things, % including the definition of @end lisp (which normally is erroneous). % Amount to narrow the margins by for @lisp. @@ -4231,34 +5124,25 @@ width0pt\relax} \fi % have any width. \def\lisppar{\null\endgraf} -% Make each space character in the input produce a normal interword -% space in the output. Don't allow a line break at this space, as this -% is used only in environments like @example, where each line of input -% should produce a line of output anyway. -% -{\obeyspaces % -\gdef\sepspaces{\obeyspaces\let =\tie}} - -% Define \obeyedspace to be our active space, whatever it is. This is -% for use in \parsearg. -{\sepspaces% -\global\let\obeyedspace= } - % This space is always present above and below environments. \newskip\envskipamount \envskipamount = 0pt % Make spacing and below environment symmetrical. We use \parskip here % to help in doing that, since in @example-like environments \parskip % is reset to zero; thus the \afterenvbreak inserts no space -- but the -% start of the next paragraph will insert \parskip +% start of the next paragraph will insert \parskip. % \def\aboveenvbreak{{% - \ifnum\lastpenalty < 10000 + % =10000 instead of <10000 because of a special case in \itemzzz and + % \sectionheading, q.v. + \ifnum \lastpenalty=10000 \else \advance\envskipamount by \parskip \endgraf \ifdim\lastskip<\envskipamount \removelastskip - \penalty-50 + % it's not a good place to break if the last penalty was \nobreak + % or better ... + \ifnum\lastpenalty<10000 \penalty-50 \fi \vskip\envskipamount \fi \fi @@ -4266,7 +5150,8 @@ width0pt\relax} \fi \let\afterenvbreak = \aboveenvbreak -% \nonarrowing is a flag. If "set", @lisp etc don't narrow margins. +% \nonarrowing is a flag. If "set", @lisp etc don't narrow margins; it will +% also clear it, so that its embedded environments do the narrowing again. \let\nonarrowing=\relax % @cartouche ... @end cartouche: draw rectangle w/rounded corners around @@ -4290,199 +5175,208 @@ width0pt\relax} \fi % \newskip\lskip\newskip\rskip -\long\def\cartouche{% -\begingroup - \lskip=\leftskip \rskip=\rightskip - \leftskip=0pt\rightskip=0pt %we want these *outside*. - \cartinner=\hsize \advance\cartinner by-\lskip - \advance\cartinner by-\rskip - \cartouter=\hsize - \advance\cartouter by 18.4pt % allow for 3pt kerns on either -% side, and for 6pt waste from -% each corner char, and rule thickness - \normbskip=\baselineskip \normpskip=\parskip \normlskip=\lineskip - % Flag to tell @lisp, etc., not to narrow margin. - \let\nonarrowing=\comment - \vbox\bgroup - \baselineskip=0pt\parskip=0pt\lineskip=0pt - \carttop - \hbox\bgroup - \hskip\lskip - \vrule\kern3pt - \vbox\bgroup - \hsize=\cartinner - \kern3pt - \begingroup - \baselineskip=\normbskip - \lineskip=\normlskip - \parskip=\normpskip - \vskip -\parskip +\envdef\cartouche{% + \ifhmode\par\fi % can't be in the midst of a paragraph. + \startsavinginserts + \lskip=\leftskip \rskip=\rightskip + \leftskip=0pt\rightskip=0pt % we want these *outside*. + \cartinner=\hsize \advance\cartinner by-\lskip + \advance\cartinner by-\rskip + \cartouter=\hsize + \advance\cartouter by 18.4pt % allow for 3pt kerns on either + % side, and for 6pt waste from + % each corner char, and rule thickness + \normbskip=\baselineskip \normpskip=\parskip \normlskip=\lineskip + % Flag to tell @lisp, etc., not to narrow margin. + \let\nonarrowing = t% + \vbox\bgroup + \baselineskip=0pt\parskip=0pt\lineskip=0pt + \carttop + \hbox\bgroup + \hskip\lskip + \vrule\kern3pt + \vbox\bgroup + \kern3pt + \hsize=\cartinner + \baselineskip=\normbskip + \lineskip=\normlskip + \parskip=\normpskip + \vskip -\parskip + \comment % For explanation, see the end of \def\group. +} \def\Ecartouche{% - \endgroup - \kern3pt - \egroup - \kern3pt\vrule - \hskip\rskip - \egroup - \cartbot - \egroup -\endgroup -}} + \ifhmode\par\fi + \kern3pt + \egroup + \kern3pt\vrule + \hskip\rskip + \egroup + \cartbot + \egroup + \checkinserts +} % This macro is called at the beginning of all the @example variants, % inside a group. \def\nonfillstart{% \aboveenvbreak - \inENV % This group ends at the end of the body \hfuzz = 12pt % Don't be fussy \sepspaces % Make spaces be word-separators rather than space tokens. - \singlespace \let\par = \lisppar % don't ignore blank lines \obeylines % each line of input is a line of output \parskip = 0pt \parindent = 0pt \emergencystretch = 0pt % don't try to avoid overfull boxes - % @cartouche defines \nonarrowing to inhibit narrowing - % at next level down. \ifx\nonarrowing\relax \advance \leftskip by \lispnarrowing \exdentamount=\lispnarrowing - \let\exdent=\nofillexdent - \let\nonarrowing=\relax + \else + \let\nonarrowing = \relax \fi + \let\exdent=\nofillexdent } -% Define the \E... control sequence only if we are inside the particular -% environment, so the error checking in \end will work. +% If you want all examples etc. small: @set dispenvsize small. +% If you want even small examples the full size: @set dispenvsize nosmall. +% This affects the following displayed environments: +% @example, @display, @format, @lisp % -% To end an @example-like environment, we first end the paragraph (via -% \afterenvbreak's vertical glue), and then the group. That way we keep -% the zero \parskip that the environments set -- \parskip glue will be -% inserted at the beginning of the next paragraph in the document, after -% the environment. -% -\def\nonfillfinish{\afterenvbreak\endgroup} +\def\smallword{small} +\def\nosmallword{nosmall} +\let\SETdispenvsize\relax +\def\setnormaldispenv{% + \ifx\SETdispenvsize\smallword + \smallexamplefonts \rm + \fi +} +\def\setsmalldispenv{% + \ifx\SETdispenvsize\nosmallword + \else + \smallexamplefonts \rm + \fi +} -% @lisp: indented, narrowed, typewriter font. -\def\lisp{\begingroup - \nonfillstart - \let\Elisp = \nonfillfinish - \tt - \let\kbdfont = \kbdexamplefont % Allow @kbd to do something special. - \gobble % eat return +% We often define two environments, @foo and @smallfoo. +% 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 } -% @example: Same as @lisp. -\def\example{\begingroup \def\Eexample{\nonfillfinish\endgroup}\lisp} +% Define two synonyms: +\def\maketwodispenvs #1#2#3{ + \makedispenv{#1}{#3} + \makedispenv{#2}{#3} +} -% @small... is usually equivalent to the non-small (@smallbook -% redefines). We must call \example (or whatever) last in the -% definition, since it reads the return following the @example (or -% whatever) command. -% -% This actually allows (for example) @end display inside an -% @smalldisplay. Too bad, but makeinfo will catch the error anyway. +% @lisp: indented, narrowed, typewriter font; @example: same as @lisp. % -\def\smalldisplay{\begingroup\def\Esmalldisplay{\nonfillfinish\endgroup}\display} -\def\smallexample{\begingroup\def\Esmallexample{\nonfillfinish\endgroup}\lisp} -\def\smallformat{\begingroup\def\Esmallformat{\nonfillfinish\endgroup}\format} -\def\smalllisp{\begingroup\def\Esmalllisp{\nonfillfinish\endgroup}\lisp} - -% Real @smallexample and @smalllisp (when @smallbook): use smaller fonts. +% @smallexample and @smalllisp: use smaller fonts. % Originally contributed by Pavel@xerox. -\def\smalllispx{\begingroup - \def\Esmalllisp{\nonfillfinish\endgroup}% - \def\Esmallexample{\nonfillfinish\endgroup}% - \smallexamplefonts - \lisp -} - -% @display: same as @lisp except keep current font. % -\def\display{\begingroup +\maketwodispenvs {lisp}{example}{% \nonfillstart - \let\Edisplay = \nonfillfinish - \gobble + \tt\quoteexpand + \let\kbdfont = \kbdexamplefont % Allow @kbd to do something special. + \gobble % eat return } +% @display/@smalldisplay: same as @lisp except keep current font. % -% @smalldisplay (when @smallbook): @display plus smaller fonts. -% -\def\smalldisplayx{\begingroup - \def\Esmalldisplay{\nonfillfinish\endgroup}% - \smallexamplefonts \rm - \display +\makedispenv {display}{% + \nonfillstart + \gobble } -% @format: same as @display except don't narrow margins. +% @format/@smallformat: same as @display except don't narrow margins. % -\def\format{\begingroup - \let\nonarrowing = t +\makedispenv{format}{% + \let\nonarrowing = t% \nonfillstart - \let\Eformat = \nonfillfinish \gobble } -% -% @smallformat (when @smallbook): @format plus smaller fonts. -% -\def\smallformatx{\begingroup - \def\Esmallformat{\nonfillfinish\endgroup}% - \smallexamplefonts \rm - \format -} -% @flushleft (same as @format). -% -\def\flushleft{\begingroup \def\Eflushleft{\nonfillfinish\endgroup}\format} +% @flushleft: same as @format, but doesn't obey \SETdispenvsize. +\envdef\flushleft{% + \let\nonarrowing = t% + \nonfillstart + \gobble +} +\let\Eflushleft = \afterenvbreak % @flushright. % -\def\flushright{\begingroup - \let\nonarrowing = t +\envdef\flushright{% + \let\nonarrowing = t% \nonfillstart - \let\Eflushright = \nonfillfinish \advance\leftskip by 0pt plus 1fill \gobble } +\let\Eflushright = \afterenvbreak % @quotation does normal linebreaking (hence we can't use \nonfillstart) -% and narrows the margins. +% and narrows the margins. We keep \parskip nonzero in general, since +% we're doing normal filling. So, when using \aboveenvbreak and +% \afterenvbreak, temporarily make \parskip 0. % -\def\quotation{% - \begingroup\inENV %This group ends at the end of the @quotation body +\envdef\quotation{% {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip - \singlespace \parindent=0pt - % We have retained a nonzero parskip for the environment, since we're - % doing normal filling. So to avoid extra space below the environment... - \def\Equotation{\parskip = 0pt \nonfillfinish}% % % @cartouche defines \nonarrowing to inhibit narrowing at next level down. \ifx\nonarrowing\relax \advance\leftskip by \lispnarrowing \advance\rightskip by \lispnarrowing \exdentamount = \lispnarrowing + \else \let\nonarrowing = \relax \fi + \parsearg\quotationlabel +} + +% We have retained a nonzero parskip for the environment, since we're +% doing normal filling. +% +\def\Equotation{% + \par + \ifx\quotationauthor\undefined\else + % indent a bit. + \leftline{\kern 2\leftskip \sl ---\quotationauthor}% + \fi + {\parskip=0pt \afterenvbreak}% +} + +% If we're given an argument, typeset it in bold with a colon after. +\def\quotationlabel#1{% + \def\temp{#1}% + \ifx\temp\empty \else + {\bf #1: }% + \fi } % LaTeX-like @verbatim...@end verbatim and @verb{...} -% If we want to allow any as delimiter, +% If we want to allow any as delimiter, % we need the curly braces so that makeinfo sees the @verb command, eg: % `@verbx...x' would look like the '@verbx' command. --janneke@gnu.org % % [Knuth]: Donald Ervin Knuth, 1996. The TeXbook. % -% [Knuth] p. 344; only we need to do '@' too +% [Knuth] p.344; only we need to do the other characters Texinfo sets +% active too. Otherwise, they get lost as the first character on a +% verbatim line. \def\dospecials{% - \do\ \do\\\do\@\do\{\do\}\do\$\do\&% - \do\#\do\^\do\^^K\do\_\do\^^A\do\%\do\~} + \do\ \do\\\do\{\do\}\do\$\do\&% + \do\#\do\^\do\^^K\do\_\do\^^A\do\%\do\~% + \do\<\do\>\do\|\do\@\do+\do\"% +} % % [Knuth] p. 380 \def\uncatcodespecials{% - \def\do##1{\catcode`##1=12}\dospecials} + \def\do##1{\catcode`##1=\other}\dospecials} % % [Knuth] pp. 380,381,391 % Disable Spanish ligatures ?` and !` of \tt font @@ -4516,6 +5410,34 @@ width0pt\relax} \fi \newdimen\tabw \setbox0=\hbox{\tt\space} \tabw=8\wd0 % tab amount % \def\starttabbox{\setbox0=\hbox\bgroup} + +% 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 SETcodequoteundirected\endcsname\relax + '% + \else + \char'15 + \fi +} +% +% and a similar option for the left quote char vs. a grave accent. +% Modern fonts display ASCII 0x60 as a grave accent, so some people like +% the code environments to do likewise. +% +\def\codequoteleft{% + \expandafter\ifx\csname SETcodequotebacktick\endcsname\relax + `% + \else + \char'22 + \fi +} +% \begingroup \catcode`\^^I=\active \gdef\tabexpand{% @@ -4528,13 +5450,25 @@ width0pt\relax} \fi \wd0=\dimen0 \box0 \starttabbox }% } + \catcode`\'=\active + \gdef\rquoteexpand{\catcode\rquoteChar=\active \def'{\codequoteright}}% + % + \catcode`\`=\active + \gdef\lquoteexpand{\catcode\lquoteChar=\active \def`{\codequoteleft}}% + % + \gdef\quoteexpand{\rquoteexpand \lquoteexpand}% \endgroup + +% start the verbatim environment. \def\setupverbatim{% + \let\nonarrowing = t% + \nonfillstart % Easiest (and conventionally used) font for verbatim \tt \def\par{\leavevmode\egroup\box0\endgraf}% \catcode`\`=\active \tabexpand + \quoteexpand % Respect line breaks, % print special symbols as themselves, and % make each space count @@ -4543,15 +5477,15 @@ width0pt\relax} \fi \everypar{\starttabbox}% } -% Do the @verb magic: verbatim text is quoted by unique -% delimiter characters. Before first delimiter expect a +% Do the @verb magic: verbatim text is quoted by unique +% delimiter characters. Before first delimiter expect a % right brace, after last delimiter expect closing brace: % % \def\doverb'{'#1'}'{#1} % % [Knuth] p. 382; only eat outer {} \begingroup - \catcode`[=1\catcode`]=2\catcode`\{=12\catcode`\}=12 + \catcode`[=1\catcode`]=2\catcode`\{=\other\catcode`\}=\other \gdef\doverb{#1[\def\next##1#1}[##1\endgroup]\next] \endgroup % @@ -4563,611 +5497,395 @@ width0pt\relax} \fi % % \def\doverbatim#1@end verbatim{#1} % -% For Texinfo it's a lot easier than for LaTeX, +% For Texinfo it's a lot easier than for LaTeX, % because texinfo's \verbatim doesn't stop at '\end{verbatim}': -% we need not redefine '\', '{' and '}' +% we need not redefine '\', '{' and '}'. % % Inspired by LaTeX's verbatim command set [latex.ltx] -%% Include LaTeX hack for completeness -- never know -%% \begingroup -%% \catcode`|=0 \catcode`[=1 -%% \catcode`]=2\catcode`\{=12\catcode`\}=12\catcode`\ =\active -%% \catcode`\\=12|gdef|doverbatim#1@end verbatim[ -%% #1|endgroup|def|Everbatim[]|end[verbatim]] -%% |endgroup +% \begingroup \catcode`\ =\active - \gdef\doverbatim#1@end verbatim{#1\end{verbatim}} + \obeylines % + % ignore everything up to the first ^^M, that's the newline at the end + % of the @verbatim input line itself. Otherwise we get an extra blank + % line in the output. + \xdef\doverbatim#1^^M#2@end verbatim{#2\noexpand\end\gobble verbatim}% + % We really want {...\end verbatim} in the body of the macro, but + % without the active space; thus we have to use \xdef and \gobble. \endgroup % -\def\verbatim{% - \def\Everbatim{\nonfillfinish\endgroup}% - \begingroup - \nonfillstart - \advance\leftskip by -\defbodyindent - \begingroup\setupverbatim\doverbatim +\envdef\verbatim{% + \setupverbatim\doverbatim } +\let\Everbatim = \afterenvbreak + % @verbatiminclude FILE - insert text of file in verbatim environment. % -% Allow normal characters that we make active in the argument (a file name). -\def\verbatiminclude{% - \begingroup - \catcode`\\=12 - \catcode`~=12 - \catcode`^=12 - \catcode`_=12 - \catcode`|=12 - \catcode`<=12 - \catcode`>=12 - \catcode`+=12 - \parsearg\doverbatiminclude -} -\def\setupverbatiminclude{% - \begingroup - \nonfillstart - \advance\leftskip by -\defbodyindent - \begingroup\setupverbatim -} +\def\verbatiminclude{\parseargusing\filenamecatcodes\doverbatiminclude} % \def\doverbatiminclude#1{% - % Restore active chars for included file. - \endgroup - \begingroup - \def\thisfile{#1}% - \expandafter\expandafter\setupverbatiminclude\input\thisfile - \endgroup\nonfillfinish\endgroup + {% + \makevalueexpandable + \setupverbatim + \input #1 + \afterenvbreak + }% } % @copying ... @end copying. % Save the text away for @insertcopying later. -% -\newbox\copyingbox % -\def\copying{\begingroup - \parindent = 0pt % looks wrong on title page - \def\Ecopying{\egroup\endgroup}% - \global\setbox\copyingbox = \vbox\bgroup +% We save the uninterpreted tokens, rather than creating a box. +% Saving the text in a box would be much easier, but then all the +% typesetting commands (@smallbook, font changes, etc.) have to be done +% beforehand -- and a) we want @copying to be done first in the source +% file; b) letting users define the frontmatter in as flexible order as +% possible is very desirable. +% +\def\copying{\checkenv{}\begingroup\scanargctxt\docopying} +\def\docopying#1@end copying{\endgroup\def\copyingtext{#1}} +% +\def\insertcopying{% + \begingroup + \parindent = 0pt % paragraph indentation looks wrong on title page + \scanexp\copyingtext + \endgroup } -% @insertcopying. -% -\def\insertcopying{\unvcopy\copyingbox} - - \message{defuns,} % @defun etc. -% Allow user to change definition object font (\df) internally -\def\setdeffont #1 {\csname DEF#1\endcsname} - \newskip\defbodyindent \defbodyindent=.4in \newskip\defargsindent \defargsindent=50pt -\newskip\deftypemargin \deftypemargin=12pt \newskip\deflastargmargin \deflastargmargin=18pt -\newcount\parencount -% define \functionparens, which makes ( and ) and & do special things. -% \functionparens affects the group it is contained in. -\def\activeparens{% -\catcode`\(=\active \catcode`\)=\active \catcode`\&=\active -\catcode`\[=\active \catcode`\]=\active} - -% Make control sequences which act like normal parenthesis chars. -\let\lparen = ( \let\rparen = ) - -{\activeparens % Now, smart parens don't turn on until &foo (see \amprm) - -% Be sure that we always have a definition for `(', etc. For example, -% if the fn name has parens in it, \boldbrax will not be in effect yet, -% so TeX would otherwise complain about undefined control sequence. -\global\let(=\lparen \global\let)=\rparen -\global\let[=\lbrack \global\let]=\rbrack - -\gdef\functionparens{\boldbrax\let&=\amprm\parencount=0 } -\gdef\boldbrax{\let(=\opnr\let)=\clnr\let[=\lbrb\let]=\rbrb} -% This is used to turn on special parens -% but make & act ordinary (given that it's active). -\gdef\boldbraxnoamp{\let(=\opnr\let)=\clnr\let[=\lbrb\let]=\rbrb\let&=\ampnr} - -% Definitions of (, ) and & used in args for functions. -% This is the definition of ( outside of all parentheses. -\gdef\oprm#1 {{\rm\char`\(}#1 \bf \let(=\opnested - \global\advance\parencount by 1 -} -% -% This is the definition of ( when already inside a level of parens. -\gdef\opnested{\char`\(\global\advance\parencount by 1 } -% -\gdef\clrm{% Print a paren in roman if it is taking us back to depth of 0. - % also in that case restore the outer-level definition of (. - \ifnum \parencount=1 {\rm \char `\)}\sl \let(=\oprm \else \char `\) \fi - \global\advance \parencount by -1 } -% If we encounter &foo, then turn on ()-hacking afterwards -\gdef\amprm#1 {{\rm\}\let(=\oprm \let)=\clrm\ } -% -\gdef\normalparens{\boldbrax\let&=\ampnr} -} % End of definition inside \activeparens -%% These parens (in \boldbrax) actually are a little bolder than the -%% contained text. This is especially needed for [ and ] -\def\opnr{{\sf\char`\(}\global\advance\parencount by 1 } -\def\clnr{{\sf\char`\)}\global\advance\parencount by -1 } -\let\ampnr = \& -\def\lbrb{{\bf\char`\[}} -\def\rbrb{{\bf\char`\]}} - -% Active &'s sneak into the index arguments, so make sure it's defined. -{ - \catcode`& = 13 - \global\let& = \ampnr -} - -% First, defname, which formats the header line itself. -% #1 should be the function name. -% #2 should be the type of definition, such as "Function". - -\def\defname #1#2{% -% Get the values of \leftskip and \rightskip as they were -% outside the @def... -\dimen2=\leftskip -\advance\dimen2 by -\defbodyindent -\noindent -\setbox0=\hbox{\hskip \deflastargmargin{\rm #2}\hskip \deftypemargin}% -\dimen0=\hsize \advance \dimen0 by -\wd0 % compute size for first line -\dimen1=\hsize \advance \dimen1 by -\defargsindent %size for continuations -\parshape 2 0in \dimen0 \defargsindent \dimen1 -% Now output arg 2 ("Function" or some such) -% ending at \deftypemargin from the right margin, -% but stuck inside a box of width 0 so it does not interfere with linebreaking -{% Adjust \hsize to exclude the ambient margins, -% so that \rightline will obey them. -\advance \hsize by -\dimen2 -\rlap{\rightline{{\rm #2}\hskip -1.25pc }}}% -% Make all lines underfull and no complaints: -\tolerance=10000 \hbadness=10000 -\advance\leftskip by -\defbodyindent -\exdentamount=\defbodyindent -{\df #1}\enskip % Generate function name -} - -% Common pieces to start any @def... -% #1 is the \E... control sequence to end the definition (which we define). -% #2 is the \...x control sequence (which our caller defines). -% #3 is the control sequence to process the header, such as \defunheader. -% -\def\parsebodycommon#1#2#3{% - \begingroup\inENV - % If there are two @def commands in a row, we'll have a \nobreak, - % which is there to keep the function description together with its - % header. But if there's nothing but headers, we want to allow a - % break after all. - \ifnum\lastpenalty = 10000 \penalty0 \fi - \medbreak - % - % Define the \E... end token that this defining construct specifies - % so that it will exit this group. - \def#1{\endgraf\endgroup\medbreak}% +% Start the processing of @deffn: +\def\startdefun{% + \ifnum\lastpenalty<10000 + \medbreak + \else + % If there are two @def commands in a row, we'll have a \nobreak, + % which is there to keep the function description together with its + % header. But if there's nothing but headers, we need to allow a + % break somewhere. Check specifically for penalty 10002, inserted + % by \defargscommonending, instead of 10000, since the sectioning + % commands also insert a nobreak penalty, and we don't want to allow + % a break between a section heading and a defun. + % + \ifnum\lastpenalty=10002 \penalty2000 \fi + % + % Similarly, after a section heading, do not allow a break. + % But do insert the glue. + \medskip % preceded by discardable penalty, so not a breakpoint + \fi % \parindent=0in \advance\leftskip by \defbodyindent \exdentamount=\defbodyindent } -% Process body of @defun, @deffn, @defmac, etc. -% -\def\defparsebody#1#2#3{% - \parsebodycommon{#1}{#2}{#3}% - \def#2{\begingroup\obeylines\activeparens\spacesplit#3}% - \catcode61=\active % 61 is `=' - \begingroup\obeylines\activeparens - \spacesplit#3% -} - -% #1, #2, #3 are the common arguments (see \defparsebody). -% #4, delimited by the space, is the class name. -% -\def\defmethparsebody#1#2#3#4 {% - \parsebodycommon{#1}{#2}{#3}% - \def#2##1 {\begingroup\obeylines\activeparens\spacesplit{#3{##1}}}% - \begingroup\obeylines\activeparens - \spacesplit{#3{#4}}% +\def\dodefunx#1{% + % First, check whether we are in the right environment: + \checkenv#1% + % + % As above, allow line break if we have multiple x headers in a row. + % It's not a great place, though. + \ifnum\lastpenalty=10002 \penalty3000 \fi + % + % And now, it's time to reuse the body of the original defun: + \expandafter\gobbledefun#1% } +\def\gobbledefun#1\startdefun{} -% Used for @deftypemethod and @deftypeivar. -% #1, #2, #3 are the common arguments (see \defparsebody). -% #4, delimited by a space, is the class name. -% #5 is the method's return type. +% \printdefunline \deffnheader{text} % -\def\deftypemethparsebody#1#2#3#4 #5 {% - \parsebodycommon{#1}{#2}{#3}% - \def#2##1 ##2 {\begingroup\obeylines\activeparens\spacesplit{#3{##1}{##2}}}% - \begingroup\obeylines\activeparens - \spacesplit{#3{#4}{#5}}% -} - -% Used for @deftypeop. The change from \deftypemethparsebody is an -% extra argument at the beginning which is the `category', instead of it -% being the hardwired string `Method' or `Instance Variable'. We have -% to account for this both in the \...x definition and in parsing the -% input at hand. Thus also need a control sequence (passed as #5) for -% the \E... definition to assign the category name to. -% -\def\deftypeopparsebody#1#2#3#4#5 #6 {% - \parsebodycommon{#1}{#2}{#3}% - \def#2##1 ##2 ##3 {% - \def#4{##1}% - \begingroup\obeylines\activeparens\spacesplit{#3{##2}{##3}}}% - \begingroup\obeylines\activeparens - \spacesplit{#3{#5}{#6}}% +\def\printdefunline#1#2{% + \begingroup + % call \deffnheader: + #1#2 \endheader + % common ending: + \interlinepenalty = 10000 + \advance\rightskip by 0pt plus 1fil + \endgraf + \nobreak\vskip -\parskip + \penalty 10002 % signal to \startdefun and \dodefunx + % Some of the @defun-type tags do not enable magic parentheses, + % rendering the following check redundant. But we don't optimize. + \checkparencounts + \endgroup } -% For @defop. -\def\defopparsebody #1#2#3#4#5 {% - \parsebodycommon{#1}{#2}{#3}% - \def#2##1 ##2 {\def#4{##1}% - \begingroup\obeylines\activeparens\spacesplit{#3{##2}}}% - \begingroup\obeylines\activeparens - \spacesplit{#3{#5}}% -} +\def\Edefun{\endgraf\medbreak} -% These parsing functions are similar to the preceding ones -% except that they do not make parens into active characters. -% These are used for "variables" since they have no arguments. +% \makedefun{deffn} creates \deffn, \deffnx and \Edeffn; +% the only thing remainnig is to define \deffnheader. % -\def\defvarparsebody #1#2#3{% - \parsebodycommon{#1}{#2}{#3}% - \def#2{\begingroup\obeylines\spacesplit#3}% - \catcode61=\active % - \begingroup\obeylines - \spacesplit#3% -} - -% @defopvar. -\def\defopvarparsebody #1#2#3#4#5 {% - \parsebodycommon{#1}{#2}{#3}% - \def#2##1 ##2 {\def#4{##1}% - \begingroup\obeylines\spacesplit{#3{##2}}}% - \begingroup\obeylines - \spacesplit{#3{#5}}% -} - -\def\defvrparsebody#1#2#3#4 {% - \parsebodycommon{#1}{#2}{#3}% - \def#2##1 {\begingroup\obeylines\spacesplit{#3{##1}}}% - \begingroup\obeylines - \spacesplit{#3{#4}}% +\def\makedefun#1{% + \expandafter\let\csname E#1\endcsname = \Edefun + \edef\temp{\noexpand\domakedefun + \makecsname{#1}\makecsname{#1x}\makecsname{#1header}}% + \temp } -% This loses on `@deftp {Data Type} {struct termios}' -- it thinks the -% type is just `struct', because we lose the braces in `{struct -% termios}' when \spacesplit reads its undelimited argument. Sigh. -% \let\deftpparsebody=\defvrparsebody +% \domakedefun \deffn \deffnx \deffnheader % -% So, to get around this, we put \empty in with the type name. That -% way, TeX won't find exactly `{...}' as an undelimited argument, and -% won't strip off the braces. +% Define \deffn and \deffnx, without parameters. +% \deffnheader has to be defined explicitly. % -\def\deftpparsebody #1#2#3#4 {% - \parsebodycommon{#1}{#2}{#3}% - \def#2##1 {\begingroup\obeylines\spacesplit{#3{##1}}}% - \begingroup\obeylines - \spacesplit{\parsetpheaderline{#3{#4}}}\empty +\def\domakedefun#1#2#3{% + \envdef#1{% + \startdefun + \parseargusing\activeparens{\printdefunline#3}% + }% + \def#2{\dodefunx#1}% + \def#3% } -% Fine, but then we have to eventually remove the \empty *and* the -% braces (if any). That's what this does. -% -\def\removeemptybraces\empty#1\relax{#1} - -% After \spacesplit has done its work, this is called -- #1 is the final -% thing to call, #2 the type name (which starts with \empty), and #3 -% (which might be empty) the arguments. -% -\def\parsetpheaderline#1#2#3{% - #1{\removeemptybraces#2\relax}{#3}% -}% +%%% Untyped functions: -% Split up #2 at the first space token. -% call #1 with two arguments: -% the first is all of #2 before the space token, -% the second is all of #2 after that space token. -% If #2 contains no space token, all of it is passed as the first arg -% and the second is passed as empty. -% -{\obeylines -\gdef\spacesplit#1#2^^M{\endgroup\spacesplitfoo{#1}#2 \relax\spacesplitfoo}% -\long\gdef\spacesplitfoo#1#2 #3#4\spacesplitfoo{% -\ifx\relax #3% -#1{#2}{}\else #1{#2}{#3#4}\fi}} +% @deffn category name args +\makedefun{deffn}{\deffngeneral{}} -% Define @defun. +% @deffn category class name args +\makedefun{defop}#1 {\defopon{#1\ \putwordon}} -% First, define the processing that is wanted for arguments of \defun -% Use this to expand the args and terminate the paragraph they make up +% \defopon {category on}class name args +\def\defopon#1#2 {\deffngeneral{\putwordon\ \code{#2}}{#1\ \code{#2}} } -\def\defunargs#1{\functionparens \sl -% Expand, preventing hyphenation at `-' chars. -% Note that groups don't affect changes in \hyphenchar. -% Set the font temporarily and use \font in case \setfont made \tensl a macro. -{\tensl\hyphenchar\font=0}% -#1% -{\tensl\hyphenchar\font=45}% -\ifnum\parencount=0 \else \errmessage{Unbalanced parentheses in @def}\fi% -\interlinepenalty=10000 -\advance\rightskip by 0pt plus 1fil -\endgraf\nobreak\vskip -\parskip\nobreak +% \deffngeneral {subind}category name args +% +\def\deffngeneral#1#2 #3 #4\endheader{% + % Remember that \dosubind{fn}{foo}{} is equivalent to \doind{fn}{foo}. + \dosubind{fn}{\code{#3}}{#1}% + \defname{#2}{}{#3}\magicamp\defunargs{#4\unskip}% } -\def\deftypefunargs #1{% -% Expand, preventing hyphenation at `-' chars. -% Note that groups don't affect changes in \hyphenchar. -% Use \boldbraxnoamp, not \functionparens, so that & is not special. -\boldbraxnoamp -\tclose{#1}% avoid \code because of side effects on active chars -\interlinepenalty=10000 -\advance\rightskip by 0pt plus 1fil -\endgraf\nobreak\vskip -\parskip\nobreak -} +%%% Typed functions: -% Do complete processing of one @defun or @defunx line already parsed. +% @deftypefn category type name args +\makedefun{deftypefn}{\deftypefngeneral{}} -% @deffn Command forward-char nchars +% @deftypeop category class type name args +\makedefun{deftypeop}#1 {\deftypeopon{#1\ \putwordon}} -\def\deffn{\defmethparsebody\Edeffn\deffnx\deffnheader} +% \deftypeopon {category on}class type name args +\def\deftypeopon#1#2 {\deftypefngeneral{\putwordon\ \code{#2}}{#1\ \code{#2}} } -\def\deffnheader #1#2#3{\doind {fn}{\code{#2}}% -\begingroup\defname {#2}{#1}\defunargs{#3}\endgroup % -\catcode 61=\other % Turn off change made in \defparsebody +% \deftypefngeneral {subind}category type name args +% +\def\deftypefngeneral#1#2 #3 #4 #5\endheader{% + \dosubind{fn}{\code{#4}}{#1}% + \defname{#2}{#3}{#4}\defunargs{#5\unskip}% } -% @defun == @deffn Function - -\def\defun{\defparsebody\Edefun\defunx\defunheader} +%%% Typed variables: -\def\defunheader #1#2{\doind {fn}{\code{#1}}% Make entry in function index -\begingroup\defname {#1}{\putwordDeffunc}% -\defunargs {#2}\endgroup % -\catcode 61=\other % Turn off change made in \defparsebody -} +% @deftypevr category type var args +\makedefun{deftypevr}{\deftypecvgeneral{}} -% @deftypefun int foobar (int @var{foo}, float @var{bar}) +% @deftypecv category class type var args +\makedefun{deftypecv}#1 {\deftypecvof{#1\ \putwordof}} -\def\deftypefun{\defparsebody\Edeftypefun\deftypefunx\deftypefunheader} +% \deftypecvof {category of}class type var args +\def\deftypecvof#1#2 {\deftypecvgeneral{\putwordof\ \code{#2}}{#1\ \code{#2}} } -% #1 is the data type. #2 is the name and args. -\def\deftypefunheader #1#2{\deftypefunheaderx{#1}#2 \relax} -% #1 is the data type, #2 the name, #3 the args. -\def\deftypefunheaderx #1#2 #3\relax{% -\doind {fn}{\code{#2}}% Make entry in function index -\begingroup\defname {\defheaderxcond#1\relax$.$#2}{\putwordDeftypefun}% -\deftypefunargs {#3}\endgroup % -\catcode 61=\other % Turn off change made in \defparsebody +% \deftypecvgeneral {subind}category type var args +% +\def\deftypecvgeneral#1#2 #3 #4 #5\endheader{% + \dosubind{vr}{\code{#4}}{#1}% + \defname{#2}{#3}{#4}\defunargs{#5\unskip}% } -% @deftypefn {Library Function} int foobar (int @var{foo}, float @var{bar}) - -\def\deftypefn{\defmethparsebody\Edeftypefn\deftypefnx\deftypefnheader} +%%% Untyped variables: -% \defheaderxcond#1\relax$.$ -% puts #1 in @code, followed by a space, but does nothing if #1 is null. -\def\defheaderxcond#1#2$.${\ifx#1\relax\else\code{#1#2} \fi} - -% #1 is the classification. #2 is the data type. #3 is the name and args. -\def\deftypefnheader #1#2#3{\deftypefnheaderx{#1}{#2}#3 \relax} -% #1 is the classification, #2 the data type, #3 the name, #4 the args. -\def\deftypefnheaderx #1#2#3 #4\relax{% -\doind {fn}{\code{#3}}% Make entry in function index -\begingroup -\normalparens % notably, turn off `&' magic, which prevents -% at least some C++ text from working -\defname {\defheaderxcond#2\relax$.$#3}{#1}% -\deftypefunargs {#4}\endgroup % -\catcode 61=\other % Turn off change made in \defparsebody -} +% @defvr category var args +\makedefun{defvr}#1 {\deftypevrheader{#1} {} } -% @defmac == @deffn Macro +% @defcv category class var args +\makedefun{defcv}#1 {\defcvof{#1\ \putwordof}} -\def\defmac{\defparsebody\Edefmac\defmacx\defmacheader} +% \defcvof {category of}class var args +\def\defcvof#1#2 {\deftypecvof{#1}#2 {} } -\def\defmacheader #1#2{\doind {fn}{\code{#1}}% Make entry in function index -\begingroup\defname {#1}{\putwordDefmac}% -\defunargs {#2}\endgroup % -\catcode 61=\other % Turn off change made in \defparsebody +%%% Type: +% @deftp category name args +\makedefun{deftp}#1 #2 #3\endheader{% + \doind{tp}{\code{#2}}% + \defname{#1}{}{#2}\defunargs{#3\unskip}% } -% @defspec == @deffn Special Form - -\def\defspec{\defparsebody\Edefspec\defspecx\defspecheader} - -\def\defspecheader #1#2{\doind {fn}{\code{#1}}% Make entry in function index -\begingroup\defname {#1}{\putwordDefspec}% -\defunargs {#2}\endgroup % -\catcode 61=\other % Turn off change made in \defparsebody -} +% Remaining @defun-like shortcuts: +\makedefun{defun}{\deffnheader{\putwordDeffunc} } +\makedefun{defmac}{\deffnheader{\putwordDefmac} } +\makedefun{defspec}{\deffnheader{\putwordDefspec} } +\makedefun{deftypefun}{\deftypefnheader{\putwordDeffunc} } +\makedefun{defvar}{\defvrheader{\putwordDefvar} } +\makedefun{defopt}{\defvrheader{\putwordDefopt} } +\makedefun{deftypevar}{\deftypevrheader{\putwordDefvar} } +\makedefun{defmethod}{\defopon\putwordMethodon} +\makedefun{deftypemethod}{\deftypeopon\putwordMethodon} +\makedefun{defivar}{\defcvof\putwordInstanceVariableof} +\makedefun{deftypeivar}{\deftypecvof\putwordInstanceVariableof} -% @defop CATEGORY CLASS OPERATION ARG... +% \defname, which formats the name of the @def (not the args). +% #1 is the category, such as "Function". +% #2 is the return type, if any. +% #3 is the function name. % -\def\defop #1 {\def\defoptype{#1}% -\defopparsebody\Edefop\defopx\defopheader\defoptype} +% We are followed by (but not passed) the arguments, if any. % -\def\defopheader#1#2#3{% -\dosubind {fn}{\code{#2}}{\putwordon\ #1}% Make entry in function index -\begingroup\defname {#2}{\defoptype\ \putwordon\ #1}% -\defunargs {#3}\endgroup % +\def\defname#1#2#3{% + % Get the values of \leftskip and \rightskip as they were outside the @def... + \advance\leftskip by -\defbodyindent + % + % 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. + % 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 + % 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 + % + % Put the type name to the right margin. + \noindent + \hbox to 0pt{% + \hfil\box0 \kern-\hsize + % \hsize has to be shortened this way: + \kern\leftskip + % Intentionally do not respect \rightskip, since we need the space. + }% + % + % Allow all lines to be underfull without complaint: + \tolerance=10000 \hbadness=10000 + \exdentamount=\defbodyindent + {% + % defun fonts. We use typewriter by default (used to be bold) because: + % . we're printing identifiers, they should be in tt in principle. + % . in languages with many accents, such as Czech or French, it's + % common to leave accents off identifiers. The result looks ok in + % tt, but exceedingly strange in rm. + % . we don't want -- and --- to be treated as ligatures. + % . this still does not fix the ?` and !` ligatures, but so far no + % one has made identifiers using them :). + \df \tt + \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 + % + \boldbrax + % arguments will be output next, if any. } -% @deftypeop CATEGORY CLASS TYPE OPERATION ARG... +% Print arguments in slanted roman (not ttsl), inconsistently with using +% tt for the name. This is because literal text is sometimes needed in +% the argument list (groff manual), and ttsl and tt are not very +% distinguishable. Prevent hyphenation at `-' chars. % -\def\deftypeop #1 {\def\deftypeopcategory{#1}% - \deftypeopparsebody\Edeftypeop\deftypeopx\deftypeopheader - \deftypeopcategory} -% -% #1 is the class name, #2 the data type, #3 the operation name, #4 the args. -\def\deftypeopheader#1#2#3#4{% - \dosubind{fn}{\code{#3}}{\putwordon\ \code{#1}}% entry in function index - \begingroup - \defname{\defheaderxcond#2\relax$.$#3} - {\deftypeopcategory\ \putwordon\ \code{#1}}% - \deftypefunargs{#4}% - \endgroup +\def\defunargs#1{% + % use sl by default (not ttsl), + % tt for the names. + \df \sl \hyphenchar\font=0 + % + % On the other hand, if an argument has two dashes (for instance), we + % want a way to get ttsl. Let's try @var for that. + \let\var=\ttslanted + #1% + \sl\hyphenchar\font=45 } -% @deftypemethod CLASS TYPE METHOD ARG... +% We want ()&[] to print specially on the defun line. % -\def\deftypemethod{% - \deftypemethparsebody\Edeftypemethod\deftypemethodx\deftypemethodheader} -% -% #1 is the class name, #2 the data type, #3 the method name, #4 the args. -\def\deftypemethodheader#1#2#3#4{% - \dosubind{fn}{\code{#3}}{\putwordon\ \code{#1}}% entry in function index - \begingroup - \defname{\defheaderxcond#2\relax$.$#3}{\putwordMethodon\ \code{#1}}% - \deftypefunargs{#4}% - \endgroup +\def\activeparens{% + \catcode`\(=\active \catcode`\)=\active + \catcode`\[=\active \catcode`\]=\active + \catcode`\&=\active } -% @deftypeivar CLASS TYPE VARNAME -% -\def\deftypeivar{% - \deftypemethparsebody\Edeftypeivar\deftypeivarx\deftypeivarheader} -% -% #1 is the class name, #2 the data type, #3 the variable name. -\def\deftypeivarheader#1#2#3{% - \dosubind{vr}{\code{#3}}{\putwordof\ \code{#1}}% entry in variable index - \begingroup - \defname{\defheaderxcond#2\relax$.$#3} - {\putwordInstanceVariableof\ \code{#1}}% - \defvarargs{#3}% - \endgroup -} +% Make control sequences which act like normal parenthesis chars. +\let\lparen = ( \let\rparen = ) -% @defmethod == @defop Method -% -\def\defmethod{\defmethparsebody\Edefmethod\defmethodx\defmethodheader} -% -% #1 is the class name, #2 the method name, #3 the args. -\def\defmethodheader#1#2#3{% - \dosubind{fn}{\code{#2}}{\putwordon\ \code{#1}}% entry in function index - \begingroup - \defname{#2}{\putwordMethodon\ \code{#1}}% - \defunargs{#3}% - \endgroup -} +% Be sure that we always have a definition for `(', etc. For example, +% if the fn name has parens in it, \boldbrax will not be in effect yet, +% so TeX would otherwise complain about undefined control sequence. +{ + \activeparens + \global\let(=\lparen \global\let)=\rparen + \global\let[=\lbrack \global\let]=\rbrack + \global\let& = \& -% @defcv {Class Option} foo-class foo-flag + \gdef\boldbrax{\let(=\opnr\let)=\clnr\let[=\lbrb\let]=\rbrb} + \gdef\magicamp{\let&=\amprm} +} -\def\defcv #1 {\def\defcvtype{#1}% -\defopvarparsebody\Edefcv\defcvx\defcvarheader\defcvtype} +\newcount\parencount -\def\defcvarheader #1#2#3{% -\dosubind {vr}{\code{#2}}{\putwordof\ #1}% Make entry in var index -\begingroup\defname {#2}{\defcvtype\ \putwordof\ #1}% -\defvarargs {#3}\endgroup % +% If we encounter &foo, then turn on ()-hacking afterwards +\newif\ifampseen +\def\amprm#1 {\ampseentrue{\bf\ }} + +\def\parenfont{% + \ifampseen + % At the first level, print parens in roman, + % otherwise use the default font. + \ifnum \parencount=1 \rm \fi + \else + % The \sf parens (in \boldbrax) actually are a little bolder than + % the contained text. This is especially needed for [ and ] . + \sf + \fi } - -% @defivar CLASS VARNAME == @defcv {Instance Variable} CLASS VARNAME -% -\def\defivar{\defvrparsebody\Edefivar\defivarx\defivarheader} -% -\def\defivarheader#1#2#3{% - \dosubind {vr}{\code{#2}}{\putwordof\ #1}% entry in var index - \begingroup - \defname{#2}{\putwordInstanceVariableof\ #1}% - \defvarargs{#3}% - \endgroup +\def\infirstlevel#1{% + \ifampseen + \ifnum\parencount=1 + #1% + \fi + \fi } +\def\bfafterword#1 {#1 \bf} -% @defvar -% First, define the processing that is wanted for arguments of @defvar. -% This is actually simple: just print them in roman. -% This must expand the args and terminate the paragraph they make up -\def\defvarargs #1{\normalparens #1% -\interlinepenalty=10000 -\endgraf\nobreak\vskip -\parskip\nobreak} - -% @defvr Counter foo-count - -\def\defvr{\defvrparsebody\Edefvr\defvrx\defvrheader} - -\def\defvrheader #1#2#3{\doind {vr}{\code{#2}}% -\begingroup\defname {#2}{#1}\defvarargs{#3}\endgroup} - -% @defvar == @defvr Variable - -\def\defvar{\defvarparsebody\Edefvar\defvarx\defvarheader} - -\def\defvarheader #1#2{\doind {vr}{\code{#1}}% Make entry in var index -\begingroup\defname {#1}{\putwordDefvar}% -\defvarargs {#2}\endgroup % +\def\opnr{% + \global\advance\parencount by 1 + {\parenfont(}% + \infirstlevel \bfafterword } - -% @defopt == @defvr {User Option} - -\def\defopt{\defvarparsebody\Edefopt\defoptx\defoptheader} - -\def\defoptheader #1#2{\doind {vr}{\code{#1}}% Make entry in var index -\begingroup\defname {#1}{\putwordDefopt}% -\defvarargs {#2}\endgroup % +\def\clnr{% + {\parenfont)}% + \infirstlevel \sl + \global\advance\parencount by -1 } -% @deftypevar int foobar - -\def\deftypevar{\defvarparsebody\Edeftypevar\deftypevarx\deftypevarheader} - -% #1 is the data type. #2 is the name, perhaps followed by text that -% is actually part of the data type, which should not be put into the index. -\def\deftypevarheader #1#2{% -\dovarind#2 \relax% Make entry in variables index -\begingroup\defname {\defheaderxcond#1\relax$.$#2}{\putwordDeftypevar}% -\interlinepenalty=10000 -\endgraf\nobreak\vskip -\parskip\nobreak -\endgroup} -\def\dovarind#1 #2\relax{\doind{vr}{\code{#1}}} - -% @deftypevr {Global Flag} int enable - -\def\deftypevr{\defvrparsebody\Edeftypevr\deftypevrx\deftypevrheader} - -\def\deftypevrheader #1#2#3{\dovarind#3 \relax% -\begingroup\defname {\defheaderxcond#2\relax$.$#3}{#1} -\interlinepenalty=10000 -\endgraf\nobreak\vskip -\parskip\nobreak -\endgroup} - -% Now define @deftp -% Args are printed in bold, a slight difference from @defvar. - -\def\deftpargs #1{\bf \defvarargs{#1}} - -% @deftp Class window height width ... - -\def\deftp{\deftpparsebody\Edeftp\deftpx\deftpheader} - -\def\deftpheader #1#2#3{\doind {tp}{\code{#2}}% -\begingroup\defname {#2}{#1}\deftpargs{#3}\endgroup} +\newcount\brackcount +\def\lbrb{% + \global\advance\brackcount by 1 + {\bf[}% +} +\def\rbrb{% + {\bf]}% + \global\advance\brackcount by -1 +} -% These definitions are used if you use @defunx (etc.) -% anywhere other than immediately after a @defun or @defunx. -% -\def\defcvx#1 {\errmessage{@defcvx in invalid context}} -\def\deffnx#1 {\errmessage{@deffnx in invalid context}} -\def\defivarx#1 {\errmessage{@defivarx in invalid context}} -\def\defmacx#1 {\errmessage{@defmacx in invalid context}} -\def\defmethodx#1 {\errmessage{@defmethodx in invalid context}} -\def\defoptx #1 {\errmessage{@defoptx in invalid context}} -\def\defopx#1 {\errmessage{@defopx in invalid context}} -\def\defspecx#1 {\errmessage{@defspecx in invalid context}} -\def\deftpx#1 {\errmessage{@deftpx in invalid context}} -\def\deftypefnx#1 {\errmessage{@deftypefnx in invalid context}} -\def\deftypefunx#1 {\errmessage{@deftypefunx in invalid context}} -\def\deftypeivarx#1 {\errmessage{@deftypeivarx in invalid context}} -\def\deftypemethodx#1 {\errmessage{@deftypemethodx in invalid context}} -\def\deftypeopx#1 {\errmessage{@deftypeopx in invalid context}} -\def\deftypevarx#1 {\errmessage{@deftypevarx in invalid context}} -\def\deftypevrx#1 {\errmessage{@deftypevrx in invalid context}} -\def\defunx#1 {\errmessage{@defunx in invalid context}} -\def\defvarx#1 {\errmessage{@defvarx in invalid context}} -\def\defvrx#1 {\errmessage{@defvrx in invalid context}} +\def\checkparencounts{% + \ifnum\parencount=0 \else \badparencount \fi + \ifnum\brackcount=0 \else \badbrackcount \fi +} +\def\badparencount{% + \errmessage{Unbalanced parentheses in @def}% + \global\parencount=0 +} +\def\badbrackcount{% + \errmessage{Unbalanced square braces in @def}% + \global\brackcount=0 +} \message{macros,} @@ -5176,42 +5894,68 @@ width0pt\relax} \fi % 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\undefined - \newwrite\macscribble - \def\scanmacro#1{% - \begingroup \newlinechar`\^^M - % Undo catcode changes of \startcontents and \doprintindex - \catcode`\@=0 \catcode`\\=12 \escapechar=`\@ - % Append \endinput to make sure that TeX does not see the ending newline. - \toks0={#1\endinput}% - \immediate\openout\macscribble=\jobname.tmp - \immediate\write\macscribble{\the\toks0}% - \immediate\closeout\macscribble - \let\xeatspaces\eatspaces - \input \jobname.tmp - \endgroup -} -\else -\def\scanmacro#1{% -\begingroup \newlinechar`\^^M -% Undo catcode changes of \startcontents and \doprintindex -\catcode`\@=0 \catcode`\\=12 \escapechar=`\@ -\let\xeatspaces\eatspaces\scantokens{#1\endinput}\endgroup} + \newwrite\macscribble + \def\scantokens#1{% + \toks0={#1}% + \immediate\openout\macscribble=\jobname.tmp + \immediate\write\macscribble{\the\toks0}% + \immediate\closeout\macscribble + \input \jobname.tmp + } \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 \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}}% + \temp +} + \newcount\paramno % Count of parameters \newtoks\macname % Macro name \newif\ifrecursive % Is it recursive? -\def\macrolist{} % List of all defined macros in the form - % \do\macro1\do\macro2... + +% List of all defined macros in the form +% \definedummyword\macro1\definedummyword\macro2... +% Currently is also contains all @aliases; the list can be split +% if there is a need. +\def\macrolist{} + +% Add the macro to \macrolist +\def\addtomacrolist#1{\expandafter \addtomacrolistxxx \csname#1\endcsname} +\def\addtomacrolistxxx#1{% + \toks0 = \expandafter{\macrolist\definedummyword#1}% + \xdef\macrolist{\the\toks0}% +} % Utility routines. -% Thisdoes \let #1 = #2, except with \csnames. +% This does \let #1 = #2, with \csnames; that is, +% \let \csname#1\endcsname = \csname#2\endcsname +% (except of course we have to play expansion games). +% \def\cslet#1#2{% -\expandafter\expandafter -\expandafter\let -\expandafter\expandafter -\csname#1\endcsname -\csname#2\endcsname} + \expandafter\let + \csname#1\expandafter\endcsname + \csname#2\endcsname +} % Trim leading and trailing spaces off a string. % Concepts from aro-bend problem 15 (see CTAN). @@ -5224,7 +5968,7 @@ width0pt\relax} \fi } % Trim a single trailing ^^M off a string. -{\catcode`\^^M=12\catcode`\Q=3% +{\catcode`\^^M=\other \catcode`\Q=3% \gdef\eatcr #1{\eatcra #1Q^^MQ}% \gdef\eatcra#1^^MQ{\eatcrb#1Q}% \gdef\eatcrb#1Q#2Q{#1}% @@ -5238,30 +5982,36 @@ width0pt\relax} \fi % done by making ^^M (\endlinechar) catcode 12 when reading the macro % body, and then making it the \newlinechar in \scanmacro. +\def\scanctxt{% + \catcode`\"=\other + \catcode`\+=\other + \catcode`\<=\other + \catcode`\>=\other + \catcode`\@=\other + \catcode`\^=\other + \catcode`\_=\other + \catcode`\|=\other + \catcode`\~=\other +} + +\def\scanargctxt{% + \scanctxt + \catcode`\\=\other + \catcode`\^^M=\other +} + \def\macrobodyctxt{% - \catcode`\~=12 - \catcode`\^=12 - \catcode`\_=12 - \catcode`\|=12 - \catcode`\<=12 - \catcode`\>=12 - \catcode`\+=12 - \catcode`\{=12 - \catcode`\}=12 - \catcode`\@=12 - \catcode`\^^M=12 - \usembodybackslash} + \scanctxt + \catcode`\{=\other + \catcode`\}=\other + \catcode`\^^M=\other + \usembodybackslash +} \def\macroargctxt{% - \catcode`\~=12 - \catcode`\^=12 - \catcode`\_=12 - \catcode`\|=12 - \catcode`\<=12 - \catcode`\>=12 - \catcode`\+=12 - \catcode`\@=12 - \catcode`\\=12} + \scanctxt + \catcode`\\=\other +} % \mbodybackslash is the definition of \ in @macro bodies. % It maps \foo\ => \csname macarg.foo\endcsname => #N @@ -5292,42 +6042,39 @@ width0pt\relax} \fi \else \errmessage{Macro name \the\macname\space already defined}\fi \global\cslet{macsave.\the\macname}{\the\macname}% \global\expandafter\let\csname ismacro.\the\macname\endcsname=1% - % Add the macroname to \macrolist - \toks0 = \expandafter{\macrolist\do}% - \xdef\macrolist{\the\toks0 - \expandafter\noexpand\csname\the\macname\endcsname}% + \addtomacrolist{\the\macname}% \fi \begingroup \macrobodyctxt \ifrecursive \expandafter\parsermacbody \else \expandafter\parsemacbody \fi} -\def\unmacro{\parsearg\unmacroxxx} -\def\unmacroxxx#1{% +\parseargdef\unmacro{% \if1\csname ismacro.#1\endcsname \global\cslet{#1}{macsave.#1}% \global\expandafter\let \csname ismacro.#1\endcsname=0% - % Remove the macro name from \macrolist + % Remove the macro name from \macrolist: \begingroup - \edef\tempa{\expandafter\noexpand\csname#1\endcsname}% - \def\do##1{% - \def\tempb{##1}% - \ifx\tempa\tempb - % remove this - \else - \toks0 = \expandafter{\newmacrolist\do}% - \edef\newmacrolist{\the\toks0\expandafter\noexpand\tempa}% - \fi}% - \def\newmacrolist{}% - % Execute macro list to define \newmacrolist - \macrolist - \global\let\macrolist\newmacrolist + \expandafter\let\csname#1\endcsname \relax + \let\definedummyword\unmacrodo + \xdef\macrolist{\macrolist}% \endgroup \else \errmessage{Macro #1 not defined}% \fi } +% Called by \do from \dounmacro on each macro. The idea is to omit any +% macro definitions that have been changed to \relax. +% +\def\unmacrodo#1{% + \ifx #1\relax + % remove this + \else + \noexpand\definedummyword \noexpand#1% + \fi +} + % This makes use of the obscure feature that if the last token of a % is #, then the preceding argument is delimited by % an opening brace, and that opening brace is not consumed. @@ -5437,31 +6184,29 @@ width0pt\relax} \fi % {. 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) -\def\braceorline#1{\let\next=#1\futurelet\nchar\braceorlinexxx} +\def\braceorline#1{\let\macnamexxx=#1\futurelet\nchar\braceorlinexxx} \def\braceorlinexxx{% \ifx\nchar\bgroup\else \expandafter\parsearg - \fi \next} - -% We mant to disable all macros during \shipout so that they are not -% expanded by \write. -\def\turnoffmacros{\begingroup \def\do##1{\let\noexpand##1=\relax}% - \edef\next{\macrolist}\expandafter\endgroup\next} + \fi \macnamexxx} % @alias. % We need some trickery to remove the optional spaces around the equal % sign. Just make them active and then expand them all to nothing. -\def\alias{\begingroup\obeyspaces\parsearg\aliasxxx} +\def\alias{\parseargusing\obeyspaces\aliasxxx} \def\aliasxxx #1{\aliasyyy#1\relax} -\def\aliasyyy #1=#2\relax{\ignoreactivespaces -\edef\next{\global\let\expandafter\noexpand\csname#1\endcsname=% - \expandafter\noexpand\csname#2\endcsname}% -\expandafter\endgroup\next} +\def\aliasyyy #1=#2\relax{% + {% + \expandafter\let\obeyedspace=\empty + \addtomacrolist{#1}% + \xdef\next{\global\let\makecsname{#1}=\makecsname{#2}}% + }% + \next +} \message{cross references,} -% @xref etc. \newwrite\auxfile @@ -5473,56 +6218,68 @@ width0pt\relax} \fi \def\inforefzzz #1,#2,#3,#4**{\putwordSee{} \putwordInfo{} \putwordfile{} \file{\ignorespaces #3{}}, node \samp{\ignorespaces#1{}}} -% @node's job is to define \lastnode. -\def\node{\ENVcheck\parsearg\nodezzz} -\def\nodezzz#1{\nodexxx [#1,]} -\def\nodexxx[#1,#2]{\gdef\lastnode{#1}} +% @node's only job in TeX is to define \lastnode, which is used in +% cross-references. The @node line might or might not have commas, and +% might or might not have spaces before the first comma, like: +% @node foo , bar , ... +% We don't want such trailing spaces in the node name. +% +\parseargdef\node{\checkenv{}\donode #1 ,\finishnodeparse} +% +% also remove a trailing comma, in case of something like this: +% @node Help-Cross, , , Cross-refs +\def\donode#1 ,#2\finishnodeparse{\dodonode #1,\finishnodeparse} +\def\dodonode#1,#2\finishnodeparse{\gdef\lastnode{#1}} + \let\nwnode=\node -\let\lastnode=\relax - -% The sectioning commands (@chapter, etc.) call these. -\def\donoderef{% - \ifx\lastnode\relax\else - \expandafter\expandafter\expandafter\setref{\lastnode}% - {Ysectionnumberandtype}% - \global\let\lastnode=\relax - \fi -} -\def\unnumbnoderef{% - \ifx\lastnode\relax\else - \expandafter\expandafter\expandafter\setref{\lastnode}{Ynothing}% - \global\let\lastnode=\relax - \fi -} -\def\appendixnoderef{% - \ifx\lastnode\relax\else - \expandafter\expandafter\expandafter\setref{\lastnode}% - {Yappendixletterandtype}% - \global\let\lastnode=\relax +\let\lastnode=\empty + +% Write a cross-reference definition for the current node. #1 is the +% type (Ynumbered, Yappendix, Ynothing). +% +\def\donoderef#1{% + \ifx\lastnode\empty\else + \setref{\lastnode}{#1}% + \global\let\lastnode=\empty \fi } - % @anchor{NAME} -- define xref target at arbitrary point. % \newcount\savesfregister -\gdef\savesf{\relax \ifhmode \savesfregister=\spacefactor \fi} -\gdef\restoresf{\relax \ifhmode \spacefactor=\savesfregister \fi} -\gdef\anchor#1{\savesf \setref{#1}{Ynothing}\restoresf \ignorespaces} - -% \setref{NAME}{SNT} defines a cross-reference point NAME, namely -% NAME-title, NAME-pg, and NAME-SNT. Called from \foonoderef. We have -% to set \indexdummies so commands such as @code in a section title -% aren't expanded. It would be nicer not to expand the titles in the -% first place, but there's so many layers that that is hard to do. -% -\def\setref#1#2{{% - \indexdummies +% +\def\savesf{\relax \ifhmode \savesfregister=\spacefactor \fi} +\def\restoresf{\relax \ifhmode \spacefactor=\savesfregister \fi} +\def\anchor#1{\savesf \setref{#1}{Ynothing}\restoresf \ignorespaces} + +% \setref{NAME}{SNT} defines a cross-reference point NAME (a node or an +% anchor), which consists of three parts: +% 1) NAME-title - the current sectioning name taken from \thissection, +% or the anchor name. +% 2) NAME-snt - section number and type, passed as the SNT arg, or +% empty for anchors. +% 3) NAME-pg - the page number. +% +% This is called from \donoderef, \anchor, and \dofloat. In the case of +% floats, there is an additional part, which is not written here: +% 4) NAME-lof - the text as it should appear in a @listoffloats. +% +\def\setref#1#2{% \pdfmkdest{#1}% - \dosetq{#1-title}{Ytitle}% - \dosetq{#1-pg}{Ypagenumber}% - \dosetq{#1-snt}{#2}% -}} + \iflinks + {% + \atdummies % preserve commands, but don't expand them + \edef\writexrdef##1##2{% + \write\auxfile{@xrdef{#1-% #1 of \setref, expanded by the \edef + ##1}{##2}}% these are parameters of \writexrdef + }% + \toks0 = \expandafter{\thissection}% + \immediate \writexrdef{title}{\the\toks0 }% + \immediate \writexrdef{snt}{\csname #2\endcsname}% \Ynumbered etc. + \writexrdef{pg}{\folio}% will be written later, during \shipout + }% + \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 @@ -5535,137 +6292,159 @@ width0pt\relax} \fi \def\xrefX[#1,#2,#3,#4,#5,#6]{\begingroup \unsepspaces \def\printedmanual{\ignorespaces #5}% - \def\printednodename{\ignorespaces #3}% - \setbox1=\hbox{\printedmanual}% - \setbox0=\hbox{\printednodename}% + \def\printedrefname{\ignorespaces #3}% + \setbox1=\hbox{\printedmanual\unskip}% + \setbox0=\hbox{\printedrefname\unskip}% \ifdim \wd0 = 0pt % No printed node name was explicitly given. \expandafter\ifx\csname SETxref-automatic-section-title\endcsname\relax % Use the node name inside the square brackets. - \def\printednodename{\ignorespaces #1}% + \def\printedrefname{\ignorespaces #1}% \else % Use the actual chapter/section title appear inside % the square brackets. Use the real section title if we have it. \ifdim \wd1 > 0pt % It is in another manual, so we don't have it. - \def\printednodename{\ignorespaces #1}% + \def\printedrefname{\ignorespaces #1}% \else \ifhavexrefs % We know the real title if we have the xref values. - \def\printednodename{\refx{#1-title}{}}% + \def\printedrefname{\refx{#1-title}{}}% \else % Otherwise just copy the Info node name. - \def\printednodename{\ignorespaces #1}% + \def\printedrefname{\ignorespaces #1}% \fi% \fi \fi \fi % - % If we use \unhbox0 and \unhbox1 to print the node names, TeX does not - % insert empty discretionaries after hyphens, which means that it will - % not find a line break at a hyphen in a node names. Since some manuals - % are best written with fairly long node names, containing hyphens, this - % is a loss. Therefore, we give the text of the node name again, so it - % is as if TeX is seeing it for the first time. + % Make link in pdf output. \ifpdf \leavevmode \getfilename{#4}% - {\normalturnoffactive + {\turnoffactive + % See comments at \activebackslashdouble. + {\activebackslashdouble \xdef\pdfxrefdest{#1}% + \backslashparens\pdfxrefdest}% + % \ifnum\filenamelength>0 \startlink attr{/Border [0 0 0]}% - goto file{\the\filename.pdf} name{#1}% + goto file{\the\filename.pdf} name{\pdfxrefdest}% \else \startlink attr{/Border [0 0 0]}% - goto name{#1}% + goto name{\pdfmkpgn{\pdfxrefdest}}% \fi }% \linkcolor \fi % - \ifdim \wd1 > 0pt - \putwordsection{} ``\printednodename'' \putwordin{} \cite{\printedmanual}% + % Float references are printed completely differently: "Figure 1.2" + % instead of "[somenode], p.3". We distinguish them by the + % LABEL-title being set to a magic string. + {% + % Have to otherify everything special to allow the \csname to + % include an _ in the xref name, etc. + \indexnofonts + \turnoffactive + \expandafter\global\expandafter\let\expandafter\Xthisreftitle + \csname XR#1-title\endcsname + }% + \iffloat\Xthisreftitle + % If the user specified the print name (third arg) to the ref, + % print it instead of our usual "Figure 1.2". + \ifdim\wd0 = 0pt + \refx{#1-snt}{}% + \else + \printedrefname + \fi + % + % if the user also gave the printed manual name (fifth arg), append + % "in MANUALNAME". + \ifdim \wd1 > 0pt + \space \putwordin{} \cite{\printedmanual}% + \fi \else - % _ (for example) has to be the character _ for the purposes of the - % control sequence corresponding to the node, but it has to expand - % into the usual \leavevmode...\vrule stuff for purposes of - % printing. So we \turnoffactive for the \refx-snt, back on for the - % printing, back off for the \refx-pg. - {\normalturnoffactive - % Only output a following space if the -snt ref is nonempty; for - % @unnumbered and @anchor, it won't be. - \setbox2 = \hbox{\ignorespaces \refx{#1-snt}{}}% - \ifdim \wd2 > 0pt \refx{#1-snt}\space\fi - }% - % [mynode], - [\printednodename],\space - % page 3 - \turnoffactive \putwordpage\tie\refx{#1-pg}{}% + % node/anchor (non-float) references. + % + % If we use \unhbox0 and \unhbox1 to print the node names, TeX does not + % insert empty discretionaries after hyphens, which means that it will + % not find a line break at a hyphen in a node names. Since some manuals + % are best written with fairly long node names, containing hyphens, this + % is a loss. Therefore, we give the text of the node name again, so it + % is as if TeX is seeing it for the first time. + \ifdim \wd1 > 0pt + \putwordsection{} ``\printedrefname'' \putwordin{} \cite{\printedmanual}% + \else + % _ (for example) has to be the character _ for the purposes of the + % control sequence corresponding to the node, but it has to expand + % into the usual \leavevmode...\vrule stuff for purposes of + % printing. So we \turnoffactive for the \refx-snt, back on for the + % printing, back off for the \refx-pg. + {\turnoffactive + % Only output a following space if the -snt ref is nonempty; for + % @unnumbered and @anchor, it won't be. + \setbox2 = \hbox{\ignorespaces \refx{#1-snt}{}}% + \ifdim \wd2 > 0pt \refx{#1-snt}\space\fi + }% + % output the `[mynode]' via a macro so it can be overridden. + \xrefprintnodename\printedrefname + % + % But we always want a comma and a space: + ,\space + % + % output the `page 3'. + \turnoffactive \putwordpage\tie\refx{#1-pg}{}% + \fi \fi \endlink \endgroup} -% \dosetq is the interface for calls from other macros - -% Use \normalturnoffactive so that punctuation chars such as underscore -% and backslash work in node names. (\turnoffactive doesn't do \.) -\def\dosetq#1#2{% - {\let\folio=0% - \normalturnoffactive - \edef\next{\write\auxfile{\internalsetq{#1}{#2}}}% - \iflinks - \next - \fi - }% -} - -% \internalsetq {foo}{page} expands into -% CHARACTERS 'xrdef {foo}{...expansion of \Ypage...} -% When the aux file is read, ' is the escape character - -\def\internalsetq #1#2{'xrdef {#1}{\csname #2\endcsname}} - -% Things to be expanded by \internalsetq - -\def\Ypagenumber{\folio} - -\def\Ytitle{\thissection} - -\def\Ynothing{} - -\def\Ysectionnumberandtype{% -\ifnum\secno=0 \putwordChapter\xreftie\the\chapno % -\else \ifnum \subsecno=0 \putwordSection\xreftie\the\chapno.\the\secno % -\else \ifnum \subsubsecno=0 % -\putwordSection\xreftie\the\chapno.\the\secno.\the\subsecno % -\else % -\putwordSection\xreftie\the\chapno.\the\secno.\the\subsecno.\the\subsubsecno % -\fi \fi \fi } - -\def\Yappendixletterandtype{% -\ifnum\secno=0 \putwordAppendix\xreftie'char\the\appendixno{}% -\else \ifnum \subsecno=0 \putwordSection\xreftie'char\the\appendixno.\the\secno % -\else \ifnum \subsubsecno=0 % -\putwordSection\xreftie'char\the\appendixno.\the\secno.\the\subsecno % -\else % -\putwordSection\xreftie'char\the\appendixno.\the\secno.\the\subsecno.\the\subsubsecno % -\fi \fi \fi } - -\gdef\xreftie{'tie} +% This macro is called from \xrefX for the `[nodename]' part of xref +% output. It's a separate macro only so it can be changed more easily, +% since square brackets don't work well in some documents. Particularly +% one that Bob is working on :). +% +\def\xrefprintnodename#1{[#1]} -% Use TeX 3.0's \inputlineno to get the line number, for better error -% messages, but if we're using an old version of TeX, don't do anything. +% Things referred to by \setref. % -\ifx\inputlineno\thisisundefined - \let\linenumber = \empty % Non-3.0. -\else - \def\linenumber{\the\inputlineno:\space} -\fi +\def\Ynothing{} +\def\Yomitfromtoc{} +\def\Ynumbered{% + \ifnum\secno=0 + \putwordChapter@tie \the\chapno + \else \ifnum\subsecno=0 + \putwordSection@tie \the\chapno.\the\secno + \else \ifnum\subsubsecno=0 + \putwordSection@tie \the\chapno.\the\secno.\the\subsecno + \else + \putwordSection@tie \the\chapno.\the\secno.\the\subsecno.\the\subsubsecno + \fi\fi\fi +} +\def\Yappendix{% + \ifnum\secno=0 + \putwordAppendix@tie @char\the\appendixno{}% + \else \ifnum\subsecno=0 + \putwordSection@tie @char\the\appendixno.\the\secno + \else \ifnum\subsubsecno=0 + \putwordSection@tie @char\the\appendixno.\the\secno.\the\subsecno + \else + \putwordSection@tie + @char\the\appendixno.\the\secno.\the\subsecno.\the\subsubsecno + \fi\fi\fi +} % Define \refx{NAME}{SUFFIX} to reference a cross-reference string named NAME. % If its value is nonempty, SUFFIX is output afterward. - +% \def\refx#1#2{% - \expandafter\ifx\csname X#1\endcsname\relax + {% + \indexnofonts + \otherbackslash + \expandafter\global\expandafter\let\expandafter\thisrefX + \csname XR#1\endcsname + }% + \ifx\thisrefX\relax % If not defined, say something at least. \angleleft un\-de\-fined\angleright \iflinks @@ -5680,22 +6459,50 @@ width0pt\relax} \fi \fi \else % It's defined, so just use it. - \csname X#1\endcsname + \thisrefX \fi #2% Output the suffix in any case. } -% This is the macro invoked by entries in the aux file. +% This is the macro invoked by entries in the aux file. Usually it's +% just a \def (we prepend XR to the control sequence name to avoid +% collisions). But if this is a float type, we have more work to do. % -\def\xrdef#1{\begingroup - % Reenable \ as an escape while reading the second argument. - \catcode`\\ = 0 - \afterassignment\endgroup - \expandafter\gdef\csname X#1\endcsname +\def\xrdef#1#2{% + \expandafter\gdef\csname XR#1\endcsname{#2}% remember this xref value. + % + % Was that xref control sequence that we just defined for a float? + \expandafter\iffloat\csname XR#1\endcsname + % it was a float, and we have the (safe) float type in \iffloattype. + \expandafter\let\expandafter\floatlist + \csname floatlist\iffloattype\endcsname + % + % Is this the first time we've seen this float type? + \expandafter\ifx\floatlist\relax + \toks0 = {\do}% yes, so just \do + \else + % had it before, so preserve previous elements in list. + \toks0 = \expandafter{\floatlist\do}% + \fi + % + % Remember this xref in the control sequence \floatlistFLOATTYPE, + % for later use in \listoffloats. + \expandafter\xdef\csname floatlist\iffloattype\endcsname{\the\toks0{#1}}% + \fi } % Read the last existing aux file, if any. No error if none exists. -\def\readauxfile{\begingroup +% +\def\tryauxfile{% + \openin 1 \jobname.aux + \ifeof 1 \else + \readdatafile{aux}% + \global\havexrefstrue + \fi + \closein 1 +} + +\def\setupdatafile{% \catcode`\^^@=\other \catcode`\^^A=\other \catcode`\^^B=\other @@ -5723,9 +6530,7 @@ width0pt\relax} \fi \catcode`\^^]=\other \catcode`\^^^=\other \catcode`\^^_=\other - \catcode`\@=\other - \catcode`\^=\other - % It was suggested to define this as 7, which would allow ^^e4 etc. + % It was suggested to set the catcode of ^ to 7, which would allow ^^e4 etc. % in xref tags, i.e., node names. But since ^^e4 notation isn't % supported in the main text, it doesn't seem desirable. Furthermore, % that is not enough: for node names that actually contain a ^ @@ -5738,6 +6543,9 @@ width0pt\relax} \fi % \def\auxhat{\def^{'hat }}% extra space so ok if followed by letter % and then to call \auxhat in \setq. % + \catcode`\^=\other + % + % Special characters. Should be turned off anyway, but... \catcode`\~=\other \catcode`\[=\other \catcode`\]=\other @@ -5749,41 +6557,42 @@ width0pt\relax} \fi \catcode`\$=\other \catcode`\#=\other \catcode`\&=\other + \catcode`\%=\other \catcode`+=\other % avoid \+ for paranoia even though we've turned it off - % Make the characters 128-255 be printing characters + % + % This is to support \ in node names and titles, since the \ + % characters end up in a \csname. It's easier than + % leaving it active and making its active definition an actual \ + % character. What I don't understand is why it works in the *value* + % of the xrdef. Seems like it should be a catcode12 \, and that + % should not typeset properly. But it works, so I'm moving on for + % now. --karl, 15jan04. + \catcode`\\=\other + % + % Make the characters 128-255 be printing characters. {% - \count 1=128 + \count1=128 \def\loop{% - \catcode\count 1=\other - \advance\count 1 by 1 - \ifnum \count 1<256 \loop \fi + \catcode\count1=\other + \advance\count1 by 1 + \ifnum \count1<256 \loop \fi }% }% - % The aux file uses ' as the escape (for now). - % Turn off \ as an escape so we do not lose on - % entries which were dumped with control sequences in their names. - % For example, 'xrdef {$\leq $-fun}{page ...} made by @defun ^^ - % Reference to such entries still does not work the way one would wish, - % but at least they do not bomb out when the aux file is read in. + % + % @ is our escape character in .aux files, and we need braces. \catcode`\{=1 \catcode`\}=2 - \catcode`\%=\other - \catcode`\'=0 - \catcode`\\=\other - % - \openin 1 \jobname.aux - \ifeof 1 \else - \closein 1 - \input \jobname.aux - \global\havexrefstrue - \global\warnedobstrue - \fi - % Open the new aux file. TeX will close it automatically at exit. - \openout\auxfile=\jobname.aux -\endgroup} + \catcode`\@=0 +} +\def\readdatafile#1{% +\begingroup + \setupdatafile + \input\jobname.#1 +\endgroup} -% Footnotes. +\message{insertions,} +% including footnotes. \newcount \footnoteno @@ -5797,37 +6606,39 @@ width0pt\relax} \fi % @footnotestyle is meaningful for info output only. \let\footnotestyle=\comment -\let\ptexfootnote=\footnote - {\catcode `\@=11 % % Auto-number footnotes. Otherwise like plain. \gdef\footnote{% + \let\indent=\ptexindent + \let\noindent=\ptexnoindent \global\advance\footnoteno by \@ne \edef\thisfootno{$^{\the\footnoteno}$}% % % In case the footnote comes at the end of a sentence, preserve the % extra spacing after we do the footnote number. \let\@sf\empty - \ifhmode\edef\@sf{\spacefactor\the\spacefactor}\/\fi + \ifhmode\edef\@sf{\spacefactor\the\spacefactor}\ptexslash\fi % % Remove inadvertent blank space before typesetting the footnote number. \unskip \thisfootno\@sf - \footnotezzz + \dofootnote }% % Don't bother with the trickery in plain.tex to not require the % footnote text as a parameter. Our footnotes don't need to be so general. % -% Oh yes, they do; otherwise, @ifset and anything else that uses -% \parseargline fail inside footnotes because the tokens are fixed when +% Oh yes, they do; otherwise, @ifset (and anything else that uses +% \parseargline) fails inside footnotes because the tokens are fixed when % the footnote is read. --karl, 16nov96. % -\long\gdef\footnotezzz{\insert\footins\bgroup +\gdef\dofootnote{% + \insert\footins\bgroup % We want to typeset this text as a normal paragraph, even if the % footnote reference occurs in (for example) a display environment. % So reset some parameters. + \hsize=\pagewidth \interlinepenalty\interfootnotelinepenalty \splittopskip\ht\strutbox % top baseline for broken footnotes \splitmaxdepth\dp\strutbox @@ -5857,48 +6668,68 @@ width0pt\relax} \fi \footstrut \futurelet\next\fo@t } -\def\fo@t{\ifcat\bgroup\noexpand\next \let\next\f@@t - \else\let\next\f@t\fi \next} -\def\f@@t{\bgroup\aftergroup\@foot\let\next} -\def\f@t#1{#1\@foot} -\def\@foot{\strut\par\egroup} - }%end \catcode `\@=11 -% @| 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). +% In case a @footnote appears in a vbox, save the footnote text and create +% the real \insert just after the vbox finished. Otherwise, the insertion +% would be lost. +% Similarily, if a @footnote appears inside an alignment, save the footnote +% text to a box and make the \insert when a row of the table is finished. +% And the same can be done for other insert classes. --kasal, 16nov03. + +% Replace the \insert primitive by a cheating macro. +% Deeper inside, just make sure that the saved insertions are not spilled +% out prematurely. % -\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 - }% - }% +\def\startsavinginserts{% + \ifx \insert\ptexinsert + \let\insert\saveinsert + \else + \let\checkinserts\relax + \fi } -% For a final copy, take out the rectangles -% that mark overfull boxes (in case you have decided -% that the text looks ok even though it passes the margin). +% This \insert replacement works for both \insert\footins{foo} and +% \insert\footins\bgroup foo\egroup, but it doesn't work for \insert27{foo}. % -\def\finalout{\overfullrule=0pt} +\def\saveinsert#1{% + \edef\next{\noexpand\savetobox \makeSAVEname#1}% + \afterassignment\next + % swallow the left brace + \let\temp = +} +\def\makeSAVEname#1{\makecsname{SAVE\expandafter\gobble\string#1}} +\def\savetobox#1{\global\setbox#1 = \vbox\bgroup \unvbox#1} + +\def\checksaveins#1{\ifvoid#1\else \placesaveins#1\fi} + +\def\placesaveins#1{% + \ptexinsert \csname\expandafter\gobblesave\string#1\endcsname + {\box#1}% +} + +% eat @SAVE -- beware, all of them have catcode \other: +{ + \def\dospecials{\do S\do A\do V\do E} \uncatcodespecials % ;-) + \gdef\gobblesave @SAVE{} +} + +% initialization: +\def\newsaveins #1{% + \edef\next{\noexpand\newsaveinsX \makeSAVEname#1}% + \next +} +\def\newsaveinsX #1{% + \csname newbox\endcsname #1% + \expandafter\def\expandafter\checkinserts\expandafter{\checkinserts + \checksaveins #1}% +} + +% initialize: +\let\checkinserts\empty +\newsaveins\footins +\newsaveins\margin + % @image. We use the macros from epsf.tex to support this. % If epsf.tex is not installed and @image is used, we complain. @@ -5908,12 +6739,12 @@ width0pt\relax} \fi % undone and the next image would fail. \openin 1 = epsf.tex \ifeof 1 \else - \closein 1 - % Do not bother showing banner with post-v2.7 epsf.tex (available in - % doc/epsf.tex until it shows up on ctan). + % Do not bother showing banner with epsf.tex v2.7k (available in + % doc/epsf.tex and on ctan). \def\epsfannounce{\toks0 = }% \input epsf.tex \fi +\closein 1 % % We will only complain once about lack of epsf.tex. \newif\ifwarnednoepsf @@ -5949,10 +6780,10 @@ width0pt\relax} \fi \nobreak\bigskip % Usually we'll have text after the image which will insert % \parskip glue, so insert it here too to equalize the space - % above and below. + % above and below. \nobreak\vskip\parskip \nobreak - \line\bgroup\hss + \line\bgroup \fi % % Output the image. @@ -5965,10 +6796,275 @@ width0pt\relax} \fi \epsfbox{#1.eps}% \fi % - \ifimagevmode \hss \egroup \bigbreak \fi % space after the image + \ifimagevmode \egroup \bigbreak \fi % space after the image \endgroup} +% @float FLOATTYPE,LABEL,LOC ... @end float for displayed figures, tables, +% etc. We don't actually implement floating yet, we always include the +% float "here". But it seemed the best name for the future. +% +\envparseargdef\float{\eatcommaspace\eatcommaspace\dofloat#1, , ,\finish} + +% There may be a space before second and/or third parameter; delete it. +\def\eatcommaspace#1, {#1,} + +% #1 is the optional FLOATTYPE, the text label for this float, typically +% "Figure", "Table", "Example", etc. Can't contain commas. If omitted, +% this float will not be numbered and cannot be referred to. +% +% #2 is the optional xref label. Also must be present for the float to +% be referable. +% +% #3 is the optional positioning argument; for now, it is ignored. It +% will somehow specify the positions allowed to float to (here, top, bottom). +% +% We keep a separate counter for each FLOATTYPE, which we reset at each +% chapter-level command. +\let\resetallfloatnos=\empty +% +\def\dofloat#1,#2,#3,#4\finish{% + \let\thiscaption=\empty + \let\thisshortcaption=\empty + % + % don't lose footnotes inside @float. + % + % BEWARE: when the floats start float, we have to issue warning whenever an + % insert appears inside a float which could possibly float. --kasal, 26may04 + % + \startsavinginserts + % + % We can't be used inside a paragraph. + \par + % + \vtop\bgroup + \def\floattype{#1}% + \def\floatlabel{#2}% + \def\floatloc{#3}% we do nothing with this yet. + % + \ifx\floattype\empty + \let\safefloattype=\empty + \else + {% + % the floattype might have accents or other special characters, + % but we need to use it in a control sequence name. + \indexnofonts + \turnoffactive + \xdef\safefloattype{\floattype}% + }% + \fi + % + % If label is given but no type, we handle that as the empty type. + \ifx\floatlabel\empty \else + % We want each FLOATTYPE to be numbered separately (Figure 1, + % Table 1, Figure 2, ...). (And if no label, no number.) + % + \expandafter\getfloatno\csname\safefloattype floatno\endcsname + \global\advance\floatno by 1 + % + {% + % This magic value for \thissection is output by \setref as the + % XREFLABEL-title value. \xrefX uses it to distinguish float + % labels (which have a completely different output format) from + % node and anchor labels. And \xrdef uses it to construct the + % lists of floats. + % + \edef\thissection{\floatmagic=\safefloattype}% + \setref{\floatlabel}{Yfloat}% + }% + \fi + % + % start with \parskip glue, I guess. + \vskip\parskip + % + % Don't suppress indentation if a float happens to start a section. + \restorefirstparagraphindent +} + +% we have these possibilities: +% @float Foo,lbl & @caption{Cap}: Foo 1.1: Cap +% @float Foo,lbl & no caption: Foo 1.1 +% @float Foo & @caption{Cap}: Foo: Cap +% @float Foo & no caption: Foo +% @float ,lbl & Caption{Cap}: 1.1: Cap +% @float ,lbl & no caption: 1.1 +% @float & @caption{Cap}: Cap +% @float & no caption: +% +\def\Efloat{% + \let\floatident = \empty + % + % In all cases, if we have a float type, it comes first. + \ifx\floattype\empty \else \def\floatident{\floattype}\fi + % + % If we have an xref label, the number comes next. + \ifx\floatlabel\empty \else + \ifx\floattype\empty \else % if also had float type, need tie first. + \appendtomacro\floatident{\tie}% + \fi + % the number. + \appendtomacro\floatident{\chaplevelprefix\the\floatno}% + \fi + % + % Start the printed caption with what we've constructed in + % \floatident, but keep it separate; we need \floatident again. + \let\captionline = \floatident + % + \ifx\thiscaption\empty \else + \ifx\floatident\empty \else + \appendtomacro\captionline{: }% had ident, so need a colon between + \fi + % + % caption text. + \appendtomacro\captionline{\scanexp\thiscaption}% + \fi + % + % If we have anything to print, print it, with space before. + % Eventually this needs to become an \insert. + \ifx\captionline\empty \else + \vskip.5\parskip + \captionline + % + % Space below caption. + \vskip\parskip + \fi + % + % If have an xref label, write the list of floats info. Do this + % after the caption, to avoid chance of it being a breakpoint. + \ifx\floatlabel\empty \else + % Write the text that goes in the lof to the aux file as + % \floatlabel-lof. Besides \floatident, we include the short + % caption if specified, else the full caption if specified, else nothing. + {% + \atdummies + % + % since we read the caption text in the macro world, where ^^M + % is turned into a normal character, we have to scan it back, so + % we don't write the literal three characters "^^M" into the aux file. + \scanexp{% + \xdef\noexpand\gtemp{% + \ifx\thisshortcaption\empty + \thiscaption + \else + \thisshortcaption + \fi + }% + }% + \immediate\write\auxfile{@xrdef{\floatlabel-lof}{\floatident + \ifx\gtemp\empty \else : \gtemp \fi}}% + }% + \fi + \egroup % end of \vtop + % + % place the captured inserts + % + % BEWARE: when the floats start floating, we have to issue warning + % whenever an insert appears inside a float which could possibly + % float. --kasal, 26may04 + % + \checkinserts +} + +% Append the tokens #2 to the definition of macro #1, not expanding either. +% +\def\appendtomacro#1#2{% + \expandafter\def\expandafter#1\expandafter{#1#2}% +} + +% @caption, @shortcaption +% +\def\caption{\docaption\thiscaption} +\def\shortcaption{\docaption\thisshortcaption} +\def\docaption{\checkenv\float \bgroup\scanargctxt\defcaption} +\def\defcaption#1#2{\egroup \def#1{#2}} + +% The parameter is the control sequence identifying the counter we are +% going to use. Create it if it doesn't exist and assign it to \floatno. +\def\getfloatno#1{% + \ifx#1\relax + % Haven't seen this figure type before. + \csname newcount\endcsname #1% + % + % Remember to reset this floatno at the next chap. + \expandafter\gdef\expandafter\resetallfloatnos + \expandafter{\resetallfloatnos #1=0 }% + \fi + \let\floatno#1% +} + +% \setref calls this to get the XREFLABEL-snt value. We want an @xref +% to the FLOATLABEL to expand to "Figure 3.1". We call \setref when we +% first read the @float command. +% +\def\Yfloat{\floattype@tie \chaplevelprefix\the\floatno}% + +% Magic string used for the XREFLABEL-title value, so \xrefX can +% distinguish floats from other xref types. +\def\floatmagic{!!float!!} + +% #1 is the control sequence we are passed; we expand into a conditional +% which is true if #1 represents a float ref. That is, the magic +% \thissection value which we \setref above. +% +\def\iffloat#1{\expandafter\doiffloat#1==\finish} +% +% #1 is (maybe) the \floatmagic string. If so, #2 will be the +% (safe) float type for this float. We set \iffloattype to #2. +% +\def\doiffloat#1=#2=#3\finish{% + \def\temp{#1}% + \def\iffloattype{#2}% + \ifx\temp\floatmagic +} + +% @listoffloats FLOATTYPE - print a list of floats like a table of contents. +% +\parseargdef\listoffloats{% + \def\floattype{#1}% floattype + {% + % the floattype might have accents or other special characters, + % but we need to use it in a control sequence name. + \indexnofonts + \turnoffactive + \xdef\safefloattype{\floattype}% + }% + % + % \xrdef saves the floats as a \do-list in \floatlistSAFEFLOATTYPE. + \expandafter\ifx\csname floatlist\safefloattype\endcsname \relax + \ifhavexrefs + % if the user said @listoffloats foo but never @float foo. + \message{\linenumber No `\safefloattype' floats to list.}% + \fi + \else + \begingroup + \leftskip=\tocindent % indent these entries like a toc + \let\do=\listoffloatsdo + \csname floatlist\safefloattype\endcsname + \endgroup + \fi +} + +% This is called on each entry in a list of floats. We're passed the +% xref label, in the form LABEL-title, which is how we save it in the +% aux file. We strip off the -title and look up \XRLABEL-lof, which +% has the text we're supposed to typeset here. +% +% Figures without xref labels will not be included in the list (since +% they won't appear in the aux file). +% +\def\listoffloatsdo#1{\listoffloatsdoentry#1\finish} +\def\listoffloatsdoentry#1-title\finish{{% + % Can't fully expand XR#1-lof because it can contain anything. Just + % pass the control sequence. On the other hand, XR#1-pg is just the + % page number, and we want to fully expand that so we can get a link + % in pdf output. + \toksA = \expandafter{\csname XR#1-lof\endcsname}% + % + % use the same \entry macro we use to generate the TOC and index. + \edef\writeentry{\noexpand\entry{\the\toksA}{\csname XR#1-pg\endcsname}}% + \writeentry +}} + \message{localization,} % and i18n. @@ -5977,19 +7073,17 @@ width0pt\relax} \fi % properly. Single argument is the language abbreviation. % It would be nice if we could set up a hyphenation file here. % -\def\documentlanguage{\parsearg\dodocumentlanguage} -\def\dodocumentlanguage#1{% +\parseargdef\documentlanguage{% \tex % read txi-??.tex file in plain TeX. - % Read the file if it exists. - \openin 1 txi-#1.tex - \ifeof1 - \errhelp = \nolanghelp - \errmessage{Cannot read language file txi-#1.tex}% - \let\temp = \relax - \else - \def\temp{\input txi-#1.tex }% - \fi - \temp + % Read the file if it exists. + \openin 1 txi-#1.tex + \ifeof 1 + \errhelp = \nolanghelp + \errmessage{Cannot read language file txi-#1.tex}% + \else + \input txi-#1.tex + \fi + \closein 1 \endgroup } \newhelp\nolanghelp{The given language definition file cannot be found or @@ -6034,12 +7128,14 @@ should work if nowhere else does.} \fi } -% Parameters in order: 1) textheight; 2) textwidth; 3) voffset; -% 4) hoffset; 5) binding offset; 6) topskip. We also call -% \setleading{\textleading}, so the caller should define \textleading. -% The caller should also set \parskip. +% Parameters in order: 1) textheight; 2) textwidth; +% 3) voffset; 4) hoffset; 5) binding offset; 6) topskip; +% 7) physical page height; 8) physical page width. % -\def\internalpagesizes#1#2#3#4#5#6{% +% We also call \setleading{\textleading}, so the caller should define +% \textleading. The caller should also set \parskip. +% +\def\internalpagesizes#1#2#3#4#5#6#7#8{% \voffset = #3\relax \topskip = #6\relax \splittopskip = \topskip @@ -6058,55 +7154,88 @@ should work if nowhere else does.} \normaloffset = #4\relax \bindingoffset = #5\relax % + \ifpdf + \pdfpageheight #7\relax + \pdfpagewidth #8\relax + \fi + % \setleading{\textleading} % \parindent = \defaultparindent \setemergencystretch } -% Use `small' versions. -% -\def\smallenvironments{% - \let\smalldisplay = \smalldisplayx - \let\smallexample = \smalllispx - \let\smallformat = \smallformatx - \let\smalllisp = \smalllispx -} - % @letterpaper (the default). \def\letterpaper{{\globaldefs = 1 \parskip = 3pt plus 2pt minus 1pt \textleading = 13.2pt % % If page is nothing but text, make it come out even. - \internalpagesizes{46\baselineskip}{6in}{\voffset}{.25in}{\bindingoffset}{36pt}% + \internalpagesizes{46\baselineskip}{6in}% + {\voffset}{.25in}% + {\bindingoffset}{36pt}% + {11in}{8.5in}% }} -% Use @smallbook to reset parameters for 7x9.5 (or so) format. +% Use @smallbook to reset parameters for 7x9.25 trim size. \def\smallbook{{\globaldefs = 1 \parskip = 2pt plus 1pt \textleading = 12pt % - \internalpagesizes{7.5in}{5.in}{\voffset}{.25in}{\bindingoffset}{16pt}% + \internalpagesizes{7.5in}{5in}% + {\voffset}{.25in}% + {\bindingoffset}{16pt}% + {9.25in}{7in}% % \lispnarrowing = 0.3in \tolerance = 700 \hfuzz = 1pt \contentsrightmargin = 0pt - \deftypemargin = 0pt \defbodyindent = .5cm - \smallenvironments +}} + +% Use @smallerbook to reset parameters for 6x9 trim size. +% (Just testing, parameters still in flux.) +\def\smallerbook{{\globaldefs = 1 + \parskip = 1.5pt plus 1pt + \textleading = 12pt + % + \internalpagesizes{7.4in}{4.8in}% + {-.2in}{-.4in}% + {0pt}{14pt}% + {9in}{6in}% + % + \lispnarrowing = 0.25in + \tolerance = 700 + \hfuzz = 1pt + \contentsrightmargin = 0pt + \defbodyindent = .4cm }} % Use @afourpaper to print on European A4 paper. \def\afourpaper{{\globaldefs = 1 \parskip = 3pt plus 2pt minus 1pt - \textleading = 12pt + \textleading = 13.2pt % - \internalpagesizes{53\baselineskip}{160mm}{\voffset}{4mm}{\bindingoffset}{44pt}% + % Double-side printing via postscript on Laserjet 4050 + % prints double-sided nicely when \bindingoffset=10mm and \hoffset=-6mm. + % To change the settings for a different printer or situation, adjust + % \normaloffset until the front-side and back-side texts align. Then + % do the same for \bindingoffset. You can set these for testing in + % your texinfo source file like this: + % @tex + % \global\normaloffset = -6mm + % \global\bindingoffset = 10mm + % @end tex + \internalpagesizes{51\baselineskip}{160mm} + {\voffset}{\hoffset}% + {\bindingoffset}{44pt}% + {297mm}{210mm}% % \tolerance = 700 \hfuzz = 1pt + \contentsrightmargin = 0pt + \defbodyindent = 5mm }} % Use @afivepaper to print on European A5 paper. @@ -6116,44 +7245,46 @@ should work if nowhere else does.} \parskip = 2pt plus 1pt minus 0.1pt \textleading = 12.5pt % - \internalpagesizes{166mm}{120mm}{\voffset}{-8mm}{\bindingoffset}{8pt}% + \internalpagesizes{160mm}{120mm}% + {\voffset}{\hoffset}% + {\bindingoffset}{8pt}% + {210mm}{148mm}% % \lispnarrowing = 0.2in \tolerance = 800 \hfuzz = 1.2pt - \contentsrightmargin = 0mm - \deftypemargin = 0pt + \contentsrightmargin = 0pt \defbodyindent = 2mm \tableindent = 12mm - % - \smallenvironments }} -% A specific text layout, 24x15cm overall, intended for A4 paper. Top margin -% 29mm, hence bottom margin 28mm, nominal side margin 3cm. +% A specific text layout, 24x15cm overall, intended for A4 paper. \def\afourlatex{{\globaldefs = 1 - \textleading = 13.6pt - % \afourpaper - \internalpagesizes{237mm}{150mm}{3.6mm}{3.6mm}{3mm}{7mm}% + \internalpagesizes{237mm}{150mm}% + {\voffset}{4.6mm}% + {\bindingoffset}{7mm}% + {297mm}{210mm}% % - % Must explicitly reset to 0 because we call \afourpaper, apparently, - % although this does not entirely make sense. + % Must explicitly reset to 0 because we call \afourpaper. \globaldefs = 0 }} -% Use @afourwide to print on European A4 paper in wide format. -\def\afourwide{% +% Use @afourwide to print on A4 paper in landscape format. +\def\afourwide{{\globaldefs = 1 \afourpaper - \internalpagesizes{6.5in}{9.5in}{\hoffset}{\normaloffset}{\bindingoffset}{7mm}% -} + \internalpagesizes{241mm}{165mm}% + {\voffset}{-2.95mm}% + {\bindingoffset}{7mm}% + {297mm}{210mm}% + \globaldefs = 0 +}} % @pagesizes TEXTHEIGHT[,TEXTWIDTH] % Perhaps we should allow setting the margins, \topskip, \parskip, % and/or leading, also. Or perhaps we should compute them somehow. % -\def\pagesizes{\parsearg\pagesizesxxx} -\def\pagesizesxxx#1{\pagesizesyyy #1,,\finish} +\parseargdef\pagesizes{\pagesizesyyy #1,,\finish} \def\pagesizesyyy#1,#2,#3\finish{{% \setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \hsize=#2\relax \fi \globaldefs = 1 @@ -6161,7 +7292,16 @@ should work if nowhere else does.} \parskip = 3pt plus 2pt minus 1pt \setleading{\textleading}% % - \internalpagesizes{#1}{\hsize}{\voffset}{\normaloffset}{\bindingoffset}{44pt}% + \dimen0 = #1 + \advance\dimen0 by \voffset + % + \dimen2 = \hsize + \advance\dimen2 by \normaloffset + % + \internalpagesizes{#1}{\hsize}% + {\voffset}{\normaloffset}% + {\bindingoffset}{44pt}% + {\dimen0}{\dimen2}% }} % Set default to letter. @@ -6191,8 +7331,8 @@ should work if nowhere else does.} \def\normalplus{+} \def\normaldollar{$}%$ font-lock fix -% This macro is used to make a character print one way in ttfont -% where it can probably just be output, and another way in other fonts, +% 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, % where something hairier probably needs to be done. % % #1 is what to print if we are indeed using \tt; #2 is what to print @@ -6224,8 +7364,9 @@ should work if nowhere else does.} \catcode`\_=\active \def_{\ifusingtt\normalunderscore\_} +\let\realunder=_ % Subroutine for the previous macro. -\def\_{\leavevmode \kern.06em \vbox{\hrule width.3em height.1ex}} +\def\_{\leavevmode \kern.07em \vbox{\hrule width.3em height.1ex}\kern .07em } \catcode`\|=\active \def|{{\tt\char124}} @@ -6239,15 +7380,6 @@ should work if nowhere else does.} \def+{{\tt \char 43}} \catcode`\$=\active \def${\ifusingit{{\sl\$}}\normaldollar}%$ font-lock fix -%\catcode 27=\active -%\def^^[{$\diamondsuit$} - -% Set up an active definition for =, but don't enable it most of the time. -{\catcode`\==\active -\global\def={{\tt \char 61}}} - -\catcode`+=\active -\catcode`\_=\active % If a .fmt file is being used, characters that might appear in a file % name cannot be active until we have parsed the command line. @@ -6255,46 +7387,53 @@ should work if nowhere else does.} % \otherifyactive is called near the end of this file. \def\otherifyactive{\catcode`+=\other \catcode`\_=\other} -\catcode`\@=0 +% Used sometimes to turn off (effectively) the active characters even after +% parsing them. +\def\turnoffactive{% + \normalturnoffactive + \otherbackslash +} -% \rawbackslashxx output one backslash character in current font -\global\chardef\rawbackslashxx=`\\ -%{\catcode`\\=\other -%@gdef@rawbackslashxx{\}} +\catcode`\@=0 -% \rawbackslash redefines \ as input to do \rawbackslashxx. -{\catcode`\\=\active -@gdef@rawbackslash{@let\=@rawbackslashxx }} +% \backslashcurfont outputs one backslash character in current font, +% as in \char`\\. +\global\chardef\backslashcurfont=`\\ +\global\let\rawbackslashxx=\backslashcurfont % let existing .??s files work -% \normalbackslash outputs one backslash in fixed width font. -\def\normalbackslash{{\tt\rawbackslashxx}} +% \realbackslash is an actual character `\' with catcode other, and +% \doublebackslash is two of them (for the pdf outlines). +{\catcode`\\=\other @gdef@realbackslash{\} @gdef@doublebackslash{\\}} -% \catcode 17=0 % Define control-q +% In texinfo, backslash is an active character; it prints the backslash +% in fixed width font. \catcode`\\=\active - -% Used sometimes to turn off (effectively) the active characters -% even after parsing them. -@def@turnoffactive{@let"=@normaldoublequote -@let\=@realbackslash -@let~=@normaltilde -@let^=@normalcaret -@let_=@normalunderscore -@let|=@normalverticalbar -@let<=@normalless -@let>=@normalgreater -@let+=@normalplus -@let$=@normaldollar}%$ font-lock fix - -@def@normalturnoffactive{@let"=@normaldoublequote -@let\=@normalbackslash -@let~=@normaltilde -@let^=@normalcaret -@let_=@normalunderscore -@let|=@normalverticalbar -@let<=@normalless -@let>=@normalgreater -@let+=@normalplus -@let$=@normaldollar}%$ font-lock fix +@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. +@gdef@rawbackslash{@let\=@backslashcurfont} +@gdef@otherbackslash{@let\=@realbackslash} + +% Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of +% the literal character `\'. +% +@def@normalturnoffactive{% + @let\=@normalbackslash + @let"=@normaldoublequote + @let~=@normaltilde + @let^=@normalcaret + @let_=@normalunderscore + @let|=@normalverticalbar + @let<=@normalless + @let>=@normalgreater + @let+=@normalplus + @let$=@normaldollar %$ font-lock fix + @unsepspaces +} % Make _ and + \other characters, temporarily. % This is canceled by @fixbackslash. @@ -6308,9 +7447,9 @@ should work if nowhere else does.} @global@let\ = @eatinput % On the other hand, perhaps the file did not have a `\input texinfo'. Then -% the first `\{ in the file would cause an error. This macro tries to fix +% the first `\' in the file would cause an error. This macro tries to fix % that, assuming it is called before the first `\' could plausibly occur. -% Also back turn on active characters that might appear in the input +% Also turn back on active characters that might appear in the input % file name, in case not using a pre-dumped format. % @gdef@fixbackslash{% @@ -6322,15 +7461,11 @@ should work if nowhere else does.} % Say @foo, not \foo, in error messages. @escapechar = `@@ -% These look ok in all fonts, so just make them not special. +% These look ok in all fonts, so just make them not special. @catcode`@& = @other @catcode`@# = @other @catcode`@% = @other -@c Set initial fonts. -@textfonts -@rm - @c Local variables: @c eval: (add-hook 'write-file-hooks 'time-stamp) @@ -6339,3 +7474,9 @@ should work if nowhere else does.} @c time-stamp-format: "%:y-%02m-%02d.%02H" @c time-stamp-end: "}" @c End: + +@c vim:sw=2: + +@ignore + arch-tag: e1b36e32-c96e-4135-a41a-0b2efa2ea115 +@end ignore diff --git a/libjava/classpath/examples/Makefile.am b/libjava/classpath/examples/Makefile.am index 6940bdf..8d619e1 100644 --- a/libjava/classpath/examples/Makefile.am +++ b/libjava/classpath/examples/Makefile.am @@ -8,17 +8,17 @@ GLIBJ_CLASSPATH='$(top_builddir)/lib':'$(top_builddir)/lib/glibj.zip':'$(top_bui #if FOUND_JIKES #JCOMPILER = $(JIKES) -bootclasspath '' -extdirs '' -sourcepath '' --classpath $(top_builddir)/lib:. #else -if FOUND_GCJX -JCOMPILER = $(GCJX) -encoding UTF-8 -bootclasspath '' -sourcepath '' -classpath $(GLIBJ_CLASSPATH):. -else if FOUND_ECJ -JCOMPILER = $(ECJ) -1.5 -encoding UTF-8 -bootclasspath $(GLIBJ_CLASSPATH) -classpath . +JCOMPILER = $(ECJ) -1.5 -encoding UTF-8 -warn:-deprecation,serial,typeHiding,unchecked,unused,varargsCast -bootclasspath $(GLIBJ_CLASSPATH) -classpath . +else +if FOUND_JAVAC +JCOMPILER = $(JAVAC) -encoding UTF-8 -bootclasspath $(GLIBJ_CLASSPATH) -classpath . else error dunno how to setup the JCOMPILER and compile -endif #endif #endif endif +endif # All our example java source files EXAMPLE_JAVA_FILES = $(srcdir)/gnu/classpath/examples/*/*.java $(srcdir)/gnu/classpath/examples/*/*/*.java $(srcdir)/gnu/classpath/examples/*/*/*/*.java @@ -35,6 +35,7 @@ BUILT_SOURCES = $(EXAMPLE_ZIP) # the png icons we use in some of the examples. EXAMPLE_ICONS = $(srcdir)/gnu/classpath/examples/icons/*.png +EXAMPLE_ICONS += $(srcdir)/gnu/classpath/examples/icons/*.gif # the html pages we use in the swing demo example. EXAMPLE_HTML = $(srcdir)/gnu/classpath/examples/swing/*.html diff --git a/libjava/classpath/examples/Makefile.in b/libjava/classpath/examples/Makefile.in index 014386b..731671c 100644 --- a/libjava/classpath/examples/Makefile.in +++ b/libjava/classpath/examples/Makefile.in @@ -45,16 +45,21 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ - $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ - $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ + $(top_srcdir)/../../libtool.m4 \ + $(top_srcdir)/../../ltoptions.m4 \ + $(top_srcdir)/../../ltsugar.m4 \ + $(top_srcdir)/../../ltversion.m4 \ + $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \ + $(top_srcdir)/m4/acinclude.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/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 +mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs CONFIG_HEADER = $(top_builddir)/include/config.h CONFIG_CLEAN_FILES = Makefile.jawt Makefile.java2d SOURCES = @@ -73,12 +78,15 @@ ACLOCAL = @ACLOCAL@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ +AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@ BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -124,6 +132,7 @@ DATE = @DATE@ DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ @@ -136,15 +145,16 @@ ERROR_CFLAGS = @ERROR_CFLAGS@ EXAMPLESDIR = @EXAMPLESDIR@ EXEEXT = @EXEEXT@ FASTJAR = @FASTJAR@ +FGREP = @FGREP@ FIND = @FIND@ FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@ FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@ FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@ FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@ -FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@ -FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@ FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@ FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@ +FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@ +FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@ FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@ FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@ FOUND_KJC_FALSE = @FOUND_KJC_FALSE@ @@ -152,7 +162,6 @@ FOUND_KJC_TRUE = @FOUND_KJC_TRUE@ FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@ FREETYPE2_LIBS = @FREETYPE2_LIBS@ GCJ = @GCJ@ -GCJX = @GCJX@ GCONF_CFLAGS = @GCONF_CFLAGS@ GCONF_LIBS = @GCONF_LIBS@ GDK_CFLAGS = @GDK_CFLAGS@ @@ -162,6 +171,7 @@ GENINSRC_TRUE = @GENINSRC_TRUE@ GJDOC = @GJDOC@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ +GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@ @@ -173,6 +183,7 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +JAVAC = @JAVAC@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ @@ -182,6 +193,7 @@ JIKES = @JIKES@ JIKESENCODING = @JIKESENCODING@ JIKESWARNINGS = @JIKESWARNINGS@ KJC = @KJC@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBDEBUG = @LIBDEBUG@ LIBICONV = @LIBICONV@ @@ -201,6 +213,7 @@ MKDIR = @MKDIR@ MOC = @MOC@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ +NM = @NM@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ @@ -222,6 +235,7 @@ RANLIB = @RANLIB@ REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@ REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@ REMOVE = @REMOVE@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@ @@ -249,8 +263,10 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ X_PRE_LIBS = @X_PRE_LIBS@ ZIP = @ZIP@ +ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_STRIP = @ac_ct_STRIP@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ @@ -283,6 +299,7 @@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ multi_basedir = @multi_basedir@ @@ -301,7 +318,7 @@ target_vendor = @target_vendor@ toolexeclibdir = @toolexeclibdir@ vm_classes = @vm_classes@ GLIBJ_CLASSPATH = '$(top_builddir)/lib':'$(top_builddir)/lib/glibj.zip':'$(top_builddir)/tools/tools.zip' -@FOUND_ECJ_TRUE@@FOUND_GCJX_FALSE@JCOMPILER = $(ECJ) -1.5 -encoding UTF-8 -bootclasspath $(GLIBJ_CLASSPATH) -classpath . +@FOUND_ECJ_FALSE@@FOUND_JAVAC_TRUE@JCOMPILER = $(JAVAC) -encoding UTF-8 -bootclasspath $(GLIBJ_CLASSPATH) -classpath . # Setup the compiler to use the GNU Classpath library we just build #if FOUND_GCJ @@ -310,7 +327,7 @@ GLIBJ_CLASSPATH = '$(top_builddir)/lib':'$(top_builddir)/lib/glibj.zip':'$(top_b #if FOUND_JIKES #JCOMPILER = $(JIKES) -bootclasspath '' -extdirs '' -sourcepath '' --classpath $(top_builddir)/lib:. #else -@FOUND_GCJX_TRUE@JCOMPILER = $(GCJX) -encoding UTF-8 -bootclasspath '' -sourcepath '' -classpath $(GLIBJ_CLASSPATH):. +@FOUND_ECJ_TRUE@JCOMPILER = $(ECJ) -1.5 -encoding UTF-8 -warn:-deprecation,serial,typeHiding,unchecked,unused,varargsCast -bootclasspath $(GLIBJ_CLASSPATH) -classpath . #endif #endif @@ -328,7 +345,8 @@ EXAMPLE_ZIP = examples.zip BUILT_SOURCES = $(EXAMPLE_ZIP) # the png icons we use in some of the examples. -EXAMPLE_ICONS = $(srcdir)/gnu/classpath/examples/icons/*.png +EXAMPLE_ICONS = $(srcdir)/gnu/classpath/examples/icons/*.png \ + $(srcdir)/gnu/classpath/examples/icons/*.gif # the html pages we use in the swing demo example. EXAMPLE_HTML = $(srcdir)/gnu/classpath/examples/swing/*.html @@ -540,7 +558,7 @@ uninstall-am: uninstall-exampleDATA uninstall-info-am uninstall-local uninstall uninstall-am uninstall-exampleDATA uninstall-info-am \ uninstall-local -@FOUND_ECJ_FALSE@@FOUND_GCJX_FALSE@error dunno how to setup the JCOMPILER and compile +@FOUND_ECJ_FALSE@@FOUND_JAVAC_FALSE@error dunno how to setup the JCOMPILER and compile # Make sure all sources and icons are also installed so users can use them. # (Be careful to strip off the srcdir part of the path when installing.) diff --git a/libjava/classpath/examples/gnu/classpath/examples/awt/AicasGraphicsBenchmark.java b/libjava/classpath/examples/gnu/classpath/examples/awt/AicasGraphicsBenchmark.java index ed18fd4..5bb4ec4 100644 --- a/libjava/classpath/examples/gnu/classpath/examples/awt/AicasGraphicsBenchmark.java +++ b/libjava/classpath/examples/gnu/classpath/examples/awt/AicasGraphicsBenchmark.java @@ -100,8 +100,8 @@ public class AicasGraphicsBenchmark extends Panel public AicasGraphicsBenchmark() { - pngTestImage = loadImage("aicas.png"); - gifTestImage = loadImage("palme.gif"); + pngTestImage = loadImage("../icons/aicas.png"); + gifTestImage = loadImage("../icons/palme.gif"); setLayout(new BorderLayout()); testLabel = new Label(); diff --git a/libjava/classpath/examples/gnu/classpath/examples/awt/HintingDemo.java b/libjava/classpath/examples/gnu/classpath/examples/awt/HintingDemo.java new file mode 100644 index 0000000..75b6f67 --- /dev/null +++ b/libjava/classpath/examples/gnu/classpath/examples/awt/HintingDemo.java @@ -0,0 +1,377 @@ +/* Demo.java -- Shows examples of AWT components + Copyright (C) 1998, 1999, 2002, 2004, 2006 Free Software Foundation, Inc. + +This file is part of GNU Classpath examples. + +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. */ + +package gnu.classpath.examples.awt; + +import gnu.java.awt.font.*; +import gnu.java.awt.font.opentype.*; + +import java.awt.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.font.*; +import java.io.*; +import java.nio.*; +import java.nio.channels.*; +import java.text.*; + +import javax.swing.BoxLayout; +import javax.swing.JCheckBox; +import javax.swing.JFileChooser; +import javax.swing.JFrame; +import javax.swing.JMenu; +import javax.swing.JMenuBar; +import javax.swing.JMenuItem; +import javax.swing.JPanel; +import javax.swing.JSpinner; +import javax.swing.JTextField; +import javax.swing.border.TitledBorder; +import javax.swing.event.ChangeEvent; +import javax.swing.event.ChangeListener; + +public class HintingDemo extends JFrame { + + FontDelegate font; + GNUGlyphVector glyph; + GlyphPreview glyphPreview; + HintPanel hintPanel; + StringViewer stringViewer; + Chooser chooser; + char character; + Options options; + boolean antiAlias; + int flags; + + class StringViewer extends JPanel + implements ActionListener + { + JTextField input; + GNUGlyphVector gv; + Viewer viewer; + StringViewer() + { + setLayout(new GridLayout(0, 1)); + setBorder(new TitledBorder("Use this field to render complete strings")); + input = new JTextField(); + input.addActionListener(this); + add(input); + viewer = new Viewer(); + add(viewer); + } + + public void actionPerformed(ActionEvent event) + { + refresh(); + } + + void refresh() + { + gv = (GNUGlyphVector) + font.createGlyphVector(new Font("Dialog", 0, 12), + new FontRenderContext(null, false, false), + new StringCharacterIterator(input.getText())); + viewer.repaint(); + } + + class Viewer extends JPanel + { + protected void paintComponent(Graphics g) + { + if (gv != null && g instanceof Graphics2D) + { + Graphics2D g2d = (Graphics2D) g; + if (antiAlias) + { + g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, + RenderingHints.VALUE_ANTIALIAS_ON); + } + else + { + g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, + RenderingHints.VALUE_ANTIALIAS_OFF); + } + g2d.clearRect(0, 0, getWidth(), getHeight()); + g2d.setColor(Color.BLACK); + Shape outline = gv.getOutline(0, 0, + flags | FontDelegate.FLAG_FITTED); + g2d.translate(20, Math.floor(outline.getBounds2D().getHeight()) + 2); + g2d.fill(outline); + } + } + } + } + + class HintPanel extends JPanel + { + + HintPanel() + { + setBorder(new TitledBorder("Detailed glyph view")); + } + protected void paintComponent(Graphics g) + { + if (glyph != null && g instanceof Graphics2D) + { + Graphics2D g2d = (Graphics2D) g.create(); + Insets i = getInsets(); + g2d.clearRect(i.left, i.top, getWidth() - i.left - i.right, + getHeight() - i.top - i.bottom); + g2d.setColor(Color.GRAY); + for (int x = 20; x < getWidth(); x += 20) + { + g2d.drawLine(x, i.top, x, getHeight() - i.top - i.bottom); + } + for (int y = 20; y < getHeight(); y += 20) + { + g2d.drawLine(i.left, y, getWidth() - i.left - i.right, y); + } + g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, + RenderingHints.VALUE_ANTIALIAS_OFF); + g2d.translate(40, 300); + g2d.scale(20., 20.); + g2d.setStroke(new BasicStroke((float) (1/20.))); + g2d.setColor(Color.RED); + g2d.draw(glyph.getOutline(0, 0, flags & ~FontDelegate.FLAG_FITTED)); + g2d.setColor(Color.GREEN); + g2d.draw(glyph.getOutline(0, 0, flags | FontDelegate.FLAG_FITTED)); + } + } + + } + + class GlyphPreview extends JPanel + { + protected void paintComponent(Graphics g) + { + if (glyph != null && g instanceof Graphics2D) + { + Graphics2D g2d = (Graphics2D) g; + if (antiAlias) + { + g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, + RenderingHints.VALUE_ANTIALIAS_ON); + } + else + { + g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, + RenderingHints.VALUE_ANTIALIAS_OFF); + } + g2d.clearRect(0, 0, getWidth(), getHeight()); + g2d.setColor(Color.BLACK); + Shape outline = glyph.getOutline(0, 0, + flags | FontDelegate.FLAG_FITTED); + g2d.translate(20, outline.getBounds2D().getHeight() + 2); + g2d.fill(outline); + } + } + + } + + HintingDemo() + { + File file = new File("/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType/DejaVuSerif.ttf"); + loadFont(file); + setLayout(new BorderLayout()); + chooser = new Chooser(); + add(chooser, BorderLayout.NORTH); + hintPanel = new HintPanel(); + character = 'A'; + add(hintPanel); + + options = new Options(); + add(options, BorderLayout.EAST); + + stringViewer = new StringViewer(); + add(stringViewer, BorderLayout.SOUTH); + refresh(); + + JMenuBar mb = new JMenuBar(); + setJMenuBar(mb); + JMenu fileMenu = new JMenu("File"); + mb.add(fileMenu); + JMenuItem loadFont = new JMenuItem("Load font"); + loadFont.addActionListener(new ActionListener(){ + public void actionPerformed(ActionEvent ev) + { + JFileChooser fc = new JFileChooser() + { + public boolean accept(File f) + { + return f.isDirectory() || f.getName().endsWith(".ttf"); + } + }; + int status = fc.showOpenDialog(HintingDemo.this); + if (status == JFileChooser.APPROVE_OPTION) + { + File file = fc.getSelectedFile(); + loadFont(file); + } + } + }); + fileMenu.add(loadFont); + } + + void refresh() + { + if (chooser != null) + chooser.refresh(); + if (glyphPreview != null) + glyphPreview.repaint(); + if (hintPanel != null) + hintPanel.repaint(); + if (stringViewer != null) + stringViewer.refresh(); + } + + class Options extends JPanel + implements ActionListener + { + JCheckBox antiAliasOpt; + JCheckBox hintHorizontalOpt; + JCheckBox hintVerticalOpt; + JCheckBox hintEdgeOpt; + JCheckBox hintStrongOpt; + JCheckBox hintWeakOpt; + Options() + { + setLayout(new BoxLayout(this, BoxLayout.Y_AXIS)); + setBorder(new TitledBorder("Hinting options")); + antiAliasOpt = new JCheckBox("Antialias"); + antiAliasOpt.setSelected(true); + antiAliasOpt.addActionListener(this); + add(antiAliasOpt); + hintHorizontalOpt = new JCheckBox("Hint horizontal"); + hintHorizontalOpt.setSelected(true); + hintHorizontalOpt.addActionListener(this); + add(hintHorizontalOpt); + hintVerticalOpt = new JCheckBox("Hint vertical"); + hintVerticalOpt.setSelected(true); + hintVerticalOpt.addActionListener(this); + add(hintVerticalOpt); + hintEdgeOpt = new JCheckBox("Hint edge points"); + hintEdgeOpt.setSelected(true); + hintEdgeOpt.addActionListener(this); + add(hintEdgeOpt); + hintStrongOpt = new JCheckBox("Hint strong points"); + hintStrongOpt.setSelected(true); + hintStrongOpt.addActionListener(this); + add(hintStrongOpt); + hintWeakOpt = new JCheckBox("Hint weak points"); + hintWeakOpt.setSelected(true); + hintWeakOpt.addActionListener(this); + add(hintWeakOpt); + sync(); + } + + void sync() + { + antiAlias = antiAliasOpt.isSelected(); + if (hintHorizontalOpt.isSelected()) + flags &= ~FontDelegate.FLAG_NO_HINT_HORIZONTAL; + else + flags |= FontDelegate.FLAG_NO_HINT_HORIZONTAL; + if (hintVerticalOpt.isSelected()) + flags &= ~FontDelegate.FLAG_NO_HINT_VERTICAL; + else + flags |= FontDelegate.FLAG_NO_HINT_VERTICAL; + if (hintEdgeOpt.isSelected()) + flags &= ~FontDelegate.FLAG_NO_HINT_EDGE_POINTS; + else + flags |= FontDelegate.FLAG_NO_HINT_EDGE_POINTS; + if (hintStrongOpt.isSelected()) + flags &= ~FontDelegate.FLAG_NO_HINT_STRONG_POINTS; + else + flags |= FontDelegate.FLAG_NO_HINT_STRONG_POINTS; + if (hintWeakOpt.isSelected()) + flags &= ~FontDelegate.FLAG_NO_HINT_WEAK_POINTS; + else + flags |= FontDelegate.FLAG_NO_HINT_WEAK_POINTS; + + refresh(); + } + + public void actionPerformed(ActionEvent event) + { + sync(); + } + } + + class Chooser extends JPanel + { + JSpinner spin; + Chooser() + { + setLayout(new GridLayout(1, 0)); + setBorder(new TitledBorder("Choose and preview the character to render")); + spin = new JSpinner(); + spin.addChangeListener(new ChangeListener() + { + + public void stateChanged(ChangeEvent event) + { + int val = ((Integer) spin.getValue()).intValue(); + setGlyph((char) val); + } + }); + add(spin); + glyphPreview = new GlyphPreview(); + add(glyphPreview); + } + void refresh() + { + spin.setValue(new Integer(character)); + repaint(); + } + } + + private void loadFont(File file) + { + try + { + RandomAccessFile raf = new RandomAccessFile(file, "r"); + FileChannel chan = raf.getChannel(); + ByteBuffer buf = chan.map(FileChannel.MapMode.READ_ONLY, 0, raf.length()); + FontDelegate[] fonts = OpenTypeFontFactory.createFonts(buf); + font = fonts[0]; + setGlyph(character); + refresh(); + } + catch (Exception ex) + { + ex.printStackTrace(); + } + } + + void setGlyph(char ch) + { + character = ch; + glyph = (GNUGlyphVector) + font.createGlyphVector(new Font("Dialog", 0, 12), + new FontRenderContext(null, false, false), + new StringCharacterIterator(new String(new char[]{ch}))); + refresh(); + } + + public static void main(String[] args) { + HintingDemo f = new HintingDemo(); + f.setSize(500, 500); + f.setVisible(true); + } +} diff --git a/libjava/classpath/examples/gnu/classpath/examples/awt/aicas.png b/libjava/classpath/examples/gnu/classpath/examples/awt/aicas.png deleted file mode 100644 index dcf3965..0000000 Binary files a/libjava/classpath/examples/gnu/classpath/examples/awt/aicas.png and /dev/null differ diff --git a/libjava/classpath/examples/gnu/classpath/examples/awt/palme.gif b/libjava/classpath/examples/gnu/classpath/examples/awt/palme.gif deleted file mode 100644 index 6947946..0000000 Binary files a/libjava/classpath/examples/gnu/classpath/examples/awt/palme.gif and /dev/null differ diff --git a/libjava/classpath/examples/gnu/classpath/examples/icons/aicas.png b/libjava/classpath/examples/gnu/classpath/examples/icons/aicas.png new file mode 100644 index 0000000..dcf3965 Binary files /dev/null and b/libjava/classpath/examples/gnu/classpath/examples/icons/aicas.png differ diff --git a/libjava/classpath/examples/gnu/classpath/examples/icons/palme.gif b/libjava/classpath/examples/gnu/classpath/examples/icons/palme.gif new file mode 100644 index 0000000..6947946 Binary files /dev/null and b/libjava/classpath/examples/gnu/classpath/examples/icons/palme.gif differ diff --git a/libjava/classpath/examples/gnu/classpath/examples/java2d/J2dBenchmark.java b/libjava/classpath/examples/gnu/classpath/examples/java2d/J2dBenchmark.java index 118ae24..6d35918 100644 --- a/libjava/classpath/examples/gnu/classpath/examples/java2d/J2dBenchmark.java +++ b/libjava/classpath/examples/gnu/classpath/examples/java2d/J2dBenchmark.java @@ -174,8 +174,8 @@ public class J2dBenchmark public String init() { boolean loadError = false; - pngTestImage = loadImage("aicas.png"); - gifTestImage = loadImage("palme.gif"); + pngTestImage = loadImage("../icons/aicas.png"); + gifTestImage = loadImage("../icons/palme.gif"); if (texture != null) { diff --git a/libjava/classpath/examples/gnu/classpath/examples/java2d/aicas.png b/libjava/classpath/examples/gnu/classpath/examples/java2d/aicas.png deleted file mode 100644 index dcf3965..0000000 Binary files a/libjava/classpath/examples/gnu/classpath/examples/java2d/aicas.png and /dev/null differ diff --git a/libjava/classpath/examples/gnu/classpath/examples/java2d/palme.gif b/libjava/classpath/examples/gnu/classpath/examples/java2d/palme.gif deleted file mode 100644 index 6947946..0000000 Binary files a/libjava/classpath/examples/gnu/classpath/examples/java2d/palme.gif and /dev/null differ diff --git a/libjava/classpath/examples/gnu/classpath/examples/management/TestOS.java b/libjava/classpath/examples/gnu/classpath/examples/management/TestOS.java index a13e514..fe09346 100644 --- a/libjava/classpath/examples/gnu/classpath/examples/management/TestOS.java +++ b/libjava/classpath/examples/gnu/classpath/examples/management/TestOS.java @@ -33,5 +33,6 @@ public class TestOS System.out.println("OS Version: " + osBean.getVersion()); System.out.println("Architecture: " + osBean.getArch()); System.out.println("Processors: " + osBean.getAvailableProcessors()); + System.out.println("System Load Average: " + osBean.getSystemLoadAverage()); } } diff --git a/libjava/classpath/examples/gnu/classpath/examples/swing/ClasspathSwingActivityBoard.launch b/libjava/classpath/examples/gnu/classpath/examples/swing/ClasspathSwingActivityBoard.launch deleted file mode 100644 index 7d041a0..0000000 --- a/libjava/classpath/examples/gnu/classpath/examples/swing/ClasspathSwingActivityBoard.launch +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/libjava/classpath/examples/gnu/classpath/examples/swing/NavigationFilterDemo.java b/libjava/classpath/examples/gnu/classpath/examples/swing/NavigationFilterDemo.java index 5184e5b..a7472df 100644 --- a/libjava/classpath/examples/gnu/classpath/examples/swing/NavigationFilterDemo.java +++ b/libjava/classpath/examples/gnu/classpath/examples/swing/NavigationFilterDemo.java @@ -183,7 +183,7 @@ public class NavigationFilterDemo return pos; case SwingConstants.WEST: // Calculate the next word start. - newpos = Utilities.getWordStart(text, newpos);; + newpos = Utilities.getWordStart(text, newpos); // If that means that the caret will not move, return // the start of the previous word. diff --git a/libjava/classpath/external/Makefile.in b/libjava/classpath/external/Makefile.in index f341c44..416d390 100644 --- a/libjava/classpath/external/Makefile.in +++ b/libjava/classpath/external/Makefile.in @@ -43,16 +43,21 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ - $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ - $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ + $(top_srcdir)/../../libtool.m4 \ + $(top_srcdir)/../../ltoptions.m4 \ + $(top_srcdir)/../../ltsugar.m4 \ + $(top_srcdir)/../../ltversion.m4 \ + $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \ + $(top_srcdir)/m4/acinclude.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/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 +mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs CONFIG_HEADER = $(top_builddir)/include/config.h CONFIG_CLEAN_FILES = SOURCES = @@ -71,12 +76,15 @@ ACLOCAL = @ACLOCAL@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ +AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@ BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -122,6 +130,7 @@ DATE = @DATE@ DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ @@ -134,15 +143,16 @@ ERROR_CFLAGS = @ERROR_CFLAGS@ EXAMPLESDIR = @EXAMPLESDIR@ EXEEXT = @EXEEXT@ FASTJAR = @FASTJAR@ +FGREP = @FGREP@ FIND = @FIND@ FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@ FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@ FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@ FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@ -FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@ -FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@ FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@ FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@ +FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@ +FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@ FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@ FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@ FOUND_KJC_FALSE = @FOUND_KJC_FALSE@ @@ -150,7 +160,6 @@ FOUND_KJC_TRUE = @FOUND_KJC_TRUE@ FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@ FREETYPE2_LIBS = @FREETYPE2_LIBS@ GCJ = @GCJ@ -GCJX = @GCJX@ GCONF_CFLAGS = @GCONF_CFLAGS@ GCONF_LIBS = @GCONF_LIBS@ GDK_CFLAGS = @GDK_CFLAGS@ @@ -160,6 +169,7 @@ GENINSRC_TRUE = @GENINSRC_TRUE@ GJDOC = @GJDOC@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ +GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@ @@ -171,6 +181,7 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +JAVAC = @JAVAC@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ @@ -180,6 +191,7 @@ JIKES = @JIKES@ JIKESENCODING = @JIKESENCODING@ JIKESWARNINGS = @JIKESWARNINGS@ KJC = @KJC@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBDEBUG = @LIBDEBUG@ LIBICONV = @LIBICONV@ @@ -199,6 +211,7 @@ MKDIR = @MKDIR@ MOC = @MOC@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ +NM = @NM@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ @@ -220,6 +233,7 @@ RANLIB = @RANLIB@ REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@ REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@ REMOVE = @REMOVE@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@ @@ -247,8 +261,10 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ X_PRE_LIBS = @X_PRE_LIBS@ ZIP = @ZIP@ +ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_STRIP = @ac_ct_STRIP@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ @@ -281,6 +297,7 @@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ multi_basedir = @multi_basedir@ diff --git a/libjava/classpath/external/jsr166/Makefile.in b/libjava/classpath/external/jsr166/Makefile.in index 3a516eb..93f58bf 100644 --- a/libjava/classpath/external/jsr166/Makefile.in +++ b/libjava/classpath/external/jsr166/Makefile.in @@ -43,16 +43,21 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ - $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ - $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ + $(top_srcdir)/../../libtool.m4 \ + $(top_srcdir)/../../ltoptions.m4 \ + $(top_srcdir)/../../ltsugar.m4 \ + $(top_srcdir)/../../ltversion.m4 \ + $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \ + $(top_srcdir)/m4/acinclude.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/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 +mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs CONFIG_HEADER = $(top_builddir)/include/config.h CONFIG_CLEAN_FILES = SOURCES = @@ -62,12 +67,15 @@ ACLOCAL = @ACLOCAL@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ +AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@ BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -113,6 +121,7 @@ DATE = @DATE@ DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ @@ -125,15 +134,16 @@ ERROR_CFLAGS = @ERROR_CFLAGS@ EXAMPLESDIR = @EXAMPLESDIR@ EXEEXT = @EXEEXT@ FASTJAR = @FASTJAR@ +FGREP = @FGREP@ FIND = @FIND@ FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@ FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@ FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@ FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@ -FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@ -FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@ FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@ FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@ +FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@ +FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@ FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@ FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@ FOUND_KJC_FALSE = @FOUND_KJC_FALSE@ @@ -141,7 +151,6 @@ FOUND_KJC_TRUE = @FOUND_KJC_TRUE@ FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@ FREETYPE2_LIBS = @FREETYPE2_LIBS@ GCJ = @GCJ@ -GCJX = @GCJX@ GCONF_CFLAGS = @GCONF_CFLAGS@ GCONF_LIBS = @GCONF_LIBS@ GDK_CFLAGS = @GDK_CFLAGS@ @@ -151,6 +160,7 @@ GENINSRC_TRUE = @GENINSRC_TRUE@ GJDOC = @GJDOC@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ +GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@ @@ -162,6 +172,7 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +JAVAC = @JAVAC@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ @@ -171,6 +182,7 @@ JIKES = @JIKES@ JIKESENCODING = @JIKESENCODING@ JIKESWARNINGS = @JIKESWARNINGS@ KJC = @KJC@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBDEBUG = @LIBDEBUG@ LIBICONV = @LIBICONV@ @@ -190,6 +202,7 @@ MKDIR = @MKDIR@ MOC = @MOC@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ +NM = @NM@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ @@ -211,6 +224,7 @@ RANLIB = @RANLIB@ REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@ REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@ REMOVE = @REMOVE@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@ @@ -238,8 +252,10 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ X_PRE_LIBS = @X_PRE_LIBS@ ZIP = @ZIP@ +ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_STRIP = @ac_ct_STRIP@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ @@ -272,6 +288,7 @@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ multi_basedir = @multi_basedir@ diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/ConcurrentSkipListMap.java b/libjava/classpath/external/jsr166/java/util/concurrent/ConcurrentSkipListMap.java index 52cd17a..bbb00a0 100644 --- a/libjava/classpath/external/jsr166/java/util/concurrent/ConcurrentSkipListMap.java +++ b/libjava/classpath/external/jsr166/java/util/concurrent/ConcurrentSkipListMap.java @@ -866,7 +866,7 @@ public class ConcurrentSkipListMap extends AbstractMap if (n != null) { Node f = n.next; if (n != b.next) // inconsistent read - break;; + break; Object v = n.value; if (v == null) { // n is deleted n.helpDelete(b, f); diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/atomic/package.html b/libjava/classpath/external/jsr166/java/util/concurrent/atomic/package.html deleted file mode 100644 index 6bc191d..0000000 --- a/libjava/classpath/external/jsr166/java/util/concurrent/atomic/package.html +++ /dev/null @@ -1,158 +0,0 @@ - - -Atomics - - - - -A small toolkit of classes that support lock-free thread-safe -programming on single variables. In essence, the classes in this -package extend the notion of volatile values, fields, and -array elements to those that also provide an atomic conditional update -operation of the form: - -
-  boolean compareAndSet(expectedValue, updateValue);
-
- -

This method (which varies in argument types across different -classes) atomically sets a variable to the updateValue if it -currently holds the expectedValue, reporting true on -success. The classes in this package also contain methods to get and -unconditionally set values, as well as a weaker conditional atomic -update operation weakCompareAndSet desribed below. - -

The specifications of these methods enable implementations to -employ efficient machine-level atomic instructions that are available -on contemporary processors. However on some platforms, support may -entail some form of internal locking. Thus the methods are not -strictly guaranteed to be non-blocking -- -a thread may block transiently before performing the operation. - -

Instances of classes {@link -java.util.concurrent.atomic.AtomicBoolean}, {@link -java.util.concurrent.atomic.AtomicInteger}, {@link -java.util.concurrent.atomic.AtomicLong}, and {@link -java.util.concurrent.atomic.AtomicReference} each provide access and -updates to a single variable of the corresponding type. Each class -also provides appropriate utility methods for that type. For example, -classes AtomicLong and AtomicInteger provide atomic -increment methods. One application is to generate sequence numbers, -as in: - -

-class Sequencer {
-  private AtomicLong sequenceNumber = new AtomicLong(0);
-  public long next() { return sequenceNumber.getAndIncrement(); }
-}
-
- -

The memory effects for accesses and updates of atomics generally -follow the rules for volatiles, as stated in The Java Language -Specification, Third Edition (17.4 Memory Model): - -

    - -
  • get has the memory effects of reading a -volatile variable. - -
  • set has the memory effects of writing (assigning) a -volatile variable. - -
  • lazySet has the memory effects of writing (assigning) - a volatile variable except that it permits reorderings with - subsequent (but not previous) memory actions that do not themselves - impose reordering constraints with ordinary non-volatile - writes. Among other usage contexts, lazySet may apply when - nulling out, for the sake of garbage collection, a reference that is - never accessed again. - -
  • weakCompareAndSet atomically reads and conditionally - writes a variable but does not - create any happens-before orderings, so provides no guarantees - with respect to previous or subsequent reads and writes of any - variables other than the target of the weakCompareAndSet. - -
  • compareAndSet - and all other read-and-update operations such as getAndIncrement - have the memory effects of both reading and - writing volatile variables. -
- -

In addition to classes representing single values, this package -contains Updater classes that can be used to obtain -compareAndSet operations on any selected volatile -field of any selected class. {@link -java.util.concurrent.atomic.AtomicReferenceFieldUpdater}, {@link -java.util.concurrent.atomic.AtomicIntegerFieldUpdater}, and {@link -java.util.concurrent.atomic.AtomicLongFieldUpdater} are -reflection-based utilities that provide access to the associated field -types. These are mainly of use in atomic data structures in which -several volatile fields of the same node (for example, the -links of a tree node) are independently subject to atomic -updates. These classes enable greater flexibility in how and when to -use atomic updates, at the expense of more awkward reflection-based -setup, less convenient usage, and weaker guarantees. - -

The {@link java.util.concurrent.atomic.AtomicIntegerArray}, {@link -java.util.concurrent.atomic.AtomicLongArray}, and {@link -java.util.concurrent.atomic.AtomicReferenceArray} classes further -extend atomic operation support to arrays of these types. These -classes are also notable in providing volatile access -semantics for their array elements, which is not supported for -ordinary arrays. - -

The atomic classes also support method weakCompareAndSet, -which has limited applicability. On some platforms, the weak version -may be more efficient than compareAndSet in the normal case, -but differs in that any given invocation of weakCompareAndSet -method may return false spuriously (that is, for no apparent -reason). A false return means only that the operation may be -retried if desired, relying on the guarantee that repeated invocation -when the variable holds expectedValue and no other thread is -also attempting to set the variable will eventually succeed. (Such -spurious failures may for example be due to memory contention effects -that are unrelated to whether the expected and current values are -equal.) Additionally weakCompareAndSet does not provide -ordering guarantees that are usually needed for synchronization -control. However, the method may be useful for updating counters and -statistics when such updates are unrelated to the other happens-before -orderings of a program. When a thread sees an update to an atomic -variable caused by a weakCompareAndSet, it does not -necessarily see updates to any other variables that occurred -before the weakCompareAndSet. This may be acceptable when -for example updating performance statistics, but rarely otherwise. - -

The {@link java.util.concurrent.atomic.AtomicMarkableReference} -class associates a single boolean with a reference. For example, this -bit might be used inside a data structure to mean that the object -being referenced has logically been deleted. The {@link -java.util.concurrent.atomic.AtomicStampedReference} class associates -an integer value with a reference. This may be used for example, to -represent version numbers corresponding to series of updates. - -

Atomic classes are designed primarily as building blocks for -implementing non-blocking data structures and related infrastructure -classes. The compareAndSet method is not a general -replacement for locking. It applies only when critical updates for an -object are confined to a single variable. - -

Atomic classes are not general purpose replacements for -java.lang.Integer and related classes. They do not -define methods such as hashCode and -compareTo. (Because atomic variables are expected to be -mutated, they are poor choices for hash table keys.) Additionally, -classes are provided only for those types that are commonly useful in -intended applications. For example, there is no atomic class for -representing byte. In those infrequent cases where you would -like to do so, you can use an AtomicInteger to hold -byte values, and cast appropriately. You can also hold floats -using Float.floatToIntBits and Float.intBitstoFloat -conversions, and doubles using Double.doubleToLongBits and -Double.longBitsToDouble conversions. - - -@since 1.5 - - diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/locks/package.html b/libjava/classpath/external/jsr166/java/util/concurrent/locks/package.html deleted file mode 100644 index 4b94525..0000000 --- a/libjava/classpath/external/jsr166/java/util/concurrent/locks/package.html +++ /dev/null @@ -1,50 +0,0 @@ - - -Locks - - - - -Interfaces and classes providing a framework for locking and waiting -for conditions that is distinct from built-in synchronization and -monitors. The framework permits much greater flexibility in the use of -locks and conditions, at the expense of more awkward syntax. - -

The {@link java.util.concurrent.locks.Lock} interface supports -locking disciplines that differ in semantics (reentrant, fair, etc), -and that can be used in non-block-structured contexts including -hand-over-hand and lock reordering algorithms. The main implementation -is {@link java.util.concurrent.locks.ReentrantLock}. - -

The {@link java.util.concurrent.locks.ReadWriteLock} interface -similarly defines locks that may be shared among readers but are -exclusive to writers. Only a single implementation, {@link -java.util.concurrent.locks.ReentrantReadWriteLock}, is provided, since -it covers most standard usage contexts. But programmers may create -their own implementations to cover nonstandard requirements. - -

The {@link java.util.concurrent.locks.Condition} interface -describes condition variables that may be associated with Locks. -These are similar in usage to the implicit monitors accessed using -Object.wait, but offer extended capabilities. In particular, -multiple Condition objects may be associated with a single -Lock. To avoid compatibility issues, the names of -Condition methods are different than the corresponding -Object versions. - -

The {@link java.util.concurrent.locks.AbstractQueuedSynchronizer} -class serves as a useful superclass for defining locks and other -synchronizers that rely on queuing blocked threads. The {@link -java.util.concurrent.locks.AbstractQueuedLongSynchronizer} class -provides the same functionality but extends support to 64 bits of -synchronization state. Both extend class {@link -java.util.concurrent.locks.AbstractOwnableSynchronizer}, a simple -class that helps record the thread currently holding exclusive -synchronization. The {@link java.util.concurrent.locks.LockSupport} -class provides lower-level blocking and unblocking support that is -useful for those developers implementing their own customized lock -classes. - -@since 1.5 - - diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/package.html b/libjava/classpath/external/jsr166/java/util/concurrent/package.html deleted file mode 100644 index 20227e1f..0000000 --- a/libjava/classpath/external/jsr166/java/util/concurrent/package.html +++ /dev/null @@ -1,222 +0,0 @@ - - -Concurrency Utilities - - - - -

Utility classes commonly useful in concurrent programming. This -package includes a few small standardized extensible frameworks, as -well as some classes that provide useful functionality and are -otherwise tedious or difficult to implement. Here are brief -descriptions of the main components. See also the locks and -atomic packages. - -

Executors

- -Interfaces. {@link java.util.concurrent.Executor} is a simple -standardized interface for defining custom thread-like subsystems, -including thread pools, asynchronous IO, and lightweight task -frameworks. Depending on which concrete Executor class is being used, -tasks may execute in a newly created thread, an existing -task-execution thread, or the thread calling execute(), and -may execute sequentially or concurrently. {@link -java.util.concurrent.ExecutorService} provides a more complete -asynchronous task execution framework. An ExecutorService manages -queuing and scheduling of tasks, and allows controlled shutdown. The -{@link java.util.concurrent.ScheduledExecutorService} subinterface -and associated interfaces add support for delayed and periodic task execution. -ExecutorServices provide methods arranging asynchronous execution of -any function expressed as {@link java.util.concurrent.Callable}, the -result-bearing analog of {@link java.lang.Runnable}. A {@link -java.util.concurrent.Future} returns the results of a function, allows -determination of whether execution has completed, and provides a means to -cancel execution. A {@link java.util.concurrent.RunnableFuture} is -a Future that possesses a run method that upon execution, -sets its results. - -

- -Implementations. Classes {@link -java.util.concurrent.ThreadPoolExecutor} and {@link -java.util.concurrent.ScheduledThreadPoolExecutor} provide tunable, -flexible thread pools. The {@link java.util.concurrent.Executors} -class provides factory methods for the most common kinds and -configurations of Executors, as well as a few utility methods for -using them. Other utilities based on Executors include the concrete -class {@link java.util.concurrent.FutureTask} providing a common -extensible implementation of Futures, and {@link -java.util.concurrent.ExecutorCompletionService}, that assists in -coordinating the processing of groups of asynchronous tasks. - -

Queues

- -The java.util.concurrent {@link -java.util.concurrent.ConcurrentLinkedQueue} class supplies an -efficient scalable thread-safe non-blocking FIFO queue. Five -implementations in java.util.concurrent support the extended {@link -java.util.concurrent.BlockingQueue} interface, that defines blocking -versions of put and take: {@link -java.util.concurrent.LinkedBlockingQueue}, {@link -java.util.concurrent.ArrayBlockingQueue}, {@link -java.util.concurrent.SynchronousQueue}, {@link -java.util.concurrent.PriorityBlockingQueue}, and {@link -java.util.concurrent.DelayQueue}. The different classes cover the most -common usage contexts for producer-consumer, messaging, parallel -tasking, and related concurrent designs. The {@link -java.util.concurrent.BlockingDeque} interface extends -BlockingQueue to support both FIFO and LIFO (stack-based) -operations. Class {@link java.util.concurrent.LinkedBlockingDeque} -provides an implementation. - - -

Timing

- -The {@link java.util.concurrent.TimeUnit} class provides multiple -granularities (including nanoseconds) for specifying and controlling -time-out based operations. Most classes in the package contain -operations based on time-outs in addition to indefinite waits. In all -cases that time-outs are used, the time-out specifies the minimum time -that the method should wait before indicating that it -timed-out. Implementations make a "best effort" to detect -time-outs as soon as possible after they occur. However, an indefinite -amount of time may elapse between a time-out being detected and a -thread actually executing again after that time-out. All methods -that accept timeout parameters treat values less than or equal to -zero to mean not to wait at all. To wait "forever", you can use -a value of Long.MAX_VALUE. - -

Synchronizers

- -Four classes aid common special-purpose synchronization idioms. -{@link java.util.concurrent.Semaphore} is a classic concurrency tool. -{@link java.util.concurrent.CountDownLatch} is a very simple yet very -common utility for blocking until a given number of signals, events, -or conditions hold. A {@link java.util.concurrent.CyclicBarrier} is a -resettable multiway synchronization point useful in some styles of -parallel programming. An {@link java.util.concurrent.Exchanger} allows -two threads to exchange objects at a rendezvous point, and is useful -in several pipeline designs. - -

Concurrent Collections

- -Besides Queues, this package supplies Collection implementations -designed for use in multithreaded contexts: -{@link java.util.concurrent.ConcurrentHashMap}, -{@link java.util.concurrent.ConcurrentSkipListMap}, -{@link java.util.concurrent.ConcurrentSkipListSet}, -{@link java.util.concurrent.CopyOnWriteArrayList}, and -{@link java.util.concurrent.CopyOnWriteArraySet}. -When many threads are expected to access a given collection, -a ConcurrentHashMap is normally preferable to -a synchronized HashMap, and a -ConcurrentSkipListMap is normally preferable -to a synchronized TreeMap. A -CopyOnWriteArrayList is preferable to -a synchronized ArrayList when the expected number of reads -and traversals greatly outnumber the number of updates to a list. - -

The "Concurrent" prefix used with some classes in this package is a -shorthand indicating several differences from similar "synchronized" -classes. For example java.util.Hashtable and -Collections.synchronizedMap(new HashMap()) are -synchronized. But {@link java.util.concurrent.ConcurrentHashMap} is -"concurrent". A concurrent collection is thread-safe, but not -governed by a single exclusion lock. In the particular case of -ConcurrentHashMap, it safely permits any number of concurrent reads as -well as a tunable number of concurrent writes. "Synchronized" classes -can be useful when you need to prevent all access to a collection via -a single lock, at the expense of poorer scalability. In other cases in -which multiple threads are expected to access a common collection, -"concurrent" versions are normally preferable. And unsynchronized -collections are preferable when either collections are unshared, or -are accessible only when holding other locks. - -

Most concurrent Collection implementations (including most Queues) -also differ from the usual java.util conventions in that their Iterators -provide weakly consistent rather than fast-fail traversal. A -weakly consistent iterator is thread-safe, but does not necessarily -freeze the collection while iterating, so it may (or may not) reflect -any updates since the iterator was created. - - -

Memory Consistency Properties

- - -Chapter 17 of the Java Language Specification defines the -happens-before relation on memory operations such as reads and -writes of shared variables. The results of a write by one thread are -guaranteed to be visible to a read by another thread only if the write -operation happens-before the read operation. The -{@code synchronized} and {@code volatile} constructs, as well as the -{@code Thread.start()} and {@code Thread.join()} methods, can form -happens-before relationships. In particular: - -
    -
  • Each action in a thread happens-before every action in that - thread that comes later in the program's order. - -
  • An unlock ({@code synchronized} block or method exit) of a - monitor happens-before every subsequent lock ({@code synchronized} - block or method entry) of that same monitor. And because - the happens-before relation is transitive, all actions - of a thread prior to unlocking happen-before all actions - subsequent to any thread locking that monitor. - -
  • A write to a {@code volatile} field happens-before every - subsequent read of that same field. Writes and reads of - {@code volatile} fields have similar memory consistency effects - as entering and exiting monitors, but do not entail - mutual exclusion locking. - -
  • A call to {@code start} on a thread happens-before any action in the - started thread. - -
  • All actions in a thread happen-before any other thread - successfully returns from a {@code join} on that thread. - -
- - -The methods of all classes in {@code java.util.concurrent} and its -subpackages extend these guarantees to higher-level -synchronization. In particular: - -
    - -
  • Actions in a thread prior to placing an object into any concurrent - collection happen-before actions subsequent to the access or - removal of that element from the collection in another thread. - -
  • Actions in a thread prior to the submission of a {@code Runnable} - to an {@code Executor} happen-before its execution begins. - Similarly for {@code Callables} submitted to an {@code ExecutorService}. - -
  • Actions taken by the asynchronous computation represented by a - {@code Future} happen-before actions subsequent to the - retrieval of the result via {@code Future.get()} in another thread. - -
  • Actions prior to "releasing" synchronizer methods such as - {@code Lock.unlock}, {@code Semaphore.release}, and - {@code CountDownLatch.countDown} happen-before actions - subsequent to a successful "acquiring" method such as - {@code Lock.lock}, {@code Semaphore.acquire}, - {@code Condition.await}, and {@code CountDownLatch.await} on the - same synchronizer object in another thread. - -
  • For each pair of threads that successfully exchange objects via - an {@code Exchanger}, actions prior to the {@code exchange()} - in each thread happen-before those subsequent to the - corresponding {@code exchange()} in another thread. - -
  • Actions prior to calling {@code CyclicBarrier.await} - happen-before actions performed by the barrier action, and - actions performed by the barrier action happen-before actions - subsequent to a successful return from the corresponding {@code await} - in other threads. - -
- -@since 1.5 - - diff --git a/libjava/classpath/external/relaxngDatatype/Makefile.in b/libjava/classpath/external/relaxngDatatype/Makefile.in index b672c26..6d36ab3 100644 --- a/libjava/classpath/external/relaxngDatatype/Makefile.in +++ b/libjava/classpath/external/relaxngDatatype/Makefile.in @@ -43,16 +43,21 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ - $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ - $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ + $(top_srcdir)/../../libtool.m4 \ + $(top_srcdir)/../../ltoptions.m4 \ + $(top_srcdir)/../../ltsugar.m4 \ + $(top_srcdir)/../../ltversion.m4 \ + $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \ + $(top_srcdir)/m4/acinclude.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/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 +mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs CONFIG_HEADER = $(top_builddir)/include/config.h CONFIG_CLEAN_FILES = SOURCES = @@ -62,12 +67,15 @@ ACLOCAL = @ACLOCAL@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ +AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@ BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -113,6 +121,7 @@ DATE = @DATE@ DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ @@ -125,15 +134,16 @@ ERROR_CFLAGS = @ERROR_CFLAGS@ EXAMPLESDIR = @EXAMPLESDIR@ EXEEXT = @EXEEXT@ FASTJAR = @FASTJAR@ +FGREP = @FGREP@ FIND = @FIND@ FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@ FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@ FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@ FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@ -FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@ -FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@ FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@ FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@ +FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@ +FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@ FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@ FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@ FOUND_KJC_FALSE = @FOUND_KJC_FALSE@ @@ -141,7 +151,6 @@ FOUND_KJC_TRUE = @FOUND_KJC_TRUE@ FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@ FREETYPE2_LIBS = @FREETYPE2_LIBS@ GCJ = @GCJ@ -GCJX = @GCJX@ GCONF_CFLAGS = @GCONF_CFLAGS@ GCONF_LIBS = @GCONF_LIBS@ GDK_CFLAGS = @GDK_CFLAGS@ @@ -151,6 +160,7 @@ GENINSRC_TRUE = @GENINSRC_TRUE@ GJDOC = @GJDOC@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ +GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@ @@ -162,6 +172,7 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +JAVAC = @JAVAC@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ @@ -171,6 +182,7 @@ JIKES = @JIKES@ JIKESENCODING = @JIKESENCODING@ JIKESWARNINGS = @JIKESWARNINGS@ KJC = @KJC@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBDEBUG = @LIBDEBUG@ LIBICONV = @LIBICONV@ @@ -190,6 +202,7 @@ MKDIR = @MKDIR@ MOC = @MOC@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ +NM = @NM@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ @@ -211,6 +224,7 @@ RANLIB = @RANLIB@ REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@ REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@ REMOVE = @REMOVE@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@ @@ -238,8 +252,10 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ X_PRE_LIBS = @X_PRE_LIBS@ ZIP = @ZIP@ +ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_STRIP = @ac_ct_STRIP@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ @@ -272,6 +288,7 @@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ multi_basedir = @multi_basedir@ diff --git a/libjava/classpath/external/sax/Makefile.in b/libjava/classpath/external/sax/Makefile.in index 3fc075b..3ddaa28 100644 --- a/libjava/classpath/external/sax/Makefile.in +++ b/libjava/classpath/external/sax/Makefile.in @@ -43,16 +43,21 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ - $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ - $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ + $(top_srcdir)/../../libtool.m4 \ + $(top_srcdir)/../../ltoptions.m4 \ + $(top_srcdir)/../../ltsugar.m4 \ + $(top_srcdir)/../../ltversion.m4 \ + $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \ + $(top_srcdir)/m4/acinclude.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/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 +mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs CONFIG_HEADER = $(top_builddir)/include/config.h CONFIG_CLEAN_FILES = SOURCES = @@ -62,12 +67,15 @@ ACLOCAL = @ACLOCAL@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ +AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@ BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -113,6 +121,7 @@ DATE = @DATE@ DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ @@ -125,15 +134,16 @@ ERROR_CFLAGS = @ERROR_CFLAGS@ EXAMPLESDIR = @EXAMPLESDIR@ EXEEXT = @EXEEXT@ FASTJAR = @FASTJAR@ +FGREP = @FGREP@ FIND = @FIND@ FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@ FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@ FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@ FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@ -FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@ -FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@ FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@ FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@ +FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@ +FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@ FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@ FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@ FOUND_KJC_FALSE = @FOUND_KJC_FALSE@ @@ -141,7 +151,6 @@ FOUND_KJC_TRUE = @FOUND_KJC_TRUE@ FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@ FREETYPE2_LIBS = @FREETYPE2_LIBS@ GCJ = @GCJ@ -GCJX = @GCJX@ GCONF_CFLAGS = @GCONF_CFLAGS@ GCONF_LIBS = @GCONF_LIBS@ GDK_CFLAGS = @GDK_CFLAGS@ @@ -151,6 +160,7 @@ GENINSRC_TRUE = @GENINSRC_TRUE@ GJDOC = @GJDOC@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ +GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@ @@ -162,6 +172,7 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +JAVAC = @JAVAC@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ @@ -171,6 +182,7 @@ JIKES = @JIKES@ JIKESENCODING = @JIKESENCODING@ JIKESWARNINGS = @JIKESWARNINGS@ KJC = @KJC@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBDEBUG = @LIBDEBUG@ LIBICONV = @LIBICONV@ @@ -190,6 +202,7 @@ MKDIR = @MKDIR@ MOC = @MOC@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ +NM = @NM@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ @@ -211,6 +224,7 @@ RANLIB = @RANLIB@ REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@ REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@ REMOVE = @REMOVE@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@ @@ -238,8 +252,10 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ X_PRE_LIBS = @X_PRE_LIBS@ ZIP = @ZIP@ +ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_STRIP = @ac_ct_STRIP@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ @@ -272,6 +288,7 @@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ multi_basedir = @multi_basedir@ diff --git a/libjava/classpath/external/w3c_dom/COPYRIGHT.html b/libjava/classpath/external/w3c_dom/COPYRIGHT.html deleted file mode 100644 index c7e0e49..0000000 --- a/libjava/classpath/external/w3c_dom/COPYRIGHT.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - W3C IPR SOFTWARE NOTICE - - - -

- W3C IPR SOFTWARE NOTICE -

-

- Copyright © 2002 World Wide Web - Consortium, (Massachusetts - Institute of Technology, Institut - National de Recherche en Informatique et en Automatique, Keio University). All Rights - Reserved. -

-

- The DOM bindings are published under the W3C Software Copyright Notice - and License. The software license requires "Notice of any changes or - modifications to the W3C files, including the date changes were made." - Consequently, modified versions of the DOM bindings must document that - they do not conform to the W3C standard; in the case of the IDL - definitions, the pragma prefix can no longer be 'w3c.org'; in the case of - the Java language binding, the package names can no longer be in the - 'org.w3c' package. -

-

- Note: The original version of the W3C Software Copyright Notice - and License could be found at http://www.w3.org/Consortium/Legal/copyright-software-19980720 -

-

- Copyright © 1994-2002 World Wide Web - Consortium, (Massachusetts - Institute of Technology, Institut - National de Recherche en Informatique et en Automatique, Keio University). All Rights - Reserved. http://www.w3.org/Consortium/Legal/ -

-

- This W3C work (including software, documents, or other related items) is - being provided by the copyright holders under the following license. By - obtaining, using and/or copying this work, you (the licensee) agree that - you have read, understood, and will comply with the following terms and - conditions: -

-

- Permission to use, copy, and modify this software and its documentation, - with or without modification,  for any purpose and without fee or - royalty is hereby granted, provided that you include the following on ALL - copies of the software and documentation or portions thereof, including - modifications, that you make: -

-
    -
  1. - The full text of this NOTICE in a location viewable to users of the - redistributed or derivative work. -
  2. -
  3. - Any pre-existing intellectual property disclaimers, notices, or terms - and conditions. If none exist, a short notice of the following form - (hypertext is preferred, text is permitted) should be used within the - body of any redistributed or derivative code: "Copyright © - [$date-of-software] World Wide Web - Consortium, (Massachusetts - Institute of Technology, Institut - National de Recherche en Informatique et en Automatique, Keio University). All Rights - Reserved. http://www.w3.org/Consortium/Legal/" -
  4. -
  5. - Notice of any changes or modifications to the W3C files, including the - date changes were made. (We recommend you provide URIs to the location - from which the code is derived.) -
  6. -
-

- THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT - HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, - INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS - FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR - DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, - TRADEMARKS OR OTHER RIGHTS. -

-

- COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR - CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR - DOCUMENTATION. -

-

- The name and trademarks of copyright holders may NOT be used in - advertising or publicity pertaining to the software without specific, - written prior permission. Title to copyright in this software and any - associated documentation will at all times remain with copyright - holders. -

- - diff --git a/libjava/classpath/external/w3c_dom/Makefile.in b/libjava/classpath/external/w3c_dom/Makefile.in index 83d05ad..ae8905f 100644 --- a/libjava/classpath/external/w3c_dom/Makefile.in +++ b/libjava/classpath/external/w3c_dom/Makefile.in @@ -43,16 +43,21 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ - $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ - $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ + $(top_srcdir)/../../libtool.m4 \ + $(top_srcdir)/../../ltoptions.m4 \ + $(top_srcdir)/../../ltsugar.m4 \ + $(top_srcdir)/../../ltversion.m4 \ + $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \ + $(top_srcdir)/m4/acinclude.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/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 +mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs CONFIG_HEADER = $(top_builddir)/include/config.h CONFIG_CLEAN_FILES = SOURCES = @@ -62,12 +67,15 @@ ACLOCAL = @ACLOCAL@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ +AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@ BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -113,6 +121,7 @@ DATE = @DATE@ DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ @@ -125,15 +134,16 @@ ERROR_CFLAGS = @ERROR_CFLAGS@ EXAMPLESDIR = @EXAMPLESDIR@ EXEEXT = @EXEEXT@ FASTJAR = @FASTJAR@ +FGREP = @FGREP@ FIND = @FIND@ FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@ FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@ FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@ FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@ -FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@ -FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@ FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@ FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@ +FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@ +FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@ FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@ FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@ FOUND_KJC_FALSE = @FOUND_KJC_FALSE@ @@ -141,7 +151,6 @@ FOUND_KJC_TRUE = @FOUND_KJC_TRUE@ FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@ FREETYPE2_LIBS = @FREETYPE2_LIBS@ GCJ = @GCJ@ -GCJX = @GCJX@ GCONF_CFLAGS = @GCONF_CFLAGS@ GCONF_LIBS = @GCONF_LIBS@ GDK_CFLAGS = @GDK_CFLAGS@ @@ -151,6 +160,7 @@ GENINSRC_TRUE = @GENINSRC_TRUE@ GJDOC = @GJDOC@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ +GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@ @@ -162,6 +172,7 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +JAVAC = @JAVAC@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ @@ -171,6 +182,7 @@ JIKES = @JIKES@ JIKESENCODING = @JIKESENCODING@ JIKESWARNINGS = @JIKESWARNINGS@ KJC = @KJC@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBDEBUG = @LIBDEBUG@ LIBICONV = @LIBICONV@ @@ -190,6 +202,7 @@ MKDIR = @MKDIR@ MOC = @MOC@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ +NM = @NM@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ @@ -211,6 +224,7 @@ RANLIB = @RANLIB@ REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@ REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@ REMOVE = @REMOVE@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@ @@ -238,8 +252,10 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ X_PRE_LIBS = @X_PRE_LIBS@ ZIP = @ZIP@ +ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_STRIP = @ac_ct_STRIP@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ @@ -272,6 +288,7 @@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ multi_basedir = @multi_basedir@ diff --git a/libjava/classpath/gnu/CORBA/DynAn/gnuDynValue.java b/libjava/classpath/gnu/CORBA/DynAn/gnuDynValue.java index 0c31d40..57150f7 100644 --- a/libjava/classpath/gnu/CORBA/DynAn/gnuDynValue.java +++ b/libjava/classpath/gnu/CORBA/DynAn/gnuDynValue.java @@ -172,7 +172,6 @@ public class gnuDynValue extends RecordAny implements DynValue, else return super.current_member_kind(); } - ; /** @inheritDoc */ public String current_member_name() throws TypeMismatch, InvalidValue @@ -182,7 +181,6 @@ public class gnuDynValue extends RecordAny implements DynValue, else return super.current_member_name(); } - ; /** @inheritDoc */ public NameDynAnyPair[] get_members_as_dyn_any() throws InvalidValue @@ -191,7 +189,6 @@ public class gnuDynValue extends RecordAny implements DynValue, throw new InvalidValue(ISNULL); return super.gnu_get_members_as_dyn_any(); } - ; /** @inheritDoc */ public NameValuePair[] get_members() throws InvalidValue @@ -201,7 +198,6 @@ public class gnuDynValue extends RecordAny implements DynValue, else return super.gnu_get_members(); } - ; /** @inheritDoc */ public void set_members_as_dyn_any(NameDynAnyPair[] value) @@ -210,7 +206,6 @@ public class gnuDynValue extends RecordAny implements DynValue, super.set_members_as_dyn_any(value); isNull = false; } - ; /** @inheritDoc */ public void set_members(NameValuePair[] value) @@ -219,7 +214,6 @@ public class gnuDynValue extends RecordAny implements DynValue, super.set_members(value); isNull = false; } - ; /** @inheritDoc */ public boolean is_null() diff --git a/libjava/classpath/gnu/CORBA/Poa/gnuPOA.java b/libjava/classpath/gnu/CORBA/Poa/gnuPOA.java index 8ceec23..0dbca7cf 100644 --- a/libjava/classpath/gnu/CORBA/Poa/gnuPOA.java +++ b/libjava/classpath/gnu/CORBA/Poa/gnuPOA.java @@ -1348,7 +1348,6 @@ public class gnuPOA { return name; } - ; /** * Return the parent of this POA. diff --git a/libjava/classpath/gnu/classpath/Pair.java b/libjava/classpath/gnu/classpath/Pair.java new file mode 100644 index 0000000..57af37a --- /dev/null +++ b/libjava/classpath/gnu/classpath/Pair.java @@ -0,0 +1,126 @@ +/* Pair.java -- A heterogenous pair of objects. + Copyright (C) 2006 + 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 gnu.classpath; + +/** + * A container for a pair of heterogenous objects. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + */ +public class Pair +{ + + /** + * The left-hand side of the pair. + */ + private A left; + + /** + * The right-hand side of the pair. + */ + private B right; + + /** + * Constructs a new pair using the given left and + * right values. + * + * @param left the left-hand side of the pair. + * @param right the right-hand side of the pair. + */ + public Pair(A left, B right) + { + this.left = left; + this.right = right; + } + + /** + * Returns the left-hand side of the pair. + * + * @return the left-hand value. + */ + public A getLeft() + { + return left; + } + + /** + * Returns the right-hand side of the pair. + * + * @return the right-hand value. + */ + public B getRight() + { + return right; + } + + /** + * Returns true if the specified object is also a + * pair with equivalent left and right values. + * + * @param obj the object to compare. + * @return true if the two are equal. + */ + public boolean equals(Object obj) + { + if (obj instanceof Pair) + { + Pair p = (Pair) obj; + A lp = p.getLeft(); + B rp = p.getRight(); + return (lp == null ? left == null : lp.equals(left)) && + (rp == null ? right == null : rp.equals(right)); + } + return false; + } + + /** + * Returns a hashcode for the pair, created by the + * summation of the hashcodes of the left and right + * hand values. + * + * @return a hashcode for the pair. + */ + public int hashCode() + { + return (left == null ? 0 : left.hashCode()) + + (right == null ? 0 : right.hashCode()); + } + +} diff --git a/libjava/classpath/gnu/classpath/ServiceFactory.java b/libjava/classpath/gnu/classpath/ServiceFactory.java index 122a79c..daf996c 100644 --- a/libjava/classpath/gnu/classpath/ServiceFactory.java +++ b/libjava/classpath/gnu/classpath/ServiceFactory.java @@ -49,6 +49,7 @@ import java.util.Collections; import java.util.Enumeration; import java.util.Iterator; import java.util.NoSuchElementException; +import java.util.ServiceConfigurationError; import java.util.logging.Level; import java.util.logging.LogRecord; import java.util.logging.Logger; @@ -176,7 +177,6 @@ public final class ServiceFactory */ private static final Logger LOGGER = Logger.getLogger("gnu.classpath"); - /** * Declared private in order to prevent constructing instances of * this utility class. @@ -225,6 +225,51 @@ public final class ServiceFactory public static Iterator lookupProviders(Class spi, ClassLoader loader) { + return lookupProviders(spi, loader, false); + } + + /** + * Finds service providers that are implementing the specified + * Service Provider Interface. + * + *

On-demand loading: Loading and initializing service + * providers is delayed as much as possible. The rationale is that + * typical clients will iterate through the set of installed service + * providers until one is found that matches some criteria (like + * supported formats, or quality of service). In such scenarios, it + * might make sense to install only the frequently needed service + * providers on the local machine. More exotic providers can be put + * onto a server; the server will only be contacted when no suitable + * service could be found locally. + * + *

Security considerations: Any loaded service providers + * are loaded through the specified ClassLoader, or the system + * ClassLoader if classLoader is + * null. When lookupProviders is called, + * the current {@link AccessControlContext} gets recorded. This + * captured security context will determine the permissions when + * services get loaded via the next() method of the + * returned Iterator. + * + * @param spi the service provider interface which must be + * implemented by any loaded service providers. + * + * @param loader the class loader that will be used to load the + * service providers, or null for the system class + * loader. For using the context class loader, see {@link + * #lookupProviders(Class)}. + * @param error true if a {@link ServiceConfigurationError} + * should be thrown when an error occurs, rather + * than it merely being logged. + * @return an iterator over instances of spi. + * + * @throws IllegalArgumentException if spi is + * null. + */ + public static Iterator lookupProviders(Class spi, + ClassLoader loader, + boolean error) + { String resourceName; Enumeration urls; @@ -246,10 +291,14 @@ public final class ServiceFactory * does not return anything (no providers installed). */ log(Level.WARNING, "cannot access {0}", resourceName, ioex); - return Collections.EMPTY_LIST.iterator(); + if (error) + throw new ServiceConfigurationError("Failed to access + " + + resourceName, ioex); + else + return Collections.EMPTY_LIST.iterator(); } - return new ServiceIterator(spi, urls, loader, + return new ServiceIterator(spi, urls, loader, error, AccessController.getContext()); } @@ -342,6 +391,11 @@ public final class ServiceFactory */ private Object nextProvider; + /** + * True if a {@link ServiceConfigurationError} should be thrown + * when an error occurs, instead of it merely being logged. + */ + private boolean error; /** * Constructs an Iterator that loads and initializes services on @@ -359,16 +413,21 @@ public final class ServiceFactory * @param loader the ClassLoader that gets used for loading * service providers. * + * @param error true if a {@link ServiceConfigurationError} + * should be thrown when an error occurs, rather + * than it merely being logged. + * * @param securityContext the security context to use when loading * and initializing service providers. */ ServiceIterator(Class spi, Enumeration urls, ClassLoader loader, - AccessControlContext securityContext) + boolean error, AccessControlContext securityContext) { this.spi = spi; this.urls = urls; this.loader = loader; this.securityContext = securityContext; + this.error = error; this.nextProvider = loadNextServiceProvider(); } @@ -426,6 +485,9 @@ public final class ServiceFactory log(Level.WARNING, "IOException upon reading {0}", currentURL, readProblem); line = null; + if (error) + throw new ServiceConfigurationError("Error reading " + + currentURL, readProblem); } /* When we are at the end of one list of services, @@ -477,6 +539,13 @@ public final class ServiceFactory log(Level.WARNING, msg, new Object[] { line, spi.getName(), currentURL }, ex); + if (error) + throw new ServiceConfigurationError("Cannot load service "+ + "provider class " + + line + " specified by "+ + "\"META-INF/services/"+ + spi.getName() + "\" in "+ + currentURL, ex); continue; } } @@ -497,6 +566,9 @@ public final class ServiceFactory catch (Exception ex) { log(Level.WARNING, "cannot close {0}", currentURL, ex); + if (error) + throw new ServiceConfigurationError("Cannot close " + + currentURL, ex); } reader = null; currentURL = null; @@ -515,6 +587,9 @@ public final class ServiceFactory catch (Exception ex) { log(Level.WARNING, "cannot open {0}", currentURL, ex); + if (error) + throw new ServiceConfigurationError("Cannot open " + + currentURL, ex); } } while (reader == null); diff --git a/libjava/classpath/gnu/classpath/jdwp/util/Value.java b/libjava/classpath/gnu/classpath/jdwp/util/Value.java deleted file mode 100644 index e69de29..0000000 diff --git a/libjava/classpath/gnu/classpath/jdwp/util/VariableTable.java b/libjava/classpath/gnu/classpath/jdwp/util/VariableTable.java index f30c215..9732422 100644 --- a/libjava/classpath/gnu/classpath/jdwp/util/VariableTable.java +++ b/libjava/classpath/gnu/classpath/jdwp/util/VariableTable.java @@ -1,5 +1,5 @@ /* VariableTable.java -- A class representing a Variable Table for a method - Copyright (C) 2005 Free Software Foundation + Copyright (C) 2005, 2007 Free Software Foundation This file is part of GNU Classpath. diff --git a/libjava/classpath/gnu/classpath/jdwp/value/ArrayValue.java b/libjava/classpath/gnu/classpath/jdwp/value/ArrayValue.java index c5e00a0..66e7c4e 100644 --- a/libjava/classpath/gnu/classpath/jdwp/value/ArrayValue.java +++ b/libjava/classpath/gnu/classpath/jdwp/value/ArrayValue.java @@ -1,4 +1,4 @@ -/* ArrayValue.java -- JDWP wrapper class for an Object value +/* ObjectValue.java -- JDWP wrapper class for an Object value Copyright (C) 2007 Free Software Foundation This file is part of GNU Classpath. diff --git a/libjava/classpath/gnu/java/awt/AWTUtilities.java b/libjava/classpath/gnu/java/awt/AWTUtilities.java index ca7b551..1b68703 100644 --- a/libjava/classpath/gnu/java/awt/AWTUtilities.java +++ b/libjava/classpath/gnu/java/awt/AWTUtilities.java @@ -1,5 +1,5 @@ /* AWTUtilities.java -- Common utility methods for AWT and Swing. - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -47,6 +47,7 @@ import java.awt.Point; import java.awt.Rectangle; import java.awt.Toolkit; import java.awt.Window; +import java.awt.event.KeyEvent; import java.awt.event.MouseEvent; import java.util.AbstractSequentialList; import java.util.List; @@ -694,4 +695,204 @@ public class AWTUtilities { return java.awt.EventQueue.isDispatchThread(); } + + /** + * Returns whether the specified key code is valid. + */ + public static boolean isValidKey(int keyCode) + { + switch (keyCode) + { + case KeyEvent.VK_ENTER: + case KeyEvent.VK_BACK_SPACE: + case KeyEvent.VK_TAB: + case KeyEvent.VK_CANCEL: + case KeyEvent.VK_CLEAR: + case KeyEvent.VK_SHIFT: + case KeyEvent.VK_CONTROL: + case KeyEvent.VK_ALT: + case KeyEvent.VK_PAUSE: + case KeyEvent.VK_CAPS_LOCK: + case KeyEvent.VK_ESCAPE: + case KeyEvent.VK_SPACE: + case KeyEvent.VK_PAGE_UP: + case KeyEvent.VK_PAGE_DOWN: + case KeyEvent.VK_END: + case KeyEvent.VK_HOME: + case KeyEvent.VK_LEFT: + case KeyEvent.VK_UP: + case KeyEvent.VK_RIGHT: + case KeyEvent.VK_DOWN: + case KeyEvent.VK_COMMA: + case KeyEvent.VK_MINUS: + case KeyEvent.VK_PERIOD: + case KeyEvent.VK_SLASH: + case KeyEvent.VK_0: + case KeyEvent.VK_1: + case KeyEvent.VK_2: + case KeyEvent.VK_3: + case KeyEvent.VK_4: + case KeyEvent.VK_5: + case KeyEvent.VK_6: + case KeyEvent.VK_7: + case KeyEvent.VK_8: + case KeyEvent.VK_9: + case KeyEvent.VK_SEMICOLON: + case KeyEvent.VK_EQUALS: + case KeyEvent.VK_A: + case KeyEvent.VK_B: + case KeyEvent.VK_C: + case KeyEvent.VK_D: + case KeyEvent.VK_E: + case KeyEvent.VK_F: + case KeyEvent.VK_G: + case KeyEvent.VK_H: + case KeyEvent.VK_I: + case KeyEvent.VK_J: + case KeyEvent.VK_K: + case KeyEvent.VK_L: + case KeyEvent.VK_M: + case KeyEvent.VK_N: + case KeyEvent.VK_O: + case KeyEvent.VK_P: + case KeyEvent.VK_Q: + case KeyEvent.VK_R: + case KeyEvent.VK_S: + case KeyEvent.VK_T: + case KeyEvent.VK_U: + case KeyEvent.VK_V: + case KeyEvent.VK_W: + case KeyEvent.VK_X: + case KeyEvent.VK_Y: + case KeyEvent.VK_Z: + case KeyEvent.VK_OPEN_BRACKET: + case KeyEvent.VK_BACK_SLASH: + case KeyEvent.VK_CLOSE_BRACKET: + case KeyEvent.VK_NUMPAD0: + case KeyEvent.VK_NUMPAD1: + case KeyEvent.VK_NUMPAD2: + case KeyEvent.VK_NUMPAD3: + case KeyEvent.VK_NUMPAD4: + case KeyEvent.VK_NUMPAD5: + case KeyEvent.VK_NUMPAD6: + case KeyEvent.VK_NUMPAD7: + case KeyEvent.VK_NUMPAD8: + case KeyEvent.VK_NUMPAD9: + case KeyEvent.VK_MULTIPLY: + case KeyEvent.VK_ADD: + case KeyEvent.VK_SEPARATOR: + case KeyEvent.VK_SUBTRACT: + case KeyEvent.VK_DECIMAL: + case KeyEvent.VK_DIVIDE: + case KeyEvent.VK_DELETE: + case KeyEvent.VK_NUM_LOCK: + case KeyEvent.VK_SCROLL_LOCK: + case KeyEvent.VK_F1: + case KeyEvent.VK_F2: + case KeyEvent.VK_F3: + case KeyEvent.VK_F4: + case KeyEvent.VK_F5: + case KeyEvent.VK_F6: + case KeyEvent.VK_F7: + case KeyEvent.VK_F8: + case KeyEvent.VK_F9: + case KeyEvent.VK_F10: + case KeyEvent.VK_F11: + case KeyEvent.VK_F12: + case KeyEvent.VK_F13: + case KeyEvent.VK_F14: + case KeyEvent.VK_F15: + case KeyEvent.VK_F16: + case KeyEvent.VK_F17: + case KeyEvent.VK_F18: + case KeyEvent.VK_F19: + case KeyEvent.VK_F20: + case KeyEvent.VK_F21: + case KeyEvent.VK_F22: + case KeyEvent.VK_F23: + case KeyEvent.VK_F24: + case KeyEvent.VK_PRINTSCREEN: + case KeyEvent.VK_INSERT: + case KeyEvent.VK_HELP: + case KeyEvent.VK_META: + case KeyEvent.VK_BACK_QUOTE: + case KeyEvent.VK_QUOTE: + case KeyEvent.VK_KP_UP: + case KeyEvent.VK_KP_DOWN: + case KeyEvent.VK_KP_LEFT: + case KeyEvent.VK_KP_RIGHT: + case KeyEvent.VK_DEAD_GRAVE: + case KeyEvent.VK_DEAD_ACUTE: + case KeyEvent.VK_DEAD_CIRCUMFLEX: + case KeyEvent.VK_DEAD_TILDE: + case KeyEvent.VK_DEAD_MACRON: + case KeyEvent.VK_DEAD_BREVE: + case KeyEvent.VK_DEAD_ABOVEDOT: + case KeyEvent.VK_DEAD_DIAERESIS: + case KeyEvent.VK_DEAD_ABOVERING: + case KeyEvent.VK_DEAD_DOUBLEACUTE: + case KeyEvent.VK_DEAD_CARON: + case KeyEvent.VK_DEAD_CEDILLA: + case KeyEvent.VK_DEAD_OGONEK: + case KeyEvent.VK_DEAD_IOTA: + case KeyEvent.VK_DEAD_VOICED_SOUND: + case KeyEvent.VK_DEAD_SEMIVOICED_SOUND: + case KeyEvent.VK_AMPERSAND: + case KeyEvent.VK_ASTERISK: + case KeyEvent.VK_QUOTEDBL: + case KeyEvent.VK_LESS: + case KeyEvent.VK_GREATER: + case KeyEvent.VK_BRACELEFT: + case KeyEvent.VK_BRACERIGHT: + case KeyEvent.VK_AT: + case KeyEvent.VK_COLON: + case KeyEvent.VK_CIRCUMFLEX: + case KeyEvent.VK_DOLLAR: + case KeyEvent.VK_EURO_SIGN: + case KeyEvent.VK_EXCLAMATION_MARK: + case KeyEvent.VK_INVERTED_EXCLAMATION_MARK: + case KeyEvent.VK_LEFT_PARENTHESIS: + case KeyEvent.VK_NUMBER_SIGN: + case KeyEvent.VK_PLUS: + case KeyEvent.VK_RIGHT_PARENTHESIS: + case KeyEvent.VK_UNDERSCORE: + case KeyEvent.VK_FINAL: + case KeyEvent.VK_CONVERT: + case KeyEvent.VK_NONCONVERT: + case KeyEvent.VK_ACCEPT: + case KeyEvent.VK_MODECHANGE: + case KeyEvent.VK_KANA: + case KeyEvent.VK_KANJI: + case KeyEvent.VK_ALPHANUMERIC: + case KeyEvent.VK_KATAKANA: + case KeyEvent.VK_HIRAGANA: + case KeyEvent.VK_FULL_WIDTH: + case KeyEvent.VK_HALF_WIDTH: + case KeyEvent.VK_ROMAN_CHARACTERS: + case KeyEvent.VK_ALL_CANDIDATES: + case KeyEvent.VK_PREVIOUS_CANDIDATE: + case KeyEvent.VK_CODE_INPUT: + case KeyEvent.VK_JAPANESE_KATAKANA: + case KeyEvent.VK_JAPANESE_HIRAGANA: + case KeyEvent.VK_JAPANESE_ROMAN: + case KeyEvent.VK_KANA_LOCK: + case KeyEvent.VK_INPUT_METHOD_ON_OFF: + case KeyEvent.VK_CUT: + case KeyEvent.VK_COPY: + case KeyEvent.VK_PASTE: + case KeyEvent.VK_UNDO: + case KeyEvent.VK_AGAIN: + case KeyEvent.VK_FIND: + case KeyEvent.VK_PROPS: + case KeyEvent.VK_STOP: + case KeyEvent.VK_COMPOSE: + case KeyEvent.VK_ALT_GRAPH: + case KeyEvent.VK_BEGIN: + case KeyEvent.VK_CONTEXT_MENU: + case KeyEvent.VK_WINDOWS: + return true; + default: + return false; + } + } } diff --git a/libjava/classpath/gnu/java/awt/ClasspathGraphicsEnvironment.java b/libjava/classpath/gnu/java/awt/ClasspathGraphicsEnvironment.java new file mode 100644 index 0000000..865da1d --- /dev/null +++ b/libjava/classpath/gnu/java/awt/ClasspathGraphicsEnvironment.java @@ -0,0 +1,67 @@ +/* ClasspathGraphicsEnvironment.java + Copyright (C) 2007 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 gnu.java.awt; + +import java.awt.GraphicsEnvironment; +import java.awt.image.ColorModel; +import java.awt.image.SampleModel; +import java.awt.image.WritableRaster; + +/** + * This class extends the GraphicsEnvironment API with some Classpath-specific + * methods, in order to provide optimized graphics handling. + * + * @author Francis Kung + */ +public abstract class ClasspathGraphicsEnvironment + extends GraphicsEnvironment +{ + /** + * Returns an appropriate Raster that can efficiently back a + * BufferedImage with the given ColorModel and SampleModel. + * + * @param cm The color model. + * @param sm The samepl model. + * @return An appropriate WritableRaster, or null if acceleration/optimization + * is not available for the given colour model / sample model. + */ + public WritableRaster createRaster(ColorModel cm, SampleModel sm) + { + return null; + } +} diff --git a/libjava/classpath/gnu/java/awt/ClasspathToolkit.java b/libjava/classpath/gnu/java/awt/ClasspathToolkit.java index 968cc3b..d78fbab 100644 --- a/libjava/classpath/gnu/java/awt/ClasspathToolkit.java +++ b/libjava/classpath/gnu/java/awt/ClasspathToolkit.java @@ -38,36 +38,28 @@ exception statement from your version. */ package gnu.java.awt; -import gnu.java.awt.EmbeddedWindow; +import gnu.java.awt.peer.ClasspathDesktopPeer; import gnu.java.awt.peer.ClasspathFontPeer; import gnu.java.awt.peer.EmbeddedWindowPeer; import gnu.java.security.action.SetAccessibleAction; import java.awt.AWTException; -import java.awt.Component; -import java.awt.Dimension; -import java.awt.DisplayMode; +import java.awt.Desktop; import java.awt.Font; -import java.awt.FontMetrics; +import java.awt.FontFormatException; import java.awt.GraphicsDevice; import java.awt.GraphicsEnvironment; -import java.awt.Image; -import java.awt.Point; +import java.awt.HeadlessException; import java.awt.Toolkit; -import java.awt.font.FontRenderContext; -import java.awt.image.ColorModel; -import java.awt.image.ImageProducer; +import java.awt.font.TextAttribute; +import java.awt.peer.DesktopPeer; import java.awt.peer.RobotPeer; -import java.io.File; +import java.io.IOException; import java.io.InputStream; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; -import java.net.MalformedURLException; -import java.net.URL; -import java.text.AttributedString; -import java.util.HashMap; -import java.util.Map; import java.security.AccessController; +import java.util.Map; import javax.imageio.spi.IIORegistry; @@ -118,7 +110,8 @@ public abstract class ClasspathToolkit * this font peer should have, such as size, weight, family name, or * transformation. */ - public abstract ClasspathFontPeer getClasspathFontPeer (String name, Map attrs); + public abstract ClasspathFontPeer getClasspathFontPeer (String name, + Map attrs); /** * Creates a {@link Font}, in a platform-specific manner. @@ -137,9 +130,8 @@ public abstract class ClasspathToolkit try { Constructor fontConstructor = Font.class.getDeclaredConstructor - (new Class[] { String.class, Map.class }); - AccessController.doPrivileged - (new SetAccessibleAction(fontConstructor)); + (new Class[] { String.class, Map.class }); + AccessController.doPrivileged(new SetAccessibleAction(fontConstructor)); f = (Font) fontConstructor.newInstance(new Object[] { name, attrs }); } catch (IllegalAccessException e) @@ -224,5 +216,18 @@ public abstract class ClasspathToolkit { return -1; } + + /* (non-Javadoc) + * @see java.awt.Toolkit#createDesktopPeer(java.awt.Desktop) + */ + protected DesktopPeer createDesktopPeer(Desktop target) + throws HeadlessException + { + if (GraphicsEnvironment.isHeadless()) + throw new HeadlessException(); + + return ClasspathDesktopPeer.getDesktop(); + } + } diff --git a/libjava/classpath/gnu/java/awt/font/FontDelegate.java b/libjava/classpath/gnu/java/awt/font/FontDelegate.java index a26510e..030f9d3 100644 --- a/libjava/classpath/gnu/java/awt/font/FontDelegate.java +++ b/libjava/classpath/gnu/java/awt/font/FontDelegate.java @@ -61,6 +61,13 @@ import java.util.Locale; */ public interface FontDelegate { + public static final int FLAG_FITTED = 1 << 0; + public static final int FLAG_NO_HINT_HORIZONTAL = 1 << 1; + public static final int FLAG_NO_HINT_VERTICAL = 1 << 2; + public static final int FLAG_NO_HINT_EDGE_POINTS = 1 << 3; + public static final int FLAG_NO_HINT_STRONG_POINTS = 1 << 4; + public static final int FLAG_NO_HINT_WEAK_POINTS = 1 << 5; + /** * Returns the full name of this font face in the specified * locale, for example “Univers Light”. @@ -221,7 +228,8 @@ public interface FontDelegate float pointSize, AffineTransform transform, boolean antialias, - boolean fractionalMetrics); + boolean fractionalMetrics, + int type); /** diff --git a/libjava/classpath/gnu/java/awt/font/GNUGlyphVector.java b/libjava/classpath/gnu/java/awt/font/GNUGlyphVector.java index f17a451..2f73dce 100644 --- a/libjava/classpath/gnu/java/awt/font/GNUGlyphVector.java +++ b/libjava/classpath/gnu/java/awt/font/GNUGlyphVector.java @@ -164,7 +164,9 @@ public class GNUGlyphVector renderContext.usesFractionalMetrics(), /* horizontal */ true, advance); - pos[p] = x += advance.x; + // FIXME: We shouldn't round here, but instead hint the metrics + // correctly. + pos[p] = x += Math.round(advance.x); pos[p + 1] = y += advance.y; } valid = true; @@ -284,6 +286,22 @@ public class GNUGlyphVector return outline; } + public Shape getOutline(float x, float y, int type) + { + validate(); + + GeneralPath outline = new GeneralPath(); + int len = glyphs.length; + for (int i = 0; i < len; i++) + { + GeneralPath p = new GeneralPath(getGlyphOutline(i, type)); + outline.append(p, false); + } + AffineTransform t = new AffineTransform(); + t.translate(x, y); + outline.transform(t); + return outline; + } /** * Determines the shape of the specified glyph. @@ -309,7 +327,8 @@ public class GNUGlyphVector path = fontDelegate.getGlyphOutline(glyphs[glyphIndex], fontSize, tx, renderContext.isAntiAliased(), - renderContext.usesFractionalMetrics()); + renderContext.usesFractionalMetrics(), + FontDelegate.FLAG_FITTED); tx = new AffineTransform(); tx.translate(pos[glyphIndex * 2], pos[glyphIndex * 2 + 1]); @@ -317,6 +336,32 @@ public class GNUGlyphVector return path; } + public Shape getGlyphOutline(int glyphIndex, int type) + { + AffineTransform tx, glyphTx; + GeneralPath path; + + validate(); + + if ((transforms != null) + && ((glyphTx = transforms[glyphIndex]) != null)) + { + tx = new AffineTransform(transform); + tx.concatenate(glyphTx); + } + else + tx = transform; + + path = fontDelegate.getGlyphOutline(glyphs[glyphIndex], fontSize, tx, + renderContext.isAntiAliased(), + renderContext.usesFractionalMetrics(), + type); + + tx = new AffineTransform(); + tx.translate(pos[glyphIndex * 2], pos[glyphIndex * 2 + 1]); + path.transform(tx); + return path; + } /** * Determines the position of the specified glyph, or the diff --git a/libjava/classpath/gnu/java/awt/font/autofit/AutoHinter.java b/libjava/classpath/gnu/java/awt/font/autofit/AutoHinter.java new file mode 100644 index 0000000..b0420ab --- /dev/null +++ b/libjava/classpath/gnu/java/awt/font/autofit/AutoHinter.java @@ -0,0 +1,83 @@ +/* AutoHinter.java -- The entry point into the hinter implementation. + Copyright (C) 2006 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 gnu.java.awt.font.autofit; + +import gnu.java.awt.font.opentype.Hinter; +import gnu.java.awt.font.opentype.OpenTypeFont; +import gnu.java.awt.font.opentype.truetype.Fixed; +import gnu.java.awt.font.opentype.truetype.Zone; + +/** + * The public interface to the automatic gridfitter. + */ +public class AutoHinter + implements Hinter +{ + Latin latinScript; + LatinMetrics metrics; + GlyphHints hints; + + HintScaler scaler = new HintScaler(); + public void init(OpenTypeFont font) + { + // TODO: Should support other scripts too. + latinScript = new Latin(); + metrics = new LatinMetrics(font); + latinScript.initMetrics(metrics, font); + scaler.face = font; + } + + public void applyHints(Zone outline) + { + if (hints == null) + hints = new GlyphHints(); + scaler.xScale = Fixed.valueOf16(outline.scaleX * 64); + scaler.yScale = Fixed.valueOf16(outline.scaleY * 64); + latinScript.scaleMetrics(metrics, scaler); + latinScript.applyHints(hints, outline, metrics); + } + + public void setFlags(int flags) + { + if (hints == null) + hints = new GlyphHints(); + hints.flags = flags; + } + +} diff --git a/libjava/classpath/gnu/java/awt/font/autofit/AxisHints.java b/libjava/classpath/gnu/java/awt/font/autofit/AxisHints.java index b2c9912..87f2abc 100644 --- a/libjava/classpath/gnu/java/awt/font/autofit/AxisHints.java +++ b/libjava/classpath/gnu/java/awt/font/autofit/AxisHints.java @@ -1,4 +1,4 @@ -/* AxisHints.java -- FIXME: briefly describe file purpose +/* AxisHints.java -- Hints specific to an axis Copyright (C) 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -42,4 +42,71 @@ class AxisHints { Segment[] segments; + int majorDir; + int numSegments; + int numEdges; + Edge[] edges; + + AxisHints() + { + segments = new Segment[4]; + edges = new Edge[4]; + } + + Segment newSegment() + { + if (numSegments >= segments.length) + { + // Grow array. + int newMax = segments.length; + newMax += (newMax >> 2) + 4; // From FreeType. + Segment[] newSegs = new Segment[newMax]; + System.arraycopy(segments, 0, newSegs, 0, numSegments); + segments = newSegs; + } + Segment seg = new Segment(); + segments[numSegments] = seg; + numSegments++; + return seg; + } + + public Edge newEdge(int pos) + { + if (numEdges >= edges.length) + { + // Grow array. + int newMax = edges.length; + newMax += (newMax >> 2) + 4; // From FreeType. + Edge[] newEdges = new Edge[newMax]; + System.arraycopy(edges, 0, newEdges, 0, numEdges); + edges = newEdges; + } + int edgeIndex = numEdges; + Edge edge = edges[edgeIndex] = new Edge(); + while (edgeIndex > 0 && edges[edgeIndex - 1].fpos > pos) + { + edges[edgeIndex] = edges[edgeIndex - 1]; + edgeIndex--; + } + edges[edgeIndex] = edge; + numEdges++; + edge.fpos = pos; + + return edge; + + } + + int getEdgeIndex(Edge edge2) + { + int idx = -1; + for (int i = 0; i < numEdges; i++) + { + if (edges[i] == edge2) + { + idx = i; + break; + } + } + return idx; + } } diff --git a/libjava/classpath/gnu/java/awt/font/autofit/Constants.java b/libjava/classpath/gnu/java/awt/font/autofit/Constants.java index cb39928..c5b90fa 100644 --- a/libjava/classpath/gnu/java/awt/font/autofit/Constants.java +++ b/libjava/classpath/gnu/java/awt/font/autofit/Constants.java @@ -58,4 +58,29 @@ interface Constants * The number of dimensions. */ static final int DIMENSION_MAX = 2; + + /** + * Indicates a vector with no specific direction. + */ + static final int DIR_NONE = 0; + + /** + * Right direction. + */ + static final int DIR_RIGHT = 1; + + /** + * Left direction. + */ + static final int DIR_LEFT = -1; + + /** + * Up direction. + */ + static final int DIR_UP = 2; + + /** + * Down direction. + */ + static final int DIR_DOWN = -2; } diff --git a/libjava/classpath/gnu/java/awt/font/autofit/Edge.java b/libjava/classpath/gnu/java/awt/font/autofit/Edge.java new file mode 100644 index 0000000..d973665 --- /dev/null +++ b/libjava/classpath/gnu/java/awt/font/autofit/Edge.java @@ -0,0 +1,80 @@ +/* Edge.java -- An edge of segments + Copyright (C) 2006 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 gnu.java.awt.font.autofit; + +class Edge +{ + int fpos; + Segment first; + Segment last; + int opos; + Edge link; + Edge serif; + int flags; + int dir; + Width blueEdge; + int pos; + int scale; + + public String toString() + { + StringBuilder s = new StringBuilder(); + s.append("[Edge] id"); + s.append(hashCode()); + s.append(", fpos: "); + s.append(fpos); + s.append(", opos: "); + s.append(opos); + s.append(", pos: "); + s.append(pos); + s.append(", dir: "); + s.append(dir); + s.append(", serif: "); + s.append(serif != null ? serif.hashCode() : "null"); + s.append(", link: "); + s.append(link != null ? link.hashCode() : "null"); + s.append(", flags: " + flags); + s.append(", blue: " + blueEdge); + s.append(", first: "); + s.append(first == null ? "null" : first.hashCode()); + s.append(", last: "); + s.append(last == null ? "null" : last.hashCode()); + return s.toString(); + } +} diff --git a/libjava/classpath/gnu/java/awt/font/autofit/GlyphHints.java b/libjava/classpath/gnu/java/awt/font/autofit/GlyphHints.java index ad73a04..72f07ed 100644 --- a/libjava/classpath/gnu/java/awt/font/autofit/GlyphHints.java +++ b/libjava/classpath/gnu/java/awt/font/autofit/GlyphHints.java @@ -38,12 +38,16 @@ exception statement from your version. */ package gnu.java.awt.font.autofit; +import gnu.java.awt.font.FontDelegate; +import gnu.java.awt.font.opentype.truetype.Fixed; +import gnu.java.awt.font.opentype.truetype.Point; import gnu.java.awt.font.opentype.truetype.Zone; /** * The data and methods used for the actual hinting process. */ class GlyphHints + implements Constants { int xScale; @@ -53,23 +57,584 @@ class GlyphHints AxisHints[] axis; - void rescale(ScriptMetrics metrics) + Point[] points; + int numPoints; + int maxPoints; + + Point[] contours; + int numContours; + int maxContours; + + ScriptMetrics metrics; + + int flags; + + GlyphHints() + { + axis = new AxisHints[Constants.DIMENSION_MAX]; + axis[Constants.DIMENSION_VERT] = new AxisHints(); + axis[Constants.DIMENSION_HORZ] = new AxisHints(); + + xScale = Fixed.ONE; + yScale = Fixed.ONE; + } + + void rescale(ScriptMetrics m) { - // TODO: Implement. + metrics = m; + // TODO: Copy scalerFlags. } void reload(Zone outline) { - // TODO: Implement. + numPoints = 0; + numContours = 0; + axis[0].numSegments = 0; + axis[0].numEdges = 0; + axis[1].numSegments = 0; + axis[1].numEdges = 0; + + // Create/reallocate the contours array. + int newMax = outline.getNumContours(); + if (newMax > maxContours || contours == null) + { + newMax = (newMax + 3) & ~3; // Taken from afhints.c . + Point[] newContours = new Point[newMax]; + if (contours != null) + { + System.arraycopy(contours, 0, newContours, 0, maxContours); + } + contours = newContours; + maxContours = newMax; + } + + // Create/reallocate the points array. + newMax = outline.getSize() + 2; + if (newMax > maxPoints || points == null) + { + newMax = (newMax + 2 + 7) & ~7; // Taken from afhints.c . + Point[] newPoints = new Point[newMax]; + if (points != null) + { + System.arraycopy(points, 0, newPoints, 0, maxPoints); + } + points = newPoints; + maxPoints = newMax; + } + + numPoints = outline.getSize() - 4; // 4 phantom points. + numContours = outline.getNumContours(); + + // Set major direction. We don't handle Type 1 fonts yet. + axis[DIMENSION_HORZ].majorDir = DIR_UP; + axis[DIMENSION_VERT].majorDir = DIR_LEFT; + + // TODO: Freetype seems to scale and translate the glyph at that point. + // I suppose that this is not really needed. + // The scales are scaling from font units to 1/64 device pixels. + xScale = Fixed.valueOf16(outline.scaleX * 64); + yScale = Fixed.valueOf16(outline.scaleY * 64); + + // FIXME: What is that xDelta and yDelta used for? + System.arraycopy(outline.getPoints(), 0, points, 0, numPoints); + + // Setup prev and next and contours array. + // TODO: Probably cache this. + contours = new Point[numContours]; + Point currentContour = points[0]; + for (int i = 0, cIndex = 0; i < numPoints; i++) + { + // Start new contour when the last point has been a contour end. + if (outline.isContourEnd(i)) + { + // Connect the contour end point to the start point. + points[i].setNext(currentContour); + currentContour.setPrev(points[i]); + contours[cIndex] = currentContour; + cIndex++; + currentContour = i < numPoints - 1 ? points[i + 1] : null; + } + else + { + // Connect the current and the previous point. + points[i].setNext(points[i + 1]); + points[i + 1].setPrev(points[i]); + } + } + // Compute directions of in and out vectors of all points as well + // as the weak point flag. + for (int i = 0; i < numPoints; i++) + { + // Compute in and out dir. + Point p = points[i]; + Point prev = p.getPrev(); + int inX = p.getOrigX() - prev.getOrigX(); + int inY = p.getOrigY() - prev.getOrigY(); + p.setInDir(Utils.computeDirection(inX, inY)); + Point next = p.getNext(); + int outX = next.getOrigX() - p.getOrigX(); + int outY = next.getOrigY() - p.getOrigY(); + p.setOutDir(Utils.computeDirection(outX, outY)); + + if (p.isControlPoint()) + { + setWeakPoint(p); + } + else if (p.getOutDir() == p.getInDir()) + { + if (p.getOutDir() != DIR_NONE) + setWeakPoint(p); + else + { + int angleIn = Utils.atan(inY, inX); + int angleOut = Utils.atan(outY, outX); + int delta = Utils.angleDiff(angleIn, angleOut); + if (delta < 2 && delta > -2) + setWeakPoint(p); + } + } + else if (p.getInDir() == - p.getOutDir()) + { + setWeakPoint(p); + } + } + computeInflectionPoints(); + } + + private void setWeakPoint(Point p) + { + p.setFlags((byte) (p.getFlags() | Point.FLAG_WEAK_INTERPOLATION)); + } + + /** + * Computes the inflection points for a glyph. + */ + private void computeInflectionPoints() + { + // Do each contour separately. + contours : for (int c = 0; c < contours.length; c++) + { + Point point = contours[c]; + Point first = point; + Point start = point; + Point end = point; + do + { + end = end.getNext(); + if (end == first) + continue contours; + } while (end.getOrigX() == first.getOrigX() + && end.getOrigY() == first.getOrigY()); + + // Extend segment start whenever possible. + Point before = start; + int angleIn; + int angleSeg = Utils.atan(end.getOrigX() - start.getOrigX(), + end.getOrigY() - start.getOrigY()); + do + { + do + { + start = before; + before = before.getPrev(); + if (before == first) + continue contours; + } while (before.getOrigX() == start.getOrigX() + && before.getOrigY() == start.getOrigY()); + angleIn = Utils.atan(start.getOrigX() - before.getOrigX(), + start.getOrigY() - before.getOrigY()); + } while (angleIn == angleSeg); + + first = start; + int diffIn = Utils.angleDiff(angleIn, angleSeg); + // Now, process all segments in the contour. + Point after; + boolean finished = false; + int angleOut, diffOut; + do + { + // First, extend the current segment's end whenever possible. + after = end; + do + { + do + { + end = after; + after = after.getNext(); + if (after == first) + finished = true; + } while (end.getOrigX() == after.getOrigX() + && end.getOrigY() == after.getOrigY()); + angleOut = Utils.atan(after.getOrigX() - end.getOrigX(), + after.getOrigY() - end.getOrigY()); + } while (angleOut == angleSeg); + diffOut = Utils.angleDiff(angleSeg, angleOut); + if ((diffIn ^ diffOut) < 0) + { + // diffIn and diffOut have different signs, we have + // inflection points here. + do + { + start.addFlags(Point.FLAG_INFLECTION); + start = start.getNext(); + } while (start != end); + start.addFlags(Point.FLAG_INFLECTION); + } + start = end; + end = after; + angleSeg = angleOut; + diffIn = diffOut; + } while (! finished); + } + } + + boolean doHorizontal() + { + return (flags & FontDelegate.FLAG_NO_HINT_HORIZONTAL) == 0; + } + + boolean doVertical() + { + return (flags & FontDelegate.FLAG_NO_HINT_VERTICAL) == 0; + } + + void alignWeakPoints(int dim) + { + short touchFlag; + Point point; + // PASS 1 : Move segments to edge positions. + if (dim == DIMENSION_HORZ) + { + touchFlag = Point.FLAG_DONE_X; + for (int p = 0; p < numPoints; p++) + { + point = points[p]; + point.setU(point.getX()); + point.setV(point.getScaledX()); + } + } + else + { + touchFlag = Point.FLAG_DONE_Y; + for (int p = 0; p < numPoints; p++) + { + point = points[p]; + point.setU(point.getY()); + point.setV(point.getScaledY()); + } + } + point = points[0]; + for (int c = 0; c < numContours; c++) + { + point = contours[c]; + int idx = getPointIndex(point); + Point endPoint = point.getPrev(); + int endIdx = getPointIndex(endPoint); + int firstIdx = idx; + while (idx <= endIdx + && (point.getFlags() & touchFlag) == 0) + { + idx++; + point = points[idx]; + } + if (idx <= endIdx) + { + int firstTouched = idx; + int curTouched = idx; + idx++; + point = points[idx]; + while (idx <= endIdx) + { + if ((point.getFlags() & touchFlag) != 0) + { + // We found two successive touch points. We interpolate + // all contour points between them. + iupInterp(curTouched + 1, idx - 1, curTouched, idx); + curTouched = idx; + } + idx++; + point = points[idx]; + } + if (curTouched == firstTouched) + { + // This is a special case: Only one point was touched in the + // contour. We thus simply shift the whole contour. + iupShift(firstIdx, endIdx, curTouched); + } + else + { + // Now interpolate after the last touched point to the end + // of the contour. + iupInterp(curTouched + 1, endIdx, curTouched, firstTouched); + // If the first contour point isn't touched, interpolate + // from the contour start to the first touched point. + if (firstTouched > 0) + { + iupInterp(firstIdx, firstTouched - 1, curTouched, + firstTouched); + } + } + } + } + // Now store the values back. + if (dim == DIMENSION_HORZ) + { + for (int p = 0; p < numPoints; p++) + { + point = points[p]; + point.setX(point.getU()); + } + } + else + { + for (int p = 0; p < numPoints; p++) + { + point = points[p]; + point.setY(point.getU()); + } + } + } + + private void iupShift(int p1, int p2, int ref) + { + int delta = points[ref].getU() - points[ref].getV(); + for (int p = p1; p < ref; p++) + { + points[p].setU(points[p].getV() + delta); + } + for (int p = ref + 1; p <= p2; p++) + { + points[p].setU(points[p].getV() + delta); + } + } + + private void iupInterp(int p1, int p2, int ref1, int ref2) + { + int v1 = points[ref1].getV(); + int v2 = points[ref2].getV(); + int d1 = points[ref1].getU() - v1; + int d2 = points[ref2].getU() - v2; + if (p1 > p2) + return; + if (v1 == v2) + { + for (int p = p1; p <= p2; p++) + { + int u = points[p].getV(); + if (u <= v1) + u += d1; + else + u += d2; + points[p].setU(u); + } + } + else if (v1 < v2) + { + for (int p = p1; p <= p2; p++) + { + int u = points[p].getV(); + if (u <= v1) + u += d1; + else if (u >= v2) + u += d2; + else + { + u = points[ref1].getU() + Utils.mulDiv(u - v1, + points[ref2].getU() + - points[ref1].getU(), + v2 - v1); + } + points[p].setU(u); + } + } + else + { + for (int p = p1; p <= p2; p++) + { + int u = points[p].getV(); + if (u <= v2) + u += d2; + else if (u >= v1) + u += d1; + else + { + u = points[ref1].getU() + Utils.mulDiv(u - v1, + points[ref2].getU() + - points[ref1].getU(), + v2 - v1); + } + points[p].setU(u); + } + } + } + + void alignStrongPoints(int dim) + { + AxisHints ax = axis[dim]; + Edge[] edges = ax.edges; + int numEdges = ax.numEdges; + short touchFlag; + if (dim == DIMENSION_HORZ) + touchFlag = Point.FLAG_DONE_X; + else + touchFlag = Point.FLAG_DONE_Y; + + if (numEdges > 0) + { + for (int p = 0; p < numPoints; p++) + { + Point point = points[p]; + if ((point.getFlags() & touchFlag) != 0) + continue; + // If this point is a candidate for weak interpolation, we + // interpolate it after all strong points have been processed. + if ((point.getFlags() & Point.FLAG_WEAK_INTERPOLATION) != 0 + && (point.getFlags() & Point.FLAG_INFLECTION) == 0) + continue; + + int u, ou, fu, delta; + if (dim == DIMENSION_VERT) + { + u = point.getOrigY(); + ou = point.getScaledY(); + } + else + { + u = point.getOrigX(); + ou = point.getScaledX(); + } + fu = u; + // Is the point before the first edge? + Edge edge = edges[0]; + // Inversed vertical dimension. + delta = edge.fpos - u; + if (delta >= 0) + { + u = edge.pos - (edge.opos - ou); + storePoint(point, u, dim, touchFlag); + } + else + { + // Is the point after the last edge? + edge = edges[numEdges - 1]; + delta = u - edge.fpos; + if (delta >= 0) + { + u = edge.pos + (ou - edge.opos); + storePoint(point, u, dim, touchFlag); + } + else + { + // Find enclosing edges. + int min = 0; + int max = numEdges; + int mid, fpos; + boolean found = false; + while (min < max) + { + mid = (max + min) / 2; + edge = edges[mid]; + fpos = edge.fpos; + if (u < fpos) + max = mid; + else if (u > fpos) + min = mid + 1; + else + { + // Directly on the edge. + u = edge.pos; + storePoint(point, u, dim, touchFlag); + found = true; + break; + } + } + if (! found) + { + Edge before = edges[min - 1]; + Edge after = edges[min]; + if (before.scale == 0) + { + before.scale = Fixed.div16(after.pos - before.pos, + after.fpos - before.fpos); + } + u = before.pos + Fixed.mul16(fu - before.fpos, + before.scale); + } + storePoint(point, u, dim, touchFlag); + } + } + } + } + } + + private void storePoint(Point p, int u, int dim, short touchFlag) + { + if (dim == DIMENSION_HORZ) + p.setX(u); + else + p.setY(u); + p.addFlags(touchFlag); + } + + void alignEdgePoints(int dim) + { + AxisHints ax = axis[dim]; + Edge[] edges = ax.edges; + int numEdges = ax.numEdges; + for (int e = 0; e < numEdges; e++) + { + Edge edge = edges[e]; + Segment seg = edge.first; + do + { + Point point = seg.first; + while (true) + { + if (dim == DIMENSION_HORZ) + { + point.setX(edge.pos); + point.addFlags(Point.FLAG_DONE_X); + } + else + { + point.setY(edge.pos); + point.addFlags(Point.FLAG_DONE_Y); + } + if (point == seg.last) + break; + point = point.getNext(); + } + seg = seg.edgeNext; + } while (seg != edge.first); + } + } + + private int getPointIndex(Point p) + { + int idx = -1; + for (int i = 0; i < numPoints; i++) + { + if (p == points[i]) + { + idx = i; + break; + } + } + return idx; + } + + public boolean doAlignEdgePoints() + { + return (flags & FontDelegate.FLAG_NO_HINT_EDGE_POINTS) == 0; } - void computeSegments(int dim) + public boolean doAlignStrongPoints() { - // TODO: Implement. + return (flags & FontDelegate.FLAG_NO_HINT_STRONG_POINTS) == 0; } - void linkSegments(int dim) + public boolean doAlignWeakPoints() { - // TODO: Implement. + return (flags & FontDelegate.FLAG_NO_HINT_WEAK_POINTS) == 0; } } diff --git a/libjava/classpath/gnu/java/awt/font/autofit/HintScaler.java b/libjava/classpath/gnu/java/awt/font/autofit/HintScaler.java new file mode 100644 index 0000000..01276b4 --- /dev/null +++ b/libjava/classpath/gnu/java/awt/font/autofit/HintScaler.java @@ -0,0 +1,53 @@ +/* Scaler.java -- FIXME: briefly describe file purpose + Copyright (C) 2006 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 gnu.java.awt.font.autofit; + +import gnu.java.awt.font.opentype.OpenTypeFont; + +class HintScaler +{ + + int xScale; + int xDelta; + int yScale; + int yDelta; + OpenTypeFont face; + int renderMode; + +} diff --git a/libjava/classpath/gnu/java/awt/font/autofit/Latin.java b/libjava/classpath/gnu/java/awt/font/autofit/Latin.java index 0352b41..8951e8b 100644 --- a/libjava/classpath/gnu/java/awt/font/autofit/Latin.java +++ b/libjava/classpath/gnu/java/awt/font/autofit/Latin.java @@ -39,8 +39,11 @@ exception statement from your version. */ package gnu.java.awt.font.autofit; import java.awt.geom.AffineTransform; +import java.util.HashSet; import gnu.java.awt.font.opentype.OpenTypeFont; +import gnu.java.awt.font.opentype.truetype.Fixed; +import gnu.java.awt.font.opentype.truetype.Point; import gnu.java.awt.font.opentype.truetype.Zone; /** @@ -50,12 +53,476 @@ class Latin implements Script, Constants { - private static final int MAX_WIDTHS = 16; + static final int MAX_WIDTHS = 16; - public void applyHints(GlyphHints hints, ScriptMetrics metrics) + private final static int MAX_TEST_CHARS = 12; + + /** + * The types of the 6 blue zones. + */ + private static final int CAPITAL_TOP = 0; + private static final int CAPITAL_BOTTOM = 1; + private static final int SMALL_F_TOP = 2; + private static final int SMALL_TOP = 3; + private static final int SMALL_BOTTOM = 4; + private static final int SMALL_MINOR = 5; + static final int BLUE_MAX = 6; + + /** + * The test chars for the blue zones. + * + * @see #initBlues(LatinMetrics, OpenTypeFont) + */ + private static final String[] TEST_CHARS = + new String[]{"THEZOCQS", "HEZLOCUS", "fijkdbh", + "xzroesc", "xzroesc", "pqgjy"}; + + public void applyHints(GlyphHints hints, Zone outline, ScriptMetrics metrics) + { + hints.reload(outline); + hints.rescale(metrics); + if (hints.doHorizontal()) + { + detectFeatures(hints, DIMENSION_HORZ); + } + if (hints.doVertical()) + { + detectFeatures(hints, DIMENSION_VERT); + computeBlueEdges(hints, (LatinMetrics) metrics); + } + // Grid-fit the outline. + for (int dim = 0; dim < DIMENSION_MAX; dim++) + { + if (dim == DIMENSION_HORZ && hints.doHorizontal() + || dim == DIMENSION_VERT && hints.doVertical()) + { + hintEdges(hints, dim); + if (hints.doAlignEdgePoints()) + hints.alignEdgePoints(dim); + if (hints.doAlignStrongPoints()) + hints.alignStrongPoints(dim); + if (hints.doAlignWeakPoints()) + hints.alignWeakPoints(dim); + + } + } + // FreeType does a save call here. I guess that's not needed as we operate + // on the live glyph data anyway. + } + + private void hintEdges(GlyphHints hints, int dim) + { + AxisHints axis = hints.axis[dim]; + Edge[] edges = axis.edges; + int numEdges = axis.numEdges; + Edge anchor = null; + int hasSerifs = 0; + + // We begin by aligning all stems relative to the blue zone if + // needed -- that's only for horizontal edges. + if (dim == DIMENSION_VERT) + { + for (int e = 0; e < numEdges; e++) + { + Edge edge = edges[e]; + if ((edge.flags & Segment.FLAG_EDGE_DONE) != 0) + continue; + + Width blue = edge.blueEdge; + Edge edge1 = null; + Edge edge2 = edge.link; + if (blue != null) + { + edge1 = edge; + } + else if (edge2 != null && edge2.blueEdge != null) + { + blue = edge2.blueEdge; + edge1 = edge2; + edge2 = edge; + } + if (edge1 == null) + continue; + + edge1.pos = blue.fit; + edge1.flags |= Segment.FLAG_EDGE_DONE; + + if (edge2 != null && edge2.blueEdge == null) + { + alignLinkedEdge(hints, dim, edge1, edge2); + edge2.flags |= Segment.FLAG_EDGE_DONE; + } + if (anchor == null) + anchor = edge; + } + } + + // Now we will align all stem edges, trying to maintain the + // relative order of stems in the glyph. + for (int e = 0; e < numEdges; e++) + { + Edge edge = edges[e]; + if ((edge.flags & Segment.FLAG_EDGE_DONE) != 0) + continue; + Edge edge2 = edge.link; + if (edge2 == null) + { + hasSerifs++; + continue; + } + // Now align the stem. + // This should not happen, but it's better to be safe. + if (edge2.blueEdge != null || axis.getEdgeIndex(edge2) < e) + { + alignLinkedEdge(hints, dim, edge2, edge); + edge.flags |= Segment.FLAG_EDGE_DONE; + continue; + } + + if (anchor == null) + { + int orgLen = edge2.opos - edge.opos; + int curLen = computeStemWidth(hints, dim, orgLen, edge.flags, + edge2.flags); + int uOff, dOff, orgCenter, curPos1, error1, error2; + if (curLen <= 64) // < 1 Pixel. + { + uOff = 32; + dOff = 32; + } + else + { + uOff = 38; + dOff = 26; + } + if (curLen < 96) + { + orgCenter = edge.opos + (orgLen >> 1); + curPos1 = Utils.pixRound(orgCenter); + error1 = orgCenter - (curPos1 - uOff); + if (error1 < 0) + error1 = -error1; + error2 = orgCenter - (curPos1 + dOff); + if (error2 < 0) + error2 = -error2; + if (error1 < error2) + { + curPos1 -= uOff; + } + else + { + curPos1 += dOff; + } + edge.pos = curPos1 - curLen / 2; + edge2.pos = curPos1 + curLen / 2; + } + else + { + edge.pos = Utils.pixRound(edge.opos); + } + anchor = edge; + edge.flags |= Segment.FLAG_EDGE_DONE; + alignLinkedEdge(hints, dim, edge, edge2); + } + else + { + int aDiff = edge.opos - anchor.opos; + int orgPos = anchor.pos + aDiff; + int orgLen = edge2.opos - edge.opos; + int orgCenter = orgPos + (orgLen >> 1); + int curLen = computeStemWidth(hints, dim, orgLen, edge.flags, + edge2.flags); + //System.err.println("stem width: " + curLen); + if (curLen < 96) + { + int uOff, dOff; + int curPos1 = Utils.pixRound(orgCenter); + if (curLen <= 64) + { + uOff = 32; + dOff = 32; + } + else + { + uOff = 38; + dOff = 26; + } + int delta1 = orgCenter - (curPos1 - uOff); + if (delta1 < 0) + delta1 = -delta1; + int delta2 = orgCenter - (curPos1 + dOff); + if (delta2 < 0) + delta2 = -delta2; + if (delta1 < delta2) + { + curPos1 -= uOff; + } + else + { + curPos1 += dOff; + } + edge.pos = curPos1 - curLen / 2; + edge2.pos = curPos1 + curLen / 2; + } + else + { + orgPos = anchor.pos + (edge.opos - anchor.opos); + orgLen = edge2.opos - edge.opos; + orgCenter = orgPos + (orgLen >> 1); + curLen = computeStemWidth(hints, dim, orgLen, edge.flags, + edge2.flags); + int curPos1 = Utils.pixRound(orgPos); + int delta1 = curPos1 + (curLen >> 1) - orgCenter; + if (delta1 < 0) + delta1 = -delta1; + int curPos2 = Utils.pixRound(orgPos + orgLen) - curLen; + int delta2 = curPos2 + (curLen >> 1) - orgCenter; + if (delta2 < 0) + delta2 = -delta2; + edge.pos = (delta1 < delta2) ? curPos1 : curPos2; + edge2.pos = edge.pos + curLen; + } + edge.flags |= Segment.FLAG_EDGE_DONE; + edge2.flags |= Segment.FLAG_EDGE_DONE; + + if (e > 0 && edge.pos < edges[e - 1].pos) + { + edge.pos = edges[e - 1].pos; + } + } + } + // TODO: Implement the lowercase m symmetry thing. + + // Now we hint the remaining edges (serifs and singles) in order + // to complete our processing. + if (hasSerifs > 0 || anchor == null) + { + for (int e = 0; e < numEdges; e++) + { + Edge edge = edges[e]; + if ((edge.flags & Segment.FLAG_EDGE_DONE) != 0) + continue; + if (edge.serif != null) + { + alignSerifEdge(hints, edge.serif, edge); + } + else if (anchor == null) + { + edge.pos = Utils.pixRound(edge.opos); + anchor = edge; + } + else + { + edge.pos = anchor.pos + + Utils.pixRound(edge.opos - anchor.opos); + } + edge.flags |= Segment.FLAG_EDGE_DONE; + + if (e > 0 && edge.pos < edges[e - 1].pos) + { + edge.pos = edges[e - 1].pos; + } + if (e + 1 < numEdges + && (edges[e + 1].flags & Segment.FLAG_EDGE_DONE) != 0 + && edge.pos > edges[e + 1].pos) + { + edge.pos = edges[e + 1].pos; + } + } + } + + // Debug: print all hinted edges. + // System.err.println("hinted edges: " ); + // for (int i = 0; i < numEdges; i++) + // { + // System.err.println("edge#" + i + ": " + edges[i]); + // } + } + + private void alignSerifEdge(GlyphHints hints, Edge base, Edge serif) + { + serif.pos = base.pos + (serif.opos - base.opos); + } + + private int computeStemWidth(GlyphHints hints, int dim, int width, + int baseFlags, int stemFlags) + { + LatinMetrics metrics = (LatinMetrics) hints.metrics; + LatinAxis axis = metrics.axis[dim]; + int dist = width; + int sign = 0; + boolean vertical = dim == DIMENSION_VERT; + if (! doStemAdjust(hints)) + return width; + if (dist < 0) + { + dist = -width; + sign = 1; + } + if ((vertical && ! doVertSnap(hints)) || ! vertical && ! doHorzSnap(hints)) + { + // Smooth hinting process. Very lightly quantize the stem width. + // Leave the widths of serifs alone. + if ((stemFlags & Segment.FLAG_EDGE_SERIF) != 0 && vertical + && dist < 3 * 64) + { + return doneWidth(dist, sign); + } + else if ((baseFlags & Segment.FLAG_EDGE_ROUND) != 0) + { + if (dist < 80) + dist = 64; + } + else if (dist < 56) + { + dist = 56; + } + if (axis.widthCount > 0) + { + int delta; + if (axis.widthCount > 0) + { + delta = dist - axis.widths[0].cur; + if (delta < 0) + { + delta = -delta; + } + if (delta < 40) + { + dist = axis.widths[0].cur; + if (dist < 48) + dist = 48; + return doneWidth(dist, sign); + } + } + if (dist < 3 * 64) // < 3 pixels. + { + delta = dist & 63; + dist &= -64; + if (delta < 10) + dist += delta; + else if (delta < 32) + dist += 10; + else if (delta < 54) + dist += 54; + else + dist += delta; + + } + else + { + dist = (dist + 32) & ~63; + } + } + } + else + { + // Strong hinting process: Snap the stem width to integer pixels. + dist = snapWidth(axis.widths, axis.widthCount, dist); + if (vertical) + { + // In the case of vertical hinting, always round + // the stem heights to integer pixels. + if (dist >= 64) + dist = (dist + 16) & ~63; + else + dist = 64; + } + else + { + if (doMono(hints)) + { + // Monochrome horizontal hinting: Snap widths to integer pixels + // with a different threshold. + if (dist < 64) + dist = 64; + else + dist = (dist + 32) & ~63; + } + else + { + // For anti-aliased hinting, we adopt a more subtle + // approach: We strengthen small stems, round those stems + // whose size is between 1 and 2 pixels to an integer, + // otherwise nothing. + if (dist < 48) + dist = (dist + 64) >> 1; + else if (dist < 128) + dist = (dist + 22) & ~63; + else + // Round otherwise to prevent color fringes in LCD mode. + dist = (dist + 32) & ~63; + } + } + } + return doneWidth(dist, sign); + } + + private boolean doMono(GlyphHints hints) + { + return true; + } + + private int snapWidth(Width[] widths, int count, int width) + { + int best = 64 + 32 + 2; + int reference = width; + for (int n = 0; n < count; n++) + { + int w = widths[n].cur; + int dist = width - w; + if (dist < 0) + dist = -dist; + if (dist < best) + { + best = dist; + reference = w; + } + } + int scaled = Utils.pixRound(reference); + if (width >= reference) + { + if (width < scaled + 48) + width = reference; + } + else + { + if (width > scaled + 48) + width = reference; + } + return width; + } + + private int doneWidth(int w, int s) + { + if (s == 1) + w = -w; + return w; + } + + private boolean doVertSnap(GlyphHints hints) + { + // TODO Auto-generated method stub + return true; + } + + private boolean doHorzSnap(GlyphHints hints) { // TODO Auto-generated method stub + return true; + } + private boolean doStemAdjust(GlyphHints hints) + { + // TODO Auto-generated method stub + return true; + } + + private void alignLinkedEdge(GlyphHints hints, int dim, Edge base, Edge stem) + { + int dist = stem.opos - base.opos; + int fitted = computeStemWidth(hints, dim, dist, base.flags, stem.flags); + stem.pos = base.pos + fitted; } public void doneMetrics(ScriptMetrics metrics) @@ -99,10 +566,119 @@ class Latin initBlues(lm, face); } - public void scaleMetrics(ScriptMetrics metrics) + public void scaleMetrics(ScriptMetrics metrics, HintScaler scaler) { - // TODO Auto-generated method stub + LatinMetrics lm = (LatinMetrics) metrics; + lm.scaler.renderMode = scaler.renderMode; + lm.scaler.face = scaler.face; + scaleMetricsDim(lm, scaler, DIMENSION_HORZ); + scaleMetricsDim(lm, scaler, DIMENSION_VERT); + } + private void scaleMetricsDim(LatinMetrics lm, HintScaler scaler, int dim) + { + int scale; + int delta; + if (dim == DIMENSION_HORZ) + { + scale = scaler.xScale; + delta = scaler.xDelta; + } + else + { + scale = scaler.yScale; + delta = scaler.yDelta; + } + LatinAxis axis = lm.axis[dim]; + if (axis.orgScale == scale && axis.orgDelta == delta) + // No change, no need to adjust. + return; + axis.orgScale = scale; + axis.orgDelta = delta; + + // Correct X and Y scale to optimize the alignment of the top small + // letters to the pixel grid. + LatinAxis axis2 = lm.axis[DIMENSION_VERT]; + LatinBlue blue = null; +// for (int nn = 0; nn < axis2.blueCount; nn++) +// { +// if ((axis2.blues[nn].flags & LatinBlue.FLAG_ADJUSTMENT) != 0) +// { +// blue = axis2.blues[nn]; +// break; +// } +// } +// if (blue != null) +// { +// int scaled = Fixed.mul16(blue.shoot.org, scaler.yScale); +// int fitted = Utils.pixRound(scaled); +// if (scaled != fitted) +// { +// if (dim == DIMENSION_HORZ) +// { +// if (fitted < scaled) +// { +// scale -= scale / 50; +// } +// } +// else +// { +// scale = Utils.mulDiv(scale, fitted, scaled); +// } +// } +// } + axis.scale = scale; + axis.delta = delta; + if (dim == DIMENSION_HORZ) + { + lm.scaler.xScale = scale; + lm.scaler.xDelta = delta; + } + else + { + lm.scaler.yScale = scale; + lm.scaler.yDelta = delta; + } + // Scale the standard widths. + for (int nn = 0; nn < axis.widthCount; nn++) + { + Width w = axis.widths[nn]; + w.cur = Fixed.mul16(w.org, scale); + w.fit = w.cur; + } + // Scale blue zones. + if (dim == DIMENSION_VERT) + { + for (int nn = 0; nn < axis.blueCount; nn++) + { + blue = axis.blues[nn]; + blue.ref.cur = Fixed.mul16(blue.ref.org, scale) + delta; + blue.ref.fit = blue.ref.cur; + blue.shoot.cur = Fixed.mul16(blue.ref.org, scale) + delta; + blue.flags &= ~LatinBlue.FLAG_BLUE_ACTIVE; + // A blue zone is only active if it is less than 3/4 pixels tall. + int dist = Fixed.mul16(blue.ref.org - blue.shoot.org, scale); + if (dist <= 48 && dist >= -48) + { + int delta1 = blue.shoot.org - blue.ref.org; + int delta2 = delta1; + if (delta1 < 0) + delta2 = -delta2; + delta2 = Fixed.mul16(delta2, scale); + if (delta2 < 32) + delta2 = 0; + else if (delta2 < 64) + delta2 = 32 + (((delta2 - 32) + 16) & ~31); + else + delta2 = Utils.pixRound(delta2); + if (delta1 < 0) + delta2 = -delta2; + blue.ref.fit = Utils.pixRound(blue.ref.cur); + blue.shoot.fit = blue.ref.fit + delta2; + blue.flags |= LatinBlue.FLAG_BLUE_ACTIVE; + } + } + } } /** @@ -118,12 +694,9 @@ class Latin metrics.axis[DIMENSION_HORZ].widthCount = 0; metrics.axis[DIMENSION_VERT].widthCount = 0; int glyphIndex = face.getGlyph(ch); - // TODO: Avoid that AffineTransform constructor and change - // getRawGlyphOutline() to accept null or remove that parameter altogether. - // Consider this when the thing is done and we know what we need that for. - Zone outline = face.getRawGlyphOutline(glyphIndex, new AffineTransform()); + Zone outline = face.getRawGlyphOutline(glyphIndex, IDENTITY); LatinMetrics dummy = new LatinMetrics(); - Scaler scaler = dummy.scaler; + HintScaler scaler = dummy.scaler; dummy.unitsPerEm = metrics.unitsPerEm; scaler.xScale = scaler.yScale = 10000; scaler.xDelta = scaler.yDelta = 0; @@ -135,20 +708,24 @@ class Latin LatinAxis axis = metrics.axis[dim]; AxisHints axHints = hints.axis[dim]; int numWidths = 0; - hints.computeSegments(dim); - hints.linkSegments(dim); + computeSegments(hints, dim); + linkSegments(hints, dim); Segment[] segs = axHints.segments; + HashSet touched = new HashSet(); for (int i = 0; i < segs.length; i++) { Segment seg = segs[i]; Segment link = seg.link; - if (link != null && link.link == seg && link.index > i) + if (link != null && link.link == seg && ! touched.contains(link)) { int dist = Math.abs(seg.pos - link.pos); if (numWidths < MAX_WIDTHS) - axis.widths[numWidths++].org = dist; + axis.widths[numWidths++] = new Width(dist); } + touched.add(seg); } + Utils.sort(numWidths, axis.widths); + axis.widthCount = numWidths; } for (int dim = 0; dim < DIMENSION_MAX; dim++) { @@ -159,6 +736,78 @@ class Latin } } + void linkSegments(GlyphHints hints, int dim) + { + AxisHints axis = hints.axis[dim]; + Segment[] segments = axis.segments; + int numSegs = axis.numSegments; + int majorDir = axis.majorDir; + int lenThreshold = constant((LatinMetrics) hints.metrics, 8); + lenThreshold = Math.min(1, lenThreshold); + int lenScore = constant((LatinMetrics) hints.metrics, 3000); + for (int i1 = 0; i1 < numSegs; i1++) + { + Segment seg1 = segments[i1]; + // The fake segments are introduced to hint the metrics. + // Never link them to anything. + if (seg1.first == seg1.last || seg1.dir != majorDir) + continue; + for (int i2 = 0; i2 < numSegs; i2++) + { + Segment seg2 = segments[i2]; + if (seg2 != seg1 && seg1.dir + seg2.dir == 0) + { + int pos1 = seg1.pos; + int pos2 = seg2.pos; + // The vertical coords are swapped compared to how FT handles + // this. + int dist = dim == DIMENSION_VERT ? pos1 - pos2 : pos2 - pos1; + if (dist >= 0) + { + int min = seg1.minPos; + int max = seg1.maxPos; + int len, score; + if (min < seg2.minPos) + min = seg2.minPos; + if (max > seg2.maxPos) + max = seg2.maxPos; + len = max - min; + if (len > lenThreshold) + { + score = dist + lenScore / len; + if (score < seg1.score) + { + seg1.score = score; + seg1.link = seg2; + } + if (score < seg2.score) + { + seg2.score = score; + seg2.link = seg1; + } + } + } + } + } + } + for (int i1 = 0; i1 < numSegs; i1++) + { + Segment seg1 = segments[i1]; + Segment seg2 = seg1.link; + if (seg2 != null) + { + seg2.numLinked++; + if (seg2.link != seg1) + { + seg1.link = null; + seg1.serif = seg2.link; + } + } + // Uncomment to show all segments. + // System.err.println("segment#" + i1 + ": " + seg1); + } + } + /** * Initializes the blue zones of the font. * @@ -167,11 +816,548 @@ class Latin */ private void initBlues(LatinMetrics metrics, OpenTypeFont face) { - // TODO: Implement. + int[] flats = new int[MAX_TEST_CHARS]; + int[] rounds = new int[MAX_TEST_CHARS]; + int numFlats; + int numRounds; + LatinBlue blue; + LatinAxis axis = metrics.axis[DIMENSION_VERT]; + // We compute the blues simply by loading each character in the test + // strings, then compute its topmost or bottommost points. + for (int bb = 0; bb < BLUE_MAX; bb++) + { + String p = TEST_CHARS[bb]; + int blueRef; + int blueShoot; + numFlats = 0; + numRounds = 0; + for (int i = 0; i < p.length(); i++) + { + // Load the character. + int glyphIndex = face.getGlyph(p.charAt(i)); + Zone glyph = + face.getRawGlyphOutline(glyphIndex, IDENTITY); + + // Now compute the min and max points. + int numPoints = glyph.getSize() - 4; // 4 phantom points. + Point[] points = glyph.getPoints(); + Point point = points[0]; + int extremum = 0; + int index = 1; + if (isTopBlue(bb)) + { + for (; index < numPoints; index++) + { + point = points[index]; + // We have the vertical direction swapped. The higher + // points have smaller (negative) Y. + if (point.getOrigY() < points[extremum].getOrigY()) + extremum = index; + } + } + else + { + for (; index < numPoints; index++) + { + point = points[index]; + // We have the vertical direction swapped. The higher + // points have smaller (negative) Y. + if (point.getOrigY() > points[extremum].getOrigY()) + extremum = index; + } + } + // Debug, prints out the maxima. + // System.err.println("extremum for " + bb + " / "+ p.charAt(i) + // + ": " + points[extremum]); + + // Now determine if the point is part of a straight or round + // segment. + boolean round; + int idx = extremum; + int first, last, prev, next, end; + int dist; + last = -1; + first = 0; + for (int n = 0; n < glyph.getNumContours(); n++) + { + end = glyph.getContourEnd(n); + // System.err.println("contour end for " + n + ": " + end); + if (end >= idx) + { + last = end; + break; + } + first = end + 1; + } + // Should never happen. + assert last >= 0; + + // Now look for the previous and next points that are not on the + // same Y coordinate. Threshold the 'closeness'. + prev = idx; + next = prev; + do + { + if (prev > first) + prev--; + else + prev = last; + dist = points[prev].getOrigY() - points[extremum].getOrigY(); + if (dist < -5 || dist > 5) + break; + } while (prev != idx); + do + { + if (next < last) + next++; + else + next = first; + dist = points[next].getOrigY() - points[extremum].getOrigY(); + if (dist < -5 || dist > 5) + break; + } while (next != idx); + round = points[prev].isControlPoint() + || points[next].isControlPoint(); + + if (round) + { + rounds[numRounds++] = points[extremum].getOrigY(); + // System.err.println("new round extremum: " + bb + ": " + // + points[extremum].getOrigY()); + } + else + { + flats[numFlats++] = points[extremum].getOrigY(); + // System.err.println("new flat extremum: " + bb + ": " + // + points[extremum].getOrigY()); + } + } + // We have computed the contents of the rounds and flats tables. + // Now determine the reference and overshoot position of the blues -- + // we simply take the median after a simple sort. + Utils.sort(numRounds, rounds); + Utils.sort(numFlats, flats); + blue = axis.blues[axis.blueCount] = new LatinBlue(); + axis.blueCount++; + if (numFlats == 0) + { + blue.ref = blue.shoot = new Width(rounds[numRounds / 2]); + } + else if (numRounds == 0) + { + blue.ref = blue.shoot = new Width(flats[numFlats / 2]); + } + else + { + blue.ref = new Width(flats[numFlats / 2]); + blue.shoot = new Width(rounds[numRounds / 2]); + } + // There are sometimes problems: if the overshoot position of top + // zones is under its reference position, or the opposite for bottom + // zones. We must check everything there and correct problems. + if (blue.shoot != blue.ref) + { + int ref = blue.ref.org; + int shoot = blue.shoot.org; + // Inversed vertical coordinates! + boolean overRef = shoot < ref; + if (isTopBlue(bb) ^ overRef) + { + blue.shoot = blue.ref = new Width((shoot + ref) / 2); + } + } + blue.flags = 0; + if (isTopBlue(bb)) + blue.flags |= LatinBlue.FLAG_TOP; + // The following flag is used later to adjust y and x scales in + // order to optimize the pixel grid alignment of the top small + // letters. + if (bb == SMALL_TOP) + { + blue.flags |= LatinBlue.FLAG_ADJUSTMENT; + } + // Debug: print out the blue zones. + // System.err.println("blue zone #" + bb + ": " + blue); + } } + private static final AffineTransform IDENTITY = new AffineTransform(); + private int constant(LatinMetrics metrics, int c) { return c * (metrics.unitsPerEm / 2048); } + + private void computeSegments(GlyphHints hints, int dim) + { + Point[] points = hints.points; + if (dim == DIMENSION_HORZ) + { + for (int i = 0; i < hints.numPoints; i++) + { + points[i].setU(points[i].getOrigX()); + points[i].setV(points[i].getOrigY()); + } + } + else + { + for (int i = 0; i < hints.numPoints; i++) + { + points[i].setU(points[i].getOrigY()); + points[i].setV(points[i].getOrigX()); + } + } + // Now look at each contour. + AxisHints axis = hints.axis[dim]; + int majorDir = Math.abs(axis.majorDir); + int segmentDir = majorDir; + Point[] contours = hints.contours; + int numContours = hints.numContours; + Segment segment = null; + for (int i = 0; i < numContours; i++) + { + int minPos = 32000; + int maxPos = -32000; + + Point point = contours[i]; + Point last = point.getPrev(); + if (point == last) // Skip singletons. + continue; + if (Math.abs(last.getOutDir()) == majorDir + && Math.abs(point.getOutDir()) == majorDir) + { + // We are already on an edge. Locate its start. + last = point; + while (true) + { + point = point.getPrev(); + if (Math.abs(point.getOutDir()) != majorDir) + { + point = point.getNext(); + break; + } + if (point == last) + break; + } + } + last = point; + boolean passed = false; + boolean onEdge = false; + while (true) + { + int u, v; + if (onEdge) + { + u = point.getU(); + if (u < minPos) + minPos = u; + if (u > maxPos) + maxPos = u; + if (point.getOutDir() != segmentDir || point == last) + { + // Leaving an edge. Record new segment. + segment.last = point; + // (minPos + maxPos) / 2. + segment.pos = (minPos + maxPos) >> 1; + if (segment.first.isControlPoint() + || point.isControlPoint()) + segment.flags |= Segment.FLAG_EDGE_ROUND; + minPos = maxPos = point.getV(); + v = segment.first.getV(); + if (v < minPos) + minPos = v; + if (v > maxPos) + maxPos = v; + segment.minPos = minPos; + segment.maxPos = maxPos; + onEdge = false; + segment = null; + } + } + if (point == last) + { + if (passed) + break; + passed = true; + } + if (! onEdge && Math.abs(point.getOutDir()) == majorDir) + { + // This is the start of a new segment. + segmentDir = point.getOutDir(); + segment = axis.newSegment(); + segment.dir = segmentDir; + segment.flags = Segment.FLAG_EDGE_NORMAL; + minPos = maxPos = point.getU(); + segment.first = point; + segment.last = point; + segment.contour = contours[i]; + segment.score = 32000; + segment.len = 0; + segment.link = null; + onEdge = true; + } + point = point.getNext(); + } + } + + } + + private boolean isTopBlue(int b) + { + return b == CAPITAL_TOP || b == SMALL_F_TOP || b == SMALL_TOP; + } + + private void detectFeatures(GlyphHints hints, int dim) + { + computeSegments(hints, dim); + linkSegments(hints, dim); + computeEdges(hints, dim); + } + + private void computeEdges(GlyphHints hints, int dim) + { + AxisHints axis = hints.axis[dim]; + LatinAxis laxis = ((LatinMetrics) hints.metrics).axis[dim]; + Segment[] segments = axis.segments; + int numSegments = axis.numSegments; + Segment seg; + int upDir; + int scale; + int edgeDistanceThreshold; + axis.numEdges = 0; + scale = dim == DIMENSION_HORZ ? hints.xScale : hints.yScale; + upDir = dim == DIMENSION_HORZ ? DIR_UP : DIR_RIGHT; + + // We will begin by generating a sorted table of edges for the + // current direction. To do so, we simply scan each segment and try + // to find an edge in our table that corresponds to its position. + // + // If no edge is found, we create one and insert a new edge in the + // sorted table. Otherwise, we simply add the segment to the egde's + // list which will be processed in the second step to compute the + // edge's properties. + // + // Note that the edge table is sorted along the segment/edge + // position. + + edgeDistanceThreshold = Fixed.mul16(laxis.edgeDistanceTreshold, scale); + if (edgeDistanceThreshold > 64 / 4) + edgeDistanceThreshold = 64 / 4; + edgeDistanceThreshold = Fixed.div16(edgeDistanceThreshold, scale); + for (int i = 0; i < numSegments; i++) + { + seg = segments[i]; + Edge found = null; + for (int ee = 0; ee < axis.numEdges; ee++) + { + Edge edge = axis.edges[ee]; + int dist = seg.pos - edge.fpos; + if (dist < 0) + dist = -dist; + if (dist < edgeDistanceThreshold) + { + found = edge; + break; + } + } + if (found == null) + { + // Insert new edge in the list and sort according to + // the position. + Edge edge = axis.newEdge(seg.pos); + edge.first = seg; + edge.last = seg; + edge.fpos = seg.pos; + edge.opos = edge.pos = Fixed.mul16(seg.pos, scale); + seg.edgeNext = seg; + seg.edge = edge; + } + else + { + seg.edgeNext = found.first; + found.last.edgeNext = seg; + found.last = seg; + seg.edge = found; + } + } + // Good. We will now compute each edge's properties according to + // segments found on its position. Basically these are: + // - Edge's main direction. + // - Stem edge, serif edge, or both (which defaults to stem edge). + // - Rounded edge, straight or both (which defaults to straight). + // - Link for edge. + + // Now, compute each edge properties. + for (int e = 0; e < axis.numEdges; e++) + { + Edge edge = axis.edges[e]; + // Does it contain round segments? + int isRound = 0; + // Does it contain straight segments? + int isStraight = 0; + // Number of upward segments. + int ups = 0; + // Number of downward segments. + int downs = 0; + + seg = edge.first; + do + { + // Check for roundness of segment. + if ((seg.flags & Segment.FLAG_EDGE_ROUND) != 0) + isRound++; + else + isStraight++; + + // Check for segment direction. + if (seg.dir == upDir) + ups += seg.maxPos - seg.minPos; + else + downs += seg.maxPos - seg.minPos; + + // Check for links. If seg.serif is set, then seg.link must + // be ignored. + boolean isSerif = seg.serif != null && seg.serif.edge != edge; + if (seg.link != null || isSerif) + { + Edge edge2 = edge.link; + Segment seg2 = seg.link; + if (isSerif) + { + seg2 = seg.serif; + edge2 = edge.serif; + } + if (edge2 != null) + { + int edgeDelta = edge.fpos - edge2.fpos; + if (edgeDelta < 0) + edgeDelta = -edgeDelta; + int segDelta = seg.pos - seg2.pos; + if (segDelta < 0) + segDelta = -segDelta; + if (segDelta < edgeDelta) + edge2 = seg2.edge; + } + else + { + edge2 = seg2.edge; + } + if (isSerif) + { + edge.serif = edge2; + edge2.flags |= Segment.FLAG_EDGE_SERIF; + } + else + { + edge.link = edge2; + } + } + seg = seg.edgeNext; + } while (seg != edge.first); + edge.flags = Segment.FLAG_EDGE_NORMAL; + if (isRound > 0 && isRound > isStraight) + edge.flags |= Segment.FLAG_EDGE_ROUND; + + // Set the edge's main direction. + edge.dir = DIR_NONE; + if (ups > downs) + edge.dir = upDir; + else if (ups < downs) + edge.dir = -upDir; + else if (ups == downs) + edge.dir = 0; + + // Gets rid of serif if link is set. This gets rid of many + // unpleasant artifacts. + if (edge.serif != null && edge.link != null) + { + edge.serif = null; + } + + // Debug: Print out all edges. + // System.err.println("edge# " + e + ": " + edge); + } + } + + private void computeBlueEdges(GlyphHints hints, LatinMetrics metrics) + { + AxisHints axis = hints.axis[DIMENSION_VERT]; + Edge[] edges = axis.edges; + int numEdges = axis.numEdges; + LatinAxis latin = metrics.axis[DIMENSION_VERT]; + int scale = latin.scale; + + // Compute which blue zones are active. I.e. have their scaled + // size < 3/4 pixels. + + // For each horizontal edge search the blue zone that is closest. + for (int e = 0; e < numEdges; e++) + { + Edge edge = edges[e]; + // System.err.println("checking edge: " + edge); + Width bestBlue = null; + int bestDist = Fixed.mul16(metrics.unitsPerEm / 40, scale); + + if (bestDist > 64 / 2) + bestDist = 64 / 2; + for (int bb = 0; bb < BLUE_MAX; bb++) + { + LatinBlue blue = latin.blues[bb]; + // System.err.println("checking blue: " + blue); + // Skip inactive blue zones, i.e. those that are too small. + if ((blue.flags & LatinBlue.FLAG_BLUE_ACTIVE) == 0) + continue; + // If it is a top zone, check for right edges. If it is a bottom + // zone, check for left edges. + boolean isTopBlue = (blue.flags & LatinBlue.FLAG_TOP) != 0; + boolean isMajorDir = edge.dir == axis.majorDir; + + // If it is a top zone, the edge must be against the major + // direction. If it is a bottom zone it must be in the major + // direction. + if (isTopBlue ^ isMajorDir) + { + int dist = edge.fpos - blue.ref.org; + if (dist < 0) + dist = -dist; + dist = Fixed.mul16(dist, scale); + if (dist < bestDist) + { + bestDist = dist; + bestBlue = blue.ref; + } + + // Now, compare it to the overshoot position if the edge is + // rounded, and if the edge is over the reference position of + // a top zone, or under the reference position of a bottom + // zone. + if ((edge.flags & Segment.FLAG_EDGE_ROUND) != 0 && dist != 0) + { + // Inversed vertical coordinates! + boolean isUnderRef = edge.fpos > blue.ref.org; + if (isTopBlue ^ isUnderRef) + { + blue = latin.blues[bb]; // Needed? + dist = edge.fpos - blue.shoot.org; + if (dist < 0) + dist = -dist; + dist = Fixed.mul16(dist, scale); + if (dist < bestDist) + { + bestDist = dist; + bestBlue = blue.shoot; + } + } + } + + } + } + if (bestBlue != null) + { + edge.blueEdge = bestBlue; + // Debug: Print out the blue edges. + // System.err.println("blue edge for: " + edge + ": " + bestBlue); + } + } + } } diff --git a/libjava/classpath/gnu/java/awt/font/autofit/LatinAxis.java b/libjava/classpath/gnu/java/awt/font/autofit/LatinAxis.java index 8ca1e6d..9237d0e 100644 --- a/libjava/classpath/gnu/java/awt/font/autofit/LatinAxis.java +++ b/libjava/classpath/gnu/java/awt/font/autofit/LatinAxis.java @@ -49,5 +49,14 @@ class LatinAxis int widthCount; Width[] widths; - float edgeDistanceTreshold; + int edgeDistanceTreshold; + LatinBlue[] blues; + int blueCount; + int orgDelta; + int orgScale; + LatinAxis() + { + widths = new Width[Latin.MAX_WIDTHS]; + blues = new LatinBlue[Latin.BLUE_MAX]; + } } diff --git a/libjava/classpath/gnu/java/awt/font/autofit/LatinBlue.java b/libjava/classpath/gnu/java/awt/font/autofit/LatinBlue.java new file mode 100644 index 0000000..694fb24 --- /dev/null +++ b/libjava/classpath/gnu/java/awt/font/autofit/LatinBlue.java @@ -0,0 +1,59 @@ +/* LatinBlue.java -- FIXME: briefly describe file purpose + Copyright (C) 2006 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 gnu.java.awt.font.autofit; + +public class LatinBlue +{ + static final int FLAG_BLUE_ACTIVE = 1 << 0; + static final int FLAG_TOP = 1 << 1; + static final int FLAG_ADJUSTMENT = 1 << 2; + Width ref; + Width shoot; + int flags; + public String toString() + { + StringBuilder s = new StringBuilder(); + s.append("[BlueZone]"); + s.append(" ref: "); + s.append(ref.org); + s.append(", shoot: "); + s.append(shoot.org); + return s.toString(); + } +} diff --git a/libjava/classpath/gnu/java/awt/font/autofit/LatinMetrics.java b/libjava/classpath/gnu/java/awt/font/autofit/LatinMetrics.java index cd95534..33fc63a 100644 --- a/libjava/classpath/gnu/java/awt/font/autofit/LatinMetrics.java +++ b/libjava/classpath/gnu/java/awt/font/autofit/LatinMetrics.java @@ -38,6 +38,8 @@ exception statement from your version. */ package gnu.java.awt.font.autofit; +import gnu.java.awt.font.opentype.OpenTypeFont; + /** * Latin specific metrics data. */ @@ -48,4 +50,17 @@ class LatinMetrics LatinAxis[] axis; int unitsPerEm; + + LatinMetrics() + { + super(); + axis = new LatinAxis[Constants.DIMENSION_MAX]; + axis[Constants.DIMENSION_HORZ] = new LatinAxis(); + axis[Constants.DIMENSION_VERT] = new LatinAxis(); + } + LatinMetrics(OpenTypeFont face) + { + this(); + unitsPerEm = face.unitsPerEm; + } } diff --git a/libjava/classpath/gnu/java/awt/font/autofit/Scaler.java b/libjava/classpath/gnu/java/awt/font/autofit/Scaler.java deleted file mode 100644 index 1051851..0000000 --- a/libjava/classpath/gnu/java/awt/font/autofit/Scaler.java +++ /dev/null @@ -1,52 +0,0 @@ -/* Scaler.java -- FIXME: briefly describe file purpose - Copyright (C) 2006 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 gnu.java.awt.font.autofit; - -import gnu.java.awt.font.opentype.OpenTypeFont; - -class Scaler -{ - - int xScale; - int xDelta; - int yScale; - int yDelta; - OpenTypeFont face; - -} diff --git a/libjava/classpath/gnu/java/awt/font/autofit/Script.java b/libjava/classpath/gnu/java/awt/font/autofit/Script.java index 3b35301..c223f0a 100644 --- a/libjava/classpath/gnu/java/awt/font/autofit/Script.java +++ b/libjava/classpath/gnu/java/awt/font/autofit/Script.java @@ -39,6 +39,7 @@ exception statement from your version. */ package gnu.java.awt.font.autofit; import gnu.java.awt.font.opentype.OpenTypeFont; +import gnu.java.awt.font.opentype.truetype.Zone; /** * Defines script specific methods for the auto fitter. @@ -51,12 +52,11 @@ interface Script */ void initMetrics(ScriptMetrics metrics, OpenTypeFont face); - void scaleMetrics(ScriptMetrics metrics/* , scaler, map this */); + void scaleMetrics(ScriptMetrics metrics , HintScaler scaler); void doneMetrics(ScriptMetrics metrics); void initHints(GlyphHints hints, ScriptMetrics metrics); - void applyHints(GlyphHints hints, /* some outline object, */ - ScriptMetrics metrics); + void applyHints(GlyphHints hints, Zone outline, ScriptMetrics metrics); } diff --git a/libjava/classpath/gnu/java/awt/font/autofit/ScriptMetrics.java b/libjava/classpath/gnu/java/awt/font/autofit/ScriptMetrics.java index 77c815a..984a06d 100644 --- a/libjava/classpath/gnu/java/awt/font/autofit/ScriptMetrics.java +++ b/libjava/classpath/gnu/java/awt/font/autofit/ScriptMetrics.java @@ -45,5 +45,9 @@ class ScriptMetrics { Script script; - Scaler scaler; + HintScaler scaler; + ScriptMetrics() + { + scaler = new HintScaler(); + } } diff --git a/libjava/classpath/gnu/java/awt/font/autofit/Segment.java b/libjava/classpath/gnu/java/awt/font/autofit/Segment.java index 32032a4..640e82c 100644 --- a/libjava/classpath/gnu/java/awt/font/autofit/Segment.java +++ b/libjava/classpath/gnu/java/awt/font/autofit/Segment.java @@ -38,10 +38,58 @@ exception statement from your version. */ package gnu.java.awt.font.autofit; +import gnu.java.awt.font.opentype.truetype.Point; + class Segment { + static final int FLAG_EDGE_NORMAL = 0; + static final int FLAG_EDGE_ROUND = 1; + static final int FLAG_EDGE_SERIF = 2; + static final int FLAG_EDGE_DONE = 4; + int dir; + int flags; Segment link; - int index; + Segment serif; + int numLinked; int pos; + Point first; + Point last; + Point contour; + int minPos; + int maxPos; + int score; + int len; + Segment edgeNext; + Edge edge; + + public String toString() + { + StringBuilder s = new StringBuilder(); + s.append("[Segment] id: "); + s.append(hashCode()); + s.append(", len:"); + s.append(len); + s.append(", round: "); + s.append(((flags & FLAG_EDGE_ROUND) != 0)); + s.append(", dir: "); + s.append(dir); + s.append(", pos: "); + s.append(pos); + s.append(", minPos: "); + s.append(minPos); + s.append(", maxPos: "); + s.append(maxPos); + s.append(", first: "); + s.append(first); + s.append(", last: "); + s.append(last); + s.append(", contour: "); + s.append(contour); + s.append(", link: "); + s.append(link == null ? "null" : link.hashCode()); + s.append(", serif: "); + s.append(serif == null ? "null" : serif.hashCode()); + return s.toString(); + } } diff --git a/libjava/classpath/gnu/java/awt/font/autofit/Utils.java b/libjava/classpath/gnu/java/awt/font/autofit/Utils.java new file mode 100644 index 0000000..4df4705 --- /dev/null +++ b/libjava/classpath/gnu/java/awt/font/autofit/Utils.java @@ -0,0 +1,255 @@ +/* Utils.java -- A collection of utility functions for the autofitter + Copyright (C) 2006 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 gnu.java.awt.font.autofit; + +import gnu.java.awt.font.opentype.truetype.Fixed; + +/** + * A collection of utility methods used all around the auto fitter. + */ +class Utils + implements Constants +{ + + private static final int ATAN_BITS = 8; + private static final byte[] ATAN = new byte[] + { + 0, 0, 1, 1, 1, 2, 2, 2, + 3, 3, 3, 3, 4, 4, 4, 5, + 5, 5, 6, 6, 6, 7, 7, 7, + 8, 8, 8, 9, 9, 9, 10, 10, + 10, 10, 11, 11, 11, 12, 12, 12, + 13, 13, 13, 14, 14, 14, 14, 15, + 15, 15, 16, 16, 16, 17, 17, 17, + 18, 18, 18, 18, 19, 19, 19, 20, + 20, 20, 21, 21, 21, 21, 22, 22, + 22, 23, 23, 23, 24, 24, 24, 24, + 25, 25, 25, 26, 26, 26, 26, 27, + 27, 27, 28, 28, 28, 28, 29, 29, + 29, 30, 30, 30, 30, 31, 31, 31, + 31, 32, 32, 32, 33, 33, 33, 33, + 34, 34, 34, 34, 35, 35, 35, 35, + 36, 36, 36, 36, 37, 37, 37, 38, + 38, 38, 38, 39, 39, 39, 39, 40, + 40, 40, 40, 41, 41, 41, 41, 42, + 42, 42, 42, 42, 43, 43, 43, 43, + 44, 44, 44, 44, 45, 45, 45, 45, + 46, 46, 46, 46, 46, 47, 47, 47, + 47, 48, 48, 48, 48, 48, 49, 49, + 49, 49, 50, 50, 50, 50, 50, 51, + 51, 51, 51, 51, 52, 52, 52, 52, + 52, 53, 53, 53, 53, 53, 54, 54, + 54, 54, 54, 55, 55, 55, 55, 55, + 56, 56, 56, 56, 56, 57, 57, 57, + 57, 57, 57, 58, 58, 58, 58, 58, + 59, 59, 59, 59, 59, 59, 60, 60, + 60, 60, 60, 61, 61, 61, 61, 61, + 61, 62, 62, 62, 62, 62, 62, 63, + 63, 63, 63, 63, 63, 64, 64, 64 + }; + + private static final int ANGLE_PI = 256; + private static final int ANGLE_PI2 = ANGLE_PI / 2; + private static final int ANGLE_PI4 = ANGLE_PI / 4; + private static final int ANGLE_2PI = ANGLE_PI * 2; + + /** + * Computes the direction constant for the specified vector. The vector is + * given as differential value already. + * + * @param dx the x vector + * @param dy the y vector + * + * @return the direction of that vector, or DIR_NONE, if that vector is not + * approximating against one of the major axises + */ + static int computeDirection(int dx, int dy) + { + int dir = DIR_NONE; + if (dx < 0) + { + if (dy < 0) + { + if (-dx * 12 < -dy) + dir = DIR_UP; + else if (-dy * 12 < -dx) + dir = DIR_LEFT; + } + else // dy >= 0 . + { + if (-dx * 12 < dy) + dir = DIR_DOWN; + else if (dy * 12 < -dx) + dir = DIR_LEFT; + } + } + else // dx >= 0 . + { + if (dy < 0) + { + if (dx * 12 < -dy) + dir = DIR_UP; + else if (-dy * 12 < dx) + dir = DIR_RIGHT; + } + else // dy >= 0 . + { + if (dx * 12 < dy) + dir = DIR_DOWN; + else if (dy * 12 < dx) + dir = DIR_RIGHT; + } + } + return dir; + } + + public static int atan(int dx, int dy) + { + int angle; + // Trivial cases. + if (dy == 0) + { + angle = 0; + if (dx < 0) + angle = ANGLE_PI; + return angle; + } + else if (dx == 0) + { + angle = ANGLE_PI2; + if (dy < 0) + angle = - ANGLE_PI2; + return angle; + } + + + angle = 0; + if (dx < 0) + { + dx = -dx; + dy = -dy; + angle = ANGLE_PI; + } + if (dy < 0) + { + int tmp = dx; + dx = -dy; + dy = tmp; + angle -= ANGLE_PI2; + } + if (dx == 0 && dy == 0) + return 0; + + if (dx == dy) + angle += ANGLE_PI4; + else if (dx > dy) + { + angle += ATAN[Fixed.div(dy, dx) << (ATAN_BITS - 6)]; + } + else + { + angle += ANGLE_PI2 - ATAN[Fixed.div(dx, dy) << (ATAN_BITS - 6)]; + } + + if (angle > ANGLE_PI) + angle -= ANGLE_2PI; + return angle; + } + + public static int angleDiff(int ang1, int ang2) + { + int delta = ang2 - ang1; + delta %= ANGLE_2PI; + if (delta < 0) + delta += ANGLE_2PI; + if (delta > ANGLE_PI) + delta -= ANGLE_2PI; + return delta; + } + + static void sort(int num, int[] array) + { + int swap; + for (int i = 1; i < num; i++) + { + for (int j = i; j > 0; j--) + { + if (array[j] > array[j - 1]) + break; + swap = array[j]; + array[j] = array[j - 1]; + array[j - 1] = swap; + } + } + } + + static void sort(int num, Width[] array) + { + Width swap; + for (int i = 1; i < num; i++) + { + for (int j = 1; j > 0; j--) + { + if (array[j].org > array[j - 1].org) + break; + swap = array[j]; + array[j] = array[j - 1]; + array[j - 1] = swap; + } + } + } + + static int pixRound(int val) + { + return pixFloor(val + 32); + } + + static int pixFloor(int val) + { + return val & ~63; + } + + public static int mulDiv(int a, int b, int c) + { + long prod = a * b; + long div = (prod / c); + return (int) div; + } + +} diff --git a/libjava/classpath/gnu/java/awt/font/autofit/Width.java b/libjava/classpath/gnu/java/awt/font/autofit/Width.java index d4d5400..c890cf3 100644 --- a/libjava/classpath/gnu/java/awt/font/autofit/Width.java +++ b/libjava/classpath/gnu/java/awt/font/autofit/Width.java @@ -43,4 +43,20 @@ public class Width int org; int cur; int fit; + Width(int dist) + { + org = dist; + } + + public String toString() + { + StringBuilder s = new StringBuilder(); + s.append("[Width] org: "); + s.append(org); + s.append(", cur: "); + s.append(cur); + s.append(", fit: "); + s.append(fit); + return s.toString(); + } } diff --git a/libjava/classpath/gnu/java/awt/font/opentype/Hinter.java b/libjava/classpath/gnu/java/awt/font/opentype/Hinter.java new file mode 100644 index 0000000..9758a28 --- /dev/null +++ b/libjava/classpath/gnu/java/awt/font/opentype/Hinter.java @@ -0,0 +1,63 @@ +/* Hinter.java -- The interface to a hinting implementation + Copyright (C) 2006 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 gnu.java.awt.font.opentype; + +import gnu.java.awt.font.opentype.truetype.Zone; + +/** + * The interface to a hinting implementation. + */ +public interface Hinter +{ + /** + * Initializes the hinter. + * + * @param face the font for which the hinter should be used + */ + void init(OpenTypeFont face); + + /** + * Hints the specified outline. + * + * @param outline the outline to hint + */ + void applyHints(Zone outline); + + void setFlags(int flags); +} diff --git a/libjava/classpath/gnu/java/awt/font/opentype/OpenTypeFont.java b/libjava/classpath/gnu/java/awt/font/opentype/OpenTypeFont.java index efc3081..a270ce7 100644 --- a/libjava/classpath/gnu/java/awt/font/opentype/OpenTypeFont.java +++ b/libjava/classpath/gnu/java/awt/font/opentype/OpenTypeFont.java @@ -51,6 +51,7 @@ import java.util.Locale; import gnu.java.awt.font.FontDelegate; import gnu.java.awt.font.GNUGlyphVector; +import gnu.java.awt.font.autofit.AutoHinter; import gnu.java.awt.font.opentype.truetype.TrueTypeScaler; import gnu.java.awt.font.opentype.truetype.Zone; @@ -146,7 +147,8 @@ public final class OpenTypeFont */ private GlyphNamer glyphNamer; - + private Hinter hinter; + /** * Constructs an OpenType or TrueType font. * @@ -579,6 +581,9 @@ public final class OpenTypeFont FontRenderContext frc, CharacterIterator ci) { + // Initialize hinter if necessary. + checkHinter(FontDelegate.FLAG_FITTED); + CharGlyphMap cmap; int numGlyphs; int[] glyphs; @@ -689,13 +694,15 @@ public final class OpenTypeFont float pointSize, AffineTransform transform, boolean antialias, - boolean fractionalMetrics) + boolean fractionalMetrics, + int flags) { /* The synchronization is needed because the scaler is not * synchronized. */ + checkHinter(flags); return scaler.getOutline(glyph, pointSize, transform, - antialias, fractionalMetrics); + antialias, fractionalMetrics, hinter, flags); } /** @@ -837,4 +844,29 @@ public final class OpenTypeFont c[3] = (char) (tag & 0xff); return new String(c); } + + /** + * Checks if a hinter is installed and installs one when not. + */ + private void checkHinter(int flags) + { + // When another hinting impl gets added (maybe a true TrueType hinter) + // then add some options here. The Hinter interface might need to be + // tweaked. + if (hinter == null) + { + try + { + hinter = new AutoHinter(); + hinter.init(this); + } + catch (Exception ex) + { + // Protect from problems inside hinter. + hinter = null; + ex.printStackTrace(); + } + } + hinter.setFlags(flags); + } } diff --git a/libjava/classpath/gnu/java/awt/font/opentype/Scaler.java b/libjava/classpath/gnu/java/awt/font/opentype/Scaler.java index 83a31c5..c7582b6 100644 --- a/libjava/classpath/gnu/java/awt/font/opentype/Scaler.java +++ b/libjava/classpath/gnu/java/awt/font/opentype/Scaler.java @@ -90,7 +90,8 @@ public abstract class Scaler float pointSize, AffineTransform transform, boolean antialias, - boolean fractionalMetrics); + boolean fractionalMetrics, + Hinter hinter, int type); /** diff --git a/libjava/classpath/gnu/java/awt/font/opentype/truetype/Fixed.java b/libjava/classpath/gnu/java/awt/font/opentype/truetype/Fixed.java index 5d81c5d..287593e 100644 --- a/libjava/classpath/gnu/java/awt/font/opentype/truetype/Fixed.java +++ b/libjava/classpath/gnu/java/awt/font/opentype/truetype/Fixed.java @@ -48,7 +48,7 @@ package gnu.java.awt.font.opentype.truetype; * * @author Sascha Brawer (brawer@dandelis.ch) */ -final class Fixed +public final class Fixed { public static final int ONE = 1<<6; @@ -69,14 +69,21 @@ final class Fixed return (int) ((((long) a) * b) >> 6); } + public static int mul16(int a, int b) + { + return (int) ((((long) a) * b) >> 16); + } public static int div(int a, int b) { return (int) ((((long) a) << 6) / b); } + public static int div16(int a, int b) + { + return (int) ((((long) a) << 16) / b); + } - public static int ceil(int a) { return (a + 63) & -64; @@ -119,7 +126,10 @@ final class Fixed { return ((float) f) / 64; } - + public static float floatValue16(int f) + { + return ((float) f) / 65536; + } public static double doubleValue(int f) { @@ -138,6 +148,10 @@ final class Fixed return (int) (d * 64); } + public static int valueOf16(double d) + { + return (int) (d * (1 << 16)); + } /** * Makes a string representation of a fixed-point number. diff --git a/libjava/classpath/gnu/java/awt/font/opentype/truetype/GlyphLoader.java b/libjava/classpath/gnu/java/awt/font/opentype/truetype/GlyphLoader.java index 3733afe..249a87d 100644 --- a/libjava/classpath/gnu/java/awt/font/opentype/truetype/GlyphLoader.java +++ b/libjava/classpath/gnu/java/awt/font/opentype/truetype/GlyphLoader.java @@ -38,6 +38,8 @@ exception statement from your version. */ package gnu.java.awt.font.opentype.truetype; +import gnu.java.awt.font.opentype.Hinter; + import java.awt.geom.AffineTransform; import java.nio.ByteBuffer; @@ -112,17 +114,17 @@ final class GlyphLoader double pointSize, AffineTransform transform, boolean antialias, - Zone glyphZone) + Zone glyphZone, Hinter hinter) { glyphZone.setNumPoints(4); loadSubGlyph(glyphIndex, pointSize, transform, antialias, glyphZone, - 0, 0); + 0, 0, hinter); } public void loadGlyph(int glyphIndex, AffineTransform transform, - Zone glyphZone) + Zone glyphZone, Hinter hinter) { - loadGlyph(glyphIndex, unitsPerEm, transform, false, glyphZone); + loadGlyph(glyphIndex, unitsPerEm, transform, false, glyphZone, hinter); } private void loadSubGlyph(int glyphIndex, @@ -131,7 +133,8 @@ final class GlyphLoader boolean antialias, Zone glyphZone, int preTranslateX, - int preTranslateY) + int preTranslateY, + Hinter hinter) { ByteBuffer glyph; int numContours; @@ -159,11 +162,11 @@ final class GlyphLoader if (numContours >= 0) loadSimpleGlyph(glyphIndex, pointSize, transform, antialias, numContours, glyph, glyphZone, - preTranslateX, preTranslateY); + preTranslateX, preTranslateY, hinter); else loadCompoundGlyph(glyphIndex, pointSize, transform, antialias, glyph, glyphZone, - preTranslateX, preTranslateY); + preTranslateX, preTranslateY, hinter); } @@ -172,7 +175,8 @@ final class GlyphLoader boolean antialias, int numContours, ByteBuffer glyph, Zone glyphZone, - int preTranslateX, int preTranslateY) + int preTranslateX, int preTranslateY, + Hinter hinter) { int numPoints; int posInstructions, numInstructions; @@ -203,10 +207,10 @@ final class GlyphLoader glyphZone.transform(pointSize, transform, unitsPerEm, preTranslateX, preTranslateY); - if (execInstructions) - { - // FIXME: Hint the glyph. - } + if (execInstructions && hinter != null) + { + hinter.applyHints(glyphZone); + } } @@ -229,7 +233,8 @@ final class GlyphLoader boolean antialias, ByteBuffer glyph, Zone glyphZone, - int preTranslateX, int preTranslateY) + int preTranslateX, int preTranslateY, + Hinter hinter) { short flags; int subGlyphIndex; @@ -326,7 +331,7 @@ final class GlyphLoader loadSubGlyph(subGlyphIndex, pointSize, componentTransform, antialias, subGlyphZone, Math.round((float) e + preTranslateX), - Math.round(-((float) f + preTranslateY))); + Math.round(-((float) f + preTranslateY)), hinter); glyphZone.combineWithSubGlyph(subGlyphZone, 4); glyph.limit(lim).position(pos); } diff --git a/libjava/classpath/gnu/java/awt/font/opentype/truetype/Point.java b/libjava/classpath/gnu/java/awt/font/opentype/truetype/Point.java new file mode 100644 index 0000000..c9664d2 --- /dev/null +++ b/libjava/classpath/gnu/java/awt/font/opentype/truetype/Point.java @@ -0,0 +1,285 @@ +/* Point.java -- Holds information for one point on a glyph outline + Copyright (C) 2006 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 gnu.java.awt.font.opentype.truetype; + +/** + * Encapsulates information regarding one point on a glyph outline. + */ +public class Point +{ + public static final short FLAG_TOUCHED_X = 1; + public static final short FLAG_TOUCHED_Y = 2; + public static final short FLAG_ON_CURVE = 4; + public static final short FLAG_CONTOUR_END = 8; + public static final short FLAG_WEAK_INTERPOLATION = 16; + public static final short FLAG_INFLECTION = 32; + public static final short FLAG_DONE_X = 64; + public static final short FLAG_DONE_Y = 128; + + /** + * Right direction. + */ + public static final int DIR_RIGHT = 1; + + /** + * Left direction. + */ + public static final int DIR_LEFT = -1; + + /** + * Up direction. + */ + public static final int DIR_UP = 2; + + /** + * Down direction. + */ + public static final int DIR_DOWN = -2; + + /** + * The original x coordinate in font units. + */ + int origX; + + /** + * The original y coordinate in font units. + */ + int origY; + + /** + * The x coordinate scaled to the target. + */ + int scaledX; + + /** + * The y coordinate scaled to the target. + */ + int scaledY; + + /** + * The final hinted and scaled x coordinate. + */ + int x; + + /** + * The final hinted and scaled y coordinate. + */ + int y; + + int u; + int v; + + /** + * The glyph flags. + */ + short flags; + + /** + * The previous point in the contour. + */ + private Point prev; + + /** + * The next point in the contour. + */ + private Point next; + + /** + * The in-direction of the point, according to the DIR_* constants of this + * class. + */ + int inDir; + + /** + * The out-direction of the point, according to the DIR_* constants of this + * class. + */ + int outDir; + + public Point getNext() + { + return next; + } + + public void setNext(Point next) + { + this.next = next; + } + + public Point getPrev() + { + return prev; + } + + public void setPrev(Point prev) + { + this.prev = prev; + } + + public int getOrigX() + { + return origX; + } + + public void setOrigX(int origX) + { + this.origX = origX; + } + + public int getOrigY() + { + return origY; + } + + public void setOrigY(int origY) + { + this.origY = origY; + } + + public int getInDir() + { + return inDir; + } + + public void setInDir(int inDir) + { + this.inDir = inDir; + } + + public int getOutDir() + { + return outDir; + } + + public void setOutDir(int outDir) + { + this.outDir = outDir; + } + + public short getFlags() + { + return flags; + } + + public void setFlags(short flags) + { + this.flags = flags; + } + + public void addFlags(short flags) + { + this.flags |= flags; + } + + public boolean isControlPoint() + { + return (flags & FLAG_ON_CURVE) == 0; + } + + public int getU() + { + return u; + } + + public void setU(int u) + { + this.u = u; + } + + public int getV() + { + return v; + } + + public void setV(int v) + { + this.v = v; + } + + public String toString() + { + StringBuilder s = new StringBuilder(); + s.append("[Point] origX: "); + s.append(origX); + s.append(", origY: "); + s.append(origY); + // TODO: Add more info when needed. + return s.toString(); + } + + public int getX() + { + return x; + } + + public void setX(int x) + { + this.x = x; + } + + public int getY() + { + return y; + } + + public void setY(int y) + { + this.y = y; + } + + public int getScaledX() + { + return scaledX; + } + + public void setScaledX(int scaledX) + { + this.scaledX = scaledX; + } + + public int getScaledY() + { + return scaledY; + } + + public void setScaledY(int scaledY) + { + this.scaledY = scaledY; + } +} diff --git a/libjava/classpath/gnu/java/awt/font/opentype/truetype/TrueTypeScaler.java b/libjava/classpath/gnu/java/awt/font/opentype/truetype/TrueTypeScaler.java index 8dfdeff..5f5cc00 100644 --- a/libjava/classpath/gnu/java/awt/font/opentype/truetype/TrueTypeScaler.java +++ b/libjava/classpath/gnu/java/awt/font/opentype/truetype/TrueTypeScaler.java @@ -37,6 +37,7 @@ exception statement from your version. */ package gnu.java.awt.font.opentype.truetype; +import gnu.java.awt.font.opentype.Hinter; import gnu.java.awt.font.opentype.Scaler; import java.awt.FontFormatException; @@ -191,17 +192,18 @@ public final class TrueTypeScaler float pointSize, AffineTransform deviceTransform, boolean antialias, - boolean fractionalMetrics) + boolean fractionalMetrics, Hinter hinter, + int type) { glyphLoader.loadGlyph(glyphIndex, pointSize, deviceTransform, - antialias, glyphZone); - return glyphZone.getPath(); + antialias, glyphZone, hinter); + return glyphZone.getPath(type); } public Zone getRawOutline(int glyphIndex, AffineTransform transform) { Zone zone = new Zone(glyphZone.getCapacity()); - glyphLoader.loadGlyph(glyphIndex, transform, zone); + glyphLoader.loadGlyph(glyphIndex, transform, zone, null); return zone; } diff --git a/libjava/classpath/gnu/java/awt/font/opentype/truetype/Zone.java b/libjava/classpath/gnu/java/awt/font/opentype/truetype/Zone.java index ff5bb63..7c25a0a 100644 --- a/libjava/classpath/gnu/java/awt/font/opentype/truetype/Zone.java +++ b/libjava/classpath/gnu/java/awt/font/opentype/truetype/Zone.java @@ -37,6 +37,8 @@ exception statement from your version. */ package gnu.java.awt.font.opentype.truetype; +import gnu.java.awt.font.FontDelegate; + import java.awt.geom.AffineTransform; import java.awt.geom.GeneralPath; import java.awt.geom.PathIterator; @@ -47,27 +49,19 @@ import java.awt.geom.PathIterator; */ public final class Zone { - private final int[] pos; - private final int[] origPos; - private final byte[] flags; + private Point[] points; private int numPoints; - private static final int FLAG_TOUCHED_X = 1; - private static final int FLAG_TOUCHED_Y = 2; - private static final int FLAG_ON_CURVE = 4; - private static final int FLAG_CONTOUR_END = 8; + public double scaleX, scaleY, shearX, shearY; public Zone(int maxNumPoints) { - origPos = new int[maxNumPoints * 2]; - pos = new int[maxNumPoints * 2]; - flags = new byte[maxNumPoints]; + points = new Point[maxNumPoints]; } - public int getCapacity() { - return flags.length; + return points.length; } @@ -79,91 +73,110 @@ public final class Zone public int getX(int point) { - return pos[2 * point]; + return getX(point, FontDelegate.FLAG_FITTED); + } + + public int getX(int point, int flags) + { + int x; + if ((flags & FontDelegate.FLAG_FITTED) != 0) + x = points[point].x; + else + x = points[point].scaledX; + return x; } public void setX(int point, int value, boolean touch) { - pos[2 * point] = value; + points[point].scaledX = value; + points[point].x = value; if (touch) - flags[point] |= FLAG_TOUCHED_X; + points[point].flags |= Point.FLAG_TOUCHED_X; } public void setY(int point, int value, boolean touch) { - pos[2 * point + 1] = value; + points[point].scaledY = value; + points[point].y = value; if (touch) - flags[point] |= FLAG_TOUCHED_Y; + points[point].flags |= Point.FLAG_TOUCHED_Y; } - public int getY(int point) { - return pos[2 * point + 1]; + return getY(point, FontDelegate.FLAG_FITTED); + } + + public int getY(int point, int flags) + { + int y; + if ((flags & FontDelegate.FLAG_FITTED) != 0) + y = points[point].y; + else + y = points[point].scaledY; + return y; } public int getOriginalX(int point) { - return origPos[2 * point]; + return points[point].origX; } public int getOriginalY(int point) { - return origPos[2 * point + 1]; + return points[point].origY; } public void setOriginalX(int point, int x) { - origPos[2 * point] = x; + points[point].origX = x; } public void setOriginalY(int point, int y) { - origPos[2 * point + 1] = y; + points[point].origY = y; } public void setNumPoints(int numPoints) { - this.numPoints = numPoints; for (int i = 0; i < numPoints; i++) - flags[i] = 0; - for (int i = 0; i < 2 * numPoints; i++) - origPos[i] = pos[i] = 0; + points[i] = new Point(); + this.numPoints = numPoints; } public boolean isOnCurve(int point) { - return (flags[point] & FLAG_ON_CURVE) != 0; + return (points[point].flags & Point.FLAG_ON_CURVE) != 0; } public void setOnCurve(int point, boolean onCurve) { if (onCurve) - flags[point] |= FLAG_ON_CURVE; + points[point].flags |= Point.FLAG_ON_CURVE; else - flags[point] &= ~FLAG_ON_CURVE; + points[point].flags &= ~Point.FLAG_ON_CURVE; } public boolean isContourEnd(int point) { - return (flags[point] & FLAG_CONTOUR_END) != 0; + return (points[point].flags & Point.FLAG_CONTOUR_END) != 0; } public void setContourEnd(int point, boolean segEnd) { if (segEnd) - flags[point] |= FLAG_CONTOUR_END; + points[point].flags |= Point.FLAG_CONTOUR_END; else - flags[point] &= ~FLAG_CONTOUR_END; + points[point].flags &= ~Point.FLAG_CONTOUR_END; } @@ -172,7 +185,6 @@ public final class Zone void transform(double pointSize, AffineTransform deviceTransform, int unitsPerEm, int preTranslateX, int preTranslateY) { - double scaleX, scaleY, shearX, shearY; double factor; factor = pointSize / (double) unitsPerEm; @@ -183,11 +195,13 @@ public final class Zone for (int i = 0; i < numPoints; i++) { - int x = origPos[2 * i] + preTranslateX; - int y = origPos[2 * i + 1] + preTranslateY; + int x = points[i].origX + preTranslateX; + int y = points[i].origY + preTranslateY; - origPos[2*i] = pos[2 * i] = Fixed.valueOf(scaleX * x + shearX * y); - origPos[2*i+1] = pos[2 * i + 1] = Fixed.valueOf(shearY * x + scaleY * y); + points[i].scaledX = points[i].x = Fixed.valueOf(scaleX * x + + shearX * y); + points[i].scaledY = points[i].y = Fixed.valueOf(shearY * x + + scaleY * y); } } @@ -197,11 +211,7 @@ public final class Zone { int offset = this.numPoints - numPhantomPoints; int count = zone.numPoints; - System.arraycopy(zone.origPos, 0, this.origPos, 2 * offset, - count * 2); - System.arraycopy(zone.pos, 0, this.pos, 2 * offset, - count * 2); - System.arraycopy(zone.flags, 0, this.flags, offset, count); + System.arraycopy(zone.points, 0, this.points, offset, count); this.numPoints += count - numPhantomPoints; } @@ -211,9 +221,9 @@ public final class Zone for (int i = 0; i < numPoints; i++) { System.out.print(" " + i + ": "); - System.out.print(Fixed.toString(pos[i*2], pos[i*2+1])); + System.out.print(Fixed.toString(points[i].scaledX, points[i].scaledY)); System.out.print(' '); - System.out.print(Fixed.toString(origPos[i*2], origPos[i*2+1])); + System.out.print(Fixed.toString(points[i].origX, points[i].origY)); System.out.print(' '); if (isOnCurve(i)) System.out.print('.'); @@ -228,16 +238,54 @@ public final class Zone } - public PathIterator getPathIterator() + public PathIterator getPathIterator(int type) { - return new ZonePathIterator(this); + return new ZonePathIterator(this, type); } - public GeneralPath getPath() + public GeneralPath getPath(int type) { GeneralPath p = new GeneralPath(GeneralPath.WIND_NON_ZERO, numPoints); - p.append(getPathIterator(), /* connect */ false); + p.append(getPathIterator(type), /* connect */ false); return p; } + + /** + * Returns the number of contours in this outline. + * + * @return the number of contours in this outline + */ + public int getNumContours() + { + int num = 0; + for (int i = 0; i < numPoints; i++) + { + if (isContourEnd(i)) + num++; + } + return num; + } + + public int getContourEnd(int n) + { + int idx = -1; + int num = 0; + for (int i = 0; i < numPoints; i++) + { + if (isContourEnd(i)) + { + idx = i; + if (num == n) + break; + num++; + } + } + return idx; + } + + public Point[] getPoints() + { + return points; + } } diff --git a/libjava/classpath/gnu/java/awt/font/opentype/truetype/ZonePathIterator.java b/libjava/classpath/gnu/java/awt/font/opentype/truetype/ZonePathIterator.java index d000b9c..0f60828 100644 --- a/libjava/classpath/gnu/java/awt/font/opentype/truetype/ZonePathIterator.java +++ b/libjava/classpath/gnu/java/awt/font/opentype/truetype/ZonePathIterator.java @@ -116,6 +116,7 @@ final class ZonePathIterator private int contourStart; + private int type; /** * Constructs a ZonePathIterator for the specified zone. @@ -123,9 +124,10 @@ final class ZonePathIterator * @param zone the zone whose segments will be enumerated * by this iterator. */ - ZonePathIterator(Zone zone) + ZonePathIterator(Zone zone, int t) { this.zone = zone; + type = t; numPoints = zone.getSize() - /* four phantom points */ 4; // The first segment that needs to be emitted is a SEG_MOVETO. @@ -309,8 +311,8 @@ final class ZonePathIterator int curX, curY; int succ, succX, succY; - curX = zone.getX(cur); - curY = zone.getY(cur); + curX = zone.getX(cur, type); + curY = zone.getY(cur, type); coords[0] = Fixed.floatValue(curX); coords[1] = Fixed.floatValue(curY); @@ -318,8 +320,8 @@ final class ZonePathIterator return PathIterator.SEG_LINETO; succ = getSuccessor(cur); - succX = zone.getX(succ); - succY = zone.getY(succ); + succX = zone.getX(succ, type); + succY = zone.getY(succ, type); if (zone.isOnCurve(succ)) { @@ -359,8 +361,8 @@ final class ZonePathIterator if (zone.isOnCurve(contourStart)) { - x = zone.getX(contourStart); - y = zone.getY(contourStart); + x = zone.getX(contourStart, type); + y = zone.getY(contourStart, type); } else { @@ -374,13 +376,13 @@ final class ZonePathIterator /* An example is the 'o' glyph of the Helvetica which comes * with Apple MacOS X 10.1.5. */ - x = zone.getX(contourEnd); - y = zone.getY(contourEnd); + x = zone.getX(contourEnd, type); + y = zone.getY(contourEnd, type); } else { - x = (zone.getX(contourStart) + zone.getX(contourEnd)) / 2; - y = (zone.getY(contourStart) + zone.getY(contourEnd)) / 2; + x = (zone.getX(contourStart, type) + zone.getX(contourEnd, type)) / 2; + y = (zone.getY(contourStart, type) + zone.getY(contourEnd, type)) / 2; } } diff --git a/libjava/classpath/gnu/java/awt/java2d/AbstractGraphics2D.java b/libjava/classpath/gnu/java/awt/java2d/AbstractGraphics2D.java index da21253..f6c5ff0 100644 --- a/libjava/classpath/gnu/java/awt/java2d/AbstractGraphics2D.java +++ b/libjava/classpath/gnu/java/awt/java2d/AbstractGraphics2D.java @@ -67,8 +67,6 @@ import java.awt.geom.Ellipse2D; import java.awt.geom.GeneralPath; import java.awt.geom.Line2D; import java.awt.geom.NoninvertibleTransformException; -import java.awt.geom.PathIterator; -import java.awt.geom.Rectangle2D; import java.awt.geom.RoundRectangle2D; import java.awt.image.BufferedImage; import java.awt.image.BufferedImageOp; @@ -82,7 +80,6 @@ import java.awt.image.renderable.RenderableImage; import java.text.AttributedCharacterIterator; import java.util.ArrayList; import java.util.HashMap; -import java.util.Iterator; import java.util.Map; /** @@ -154,6 +151,11 @@ public abstract class AbstractGraphics2D { /** + * The default font to use on the graphics object. + */ + private static final Font FONT = new Font("SansSerif", Font.PLAIN, 12); + + /** * Accuracy of the sampling in the anti-aliasing shape filler. * Lower values give more speed, while higher values give more quality. * It is advisable to choose powers of two. @@ -164,7 +166,14 @@ public abstract class AbstractGraphics2D * Caches certain shapes to avoid massive creation of such Shapes in * the various draw* and fill* methods. */ - private static final ThreadLocal shapeCache = new ThreadLocal(); + private static final ThreadLocal shapeCache = + new ThreadLocal(); + + /** + * The scanline converters by thread. + */ + private static final ThreadLocal scanlineConverters = + new ThreadLocal(); /** * The transformation for this Graphics2D instance @@ -177,6 +186,11 @@ public abstract class AbstractGraphics2D private Paint paint; /** + * The paint context during rendering. + */ + private PaintContext paintContext; + + /** * The background. */ private Color background; @@ -239,6 +253,17 @@ public abstract class AbstractGraphics2D */ private boolean isOptimized = true; + private static final BasicStroke STANDARD_STROKE = new BasicStroke(); + + private static final HashMap STANDARD_HINTS; + static { + HashMap hints = new HashMap(); + hints.put(RenderingHints.KEY_TEXT_ANTIALIASING, + RenderingHints.VALUE_TEXT_ANTIALIAS_DEFAULT); + hints.put(RenderingHints.KEY_ANTIALIASING, + RenderingHints.VALUE_ANTIALIAS_DEFAULT); + STANDARD_HINTS = hints; + } /** * Creates a new AbstractGraphics2D instance. */ @@ -247,13 +272,8 @@ public abstract class AbstractGraphics2D transform = new AffineTransform(); background = Color.WHITE; composite = AlphaComposite.SrcOver; - stroke = new BasicStroke(); - HashMap hints = new HashMap(); - hints.put(RenderingHints.KEY_TEXT_ANTIALIASING, - RenderingHints.VALUE_TEXT_ANTIALIAS_DEFAULT); - hints.put(RenderingHints.KEY_ANTIALIASING, - RenderingHints.VALUE_ANTIALIAS_DEFAULT); - renderingHints = new RenderingHints(hints); + stroke = STANDARD_STROKE; + renderingHints = new RenderingHints(STANDARD_HINTS); } /** @@ -958,15 +978,8 @@ public abstract class AbstractGraphics2D */ public void drawGlyphVector(GlyphVector gv, float x, float y) { - int numGlyphs = gv.getNumGlyphs(); translate(x, y); - // TODO: We could use fill(gv.getOutline()), but that seems to be - // slightly more inefficient. - for (int i = 0; i < numGlyphs; i++) - { - Shape o = gv.getGlyphOutline(i); - fillShape(o, true); - } + fillShape(gv.getOutline(), true); translate(-x, -y); } @@ -1557,21 +1570,14 @@ public abstract class AbstractGraphics2D antialias = (v == RenderingHints.VALUE_ANTIALIAS_ON); } - Rectangle2D userBounds = s.getBounds2D(); - Rectangle2D deviceBounds = new Rectangle2D.Double(); - ArrayList segs = getSegments(s, transform, deviceBounds, false); - Rectangle2D clipBounds = new Rectangle2D.Double(); - ArrayList clipSegs = getSegments(clip, transform, clipBounds, true); - segs.addAll(clipSegs); - Rectangle2D inclClipBounds = new Rectangle2D.Double(); - Rectangle2D.union(clipBounds, deviceBounds, inclClipBounds); - if (segs.size() > 0) + ScanlineConverter sc = getScanlineConverter(); + int resolution = 0; + if (antialias) { - if (antialias) - fillShapeAntialias(segs, deviceBounds, userBounds, inclClipBounds); - else - fillShapeImpl(segs, deviceBounds, userBounds, inclClipBounds); + // Adjust resolution according to rendering hints. + resolution = 2; } + sc.renderShape(this, s, clip, transform, resolution); } /** @@ -1705,141 +1711,6 @@ public abstract class AbstractGraphics2D } /** - * Fills the specified polygon without anti-aliasing. - */ - private void fillShapeImpl(ArrayList segs, Rectangle2D deviceBounds2D, - Rectangle2D userBounds, - Rectangle2D inclClipBounds) - { - // This is an implementation of a polygon scanline conversion algorithm - // described here: - // http://www.cs.berkeley.edu/~ug/slide/pipeline/assignments/scan/ - - // Create table of all edges. - // The edge buckets, sorted and indexed by their Y values. - - double minX = deviceBounds2D.getMinX(); - double minY = deviceBounds2D.getMinY(); - double maxX = deviceBounds2D.getMaxX(); - double maxY = deviceBounds2D.getMaxY(); - double icMinY = inclClipBounds.getMinY(); - double icMaxY = inclClipBounds.getMaxY(); - Rectangle deviceBounds = new Rectangle((int) minX, (int) minY, - (int) Math.ceil(maxX) - (int) minX, - (int) Math.ceil(maxY) - (int) minY); - PaintContext pCtx = paint.createContext(getColorModel(), deviceBounds, - userBounds, transform, renderingHints); - - ArrayList[] edgeTable = new ArrayList[(int) Math.ceil(icMaxY) - - (int) Math.ceil(icMinY) + 1]; - - for (Iterator i = segs.iterator(); i.hasNext();) - { - PolyEdge edge = (PolyEdge) i.next(); - int yindex = (int) Math.ceil(edge.y0) - (int) Math.ceil(icMinY); - if (edgeTable[yindex] == null) // Create bucket when needed. - edgeTable[yindex] = new ArrayList(); - edgeTable[yindex].add(edge); // Add edge to the bucket of its line. - } - - // TODO: The following could be useful for a future optimization. -// // Sort all the edges in the edge table within their buckets. -// for (int y = 0; y < edgeTable.length; y++) -// { -// if (edgeTable[y] != null) -// Collections.sort(edgeTable[y]); -// } - - // The activeEdges list contains all the edges of the current scanline - // ordered by their intersection points with this scanline. - ArrayList activeEdges = new ArrayList(); - PolyEdgeComparator comparator = new PolyEdgeComparator(); - - // Scan all relevant lines. - int minYInt = (int) Math.ceil(icMinY); - - Rectangle devClip = getDeviceBounds(); - int scanlineMax = (int) Math.min(maxY, devClip.getMaxY()); - for (int y = minYInt; y < scanlineMax; y++) - { - ArrayList bucket = edgeTable[y - minYInt]; - // Update all the x intersections in the current activeEdges table - // and remove entries that are no longer in the scanline. - for (Iterator i = activeEdges.iterator(); i.hasNext();) - { - PolyEdge edge = (PolyEdge) i.next(); - if (y > edge.y1) - i.remove(); - else - { - edge.xIntersection += edge.slope; - //edge.xIntersection = edge.x0 + edge.slope * (y - edge.y0); - //System.err.println("edge.xIntersection: " + edge.xIntersection); - } - } - - if (bucket != null) - activeEdges.addAll(bucket); - - // Sort current edges. We are using a bubble sort, because the order - // of the intersections will not change in most situations. They - // will only change, when edges intersect each other. - int size = activeEdges.size(); - if (size > 1) - { - for (int i = 1; i < size; i++) - { - PolyEdge e1 = (PolyEdge) activeEdges.get(i - 1); - PolyEdge e2 = (PolyEdge) activeEdges.get(i); - if (comparator.compare(e1, e2) > 0) - { - // Swap e2 with its left neighbor until it 'fits'. - int j = i; - do - { - activeEdges.set(j, e1); - activeEdges.set(j - 1, e2); - j--; - if (j >= 1) - e1 = (PolyEdge) activeEdges.get(j - 1); - } while (j >= 1 && comparator.compare(e1, e2) > 0); - } - } - } - - // Now draw all pixels inside the polygon. - // This is the last edge that intersected the scanline. - PolyEdge previous = null; // Gets initialized below. - boolean insideShape = false; - boolean insideClip = false; - //System.err.println("scanline: " + y); - for (Iterator i = activeEdges.iterator(); i.hasNext();) - { - PolyEdge edge = (PolyEdge) i.next(); - if (edge.y1 <= y) - continue; - - // Draw scanline when we are inside the shape AND inside the - // clip. - if (insideClip && insideShape) - { - int x0 = (int) previous.xIntersection; - int x1 = (int) edge.xIntersection; - if (x0 < x1) - fillScanline(pCtx, x0, x1, y); - } - // Update state. - previous = edge; - if (edge.isClip) - insideClip = ! insideClip; - else - insideShape = ! insideShape; - } - } - pCtx.dispose(); - } - - /** * Paints a scanline between x0 and x1. Override this when your backend * can efficiently draw/fill horizontal lines. * @@ -1847,8 +1718,9 @@ public abstract class AbstractGraphics2D * @param x1 the right offset * @param y the scanline */ - protected void fillScanline(PaintContext pCtx, int x0, int x1, int y) + protected void fillScanline(int x0, int x1, int y) { + PaintContext pCtx = paintContext; Raster paintRaster = pCtx.getRaster(x0, y, x1 - x0, 1); ColorModel paintColorModel = pCtx.getColorModel(); CompositeContext cCtx = composite.createContext(paintColorModel, @@ -1860,198 +1732,6 @@ public abstract class AbstractGraphics2D cCtx.dispose(); } - /** - * Fills arbitrary shapes in an anti-aliased fashion. - * - * @param segs the line segments which define the shape which is to be filled - */ - private void fillShapeAntialias(ArrayList segs, Rectangle2D deviceBounds2D, - Rectangle2D userBounds, - Rectangle2D inclClipBounds) - { - // This is an implementation of a polygon scanline conversion algorithm - // described here: - // http://www.cs.berkeley.edu/~ug/slide/pipeline/assignments/scan/ - // The antialiasing is implemented using a sampling technique, we do - // not scan whole lines but fractions of the line. - - double minX = deviceBounds2D.getMinX(); - double minY = deviceBounds2D.getMinY(); - double maxX = deviceBounds2D.getMaxX(); - double maxY = deviceBounds2D.getMaxY(); - double icMinY = inclClipBounds.getMinY(); - double icMaxY = inclClipBounds.getMaxY(); - double icMinX = inclClipBounds.getMinX(); - double icMaxX = inclClipBounds.getMaxX(); - Rectangle deviceBounds = new Rectangle((int) minX, (int) minY, - (int) Math.ceil(maxX) - (int) minX, - (int) Math.ceil(maxY) - (int) minY); - PaintContext pCtx = paint.createContext(ColorModel.getRGBdefault(), - deviceBounds, - userBounds, transform, - renderingHints); - - // This array will contain the oversampled transparency values for - // each pixel in the scanline. - int numScanlines = (int) Math.ceil(icMaxY) - (int) icMinY; - int numScanlinePixels = (int) Math.ceil(icMaxX) - (int) icMinX + 1; - if (alpha == null || alpha.length < (numScanlinePixels + 1)) - alpha = new int[numScanlinePixels + 1]; - - int firstLine = (int) icMinY; - //System.err.println("minY: " + minY); - int firstSubline = (int) (Math.ceil((icMinY - Math.floor(icMinY)) * AA_SAMPLING)); - double firstLineDouble = firstLine + firstSubline / (double) AA_SAMPLING; - //System.err.println("firstSubline: " + firstSubline); - - // Create table of all edges. - // The edge buckets, sorted and indexed by their Y values. - //System.err.println("numScanlines: " + numScanlines); - if (edgeTable == null - || edgeTable.length < numScanlines * AA_SAMPLING + AA_SAMPLING) - edgeTable = new ArrayList[numScanlines * AA_SAMPLING + AA_SAMPLING]; - - //System.err.println("firstLineDouble: " + firstLineDouble); - - for (Iterator i = segs.iterator(); i.hasNext();) - { - PolyEdge edge = (PolyEdge) i.next(); - int yindex = (int) (Math.ceil((edge.y0 - firstLineDouble) * AA_SAMPLING)); - //System.err.println("yindex: " + yindex + " for y0: " + edge.y0); - // Initialize edge's slope and initial xIntersection. - edge.slope = ((edge.x1 - edge.x0) / (edge.y1 - edge.y0)) / AA_SAMPLING; - if (edge.y0 == edge.y1) // Horizontal edge. - edge.xIntersection = Math.min(edge.x0, edge.x1); - else - { - double alignedFirst = Math.ceil(edge.y0 * AA_SAMPLING) / AA_SAMPLING; - edge.xIntersection = edge.x0 + (edge.slope * AA_SAMPLING) * (alignedFirst - edge.y0); - } - //System.err.println(edge); - // FIXME: Sanity check should not be needed when clipping works. - if (yindex >= 0 && yindex < edgeTable.length) - { - if (edgeTable[yindex] == null) // Create bucket when needed. - edgeTable[yindex] = new ArrayList(); - edgeTable[yindex].add(edge); // Add edge to the bucket of its line. - } - } - - // The activeEdges list contains all the edges of the current scanline - // ordered by their intersection points with this scanline. - ArrayList activeEdges = new ArrayList(); - PolyEdgeComparator comparator = new PolyEdgeComparator(); - - // Scan all lines. - int yindex = 0; - //System.err.println("firstLine: " + firstLine + ", maxY: " + maxY + ", firstSubline: " + firstSubline); - for (int y = firstLine; y <= icMaxY; y++) - { - int leftX = (int) icMaxX; - int rightX = (int) icMinX; - boolean emptyScanline = true; - for (int subY = firstSubline; subY < AA_SAMPLING; subY++) - { - //System.err.println("scanline: " + y + ", subScanline: " + subY); - ArrayList bucket = edgeTable[yindex]; - // Update all the x intersections in the current activeEdges table - // and remove entries that are no longer in the scanline. - for (Iterator i = activeEdges.iterator(); i.hasNext();) - { - PolyEdge edge = (PolyEdge) i.next(); - // TODO: Do the following using integer arithmetics. - if ((y + ((double) subY / (double) AA_SAMPLING)) > edge.y1) - i.remove(); - else - { - edge.xIntersection += edge.slope; - //System.err.println("edge: " + edge); - //edge.xIntersection = edge.x0 + edge.slope * (y - edge.y0); - //System.err.println("edge.xIntersection: " + edge.xIntersection); - } - } - - if (bucket != null) - { - activeEdges.addAll(bucket); - edgeTable[yindex].clear(); - } - - // Sort current edges. We are using a bubble sort, because the order - // of the intersections will not change in most situations. They - // will only change, when edges intersect each other. - int size = activeEdges.size(); - if (size > 1) - { - for (int i = 1; i < size; i++) - { - PolyEdge e1 = (PolyEdge) activeEdges.get(i - 1); - PolyEdge e2 = (PolyEdge) activeEdges.get(i); - if (comparator.compare(e1, e2) > 0) - { - // Swap e2 with its left neighbor until it 'fits'. - int j = i; - do - { - activeEdges.set(j, e1); - activeEdges.set(j - 1, e2); - j--; - if (j >= 1) - e1 = (PolyEdge) activeEdges.get(j - 1); - } while (j >= 1 && comparator.compare(e1, e2) > 0); - } - } - } - - // Now draw all pixels inside the polygon. - // This is the last edge that intersected the scanline. - PolyEdge previous = null; // Gets initialized below. - boolean insideClip = false; - boolean insideShape = false; - //System.err.println("scanline: " + y + ", subscanline: " + subY); - for (Iterator i = activeEdges.iterator(); i.hasNext();) - { - PolyEdge edge = (PolyEdge) i.next(); - if (edge.y1 <= (y + (subY / (double) AA_SAMPLING))) - continue; - - if (insideClip && insideShape) - { - // TODO: Use integer arithmetics here. - if (edge.y1 > (y + (subY / (double) AA_SAMPLING))) - { - //System.err.println(edge); - // TODO: Eliminate the aligments. - int x0 = (int) Math.min(Math.max(previous.xIntersection, minX), maxX); - int x1 = (int) Math.min(Math.max(edge.xIntersection, minX), maxX); - //System.err.println("minX: " + minX + ", x0: " + x0 + ", x1: " + x1 + ", maxX: " + maxX); - // TODO: Pull out cast. - int left = x0 - (int) minX; - int right = x1 - (int) minX + 1; - alpha[left]++; - alpha[right]--; - leftX = Math.min(x0, leftX); - rightX = Math.max(x1+2, rightX); - emptyScanline = false; - } - } - previous = edge; - if (edge.isClip) - insideClip = ! insideClip; - else - insideShape = ! insideShape; - } - yindex++; - } - firstSubline = 0; - // Render full scanline. - //System.err.println("scanline: " + y); - if (! emptyScanline) - fillScanlineAA(alpha, leftX, y, rightX - leftX, pCtx, (int) minX); - } - - pCtx.dispose(); - } /** * Fills a horizontal line between x0 and x1 for anti aliased rendering. @@ -2113,7 +1793,6 @@ public abstract class AbstractGraphics2D cCtx.dispose(); } - /** * Initializes this graphics object. This must be called by subclasses in * order to correctly initialize the state of this object. @@ -2121,13 +1800,8 @@ public abstract class AbstractGraphics2D protected void init() { setPaint(Color.BLACK); - setFont(new Font("SansSerif", Font.PLAIN, 12)); + setFont(FONT); isOptimized = true; - - // FIXME: Should not be necessary. A clip of null should mean - // 'clip against device bounds. - destinationRaster = getDestinationRaster(); - clip = getDeviceBounds(); } /** @@ -2267,91 +1941,33 @@ public abstract class AbstractGraphics2D } /** - * Converts the specified shape into a list of segments. - * - * @param s the shape to convert - * @param t the transformation to apply before converting - * @param deviceBounds an output parameter; holds the bounding rectangle of - * s in device space after return - * @param isClip true when the shape is a clip, false for normal shapes; - * this influences the settings in the created PolyEdge instances. + * Returns the ShapeCache for the calling thread. * - * @return a list of PolyEdge that form the shape in device space + * @return the ShapeCache for the calling thread */ - private ArrayList getSegments(Shape s, AffineTransform t, - Rectangle2D deviceBounds, boolean isClip) + private ShapeCache getShapeCache() { - // Flatten the path. TODO: Determine the best flattening factor - // wrt to speed and quality. - PathIterator path = s.getPathIterator(getTransform(), 1.0); - - // Build up polygons and let the native backend render this using - // rawFillShape() which would provide a default implementation for - // drawPixel using a PolyScan algorithm. - double[] seg = new double[6]; - - // TODO: Use ArrayList here when availble. - ArrayList segs = new ArrayList(); - double segX = 0.; // The start point of the current edge. - double segY = 0.; - double polyX = 0.; // The start point of the current polygon. - double polyY = 0.; - - double minX = Integer.MAX_VALUE; - double maxX = Integer.MIN_VALUE; - double minY = Integer.MAX_VALUE; - double maxY = Integer.MIN_VALUE; - - //System.err.println("fill polygon"); - while (! path.isDone()) + ShapeCache sc = shapeCache.get(); + if (sc == null) { - int segType = path.currentSegment(seg); - minX = Math.min(minX, seg[0]); - maxX = Math.max(maxX, seg[0]); - minY = Math.min(minY, seg[1]); - maxY = Math.max(maxY, seg[1]); - - //System.err.println("segment: " + segType + ", " + seg[0] + ", " + seg[1]); - if (segType == PathIterator.SEG_MOVETO) - { - segX = seg[0]; - segY = seg[1]; - polyX = seg[0]; - polyY = seg[1]; - } - else if (segType == PathIterator.SEG_CLOSE) - { - // Close the polyline. - PolyEdge edge = new PolyEdge(segX, segY, - polyX, polyY, isClip); - segs.add(edge); - } - else if (segType == PathIterator.SEG_LINETO) - { - PolyEdge edge = new PolyEdge(segX, segY, - seg[0], seg[1], isClip); - segs.add(edge); - segX = seg[0]; - segY = seg[1]; - } - path.next(); + sc = new ShapeCache(); + shapeCache.set(sc); } - deviceBounds.setRect(minX, minY, maxX - minX, maxY - minY); - return segs; + return sc; } /** - * Returns the ShapeCache for the calling thread. + * Returns the scanline converter for this thread. * - * @return the ShapeCache for the calling thread + * @return the scanline converter for this thread */ - private ShapeCache getShapeCache() + private ScanlineConverter getScanlineConverter() { - ShapeCache sc = (ShapeCache) shapeCache.get(); + ScanlineConverter sc = scanlineConverters.get(); if (sc == null) { - sc = new ShapeCache(); - shapeCache.set(sc); + sc = new ScanlineConverter(); + scanlineConverters.set(sc); } return sc; } diff --git a/libjava/classpath/gnu/java/awt/java2d/ActiveEdges.java b/libjava/classpath/gnu/java/awt/java2d/ActiveEdges.java new file mode 100644 index 0000000..4d1e777 --- /dev/null +++ b/libjava/classpath/gnu/java/awt/java2d/ActiveEdges.java @@ -0,0 +1,195 @@ +/* ActiveEdges.java -- A collection of active edges for scanline conversion + Copyright (C) 2006 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 gnu.java.awt.java2d; + +/** + * A collection of active edges for scanline conversion. + */ +final class ActiveEdges +{ + + /** + * The active edges. This can contain null values at arbirary locations. + * The method #sort() packs this together. + */ + private PolyEdge[] activeEdges; + + /** + * The actual number of active edges. The array can be bigger than this + * number. + */ + private int numActiveEdges; + + /** + * Creates a new ActiveEdges object. + */ + ActiveEdges() + { + activeEdges = new PolyEdge[8]; + numActiveEdges = 0; + } + + /** + * Clears out all active edges. This is cheap as it simply resets the + * counter to 0. It does not release all references to PolyEdge instances. + */ + void clear() + { + numActiveEdges = 0; + } + + /** + * Adds the specified edge to the list of active edges. This does not yet + * sort the edges and therefore does destroy any order of the list. + * + * @param edge the edge to add + */ + void add(PolyEdge edge) + { + // Grow array when necessary. + int oldSize = activeEdges.length; + if (numActiveEdges >= oldSize) + { + int newSize = oldSize + oldSize / 4 + 1; + PolyEdge[] newEdges = new PolyEdge[newSize]; + System.arraycopy(activeEdges, 0, newEdges, 0, oldSize); + activeEdges = newEdges; + } + activeEdges[numActiveEdges] = edge; + numActiveEdges++; + } + + /** + * Intersects all active edges, sorts them according to their intersection + * points and packs the array to remove unneeded edges. This does also + * remove any edges that do not intersect the scanline (i.e. they end above + * of the scanline). + * + * @param y the scanline height + */ + void intersectSortAndPack(int n, int y) + { + // Intersect and pack in one go. + int last = 0; + PolyEdge tmp; + for (int i = 0; i < numActiveEdges; i++) + { + PolyEdge edge = activeEdges[i]; + // Clear out edge that ends above the scanline. + if (edge != null && edge.y1 >= y) + { + assert edge.y1 >= y && edge.y0 <= y : "edge must cross scanline"; + edge.intersect(n, y); + activeEdges[last] = edge; + last++; + + // Bubble up the added edge. + for (int j = last - 1; j > 0; j--) + { + if (activeEdges[j].xIntersection + < activeEdges[j - 1].xIntersection) + { + tmp = activeEdges[j]; + activeEdges[j] = activeEdges[j - 1]; + activeEdges[j - 1] = tmp; + } + else + { + // The beginning of the list is already sorted. + break; + } + } + } + } + numActiveEdges = last; + + } + + /** + * Returns the number of active edges. This is only reliable after a + * call to {@link #intersectSortAndPack(int, int)}. + * + * @return the number of active edges + */ + int getNumActiveEdges() + { + return numActiveEdges; + } + + /** + * Returns the active edge at the position i. + * + * @param i the index + * + * @return the active edge at the specified index + */ + PolyEdge getActiveEdge(int i) + { + return activeEdges[i]; + } + + /** + * Removes all edges that end above the specified height. + * + * @param y the cut-off height + */ + void remove(int y) + { + for (int i = 0; i < numActiveEdges; i++) + { + PolyEdge edge = activeEdges[i]; + if (edge != null && edge.y1 < y) + { + activeEdges[i] = null; + } + } + } + + public String toString() + { + StringBuilder s = new StringBuilder(); + s.append("[ActiveEdges] "); + for (int i = 0; i < numActiveEdges; i++) + { + s.append(activeEdges[i]); + s.append(','); + } + return s.toString(); + } +} diff --git a/libjava/classpath/gnu/java/awt/java2d/PolyEdge.java b/libjava/classpath/gnu/java/awt/java2d/PolyEdge.java index 6c3b546..eb0cc7f 100644 --- a/libjava/classpath/gnu/java/awt/java2d/PolyEdge.java +++ b/libjava/classpath/gnu/java/awt/java2d/PolyEdge.java @@ -38,31 +38,38 @@ exception statement from your version. */ package gnu.java.awt.java2d; +import gnu.java.math.Fixed; + /** - * An edge in a polygon. This is used by the scanline conversion algorithm - * implemented in {@link AbstractGraphics2D#rawFillShape}. + * An edge in a polygon. * * @author Roman Kennke (kennke@aicas.com) */ -public class PolyEdge +final class PolyEdge implements Comparable { /** * The start and end coordinates of the edge. y0 is always smaller or equal * than y1. + * + * These values are stored as fixed-point decimals. */ - public double x0, y0, x1, y1; + public int x0, y0, x1, y1; /** * The slope of the edge. This is dx / dy. + * + * This is a fixed point decimal. */ - double slope; + private int slope; /** * The intersection of this edge with the current scanline. + * + * This is a fixed point decimal. */ - double xIntersection; + int xIntersection; /** * Indicates whether this edge is from the clip or from the target shape. @@ -70,6 +77,24 @@ public class PolyEdge boolean isClip; /** + * Implements a linked list for the edge pool. + */ + PolyEdge poolNext; + + /** + * Implements a linked list for the scanline edge lists. + */ + PolyEdge scanlineNext; + + /** + * Create an uninitialized edge. + */ + PolyEdge() + { + // Nothing to do here. + } + + /** * Creates a new PolyEdge with the specified coordinates. * * @param x0 the starting point, x coordinate @@ -77,7 +102,20 @@ public class PolyEdge * @param x1 the end point, x coordinate * @param y1 the end point, y coordinate */ - PolyEdge(double x0, double y0, double x1, double y1, boolean clip) + PolyEdge(int n, int x0, int y0, int x1, int y1, boolean clip) + { + init(n, x0, y0, x1, y1, clip); + } + + /** + * (Re-) Initializes this edge. + * + * @param x0 + * @param y0 + * @param x1 + * @param y1 + */ + void init(int n, int x0, int y0, int x1, int y1, boolean clip) { isClip = clip; if (y0 < y1) @@ -94,11 +132,7 @@ public class PolyEdge this.x1 = x0; this.y1 = y0; } - slope = (this.x1 - this.x0) / (this.y1 - this.y0); - if (this.y0 == this.y1) // Horizontal edge. - xIntersection = Math.min(this.x0, this.x1); - else - xIntersection = this.x0 + slope * (Math.ceil(this.y0) - this.y0); + slope = Fixed.div(n, this.x1 - this.x0, this.y1 - this.y0); } /** @@ -115,6 +149,19 @@ public class PolyEdge return comp; } + /** + * Intersects this edge with the scanline at height y. The result is + * stored in {@link #xIntersection}. + * + * @param y the scanline + */ + void intersect(int n, int y) + { + int dy = y - y0; + int dx = Fixed.mul(n, slope, dy); + xIntersection = x0 + dx; + } + public String toString() { return "Edge: " + x0 + ", " + y0 + ", " + x1 + ", " + y1 + ", slope: " diff --git a/libjava/classpath/gnu/java/awt/java2d/Scanline.java b/libjava/classpath/gnu/java/awt/java2d/Scanline.java new file mode 100644 index 0000000..24c3d34 --- /dev/null +++ b/libjava/classpath/gnu/java/awt/java2d/Scanline.java @@ -0,0 +1,91 @@ +/* Scanline.java -- A scanline for the scanline converter + Copyright (C) 2006 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 gnu.java.awt.java2d; + +/** + * Represents a scanline in the {@link ScanlineConverter}. This is basically + * a sorted list of {@link PolyEdge}s that is made for maximum reuse. + */ +class Scanline +{ + + /** + * The actual edges array. The fields can be null. + */ + private PolyEdge edges; + + /** + * Clears this scanline. This only resets the number of edges to 0. The + * actual PolyEdge objects are preserved for possible later reuse. + */ + void clear() + { + edges = null; + } + + /** + * Create a new Scanline. + */ + Scanline() + { + // Nothing to do. + } + + /** + * Inserts an edge into this scanline. This is performed in a sorted fashion, + * and so that it reuses as much existing resources as possible. + */ + void addEdge(PolyEdge edge) + { + + // Allocate PolyEdge when necessary or reuse an old one. + edge.scanlineNext = edges; + edges = edge; + } + + /** + * Returns the edges queue. + * + * @return the edges queue + */ + PolyEdge getEdges() + { + return edges; + } +} diff --git a/libjava/classpath/gnu/java/awt/java2d/ScanlineConverter.java b/libjava/classpath/gnu/java/awt/java2d/ScanlineConverter.java new file mode 100644 index 0000000..9f9d892 --- /dev/null +++ b/libjava/classpath/gnu/java/awt/java2d/ScanlineConverter.java @@ -0,0 +1,404 @@ +/* ScanlineConverter.java -- Rasterizes Shapes + Copyright (C) 2006 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 gnu.java.awt.java2d; + +import gnu.java.math.Fixed; + +import java.awt.Shape; +import java.awt.geom.AffineTransform; +import java.awt.geom.PathIterator; + +/** + * Rasterizes {@link Shape} objects on an AbstractGraphics2D. + */ +final class ScanlineConverter +{ + + /** + * The number of digits to use for fixed point arithmetics. + */ + private static int FIXED_DIGITS = 6; + + /** + * The fixed value for the number 1. + */ + private static int ONE = Fixed.fixedValue(FIXED_DIGITS, 1); + + /** + * The actual number of scanlines. + */ + private int numScanlines; + + /** + * The number of scanlines. This can contain more elements than we have + * scanlines. The real number of scanlines is stored in + * {@link #numScanlines}. This can also contain null values for empty + * scanlines. + */ + private Scanline[] scanlines; + + /** + * The upper bounds which correspond to the index 0 in the scanline array. + * + * This is a fixed point value. + */ + private int upperBounds; + + /** + * The resolution of the scanline converter. + * + * This is a fixed point value. + */ + private int resolution; + + /** + * One half step according to the resolution. This is stored to avoid + * unnecessary operations during rendering. + */ + private int halfStep; + + /** + * This is used in {@link #addShape(PathIterator, boolean)} to + * receive the coordinates of the path. + */ + private float[] coords; + + /** + * The active edges. + */ + private ActiveEdges activeEdges; + + private PolyEdge edgePool; + private PolyEdge edgePoolLast; + + private int minY; + private int maxY; + + /** + * Create a new ScanlineConverter. + */ + ScanlineConverter() + { + scanlines = new Scanline[10]; + coords = new float[6]; + activeEdges = new ActiveEdges(); + edgePool = new PolyEdge(); + edgePoolLast = edgePool; + } + + /** + * Renders the specified shape using the specified clip and transform. + * + * @param shape the shape to render + * @param clip the clip + * @param trans the transform + */ + void renderShape(AbstractGraphics2D g, Shape shape, Shape clip, + AffineTransform trans, int res) + { + // Prepare resolution and upper bounds. + clear(); + setResolution(res); + + boolean haveClip = clip != null; + + // Add shapes. + PathIterator path = shape.getPathIterator(trans, resolution); + addShape(path, false); + if (haveClip) + { + path= clip.getPathIterator(trans, resolution); + addShape(path, true); + } + + setUpperBounds(minY); + + PolyEdge edge = edgePool; + while (edge != edgePoolLast) + { + addEdge(edge); + edge = edge.poolNext; + } + + int y = upperBounds; + int lastIndex = scanlineIndex(y - resolution); + int index; + activeEdges.clear(); + // The render loop... + Scanline scanline = null; + while (y <= maxY) + { + // First we put together our list of active edges. + index = scanlineIndex(y); + // If we go outside the scanline array we still need to render the + // remaining edges until they end. + scanline = index < scanlines.length ? scanlines[index] : null; + if (scanline != null) + { + edge = scanline.getEdges(); + while (edge != null) + { + activeEdges.add(edge); + edge = edge.scanlineNext; + } + } + + // Then we intersect all active edges with the current scanline + // and sort them according to their intersection points. + activeEdges.intersectSortAndPack(FIXED_DIGITS, y + halfStep); + + // Ok, now we can perform the actual scanlining. + boolean push = lastIndex != index; + doScanline(g, y, push, haveClip); + + // Remove obsolete active edges. + //activeEdges.remove(y + halfStep); + + // Go on with the next line... + y += resolution; + lastIndex = index; + } + } + + /** + * Clears all scanlines. + */ + private void clear() + { + // Reset edge pool. + edgePoolLast = edgePool; + + // Reset scanlines. + for (int i = scanlines.length - 1; i >= 0 ; i--) + { + Scanline sl = scanlines[i]; + if (sl != null) + sl.clear(); + } + + // Reset bounds. + minY = Integer.MAX_VALUE; + maxY = Integer.MIN_VALUE; + } + + /** + * Performs the scanlining on the current set of active edges. + */ + private void doScanline(AbstractGraphics2D g, int y, boolean push, + boolean haveClip) + { + // We begin outside the clip and outside the shape. We only draw when + // we are inside the clip AND inside the shape. + boolean inClip = ! haveClip; + boolean inShape = false; + PolyEdge lastEdge = null; + int numEdges = activeEdges.getNumActiveEdges(); + for (int i = 0; i < numEdges; i++) + { + PolyEdge edge = activeEdges.getActiveEdge(i); + if (inClip && inShape) + { + assert lastEdge != null; + int x0 = lastEdge.xIntersection; + int x1 = edge.xIntersection; + assert x0 <= x1; + if (push) + { + if (resolution == ONE) + { + // Non-AA rendering. + g.fillScanline(Fixed.intValue(FIXED_DIGITS, x0), + Fixed.intValue(FIXED_DIGITS, x1 - resolution), + Fixed.intValue(FIXED_DIGITS, y)); + } + else + { + // AA rendering. + // FIXME: Implement. + System.err.println("Implement AA rendering."); + } + } + } + if (edge.isClip) + inClip = ! inClip; + else + inShape = ! inShape; + + lastEdge = edge; + } + } + + /** + * Sets the resolution. A value of 0 rasterizes the shape normally without + * anti-aliasing. Greater values renders with a resolution of 2 ^ res. + * + * @param res the resolution + */ + private void setResolution(int res) + { + int one = Fixed.fixedValue(FIXED_DIGITS, 1); + resolution = one / (1 << res); + halfStep = resolution / 2; + } + + /** + * Sets the vertical bounds of that shape that is beeing rendered. + * + * @param y0 the upper bounds + */ + private void setUpperBounds(int y0) + { + upperBounds = fit(y0); + } + + /** + * Add a shape to the scanline converter. + * + * @param path + * @param clip + */ + private void addShape(PathIterator path, boolean clip) + { + int startX = 0; + int startY = 0; + int lastX = 0; + int lastY = 0; + while (! path.isDone()) + { + int type = path.currentSegment(coords); + switch (type) + { + case PathIterator.SEG_MOVETO: + startX = lastX = Fixed.fixedValue(FIXED_DIGITS, coords[0]); + startY = lastY = Fixed.fixedValue(FIXED_DIGITS, coords[1]); + minY = Math.min(startY, minY); + maxY = Math.max(startY, maxY); + break; + case PathIterator.SEG_LINETO: + int x = Fixed.fixedValue(FIXED_DIGITS, coords[0]); + int y = Fixed.fixedValue(FIXED_DIGITS, coords[1]); + edgePoolAdd(lastX, lastY, x, y, clip); + lastX = x; + lastY = y; + minY = Math.min(lastY, minY); + maxY = Math.max(lastY, maxY); + break; + case PathIterator.SEG_CLOSE: + edgePoolAdd(lastX, lastY, startX, startY, clip); + lastX = startX; + lastY = startY; + break; + case PathIterator.SEG_CUBICTO: + case PathIterator.SEG_QUADTO: + default: + assert false; + } + path.next(); + } + } + + /** + * Adds an edge into the scanline array. + */ + private void addEdge(PolyEdge edge) + { + // Determine index. + int upper = Math.min(edge.y0, edge.y1); + // Fit to raster. + int index = scanlineIndex(upper); + // Grow array when necessary. + if (index >= scanlines.length) + { + int oldSize = scanlines.length; + int newSize = Math.max(oldSize + oldSize / 2 + 1, index + 10); + Scanline[] newScanlines = new Scanline[newSize]; + System.arraycopy(scanlines, 0, newScanlines, 0, oldSize); + scanlines = newScanlines; + } + + // Add edge. + if (scanlines[index] == null) + { + scanlines[index] = new Scanline(); + } + scanlines[index].addEdge(edge); + } + + /** + * Fits an Y coordinate to the grid. + * + * @param y the Y coordinate to fit + * + * @return the fitted Y coordinate + */ + private int fit(int y) + { + int val1 = Fixed.div(FIXED_DIGITS, y, resolution); + int rounded = Fixed.round(FIXED_DIGITS, val1); + return Fixed.div(FIXED_DIGITS, rounded, resolution); + } + + /** + * Calculates the scanline index for the specified y coordinate. + * + * @param y the y coordinate as fixed point value + * + * @return the scanline index + */ + private int scanlineIndex(int y) + { + int fitted = fit(y); + // Cleverly skip the fixed point conversions here. + return (fitted - upperBounds)/ resolution; + } + + private void edgePoolAdd(int x0, int y0, int x1, int y1, boolean clip) + { + // Don't need no horizontal edges. + if (y0 != y1) + { + edgePoolLast.init(FIXED_DIGITS, x0, y0, x1, y1, clip); + if (edgePoolLast.poolNext == null) + { + edgePoolLast.poolNext = new PolyEdge(); + } + edgePoolLast = edgePoolLast.poolNext; + } + } +} diff --git a/libjava/classpath/gnu/java/awt/peer/ClasspathDesktopPeer.java b/libjava/classpath/gnu/java/awt/peer/ClasspathDesktopPeer.java new file mode 100644 index 0000000..bef42dc --- /dev/null +++ b/libjava/classpath/gnu/java/awt/peer/ClasspathDesktopPeer.java @@ -0,0 +1,301 @@ +/* ClasspathDesktopPeer.java -- Offers a concrete implementation for DesktopPeer + Copyright (C) 2006, 2007 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 gnu.java.awt.peer; + +import java.awt.AWTPermission; +import java.awt.Desktop.Action; +import java.awt.peer.DesktopPeer; + +import java.io.File; +import java.io.IOException; + +import java.net.URI; + +import java.util.prefs.Preferences; + +/** + * Offers a common implementation for the Desktop peers, that enables + * access to default system application within java processes. + * + * @author Mario Torre + */ +public class ClasspathDesktopPeer + implements DesktopPeer +{ + /** This is the fallback browser, if no desktop was detected. */ + protected static final String _DEFAULT_BROWSER = "firefox"; + + /** gnu.java.awt.peer.Desktop.html.command */ + protected static final String _BROWSE = "html"; + + /** gnu.java.awt.peer.Desktop.mail.command */ + protected static final String _MAIL = "mail"; + + /** gnu.java.awt.peer.Desktop.edit.command */ + protected static final String _EDIT = "edit"; + + /** gnu.java.awt.peer.Desktop.print.command */ + protected static final String _PRINT = "print"; + + /** gnu.java.awt.peer.Desktop.open.command */ + protected static final String _OPEN = "open"; + + /** */ + protected static final KDEDesktopPeer kde = new KDEDesktopPeer(); + + /** */ + protected static final GnomeDesktopPeer gnome = new GnomeDesktopPeer(); + + /** */ + protected static final ClasspathDesktopPeer classpath = + new ClasspathDesktopPeer(); + + /** + * Preference subsystem. Packagers and users can override the default + * behaviour of this class via preferences and system properties. + */ + protected Preferences prefs = + Preferences.userNodeForPackage(ClasspathDesktopPeer.class).node("Desktop"); + + /** + * @param target + */ + protected ClasspathDesktopPeer() + { + /* nothing to do */ + } + + public boolean isSupported(Action action) + { + String check = null; + + switch(action) + { + case BROWSE: + check = _BROWSE; + break; + + case MAIL: + check = _MAIL; + break; + + case EDIT: + check = _EDIT; + break; + + case PRINT: + check = _PRINT; + break; + + case OPEN: default: + check = _OPEN; + break; + } + + return this.supportCommand(check); + } + + public void browse(URI url) throws IOException + { + checkPermissions(); + + String browser = getCommand(_BROWSE); + + if (browser == null) + throw new UnsupportedOperationException(); + + browser = browser + " " + url.toString(); + + Runtime.getRuntime().exec(browser); + } + + public void edit(File file) throws IOException + { + checkPermissions(file, false); + + String edit = getCommand(_EDIT); + + if (edit == null) + throw new UnsupportedOperationException(); + + edit = edit + " " + file.getAbsolutePath(); + Runtime.getRuntime().exec(edit); + } + + public void mail(URI mailtoURL) throws IOException + { + checkPermissions(); + + String scheme = mailtoURL.getScheme(); + if (scheme == null || !scheme.equalsIgnoreCase("mailto")) + throw new IllegalArgumentException("URI Scheme not of type mailto"); + + String mail = getCommand(_MAIL); + + if (mail == null) + throw new UnsupportedOperationException(); + + mail = mail + " " + mailtoURL.toString(); + + Runtime.getRuntime().exec(mail); + } + + public void mail() throws IOException + { + checkPermissions(); + + String mail = getCommand(_MAIL); + + if (mail == null) + throw new UnsupportedOperationException(); + + Runtime.getRuntime().exec(mail); + } + + public void open(File file) throws IOException + { + checkPermissions(file, true); + + String open = getCommand(_OPEN); + + if (open == null) + throw new UnsupportedOperationException(); + + open = open + " " + file.getAbsolutePath(); + Runtime.getRuntime().exec(open); + } + + public void print(File file) throws IOException + { + checkPrintPermissions(file); + + String print = getCommand(_PRINT); + + if (print == null) + throw new UnsupportedOperationException(); + + print = print + " " + file.getAbsolutePath(); + Runtime.getRuntime().exec(print); + } + + protected String getCommand(String action) + { + // check if a system property exist + String command = + System.getProperty("gnu.java.awt.peer.Desktop." + action + ".command"); + + // otherwise, get it from preferences, if any + if (command == null) + { + command = prefs.node(action).get("command", null); + } + + return command; + } + + /** + * Note: Checks for AWTPermission("showWindowWithoutWarningBanner") only. + */ + protected void checkPermissions() + { + SecurityManager sm = System.getSecurityManager(); + if (sm != null) { + sm.checkPermission(new AWTPermission("showWindowWithoutWarningBanner")); + } + } + + /** + * Calls checkPermissions() and checks for SecurityManager.checkRead() + * and, if readOnly is false, for SecurityManager.checkWrite() + */ + protected void checkPermissions(File file, boolean readOnly) + { + checkPermissions(); + + SecurityManager sm = System.getSecurityManager(); + if (sm != null) { + sm.checkRead(file.toString()); + if (!readOnly) sm.checkWrite(file.toString()); + } + } + + /** + * Calls checkPermissions(file, true) and checks for + * SecurityManager.checkPrintJobAccess() + */ + protected void checkPrintPermissions(File file) + { + checkPermissions(file, true); + + SecurityManager sm = System.getSecurityManager(); + if (sm != null) { + sm.checkPrintJobAccess(); + } + } + + /** + * @param check + * @return + */ + protected boolean supportCommand(String check) + { + return ((this.getCommand(check) != null) ? true : false); + } + + /** + * @return + */ + public static DesktopPeer getDesktop() + { + // check if we are under Gnome or KDE or anything else + String desktopSession = System.getenv("GNOME_DESKTOP_SESSION_ID"); + if (desktopSession == null) + { + desktopSession = System.getenv("KDE_FULL_SESSION"); + if (desktopSession != null) + return kde; + } + else + { + return gnome; + } + + // revert to this class for default values + return classpath; + } +} diff --git a/libjava/classpath/gnu/java/awt/peer/ClasspathFontPeer.java b/libjava/classpath/gnu/java/awt/peer/ClasspathFontPeer.java index 2176f34..60fde25 100644 --- a/libjava/classpath/gnu/java/awt/peer/ClasspathFontPeer.java +++ b/libjava/classpath/gnu/java/awt/peer/ClasspathFontPeer.java @@ -54,6 +54,7 @@ import java.awt.peer.FontPeer; import java.text.AttributedCharacterIterator; import java.text.CharacterIterator; import java.util.HashMap; +import java.util.LinkedHashMap; import java.util.Locale; import java.util.Map; @@ -120,6 +121,23 @@ public abstract class ClasspathFontPeer */ protected AffineTransform transform; + static class LRUCache extends LinkedHashMap + { + int max_entries; + public LRUCache(int max) + { + super(max, 0.75f, true); + max_entries = max; + } + protected boolean removeEldestEntry(Map.Entry eldest) + { + return size() > max_entries; + } + } + + private static LRUCache transCache = + new LRUCache(50); + protected static ClasspathToolkit tk() { return (ClasspathToolkit)(Toolkit.getDefaultToolkit ()); @@ -200,7 +218,19 @@ public abstract class ClasspathFontPeer protected static void copyTransformToAttrs (AffineTransform trans, Map attrs) { if (trans != null) - attrs.put(TextAttribute.TRANSFORM, new TransformAttribute (trans)); + { + TransformAttribute ta; + synchronized(transCache) + { + ta = transCache.get(trans); + if (ta == null) + { + ta = new TransformAttribute(trans); + transCache.put(trans, ta); + } + } + attrs.put(TextAttribute.TRANSFORM, ta); + } } diff --git a/libjava/classpath/gnu/java/awt/peer/GnomeDesktopPeer.java b/libjava/classpath/gnu/java/awt/peer/GnomeDesktopPeer.java new file mode 100644 index 0000000..be21631 --- /dev/null +++ b/libjava/classpath/gnu/java/awt/peer/GnomeDesktopPeer.java @@ -0,0 +1,153 @@ +/* GnomeDesktopPeer.java -- Offers a GNOME Desktop peer for DesktopPeer + Copyright (C) 2006, 2007 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 gnu.java.awt.peer; + +import java.io.IOException; +import java.io.InputStream; +import java.net.URI; + +/** + * @author Mario Torre + */ +public class GnomeDesktopPeer + extends ClasspathDesktopPeer +{ + /** + * Query string to use if a GNOME desktop is detected to get the name of the + * default browser. This requires gconftool-2 (part of GNOME). + */ + private static final String BROWSER_QUERY_GNOME = + "gconftool-2 -g /desktop/gnome/url-handlers/http/command"; + + protected String getCommand(String action) + { + // check if a command already exists + String command = super.getCommand(action); + + if (command == null) + { + try + { + if (action == _BROWSE) + { + command = execQuery(BROWSER_QUERY_GNOME); + } + else if (action == _PRINT) + { + command = null; + } + else + { + command = "gnome-open"; + } + } + catch (Exception e) + { + command = null; + } + } + + return command; + } + + public void browse(URI url) throws IOException + { + checkPermissions(); + + String browser = getCommand(_BROWSE); + + if (browser == null) + throw new UnsupportedOperationException(); + + browser = browser + " " + url.toString(); + + Runtime.getRuntime().exec(browser); + } + + protected boolean supportCommand(String check) + { + if (check == _PRINT) + { + return super.supportCommand(check); + } + + return true; + } + + public void mail() throws IOException + { + checkPermissions(); + + String mail = getCommand(_MAIL); + + if (mail == null) + throw new UnsupportedOperationException(); + + Runtime.getRuntime().exec(mail + " mailto:"); + } + + protected String execQuery(String command) throws IOException + { + InputStream in = null; + StringBuilder output = new StringBuilder(); + + try + { + Process process = Runtime.getRuntime().exec(command); + + // Get the input stream and read from it + in = process.getInputStream(); + int c; + while ((c = in.read()) != - 1) + { + output.append((char) c); + } + } + finally + { + if (in != null) + in.close(); + } + + // remove %s from the string, leave only the command line + int index = output.indexOf("%s"); + output.delete(index, index + 1); + + return output.toString().trim(); + } +} diff --git a/libjava/classpath/gnu/java/awt/peer/KDEDesktopPeer.java b/libjava/classpath/gnu/java/awt/peer/KDEDesktopPeer.java new file mode 100644 index 0000000..676bd89 --- /dev/null +++ b/libjava/classpath/gnu/java/awt/peer/KDEDesktopPeer.java @@ -0,0 +1,135 @@ +/* GnomeDesktopPeer.java -- Offers a KDE Desktop peer for DesktopPeer + Copyright (C) 2006, 2007 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 gnu.java.awt.peer; + +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.net.URI; + +/** + * @author Mario Torre + */ +public class KDEDesktopPeer + extends ClasspathDesktopPeer +{ + /** + * Query string to use if a GNOME desktop is detected to get the name of the + * default browser. This requires gconftool-2 (part of GNOME). + */ + private static final String BROWSER_QUERY_GNOME = + "gconftool-2 -g /desktop/gnome/url-handlers/http/command"; + + protected String getCommand(String action) + { + // check if a command already exists + String command = super.getCommand(action); + + if (command == null) + { + try + { + if (action == _MAIL) + { + command = "kfmclient exec"; + } + else if (action == _PRINT) + { + command = "kprinter"; + } + else + { + command = "kfmclient openURL"; + } + } + catch (Exception e) + { + command = null; + } + } + + return command; + } + + protected boolean supportCommand(String check) + { + return true; + } + + public void mail() throws IOException + { + checkPermissions(); + + String mail = getCommand(_MAIL); + + if (mail == null) + throw new UnsupportedOperationException(); + + Runtime.getRuntime().exec(mail + " 'mailto: '"); + } + + protected String execQuery(String command) throws IOException + { + InputStream in = null; + StringBuilder output = new StringBuilder(); + + try + { + Process process = Runtime.getRuntime().exec(command); + + // Get the input stream and read from it + in = process.getInputStream(); + int c; + while ((c = in.read()) != - 1) + { + output.append((char) c); + } + } + finally + { + if (in != null) + in.close(); + } + + // remove %s from the string, leave only the command line + int index = output.indexOf("%s"); + output.delete(index, index + 1); + + return output.toString().trim(); + } +} diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/AsyncImage.java b/libjava/classpath/gnu/java/awt/peer/gtk/AsyncImage.java index 5238bfe..dad537a 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/AsyncImage.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/AsyncImage.java @@ -61,11 +61,11 @@ public class AsyncImage private class NullImageSource implements ImageProducer { - private ArrayList consumers; + private ArrayList consumers; NullImageSource() { - consumers = new ArrayList(); + consumers = new ArrayList(); } public void addConsumer(ImageConsumer ic) @@ -145,14 +145,14 @@ public class AsyncImage * * This is package private to avoid accessor methods. */ - HashSet observers; + HashSet observers; /** * Creates a new AsyncImage that loads from the specified URL. */ AsyncImage(URL url) { - observers = new HashSet(); + observers = new HashSet(); Loader l = new Loader(url); Thread t = new Thread(l); t.start(); @@ -221,7 +221,7 @@ public class AsyncImage { // This field gets null when image loading is complete and we don't // need to store any more observers. - HashSet observs = observers; + HashSet observs = observers; if (observs != null) { observs.add(obs); diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/BufferedImageGraphics.java b/libjava/classpath/gnu/java/awt/peer/gtk/BufferedImageGraphics.java index c792645..31c5e64 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/BufferedImageGraphics.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/BufferedImageGraphics.java @@ -40,6 +40,7 @@ package gnu.java.awt.peer.gtk; import java.awt.AlphaComposite; import java.awt.Color; +import java.awt.Composite; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.GraphicsConfiguration; @@ -49,7 +50,6 @@ import java.awt.Shape; import java.awt.Toolkit; import java.awt.font.GlyphVector; import java.awt.geom.AffineTransform; -import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import java.awt.image.BufferedImage; import java.awt.image.ColorModel; @@ -75,12 +75,6 @@ public class BufferedImageGraphics extends CairoGraphics2D private BufferedImage image, buffer; /** - * Allows us to lock the image from updates (if we want to perform a few - * intermediary operations on the cairo surface, then update it all at once) - */ - private boolean locked; - - /** * Image size. */ private int imageWidth, imageHeight; @@ -93,7 +87,8 @@ public class BufferedImageGraphics extends CairoGraphics2D /** * Cache BufferedImageGraphics surfaces. */ - static WeakHashMap bufferedImages = new WeakHashMap(); + static WeakHashMap bufferedImages + = new WeakHashMap(); /** * Its corresponding cairo_t. @@ -109,30 +104,30 @@ public class BufferedImageGraphics extends CairoGraphics2D this.image = bi; imageWidth = bi.getWidth(); imageHeight = bi.getHeight(); - locked = false; if (!(image.getSampleModel() instanceof SinglePixelPackedSampleModel)) hasFastCM = false; else if(bi.getColorModel().equals(CairoSurface.cairoCM_opaque)) { - hasFastCM = true; - hasAlpha = false; + hasFastCM = true; + hasAlpha = false; } - else if(bi.getColorModel().equals(CairoSurface.cairoColorModel)) + else if(bi.getColorModel().equals(CairoSurface.cairoColorModel) + || bi.getColorModel().equals(CairoSurface.cairoCM_pre)) { - hasFastCM = true; - hasAlpha = true; + hasFastCM = true; + hasAlpha = true; } else hasFastCM = false; // Cache surfaces. if( bufferedImages.get( bi ) != null ) - surface = (CairoSurface)bufferedImages.get( bi ); + surface = bufferedImages.get( bi ); else { - surface = new CairoSurface( imageWidth, imageHeight ); - bufferedImages.put(bi, surface); + surface = new CairoSurface( imageWidth, imageHeight ); + bufferedImages.put(bi, surface); } cairo_t = surface.newCairoContext(); @@ -148,10 +143,7 @@ public class BufferedImageGraphics extends CairoGraphics2D int minY = image.getRaster().getSampleModelTranslateY(); // Pull pixels directly out of data buffer - if(raster instanceof CairoSurface) - pixels = ((CairoSurface)raster).getPixels(raster.getWidth() * raster.getHeight()); - else - pixels = ((DataBufferInt)raster.getDataBuffer()).getData(); + pixels = ((DataBufferInt)raster.getDataBuffer()).getData(); // Discard pixels that fall outside of the image's bounds // (ie, this image is actually a subimage of a different image) @@ -161,7 +153,8 @@ public class BufferedImageGraphics extends CairoGraphics2D int scanline = sm.getScanlineStride(); for (int i = 0; i < imageHeight; i++) - System.arraycopy(pixels, (i - minY) * scanline - minX, pixels2, i * imageWidth, imageWidth); + System.arraycopy(pixels, (i - minY) * scanline - minX, pixels2, + i * imageWidth, imageWidth); pixels = pixels2; } @@ -173,11 +166,13 @@ public class BufferedImageGraphics extends CairoGraphics2D } else { - pixels = CairoGraphics2D.findSimpleIntegerArray(image.getColorModel(),image.getData()); + pixels = CairoGraphics2D.findSimpleIntegerArray(image.getColorModel(), + image.getData()); + if (pixels != null) + System.arraycopy(pixels, 0, surface.getData(), + 0, pixels.length); } - surface.setPixels( pixels ); - setup( cairo_t ); setClip(0, 0, imageWidth, imageHeight); } @@ -189,7 +184,6 @@ public class BufferedImageGraphics extends CairoGraphics2D cairo_t = surface.newCairoContext(); imageWidth = copyFrom.imageWidth; imageHeight = copyFrom.imageHeight; - locked = false; hasFastCM = copyFrom.hasFastCM; hasAlpha = copyFrom.hasAlpha; @@ -202,17 +196,14 @@ public class BufferedImageGraphics extends CairoGraphics2D */ private void updateBufferedImage(int x, int y, int width, int height) { - if (locked) - return; - - double[] points = new double[]{x, y, width+x, height+y}; - transform.transform(points, 0, points, 0, 2); - x = (int)points[0]; - y = (int)points[1]; - width = (int)Math.ceil(points[2] - points[0]); - height = (int)Math.ceil(points[3] - points[1]); + Rectangle bounds = new Rectangle(x, y, width, height); + bounds = getTransformedBounds(bounds, transform).getBounds(); + x = bounds.x; + y = bounds.y; + width = bounds.width; + height = bounds.height; - int[] pixels = surface.getPixels(imageWidth * imageHeight); + int[] pixels = surface.getData(); if( x > imageWidth || y > imageHeight ) return; @@ -403,14 +394,10 @@ public class BufferedImageGraphics extends CairoGraphics2D BufferedImage bImg = (BufferedImage) img; // Find translated bounds - Point2D origin = new Point2D.Double(bImg.getMinX(), bImg.getMinY()); - Point2D pt = new Point2D.Double(bImg.getWidth() + bImg.getMinX(), - bImg.getHeight() + bImg.getMinY()); + Rectangle2D bounds = new Rectangle(bImg.getMinX(), bImg.getMinY(), + bImg.getWidth(), bImg.getHeight()); if (xform != null) - { - origin = xform.transform(origin, origin); - pt = xform.transform(pt, pt); - } + bounds = getTransformedBounds(bounds, xform); // Create buffer and draw image createBuffer(); @@ -420,10 +407,7 @@ public class BufferedImageGraphics extends CairoGraphics2D g2d.drawImage(img, xform, obs); // Perform compositing - return drawComposite(new Rectangle2D.Double(origin.getX(), - origin.getY(), - pt.getX(), pt.getY()), - obs); + return drawComposite(bounds, obs); } } @@ -438,6 +422,11 @@ public class BufferedImageGraphics extends CairoGraphics2D if (comp == null || comp instanceof AlphaComposite) { super.drawGlyphVector(gv, x, y); + + // this returns an integer-based Rectangle (rather than a + // Rectangle2D), which takes care of any necessary rounding for us. + bounds = bounds.getBounds(); + updateBufferedImage((int)bounds.getX(), (int)bounds.getY(), (int)bounds.getWidth(), (int)bounds.getHeight()); } @@ -468,12 +457,7 @@ public class BufferedImageGraphics extends CairoGraphics2D private boolean drawComposite(Rectangle2D bounds, ImageObserver observer) { // Find bounds in device space - double[] points = new double[] {bounds.getX(), bounds.getY(), - bounds.getMaxX(), bounds.getMaxY()}; - transform.transform(points, 0, points, 0, 2); - bounds = new Rectangle2D.Double(points[0], points[1], - (points[2] - points[0]), - (points[3] - points[1])); + bounds = getTransformedBounds(bounds, transform); // Clip bounds by the stored clip, and by the internal buffer Rectangle2D devClip = this.getClipInDevSpace(); @@ -482,17 +466,15 @@ public class BufferedImageGraphics extends CairoGraphics2D buffer.getWidth(), buffer.getHeight()); Rectangle2D.intersect(bounds, devClip, bounds); - // Round bounds as needed, but be conservative in our rounding + // Round bounds as needed, but be careful in our rounding // (otherwise it may leave unpainted stripes) double x = bounds.getX(); double y = bounds.getY(); - double w = bounds.getWidth(); - double h = bounds.getHeight(); - if (Math.floor(x) != x) - w--; - if (Math.floor(y) != y) - h--; - bounds.setRect(Math.ceil(x), Math.ceil(y), Math.floor(w), Math.floor(h)); + double maxX = x + bounds.getWidth(); + double maxY = y + bounds.getHeight(); + x = Math.round(x); + y = Math.round(y); + bounds.setRect(x, y, Math.round(maxX - x), Math.round(maxY - y)); // Find subimage of internal buffer for updating BufferedImage buffer2 = buffer; @@ -511,9 +493,10 @@ public class BufferedImageGraphics extends CairoGraphics2D compCtx.compose(buffer2.getRaster(), current.getRaster(), current.getRaster()); - // Prevent the clearRect in CairoGraphics2D.drawImage from clearing - // our composited image - locked = true; + // Set cairo's composite to direct SRC, since we've already done our own + // compositing + Composite oldcomp = comp; + setComposite(AlphaComposite.Src); // This MUST call directly into the "action" method in CairoGraphics2D, // not one of the wrappers, to ensure that the composite isn't processed @@ -521,8 +504,9 @@ public class BufferedImageGraphics extends CairoGraphics2D boolean rv = super.drawImage(current, AffineTransform.getTranslateInstance(bounds.getX(), bounds.getY()), - new Color(0,0,0,0), null); - locked = false; + null, null); + setComposite(oldcomp); + updateColor(); return rv; } diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/CairoGraphics2D.java b/libjava/classpath/gnu/java/awt/peer/gtk/CairoGraphics2D.java index 4a6ad00..3a38607 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/CairoGraphics2D.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/CairoGraphics2D.java @@ -172,6 +172,12 @@ public abstract class CairoGraphics2D extends Graphics2D * Rendering hint map. */ private RenderingHints hints; + + /** + * Status of the anti-alias flag in cairo. + */ + private boolean antialias = false; + private boolean ignoreAA = false; /** * Some operations (drawing rather than filling) require that their @@ -228,6 +234,7 @@ public abstract class CairoGraphics2D extends Graphics2D setPaint(Color.black); setStroke(new BasicStroke()); setTransform(new AffineTransform()); + cairoSetAntialias(nativePointer, antialias); } /** @@ -244,7 +251,7 @@ public abstract class CairoGraphics2D extends Graphics2D if (g.fg.getAlpha() != -1) foreground = new Color(g.fg.getRed(), g.fg.getGreen(), g.fg.getBlue(), - g.fg.getAlpha()); + g.fg.getAlpha()); else foreground = new Color(g.fg.getRGB()); @@ -274,6 +281,9 @@ public abstract class CairoGraphics2D extends Graphics2D setTransformImpl(transform); setClip(clip); setComposite(comp); + + antialias = !g.antialias; + setAntialias(g.antialias); } /** @@ -311,8 +321,8 @@ public abstract class CairoGraphics2D extends Graphics2D public abstract GraphicsConfiguration getDeviceConfiguration(); - protected abstract void copyAreaImpl(int x, int y, - int width, int height, int dx, int dy); + protected abstract void copyAreaImpl(int x, int y, int width, int height, + int dx, int dy); /** @@ -345,8 +355,8 @@ public abstract class CairoGraphics2D extends Graphics2D int g2, int b2, int a2, boolean cyclic); protected native void setPaintPixels(long pointer, int[] pixels, int w, - int h, int stride, boolean repeat, - int x, int y); + int h, int stride, boolean repeat, + int x, int y); /** * Set the current transform matrix @@ -390,9 +400,9 @@ public abstract class CairoGraphics2D extends Graphics2D /* * Draws a Glyph Vector */ - native void cairoDrawGlyphVector(long pointer, GdkFontPeer font, + protected native void cairoDrawGlyphVector(long pointer, GdkFontPeer font, float x, float y, int n, - int[] codes, float[] positions); + int[] codes, float[] positions, long[] fontset); /** * Set the font in cairo. @@ -454,9 +464,15 @@ public abstract class CairoGraphics2D extends Graphics2D protected native void cairoClip(long pointer); /** - * Save clip + * Clear clip */ protected native void cairoResetClip(long pointer); + + /** + * Set antialias. + */ + protected native void cairoSetAntialias(long pointer, boolean aa); + ///////////////////////// TRANSFORMS /////////////////////////////////// /** @@ -648,33 +664,35 @@ public abstract class CairoGraphics2D extends Graphics2D setColor((Color) paint); customPaint = false; } + else if (paint instanceof TexturePaint) { - TexturePaint tp = (TexturePaint) paint; - BufferedImage img = tp.getImage(); + TexturePaint tp = (TexturePaint) paint; + BufferedImage img = tp.getImage(); - // map the image to the anchor rectangle - int width = (int) tp.getAnchorRect().getWidth(); - int height = (int) tp.getAnchorRect().getHeight(); + // map the image to the anchor rectangle + int width = (int) tp.getAnchorRect().getWidth(); + int height = (int) tp.getAnchorRect().getHeight(); - double scaleX = width / (double) img.getWidth(); - double scaleY = height / (double) img.getHeight(); + double scaleX = width / (double) img.getWidth(); + double scaleY = height / (double) img.getHeight(); - AffineTransform at = new AffineTransform(scaleX, 0, 0, scaleY, 0, 0); - AffineTransformOp op = new AffineTransformOp(at, getRenderingHints()); - BufferedImage texture = op.filter(img, null); - int[] pixels = texture.getRGB(0, 0, width, height, null, 0, width); - setPaintPixels(nativePointer, pixels, width, height, width, true, 0, 0); + AffineTransform at = new AffineTransform(scaleX, 0, 0, scaleY, 0, 0); + AffineTransformOp op = new AffineTransformOp(at, getRenderingHints()); + BufferedImage texture = op.filter(img, null); + int[] pixels = texture.getRGB(0, 0, width, height, null, 0, width); + setPaintPixels(nativePointer, pixels, width, height, width, true, 0, 0); customPaint = false; } + else if (paint instanceof GradientPaint) { - GradientPaint gp = (GradientPaint) paint; - Point2D p1 = gp.getPoint1(); - Point2D p2 = gp.getPoint2(); - Color c1 = gp.getColor1(); - Color c2 = gp.getColor2(); - setGradient(nativePointer, p1.getX(), p1.getY(), p2.getX(), p2.getY(), + GradientPaint gp = (GradientPaint) paint; + Point2D p1 = gp.getPoint1(); + Point2D p2 = gp.getPoint2(); + Color c1 = gp.getColor1(); + Color c2 = gp.getColor2(); + setGradient(nativePointer, p1.getX(), p1.getY(), p2.getX(), p2.getY(), c1.getRed(), c1.getGreen(), c1.getBlue(), c1.getAlpha(), c2.getRed(), c2.getGreen(), c2.getBlue(), c2.getAlpha(), gp.isCyclic()); @@ -703,15 +721,11 @@ public abstract class CairoGraphics2D extends Graphics2D int userHeight = bounds.height; // Find bounds in device space - Point2D origin = transform.transform(new Point2D.Double(userX, userY), - null); - Point2D extreme = transform.transform(new Point2D.Double(userWidth + userX, - userHeight + userY), - null); - int deviceX = (int)origin.getX(); - int deviceY = (int)origin.getY(); - int deviceWidth = (int)Math.ceil(extreme.getX() - origin.getX()); - int deviceHeight = (int)Math.ceil(extreme.getY() - origin.getY()); + Rectangle2D bounds2D = getTransformedBounds(bounds, transform); + int deviceX = (int)bounds2D.getX(); + int deviceY = (int)bounds2D.getY(); + int deviceWidth = (int)Math.ceil(bounds2D.getWidth()); + int deviceHeight = (int)Math.ceil(bounds2D.getHeight()); // Get raster of the paint background PaintContext pc = paint.createContext(CairoSurface.cairoColorModel, @@ -792,21 +806,22 @@ public abstract class CairoGraphics2D extends Graphics2D stroke = st; if (stroke instanceof BasicStroke) { - BasicStroke bs = (BasicStroke) stroke; - cairoSetLine(nativePointer, bs.getLineWidth(), bs.getEndCap(), - bs.getLineJoin(), bs.getMiterLimit()); - - float[] dashes = bs.getDashArray(); - if (dashes != null) - { - double[] double_dashes = new double[dashes.length]; - for (int i = 0; i < dashes.length; i++) - double_dashes[i] = dashes[i]; - cairoSetDash(nativePointer, double_dashes, double_dashes.length, - (double) bs.getDashPhase()); - } - else - cairoSetDash(nativePointer, new double[0], 0, 0.0); + BasicStroke bs = (BasicStroke) stroke; + cairoSetLine(nativePointer, bs.getLineWidth(), bs.getEndCap(), + bs.getLineJoin(), bs.getMiterLimit()); + + float[] dashes = bs.getDashArray(); + if (dashes != null) + { + double[] double_dashes = new double[dashes.length]; + for (int i = 0; i < dashes.length; i++) + double_dashes[i] = dashes[i]; + + cairoSetDash(nativePointer, double_dashes, double_dashes.length, + (double) bs.getDashPhase()); + } + else + cairoSetDash(nativePointer, new double[0], 0, 0.0); } } @@ -864,6 +879,7 @@ public abstract class CairoGraphics2D extends Graphics2D { if (fg == null) fg = Color.BLACK; + cairoSetRGBAColor(nativePointer, fg.getRed() / 255.0, fg.getGreen() / 255.0,fg.getBlue() / 255.0, fg.getAlpha() / 255.0); @@ -916,18 +932,7 @@ public abstract class CairoGraphics2D extends Graphics2D if (transform == null) return uclip; else - { - Point2D pos = transform.transform(new Point2D.Double(uclip.getX(), - uclip.getY()), - (Point2D) null); - Point2D extent = transform.deltaTransform(new Point2D.Double(uclip - .getWidth(), - uclip - .getHeight()), - (Point2D) null); - return new Rectangle2D.Double(pos.getX(), pos.getY(), extent.getX(), - extent.getY()); - } + return getTransformedBounds(clip.getBounds2D(), transform); } public void setClip(int x, int y, int width, int height) @@ -946,8 +951,8 @@ public abstract class CairoGraphics2D extends Graphics2D // initial clip properly. if( firstClip ) { - originalClip = s; - firstClip = false; + originalClip = s; + firstClip = false; } clip = s; @@ -1007,7 +1012,7 @@ public abstract class CairoGraphics2D extends Graphics2D if (comp instanceof AlphaComposite) { - AlphaComposite a = (AlphaComposite) comp; + AlphaComposite a = (AlphaComposite) comp; cairoSetOperator(nativePointer, a.getRule()); } @@ -1066,7 +1071,9 @@ public abstract class CairoGraphics2D extends Graphics2D Rectangle r = findStrokedBounds(s); setCustomPaint(r); } - + + setAntialias(!hints.get(RenderingHints.KEY_ANTIALIASING) + .equals(RenderingHints.VALUE_ANTIALIAS_OFF)); createPath(s, true); cairoStroke(nativePointer); } @@ -1077,7 +1084,9 @@ public abstract class CairoGraphics2D extends Graphics2D if (customPaint) setCustomPaint(s.getBounds()); - + + setAntialias(!hints.get(RenderingHints.KEY_ANTIALIASING) + .equals(RenderingHints.VALUE_ANTIALIAS_OFF)); double alpha = 1.0; if (comp instanceof AlphaComposite) alpha = ((AlphaComposite) comp).getAlpha(); @@ -1263,13 +1272,15 @@ public abstract class CairoGraphics2D extends Graphics2D public void copyArea(int ox, int oy, int owidth, int oheight, int odx, int ody) { + // FIXME: does this handle a rotation transform properly? + // (the width/height might not be correct) Point2D pos = transform.transform(new Point2D.Double(ox, oy), - (Point2D) null); + (Point2D) null); Point2D dim = transform.transform(new Point2D.Double(ox + owidth, - oy + oheight), - (Point2D) null); + oy + oheight), + (Point2D) null); Point2D p2 = transform.transform(new Point2D.Double(ox + odx, oy + ody), - (Point2D) null); + (Point2D) null); int x = (int)pos.getX(); int y = (int)pos.getY(); int width = (int)(dim.getX() - pos.getX()); @@ -1291,14 +1302,14 @@ public abstract class CairoGraphics2D extends Graphics2D // Clip edges if necessary if( x + dx < r.getX() ) // left { - width = x + dx + width; - x = (int)r.getX() - dx; + width = x + dx + width; + x = (int)r.getX() - dx; } if( y + dy < r.getY() ) // top { - height = y + dy + height; - y = (int)r.getY() - dy; + height = y + dy + height; + y = (int)r.getY() - dy; } if( x + dx + width >= r.getWidth() ) // right @@ -1325,10 +1336,10 @@ public abstract class CairoGraphics2D extends Graphics2D return hints.get(hintKey); } - public void setRenderingHints(Map hints) + public void setRenderingHints(Map hints) { this.hints = new RenderingHints(getDefaultHints()); - this.hints.add(new RenderingHints(hints)); + this.hints.putAll(hints); shiftDrawCalls = hints.containsValue(RenderingHints.VALUE_STROKE_NORMALIZE) || hints.containsValue(RenderingHints.VALUE_STROKE_DEFAULT); @@ -1342,7 +1353,7 @@ public abstract class CairoGraphics2D extends Graphics2D public void addRenderingHints(Map hints) { - this.hints.add(new RenderingHints(hints)); + this.hints.putAll(hints); } public RenderingHints getRenderingHints() @@ -1373,6 +1384,24 @@ public abstract class CairoGraphics2D extends Graphics2D // Do bilinear interpolation as default return INTERPOLATION_BILINEAR; } + + /** + * Set antialias if needed. If the ignoreAA flag is set, this method will + * return without doing anything. + * + * @param needAA RenderingHints.VALUE_ANTIALIAS_ON or RenderingHints.VALUE_ANTIALIAS_OFF + */ + private void setAntialias(boolean needAA) + { + if (ignoreAA) + return; + + if (needAA != antialias) + { + antialias = !antialias; + cairoSetAntialias(nativePointer, antialias); + } + } ///////////////////////// IMAGE. METHODS /////////////////////////////////// @@ -1396,12 +1425,12 @@ public abstract class CairoGraphics2D extends Graphics2D try { - invertedXform = xform.createInverse(); + invertedXform = xform.createInverse(); } catch (NoninvertibleTransformException e) { - throw new ImagingOpException("Unable to invert transform " - + xform.toString()); + throw new ImagingOpException("Unable to invert transform " + + xform.toString()); } // Unrecognized image - convert to a BufferedImage @@ -1411,10 +1440,10 @@ public abstract class CairoGraphics2D extends Graphics2D img = AsyncImage.realImage(img, obs); if( !(img instanceof BufferedImage) ) { - ImageProducer source = img.getSource(); - if (source == null) - return false; - img = Toolkit.getDefaultToolkit().createImage(source); + ImageProducer source = img.getSource(); + if (source == null) + return false; + img = Toolkit.getDefaultToolkit().createImage(source); } BufferedImage b = (BufferedImage) img; @@ -1427,7 +1456,7 @@ public abstract class CairoGraphics2D extends Graphics2D // use the cached CairoSurface that BIG is drawing onto if( BufferedImageGraphics.bufferedImages.get( b ) != null ) - raster = (Raster)BufferedImageGraphics.bufferedImages.get( b ); + raster = BufferedImageGraphics.bufferedImages.get( b ); else raster = b.getRaster(); @@ -1437,12 +1466,12 @@ public abstract class CairoGraphics2D extends Graphics2D if (comp instanceof AlphaComposite) alpha = ((AlphaComposite) comp).getAlpha(); - if(raster instanceof CairoSurface) + if(raster instanceof CairoSurface + && ((CairoSurface)raster).sharedBuffer == true) { - ((CairoSurface)raster).drawSurface(nativePointer, i2u, alpha, - getInterpolation()); + drawCairoSurface((CairoSurface)raster, xform, alpha, getInterpolation()); updateColor(); - return true; + return true; } if( bgcolor != null ) @@ -1450,24 +1479,31 @@ public abstract class CairoGraphics2D extends Graphics2D Color oldColor = bg; setBackground(bgcolor); - double[] origin = new double[] {0,0}; - double[] dimensions = new double[] {width, height}; - xform.transform(origin, 0, origin, 0, 1); - xform.deltaTransform(dimensions, 0, dimensions, 0, 1); - clearRect((int)origin[0], (int)origin[1], - (int)dimensions[0], (int)dimensions[1]); + Rectangle2D bounds = new Rectangle2D.Double(0, 0, width, height); + bounds = getTransformedBounds(bounds, xform); + + clearRect((int)bounds.getX(), (int)bounds.getY(), + (int)bounds.getWidth(), (int)bounds.getHeight()); setBackground(oldColor); } int[] pixels = b.getRGB(0, 0, width, height, null, 0, width); - // FIXME: The above method returns data in the standard ARGB colorspace, // meaning data should NOT be alpha pre-multiplied; however Cairo expects // data to be premultiplied. + + cairoSave(nativePointer); + Rectangle2D bounds = new Rectangle2D.Double(0, 0, width, height); + bounds = getTransformedBounds(bounds, xform); + cairoRectangle(nativePointer, bounds.getX(), bounds.getY(), + bounds.getWidth(), bounds.getHeight()); + cairoClip(nativePointer); drawPixels(nativePointer, pixels, width, height, width, i2u, alpha, getInterpolation()); + + cairoRestore(nativePointer); // Cairo seems to lose the current color which must be restored. updateColor(); @@ -1578,6 +1614,66 @@ public abstract class CairoGraphics2D extends Graphics2D { return drawImage(img, dx1, dy1, dx2, dy2, sx1, sy1, sx2, sy2, null, observer); } + + /** + * Optimized method for drawing a CairoSurface onto this graphics context. + * + * @param surface The surface to draw. + * @param tx The transformation matrix (cannot be null). + * @param alpha The alpha value to paint with ( 0 <= alpha <= 1). + * @param interpolation The interpolation type. + */ + protected void drawCairoSurface(CairoSurface surface, AffineTransform tx, + double alpha, int interpolation) + { + // Find offset required if this surface is a sub-raster, and append offset + // to transformation. + if (surface.getSampleModelTranslateX() != 0 + || surface.getSampleModelTranslateY() != 0) + { + Point2D origin = new Point2D.Double(0, 0); + Point2D offset = new Point2D.Double(surface.getSampleModelTranslateX(), + surface.getSampleModelTranslateY()); + + tx.transform(origin, origin); + tx.transform(offset, offset); + + tx.translate(offset.getX() - origin.getX(), + offset.getY() - origin.getY()); + } + + // Find dimensions of this surface relative to the root parent surface + Rectangle bounds = new Rectangle(-surface.getSampleModelTranslateX(), + -surface.getSampleModelTranslateY(), + surface.width, surface.height); + + // Clip to the translated image + // We use direct cairo methods to avoid the overhead of maintaining a + // java copy of the clip, since we will be reverting it immediately + // after drawing + Shape newBounds = tx.createTransformedShape(bounds); + cairoSave(nativePointer); + walkPath(newBounds.getPathIterator(null), false); + cairoClip(nativePointer); + + // Draw the surface + try + { + double[] i2u = new double[6]; + tx.createInverse().getMatrix(i2u); + surface.nativeDrawSurface(surface.surfacePointer, nativePointer, i2u, + alpha, interpolation); + } + catch (NoninvertibleTransformException ex) + { + // This should never happen(?), so we don't need to do anything here. + ; + } + + // Restore clip + cairoRestore(nativePointer); + } + ///////////////////////// TEXT METHODS //////////////////////////////////// @@ -1592,7 +1688,15 @@ public abstract class CairoGraphics2D extends Graphics2D tl = new TextLayout( str, getFont(), getFontRenderContext() ); fontPeer.textLayoutCache.put(str, tl); } + + // Set antialias to text_antialiasing, and set the ignoreAA flag so that + // the setting doesn't get overridden in a draw() or fill() call. + setAntialias(!hints.get(RenderingHints.KEY_TEXT_ANTIALIASING) + .equals(RenderingHints.VALUE_TEXT_ANTIALIAS_OFF)); + ignoreAA = true; + tl.draw(this, x, y); + ignoreAA = false; } public void drawString(String str, int x, int y) @@ -1617,19 +1721,25 @@ public abstract class CairoGraphics2D extends Graphics2D if (comp instanceof AlphaComposite) alpha = ((AlphaComposite) comp).getAlpha(); + + setAntialias(!hints.get(RenderingHints.KEY_TEXT_ANTIALIASING) + .equals(RenderingHints.VALUE_TEXT_ANTIALIAS_OFF)); + ignoreAA = true; + if (gv instanceof FreetypeGlyphVector && alpha == 1.0) { int n = gv.getNumGlyphs (); int[] codes = gv.getGlyphCodes (0, n, null); + long[] fontset = ((FreetypeGlyphVector)gv).getGlyphFonts (0, n, null); float[] positions = gv.getGlyphPositions (0, n, null); setFont (gv.getFont ()); GdkFontPeer fontPeer = (GdkFontPeer) font.getPeer(); - synchronized (fontPeer) - { - cairoDrawGlyphVector(nativePointer, fontPeer, - x, y, n, codes, positions); - } + synchronized (fontPeer) + { + cairoDrawGlyphVector(nativePointer, fontPeer, + x, y, n, codes, positions, fontset); + } } else { @@ -1637,6 +1747,8 @@ public abstract class CairoGraphics2D extends Graphics2D fill(gv.getOutline()); translate(-x, -y); } + + ignoreAA = false; } public void drawString(AttributedCharacterIterator ci, float x, float y) @@ -1702,9 +1814,9 @@ public abstract class CairoGraphics2D extends Graphics2D { if( onStroke ) { - Shape stroked = stroke.createStrokedShape( s ); - return stroked.intersects( (double)rect.x, (double)rect.y, - (double)rect.width, (double)rect.height ); + Shape stroked = stroke.createStrokedShape( s ); + return stroked.intersects( (double)rect.x, (double)rect.y, + (double)rect.width, (double)rect.height ); } return s.intersects( (double)rect.x, (double)rect.y, (double)rect.width, (double)rect.height ); @@ -1747,34 +1859,34 @@ public abstract class CairoGraphics2D extends Graphics2D imageToUser.getMatrix(i2u); else { - i2u[0] = 1; - i2u[1] = 0; - i2u[2] = 0; - i2u[3] = 1; - i2u[4] = 0; - i2u[5] = 0; + i2u[0] = 1; + i2u[1] = 0; + i2u[2] = 0; + i2u[3] = 1; + i2u[4] = 0; + i2u[5] = 0; } int[] pixels = findSimpleIntegerArray(cm, r); if (pixels == null) { - // FIXME: I don't think this code will work correctly with a non-RGB - // MultiPixelPackedSampleModel. Although this entire method should - // probably be rewritten to better utilize Cairo's different supported - // data formats. - if (sm instanceof MultiPixelPackedSampleModel) - { - pixels = r.getPixels(0, 0, r.getWidth(), r.getHeight(), pixels); - for (int i = 0; i < pixels.length; i++) - pixels[i] = cm.getRGB(pixels[i]); - } - else - { - pixels = new int[r.getWidth() * r.getHeight()]; - for (int i = 0; i < pixels.length; i++) - pixels[i] = cm.getRGB(db.getElem(i)); - } + // FIXME: I don't think this code will work correctly with a non-RGB + // MultiPixelPackedSampleModel. Although this entire method should + // probably be rewritten to better utilize Cairo's different supported + // data formats. + if (sm instanceof MultiPixelPackedSampleModel) + { + pixels = r.getPixels(0, 0, r.getWidth(), r.getHeight(), pixels); + for (int i = 0; i < pixels.length; i++) + pixels[i] = cm.getRGB(pixels[i]); + } + else + { + pixels = new int[r.getWidth() * r.getHeight()]; + for (int i = 0; i < pixels.length; i++) + pixels[i] = cm.getRGB(db.getElem(i)); + } } // Change all transparent pixels in the image to the specified bgcolor, @@ -1782,20 +1894,21 @@ public abstract class CairoGraphics2D extends Graphics2D // correctly. if (cm.hasAlpha()) { - if (bgcolor != null && cm.hasAlpha()) - for (int i = 0; i < pixels.length; i++) - { - if (cm.getAlpha(pixels[i]) == 0) - pixels[i] = bgcolor.getRGB(); - } + if (bgcolor != null && cm.hasAlpha()) + for (int i = 0; i < pixels.length; i++) + { + if (cm.getAlpha(pixels[i]) == 0) + pixels[i] = bgcolor.getRGB(); + } } else for (int i = 0; i < pixels.length; i++) - pixels[i] |= 0xFF000000; + pixels[i] |= 0xFF000000; double alpha = 1.0; if (comp instanceof AlphaComposite) alpha = ((AlphaComposite) comp).getAlpha(); + drawPixels(nativePointer, pixels, r.getWidth(), r.getHeight(), r.getWidth(), i2u, alpha, getInterpolation()); @@ -1815,7 +1928,7 @@ public abstract class CairoGraphics2D extends Graphics2D double shift = 0.5; if (!transform.isIdentity()) shift /= transform.getScaleX(); - return Math.round(coord) + shift; + return (coord + shift); } else return coord; @@ -1831,7 +1944,7 @@ public abstract class CairoGraphics2D extends Graphics2D double shift = 0.5; if (!transform.isIdentity()) shift /= transform.getScaleY(); - return Math.round(coord) + shift; + return (coord + shift); } else return coord; @@ -1849,53 +1962,54 @@ public abstract class CairoGraphics2D extends Graphics2D cairoSetFillRule(nativePointer, p.getWindingRule()); for (; ! p.isDone(); p.next()) { - int seg = p.currentSegment(coords); - switch (seg) - { - case PathIterator.SEG_MOVETO: - x = shiftX(coords[0], doShift); - y = shiftY(coords[1], doShift); - cairoMoveTo(nativePointer, x, y); - break; - case PathIterator.SEG_LINETO: - x = shiftX(coords[0], doShift); - y = shiftY(coords[1], doShift); - cairoLineTo(nativePointer, x, y); - break; - case PathIterator.SEG_QUADTO: - // splitting a quadratic bezier into a cubic: - // see: http://pfaedit.sourceforge.net/bezier.html - double x1 = x + (2.0 / 3.0) * (shiftX(coords[0], doShift) - x); - double y1 = y + (2.0 / 3.0) * (shiftY(coords[1], doShift) - y); - - double x2 = x1 + (1.0 / 3.0) * (shiftX(coords[2], doShift) - x); - double y2 = y1 + (1.0 / 3.0) * (shiftY(coords[3], doShift) - y); - - x = shiftX(coords[2], doShift); - y = shiftY(coords[3], doShift); - cairoCurveTo(nativePointer, x1, y1, x2, y2, x, y); - break; - case PathIterator.SEG_CUBICTO: - x = shiftX(coords[4], doShift); - y = shiftY(coords[5], doShift); - cairoCurveTo(nativePointer, shiftX(coords[0], doShift), - shiftY(coords[1], doShift), - shiftX(coords[2], doShift), - shiftY(coords[3], doShift), x, y); - break; - case PathIterator.SEG_CLOSE: - cairoClosePath(nativePointer); - break; - } + int seg = p.currentSegment(coords); + switch (seg) + { + case PathIterator.SEG_MOVETO: + x = shiftX(coords[0], doShift); + y = shiftY(coords[1], doShift); + cairoMoveTo(nativePointer, x, y); + break; + case PathIterator.SEG_LINETO: + x = shiftX(coords[0], doShift); + y = shiftY(coords[1], doShift); + cairoLineTo(nativePointer, x, y); + break; + case PathIterator.SEG_QUADTO: + // splitting a quadratic bezier into a cubic: + // see: http://pfaedit.sourceforge.net/bezier.html + double x1 = x + (2.0 / 3.0) * (shiftX(coords[0], doShift) - x); + double y1 = y + (2.0 / 3.0) * (shiftY(coords[1], doShift) - y); + + double x2 = x1 + (1.0 / 3.0) * (shiftX(coords[2], doShift) - x); + double y2 = y1 + (1.0 / 3.0) * (shiftY(coords[3], doShift) - y); + + x = shiftX(coords[2], doShift); + y = shiftY(coords[3], doShift); + cairoCurveTo(nativePointer, x1, y1, x2, y2, x, y); + break; + case PathIterator.SEG_CUBICTO: + x = shiftX(coords[4], doShift); + y = shiftY(coords[5], doShift); + cairoCurveTo(nativePointer, shiftX(coords[0], doShift), + shiftY(coords[1], doShift), + shiftX(coords[2], doShift), + shiftY(coords[3], doShift), x, y); + break; + case PathIterator.SEG_CLOSE: + cairoClosePath(nativePointer); + break; + } } } /** * Used by setRenderingHints() */ - private Map getDefaultHints() + private Map getDefaultHints() { - HashMap defaultHints = new HashMap(); + HashMap defaultHints = + new HashMap(); defaultHints.put(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_DEFAULT); @@ -1972,11 +2086,27 @@ public abstract class CairoGraphics2D extends Graphics2D if (clip == null) return; - if (! (clip instanceof GeneralPath)) - clip = new GeneralPath(clip); - - GeneralPath p = (GeneralPath) clip; - p.transform(t); + // If the clip is a rectangle, and the transformation preserves the shape + // (translate/stretch only), then keep the clip as a rectangle + double[] matrix = new double[4]; + t.getMatrix(matrix); + if (clip instanceof Rectangle2D && matrix[1] == 0 && matrix[2] == 0) + { + Rectangle2D rect = (Rectangle2D)clip; + double[] origin = new double[] {rect.getX(), rect.getY()}; + double[] dimensions = new double[] {rect.getWidth(), rect.getHeight()}; + t.transform(origin, 0, origin, 0, 1); + t.deltaTransform(dimensions, 0, dimensions, 0, 1); + rect.setRect(origin[0], origin[1], dimensions[0], dimensions[1]); + } + else + { + if (! (clip instanceof GeneralPath)) + clip = new GeneralPath(clip); + + GeneralPath p = (GeneralPath) clip; + p.transform(t); + } } private static Rectangle computeIntersection(int x, int y, int w, int h, @@ -1999,4 +2129,39 @@ public abstract class CairoGraphics2D extends Graphics2D return rect; } + + static Rectangle2D getTransformedBounds(Rectangle2D bounds, AffineTransform tx) + { + double x1 = bounds.getX(); + double x2 = bounds.getX() + bounds.getWidth(); + double x3 = x1; + double x4 = x2; + double y1 = bounds.getY(); + double y2 = y1; + double y3 = bounds.getY() + bounds.getHeight(); + double y4 = y3; + + double[] points = new double[] {x1, y1, x2, y2, x3, y3, x4, y4}; + tx.transform(points, 0, points, 0, 4); + + double minX = points[0]; + double maxX = minX; + double minY = points[1]; + double maxY = minY; + for (int i = 0; i < 8; i++) + { + if (points[i] < minX) + minX = points[i]; + if (points[i] > maxX) + maxX = points[i]; + i++; + + if (points[i] < minY) + minY = points[i]; + if (points[i] > maxY) + maxY = points[i]; + } + + return new Rectangle2D.Double(minX, minY, (maxX - minX), (maxY - minY)); + } } diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/CairoSurface.java b/libjava/classpath/gnu/java/awt/peer/gtk/CairoSurface.java index 5b63e62..b45a79f 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/CairoSurface.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/CairoSurface.java @@ -1,5 +1,5 @@ /* CairoSurface.java - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -42,15 +42,22 @@ import gnu.java.awt.Buffers; import java.awt.Graphics2D; import java.awt.Point; +import java.awt.Rectangle; +import java.awt.Shape; import java.awt.color.ColorSpace; +import java.awt.geom.AffineTransform; import java.awt.image.BufferedImage; import java.awt.image.ColorModel; import java.awt.image.DataBuffer; +import java.awt.image.DataBufferInt; import java.awt.image.DirectColorModel; +import java.awt.image.Raster; +import java.awt.image.RasterFormatException; import java.awt.image.SampleModel; import java.awt.image.SinglePixelPackedSampleModel; import java.awt.image.WritableRaster; import java.nio.ByteOrder; +import java.util.Arrays; import java.util.Hashtable; /** @@ -68,9 +75,9 @@ public class CairoSurface extends WritableRaster long surfacePointer; /** - * The native pointer to the image's data buffer + * Whether the data buffer is shared between java and cairo. */ - long bufferPointer; + boolean sharedBuffer; // FIXME: use only the cairoCM_pre colormodel // since that's what Cairo really uses (is there a way to do this cheaply? @@ -98,22 +105,12 @@ public class CairoSurface extends WritableRaster * @param width, height - the image size * @param stride - the buffer row stride. (in ints) */ - private native void create(int width, int height, int stride); + private native void create(int width, int height, int stride, int[] buf); /** * Destroys the cairo surface and frees the buffer. */ - private native void destroy(long surfacePointer, long bufferPointer); - - /** - * Gets buffer elements - */ - private native int nativeGetElem(long bufferPointer, int i); - - /** - * Sets buffer elements. - */ - private native void nativeSetElem(long bufferPointer, int i, int val); + private native void destroy(long surfacePointer, int[] buf); /** * Draws this image to a given CairoGraphics context, @@ -123,33 +120,30 @@ public class CairoSurface extends WritableRaster double[] i2u, double alpha, int interpolation); - public void drawSurface(long contextPointer, double[] i2u, double alpha, - int interpolation) - { - nativeDrawSurface(surfacePointer, contextPointer, i2u, alpha, interpolation); - } - /** - * getPixels -return the pixels as a java array. + * Synchronizes the image's data buffers, copying any changes made in the + * Java array into the native array. + * + * This method should only be called if (sharedBuffers == false). */ - native int[] nativeGetPixels(long bufferPointer, int size); - - public int[] getPixels(int size) - { - return nativeGetPixels(bufferPointer, size); - } - + native void syncNativeToJava(long surfacePointer, int[] buffer); + /** - * getPixels -return the pixels as a java array. + * Synchronizes the image's data buffers, copying any changes made in the + * native array into the Java array. + * + * This method should only be called if (sharedBuffers == false). */ - native void nativeSetPixels(long bufferPointer, int[] pixels); - - public void setPixels(int[] pixels) - { - nativeSetPixels(bufferPointer, pixels); - } - - native long getFlippedBuffer(long bufferPointer, int size); + native void syncJavaToNative(long surfacePointer, int[] buffer); + + /** + * Return the buffer, with the sample values of each pixel reversed + * (ie, in ABGR instead of ARGB). + * + * @return A pointer to a flipped buffer. The memory is allocated in native + * code, and must be explicitly freed when it is no longer needed. + */ + native long getFlippedBuffer(long surfacePointer); /** * Create a cairo_surface_t with specified width and height. @@ -158,20 +152,38 @@ public class CairoSurface extends WritableRaster */ public CairoSurface(int width, int height) { - super(createCairoSampleModel(width, height), - null, new Point(0, 0)); + this(0, 0, width, height); + } + + public CairoSurface(int x, int y, int width, int height) + { + super(createCairoSampleModel(width, height), null, new Point(x, y)); if(width <= 0 || height <= 0) throw new IllegalArgumentException("Image must be at least 1x1 pixels."); this.width = width; this.height = height; - create(width, height, width); + dataBuffer = new DataBufferInt(width * height); + create(width, height, width, getData()); - if(surfacePointer == 0 || bufferPointer == 0) + if(surfacePointer == 0) throw new Error("Could not allocate bitmap."); - - dataBuffer = new CairoDataBuffer(); + } + + /** + * Create a Cairo Surface that is a subimage of another Cairo Surface + */ + public CairoSurface(SampleModel sm, CairoSurface parent, Rectangle bounds, + Point origin) + { + super(sm, parent.dataBuffer, bounds, origin, parent); + + this.width = super.width; + this.height = super.height; + this.surfacePointer = parent.surfacePointer; + this.sharedBuffer = parent.sharedBuffer; + this.dataBuffer = parent.dataBuffer; } /** @@ -188,39 +200,39 @@ public class CairoSurface extends WritableRaster // Swap ordering from GdkPixbuf to Cairo if (ByteOrder.nativeOrder() == ByteOrder.BIG_ENDIAN) { - for (int i = 0; i < data.length; i++ ) - { - // On a big endian system we get a RRGGBBAA data array. - int alpha = data[i] & 0xFF; - if( alpha == 0 ) // I do not know why we need this, but it works. - data[i] = 0; - else - { - // Cairo needs a ARGB32 native array. - data[i] = (data[i] >>> 8) | (alpha << 24); - } - } + for (int i = 0; i < data.length; i++ ) + { + // On a big endian system we get a RRGGBBAA data array. + int alpha = data[i] & 0xFF; + if( alpha == 0 ) // I do not know why we need this, but it works. + data[i] = 0; + else + { + // Cairo needs a ARGB32 native array. + data[i] = (data[i] >>> 8) | (alpha << 24); + } + } } else { - for (int i = 0; i < data.length; i++ ) - { - // On a little endian system we get a AABBGGRR data array. - int alpha = data[i] & 0xFF000000; - if( alpha == 0 ) // I do not know why we need this, but it works. - data[i] = 0; - else - { - int b = (data[i] & 0xFF0000) >> 16; - int g = (data[i] & 0xFF00); - int r = (data[i] & 0xFF) << 16; - // Cairo needs a ARGB32 native array. - data[i] = alpha | r | g | b; - } - } + for (int i = 0; i < data.length; i++ ) + { + // On a little endian system we get a AABBGGRR data array. + int alpha = data[i] & 0xFF000000; + if( alpha == 0 ) // I do not know why we need this, but it works. + data[i] = 0; + else + { + int b = (data[i] & 0xFF0000) >> 16; + int g = (data[i] & 0xFF00); + int r = (data[i] & 0xFF) << 16; + // Cairo needs a ARGB32 native array. + data[i] = alpha | r | g | b; + } + } } - setPixels( data ); + System.arraycopy(data, 0, getData(), 0, data.length); } /** @@ -228,8 +240,8 @@ public class CairoSurface extends WritableRaster */ public void dispose() { - if(surfacePointer != 0) - destroy(surfacePointer, bufferPointer); + if(surfacePointer != 0 && parent == null) + destroy(surfacePointer, getData()); } /** @@ -245,8 +257,17 @@ public class CairoSurface extends WritableRaster */ public GtkImage getGtkImage() { - return new GtkImage( width, height, - getFlippedBuffer(bufferPointer, width * height )); + return new GtkImage(width, height, getFlippedBuffer(surfacePointer)); + } + + /** + * Convenience method to quickly grab the data array backing this Raster. + * + * @return The array behind the databuffer. + */ + public int[] getData() + { + return ((DataBufferInt)dataBuffer).getData(); } /** @@ -276,34 +297,6 @@ public class CairoSurface extends WritableRaster new Hashtable()); } - private class CairoDataBuffer extends DataBuffer - { - public CairoDataBuffer() - { - super(DataBuffer.TYPE_INT, width * height); - } - - /** - * DataBuffer.getElem implementation - */ - public int getElem(int bank, int i) - { - if(bank != 0 || i < 0 || i >= width * height) - throw new IndexOutOfBoundsException(i+" size: "+width * height); - return nativeGetElem(bufferPointer, i); - } - - /** - * DataBuffer.setElem implementation - */ - public void setElem(int bank, int i, int val) - { - if(bank != 0 || i < 0 || i >= width*height) - throw new IndexOutOfBoundsException(i+" size: "+width * height); - nativeSetElem(bufferPointer, i, val); - } - } - /** * Return a Graphics2D drawing to the CairoSurface. */ @@ -325,16 +318,25 @@ public class CairoSurface extends WritableRaster } /** - * Copy an area of the surface. Expects parameters must be within bounds. - * Count on a segfault otherwise. + * Copy a portion of this surface to another area on the surface. The given + * parameters must be within bounds - count on a segfault otherwise. + * + * @param x The x coordinate of the area to be copied from. + * @param y The y coordinate of the area to be copied from. + * @param width The width of the area to be copied. + * @param height The height of the area to be copied. + * @param dx The destination x coordinate. + * @param dy The destination y coordinate. + * @param stride The scanline stride. */ - native void copyAreaNative2(long bufferPointer, int x, int y, int width, - int height, int dx, int dy, int stride); public void copyAreaNative(int x, int y, int width, int height, int dx, int dy, int stride) { - copyAreaNative2(bufferPointer, x, y, width, height, dx, dy, stride); + copyAreaNative2(surfacePointer, x, y, width, height, dx, dy, stride); } + native void copyAreaNative2(long surfacePointer, + int x, int y, int width, int height, + int dx, int dy, int stride); /** * Creates a SampleModel that matches Cairo's native format @@ -345,4 +347,83 @@ public class CairoSurface extends WritableRaster new int[]{0x00FF0000, 0x0000FF00, 0x000000FF, 0xFF000000}); } + + /** + * Returns whether this ColorModel is compatible with Cairo's native types. + * + * @param cm The color model to check. + * @return Whether it is compatible. + */ + public static boolean isCompatibleColorModel(ColorModel cm) + { + return (cm.equals(cairoCM_pre) || cm.equals(cairoCM_opaque) || + cm.equals(cairoColorModel)); + } + + /** + * Returns whether this SampleModel is compatible with Cairo's native types. + * + * @param sm The sample model to check. + * @return Whether it is compatible. + */ + public static boolean isCompatibleSampleModel(SampleModel sm) + { + return (sm instanceof SinglePixelPackedSampleModel + && sm.getDataType() == DataBuffer.TYPE_INT + && Arrays.equals(((SinglePixelPackedSampleModel)sm).getBitMasks(), + new int[]{0x00FF0000, 0x0000FF00, + 0x000000FF, 0xFF000000})); + } + + ///// Methods interhited from Raster and WritableRaster ///// + public Raster createChild(int parentX, int parentY, int width, int height, + int childMinX, int childMinY, int[] bandList) + { + return createWritableChild(parentX, parentY, width, height, + childMinX, childMinY, bandList); + } + + public WritableRaster createCompatibleWritableRaster() + { + return new CairoSurface(width, height); + } + + public WritableRaster createCompatibleWritableRaster (int x, int y, + int w, int h) + { + return new CairoSurface(x, y, w, h); + } + + public Raster createTranslatedChild(int childMinX, int childMinY) + { + return createWritableTranslatedChild(childMinX, childMinY); + } + + public WritableRaster createWritableChild(int parentX, int parentY, + int w, int h, int childMinX, + int childMinY, int[] bandList) + { + if (parentX < minX || parentX + w > minX + width + || parentY < minY || parentY + h > minY + height) + throw new RasterFormatException("Child raster extends beyond parent"); + + SampleModel sm = (bandList == null) ? + sampleModel : + sampleModel.createSubsetSampleModel(bandList); + + return new CairoSurface(sm, this, + new Rectangle(childMinX, childMinY, w, h), + new Point(sampleModelTranslateX + childMinX - parentX, + sampleModelTranslateY + childMinY - parentY)); + } + + public WritableRaster createWritableTranslatedChild(int x, int y) + { + int tcx = sampleModelTranslateX - minX + x; + int tcy = sampleModelTranslateY - minY + y; + + return new CairoSurface(sampleModel, this, + new Rectangle(x, y, width, height), + new Point(tcx, tcy)); + } } diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java b/libjava/classpath/gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java index 36743b9..35b015f 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java @@ -40,6 +40,7 @@ package gnu.java.awt.peer.gtk; import java.awt.AlphaComposite; import java.awt.Color; +import java.awt.Composite; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.GraphicsConfiguration; @@ -50,7 +51,6 @@ import java.awt.Shape; import java.awt.Toolkit; import java.awt.font.GlyphVector; import java.awt.geom.AffineTransform; -import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import java.awt.image.BufferedImage; import java.awt.image.ColorModel; @@ -116,6 +116,18 @@ public class CairoSurfaceGraphics extends CairoGraphics2D */ public void draw(Shape s) { + if (!surface.sharedBuffer) + surface.syncJavaToNative(surface.surfacePointer, surface.getData()); + + // Find total bounds of shape + Rectangle r = findStrokedBounds(s); + if (shiftDrawCalls) + { + r.width++; + r.height++; + } + + // Do the drawing if (comp == null || comp instanceof AlphaComposite) super.draw(s); @@ -126,14 +138,21 @@ public class CairoSurfaceGraphics extends CairoGraphics2D Graphics2D g2d = (Graphics2D)buffer.getGraphics(); g2d.setStroke(this.getStroke()); g2d.setColor(this.getColor()); + g2d.setTransform(transform); g2d.draw(s); - drawComposite(s.getBounds2D(), null); + drawComposite(r.getBounds2D(), null); } + + if (!surface.sharedBuffer) + surface.syncNativeToJava(surface.surfacePointer, surface.getData()); } public void fill(Shape s) { + if (!surface.sharedBuffer) + surface.syncJavaToNative(surface.surfacePointer, surface.getData()); + if (comp == null || comp instanceof AlphaComposite) super.fill(s); @@ -144,14 +163,21 @@ public class CairoSurfaceGraphics extends CairoGraphics2D Graphics2D g2d = (Graphics2D)buffer.getGraphics(); g2d.setPaint(this.getPaint()); g2d.setColor(this.getColor()); + g2d.setTransform(transform); g2d.fill(s); drawComposite(s.getBounds2D(), null); } + + if (!surface.sharedBuffer) + surface.syncNativeToJava(surface.surfacePointer, surface.getData()); } public void drawRenderedImage(RenderedImage image, AffineTransform xform) { + if (!surface.sharedBuffer) + surface.syncJavaToNative(surface.surfacePointer, surface.getData()); + if (comp == null || comp instanceof AlphaComposite) super.drawRenderedImage(image, xform); @@ -161,18 +187,25 @@ public class CairoSurfaceGraphics extends CairoGraphics2D Graphics2D g2d = (Graphics2D)buffer.getGraphics(); g2d.setRenderingHints(this.getRenderingHints()); + g2d.setTransform(transform); g2d.drawRenderedImage(image, xform); drawComposite(buffer.getRaster().getBounds(), null); } - + + if (!surface.sharedBuffer) + surface.syncNativeToJava(surface.surfacePointer, surface.getData()); } protected boolean drawImage(Image img, AffineTransform xform, Color bgcolor, ImageObserver obs) { + if (!surface.sharedBuffer) + surface.syncJavaToNative(surface.surfacePointer, surface.getData()); + + boolean ret; if (comp == null || comp instanceof AlphaComposite) - return super.drawImage(img, xform, bgcolor, obs); + ret = super.drawImage(img, xform, bgcolor, obs); else { @@ -187,14 +220,10 @@ public class CairoSurfaceGraphics extends CairoGraphics2D BufferedImage bImg = (BufferedImage) img; // Find translated bounds - Point2D origin = new Point2D.Double(bImg.getMinX(), bImg.getMinY()); - Point2D pt = new Point2D.Double(bImg.getWidth() + bImg.getMinX(), - bImg.getHeight() + bImg.getMinY()); + Rectangle2D bounds = new Rectangle(bImg.getMinX(), bImg.getMinY(), + bImg.getWidth(), bImg.getHeight()); if (xform != null) - { - origin = xform.transform(origin, origin); - pt = xform.transform(pt, pt); - } + bounds = getTransformedBounds(bounds, xform); // Create buffer and draw image createBuffer(); @@ -204,15 +233,20 @@ public class CairoSurfaceGraphics extends CairoGraphics2D g2d.drawImage(img, xform, obs); // Perform compositing - return drawComposite(new Rectangle2D.Double(origin.getX(), - origin.getY(), - pt.getX(), pt.getY()), - obs); + ret = drawComposite(bounds, obs); } + + if (!surface.sharedBuffer) + surface.syncNativeToJava(surface.surfacePointer, surface.getData()); + + return ret; } public void drawGlyphVector(GlyphVector gv, float x, float y) { + if (!surface.sharedBuffer) + surface.syncJavaToNative(surface.surfacePointer, surface.getData()); + if (comp == null || comp instanceof AlphaComposite) super.drawGlyphVector(gv, x, y); @@ -230,51 +264,64 @@ public class CairoSurfaceGraphics extends CairoGraphics2D bounds.getWidth(), bounds.getHeight()); drawComposite(bounds, null); } + + if (!surface.sharedBuffer) + surface.syncNativeToJava(surface.surfacePointer, surface.getData()); } private boolean drawComposite(Rectangle2D bounds, ImageObserver observer) { - // Clip source to visible areas that need updating - Rectangle2D clip = this.getClipBounds(); - Rectangle2D.intersect(bounds, clip, bounds); - clip = new Rectangle(buffer.getMinX(), buffer.getMinY(), - buffer.getWidth(), buffer.getHeight()); - Rectangle2D.intersect(bounds, clip, bounds); + // Find bounds in device space + bounds = getTransformedBounds(bounds, transform); + + // Clip bounds by the stored clip, and by the internal buffer + Rectangle2D devClip = this.getClipInDevSpace(); + Rectangle2D.intersect(bounds, devClip, bounds); + devClip = new Rectangle(buffer.getMinX(), buffer.getMinY(), + buffer.getWidth(), buffer.getHeight()); + Rectangle2D.intersect(bounds, devClip, bounds); + + // Round bounds as needed, but be careful in our rounding + // (otherwise it may leave unpainted stripes) + double x = bounds.getX(); + double y = bounds.getY(); + double maxX = x + bounds.getWidth(); + double maxY = y + bounds.getHeight(); + x = Math.round(x); + y = Math.round(y); + bounds.setRect(x, y, Math.round(maxX - x), Math.round(maxY - y)); + // Find subimage of internal buffer for updating BufferedImage buffer2 = buffer; if (!bounds.equals(buffer2.getRaster().getBounds())) buffer2 = buffer2.getSubimage((int)bounds.getX(), (int)bounds.getY(), (int)bounds.getWidth(), (int)bounds.getHeight()); - - // Get destination clip to bounds - double[] points = new double[] {bounds.getX(), bounds.getY(), - bounds.getMaxX(), bounds.getMaxY()}; - transform.transform(points, 0, points, 0, 2); - - Rectangle2D deviceBounds = new Rectangle2D.Double(points[0], points[1], - points[2] - points[0], - points[3] - points[1]); - - Rectangle2D.intersect(deviceBounds, this.getClipInDevSpace(), deviceBounds); - + + // Find subimage of main image for updating BufferedImage current = CairoSurface.getBufferedImage(surface); - current = current.getSubimage((int)deviceBounds.getX(), - (int)deviceBounds.getY(), - (int)deviceBounds.getWidth(), - (int)deviceBounds.getHeight()); + current = current.getSubimage((int)bounds.getX(), (int)bounds.getY(), + (int)bounds.getWidth(), + (int)bounds.getHeight()); // Perform actual composite operation compCtx.compose(buffer2.getRaster(), current.getRaster(), buffer2.getRaster()); + // Set cairo's composite to direct SRC, since we've already done our own + // compositing + Composite oldcomp = comp; + setComposite(AlphaComposite.Src); + // This MUST call directly into the "action" method in CairoGraphics2D, // not one of the wrappers, to ensure that the composite isn't processed // more than once! boolean rv = super.drawImage(buffer2, AffineTransform.getTranslateInstance(bounds.getX(), bounds.getY()), - new Color(0,0,0,0), null); + null, null); + setComposite(oldcomp); + updateColor(); return rv; } diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/ComponentGraphics.java b/libjava/classpath/gnu/java/awt/peer/gtk/ComponentGraphics.java index 8adf275..e543206 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/ComponentGraphics.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/ComponentGraphics.java @@ -52,7 +52,6 @@ import java.awt.Shape; import java.awt.Toolkit; import java.awt.font.GlyphVector; import java.awt.geom.AffineTransform; -import java.awt.geom.Line2D; import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import java.awt.image.BufferedImage; @@ -78,7 +77,7 @@ public class ComponentGraphics extends CairoGraphics2D protected long cairo_t; private BufferedImage buffer, componentBuffer; - private static ThreadLocal hasLock = new ThreadLocal(); + private static ThreadLocal hasLock = new ThreadLocal(); private static Integer ONE = Integer.valueOf(1); ComponentGraphics() @@ -122,11 +121,11 @@ public class ComponentGraphics extends CairoGraphics2D */ private void lock() { - Integer i = (Integer) hasLock.get(); + Integer i = hasLock.get(); if (i == null) { - start_gdk_drawing(); - hasLock.set(ONE); + start_gdk_drawing(); + hasLock.set(ONE); } else hasLock.set(Integer.valueOf(i.intValue() + 1)); @@ -137,14 +136,16 @@ public class ComponentGraphics extends CairoGraphics2D */ private void unlock() { - Integer i = (Integer) hasLock.get(); + Integer i = hasLock.get(); if (i == null) throw new IllegalStateException(); if (i == ONE) { - hasLock.set(null); - end_gdk_drawing(); + hasLock.set(null); + end_gdk_drawing(); } + else if (i.intValue() == 2) + hasLock.set(ONE); else hasLock.set(Integer.valueOf(i.intValue() - 1)); } @@ -176,11 +177,11 @@ public class ComponentGraphics extends CairoGraphics2D private static native Pointer nativeGrab(GtkComponentPeer component); private native void copyAreaNative(GtkComponentPeer component, int x, int y, - int width, int height, int dx, int dy); + int width, int height, int dx, int dy); private native void drawVolatile(GtkComponentPeer component, - long vimg, int x, int y, - int width, int height, int cx, int cy, + long vimg, int x, int y, + int width, int height, int cx, int cy, int cw, int ch); /** @@ -232,16 +233,16 @@ public class ComponentGraphics extends CairoGraphics2D { if (comp == null || comp instanceof AlphaComposite) super.draw(s); - + else { createBuffer(); - + Graphics2D g2d = (Graphics2D)buffer.getGraphics(); g2d.setStroke(this.getStroke()); g2d.setColor(this.getColor()); g2d.draw(s); - + drawComposite(s.getBounds2D(), null); } } @@ -250,16 +251,16 @@ public class ComponentGraphics extends CairoGraphics2D { if (comp == null || comp instanceof AlphaComposite) super.fill(s); - + else { createBuffer(); - + Graphics2D g2d = (Graphics2D)buffer.getGraphics(); g2d.setPaint(this.getPaint()); g2d.setColor(this.getColor()); g2d.fill(s); - + drawComposite(s.getBounds2D(), null); } } @@ -268,7 +269,7 @@ public class ComponentGraphics extends CairoGraphics2D { if (comp == null || comp instanceof AlphaComposite) super.drawRenderedImage(image, xform); - + else { createBuffer(); @@ -276,7 +277,7 @@ public class ComponentGraphics extends CairoGraphics2D Graphics2D g2d = (Graphics2D)buffer.getGraphics(); g2d.setRenderingHints(this.getRenderingHints()); g2d.drawRenderedImage(image, xform); - + drawComposite(buffer.getRaster().getBounds(), null); } } @@ -287,7 +288,7 @@ public class ComponentGraphics extends CairoGraphics2D boolean rv; if (comp == null || comp instanceof AlphaComposite) rv = super.drawImage(img, xform, bgcolor, obs); - + else { // Get buffered image of source @@ -299,7 +300,7 @@ public class ComponentGraphics extends CairoGraphics2D img = Toolkit.getDefaultToolkit().createImage(source); } BufferedImage bImg = (BufferedImage) img; - + // Find translated bounds Point2D origin = new Point2D.Double(bImg.getMinX(), bImg.getMinY()); Point2D pt = new Point2D.Double(bImg.getWidth() + bImg.getMinX(), @@ -309,18 +310,18 @@ public class ComponentGraphics extends CairoGraphics2D origin = xform.transform(origin, origin); pt = xform.transform(pt, pt); } - + // Create buffer and draw image createBuffer(); - + Graphics2D g2d = (Graphics2D)buffer.getGraphics(); g2d.setRenderingHints(this.getRenderingHints()); g2d.drawImage(img, xform, obs); // Perform compositing rv = drawComposite(new Rectangle2D.Double(origin.getX(), - origin.getY(), - pt.getX(), pt.getY()), + origin.getY(), + pt.getX(), pt.getY()), obs); } return rv; @@ -330,7 +331,7 @@ public class ComponentGraphics extends CairoGraphics2D { if (comp == null || comp instanceof AlphaComposite) super.drawGlyphVector(gv, x, y); - + else { createBuffer(); @@ -339,7 +340,7 @@ public class ComponentGraphics extends CairoGraphics2D g2d.setPaint(this.getPaint()); g2d.setStroke(this.getStroke()); g2d.drawGlyphVector(gv, x, y); - + Rectangle2D bounds = gv.getLogicalBounds(); bounds = new Rectangle2D.Double(x + bounds.getX(), y + bounds.getY(), bounds.getWidth(), bounds.getHeight()); @@ -373,8 +374,8 @@ public class ComponentGraphics extends CairoGraphics2D (int) r.getHeight()); return true; } - else - return super.drawImage(vimg.getSnapshot(), x, y, observer); + else + return super.drawImage(vimg.getSnapshot(), x, y, observer); } BufferedImage bimg; @@ -382,7 +383,7 @@ public class ComponentGraphics extends CairoGraphics2D bimg = (BufferedImage) img; else { - ImageProducer source = img.getSource(); + ImageProducer source = img.getSource(); if (source == null) return false; bimg = (BufferedImage) Toolkit.getDefaultToolkit().createImage(source); @@ -418,9 +419,9 @@ public class ComponentGraphics extends CairoGraphics2D (int) r.getHeight()); return true; } - else - return super.drawImage(vimg.getSnapshot(), x, y, - width, height, observer); + else + return super.drawImage(vimg.getSnapshot(), x, y, + width, height, observer); } BufferedImage bimg; @@ -429,7 +430,7 @@ public class ComponentGraphics extends CairoGraphics2D bimg = (BufferedImage) img; else { - ImageProducer source = img.getSource(); + ImageProducer source = img.getSource(); if (source == null) return false; bimg = (BufferedImage) Toolkit.getDefaultToolkit().createImage(source); @@ -458,8 +459,8 @@ public class ComponentGraphics extends CairoGraphics2D transform.transform(points, 0, points, 0, 2); Rectangle2D deviceBounds = new Rectangle2D.Double(points[0], points[1], - points[2] - points[0], - points[3] - points[1]); + points[2] - points[0], + points[3] - points[1]); Rectangle2D.intersect(deviceBounds, this.getClipInDevSpace(), deviceBounds); @@ -519,8 +520,8 @@ public class ComponentGraphics extends CairoGraphics2D new Point(0,0)); componentBuffer = new BufferedImage(GtkVolatileImage.gdkColorModel, rst, - GtkVolatileImage.gdkColorModel.isAlphaPremultiplied(), - new Hashtable()); + GtkVolatileImage.gdkColorModel.isAlphaPremultiplied(), + new Hashtable()); } } @@ -723,7 +724,7 @@ public class ComponentGraphics extends CairoGraphics2D unlock(); } } - + @Override protected void cairoRectangle(long pointer, double x, double y, double width, double height) @@ -908,4 +909,33 @@ public class ComponentGraphics extends CairoGraphics2D unlock(); } } + + @Override + protected void cairoSetAntialias(long pointer, boolean aa) + { + try + { + lock(); + super.cairoSetAntialias(pointer, aa); + } + finally + { + unlock(); + } + } + + @Override + protected void drawCairoSurface(CairoSurface surface, AffineTransform tx, + double alpha, int interpolation) + { + try + { + lock(); + super.drawCairoSurface(surface, tx, alpha, interpolation); + } + finally + { + unlock(); + } + } } diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/FreetypeGlyphVector.java b/libjava/classpath/gnu/java/awt/peer/gtk/FreetypeGlyphVector.java index 131a964..280f3e6 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/FreetypeGlyphVector.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/FreetypeGlyphVector.java @@ -79,6 +79,11 @@ public class FreetypeGlyphVector extends GlyphVector * The glyph codes */ private int[] glyphCodes; + + /** + * The set of fonts used in this glyph vector. + */ + private long[] fontSet = null; /** * Glyph transforms. (de facto only the translation is used) @@ -86,6 +91,19 @@ public class FreetypeGlyphVector extends GlyphVector private AffineTransform[] glyphTransforms; private GlyphMetrics[] metricsCache; + + private native void dispose(long[] fonts); + + /** + * Returns a pointer to the native PangoFcFont object. + * + * The object will be referenced with g_object_ref n times before being + * returned, and must be unreferenced a corresponding number of times. + * + * @param n Number of times to reference the object. + * @return Pointer to the native default font. + */ + private native long getNativeFontPointer(int n); /** * Create a glyphvector from a given (Freetype) font and a String. @@ -112,11 +130,11 @@ public class FreetypeGlyphVector extends GlyphVector getGlyphs(); if( flags == Font.LAYOUT_RIGHT_TO_LEFT ) { - // reverse the glyph ordering. - int[] temp = new int[ nGlyphs ]; - for(int i = 0; i < nGlyphs; i++) - temp[ i ] = glyphCodes[ nGlyphs - i - 1]; - glyphCodes = temp; + // reverse the glyph ordering. + int[] temp = new int[ nGlyphs ]; + for(int i = 0; i < nGlyphs; i++) + temp[i] = glyphCodes[nGlyphs - i - 1]; + glyphCodes = temp; } performDefaultLayout(); } @@ -135,6 +153,13 @@ public class FreetypeGlyphVector extends GlyphVector glyphCodes = new int[ codes.length ]; System.arraycopy(codes, 0, glyphCodes, 0, codes.length); nGlyphs = glyphCodes.length; + + if (fontSet == null) + { + fontSet = new long[nGlyphs]; + Arrays.fill(fontSet, getNativeFontPointer(nGlyphs)); + } + performDefaultLayout(); } @@ -152,11 +177,12 @@ public class FreetypeGlyphVector extends GlyphVector if( gv.metricsCache != null ) { - metricsCache = new GlyphMetrics[ nGlyphs ]; - System.arraycopy(gv.metricsCache, 0, metricsCache, 0, nGlyphs); + metricsCache = new GlyphMetrics[ nGlyphs ]; + System.arraycopy(gv.metricsCache, 0, metricsCache, 0, nGlyphs); } glyphCodes = new int[ nGlyphs ]; + fontSet = new long[nGlyphs]; glyphPositions = new float[(nGlyphs + 1) * 2]; glyphTransforms = new AffineTransform[ nGlyphs ]; for(int i = 0; i < nGlyphs; i++ ) @@ -166,6 +192,13 @@ public class FreetypeGlyphVector extends GlyphVector } System.arraycopy(gv.glyphPositions, 0, glyphPositions, 0, glyphPositions.length); + System.arraycopy(gv.glyphCodes, 0, glyphCodes, 0, nGlyphs); + System.arraycopy(gv.fontSet, 0, fontSet, 0, nGlyphs); + } + + public void finalize() + { + dispose(fontSet); } /** @@ -175,16 +208,17 @@ public class FreetypeGlyphVector extends GlyphVector { nGlyphs = s.codePointCount( 0, s.length() ); glyphCodes = new int[ nGlyphs ]; + fontSet = new long[ nGlyphs ]; int[] codePoints = new int[ nGlyphs ]; int stringIndex = 0; for(int i = 0; i < nGlyphs; i++) { - codePoints[i] = s.codePointAt( stringIndex ); + codePoints[i] = s.codePointAt( stringIndex ); // UTF32 surrogate handling - if( codePoints[i] != (int)s.charAt( stringIndex ) ) - stringIndex ++; - stringIndex ++; + if( codePoints[i] != (int)s.charAt( stringIndex ) ) + stringIndex ++; + stringIndex ++; if (Character.isISOControl(codePoints[i])) { @@ -194,22 +228,22 @@ public class FreetypeGlyphVector extends GlyphVector } } - glyphCodes = getGlyphs( codePoints ); + getGlyphs( codePoints, glyphCodes, fontSet ); } /** * Returns the glyph code within the font for a given character */ - public native int[] getGlyphs(int[] codepoints); + public native void getGlyphs(int[] codepoints, int[] glyphs, long[] fonts); /** * Returns the kerning of a glyph pair */ - private native Point2D getKerning(int leftGlyph, int rightGlyph); + private native Point2D getKerning(int leftGlyph, int rightGlyph, long font); - private native double[] getMetricsNative( int glyphCode ); + private native double[] getMetricsNative(int glyphCode, long font); - private native GeneralPath getGlyphOutlineNative(int glyphIndex); + private native GeneralPath getGlyphOutlineNative(int glyphIndex, long font); public Object clone() @@ -267,10 +301,12 @@ public class FreetypeGlyphVector extends GlyphVector x += gm.getAdvanceX(); y += gm.getAdvanceY(); - - if (i != nGlyphs-1) + + // Get the kerning only if it's not the last glyph, and the two glyphs are + // using the same font + if (i != nGlyphs-1 && fontSet[i] == fontSet[i+1]) { - Point2D p = getKerning(glyphCodes[i], glyphCodes[i + 1]); + Point2D p = getKerning(glyphCodes[i], glyphCodes[i + 1], fontSet[i]); x += p.getX(); y += p.getY(); } @@ -291,7 +327,7 @@ public class FreetypeGlyphVector extends GlyphVector * Returns multiple glyphcodes. */ public int[] getGlyphCodes(int beginGlyphIndex, int numEntries, - int[] codeReturn) + int[] codeReturn) { int[] rval; @@ -305,6 +341,26 @@ public class FreetypeGlyphVector extends GlyphVector return rval; } + /** + * Returns pointers to the fonts used in this glyph vector. + * + * The array index matches that of the glyph vector itself. + */ + protected long[] getGlyphFonts(int beginGlyphIndex, int numEntries, + long[] codeReturn) + { + long[] rval; + + if( codeReturn == null || codeReturn.length < numEntries) + rval = new long[ numEntries ]; + else + rval = codeReturn; + + System.arraycopy(fontSet, beginGlyphIndex, rval, 0, numEntries); + + return rval; + } + public Shape getGlyphLogicalBounds(int glyphIndex) { GlyphMetrics gm = getGlyphMetrics( glyphIndex ); @@ -335,26 +391,24 @@ public class FreetypeGlyphVector extends GlyphVector for(int i = 0; i < nGlyphs; i++) { - GlyphMetrics gm = (GlyphMetrics) - peer.getGlyphMetrics( glyphCodes[ i ] ); - if( gm == null ) - { - double[] val = getMetricsNative( glyphCodes[ i ] ); - if( val == null ) - gm = null; - else - { - gm = new GlyphMetrics( true, - (float)val[1], - (float)val[2], - new Rectangle2D.Double - ( val[3], val[4], - val[5], val[6] ), - GlyphMetrics.STANDARD ); - peer.putGlyphMetrics( glyphCodes[ i ], gm ); - } - } - metricsCache[ i ] = gm; + GlyphMetrics gm = (GlyphMetrics)peer.getGlyphMetrics(glyphCodes[i]); + if( gm == null ) + { + double[] val = getMetricsNative(glyphCodes[i], fontSet[i]); + if( val == null ) + gm = null; + else + { + gm = new GlyphMetrics(true, + (float)val[1], + (float)val[2], + new Rectangle2D.Double(val[3], val[4], + val[5], val[6] ), + GlyphMetrics.STANDARD ); + peer.putGlyphMetrics( glyphCodes[ i ], gm ); + } + } + metricsCache[ i ] = gm; } } @@ -371,13 +425,21 @@ public class FreetypeGlyphVector extends GlyphVector /** * Returns the outline of a single glyph. + * + * Despite what the Sun API says, this method returns the glyph relative to + * the origin of the *entire string*, not each individual glyph. */ public Shape getGlyphOutline(int glyphIndex) { - GeneralPath gp = getGlyphOutlineNative( glyphCodes[ glyphIndex ] ); - if (glyphTransforms[glyphIndex] != null) - gp.transform( glyphTransforms[glyphIndex]); + GeneralPath gp = getGlyphOutlineNative(glyphCodes[glyphIndex], + fontSet[glyphIndex]); + AffineTransform tx = AffineTransform.getTranslateInstance(glyphPositions[glyphIndex*2], + glyphPositions[glyphIndex*2+1]); + if (glyphTransforms[glyphIndex] != null) + tx.concatenate( glyphTransforms[glyphIndex]); + + gp.transform(tx); return gp; } @@ -432,7 +494,6 @@ public class FreetypeGlyphVector extends GlyphVector return logicalBounds; Rectangle2D rect = (Rectangle2D)getGlyphLogicalBounds( 0 ); - AffineTransform tx = new AffineTransform(); for( int i = 1; i < nGlyphs; i++ ) { Rectangle2D r2 = (Rectangle2D)getGlyphLogicalBounds( i ); @@ -458,14 +519,8 @@ public class FreetypeGlyphVector extends GlyphVector public Shape getOutline() { GeneralPath path = new GeneralPath(); - AffineTransform tx = new AffineTransform(); for( int i = 0; i < getNumGlyphs(); i++ ) - { - Shape outline = getGlyphOutline(i); - tx.setToTranslation(glyphPositions[i*2], glyphPositions[i*2 +1]); - outline = tx.createTransformedShape(outline); - path.append(outline, false); - } + path.append(getGlyphOutline(i), false); return path; } diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GThreadMutex.java b/libjava/classpath/gnu/java/awt/peer/gtk/GThreadMutex.java deleted file mode 100644 index e73df9e..0000000 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GThreadMutex.java +++ /dev/null @@ -1,109 +0,0 @@ -/* GThreadMutex.java -- Implements a mutex object for glib's gthread - abstraction, for use with GNU Classpath's --portable-native-sync option. - This is used in gthread-jni.c - - Copyright (C) 2004 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 gnu.java.awt.peer.gtk; - -/** Implements a mutex object for glib's gthread - abstraction, for use with GNU Classpath's --portable-native-sync option. - This is used in gthread-jni.c. - - We use this object to implement the POSIX semantics for Mutexes. They are - needed are needed for the function vector that is passed to glib's - g_thread subpackage's initialization function. - - The GThreadMutex object itself serves as the Real Lock; if code has - entered the monitor for this GThreadMutex object (in Java language, if - it's synchronized on this object) then it holds the lock that this object - represents. - - @author Steven Augart - May, 2004 - - -*/ - -class GThreadMutex -{ - /** Might "lock" be locked? Is anyone waiting - to get that lock? How long is the queue? - - If zero, nobody holds a lock on this GThreadMutex object, and nobody is - trying to get one. Before someone attempts to acquire a lock on this - object, they must increment potentialLockers. After they release their - lock on this object, they must decrement potentialLockers. - - Access to this field is guarded by synchronizing on the object - lockForPotentialLockers. - - After construction, we only access this field via JNI. - */ - volatile int potentialLockers; - - /** An object to synchronize to if you want to examine or modify the - potentialLockers field. Only hold this lock for brief - moments, just long enough to check or set the value of - lockForPotentialLockers. - - We use this representation so that g_thread_mutex_trylock() will work - with the POSIX semantics. This is the only case in which you ever hold a - lock on lockForPotentialLockers while trying to get another - lock -- if you are the mutex_trylock() implementation, and you have just - checked that potentialLockers has the value zero. In that - case, mutex_trylock() holds the lock on lockForPotentialLockers so that - another thread calling mutex_trylock() or mutex_lock() won't increment - potentialLockers after we've checked it and before we've gained the lock - on the POSIX mutex. Of course, in that case the operation of gaining - the POSIX lock itself will succeed immediately, and once it has - succeeded, trylock releases lockForPotentialLockers right away, - incremented to 1 (one). - - After construction, we only access this field via JNI. - */ - Object lockForPotentialLockers; - - GThreadMutex() - { - potentialLockers = 0; - lockForPotentialLockers = new Object(); - } -} -// Local Variables: -// c-file-style: "gnu" -// End: diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GThreadNativeMethodRunner.java b/libjava/classpath/gnu/java/awt/peer/gtk/GThreadNativeMethodRunner.java deleted file mode 100644 index 9a1b8e3..0000000 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GThreadNativeMethodRunner.java +++ /dev/null @@ -1,303 +0,0 @@ -/* GThreadNativeMethodRunner.java -- Implements pthread_create(), under - glib's gthread abstraction, for use with GNU Classpath's - --portable-native-sync option. - This is used by gthread-jni.c - - Copyright (C) 2004, 2005 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 gnu.java.awt.peer.gtk; - -import java.lang.ref.WeakReference; -import java.util.Collections; -import java.util.HashSet; -import java.util.Set; - -/** Implements pthread_create(), under glib's gthread abstraction, for use - with GNU Classpath's --portable-native-sync option. This is used in - gthread-jni.c - - Also implements a registry for threads, mapping Thread objects to small - integers. The registry uses weak references for threads that aren't - joinable, so that they will be garbage collected. - - There are a number of possible alternative implementations. - - - The rest of this comment consists of an answer to a question that was - raised on the commit-classpath mailing list: - - Mark Wielaard wrote: - - > Can't we assume that jobject and gpointer are both (void *) so we don't - > need the int <-> Thread (global jobject ref) mapping? - > Maybe there are platforms where jobject and gpointer aren't the same, - > but I guess that is pretty unlikely. - - - I agree with you on the pointer size issues. A gpointer is a void *, so - it's certainly guaranteed to be at least as large as any other - pointer. And a jobject is implicitly an opaque pointer (in Jikes RVM, we - use small integers, but we coerce them into the representation of a - pointer). - - The int <==> Thread mapping addresses a different issue. I realize that I - did not document this properly (two and a half lines in thread_create), - and the point is subtle (at least to me; took me a while to figure out). - - The int => Thread mapping always returns jobjects that are local - references, not global ones. This is because Thread objects need to be - able to go away and be garbage collected after the thread they refer to - has died. - - If we keep a global object reference to a thread, then when do we delete - that global object reference? We have an answer in the case of GThread - objects that were explicitly created with the joinable attribute. It is - safe for us to maintain a global reference to any joinable thread, since - the joinable thread must linger (even if only in a zombie state) - until it's explicitly joined via a g_thread_join() call. The global ref - could be cleaned up at that point too. - - However, in the case of GThreads that were created non-joinable by - g_thread_create(), and in the case of Java threads that were created - within pure Java code (not via g_thread_create()), we don't want them to - linger forever, and there is no way to tell when the last reference - to such threads needs to expire. In the case of this application -- AWT - with GTK peers -- it would probably be safe anyway, since there are not - very many threads we create, but I was going for correctness even in the - case of long-running programs that might set up and tear down AWT - interfaces many times. - - So, I duplicated the POSIX thread-ID semantics. The thread ID of a - non-joinable thread remains valid as long as that thread is still alive. - Once that thread dies, the old thread ID may be reused at any moment. And - that's why the array indexed by thread ID numbers is an array of weak - references. - - That's also why the int => Thread jobject mapping function always returns - local references, since global references would lock the Thread in memory - forever. - - I would dearly love there to be a cleaner solution. I dislike the - repeated dips from C code into Java that are necessary to look up thread - ID numbers. If anyone can think of one, I'm all ears. -*/ - -class GThreadNativeMethodRunner - extends Thread -{ - /** The C function pointer that was passed to g_thread_create(). - Specifically, this the numeric address of an object of - C type "void *(*funcPtr)(void *funcArg)". - */ - private final long funcPtr; - - /** The argument for the function "funcPtr(funcArg)". */ - private final long funcArg; - - GThreadNativeMethodRunner(long funcPtr, long funcArg, boolean joinable) - { - this.funcPtr = funcPtr; - this.funcArg = funcArg; - - if (joinable) - registerSelfJoinable(); - } - - public void run() - { - nativeRun(funcPtr, funcArg); - } - - private native void nativeRun(long funcPtr, long funcArg); - - /** THREADS is an array of threads, indexed by thread ID codes. Not sure - whether this is the "best" approach but it does make it O(1) to look up a - thread by its ID. - - Zero is a valid thread ID code. Any negative number is invalid. - - Possible future fixes (TODO?) - - - The THREADS array will only grow. probably not a problem. - But we could keep count when nulling entries and shrink when we have - lots of nulls at the end. Probably not worth it. --mjw - - - Could make this a set of Object; see the comment on "joinable" below. - - The initial size of 17 is just a starting point. Any number will do, - including zero. - */ - private static WeakReference[] threads = new WeakReference[17]; - - /** Used by threadToThreadID, below. Returns the registration number of - the newly-registered thread. - */ - private static synchronized int registerThread(Thread t) - { - int i; - - for (i = 0; i < threads.length; ++i) - { - WeakReference ref = threads[i]; - if (ref == null) - break; // found an empty spot. - } - - if (i == threads.length) - { - /* expand the array */ - WeakReference[] bigger = new WeakReference[threads.length * 2]; - System.arraycopy(threads, 0, bigger, 0, threads.length); - threads = bigger; - } - - threads[i] = new WeakReference(t); - - return i; - } - - /** Look up the Thread ID # for a Thread. Assign a Thread ID # if none - exists. This is a general routine for handling all threads, including - the VM's main thread, if appropriate. - - - Runs in O(n/2) time. - - We can't just issue a threadID upon thread creation. If we were to do - that, not all threads would have a threadID, because not all threads - are launched by GThreadNativeMethodRunner. - */ - static synchronized int threadToThreadID(Thread t) - { - for (int i = 0; i < threads.length; ++i ) - { - if (threads[i] == null) - continue; - Thread referent = (Thread) threads[i].get(); - if (referent == null) - { - threads[i] = null; // Purge the dead WeakReference. - continue; - } - if (referent.equals(t)) - return i; - } // for() - - /* No match found. */ - return registerThread(t); - } - - /** @param threadID Must be a non-negative integer. - - Used to return null if the thread number was out of range or if - the thread was unregistered. Now we throw an exception. - - Possible Alternative Interface: We could go back to returning null in - some sort of check-free mode, so code that calls this function must - be prepared to get null. - */ - static Thread threadIDToThread(int threadID) - throws IllegalArgumentException - { - if (threadID < 0) - throw new IllegalArgumentException("Received a negative threadID, " - + threadID); - if (threadID >= threads.length) - throw new IllegalArgumentException("Received a threadID (" + threadID - + ") higher than was" - + " ever issued"); - - /* Note: if the user is using a stale reference, things will just - break. We might end up getting a different thread than the one - expected. - - TODO: Add an error-checking mode where the user's problems with threads - are announced. For instance, if the user asks for the thread - associated with a threadID that was never issued, we could print a - warning or even abort. - - TODO: Consider optionally disabling all of the error-checking we - already have; it probably slows down the implementation. We could - just return NULL. This is just the reverse of the above TODO item. - */ - - WeakReference threadRef = threads[threadID]; - - if (threadRef == null) - throw new IllegalArgumentException("Asked to look up a stale or unissued" - + "threadID (" + threadID + ")" ); - - - Thread referent = (Thread) threadRef.get(); - if (referent == null) - throw new IllegalArgumentException ("Asked to look up a stale threadID (" - + threadID + ")"); - return referent; - } - - /** Joinable threads need a hard reference, so that they won't go away when - they die. That is because their thread IDs need to stay valid until the - thread is joined via thread_join(threadID). Joinable threads have to be - explicitly joined before they are allowed to go away completely. - - Possible Alternative Implementation: Eliminate the Joinable set. When - calling getThreadIDFromThread() you know whether or not the thread - is joinable. So just store the Thread itself in the threads array? - Make that array an Object array and check with instanceof. This - looks cleaner and more robust to me and it saves a native -> Java - call. But instanceof might be expensive. --mjw - */ - private static final Set joinable = - Collections.synchronizedSet(new HashSet()); - - /** Only called from the constructor. */ - private void registerSelfJoinable() - { - joinable.add(this); - } - - /** This method is only called from JNI, and only after we have succeeded in - a thread_join() operation. */ - static void deRegisterJoinable(Thread thread) - { - joinable.remove(thread); - } -} - -// Local Variables: -// c-file-style: "gnu" -// End: diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GdkFontPeer.java b/libjava/classpath/gnu/java/awt/peer/gtk/GdkFontPeer.java index 5f5126a..c3c94d8 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GdkFontPeer.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GdkFontPeer.java @@ -67,7 +67,7 @@ public class GdkFontPeer extends ClasspathFontPeer * The size of the cache has been chosen so that relativly large GUIs with * text documents are still efficient. */ - HashMap textLayoutCache = new GtkToolkit.LRUCache(500); + HashMap textLayoutCache = new GtkToolkit.LRUCache(500); private class GdkFontMetrics extends FontMetrics { @@ -79,7 +79,7 @@ public class GdkFontPeer extends ClasspathFontPeer public int stringWidth (String str) { - TextLayout tl = (TextLayout) textLayoutCache.get(str); + TextLayout tl = textLayoutCache.get(str); if (tl == null) { tl = new TextLayout(str, font, DEFAULT_CTX); @@ -140,7 +140,7 @@ public class GdkFontPeer extends ClasspathFontPeer /** * Cache GlyphMetrics objects. */ - private HashMap metricsCache; + private HashMap metricsCache; private static final int FONT_METRICS_ASCENT = 0; private static final int FONT_METRICS_MAX_ASCENT = 1; @@ -235,7 +235,7 @@ public class GdkFontPeer extends ClasspathFontPeer super(name, style, size); initState (); setFont (this.familyName, this.style, (int)this.size); - metricsCache = new HashMap(); + metricsCache = new HashMap(); setupMetrics(); } @@ -244,7 +244,7 @@ public class GdkFontPeer extends ClasspathFontPeer super(name, attributes); initState (); setFont (this.familyName, this.style, (int)this.size); - metricsCache = new HashMap(); + metricsCache = new HashMap(); setupMetrics(); } @@ -261,9 +261,9 @@ public class GdkFontPeer extends ClasspathFontPeer return font; else { - ClasspathToolkit toolkit; - toolkit = (ClasspathToolkit) Toolkit.getDefaultToolkit(); - return toolkit.getFont(font.getName(), font.getAttributes()); + ClasspathToolkit toolkit; + toolkit = (ClasspathToolkit) Toolkit.getDefaultToolkit(); + return toolkit.getFont(font.getName(), font.getAttributes()); } } @@ -294,9 +294,9 @@ public class GdkFontPeer extends ClasspathFontPeer name = getName(NameDecoder.NAME_SUBFAMILY, locale); if (name == null) { - name = getName(NameDecoder.NAME_SUBFAMILY, Locale.ENGLISH); - if ("Regular".equals(name)) - name = null; + name = getName(NameDecoder.NAME_SUBFAMILY, Locale.ENGLISH); + if ("Regular".equals(name)) + name = null; } return name; @@ -340,12 +340,12 @@ public class GdkFontPeer extends ClasspathFontPeer { if (nameTable == null) { - byte[] data = getTrueTypeTable((byte)'n', (byte) 'a', - (byte) 'm', (byte) 'e'); - if( data == null ) - return null; + byte[] data = getTrueTypeTable((byte)'n', (byte) 'a', + (byte) 'm', (byte) 'e'); + if( data == null ) + return null; - nameTable = ByteBuffer.wrap( data ); + nameTable = ByteBuffer.wrap( data ); } return NameDecoder.getName(nameTable, name, locale); @@ -492,8 +492,8 @@ public class GdkFontPeer extends ClasspathFontPeer char[] chars, int start, int limit, int flags) { - return new FreetypeGlyphVector( font, chars, start, limit - start, - frc, flags); + return new FreetypeGlyphVector(font, chars, start, limit - start, + frc, flags); } public LineMetrics getLineMetrics (Font font, String str, @@ -515,13 +515,13 @@ public class GdkFontPeer extends ClasspathFontPeer */ GlyphMetrics getGlyphMetrics( int glyphCode ) { - return (GlyphMetrics)metricsCache.get( new Integer( glyphCode ) ); + return metricsCache.get(new Integer(glyphCode)); } /** * Put a GlyphMetrics object in the cache. */ - void putGlyphMetrics( int glyphCode, Object metrics ) + void putGlyphMetrics( int glyphCode, GlyphMetrics metrics ) { metricsCache.put( new Integer( glyphCode ), metrics ); } diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java b/libjava/classpath/gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java index db725b6..bd6daa2 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java @@ -38,16 +38,21 @@ exception statement from your version. */ package gnu.java.awt.peer.gtk; +import gnu.java.awt.ClasspathGraphicsEnvironment; + import java.awt.Font; import java.awt.Graphics2D; import java.awt.GraphicsDevice; import java.awt.GraphicsEnvironment; import java.awt.HeadlessException; import java.awt.image.BufferedImage; +import java.awt.image.ColorModel; import java.awt.image.Raster; +import java.awt.image.SampleModel; +import java.awt.image.WritableRaster; import java.util.Locale; -public class GdkGraphicsEnvironment extends GraphicsEnvironment +public class GdkGraphicsEnvironment extends ClasspathGraphicsEnvironment { private final int native_state = GtkGenericPeer.getUniqueInteger (); @@ -139,4 +144,13 @@ public class GdkGraphicsEnvironment extends GraphicsEnvironment * Used by GtkMouseInfoPeer. */ native int[] getMouseCoordinates(); + + public WritableRaster createRaster(ColorModel cm, SampleModel sm) + { + if (CairoSurface.isCompatibleSampleModel(sm) + && CairoSurface.isCompatibleColorModel(cm)) + return new CairoSurface(sm.getWidth(), sm.getHeight()); + else + return null; + } } diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GdkPixbufDecoder.java b/libjava/classpath/gnu/java/awt/peer/gtk/GdkPixbufDecoder.java index 6d0a52b..6f6ea56 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GdkPixbufDecoder.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GdkPixbufDecoder.java @@ -184,22 +184,22 @@ public class GdkPixbufDecoder extends gnu.java.awt.image.ImageDecoder int len = 0; synchronized(pixbufLock) { - initState(); + initState(); } needsClose = true; // Note: We don't want the pixbufLock while reading from the InputStream. while ((len = is.read (bytes)) != -1) { - synchronized(pixbufLock) - { - pumpBytes (bytes, len); - } + synchronized(pixbufLock) + { + pumpBytes (bytes, len); + } } synchronized(pixbufLock) { - pumpDone(); + pumpDone(); } needsClose = false; @@ -217,7 +217,7 @@ public class GdkPixbufDecoder extends gnu.java.awt.image.ImageDecoder { synchronized(pixbufLock) { - finish(needsClose); + finish(needsClose); } } @@ -226,8 +226,8 @@ public class GdkPixbufDecoder extends gnu.java.awt.image.ImageDecoder { public String name; public boolean writable = false; - public ArrayList mimeTypes = new ArrayList(); - public ArrayList extensions = new ArrayList(); + public ArrayList mimeTypes = new ArrayList(); + public ArrayList extensions = new ArrayList(); public ImageFormatSpec(String name, boolean writable) { @@ -246,7 +246,7 @@ public class GdkPixbufDecoder extends gnu.java.awt.image.ImageDecoder } } - static ArrayList imageFormatSpecs; + static ArrayList imageFormatSpecs; public static ImageFormatSpec registerFormat(String name, boolean writable) { @@ -254,7 +254,7 @@ public class GdkPixbufDecoder extends gnu.java.awt.image.ImageDecoder synchronized(GdkPixbufDecoder.class) { if (imageFormatSpecs == null) - imageFormatSpecs = new ArrayList(); + imageFormatSpecs = new ArrayList(); imageFormatSpecs.add(ifs); } return ifs; @@ -262,13 +262,13 @@ public class GdkPixbufDecoder extends gnu.java.awt.image.ImageDecoder static String[] getFormatNames(boolean writable) { - ArrayList names = new ArrayList(); + ArrayList names = new ArrayList(); synchronized (imageFormatSpecs) { - Iterator i = imageFormatSpecs.iterator(); + Iterator i = imageFormatSpecs.iterator(); while (i.hasNext()) { - ImageFormatSpec ifs = (ImageFormatSpec) i.next(); + ImageFormatSpec ifs = i.next(); if (writable && !ifs.writable) continue; names.add(ifs.name); @@ -279,62 +279,50 @@ public class GdkPixbufDecoder extends gnu.java.awt.image.ImageDecoder * This generally means "all the extensions people might use". */ - Iterator j = ifs.extensions.iterator(); + Iterator j = ifs.extensions.iterator(); while (j.hasNext()) - names.add((String) j.next()); + names.add(j.next()); } } - Object[] objs = names.toArray(); - String[] strings = new String[objs.length]; - for (int i = 0; i < objs.length; ++i) - strings[i] = (String) objs[i]; - return strings; + return names.toArray(new String[names.size()]); } static String[] getFormatExtensions(boolean writable) { - ArrayList extensions = new ArrayList(); + ArrayList extensions = new ArrayList(); synchronized (imageFormatSpecs) { - Iterator i = imageFormatSpecs.iterator(); + Iterator i = imageFormatSpecs.iterator(); while (i.hasNext()) { - ImageFormatSpec ifs = (ImageFormatSpec) i.next(); + ImageFormatSpec ifs = i.next(); if (writable && !ifs.writable) continue; - Iterator j = ifs.extensions.iterator(); + Iterator j = ifs.extensions.iterator(); while (j.hasNext()) - extensions.add((String) j.next()); + extensions.add(j.next()); } } - Object[] objs = extensions.toArray(); - String[] strings = new String[objs.length]; - for (int i = 0; i < objs.length; ++i) - strings[i] = (String) objs[i]; - return strings; + return extensions.toArray(new String[extensions.size()]); } static String[] getFormatMimeTypes(boolean writable) { - ArrayList mimeTypes = new ArrayList(); + ArrayList mimeTypes = new ArrayList(); synchronized (imageFormatSpecs) { - Iterator i = imageFormatSpecs.iterator(); + Iterator i = imageFormatSpecs.iterator(); while (i.hasNext()) { - ImageFormatSpec ifs = (ImageFormatSpec) i.next(); + ImageFormatSpec ifs = i.next(); if (writable && !ifs.writable) continue; - Iterator j = ifs.mimeTypes.iterator(); + Iterator j = ifs.mimeTypes.iterator(); while (j.hasNext()) - mimeTypes.add((String) j.next()); + mimeTypes.add(j.next()); } } - Object[] objs = mimeTypes.toArray(); - String[] strings = new String[objs.length]; - for (int i = 0; i < objs.length; ++i) - strings[i] = (String) objs[i]; - return strings; + return mimeTypes.toArray(new String[mimeTypes.size()]); } @@ -348,10 +336,10 @@ public class GdkPixbufDecoder extends gnu.java.awt.image.ImageDecoder String str = (String) ext; - Iterator i = imageFormatSpecs.iterator(); + Iterator i = imageFormatSpecs.iterator(); while (i.hasNext()) { - ImageFormatSpec ifs = (ImageFormatSpec) i.next(); + ImageFormatSpec ifs = i.next(); if (needWritable && !ifs.writable) continue; @@ -359,10 +347,10 @@ public class GdkPixbufDecoder extends gnu.java.awt.image.ImageDecoder if (ifs.name.equals(str)) return str; - Iterator j = ifs.extensions.iterator(); + Iterator j = ifs.extensions.iterator(); while (j.hasNext()) { - String extension = (String)j.next(); + String extension = j.next(); if (extension.equals(str)) return ifs.name; } @@ -370,7 +358,7 @@ public class GdkPixbufDecoder extends gnu.java.awt.image.ImageDecoder j = ifs.mimeTypes.iterator(); while (j.hasNext()) { - String mimeType = (String)j.next(); + String mimeType = j.next(); if (mimeType.equals(str)) return ifs.name; } @@ -510,10 +498,10 @@ public class GdkPixbufDecoder extends gnu.java.awt.image.ImageDecoder if (pixels == null) { - BufferedImage img; - if(model != null && model.hasAlpha()) - img = CairoSurface.getBufferedImage(width, height); - img = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); + BufferedImage img; + if(model != null && model.hasAlpha()) + img = CairoSurface.getBufferedImage(width, height); + img = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); int[] pix = new int[4]; for (int y = 0; y < height; ++y) for (int x = 0; x < width; ++x) @@ -527,10 +515,10 @@ public class GdkPixbufDecoder extends gnu.java.awt.image.ImageDecoder workerThread.start(); processImageStarted(1); synchronized(pixbufLock) - { - streamImage(pixels, this.ext, width, height, model.hasAlpha(), - this); - } + { + streamImage(pixels, this.ext, width, height, model.hasAlpha(), + this); + } synchronized(data) { data.add(DATADONE); @@ -539,18 +527,18 @@ public class GdkPixbufDecoder extends gnu.java.awt.image.ImageDecoder while (workerThread.isAlive()) { - try - { - workerThread.join(); - } - catch (InterruptedException ioe) - { - // Ignored. - } + try + { + workerThread.join(); + } + catch (InterruptedException ioe) + { + // Ignored. + } } if (exception != null) - throw exception; + throw exception; processImageComplete(); } @@ -566,7 +554,7 @@ public class GdkPixbufDecoder extends gnu.java.awt.image.ImageDecoder * Needs to be synchronized for access. * The special object DATADONE is added when all data has been delivered. */ - private ArrayList data = new ArrayList(); + private ArrayList data = new ArrayList(); /** * Holds any IOException thrown by the run method that needs @@ -643,7 +631,8 @@ public class GdkPixbufDecoder extends gnu.java.awt.image.ImageDecoder this.ext = findFormatName(ext, false); } - public GdkPixbufReader(GdkPixbufReaderSpi ownerSpi, Object ext, GdkPixbufDecoder d) + public GdkPixbufReader(GdkPixbufReaderSpi ownerSpi, Object ext, + GdkPixbufDecoder d) { this(ownerSpi, ext); dec = d; @@ -680,10 +669,12 @@ public class GdkPixbufDecoder extends gnu.java.awt.image.ImageDecoder if (bufferedImage == null) { - if(model != null && model.hasAlpha()) - bufferedImage = new BufferedImage (width, height, BufferedImage.TYPE_INT_ARGB); - else - bufferedImage = new BufferedImage (width, height, BufferedImage.TYPE_INT_RGB); + if(model != null && model.hasAlpha()) + bufferedImage = new BufferedImage (width, height, + BufferedImage.TYPE_INT_ARGB); + else + bufferedImage = new BufferedImage (width, height, + BufferedImage.TYPE_INT_RGB); } int pixels2[]; @@ -735,11 +726,11 @@ public class GdkPixbufDecoder extends gnu.java.awt.image.ImageDecoder return null; } - public Iterator getImageTypes(int imageIndex) + public Iterator getImageTypes(int imageIndex) throws IOException { BufferedImage img = getBufferedImage(); - Vector vec = new Vector(); + Vector vec = new Vector(); vec.add(new ImageTypeSpecifier(img)); return vec.iterator(); } @@ -767,8 +758,8 @@ public class GdkPixbufDecoder extends gnu.java.awt.image.ImageDecoder else if (get instanceof DataInput) dec = new GdkPixbufDecoder((DataInput) get); else - throw new IllegalArgumentException("input object not supported: " - + get); + throw new IllegalArgumentException("input object not supported: " + + get); } public BufferedImage read(int imageIndex, ImageReadParam param) diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GdkScreenGraphicsDevice.java b/libjava/classpath/gnu/java/awt/peer/gtk/GdkScreenGraphicsDevice.java index 62116a3..a69c6f0 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GdkScreenGraphicsDevice.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GdkScreenGraphicsDevice.java @@ -188,7 +188,7 @@ class GdkScreenGraphicsDevice extends GraphicsDevice displayModes = nativeGetDisplayModes(env); } - ArrayList list = new ArrayList(); + ArrayList list = new ArrayList(); for(int i=0;i groupMap + = new WeakHashMap(); public native void createCheckButton (); public native void createRadioButton (long groupPointer); @@ -98,7 +99,7 @@ public class GtkCheckboxPeer extends GtkComponentPeer Long groupPointer = null; synchronized (groupMap) { - groupPointer = (Long) groupMap.get(current_group); + groupPointer = groupMap.get(current_group); } if (groupPointer == null) @@ -133,8 +134,8 @@ public class GtkCheckboxPeer extends GtkComponentPeer { if (currentState != state) { - currentState = state; - gtkToggleButtonSetActive(state); + currentState = state; + gtkToggleButtonSetActive(state); } } @@ -158,7 +159,7 @@ public class GtkCheckboxPeer extends GtkComponentPeer Long groupPointer = null; synchronized (groupMap) { - groupPointer = (Long) groupMap.get(current_group); + groupPointer = groupMap.get(current_group); } if (groupPointer == null) @@ -203,7 +204,7 @@ public class GtkCheckboxPeer extends GtkComponentPeer Long groupPointer = null; synchronized (groupMap) { - groupPointer = (Long) groupMap.get(current_group); + groupPointer = groupMap.get(current_group); } if (groupPointer == null) @@ -230,9 +231,9 @@ public class GtkCheckboxPeer extends GtkComponentPeer // Only fire event is state actually changed. if (currentState != state) { - currentState = state; - super.postItemEvent(awtComponent, - state ? ItemEvent.SELECTED : ItemEvent.DESELECTED); + currentState = state; + super.postItemEvent(awtComponent, + state ? ItemEvent.SELECTED : ItemEvent.DESELECTED); } } diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GtkChoicePeer.java b/libjava/classpath/gnu/java/awt/peer/gtk/GtkChoicePeer.java index d866cef..ff061d3 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GtkChoicePeer.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GtkChoicePeer.java @@ -55,12 +55,12 @@ public class GtkChoicePeer extends GtkComponentPeer int count = c.getItemCount (); if (count > 0) { - for (int i = 0; i < count; i++) - add( c.getItem(i), i ); + for (int i = 0; i < count; i++) + add(c.getItem(i), i); - selected = c.getSelectedIndex(); - if( selected >= 0 ) - select( selected ); + selected = c.getSelectedIndex(); + if (selected >= 0) + select( selected ); } else selected = -1; @@ -121,9 +121,9 @@ public class GtkChoicePeer extends GtkComponentPeer { if( selected != index ) { - selected = index; - postItemEvent (((Choice) awtComponent).getItem( selected ), - ItemEvent.SELECTED); + selected = index; + postItemEvent (((Choice) awtComponent).getItem( selected ), + ItemEvent.SELECTED); } } @@ -133,11 +133,11 @@ public class GtkChoicePeer extends GtkComponentPeer */ public void handleEvent (AWTEvent event) { - super.handleEvent( event ); - if( event instanceof ItemEvent ) - if( ((ItemEvent)event).getItemSelectable() == awtComponent && - ((ItemEvent)event).getStateChange() == ItemEvent.SELECTED ) - ((Choice)awtComponent).select( selected ); + super.handleEvent (event); + if (event instanceof ItemEvent) + if (((ItemEvent)event).getItemSelectable() == awtComponent + && ((ItemEvent)event).getStateChange() == ItemEvent.SELECTED) + ((Choice)awtComponent).select( selected ); } } diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GtkClipboard.java b/libjava/classpath/gnu/java/awt/peer/gtk/GtkClipboard.java index f520fe2..e417546 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GtkClipboard.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GtkClipboard.java @@ -71,9 +71,9 @@ public class GtkClipboard extends Clipboard // cached by GtkSelection. True if // gdk_display_supports_selection_notification. static final boolean canCache = initNativeState(clipboard, selection, - stringMimeType, - imageMimeType, - filesMimeType); + stringMimeType, + imageMimeType, + filesMimeType); /** * Creates the clipboard and sets the initial contents to the @@ -140,8 +140,8 @@ public class GtkClipboard extends Clipboard if (contents == null) { - advertiseContent(null, false, false, false); - return; + advertiseContent(null, false, false, false); + return; } // We don't need to do anything for a GtkSelection facade. @@ -153,46 +153,45 @@ public class GtkClipboard extends Clipboard boolean files = false; if (contents instanceof StringSelection - || contents.isDataFlavorSupported(DataFlavor.stringFlavor) - || contents.isDataFlavorSupported(DataFlavor.plainTextFlavor) - || contents.isDataFlavorSupported(DataFlavor - .getTextPlainUnicodeFlavor())) + || contents.isDataFlavorSupported(DataFlavor.stringFlavor) + || contents.isDataFlavorSupported(DataFlavor.plainTextFlavor) + || contents.isDataFlavorSupported(DataFlavor.getTextPlainUnicodeFlavor())) text = true; DataFlavor[] flavors = contents.getTransferDataFlavors(); String[] mimeTargets = new String[flavors.length]; for (int i = 0; i < flavors.length; i++) { - DataFlavor flavor = flavors[i]; - String mimeType = flavor.getMimeType(); - mimeTargets[i] = mimeType; - - if (! text) - if ("text".equals(flavor.getPrimaryType()) - || flavor.isRepresentationClassReader()) - text = true; - - if (! images && flavors[i].equals(DataFlavor.imageFlavor)) - { - try - { - Object o = contents.getTransferData(DataFlavor.imageFlavor); - if (o instanceof Image) - images = true; - } - catch (UnsupportedFlavorException ufe) - { - } - catch (IOException ioe) - { - } - catch (ClassCastException cce) - { - } - } - - if (flavors[i].equals(DataFlavor.javaFileListFlavor)) - files = true; + DataFlavor flavor = flavors[i]; + String mimeType = flavor.getMimeType(); + mimeTargets[i] = mimeType; + + if (! text) + if ("text".equals(flavor.getPrimaryType()) + || flavor.isRepresentationClassReader()) + text = true; + + if (! images && flavors[i].equals(DataFlavor.imageFlavor)) + { + try + { + Object o = contents.getTransferData(DataFlavor.imageFlavor); + if (o instanceof Image) + images = true; + } + catch (UnsupportedFlavorException ufe) + { + } + catch (IOException ioe) + { + } + catch (ClassCastException cce) + { + } + } + + if (flavors[i].equals(DataFlavor.javaFileListFlavor)) + files = true; } advertiseContent(mimeTargets, text, images, files); @@ -207,9 +206,9 @@ public class GtkClipboard extends Clipboard * selection has explicitly been erased. */ private native void advertiseContent(String[] targets, - boolean text, - boolean images, - boolean files); + boolean text, + boolean images, + boolean files); /** * Called by the gtk+ clipboard when an application has requested @@ -228,7 +227,7 @@ public class GtkClipboard extends Clipboard try { return (String) contents.getTransferData(DataFlavor.stringFlavor); - } + } catch (UnsupportedFlavorException ufe) { } @@ -244,20 +243,20 @@ public class GtkClipboard extends Clipboard // turn the result into a string. try { - DataFlavor plainText = DataFlavor.getTextPlainUnicodeFlavor(); - Reader r = plainText.getReaderForText(contents); - if (r != null) - { - StringBuffer sb = new StringBuffer(); - char[] cs = new char[1024]; - int l = r.read(cs); - while (l != -1) - { - sb.append(cs, 0, l); - l = r.read(cs); - } - return sb.toString(); - } + DataFlavor plainText = DataFlavor.getTextPlainUnicodeFlavor(); + Reader r = plainText.getReaderForText(contents); + if (r != null) + { + StringBuffer sb = new StringBuffer(); + char[] cs = new char[1024]; + int l = r.read(cs); + while (l != -1) + { + sb.append(cs, 0, l); + l = r.read(cs); + } + return sb.toString(); + } } catch (IllegalArgumentException iae) { @@ -288,11 +287,11 @@ public class GtkClipboard extends Clipboard try { - Object o = contents.getTransferData(DataFlavor.imageFlavor); - if( o instanceof GtkImage ) - return (GtkImage) o; - else - return new GtkImage(((Image)o).getSource()); + Object o = contents.getTransferData(DataFlavor.imageFlavor); + if( o instanceof GtkImage ) + return (GtkImage) o; + else + return new GtkImage(((Image)o).getSource()); } catch (UnsupportedFlavorException ufe) { @@ -321,14 +320,13 @@ public class GtkClipboard extends Clipboard try { - List list = (List) contents.getTransferData - (DataFlavor.javaFileListFlavor); - String[] uris = new String[list.size()]; - int u = 0; - Iterator it = list.iterator(); - while (it.hasNext()) - uris[u++] = ((File) it.next()).toURI().toString(); - return uris; + List list = (List) contents.getTransferData(DataFlavor.javaFileListFlavor); + String[] uris = new String[list.size()]; + int u = 0; + Iterator it = list.iterator(); + while (it.hasNext()) + uris[u++] = ((File) it.next()).toURI().toString(); + return uris; } catch (UnsupportedFlavorException ufe) { @@ -365,34 +363,34 @@ public class GtkClipboard extends Clipboard // the other provideXXX() methods. try { - DataFlavor flavor = new DataFlavor(target); - Object o = contents.getTransferData(flavor); - - if (o instanceof byte[]) - return (byte[]) o; - - if (o instanceof InputStream) - { - InputStream is = (InputStream) o; - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - byte[] bs = new byte[1024]; - int l = is.read(bs); - while (l != -1) - { - baos.write(bs, 0, l); - l = is.read(bs); - } - return baos.toByteArray(); - } - - if (o instanceof Serializable) - { - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - ObjectOutputStream oos = new ObjectOutputStream(baos); - oos.writeObject(o); - oos.close(); - return baos.toByteArray(); - } + DataFlavor flavor = new DataFlavor(target); + Object o = contents.getTransferData(flavor); + + if (o instanceof byte[]) + return (byte[]) o; + + if (o instanceof InputStream) + { + InputStream is = (InputStream) o; + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + byte[] bs = new byte[1024]; + int l = is.read(bs); + while (l != -1) + { + baos.write(bs, 0, l); + l = is.read(bs); + } + return baos.toByteArray(); + } + + if (o instanceof Serializable) + { + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + ObjectOutputStream oos = new ObjectOutputStream(baos); + oos.writeObject(o); + oos.close(); + return baos.toByteArray(); + } } catch (ClassNotFoundException cnfe) { @@ -416,8 +414,8 @@ public class GtkClipboard extends Clipboard * Clipboard can be cached (gdk_display_supports_selection_notification). */ private static native boolean initNativeState(GtkClipboard clipboard, - GtkClipboard selection, - String stringTarget, - String imageTarget, - String filesTarget); + GtkClipboard selection, + String stringTarget, + String imageTarget, + String filesTarget); } diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GtkClipboardNotifier.java b/libjava/classpath/gnu/java/awt/peer/gtk/GtkClipboardNotifier.java index 61df796..8e59345 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GtkClipboardNotifier.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GtkClipboardNotifier.java @@ -74,11 +74,11 @@ class GtkClipboardNotifier extends Thread { synchronized (notifier) { - if (clipboard == GtkClipboard.clipboard) - announceClipboardChange = true; - else - announcePrimaryChange = true; - notifier.notifyAll(); + if (clipboard == GtkClipboard.clipboard) + announceClipboardChange = true; + else + announcePrimaryChange = true; + notifier.notifyAll(); } } @@ -87,44 +87,43 @@ class GtkClipboardNotifier extends Thread GtkClipboard clipboard; while (true) { - synchronized (this) - { - while (! announceClipboardChange && ! announcePrimaryChange) - { - try - { - this.wait(); - } - catch (InterruptedException ie) - { - // ignore - } - } - - if (announceClipboardChange) - { - clipboard = GtkClipboard.clipboard; - announceClipboardChange = false; - } - else - { - clipboard = GtkClipboard.selection; - announcePrimaryChange = false; - } - } - - // Do the actual announcement without the lock held. We will - // notice a new change after this notification has finished. - try - { - clipboard.setContents(new GtkSelection(clipboard), null); - } - catch (Throwable t) - { - // should never happen, but might if we have some faulty - // listener. - t.printStackTrace(); - } + synchronized (this) + { + while (! announceClipboardChange && ! announcePrimaryChange) + { + try + { + this.wait(); + } + catch (InterruptedException ie) + { + // ignore + } + } + + if (announceClipboardChange) + { + clipboard = GtkClipboard.clipboard; + announceClipboardChange = false; + } + else + { + clipboard = GtkClipboard.selection; + announcePrimaryChange = false; + } + } + + // Do the actual announcement without the lock held. We will + // notice a new change after this notification has finished. + try + { + clipboard.setContents(new GtkSelection(clipboard), null); + } + catch (Throwable t) + { + // should never happen, but might if we have some faulty listener. + t.printStackTrace(); + } } } } diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GtkComponentPeer.java b/libjava/classpath/gnu/java/awt/peer/gtk/GtkComponentPeer.java index b1ef09d..a7ae8e1 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GtkComponentPeer.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GtkComponentPeer.java @@ -109,7 +109,7 @@ public class GtkComponentPeer extends GtkGenericPeer native void gtkWidgetGetLocationOnScreen (int[] point); native void gtkWidgetSetCursor (int type, GtkImage image, int x, int y); native void gtkWidgetSetCursorUnlocked (int type, GtkImage image, - int x, int y); + int x, int y); native void gtkWidgetSetBackground (int red, int green, int blue); native void gtkWidgetSetForeground (int red, int green, int blue); native void gtkWidgetSetSensitive (boolean sensitive); @@ -206,7 +206,7 @@ public class GtkComponentPeer extends GtkGenericPeer } public int checkImage (Image image, int width, int height, - ImageObserver observer) + ImageObserver observer) { return getToolkit().checkImage(image, width, height, observer); } @@ -402,7 +402,7 @@ public class GtkComponentPeer extends GtkGenericPeer } public boolean prepareImage (Image image, int width, int height, - ImageObserver observer) + ImageObserver observer) { return getToolkit().prepareImage(image, width, height, observer); } @@ -539,17 +539,17 @@ public class GtkComponentPeer extends GtkGenericPeer int type = cursor.getType(); if (cursor instanceof GtkCursor) { - GtkCursor gtkCursor = (GtkCursor) cursor; - image = gtkCursor.getGtkImage(); - Point hotspot = gtkCursor.getHotspot(); - x = hotspot.x; - y = hotspot.y; + GtkCursor gtkCursor = (GtkCursor) cursor; + image = gtkCursor.getGtkImage(); + Point hotspot = gtkCursor.getHotspot(); + x = hotspot.x; + y = hotspot.y; } else { - image = null; - x = 0; - y = 0; + image = null; + x = 0; + y = 0; } if (Thread.currentThread() == GtkMainThread.mainThread) @@ -597,7 +597,7 @@ public class GtkComponentPeer extends GtkGenericPeer if (b && ! (awtComponent instanceof Window)) { Rectangle bounds = awtComponent.getBounds(); - b = (bounds.width > 0) && (bounds.height > 0); + b = (bounds.width > 0) && (bounds.height > 0); } if (Thread.currentThread() == GtkMainThread.mainThread) @@ -617,23 +617,23 @@ public class GtkComponentPeer extends GtkGenericPeer } protected void postMouseEvent(int id, long when, int mods, int x, int y, - int clickCount, boolean popupTrigger) + int clickCount, boolean popupTrigger) { q().postEvent(new MouseEvent(awtComponent, id, when, mods, x, y, - clickCount, popupTrigger)); + clickCount, popupTrigger)); } /** * Callback for component_scroll_cb. */ protected void postMouseWheelEvent(int id, long when, int mods, - int x, int y, int clickCount, - boolean popupTrigger, - int type, int amount, int rotation) + int x, int y, int clickCount, + boolean popupTrigger, + int type, int amount, int rotation) { q().postEvent(new MouseWheelEvent(awtComponent, id, when, mods, - x, y, clickCount, popupTrigger, - type, amount, rotation)); + x, y, clickCount, popupTrigger, + type, amount, rotation)); } protected void postExposeEvent (int x, int y, int width, int height) @@ -659,12 +659,12 @@ public class GtkComponentPeer extends GtkGenericPeer && keyCode != KeyEvent.VK_ALT)) { synchronized(q) - { - q.postEvent(keyEvent); - keyEvent = new KeyEvent(awtComponent, KeyEvent.KEY_TYPED, when, - mods, KeyEvent.VK_UNDEFINED, keyChar, - keyLocation); - q.postEvent(keyEvent); + { + q.postEvent(keyEvent); + keyEvent = new KeyEvent(awtComponent, KeyEvent.KEY_TYPED, when, + mods, KeyEvent.VK_UNDEFINED, keyChar, + keyLocation); + q.postEvent(keyEvent); } } else @@ -685,8 +685,8 @@ public class GtkComponentPeer extends GtkGenericPeer protected void postItemEvent (Object item, int stateChange) { q().postEvent (new ItemEvent ((ItemSelectable)awtComponent, - ItemEvent.ITEM_STATE_CHANGED, - item, stateChange)); + ItemEvent.ITEM_STATE_CHANGED, + item, stateChange)); } protected void postTextEvent () @@ -828,8 +828,8 @@ public class GtkComponentPeer extends GtkGenericPeer // buffer and one front buffer. if (numBuffers == 2) backBuffer = new GtkVolatileImage(this, awtComponent.getWidth(), - awtComponent.getHeight(), - caps.getBackBufferCapabilities()); + awtComponent.getHeight(), + caps.getBackBufferCapabilities()); else throw new AWTException("GtkComponentPeer.createBuffers:" + " multi-buffering not supported"); @@ -846,18 +846,18 @@ public class GtkComponentPeer extends GtkGenericPeer public void flip (BufferCapabilities.FlipContents contents) { getGraphics().drawImage(backBuffer, - awtComponent.getWidth(), - awtComponent.getHeight(), - null); + awtComponent.getWidth(), + awtComponent.getHeight(), + null); // create new back buffer and clear it to the background color. if (contents == BufferCapabilities.FlipContents.BACKGROUND) { backBuffer = createVolatileImage(awtComponent.getWidth(), - awtComponent.getHeight()); + awtComponent.getHeight()); backBuffer.getGraphics().clearRect(0, 0, - awtComponent.getWidth(), - awtComponent.getHeight()); + awtComponent.getWidth(), + awtComponent.getHeight()); } // FIXME: support BufferCapabilities.FlipContents.PRIOR } diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GtkFileDialogPeer.java b/libjava/classpath/gnu/java/awt/peer/gtk/GtkFileDialogPeer.java index 8650578..7d5ef91 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GtkFileDialogPeer.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GtkFileDialogPeer.java @@ -40,7 +40,6 @@ package gnu.java.awt.peer.gtk; import java.awt.Dialog; import java.awt.FileDialog; -import java.awt.Graphics; import java.awt.event.PaintEvent; import java.awt.peer.FileDialogPeer; import java.io.File; @@ -160,7 +159,8 @@ public class GtkFileDialogPeer extends GtkDialogPeer implements FileDialogPeer in turn call the filter's accept() method and give back the return value. */ // called back by native side: filename_filter_cb - boolean filenameFilterCallback (String fullname) { + boolean filenameFilterCallback (String fullname) + { String filename = fullname.substring(fullname.lastIndexOf(FS) + 1); String dirname = fullname.substring(0, fullname.lastIndexOf(FS)); File dir = new File(dirname); @@ -205,19 +205,19 @@ public class GtkFileDialogPeer extends GtkDialogPeer implements FileDialogPeer if (sepIndex < 0) { /* This should never happen on Unix (all paths start with '/') */ - currentFile = fileName; + currentFile = fileName; } else { if (fileName.length() > (sepIndex + 1)) - { - String fn = fileName.substring (sepIndex + 1); - currentFile = fn; - } - else - { + { + String fn = fileName.substring (sepIndex + 1); + currentFile = fn; + } + else + { currentFile = null; - } + } String dn = fileName.substring (0, sepIndex + 1); currentDirectory = dn; diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GtkFramePeer.java b/libjava/classpath/gnu/java/awt/peer/gtk/GtkFramePeer.java index d113e92..b35be52 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GtkFramePeer.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GtkFramePeer.java @@ -1,5 +1,5 @@ /* GtkFramePeer.java -- Implements FramePeer with GTK - Copyright (C) 1999, 2002, 2004, 2006 Free Software Foundation, Inc. + Copyright (C) 1999, 2002, 2004, 2006, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -176,13 +176,17 @@ public class GtkFramePeer extends GtkWindowPeer public void setIconImage (Image image) { - if (image != null) - { - if (image instanceof GtkImage) - nativeSetIconImage((GtkImage) image); - else - nativeSetIconImage(new GtkImage(image.getSource())); - } + if (image != null) + { + GtkImage gtkImage; + if (image instanceof GtkImage) + gtkImage = (GtkImage) image; + else + gtkImage = new GtkImage(image.getSource()); + + if (gtkImage.isLoaded && ! gtkImage.errorLoading) + nativeSetIconImage(gtkImage); + } } protected void postConfigureEvent (int x, int y, int width, int height) diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GtkImage.java b/libjava/classpath/gnu/java/awt/peer/gtk/GtkImage.java index 0fd98bb..719669e 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GtkImage.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GtkImage.java @@ -71,7 +71,7 @@ public class GtkImage extends Image /** * Properties. */ - Hashtable props; + Hashtable props; /** * Loaded or not flag, for asynchronous compatibility. @@ -87,7 +87,7 @@ public class GtkImage extends Image /** * Observer queue. */ - Vector observers; + Vector observers; /** * Error flag for loading. @@ -103,10 +103,10 @@ public class GtkImage extends Image * The 32-bit AABBGGRR format the GDK uses. */ static ColorModel nativeModel = new DirectColorModel(32, - 0x000000FF, - 0x0000FF00, - 0x00FF0000, - 0xFF000000); + 0x000000FF, + 0x0000FF00, + 0x00FF0000, + 0xFF000000); /** * The singleton GtkImage that is returned on errors by GtkToolkit. @@ -178,7 +178,7 @@ public class GtkImage extends Image public GtkImage (ImageProducer producer) { isLoaded = false; - observers = new Vector(); + observers = new Vector(); source = producer; errorLoading = false; source.startProduction(new GtkImageConsumer(this, source)); @@ -194,7 +194,7 @@ public class GtkImage extends Image { isLoaded = true; observers = null; - props = new Hashtable(); + props = new Hashtable(); errorLoading = false; } @@ -208,26 +208,26 @@ public class GtkImage extends Image File f = new File(filename); try { - String path = f.getCanonicalPath(); - synchronized(pixbufLock) - { - if (loadPixbuf(f.getCanonicalPath()) != true) - throw new IllegalArgumentException("Couldn't load image: " - + filename); - } + String path = f.getCanonicalPath(); + synchronized(pixbufLock) + { + if (loadPixbuf(f.getCanonicalPath()) != true) + throw new IllegalArgumentException("Couldn't load image: " + + filename); + } } catch(IOException e) { - IllegalArgumentException iae; - iae = new IllegalArgumentException("Couldn't load image: " - + filename); - iae.initCause(e); - throw iae; + IllegalArgumentException iae; + iae = new IllegalArgumentException("Couldn't load image: " + + filename); + iae.initCause(e); + throw iae; } isLoaded = true; observers = null; - props = new Hashtable(); + props = new Hashtable(); } /** @@ -240,13 +240,13 @@ public class GtkImage extends Image { synchronized(pixbufLock) { - if (loadImageFromData (data) != true) - throw new IllegalArgumentException ("Couldn't load image."); + if (loadImageFromData (data) != true) + throw new IllegalArgumentException ("Couldn't load image."); } isLoaded = true; observers = null; - props = new Hashtable(); + props = new Hashtable(); errorLoading = false; } @@ -256,7 +256,7 @@ public class GtkImage extends Image public GtkImage (URL url) { isLoaded = false; - observers = new Vector(); + observers = new Vector(); errorLoading = false; if( url == null) return; @@ -269,23 +269,23 @@ public class GtkImage extends Image int n = 0; while ((n = bis.read(buf)) != -1) - baos.write(buf, 0, n); + baos.write(buf, 0, n); bis.close(); } catch(IOException e) { - throw new IllegalArgumentException ("Couldn't load image."); + throw new IllegalArgumentException ("Couldn't load image."); } byte[] array = baos.toByteArray(); synchronized(pixbufLock) { - if (loadImageFromData(array) != true) - throw new IllegalArgumentException ("Couldn't load image."); + if (loadImageFromData(array) != true) + throw new IllegalArgumentException ("Couldn't load image."); } isLoaded = true; observers = null; - props = new Hashtable(); + props = new Hashtable(); } /** @@ -295,14 +295,14 @@ public class GtkImage extends Image { this.width = width; this.height = height; - props = new Hashtable(); + props = new Hashtable(); isLoaded = true; observers = null; // Use the GDK scaling method. synchronized(pixbufLock) { - createScaledPixbuf(src, hints); + createScaledPixbuf(src, hints); } } @@ -315,11 +315,11 @@ public class GtkImage extends Image this.pixbuf = pixbuf; synchronized(pixbufLock) { - createFromPixbuf(); + createFromPixbuf(); } isLoaded = true; observers = null; - props = new Hashtable(); + props = new Hashtable(); } /** @@ -331,7 +331,7 @@ public class GtkImage extends Image { this.width = width; this.height = height; - props = new Hashtable(); + props = new Hashtable(); isLoaded = true; observers = null; initFromBuffer( bufferPointer ); @@ -346,8 +346,8 @@ public class GtkImage extends Image { if (errorImage == null) { - errorImage = new GtkImage(); - errorImage.errorLoading = true; + errorImage = new GtkImage(); + errorImage.errorLoading = true; } return errorImage; } @@ -362,25 +362,25 @@ public class GtkImage extends Image * Callback from the image consumer. */ public void setImage(int width, int height, - int[] pixels, Hashtable properties) + int[] pixels, Hashtable properties) { this.width = width; this.height = height; - props = (properties != null) ? properties : new Hashtable(); + props = (properties != null) ? properties : new Hashtable(); if (width <= 0 || height <= 0 || pixels == null) { - errorLoading = true; - return; + errorLoading = true; + return; } - isLoaded = true; - deliver(); synchronized(pixbufLock) { - createPixbuf(); - setPixels(pixels); + createPixbuf(); + setPixels(pixels); } + isLoaded = true; + deliver(); } // java.awt.Image methods //////////////////////////////////////////////// @@ -427,7 +427,7 @@ public class GtkImage extends Image return null; } return new MemoryImageSource(width, height, nativeModel, pixels, - 0, width); + 0, width); } /** @@ -436,19 +436,19 @@ public class GtkImage extends Image public Graphics getGraphics () { throw new IllegalAccessError("This method only works for off-screen" - +" Images."); + +" Images."); } /** * Returns a scaled instance of this pixbuf. */ public Image getScaledInstance(int width, - int height, - int hints) + int height, + int hints) { if (width <= 0 || height <= 0) - throw new IllegalArgumentException("Width and height of scaled bitmap"+ - "must be >= 0"); + throw new IllegalArgumentException("Width and height of scaled bitmap" + + "must be >= 0"); return new GtkImage(this, width, height, hints); } @@ -465,13 +465,13 @@ public class GtkImage extends Image { if (isLoaded && source != null) { - observers = new Vector(); - isLoaded = false; - synchronized(pixbufLock) + observers = new Vector(); + isLoaded = false; + synchronized(pixbufLock) { freePixbuf(); } - source.startProduction(new GtkImageConsumer(this, source)); + source.startProduction(new GtkImageConsumer(this, source)); } } @@ -479,10 +479,10 @@ public class GtkImage extends Image { if (isLoaded) { - synchronized(pixbufLock) - { - freePixbuf(); - } + synchronized(pixbufLock) + { + freePixbuf(); + } } } @@ -493,10 +493,10 @@ public class GtkImage extends Image { if (addObserver(observer)) { - if (errorLoading == true) - return ImageObserver.ERROR; - else - return 0; + if (errorLoading == true) + return ImageObserver.ERROR; + else + return 0; } return ImageObserver.ALLBITS | ImageObserver.WIDTH | ImageObserver.HEIGHT; @@ -517,8 +517,8 @@ public class GtkImage extends Image if (observers != null) for(int i=0; i < observers.size(); i++) - ((ImageObserver)observers.elementAt(i)). - imageUpdate(this, flags, 0, 0, width, height); + ((ImageObserver)observers.elementAt(i)).imageUpdate(this, flags, 0, 0, + width, height); observers = null; } @@ -531,10 +531,10 @@ public class GtkImage extends Image { if (!isLoaded) { - if(observer != null) - if (!observers.contains (observer)) - observers.addElement (observer); - return true; + if(observer != null) + if (!observers.contains (observer)) + observers.addElement (observer); + return true; } return false; } diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GtkImageConsumer.java b/libjava/classpath/gnu/java/awt/peer/gtk/GtkImageConsumer.java index 53e97bb..44cfaf9 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GtkImageConsumer.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GtkImageConsumer.java @@ -55,7 +55,7 @@ public class GtkImageConsumer implements ImageConsumer { private GtkImage target; private int width, height; - private Hashtable properties; + private Hashtable properties; private int[] pixelCache = null; private ImageProducer source; @@ -97,55 +97,55 @@ public class GtkImageConsumer implements ImageConsumer } public synchronized void setPixels (int x, int y, int width, int height, - ColorModel cm, byte[] pixels, - int offset, int scansize) + ColorModel cm, byte[] pixels, + int offset, int scansize) { setPixels (x, y, width, height, cm, convertPixels (pixels), offset, scansize); } public synchronized void setPixels (int x, int y, int width, int height, - ColorModel cm, int[] pixels, - int offset, int scansize) + ColorModel cm, int[] pixels, + int offset, int scansize) { if (pixelCache == null) return; // Not sure this should ever happen. if (cm.equals(GtkImage.nativeModel)) for (int i = 0; i < height; i++) - System.arraycopy (pixels, offset + (i * scansize), - pixelCache, (y + i) * this.width + x, - width); + System.arraycopy (pixels, offset + (i * scansize), + pixelCache, (y + i) * this.width + x, + width); else { - if (ByteOrder.nativeOrder() == ByteOrder.BIG_ENDIAN) - { - for (int i = 0; i < height; i++) - for (int j = 0; j < width; j++) - { - // get in RRGGBBAA and convert to AARRGGBB - int pix = cm.getRGB(pixels[offset + (i * scansize) + x + j]); - int a = ((pix & 0xFF000000) >> 24) & 0xFF; - int rgb = (pix & 0x00FFFFFF) << 8; - pix = rgb | a; - pixelCache[(y + i) * this.width + x + j] = pix; - } - } - else - { - for (int i = 0; i < height; i++) - for (int j = 0; j < width; j++) - { - // get in AARRGGBB and convert to AABBGGRR - int pix = cm.getRGB(pixels[offset + (i * scansize) + x + j]); - byte b = (byte)(pix & 0xFF); - byte r = (byte)(((pix & 0x00FF0000) >> 16) & 0xFF); - pix &= 0xFF00FF00; - pix |= ((b & 0xFF) << 16); - pix |= (r & 0xFF); - pixelCache[(y + i) * this.width + x + j] = pix; - } - } + if (ByteOrder.nativeOrder() == ByteOrder.BIG_ENDIAN) + { + for (int i = 0; i < height; i++) + for (int j = 0; j < width; j++) + { + // get in RRGGBBAA and convert to AARRGGBB + int pix = cm.getRGB(pixels[offset + (i * scansize) + x + j]); + int a = ((pix & 0xFF000000) >> 24) & 0xFF; + int rgb = (pix & 0x00FFFFFF) << 8; + pix = rgb | a; + pixelCache[(y + i) * this.width + x + j] = pix; + } + } + else + { + for (int i = 0; i < height; i++) + for (int j = 0; j < width; j++) + { + // get in AARRGGBB and convert to AABBGGRR + int pix = cm.getRGB(pixels[offset + (i * scansize) + x + j]); + byte b = (byte)(pix & 0xFF); + byte r = (byte)(((pix & 0x00FF0000) >> 16) & 0xFF); + pix &= 0xFF00FF00; + pix |= ((b & 0xFF) << 16); + pix |= (r & 0xFF); + pixelCache[(y + i) * this.width + x + j] = pix; + } + } } } @@ -162,7 +162,7 @@ public class GtkImageConsumer implements ImageConsumer return ret; } - public synchronized void setProperties (Hashtable props) + public synchronized void setProperties (Hashtable props) { this.properties = props; } diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GtkLabelPeer.java b/libjava/classpath/gnu/java/awt/peer/gtk/GtkLabelPeer.java index 02db90d..76f8e5f 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GtkLabelPeer.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GtkLabelPeer.java @@ -90,11 +90,11 @@ public class GtkLabelPeer extends GtkComponentPeer switch (alignment) { case Label.LEFT: - return 0.0f; + return 0.0f; case Label.CENTER: - return 0.5f; + return 0.5f; case Label.RIGHT: - return 1.0f; + return 1.0f; } return 0.0f; diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GtkListPeer.java b/libjava/classpath/gnu/java/awt/peer/gtk/GtkListPeer.java index bd6ec0a..f943a75 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GtkListPeer.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GtkListPeer.java @@ -148,33 +148,33 @@ public class GtkListPeer extends GtkComponentPeer { // Only generate the ActionEvent on the second click of a // multiple click. - MouseEvent me = (MouseEvent) e; - if (!me.isConsumed () - && (me.getModifiersEx () & MouseEvent.BUTTON1_DOWN_MASK) != 0 - && me.getClickCount() == 2) - { + MouseEvent me = (MouseEvent) e; + if (!me.isConsumed () + && (me.getModifiersEx () & MouseEvent.BUTTON1_DOWN_MASK) != 0 + && me.getClickCount() == 2) + { String selectedItem = ((List) awtComponent).getSelectedItem (); // Double-click only generates an Action event if // something is selected. if (selectedItem != null) - postActionEvent (((List) awtComponent).getSelectedItem (), - me.getModifiersEx ()); - } + postActionEvent (((List) awtComponent).getSelectedItem (), + me.getModifiersEx ()); + } } if (e.getID () == KeyEvent.KEY_PRESSED) { - KeyEvent ke = (KeyEvent) e; - if (!ke.isConsumed () && ke.getKeyCode () == KeyEvent.VK_ENTER) - { + KeyEvent ke = (KeyEvent) e; + if (!ke.isConsumed () && ke.getKeyCode () == KeyEvent.VK_ENTER) + { String selectedItem = ((List) awtComponent).getSelectedItem (); // Enter only generates an Action event if something is // selected. if (selectedItem != null) - postActionEvent (selectedItem, ke.getModifiersEx ()); - } + postActionEvent (selectedItem, ke.getModifiersEx ()); + } } super.handleEvent (e); diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GtkMainThread.java b/libjava/classpath/gnu/java/awt/peer/gtk/GtkMainThread.java index a4e280f..e40a04e 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GtkMainThread.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GtkMainThread.java @@ -40,8 +40,6 @@ package gnu.java.awt.peer.gtk; import gnu.java.awt.peer.NativeEventLoopRunningEvent; -import java.awt.AWTEvent; - /** * The Java thread representing the native GTK main loop, that is, * GtkMainThread.mainThread, terminates when GtkToolkit.gtkMain() @@ -172,9 +170,9 @@ public class GtkMainThread extends Thread { synchronized (nWindowsLock) { - if (numberOfWindows == 0) - startMainThread(); - numberOfWindows++; + if (numberOfWindows == 0) + startMainThread(); + numberOfWindows++; } } @@ -182,9 +180,9 @@ public class GtkMainThread extends Thread { synchronized (nWindowsLock) { - numberOfWindows--; - if (numberOfWindows == 0) - endMainThread(); + numberOfWindows--; + if (numberOfWindows == 0) + endMainThread(); } } } diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GtkMenuBarPeer.java b/libjava/classpath/gnu/java/awt/peer/gtk/GtkMenuBarPeer.java index 898f224..c3427b1 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GtkMenuBarPeer.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GtkMenuBarPeer.java @@ -76,15 +76,15 @@ public class GtkMenuBarPeer extends GtkMenuComponentPeer { if (hasHelpMenu) { - // Remove the (help) menu, which is after all the other items. - delMenu(((MenuBar) awtWidget).getMenuCount()); - hasHelpMenu = false; + // Remove the (help) menu, which is after all the other items. + delMenu(((MenuBar) awtWidget).getMenuCount()); + hasHelpMenu = false; } if (menu != null) { - addMenu(menu); - hasHelpMenu = true; + addMenu(menu); + hasHelpMenu = true; } } @@ -103,9 +103,9 @@ public class GtkMenuBarPeer extends GtkMenuComponentPeer // Make sure the help menu is the last one. if (hasHelpMenu) { - addHelpMenu(null); - addMenu((GtkMenuPeer) m.getPeer()); - addHelpMenu(((MenuBar) awtWidget).getHelpMenu()); + addHelpMenu(null); + addMenu((GtkMenuPeer) m.getPeer()); + addHelpMenu(((MenuBar) awtWidget).getHelpMenu()); } else addMenu((GtkMenuPeer) m.getPeer()); diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GtkMenuComponentPeer.java b/libjava/classpath/gnu/java/awt/peer/gtk/GtkMenuComponentPeer.java index 55b95a1..1e37cef 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GtkMenuComponentPeer.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GtkMenuComponentPeer.java @@ -64,9 +64,9 @@ public abstract class GtkMenuComponentPeer extends GtkGenericPeer if (f == null) { MenuContainer parent = mc.getParent (); - // Submenus inherit the font of their containing Menu(Bar). - if (parent instanceof MenuComponent) - f = parent.getFont (); + // Submenus inherit the font of their containing Menu(Bar). + if (parent instanceof MenuComponent) + f = parent.getFont (); } setFont(f); diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GtkMenuPeer.java b/libjava/classpath/gnu/java/awt/peer/gtk/GtkMenuPeer.java index 1d581c1..ff6bdca 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GtkMenuPeer.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GtkMenuPeer.java @@ -96,8 +96,8 @@ public class GtkMenuPeer extends GtkMenuItemPeer MenuShortcut ms = item.getShortcut (); if (ms != null) { - key = ms.getKey (); - shiftModifier = ms.usesShiftModifier (); + key = ms.getKey (); + shiftModifier = ms.usesShiftModifier (); } addItem ((MenuItemPeer) item.getPeer (), key, shiftModifier); @@ -110,8 +110,8 @@ public class GtkMenuPeer extends GtkMenuItemPeer if (ms != null) { - key = ms.getKey (); - shiftModifier = ms.usesShiftModifier (); + key = ms.getKey (); + shiftModifier = ms.usesShiftModifier (); } addItem (item, key, shiftModifier); diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GtkMouseInfoPeer.java b/libjava/classpath/gnu/java/awt/peer/gtk/GtkMouseInfoPeer.java index 02bf84d..7aea509 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GtkMouseInfoPeer.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GtkMouseInfoPeer.java @@ -53,9 +53,9 @@ public class GtkMouseInfoPeer implements MouseInfoPeer public int fillPointWithCoords(Point p) { int[] coords = gde.getMouseCoordinates(); - p.x = coords[1]; - p.y = coords[2]; - return coords[0]; + p.x = coords[1]; + p.y = coords[2]; + return coords[0]; } public boolean isWindowUnderMouse(Window w) diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GtkScrollPanePeer.java b/libjava/classpath/gnu/java/awt/peer/gtk/GtkScrollPanePeer.java index 69f8b49..657a276 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GtkScrollPanePeer.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GtkScrollPanePeer.java @@ -74,10 +74,8 @@ public class GtkScrollPanePeer extends GtkContainerPeer // If the child is in this range, GTK adds both scrollbars, but // the AWT doesn't. So set the peer's scroll policy to // GTK_POLICY_NEVER. - if ((width > dim[0] - getVScrollbarWidth () - && width <= dim[0]) - && (height > dim[1] - getHScrollbarHeight () - && height <= dim[1])) + if ((width > dim[0] - getVScrollbarWidth () && width <= dim[0]) + && (height > dim[1] - getHScrollbarHeight () && height <= dim[1])) setPolicy (ScrollPane.SCROLLBARS_NEVER); else setPolicy (((ScrollPane) awtComponent).getScrollbarDisplayPolicy ()); diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GtkScrollbarPeer.java b/libjava/classpath/gnu/java/awt/peer/gtk/GtkScrollbarPeer.java index e4147d3..c29706f 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GtkScrollbarPeer.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GtkScrollbarPeer.java @@ -50,14 +50,14 @@ public class GtkScrollbarPeer extends GtkComponentPeer Scrollbar sb = (Scrollbar) awtComponent; create (sb.getOrientation (), sb.getValue (), - sb.getMinimum (), sb.getMaximum (), - sb.getUnitIncrement (), sb.getBlockIncrement (), - sb.getVisibleAmount ()); + sb.getMinimum (), sb.getMaximum (), + sb.getUnitIncrement (), sb.getBlockIncrement (), + sb.getVisibleAmount ()); } native void create (int orientation, int value, - int min, int max, int stepIncr, int pageIncr, - int visibleAmount); + int min, int max, int stepIncr, int pageIncr, + int visibleAmount); native void connectSignals (); @@ -86,7 +86,7 @@ public class GtkScrollbarPeer extends GtkComponentPeer { Scrollbar bar = (Scrollbar) awtComponent; q().postEvent(new AdjustmentEvent(bar, - AdjustmentEvent.ADJUSTMENT_VALUE_CHANGED, - type, value, true)); + AdjustmentEvent.ADJUSTMENT_VALUE_CHANGED, + type, value, true)); } } diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GtkSelection.java b/libjava/classpath/gnu/java/awt/peer/gtk/GtkSelection.java index 6a92f86..967a2ed 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GtkSelection.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GtkSelection.java @@ -130,7 +130,7 @@ public class GtkSelection implements Transferable * Set as response to a requestURIs() call. Only valid when * urisDelivered is true */ - private List uris; + private List uris; /** * Indicates a requestBytes(String) call was made and the @@ -163,51 +163,51 @@ public class GtkSelection implements Transferable DataFlavor[] result; synchronized (requestLock) { - // Did we request already and cache the result? - if (mimeTypesDelivered) - result = (DataFlavor[]) dataFlavors.clone(); - else - { - // Wait till there are no pending requests. - while (requestInProgress) - { - try - { - requestLock.wait(); - } - catch (InterruptedException ie) - { - // ignored - } - } - - // If nobody else beat us and cached the result we try - // ourselves to get it. - if (! mimeTypesDelivered) - { - requestInProgress = true; - requestMimeTypes(clipboard); - while (! mimeTypesDelivered) - { - try - { - requestLock.wait(); - } - catch (InterruptedException ie) - { - // ignored - } - } - requestInProgress = false; - } - result = dataFlavors; - if (! GtkClipboard.canCache) - { - dataFlavors = null; - mimeTypesDelivered = false; - } - requestLock.notifyAll(); - } + // Did we request already and cache the result? + if (mimeTypesDelivered) + result = (DataFlavor[]) dataFlavors.clone(); + else + { + // Wait till there are no pending requests. + while (requestInProgress) + { + try + { + requestLock.wait(); + } + catch (InterruptedException ie) + { + // ignored + } + } + + // If nobody else beat us and cached the result we try + // ourselves to get it. + if (! mimeTypesDelivered) + { + requestInProgress = true; + requestMimeTypes(clipboard); + while (! mimeTypesDelivered) + { + try + { + requestLock.wait(); + } + catch (InterruptedException ie) + { + // ignored + } + } + requestInProgress = false; + } + result = dataFlavors; + if (! GtkClipboard.canCache) + { + dataFlavors = null; + mimeTypesDelivered = false; + } + requestLock.notifyAll(); + } } return result; } @@ -220,53 +220,55 @@ public class GtkSelection implements Transferable { synchronized (requestLock) { - if (mimeTypes == null) - dataFlavors = new DataFlavor[0]; - else - { - // Most likely the mimeTypes include text in which case we add an - // extra element. - ArrayList flavorsList = new ArrayList(mimeTypes.length + 1); - for (int i = 0; i < mimeTypes.length; i++) - { - try - { - if (mimeTypes[i] == GtkClipboard.stringMimeType) - { - // XXX - Fix DataFlavor.getTextPlainUnicodeFlavor() - // and also add it to the list. - flavorsList.add(DataFlavor.stringFlavor); - flavorsList.add(DataFlavor.plainTextFlavor); - } - else if (mimeTypes[i] == GtkClipboard.imageMimeType) - flavorsList.add(DataFlavor.imageFlavor); - else if (mimeTypes[i] == GtkClipboard.filesMimeType) - flavorsList.add(DataFlavor.javaFileListFlavor); - else - { - // We check the target to prevent duplicates - // of the "magic" targets above. - DataFlavor target = new DataFlavor(mimeTypes[i]); - if (! flavorsList.contains(target)) - flavorsList.add(target); - } - } - catch (ClassNotFoundException cnfe) - { - cnfe.printStackTrace(); - } - catch (NullPointerException npe) - { - npe.printStackTrace(); - } - } + if (mimeTypes == null) + dataFlavors = new DataFlavor[0]; + else + { + // Most likely the mimeTypes include text in which case we add an + // extra element. + ArrayList flavorsList = + new ArrayList(mimeTypes.length + 1); + + for (int i = 0; i < mimeTypes.length; i++) + { + try + { + if (mimeTypes[i] == GtkClipboard.stringMimeType) + { + // XXX - Fix DataFlavor.getTextPlainUnicodeFlavor() + // and also add it to the list. + flavorsList.add(DataFlavor.stringFlavor); + flavorsList.add(DataFlavor.plainTextFlavor); + } + else if (mimeTypes[i] == GtkClipboard.imageMimeType) + flavorsList.add(DataFlavor.imageFlavor); + else if (mimeTypes[i] == GtkClipboard.filesMimeType) + flavorsList.add(DataFlavor.javaFileListFlavor); + else + { + // We check the target to prevent duplicates + // of the "magic" targets above. + DataFlavor target = new DataFlavor(mimeTypes[i]); + if (! flavorsList.contains(target)) + flavorsList.add(target); + } + } + catch (ClassNotFoundException cnfe) + { + cnfe.printStackTrace(); + } + catch (NullPointerException npe) + { + npe.printStackTrace(); + } + } - dataFlavors = new DataFlavor[flavorsList.size()]; - flavorsList.toArray(dataFlavors); - } + dataFlavors = new DataFlavor[flavorsList.size()]; + flavorsList.toArray(dataFlavors); + } - mimeTypesDelivered = true; - requestLock.notifyAll(); + mimeTypesDelivered = true; + requestLock.notifyAll(); } } @@ -279,7 +281,7 @@ public class GtkSelection implements Transferable DataFlavor[] dfs = getTransferDataFlavors(); for (int i = 0; i < dfs.length; i++) if (flavor.equals(dfs[i])) - return true; + return true; return false; } @@ -294,51 +296,51 @@ public class GtkSelection implements Transferable String result; synchronized (requestLock) { - // Did we request already and cache the result? - if (textDelivered) - result = text; - else - { - // Wait till there are no pending requests. - while (requestInProgress) - { - try - { - requestLock.wait(); - } - catch (InterruptedException ie) - { - // ignored - } - } - - // If nobody else beat us we try ourselves to get and - // caching the result. - if (! textDelivered) - { - requestInProgress = true; - requestText(clipboard); - while (! textDelivered) - { - try - { - requestLock.wait(); - } - catch (InterruptedException ie) - { - // ignored - } - } - requestInProgress = false; - } - result = text; - if (! GtkClipboard.canCache) - { - text = null; - textDelivered = false; - } - requestLock.notifyAll(); - } + // Did we request already and cache the result? + if (textDelivered) + result = text; + else + { + // Wait till there are no pending requests. + while (requestInProgress) + { + try + { + requestLock.wait(); + } + catch (InterruptedException ie) + { + // ignored + } + } + + // If nobody else beat us we try ourselves to get and + // caching the result. + if (! textDelivered) + { + requestInProgress = true; + requestText(clipboard); + while (! textDelivered) + { + try + { + requestLock.wait(); + } + catch (InterruptedException ie) + { + // ignored + } + } + requestInProgress = false; + } + result = text; + if (! GtkClipboard.canCache) + { + text = null; + textDelivered = false; + } + requestLock.notifyAll(); + } } return result; } @@ -351,9 +353,9 @@ public class GtkSelection implements Transferable { synchronized (requestLock) { - this.text = text; - textDelivered = true; - requestLock.notifyAll(); + this.text = text; + textDelivered = true; + requestLock.notifyAll(); } } @@ -367,54 +369,56 @@ public class GtkSelection implements Transferable Image result; synchronized (requestLock) { - // Did we request already and cache the result? - if (imageDelivered) - result = image; - else - { - // Wait till there are no pending requests. - while (requestInProgress) - { - try - { - requestLock.wait(); - } - catch (InterruptedException ie) - { - // ignored - } - } - - // If nobody else beat us we try ourselves to get and - // caching the result. - if (! imageDelivered) - { - requestInProgress = true; - requestImage(clipboard); - while (! imageDelivered) - { - try - { - requestLock.wait(); - } - catch (InterruptedException ie) - { - // ignored - } - } - requestInProgress = false; - } - if (imagePointer != null) - image = new GtkImage(imagePointer); - imagePointer = null; - result = image; - if (! GtkClipboard.canCache) - { - image = null; - imageDelivered = false; - } - requestLock.notifyAll(); - } + // Did we request already and cache the result? + if (imageDelivered) + result = image; + else + { + // Wait till there are no pending requests. + while (requestInProgress) + { + try + { + requestLock.wait(); + } + catch (InterruptedException ie) + { + // ignored + } + } + + // If nobody else beat us we try ourselves to get and + // caching the result. + if (! imageDelivered) + { + requestInProgress = true; + requestImage(clipboard); + while (! imageDelivered) + { + try + { + requestLock.wait(); + } + catch (InterruptedException ie) + { + // ignored + } + } + requestInProgress = false; + } + + if (imagePointer != null) + image = new GtkImage(imagePointer); + + imagePointer = null; + result = image; + if (! GtkClipboard.canCache) + { + image = null; + imageDelivered = false; + } + requestLock.notifyAll(); + } } return result; } @@ -430,9 +434,9 @@ public class GtkSelection implements Transferable { synchronized (requestLock) { - this.imagePointer = pointer; - imageDelivered = true; - requestLock.notifyAll(); + this.imagePointer = pointer; + imageDelivered = true; + requestLock.notifyAll(); } } @@ -441,56 +445,56 @@ public class GtkSelection implements Transferable * URIs/Files and if not requests them and waits till they are * available. */ - private List getURIs() + private List getURIs() { - List result; + List result; synchronized (requestLock) { - // Did we request already and cache the result? - if (urisDelivered) - result = uris; - else - { - // Wait till there are no pending requests. - while (requestInProgress) - { - try - { - requestLock.wait(); - } - catch (InterruptedException ie) - { - // ignored - } - } - - // If nobody else beat us we try ourselves to get and - // caching the result. - if (! urisDelivered) - { - requestInProgress = true; - requestURIs(clipboard); - while (! urisDelivered) - { - try - { - requestLock.wait(); - } - catch (InterruptedException ie) - { - // ignored - } - } - requestInProgress = false; - } - result = uris; - if (! GtkClipboard.canCache) - { - uris = null; - urisDelivered = false; - } - requestLock.notifyAll(); - } + // Did we request already and cache the result? + if (urisDelivered) + result = uris; + else + { + // Wait till there are no pending requests. + while (requestInProgress) + { + try + { + requestLock.wait(); + } + catch (InterruptedException ie) + { + // ignored + } + } + + // If nobody else beat us we try ourselves to get and + // caching the result. + if (! urisDelivered) + { + requestInProgress = true; + requestURIs(clipboard); + while (! urisDelivered) + { + try + { + requestLock.wait(); + } + catch (InterruptedException ie) + { + // ignored + } + } + requestInProgress = false; + } + result = uris; + if (! GtkClipboard.canCache) + { + uris = null; + urisDelivered = false; + } + requestLock.notifyAll(); + } } return result; } @@ -503,26 +507,26 @@ public class GtkSelection implements Transferable { synchronized (requestLock) { - if (uris != null && uris.length != 0) - { - ArrayList list = new ArrayList(uris.length); - for (int i = 0; i < uris.length; i++) - { - try - { - URI uri = new URI(uris[i]); - if (uri.getScheme().equals("file")) - list.add(new File(uri)); - } - catch (URISyntaxException use) - { - } - } - this.uris = list; - } - - urisDelivered = true; - requestLock.notifyAll(); + if (uris != null && uris.length != 0) + { + ArrayList list = new ArrayList(uris.length); + for (int i = 0; i < uris.length; i++) + { + try + { + URI uri = new URI(uris[i]); + if (uri.getScheme().equals("file")) + list.add(new File(uri)); + } + catch (URISyntaxException use) + { + } + } + this.uris = list; + } + + urisDelivered = true; + requestLock.notifyAll(); } } @@ -537,39 +541,39 @@ public class GtkSelection implements Transferable byte[] result; synchronized (requestLock) { - // Wait till there are no pending requests. - while (requestInProgress) - { - try - { - requestLock.wait(); - } - catch (InterruptedException ie) - { - // ignored - } - } - - // Request bytes and wait till they are available. - requestInProgress = true; - requestBytes(clipboard, target); - while (! bytesDelivered) - { - try - { - requestLock.wait(); - } - catch (InterruptedException ie) - { - // ignored - } - } - result = bytes; - bytes = null; - bytesDelivered = false; - requestInProgress = false; + // Wait till there are no pending requests. + while (requestInProgress) + { + try + { + requestLock.wait(); + } + catch (InterruptedException ie) + { + // ignored + } + } + + // Request bytes and wait till they are available. + requestInProgress = true; + requestBytes(clipboard, target); + while (! bytesDelivered) + { + try + { + requestLock.wait(); + } + catch (InterruptedException ie) + { + // ignored + } + } + result = bytes; + bytes = null; + bytesDelivered = false; + requestInProgress = false; - requestLock.notifyAll(); + requestLock.notifyAll(); } return result; } @@ -583,9 +587,9 @@ public class GtkSelection implements Transferable { synchronized (requestLock) { - this.bytes = bytes; - bytesDelivered = true; - requestLock.notifyAll(); + this.bytes = bytes; + bytesDelivered = true; + requestLock.notifyAll(); } } @@ -596,30 +600,30 @@ public class GtkSelection implements Transferable // try one more time through getBytes(). if (flavor.equals(DataFlavor.stringFlavor)) { - String text = getText(); - if (text != null) - return text; + String text = getText(); + if (text != null) + return text; } if (flavor.equals(DataFlavor.plainTextFlavor)) { - String text = getText(); - if (text != null) - return new StringBufferInputStream(text); + String text = getText(); + if (text != null) + return new StringBufferInputStream(text); } if (flavor.equals(DataFlavor.imageFlavor)) { - Image image = getImage(); - if (image != null) - return image; + Image image = getImage(); + if (image != null) + return image; } if (flavor.equals(DataFlavor.javaFileListFlavor)) { - List uris = getURIs(); - if (uris != null) - return uris; + List uris = getURIs(); + if (uris != null) + return uris; } byte[] bytes = getBytes(flavor.getMimeType()); @@ -628,20 +632,20 @@ public class GtkSelection implements Transferable if (flavor.isMimeTypeSerializedObject()) { - try - { - ByteArrayInputStream bais = new ByteArrayInputStream(bytes); - ObjectInputStream ois = new ObjectInputStream(bais); - return ois.readObject(); - } - catch (IOException ioe) - { - ioe.printStackTrace(); - } - catch (ClassNotFoundException cnfe) - { - cnfe.printStackTrace(); - } + try + { + ByteArrayInputStream bais = new ByteArrayInputStream(bytes); + ObjectInputStream ois = new ObjectInputStream(bais); + return ois.readObject(); + } + catch (IOException ioe) + { + ioe.printStackTrace(); + } + catch (ClassNotFoundException cnfe) + { + cnfe.printStackTrace(); + } } if (flavor.isRepresentationClassInputStream()) diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GtkTextAreaPeer.java b/libjava/classpath/gnu/java/awt/peer/gtk/GtkTextAreaPeer.java index 5d9be1a..0c7d3a8 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GtkTextAreaPeer.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GtkTextAreaPeer.java @@ -100,8 +100,8 @@ public class GtkTextAreaPeer extends GtkComponentPeer // GtkComponent.create. if (f == null) { - f = new Font ("Dialog", Font.PLAIN, 12); - awtComponent.setFont (f); + f = new Font ("Dialog", Font.PLAIN, 12); + awtComponent.setFont (f); } FontMetrics fm = getFontMetrics (f); @@ -154,11 +154,11 @@ public class GtkTextAreaPeer extends GtkComponentPeer int width = 0; if (ta.getScrollbarVisibility () == TextArea.SCROLLBARS_BOTH - || ta.getScrollbarVisibility () == TextArea.SCROLLBARS_HORIZONTAL_ONLY) + || ta.getScrollbarVisibility () == TextArea.SCROLLBARS_HORIZONTAL_ONLY) height = getHScrollbarHeight (); if (ta.getScrollbarVisibility () == TextArea.SCROLLBARS_BOTH - || ta.getScrollbarVisibility () == TextArea.SCROLLBARS_VERTICAL_ONLY) + || ta.getScrollbarVisibility () == TextArea.SCROLLBARS_VERTICAL_ONLY) width = getVScrollbarWidth (); Font f = awtComponent.getFont (); @@ -183,11 +183,11 @@ public class GtkTextAreaPeer extends GtkComponentPeer int width = 0; if (ta.getScrollbarVisibility () == TextArea.SCROLLBARS_BOTH - || ta.getScrollbarVisibility () == TextArea.SCROLLBARS_HORIZONTAL_ONLY) + || ta.getScrollbarVisibility () == TextArea.SCROLLBARS_HORIZONTAL_ONLY) height = getHScrollbarHeight (); if (ta.getScrollbarVisibility () == TextArea.SCROLLBARS_BOTH - || ta.getScrollbarVisibility () == TextArea.SCROLLBARS_VERTICAL_ONLY) + || ta.getScrollbarVisibility () == TextArea.SCROLLBARS_VERTICAL_ONLY) width = getVScrollbarWidth (); Font f = awtComponent.getFont (); diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GtkTextFieldPeer.java b/libjava/classpath/gnu/java/awt/peer/gtk/GtkTextFieldPeer.java index 7633048..9e62c8e 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GtkTextFieldPeer.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GtkTextFieldPeer.java @@ -94,8 +94,8 @@ public class GtkTextFieldPeer extends GtkComponentPeer // GtkComponent.create. if (f == null) { - f = new Font ("Dialog", Font.PLAIN, 12); - awtComponent.setFont (f); + f = new Font ("Dialog", Font.PLAIN, 12); + awtComponent.setFont (f); } FontMetrics fm = getFontMetrics (f); diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GtkToolkit.java b/libjava/classpath/gnu/java/awt/peer/gtk/GtkToolkit.java index f746a47..df18d39 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GtkToolkit.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GtkToolkit.java @@ -1,5 +1,5 @@ /* GtkToolkit.java -- Implements an AWT Toolkit using GTK for peers - Copyright (C) 1998, 1999, 2002, 2003, 2004, 2005, 2006 + Copyright (C) 1998, 1999, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -39,6 +39,7 @@ exception statement from your version. */ package gnu.java.awt.peer.gtk; +import gnu.java.awt.AWTUtilities; import gnu.java.awt.EmbeddedWindow; import gnu.java.awt.dnd.GtkMouseDragGestureRecognizer; import gnu.java.awt.dnd.peer.gtk.GtkDragSourceContextPeer; @@ -86,6 +87,7 @@ import java.awt.dnd.DragGestureRecognizer; import java.awt.dnd.DragSource; import java.awt.dnd.InvalidDnDOperationException; import java.awt.dnd.peer.DragSourceContextPeer; +import java.awt.font.TextAttribute; import java.awt.im.InputMethodHighlight; import java.awt.image.ColorModel; import java.awt.image.DirectColorModel; @@ -104,8 +106,8 @@ import java.awt.peer.LabelPeer; import java.awt.peer.ListPeer; import java.awt.peer.MenuBarPeer; import java.awt.peer.MenuItemPeer; -import java.awt.peer.MouseInfoPeer; import java.awt.peer.MenuPeer; +import java.awt.peer.MouseInfoPeer; import java.awt.peer.PanelPeer; import java.awt.peer.PopupMenuPeer; import java.awt.peer.RobotPeer; @@ -132,9 +134,11 @@ import javax.imageio.spi.IIORegistry; public class GtkToolkit extends gnu.java.awt.ClasspathToolkit { + static final Object GTK_LOCK; + private static EventQueue q; - static native void gtkInit(int portableNativeSync); + static native void gtkInit(int portableNativeSync, Object lock); static native void gtkMain(); @@ -154,8 +158,9 @@ public class GtkToolkit extends gnu.java.awt.ClasspathToolkit portableNativeSync = 1; // true else portableNativeSync = 0; // false - - gtkInit(portableNativeSync); + + GTK_LOCK = new String("GTK LOCK"); + gtkInit(portableNativeSync, GTK_LOCK); } public GtkToolkit () @@ -167,14 +172,14 @@ public class GtkToolkit extends gnu.java.awt.ClasspathToolkit private native void getScreenSizeDimensions(int[] xy); public int checkImage (Image image, int width, int height, - ImageObserver observer) + ImageObserver observer) { int status = ImageObserver.ALLBITS | ImageObserver.WIDTH | ImageObserver.HEIGHT; if (image instanceof GtkImage) - return ((GtkImage) image).checkImage (observer); + return ((GtkImage) image).checkImage (observer); if (image instanceof AsyncImage) return ((AsyncImage) image).checkImage(observer); @@ -208,11 +213,11 @@ public class GtkToolkit extends gnu.java.awt.ClasspathToolkit Image image; try { - image = CairoSurface.getBufferedImage( new GtkImage( filename ) ); + image = CairoSurface.getBufferedImage( new GtkImage( filename ) ); } catch (IllegalArgumentException iae) { - image = null; + image = null; } return imageOrError(image); } @@ -230,11 +235,11 @@ public class GtkToolkit extends gnu.java.awt.ClasspathToolkit Image image; try { - image = CairoSurface.getBufferedImage( new GtkImage( producer ) ); + image = CairoSurface.getBufferedImage( new GtkImage( producer ) ); } catch (IllegalArgumentException iae) { - image = null; + image = null; } return imageOrError(image); } @@ -245,13 +250,13 @@ public class GtkToolkit extends gnu.java.awt.ClasspathToolkit Image image; try { - byte[] data = new byte[ imagelength ]; - System.arraycopy(imagedata, imageoffset, data, 0, imagelength); - image = CairoSurface.getBufferedImage( new GtkImage( data ) ); + byte[] data = new byte[ imagelength ]; + System.arraycopy(imagedata, imageoffset, data, 0, imagelength); + image = CairoSurface.getBufferedImage( new GtkImage( data ) ); } catch (IllegalArgumentException iae) { - image = null; + image = null; } return imageOrError(image); } @@ -275,22 +280,22 @@ public class GtkToolkit extends gnu.java.awt.ClasspathToolkit { /* Return the GDK-native ABGR format */ return new DirectColorModel(32, - 0x000000FF, - 0x0000FF00, - 0x00FF0000, - 0xFF000000); + 0x000000FF, + 0x0000FF00, + 0x00FF0000, + 0xFF000000); } public String[] getFontList () { return (new String[] { "Dialog", - "DialogInput", - "Monospaced", - "Serif", - "SansSerif" }); + "DialogInput", + "Monospaced", + "Serif", + "SansSerif" }); } - static class LRUCache extends LinkedHashMap + static class LRUCache extends LinkedHashMap { int max_entries; public LRUCache(int max) @@ -304,8 +309,9 @@ public class GtkToolkit extends gnu.java.awt.ClasspathToolkit } } - private LRUCache fontCache = new LRUCache(50); - private LRUCache imageCache = new LRUCache(50); + private LRUCache fontCache = + new LRUCache(50); + private LRUCache imageCache = new LRUCache(50); public FontMetrics getFontMetrics (Font font) { @@ -315,7 +321,7 @@ public class GtkToolkit extends gnu.java.awt.ClasspathToolkit public Image getImage (String filename) { if (imageCache.containsKey(filename)) - return (Image) imageCache.get(filename); + return imageCache.get(filename); else { Image im = createImage(filename); @@ -327,7 +333,7 @@ public class GtkToolkit extends gnu.java.awt.ClasspathToolkit public Image getImage (URL url) { if (imageCache.containsKey(url)) - return (Image) imageCache.get(url); + return imageCache.get(url); else { Image im = createImage(url); @@ -378,12 +384,12 @@ public class GtkToolkit extends gnu.java.awt.ClasspathToolkit * assumes the image is already prepared for rendering. */ public boolean prepareImage (Image image, int width, int height, - ImageObserver observer) + ImageObserver observer) { /* GtkImages are always prepared, as long as they're loaded. */ if (image instanceof GtkImage) - return ((((GtkImage)image).checkImage (observer) & - ImageObserver.ALLBITS) != 0); + return ((((GtkImage)image).checkImage (observer) + & ImageObserver.ALLBITS) != 0); if (image instanceof AsyncImage) { @@ -411,11 +417,11 @@ public class GtkToolkit extends gnu.java.awt.ClasspathToolkit /* Make the Peer reflect the state of the Component */ if (! (c instanceof Window)) { - cp.setCursor (c.getCursor ()); + cp.setCursor (c.getCursor ()); - Rectangle bounds = c.getBounds (); - cp.setBounds (bounds.x, bounds.y, bounds.width, bounds.height); - cp.setVisible (c.isVisible ()); + Rectangle bounds = c.getBounds (); + cp.setBounds (bounds.x, bounds.y, bounds.width, bounds.height); + cp.setVisible (c.isVisible ()); } } @@ -563,7 +569,7 @@ public class GtkToolkit extends gnu.java.awt.ClasspathToolkit */ private FontPeer getFontPeer (String name, int style, int size) { - Map attrs = new HashMap (); + Map attrs = new HashMap(); ClasspathFontPeer.copyStyleToAttrs (style, attrs); ClasspathFontPeer.copySizeToAttrs (size, attrs); return getClasspathFontPeer (name, attrs); @@ -575,16 +581,17 @@ public class GtkToolkit extends gnu.java.awt.ClasspathToolkit * model, hence "ClasspathFontPeer". */ - public ClasspathFontPeer getClasspathFontPeer (String name, Map attrs) + public ClasspathFontPeer getClasspathFontPeer (String name, + Map attrs) { - Map keyMap = new HashMap (attrs); + Map keyMap = new HashMap(attrs); // We don't know what kind of "name" the user requested (logical, face, // family), and we don't actually *need* to know here. The worst case // involves failure to consolidate fonts with the same backend in our // cache. This is harmless. keyMap.put ("GtkToolkit.RequestedFontName", name); if (fontCache.containsKey (keyMap)) - return (ClasspathFontPeer) fontCache.get (keyMap); + return fontCache.get (keyMap); else { ClasspathFontPeer newPeer = new GdkFontPeer (name, attrs); @@ -619,11 +626,10 @@ public class GtkToolkit extends gnu.java.awt.ClasspathToolkit return new GtkDragSourceContextPeer(e); } - public DragGestureRecognizer createDragGestureRecognizer(Class recognizer, - DragSource ds, - Component comp, - int actions, - DragGestureListener l) + public T + createDragGestureRecognizer(Class recognizer, DragSource ds, + Component comp, int actions, + DragGestureListener l) { if (recognizer.getName().equals("java.awt.dnd.MouseDragGestureRecognizer") && ! GraphicsEnvironment.isHeadless()) @@ -631,7 +637,7 @@ public class GtkToolkit extends gnu.java.awt.ClasspathToolkit GtkMouseDragGestureRecognizer gestureRecognizer = new GtkMouseDragGestureRecognizer(ds, comp, actions, l); gestureRecognizer.registerListeners(); - return gestureRecognizer; + return recognizer.cast(gestureRecognizer); } else { @@ -639,7 +645,7 @@ public class GtkToolkit extends gnu.java.awt.ClasspathToolkit } } - public Map mapInputMethodHighlight(InputMethodHighlight highlight) + public Map mapInputMethodHighlight(InputMethodHighlight highlight) { throw new Error("not implemented"); } @@ -668,6 +674,22 @@ public class GtkToolkit extends gnu.java.awt.ClasspathToolkit return new GdkRobotPeer (screen); } + public boolean getLockingKeyState(int keyCode) + { + int state = getLockState(keyCode); + + if (state != -1) + return state == 1; + + if (AWTUtilities.isValidKey(keyCode)) + throw new UnsupportedOperationException + ("cannot get locking state of key code " + keyCode); + + throw new IllegalArgumentException("invalid key code " + keyCode); + } + + protected native int getLockState(int keyCode); + public void registerImageIOSpis(IIORegistry reg) { GdkPixbufDecoder.registerSpis(reg); diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GtkWindowPeer.java b/libjava/classpath/gnu/java/awt/peer/gtk/GtkWindowPeer.java index 8d49719..1451dd9 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GtkWindowPeer.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GtkWindowPeer.java @@ -172,19 +172,17 @@ public class GtkWindowPeer extends GtkContainerPeer public void setBounds (int x, int y, int width, int height) { - if (x != getX() - || y != getY() - || width != getWidth() - || height != getHeight()) + if (x != getX() || y != getY() || width != getWidth() + || height != getHeight()) { - this.x = x; - this.y = y; - this.width = width; - this.height = height; + this.x = x; + this.y = y; + this.width = width; + this.height = height; - nativeSetBounds (x, y, - width - insets.left - insets.right, - height - insets.top - insets.bottom); + nativeSetBounds (x, y, + width - insets.left - insets.right, + height - insets.top - insets.bottom); } } @@ -211,7 +209,7 @@ public class GtkWindowPeer extends GtkContainerPeer width = awtComponent.getWidth(); height = awtComponent.getHeight(); setSize (width - insets.left - insets.right, - height - insets.top - insets.bottom); + height - insets.top - insets.bottom); gtkWindowSetResizable (resizable); } @@ -253,22 +251,20 @@ public class GtkWindowPeer extends GtkContainerPeer awtComponent.dispatchEvent(ev); } - if (frame_width != getWidth() - || frame_height != getHeight()) + if (frame_width != getWidth() || frame_height != getHeight()) { - this.width = frame_width; - this.height = frame_height; - q().postEvent(new ComponentEvent(awtComponent, - ComponentEvent.COMPONENT_RESIZED)); + this.width = frame_width; + this.height = frame_height; + q().postEvent(new ComponentEvent(awtComponent, + ComponentEvent.COMPONENT_RESIZED)); } - if (frame_x != getX() - || frame_y != getY()) + if (frame_x != getX() || frame_y != getY()) { - this.x = frame_x; - this.y = frame_y; - q().postEvent(new ComponentEvent(awtComponent, - ComponentEvent.COMPONENT_MOVED)); + this.x = frame_x; + this.y = frame_y; + q().postEvent(new ComponentEvent(awtComponent, + ComponentEvent.COMPONENT_MOVED)); } } @@ -287,8 +283,8 @@ public class GtkWindowPeer extends GtkContainerPeer { if (id == WindowEvent.WINDOW_STATE_CHANGED) { - if (windowState != newState) - { + if (windowState != newState) + { // Post old styleWindowEvent with WINDOW_ICONIFIED or // WINDOW_DEICONIFIED if appropriate. if ((windowState & Frame.ICONIFIED) != 0 @@ -302,10 +298,10 @@ public class GtkWindowPeer extends GtkContainerPeer WindowEvent.WINDOW_ICONIFIED, opposite, 0, 0)); // Post new-style WindowStateEvent. - q().postEvent (new WindowEvent ((Window) awtComponent, id, + q().postEvent (new WindowEvent ((Window) awtComponent, id, opposite, windowState, newState)); - windowState = newState; - } + windowState = newState; + } } else q().postEvent (new WindowEvent ((Window) awtComponent, id, opposite)); @@ -384,7 +380,7 @@ public class GtkWindowPeer extends GtkContainerPeer } protected void postMouseEvent(int id, long when, int mods, int x, int y, - int clickCount, boolean popupTrigger) + int clickCount, boolean popupTrigger) { // Translate AWT co-ordinates, which include a window frame's // insets, to GTK co-ordinates, which do not include a window @@ -392,8 +388,8 @@ public class GtkWindowPeer extends GtkContainerPeer // insets but GtkFramePeer and GtkDialogPeer insets will be // non-zero. super.postMouseEvent (id, when, mods, - x + insets.left, y + insets.top, - clickCount, popupTrigger); + x + insets.left, y + insets.top, + clickCount, popupTrigger); } // We override this to keep it in sync with our internal diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/VolatileImageGraphics.java b/libjava/classpath/gnu/java/awt/peer/gtk/VolatileImageGraphics.java index 62dbb45..8843886 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/VolatileImageGraphics.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/VolatileImageGraphics.java @@ -207,11 +207,11 @@ public class VolatileImageGraphics extends ComponentGraphics if (img instanceof GtkVolatileImage && (comp == null || comp instanceof AlphaComposite)) { - owner.drawVolatile( ((GtkVolatileImage)img).nativePointer, - x, y, - ((GtkVolatileImage)img).width, - ((GtkVolatileImage)img).height ); - return true; + owner.drawVolatile( ((GtkVolatileImage)img).nativePointer, + x, y, + ((GtkVolatileImage)img).width, + ((GtkVolatileImage)img).height ); + return true; } return super.drawImage( img, x, y, observer ); } @@ -222,9 +222,9 @@ public class VolatileImageGraphics extends ComponentGraphics if ((img instanceof GtkVolatileImage) && (comp == null || comp instanceof AlphaComposite)) { - owner.drawVolatile( ((GtkVolatileImage)img).nativePointer, - x, y, width, height ); - return true; + owner.drawVolatile( ((GtkVolatileImage)img).nativePointer, + x, y, width, height ); + return true; } return super.drawImage( img, x, y, width, height, observer ); } @@ -254,8 +254,8 @@ public class VolatileImageGraphics extends ComponentGraphics transform.transform(points, 0, points, 0, 2); Rectangle2D deviceBounds = new Rectangle2D.Double(points[0], points[1], - points[2] - points[0], - points[3] - points[1]); + points[2] - points[0], + points[3] - points[1]); Rectangle2D.intersect(deviceBounds, this.getClipInDevSpace(), deviceBounds); current = current.getSubimage((int)deviceBounds.getX(), diff --git a/libjava/classpath/gnu/java/awt/peer/qt/QtToolkit.java b/libjava/classpath/gnu/java/awt/peer/qt/QtToolkit.java index 5116769..9b53b27 100644 --- a/libjava/classpath/gnu/java/awt/peer/qt/QtToolkit.java +++ b/libjava/classpath/gnu/java/awt/peer/qt/QtToolkit.java @@ -1,5 +1,5 @@ /* QtToolkit.java -- - Copyright (C) 2005, 2006 Free Software Foundation, Inc. + Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -37,6 +37,7 @@ exception statement from your version. */ package gnu.java.awt.peer.qt; +import gnu.java.awt.ClasspathToolkit; import gnu.java.awt.EmbeddedWindow; import gnu.java.awt.peer.ClasspathFontPeer; import gnu.java.awt.peer.EmbeddedWindowPeer; @@ -50,56 +51,56 @@ import java.awt.Choice; import java.awt.Dialog; import java.awt.Dimension; import java.awt.EventQueue; +import java.awt.FileDialog; import java.awt.Font; import java.awt.FontMetrics; import java.awt.Frame; +import java.awt.GraphicsDevice; +import java.awt.GraphicsEnvironment; import java.awt.Image; import java.awt.Label; import java.awt.List; -import java.awt.MenuBar; import java.awt.Menu; +import java.awt.MenuBar; import java.awt.MenuItem; import java.awt.Panel; -import java.awt.TextArea; -import java.awt.TextField; -import java.awt.FileDialog; -import java.awt.GraphicsDevice; -import java.awt.GraphicsEnvironment; import java.awt.PopupMenu; import java.awt.PrintJob; -import java.awt.Scrollbar; import java.awt.ScrollPane; +import java.awt.Scrollbar; +import java.awt.TextArea; +import java.awt.TextField; import java.awt.Window; import java.awt.datatransfer.Clipboard; import java.awt.dnd.DragGestureEvent; import java.awt.dnd.peer.DragSourceContextPeer; import java.awt.event.AWTEventListener; +import java.awt.im.InputMethodHighlight; import java.awt.image.ColorModel; import java.awt.image.DirectColorModel; import java.awt.image.ImageObserver; import java.awt.image.ImageProducer; -import java.awt.im.InputMethodHighlight; import java.awt.peer.ButtonPeer; -import java.awt.peer.FontPeer; -import java.awt.peer.PanelPeer; import java.awt.peer.CanvasPeer; -import java.awt.peer.FramePeer; -import java.awt.peer.PopupMenuPeer; import java.awt.peer.CheckboxMenuItemPeer; -import java.awt.peer.LabelPeer; -import java.awt.peer.RobotPeer; import java.awt.peer.CheckboxPeer; -import java.awt.peer.ScrollPanePeer; import java.awt.peer.ChoicePeer; +import java.awt.peer.DialogPeer; +import java.awt.peer.FileDialogPeer; +import java.awt.peer.FontPeer; +import java.awt.peer.FramePeer; +import java.awt.peer.LabelPeer; import java.awt.peer.ListPeer; -import java.awt.peer.ScrollbarPeer; import java.awt.peer.MenuBarPeer; -import java.awt.peer.TextAreaPeer; -import java.awt.peer.DialogPeer; import java.awt.peer.MenuItemPeer; -import java.awt.peer.TextFieldPeer; -import java.awt.peer.FileDialogPeer; import java.awt.peer.MenuPeer; +import java.awt.peer.PanelPeer; +import java.awt.peer.PopupMenuPeer; +import java.awt.peer.RobotPeer; +import java.awt.peer.ScrollPanePeer; +import java.awt.peer.ScrollbarPeer; +import java.awt.peer.TextAreaPeer; +import java.awt.peer.TextFieldPeer; import java.awt.peer.WindowPeer; import java.io.InputStream; import java.net.URL; @@ -107,8 +108,6 @@ import java.util.HashMap; import java.util.Map; import java.util.Properties; -import gnu.java.awt.ClasspathToolkit; - public class QtToolkit extends ClasspathToolkit { public static EventQueue eventQueue = null; // the native event queue @@ -163,7 +162,9 @@ public class QtToolkit extends ClasspathToolkit if( guiThread == null ) initToolkit(); - while (!guiThread.isRunning()); // make sure the GUI thread has started. + // make sure the GUI thread has started. + while (!guiThread.isRunning()) + ; if( graphicsEnv == null ) graphicsEnv = new QtGraphicsEnvironment( this ); diff --git a/libjava/classpath/gnu/java/awt/print/JavaPrinterGraphics.java b/libjava/classpath/gnu/java/awt/print/JavaPrinterGraphics.java index 9a3db01..b86eea5 100644 --- a/libjava/classpath/gnu/java/awt/print/JavaPrinterGraphics.java +++ b/libjava/classpath/gnu/java/awt/print/JavaPrinterGraphics.java @@ -135,7 +135,8 @@ public class JavaPrinterGraphics extends Graphics implements PrinterGraphics { int index = 0; while(spoolPage(out, printable, pageFormat, index++) == - Printable.PAGE_EXISTS); + Printable.PAGE_EXISTS) + ; } out.println("%%Trailer"); out.println("%%EOF"); diff --git a/libjava/classpath/gnu/java/awt/print/PostScriptGraphics2D.java b/libjava/classpath/gnu/java/awt/print/PostScriptGraphics2D.java index e4cc819..4e052a1 100644 --- a/libjava/classpath/gnu/java/awt/print/PostScriptGraphics2D.java +++ b/libjava/classpath/gnu/java/awt/print/PostScriptGraphics2D.java @@ -191,7 +191,8 @@ class PostScriptGraphics2D extends Graphics2D { int index = 0; while(spoolPage(out, printable, pageFormat, index++) == - Printable.PAGE_EXISTS); + Printable.PAGE_EXISTS) + ; } out.println("%%Trailer"); out.println("%%EOF"); diff --git a/libjava/classpath/gnu/java/beans/encoder/ScanEngine.java b/libjava/classpath/gnu/java/beans/encoder/ScanEngine.java index edf07d7..b78a814 100644 --- a/libjava/classpath/gnu/java/beans/encoder/ScanEngine.java +++ b/libjava/classpath/gnu/java/beans/encoder/ScanEngine.java @@ -153,7 +153,7 @@ public class ScanEngine writer = new StAXWriter(os); root = new Root(); - final ScannerState start = current = new GenericScannerState(root);; + final ScannerState start = current = new GenericScannerState(root); ScannerState conf; // Use the ReportingScannerState to debug serialization issues. diff --git a/libjava/classpath/gnu/java/io/Base64InputStream.java b/libjava/classpath/gnu/java/io/Base64InputStream.java index b0824ab..1f5d220 100644 --- a/libjava/classpath/gnu/java/io/Base64InputStream.java +++ b/libjava/classpath/gnu/java/io/Base64InputStream.java @@ -139,7 +139,9 @@ public class Base64InputStream extends FilterInputStream while (count < len) { int i; - while (Character.isWhitespace((char) (i = in.read()))); + while (Character.isWhitespace((char) (i = in.read()))) + ; + int pos = BASE_64.indexOf((char) i); if (pos >= 0) { @@ -173,11 +175,13 @@ public class Base64InputStream extends FilterInputStream case 1: throw new IOException("malformed Base-64 input"); case 2: - while (Character.isWhitespace((char) (i = in.read()))); + while (Character.isWhitespace((char) (i = in.read()))) + ; if (i != BASE_64_PAD) throw new IOException("malformed Base-64 input"); case 3: - while (Character.isWhitespace((char) (i = in.read()))); + while (Character.isWhitespace((char) (i = in.read()))) + ; } eof = true; break; diff --git a/libjava/classpath/gnu/java/io/class-dependencies.conf b/libjava/classpath/gnu/java/io/class-dependencies.conf deleted file mode 100644 index 2500f6b..0000000 --- a/libjava/classpath/gnu/java/io/class-dependencies.conf +++ /dev/null @@ -1,75 +0,0 @@ -# This property file contains dependencies of classes, methods, and -# field on other methods or classes. -# -# Syntax: -# -# : [... ] -# -# means that when is included, (... ) must -# be included as well. -# -# and are of the form -# -# -# -# or just -# -# -# -# Within dependencies, variables can be used. A variable is defined as -# follows: -# -# {variable}: value1 value2 ... value -# -# variables can be used on the right side of dependencies as follows: -# -# : com.bla.blu.{variable}.Class.m()V -# -# The use of the variable will expand to dependencies of the form -# -# : com.bla.blu.value1.Class.m()V -# : com.bla.blu.value2.Class.m()V -# ... -# : com.bla.blu.value.Class.m()V -# -# Variables can be redefined when building a system to select the -# required support for features like encodings, protocols, etc. -# -# Hints: -# -# - For methods and fields, the signature is mandatory. For -# specification, please see the Java Virtual Machine Specification by -# SUN. Unlike in the spec, field signatures (types) are in brackets. -# -# - Package names must be separated by '/' (and not '.'). E.g., -# java/lang/Class (this is necessary, because the '.' is used to -# separate method or field names from classes) -# -# - In case refers to a class, only the class itself will be -# included in the resulting binary, NOT necessarily all its methods -# and fields. If you want to refer to all methods and fields, you can -# write class.* as an abbreviation. -# -# - Abbreviations for packages are also possible: my/package/* means all -# methods and fields of all classes in my/package. -# -# - A line with a trailing '\' continues in the next line. - - -# All encodings supported are loaded via gnu/java/io/EncodingManager.findEncoderConstructor -# or gnu/java/io/EncodingManager.findDecoderConstructor from class -# gnu/java/io/decode/Decoder. -# -# This introduces a dependency for all encodings. To allow an easy selection -# and addition of encodings, the library variable {encodings} can be set to -# the set of supported encodings. -# -{encodings}: 8859_1 8859_2 8859_3 8859_4 8859_5 UTF8 - -gnu/java/io/EncodingManager.findEncoderConstructor(Ljava/lang/String;Z)Ljava/lang/reflect/Constructor;: \ - gnu/java/io/decode/Decoder{encodings}.* - -gnu/java/io/EncodingManager.findDecoderConstructor(Ljava/lang/String;Z)Ljava/lang/reflect/Constructor;: \ - gnu/java/io/encode/Encoder{encodings}.* \ - -# end of file diff --git a/libjava/classpath/gnu/java/lang/management/BeanImpl.java b/libjava/classpath/gnu/java/lang/management/BeanImpl.java index e5b4718..59e79a5 100644 --- a/libjava/classpath/gnu/java/lang/management/BeanImpl.java +++ b/libjava/classpath/gnu/java/lang/management/BeanImpl.java @@ -37,6 +37,8 @@ exception statement from your version. */ package gnu.java.lang.management; +import gnu.javax.management.Translator; + import java.lang.management.ManagementPermission; import java.lang.reflect.Array; @@ -124,7 +126,7 @@ public class BeanImpl new OpenMBeanAttributeInfoSupport[oldA.length]; for (int a = 0; a < oldA.length; ++a) { - OpenMBeanParameterInfo param = translate(oldA[a].getType()); + OpenMBeanParameterInfo param = Translator.translate(oldA[a].getType()); if (param.getMinValue() == null) { Object[] lv; @@ -134,7 +136,8 @@ public class BeanImpl lv = param.getLegalValues().toArray(); attribs[a] = new OpenMBeanAttributeInfoSupport(oldA[a].getName(), oldA[a].getDescription(), - param.getOpenType(), + ((OpenType) + param.getOpenType()), oldA[a].isReadable(), oldA[a].isWritable(), oldA[a].isIs(), @@ -144,13 +147,16 @@ public class BeanImpl else attribs[a] = new OpenMBeanAttributeInfoSupport(oldA[a].getName(), oldA[a].getDescription(), - param.getOpenType(), + ((OpenType) + param.getOpenType()), oldA[a].isReadable(), oldA[a].isWritable(), oldA[a].isIs(), param.getDefaultValue(), - param.getMinValue(), - param.getMaxValue()); + ((Comparable) + param.getMinValue()), + ((Comparable) + param.getMaxValue())); } MBeanConstructorInfo[] oldC = info.getConstructors(); OpenMBeanConstructorInfo[] cons = new OpenMBeanConstructorInfoSupport[oldC.length]; @@ -166,7 +172,7 @@ public class BeanImpl new OpenMBeanOperationInfoSupport(oldO[a].getName(), oldO[a].getDescription(), translateSignature(oldO[a].getSignature()), - translate(oldO[a].getReturnType()).getOpenType(), + Translator.translate(oldO[a].getReturnType()).getOpenType(), oldO[a].getImpact()); openInfo = new OpenMBeanInfoSupport(info.getClassName(), info.getDescription(), attribs, cons, ops, info.getNotifications()); @@ -201,32 +207,36 @@ public class BeanImpl return ((Enum) value).name(); Class vClass = value.getClass(); if (vClass.isArray()) - return value; + vClass = vClass.getComponentType(); String cName = vClass.getName(); String[] allowedTypes = OpenType.ALLOWED_CLASSNAMES; for (int a = 0; a < allowedTypes.length; ++a) if (cName.equals(allowedTypes[a])) return value; - if (value instanceof List) - { - List l = (List) value; - Class e = null; - TypeVariable[] vars = vClass.getTypeParameters(); - for (int a = 0; a < vars.length; ++a) - if (vars[a].getName().equals("E")) - e = (Class) vars[a].getGenericDeclaration(); - if (e == null) - e = Object.class; - Object[] array = (Object[]) Array.newInstance(e, l.size()); - return l.toArray(array); - } OpenMBeanInfo info = (OpenMBeanInfo) getMBeanInfo(); - OpenMBeanAttributeInfo[] attribs = - (OpenMBeanAttributeInfo[]) info.getAttributes(); + MBeanAttributeInfo[] attribs = + (MBeanAttributeInfo[]) info.getAttributes(); OpenType type = null; for (int a = 0; a < attribs.length; ++a) - if (attribs[a].getName().equals("attribute")) - type = attribs[a].getOpenType(); + if (attribs[a].getName().equals(attribute)) + type = ((OpenMBeanAttributeInfo) attribs[a]).getOpenType(); + if (value instanceof List) + { + try + { + Class e = + Class.forName(((ArrayType) type).getElementOpenType().getClassName()); + List l = (List) value; + Object[] array = (Object[]) Array.newInstance(e, l.size()); + return l.toArray(array); + } + catch (ClassNotFoundException e) + { + throw (InternalError) (new InternalError("The class of the list " + + "element type could not " + + "be created").initCause(e)); + } + } if (value instanceof Map) { TabularType ttype = (TabularType) type; @@ -319,19 +329,13 @@ public class BeanImpl return getCachedMBeanInfo(); } - private OpenType getTypeFromClass(Class c) - throws OpenDataException - { - return translate(c.getName()).getOpenType(); - } - private OpenMBeanParameterInfo[] translateSignature(MBeanParameterInfo[] oldS) throws OpenDataException { OpenMBeanParameterInfo[] sig = new OpenMBeanParameterInfoSupport[oldS.length]; for (int a = 0; a < oldS.length; ++a) { - OpenMBeanParameterInfo param = translate(oldS[a].getType()); + OpenMBeanParameterInfo param = Translator.translate(oldS[a].getType()); if (param.getMinValue() == null) { Object[] lv; @@ -341,179 +345,24 @@ public class BeanImpl lv = param.getLegalValues().toArray(); sig[a] = new OpenMBeanParameterInfoSupport(oldS[a].getName(), oldS[a].getDescription(), - param.getOpenType(), + ((OpenType) + param.getOpenType()), param.getDefaultValue(), lv); } else sig[a] = new OpenMBeanParameterInfoSupport(oldS[a].getName(), oldS[a].getDescription(), - param.getOpenType(), + ((OpenType) + param.getOpenType()), param.getDefaultValue(), - param.getMinValue(), - param.getMaxValue()); + ((Comparable) + param.getMinValue()), + ((Comparable) + param.getMaxValue())); } return sig; } - private OpenMBeanParameterInfo translate(String type) - throws OpenDataException - { - if (type.equals("boolean") || type.equals(Boolean.class.getName())) - return new OpenMBeanParameterInfoSupport("TransParam", - "Translated parameter", - SimpleType.BOOLEAN, - null, - new Object[] { - Boolean.TRUE, - Boolean.FALSE - }); - if (type.equals("byte") || type.equals(Byte.class.getName())) - return new OpenMBeanParameterInfoSupport("TransParam", - "Translated parameter", - SimpleType.BYTE, - null, - Byte.valueOf(Byte.MIN_VALUE), - Byte.valueOf(Byte.MAX_VALUE)); - if (type.equals("char") || type.equals(Character.class.getName())) - return new OpenMBeanParameterInfoSupport("TransParam", - "Translated parameter", - SimpleType.CHARACTER, - null, - Character.valueOf(Character.MIN_VALUE), - Character.valueOf(Character.MAX_VALUE)); - if (type.equals("double") || type.equals(Double.class.getName())) - return new OpenMBeanParameterInfoSupport("TransParam", - "Translated parameter", - SimpleType.DOUBLE, - null, - Double.valueOf(Double.MIN_VALUE), - Double.valueOf(Double.MAX_VALUE)); - if (type.equals("float") || type.equals(Float.class.getName())) - return new OpenMBeanParameterInfoSupport("TransParam", - "Translated parameter", - SimpleType.FLOAT, - null, - Float.valueOf(Float.MIN_VALUE), - Float.valueOf(Float.MAX_VALUE)); - if (type.equals("int") || type.equals(Integer.class.getName())) - return new OpenMBeanParameterInfoSupport("TransParam", - "Translated parameter", - SimpleType.INTEGER, - null, - Integer.valueOf(Integer.MIN_VALUE), - Integer.valueOf(Integer.MAX_VALUE)); - if (type.equals("long") || type.equals(Long.class.getName())) - return new OpenMBeanParameterInfoSupport("TransParam", - "Translated parameter", - SimpleType.LONG, - null, - Long.valueOf(Long.MIN_VALUE), - Long.valueOf(Long.MAX_VALUE)); - if (type.equals("short") || type.equals(Short.class.getName())) - return new OpenMBeanParameterInfoSupport("TransParam", - "Translated parameter", - SimpleType.SHORT, - null, - Short.valueOf(Short.MIN_VALUE), - Short.valueOf(Short.MAX_VALUE)); - if (type.equals(String.class.getName())) - return new OpenMBeanParameterInfoSupport("TransParam", - "Translated parameter", - SimpleType.STRING); - if (type.equals("void")) - return new OpenMBeanParameterInfoSupport("TransParam", - "Translated parameter", - SimpleType.VOID); - if (type.startsWith("java.util.Map")) - { - int lparam = type.indexOf("<"); - int comma = type.indexOf(",", lparam); - int rparam = type.indexOf(">", comma); - String key = type.substring(lparam + 1, comma).trim(); - OpenType k = translate(key).getOpenType(); - OpenType v = translate(type.substring(comma + 1, rparam).trim()).getOpenType(); - CompositeType ctype = new CompositeType(Map.class.getName(), Map.class.getName(), - new String[] { "key", "value" }, - new String[] { "Map key", "Map value"}, - new OpenType[] { k, v}); - TabularType ttype = new TabularType(key, key, ctype, - new String[] { "key" }); - return new OpenMBeanParameterInfoSupport("TransParam", - "Translated parameter", - ttype); - } - if (type.startsWith("java.util.List")) - { - int lparam = type.indexOf("<"); - int rparam = type.indexOf(">"); - OpenType e = translate(type.substring(lparam + 1, rparam).trim()).getOpenType(); - return new OpenMBeanParameterInfoSupport("TransParam", - "Translated parameter", - new ArrayType(1, e) - ); - } - Class c; - try - { - c = Class.forName(type); - } - catch (ClassNotFoundException e) - { - throw (InternalError) - (new InternalError("The class for a type used in a management bean " + - "could not be loaded.").initCause(e)); - } - if (c.isEnum()) - { - Object[] values = c.getEnumConstants(); - String[] names = new String[values.length]; - for (int a = 0; a < values.length; ++a) - names[a] = values[a].toString(); - return new OpenMBeanParameterInfoSupport("TransParam", - "Translated parameter", - SimpleType.STRING, - null, - (Object[]) names); - } - try - { - c.getMethod("from", new Class[] { CompositeData.class }); - Method[] methods = c.getMethods(); - List names = new ArrayList(); - List types = new ArrayList(); - for (int a = 0; a < methods.length; ++a) - { - String name = methods[a].getName(); - if (name.startsWith("get")) - { - names.add(name.substring(3)); - types.add(getTypeFromClass(methods[a].getReturnType())); - } - } - String[] fields = (String[]) names.toArray(); - CompositeType ctype = new CompositeType(c.getName(), c.getName(), - fields, fields, - (OpenType[]) types.toArray()); - return new OpenMBeanParameterInfoSupport("TransParam", - "Translated parameter", - ctype); - } - catch (NoSuchMethodException e) - { - /* Ignored; we expect this if this isn't a from(CompositeData) class */ - } - if (c.isArray()) - { - int depth; - for (depth = 0; c.getName().charAt(depth) == '['; ++depth); - OpenType ot = getTypeFromClass(c.getComponentType()); - return new OpenMBeanParameterInfoSupport("TransParam", - "Translated parameter", - new ArrayType(depth, ot) - ); - } - throw new InternalError("The type used does not have an open type translation."); - } } diff --git a/libjava/classpath/gnu/java/lang/management/OperatingSystemMXBeanImpl.java b/libjava/classpath/gnu/java/lang/management/OperatingSystemMXBeanImpl.java index 9eefc0d..07fb7bf 100644 --- a/libjava/classpath/gnu/java/lang/management/OperatingSystemMXBeanImpl.java +++ b/libjava/classpath/gnu/java/lang/management/OperatingSystemMXBeanImpl.java @@ -82,6 +82,11 @@ public final class OperatingSystemMXBeanImpl return System.getProperty("os.name"); } + public double getSystemLoadAverage() + { + return VMOperatingSystemMXBeanImpl.getSystemLoadAverage(); + } + public String getVersion() { return System.getProperty("os.version"); diff --git a/libjava/classpath/gnu/java/lang/management/ThreadMXBeanImpl.java b/libjava/classpath/gnu/java/lang/management/ThreadMXBeanImpl.java index 609b58d..5d02823 100644 --- a/libjava/classpath/gnu/java/lang/management/ThreadMXBeanImpl.java +++ b/libjava/classpath/gnu/java/lang/management/ThreadMXBeanImpl.java @@ -83,7 +83,19 @@ public final class ThreadMXBeanImpl */ private static final String TIME_ENABLED = "gnu.java.lang.management.ThreadTimeInitallyEnabled"; - + + /** + * Constant for monitor usage monitoring support. + */ + private static final String MONITOR_SUPPORT = + "gnu.java.lang.management.MonitorUsageMonitoringSupport"; + + /** + * Constant for ownable synchronizer usage monitoring support. + */ + private static final String SYNCHRONIZER_SUPPORT = + "gnu.java.lang.management.OwnableSynchronizerUsageMonitoringSupport"; + /** * Flag to indicate whether time monitoring is enabled or not. */ @@ -112,6 +124,23 @@ public final class ThreadMXBeanImpl contentionEnabled = false; } + public ThreadInfo[] dumpAllThreads(boolean lockedMonitors, + boolean lockedSynchronizers) + { + return getThreadInfo(getAllThreadIds(), lockedMonitors, + lockedSynchronizers); + } + + public long[] findDeadlockedThreads() + { + checkMonitorPermissions(); + if (!isSynchronizerUsageSupported()) + throw new UnsupportedOperationException("Ownable synchronizer usage " + + "monitoring is not provided " + + "by this VM."); + return VMThreadMXBeanImpl.findDeadlockedThreads(); + } + public long[] findMonitorDeadlockedThreads() { checkMonitorPermissions(); @@ -207,6 +236,27 @@ public final class ThreadMXBeanImpl return infos; } + public ThreadInfo[] getThreadInfo(long[] ids, boolean lockedMonitors, + boolean lockedSynchronizers) + { + checkMonitorPermissions(); + if (lockedMonitors && !isObjectMonitorUsageSupported()) + throw new UnsupportedOperationException("Monitor usage monitoring is " + + "not provided by this VM."); + if (lockedSynchronizers && !isSynchronizerUsageSupported()) + throw new UnsupportedOperationException("Ownable synchronizer usage " + + "monitoring is not provided " + + "by this VM."); + ThreadInfo[] infos = getThreadInfo(ids, Integer.MAX_VALUE); + if (lockedMonitors) + for (ThreadInfo info : infos) + VMThreadMXBeanImpl.getMonitorInfo(info); + if (lockedSynchronizers) + for (ThreadInfo info : infos) + VMThreadMXBeanImpl.getLockInfo(info); + return infos; + } + public long getThreadUserTime(long id) { if (!isThreadCpuTimeSupported()) @@ -231,6 +281,16 @@ public final class ThreadMXBeanImpl return SystemProperties.getProperty(CURRENT_THREAD_TIME_SUPPORT) != null; } + public boolean isObjectMonitorUsageSupported() + { + return SystemProperties.getProperty(MONITOR_SUPPORT) != null; + } + + public boolean isSynchronizerUsageSupported() + { + return SystemProperties.getProperty(SYNCHRONIZER_SUPPORT) != null; + } + public boolean isThreadContentionMonitoringEnabled() { if (isThreadContentionMonitoringSupported()) diff --git a/libjava/classpath/gnu/java/locale/LocaleHelper.java b/libjava/classpath/gnu/java/locale/LocaleHelper.java index cec0147..4fefd16 100644 --- a/libjava/classpath/gnu/java/locale/LocaleHelper.java +++ b/libjava/classpath/gnu/java/locale/LocaleHelper.java @@ -55,105 +55,44 @@ import java.util.ResourceBundle; public class LocaleHelper { /** - * This method is used by the localized name lookup methods to retrieve - * the localized name of a particular piece of locale data. - * If the display name can not be localized to the supplied - * locale, it will fall back on other output in the following order: - * - *
    - *
  • the localized name in the default locale
  • - *
  • the localized name in English (optional)
  • - *
  • the localized name in the root locale bundle (optional)
  • - *
  • the localized input string
  • - *
*

- * If the supplied key is merely the empty string, then the empty string is - * returned. + * This method is used by the localized name lookup methods to + * retrieve the next locale to try. The next locale is derived + * from the supplied locale by applying the first applicable + * rule from the following: + *

+ *
    + *
  1. If the variant contains a '_', then + * this and everything following it is trimmed.
  2. + *
  3. If the variant is non-empty, it is converted to + * an empty string.
  4. + *
  5. If the country is non-empty, it is converted to + * an empty string.
  6. + *
  7. If the language is non-empty, it is converted to + * an empty string (forming {@link java.util.Locale#ROOT})
  8. + *
+ *

+ * The base fallback locale is {@link java.util.Locale#ROOT}. *

* - * @param inLocale the locale to use for formatting the display string. - * @param key the locale data used as a key to the localized lookup tables. - * @param name the name of the hashtable containing the localized data. - * @param checkEnglish true if the method should fall back on data - * from the English locale. - * @param checkRoot true if the method should fall back on data from the - * unlocalized root locale. - * @return a String, hopefully containing the localized - * variant of the input data. - * @throws NullPointerException if inLocale is null. + * @param locale the locale for which a localized piece of + * data could not be obtained. + * @return the next fallback locale to try. */ - public static String getLocalizedString(Locale inLocale, String key, - String name, boolean checkEnglish, - boolean checkRoot) + public static Locale getFallbackLocale(Locale locale) { - String localizedString; - String property; - - if (key.equals("")) - return ""; - property = name + "." + key; - /* Localize to inLocale */ - try - { - localizedString = - ResourceBundle.getBundle("gnu.java.locale.LocaleInformation", - inLocale).getString(property); - } - catch (MissingResourceException exception) - { - localizedString = null; - } - /* Localize to default locale */ - if (localizedString == null) - { - try - { - ResourceBundle bundle; - - bundle = - ResourceBundle.getBundle("gnu.java.locale.LocaleInformation"); - localizedString = bundle.getString(property); - } - catch (MissingResourceException exception) - { - localizedString = null; - } - } - /* Localize to English */ - if (localizedString == null && checkEnglish) - { - try - { - localizedString = - ResourceBundle.getBundle("gnu.java.locale.LocaleInformation", - Locale.ENGLISH).getString(property); - } - catch (MissingResourceException exception) - { - localizedString = null; - } - } - /* Return unlocalized version */ - if (localizedString == null && checkRoot) - { - try - { - localizedString = - ResourceBundle.getBundle("gnu.java.locale.LocaleInformation", - new Locale("","","") - ).getString(property); - } - catch (MissingResourceException exception) - { - localizedString = null; - } - } - /* Return original input string */ - if (localizedString == null) - { - localizedString = key; - } - return localizedString; + String language = locale.getLanguage(); + String country = locale.getCountry(); + String variant = locale.getVariant(); + int uscore = variant.indexOf('_'); + if (uscore != -1) + return new Locale(language, country, + variant.substring(0, uscore)); + if (!variant.isEmpty()) + return new Locale(language, country, ""); + if (!country.isEmpty()) + return new Locale(language, "", ""); + return Locale.ROOT; } /** diff --git a/libjava/classpath/gnu/java/math/Fixed.java b/libjava/classpath/gnu/java/math/Fixed.java new file mode 100644 index 0000000..e0284c3 --- /dev/null +++ b/libjava/classpath/gnu/java/math/Fixed.java @@ -0,0 +1,207 @@ +/* Fixed.java -- Utility methods for fixed point arithmetics + Copyright (C) 2006 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 gnu.java.math; + +/** + * Utility methods for fixed point arithmetics. + */ +public final class Fixed +{ + + /** + * Private constructor to avoid instantiation. + */ + private Fixed() + { + // Forbidden constructor. + } + + /** + * Divides two fixed point values with n digits. + * + * @param n the number of digits + * @param a the first operand as fixed point value + * @param b the second operand as fixed point value + * + * @return a / b as fixed point value + */ + public static int div(int n, int a, int b) + { + return (int) ((((long) a) << n) / b); + } + + /** + * Multiplies two fixed point values with n digits. + * + * @param n the number of digits + * @param a the first operand as fixed point value + * @param b the second operand as fixed point value + * + * @return a * b as fixed point value + */ + public static int mul(int n, int a, int b) + { + return (int) ((((long) a) * b) >> n); + } + + /** + * Returns the ceiling value of a fixed point value a with + * the n digits. + * + * @param n the number of digits + * @param a the fixed point value + * + * @return ceil(a) as fixed point value + */ + public static int ceil(int n, int a) + { + return (a + (1 << n - 1)) & -(1 << n); + } + + /** + * Returns the floor value of a fixed point value a with + * n digits. + * + * @param n the number of digits + * @param a the fixed point value + * + * @return floor(a) as fixed point value + */ + public static int floor(int n, int a) + { + return a & -(1 << n); + } + + /** + * Returns the round value of a fixed point value a with + * the n digits. + * + * @param n the number of digits + * @param a the fixed point value + * + * @return round(a) as fixed point value + */ + public static int round(int n, int a) + { + return (a + (1 << (n - 1))) & -(1 << n); + } + + /** + * Returns the fixed point value a with n digits + * as float. + * + * @param n the number of digits + * @param a the fixed point value + * + * @return the float value of a + */ + public static float floatValue(int n, int a) + { + return ((float) a) / (1 << n); + } + + /** + * Returns the fixed point value a with n digits + * as double. + * + * @param n the number of digits + * @param a the fixed point value + * + * @return the double value of a + */ + public static double doubleValue(int n, int a) + { + return ((double) a) / (1 << n); + } + + /** + * Returns the fixed point value that corresponds to the specified float + * value a with n digits. + * + * @param n the number of digits + * @param a the float value + * + * @return the fixed point value + */ + public static int fixedValue(int n, float a) + { + return (int) (a * (1 << n)); + } + + /** + * Returns the fixed point value that corresponds to the specified double + * value a with n digits. + * + * @param n the number of digits + * @param a the double value + * + * @return the fixed point value + */ + public static int fixedValue(int n, double a) + { + return (int) (a * (1 << n)); + } + + /** + * Returns the integer value of the specified fixed point value + * a. This simply cuts of the digits (== floor(a)). + * + * @param n the number of digits + * @param a the fixed point value + * + * @return the integer value + */ + public static int intValue(int n, int a) + { + return a >> n; + } + + /** + * Returns a fixed point decimal as rounded integer value. + * + * @param n the number of digits + * @param a the fixed point number + * + * @return the fixed point decimal as rounded integer value + */ + public static int roundIntValue(int n, int a) + { + return (a + (1 << (n - 1))) >> n; + } +} diff --git a/libjava/classpath/gnu/java/net/BASE64.java b/libjava/classpath/gnu/java/net/BASE64.java deleted file mode 100644 index 901aa0c..0000000 --- a/libjava/classpath/gnu/java/net/BASE64.java +++ /dev/null @@ -1,190 +0,0 @@ -/* BASE.java -- - Copyright (C) 2003, 2004, 2005 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 gnu.java.net; - -/** - * Encodes and decodes text according to the BASE64 encoding. - * - * @author Chris Burdess (dog@gnu.org) - */ -public final class BASE64 -{ - private static final byte[] src = { - 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, - 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, - 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0x61, 0x62, 0x63, 0x64, - 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, - 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, - 0x79, 0x7a, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, - 0x38, 0x39, 0x2b, 0x2f - }; - - private static final byte[] dst; - static - { - dst = new byte[0x100]; - for (int i = 0x0; i < 0xff; i++) - { - dst[i] = -1; - } - for (int i = 0; i < src.length; i++) - { - dst[src[i]] = (byte) i; - } - } - - private BASE64() - { - } - - /** - * Encode the specified byte array using the BASE64 algorithm. - * - * @param bs the source byte array - */ - public static byte[] encode(byte[] bs) - { - int si = 0, ti = 0; // source/target array indices - byte[] bt = new byte[((bs.length + 2) * 4) / 3]; // target byte array - for (; si < bs.length; si += 3) - { - int buflen = bs.length - si; - if (buflen == 1) - { - byte b = bs[si]; - int i = 0; - bt[ti++] = src[b >>> 2 & 0x3f]; - bt[ti++] = src[(b << 4 & 0x30) + (i >>> 4 & 0xf)]; - } - else if (buflen == 2) - { - byte b1 = bs[si], b2 = bs[si + 1]; - int i = 0; - bt[ti++] = src[b1 >>> 2 & 0x3f]; - bt[ti++] = src[(b1 << 4 & 0x30) + (b2 >>> 4 & 0xf)]; - bt[ti++] = src[(b2 << 2 & 0x3c) + (i >>> 6 & 0x3)]; - } - else - { - byte b1 = bs[si], b2 = bs[si + 1], b3 = bs[si + 2]; - bt[ti++] = src[b1 >>> 2 & 0x3f]; - bt[ti++] = src[(b1 << 4 & 0x30) + (b2 >>> 4 & 0xf)]; - bt[ti++] = src[(b2 << 2 & 0x3c) + (b3 >>> 6 & 0x3)]; - bt[ti++] = src[b3 & 0x3f]; - } - } - if (ti < bt.length) - { - byte[] tmp = new byte[ti]; - System.arraycopy(bt, 0, tmp, 0, ti); - bt = tmp; - } - /*while (ti < bt.length) - { - bt[ti++] = 0x3d; - }*/ - return bt; - } - - /** - * Decode the specified byte array using the BASE64 algorithm. - * - * @param bs the source byte array - */ - public static byte[] decode(byte[] bs) - { - int srclen = bs.length; - while (srclen > 0 && bs[srclen - 1] == 0x3d) - { - srclen--; /* strip padding character */ - } - byte[] buffer = new byte[srclen]; - int buflen = 0; - int si = 0; - int len = srclen - si; - while (len > 0) - { - byte b0 = dst[bs[si++] & 0xff]; - byte b2 = dst[bs[si++] & 0xff]; - buffer[buflen++] = (byte) (b0 << 2 & 0xfc | b2 >>> 4 & 0x3); - if (len > 2) - { - b0 = b2; - b2 = dst[bs[si++] & 0xff]; - buffer[buflen++] = (byte) (b0 << 4 & 0xf0 | b2 >>> 2 & 0xf); - if (len > 3) - { - b0 = b2; - b2 = dst[bs[si++] & 0xff]; - buffer[buflen++] = (byte) (b0 << 6 & 0xc0 | b2 & 0x3f); - } - } - len = srclen - si; - } - byte[] bt = new byte[buflen]; - System.arraycopy(buffer, 0, bt, 0, buflen); - return bt; - } - - public static void main(String[] args) - { - boolean decode = false; - for (int i = 0; i < args.length; i++) - { - if (args[i].equals("-d")) - { - decode = true; - } - else - { - try - { - byte[] in = args[i].getBytes("US-ASCII"); - byte[] out = decode ? decode(in) : encode(in); - System.out.println(args[i] + " = " + - new String(out, "US-ASCII")); - } - catch (java.io.UnsupportedEncodingException e) - { - e.printStackTrace(System.err); - } - } - } - } -} diff --git a/libjava/classpath/gnu/java/net/DefaultContentHandlerFactory.java b/libjava/classpath/gnu/java/net/DefaultContentHandlerFactory.java index bb0a7ce..e3d1b8e 100644 --- a/libjava/classpath/gnu/java/net/DefaultContentHandlerFactory.java +++ b/libjava/classpath/gnu/java/net/DefaultContentHandlerFactory.java @@ -81,8 +81,8 @@ public class DefaultContentHandlerFactory implements ContentHandlerFactory "image/x-xpixmap" }; - private static HashSet imageTypes - = new HashSet(Arrays.asList(known_image_types)); + private static HashSet imageTypes + = new HashSet(Arrays.asList(known_image_types)); public ContentHandler createContentHandler(String mimeType) { diff --git a/libjava/classpath/gnu/java/net/GetLocalHostAction.java b/libjava/classpath/gnu/java/net/GetLocalHostAction.java index 7483b02..fa76015 100644 --- a/libjava/classpath/gnu/java/net/GetLocalHostAction.java +++ b/libjava/classpath/gnu/java/net/GetLocalHostAction.java @@ -48,9 +48,9 @@ import java.security.PrivilegedAction; * @author Chris Burdess (dog@gnu.org) */ public class GetLocalHostAction - implements PrivilegedAction + implements PrivilegedAction { - public Object run() + public InetAddress run() { try { diff --git a/libjava/classpath/gnu/java/net/HeaderFieldHelper.java b/libjava/classpath/gnu/java/net/HeaderFieldHelper.java index 0fb8d95..a8d13ce 100644 --- a/libjava/classpath/gnu/java/net/HeaderFieldHelper.java +++ b/libjava/classpath/gnu/java/net/HeaderFieldHelper.java @@ -49,8 +49,8 @@ import java.util.Vector; */ public class HeaderFieldHelper { - private Vector headerFieldKeys; - private Vector headerFieldValues; + private Vector headerFieldKeys; + private Vector headerFieldValues; public HeaderFieldHelper() { @@ -59,8 +59,8 @@ public class HeaderFieldHelper public HeaderFieldHelper (int size) { - headerFieldKeys = new Vector (size); - headerFieldValues = new Vector (size); + headerFieldKeys = new Vector (size); + headerFieldValues = new Vector (size); } public void addHeaderField (String key, String value) @@ -75,7 +75,7 @@ public class HeaderFieldHelper try { - key = (String) headerFieldKeys.elementAt (index); + key = headerFieldKeys.elementAt (index); } catch (ArrayIndexOutOfBoundsException e) { @@ -90,7 +90,7 @@ public class HeaderFieldHelper try { - value = (String) headerFieldValues.elementAt (index); + value = headerFieldValues.elementAt (index); } catch (ArrayIndexOutOfBoundsException e) { @@ -105,8 +105,7 @@ public class HeaderFieldHelper try { - value = (String) headerFieldValues.elementAt - (headerFieldKeys.indexOf(key)); + value = headerFieldValues.elementAt(headerFieldKeys.indexOf(key)); } catch (ArrayIndexOutOfBoundsException e) { @@ -115,9 +114,9 @@ public class HeaderFieldHelper return value; } - public Map getHeaderFields() + public Map getHeaderFields() { - HashMap headers = new HashMap(); + HashMap headers = new HashMap(); int max = headerFieldKeys.size(); for (int index = 0; index < max; index++) diff --git a/libjava/classpath/gnu/java/net/IndexListParser.java b/libjava/classpath/gnu/java/net/IndexListParser.java index 1165929..2d90ceb 100644 --- a/libjava/classpath/gnu/java/net/IndexListParser.java +++ b/libjava/classpath/gnu/java/net/IndexListParser.java @@ -43,6 +43,7 @@ import java.io.InputStreamReader; import java.net.URL; import java.util.HashSet; import java.util.LinkedHashMap; +import java.util.Set; import java.util.jar.JarFile; /** @@ -70,7 +71,8 @@ public class IndexListParser double versionNumber; // Map each jar to the prefixes defined for the jar. // This is intentionally kept in insertion order. - LinkedHashMap prefixes = new LinkedHashMap(); + LinkedHashMap> prefixes + = new LinkedHashMap>(); /** * Parses the given jarfile's INDEX.LIST file if it exists. @@ -107,7 +109,7 @@ public class IndexListParser while ((line = br.readLine()) != null) { URL jarURL = new URL(baseURL, line); - HashSet values = new HashSet(); + HashSet values = new HashSet(); // Read the names in the section. while ((line = br.readLine()) != null) @@ -174,7 +176,7 @@ public class IndexListParser * * @return an map of all the headers, or null if no INDEX.LIST was found */ - public LinkedHashMap getHeaders() + public LinkedHashMap> getHeaders() { return prefixes; } diff --git a/libjava/classpath/gnu/java/net/loader/JarURLLoader.java b/libjava/classpath/gnu/java/net/loader/JarURLLoader.java index 9385760..40194be 100644 --- a/libjava/classpath/gnu/java/net/loader/JarURLLoader.java +++ b/libjava/classpath/gnu/java/net/loader/JarURLLoader.java @@ -32,7 +32,7 @@ public final class JarURLLoader extends URLLoader // Base jar: url for all resources loaded from jar. final URL baseJarURL; // The "Class-Path" attribute of this Jar's manifest. - ArrayList classPath; + ArrayList classPath; // If not null, a mapping from INDEX.LIST for this jar only. // This is a set of all prefixes and top-level files that // ought to be available in this jar. @@ -90,20 +90,20 @@ public final class JarURLLoader extends URLLoader IndexListParser parser = new IndexListParser(jarfile, baseJarURL, baseURL); - LinkedHashMap indexMap = parser.getHeaders(); + LinkedHashMap> indexMap = parser.getHeaders(); if (indexMap != null) { // Note that the index also computes // the resulting Class-Path -- there are jars out there // where the index lists some required jars which do // not appear in the Class-Path attribute in the manifest. - this.classPath = new ArrayList(); - Iterator it = indexMap.entrySet().iterator(); + this.classPath = new ArrayList(); + Iterator>> it = indexMap.entrySet().iterator(); while (it.hasNext()) { - Map.Entry entry = (Map.Entry) it.next(); - URL subURL = (URL) entry.getKey(); - Set prefixes = (Set) entry.getValue(); + Map.Entry> entry = it.next(); + URL subURL = entry.getKey(); + Set prefixes = entry.getValue(); if (subURL.equals(baseURL)) this.indexSet = prefixes; else @@ -127,7 +127,7 @@ public final class JarURLLoader extends URLLoader = attributes.getValue(Attributes.Name.CLASS_PATH)) != null)) { - this.classPath = new ArrayList(); + this.classPath = new ArrayList(); StringTokenizer st = new StringTokenizer(classPathString, " "); while (st.hasMoreElements ()) { @@ -144,7 +144,7 @@ public final class JarURLLoader extends URLLoader cache, factory, subURL, subURL); this.classPath.add(subLoader); - ArrayList extra = subLoader.getClassPath(); + ArrayList extra = subLoader.getClassPath(); if (extra != null) this.classPath.addAll(extra); } @@ -208,7 +208,7 @@ public final class JarURLLoader extends URLLoader } } - public ArrayList getClassPath() + public ArrayList getClassPath() { return classPath; } diff --git a/libjava/classpath/gnu/java/net/loader/URLLoader.java b/libjava/classpath/gnu/java/net/loader/URLLoader.java index d073c54..5228bca 100644 --- a/libjava/classpath/gnu/java/net/loader/URLLoader.java +++ b/libjava/classpath/gnu/java/net/loader/URLLoader.java @@ -140,7 +140,7 @@ public abstract class URLLoader * Return a list of new URLLoader objects representing any * class path entries added by this container. */ - public ArrayList getClassPath() + public ArrayList getClassPath() { return null; } diff --git a/libjava/classpath/gnu/java/net/loader/URLStreamHandlerCache.java b/libjava/classpath/gnu/java/net/loader/URLStreamHandlerCache.java index 295a15d..b7b8bf1 100644 --- a/libjava/classpath/gnu/java/net/loader/URLStreamHandlerCache.java +++ b/libjava/classpath/gnu/java/net/loader/URLStreamHandlerCache.java @@ -51,7 +51,8 @@ public class URLStreamHandlerCache * private protocol handler cache (also a HashMap), so we can avoid * creating handlers each time the same protocol comes. */ - private HashMap factoryCache = new HashMap(5); + private HashMap> factoryCache + = new HashMap>(5); public URLStreamHandlerCache() { @@ -62,7 +63,7 @@ public class URLStreamHandlerCache // Since we only support three protocols so far, 5 is enough // for cache initial size. if (factory != null && factoryCache.get(factory) == null) - factoryCache.put(factory, new HashMap(5)); + factoryCache.put(factory, new HashMap(5)); } public synchronized URLStreamHandler get(URLStreamHandlerFactory factory, @@ -71,8 +72,8 @@ public class URLStreamHandlerCache if (factory == null) return null; // Check if there're handler for the same protocol in cache. - HashMap cache = (HashMap) factoryCache.get(factory); - URLStreamHandler handler = (URLStreamHandler) cache.get(protocol); + HashMap cache = factoryCache.get(factory); + URLStreamHandler handler = cache.get(protocol); if (handler == null) { // Add it to cache. diff --git a/libjava/classpath/gnu/java/net/local/LocalServerSocket.java b/libjava/classpath/gnu/java/net/local/LocalServerSocket.java index 15163f2..9d8a6cc 100644 --- a/libjava/classpath/gnu/java/net/local/LocalServerSocket.java +++ b/libjava/classpath/gnu/java/net/local/LocalServerSocket.java @@ -44,7 +44,6 @@ import java.net.InetAddress; import java.net.ServerSocket; import java.net.Socket; import java.net.SocketAddress; -import java.net.SocketException; public final class LocalServerSocket extends ServerSocket { diff --git a/libjava/classpath/gnu/java/net/local/LocalSocket.java b/libjava/classpath/gnu/java/net/local/LocalSocket.java index b262c79..92acc65 100644 --- a/libjava/classpath/gnu/java/net/local/LocalSocket.java +++ b/libjava/classpath/gnu/java/net/local/LocalSocket.java @@ -46,7 +46,6 @@ import java.net.InetAddress; import java.net.Socket; import java.net.SocketAddress; import java.net.SocketException; -import java.net.SocketImpl; import java.nio.channels.IllegalBlockingModeException; import java.nio.channels.SocketChannel; diff --git a/libjava/classpath/gnu/java/net/protocol/ftp/FTPConnection.java b/libjava/classpath/gnu/java/net/protocol/ftp/FTPConnection.java index f5317d4..fd79019 100644 --- a/libjava/classpath/gnu/java/net/protocol/ftp/FTPConnection.java +++ b/libjava/classpath/gnu/java/net/protocol/ftp/FTPConnection.java @@ -1139,7 +1139,7 @@ public class FTPConnection * @param pathname the directory pathname, or null * @return a list of filenames(strings) */ - public List nameList(String pathname) + public List nameList(String pathname) throws IOException { if (dtp == null || transferMode == MODE_STREAM) @@ -1164,7 +1164,7 @@ public class FTPConnection in = new BufferedInputStream(in); in = new CRLFInputStream(in); // TODO ensure that TYPE is correct LineInputStream li = new LineInputStream(in); - List ret = new ArrayList(); + ArrayList ret = new ArrayList(); for (String line = li.readLine(); line != null; line = li.readLine()) diff --git a/libjava/classpath/gnu/java/net/protocol/ftp/FTPURLConnection.java b/libjava/classpath/gnu/java/net/protocol/ftp/FTPURLConnection.java index f937e51..cfad5a7 100644 --- a/libjava/classpath/gnu/java/net/protocol/ftp/FTPURLConnection.java +++ b/libjava/classpath/gnu/java/net/protocol/ftp/FTPURLConnection.java @@ -50,7 +50,9 @@ import java.net.InetAddress; import java.net.URL; import java.net.URLConnection; import java.security.AccessController; +import java.util.ArrayList; import java.util.HashMap; +import java.util.List; import java.util.Map; /** @@ -112,7 +114,7 @@ public class FTPURLConnection { username = "anonymous"; GetLocalHostAction a = new GetLocalHostAction(); - InetAddress localhost =(InetAddress) AccessController.doPrivileged(a); + InetAddress localhost = AccessController.doPrivileged(a); password = SystemProperties.getProperty("user.name") + "@" + ((localhost == null) ? "localhost" : localhost.getHostName()); } @@ -232,9 +234,9 @@ public class FTPURLConnection return null; } - public Map getRequestProperties() + public Map> getRequestProperties() { - Map map = new HashMap(); + Map> map = new HashMap>(); addRequestPropertyValue(map, "passive"); addRequestPropertyValue(map, "representationType"); addRequestPropertyValue(map, "fileStructure"); @@ -242,10 +244,13 @@ public class FTPURLConnection return map; } - private void addRequestPropertyValue(Map map, String key) + private void addRequestPropertyValue(Map> map, + String key) { String value = getRequestProperty(key); - map.put(key, value); + ArrayList l = new ArrayList(); + l.add(value); + map.put(key, l); } public void setRequestProperty(String key, String value) diff --git a/libjava/classpath/gnu/java/net/protocol/http/ChunkedInputStream.java b/libjava/classpath/gnu/java/net/protocol/http/ChunkedInputStream.java index 9870412..8abef71 100644 --- a/libjava/classpath/gnu/java/net/protocol/http/ChunkedInputStream.java +++ b/libjava/classpath/gnu/java/net/protocol/http/ChunkedInputStream.java @@ -58,10 +58,6 @@ import java.net.ProtocolException; public class ChunkedInputStream extends InputStream { - - private static final byte CR = 0x0d; - private static final byte LF = 0x0a; - Headers headers; /** The underlying stream. */ diff --git a/libjava/classpath/gnu/java/net/protocol/http/HTTPConnection.java b/libjava/classpath/gnu/java/net/protocol/http/HTTPConnection.java index 3956d2a..9d19bfb 100644 --- a/libjava/classpath/gnu/java/net/protocol/http/HTTPConnection.java +++ b/libjava/classpath/gnu/java/net/protocol/http/HTTPConnection.java @@ -129,7 +129,7 @@ public class HTTPConnection */ protected int minorVersion; - private final List handshakeCompletedListeners; + private final List handshakeCompletedListeners; /** * The socket this connection communicates on. @@ -154,7 +154,7 @@ public class HTTPConnection /** * Nonce values seen by this connection. */ - private Map nonceCounts; + private Map nonceCounts; /** * The cookie manager for this connection. @@ -244,7 +244,8 @@ public class HTTPConnection this.connectionTimeout = connectionTimeout; this.timeout = timeout; majorVersion = minorVersion = 1; - handshakeCompletedListeners = new ArrayList(2); + handshakeCompletedListeners + = new ArrayList(2); } /** @@ -357,7 +358,8 @@ public class HTTPConnection /** * The pool */ - final LinkedList connectionPool = new LinkedList(); + final LinkedList connectionPool + = new LinkedList(); /** * Maximum size of the pool. @@ -857,7 +859,7 @@ public class HTTPConnection { return 0; } - return((Integer) nonceCounts.get(nonce)).intValue(); + return nonceCounts.get(nonce).intValue(); } /** @@ -868,7 +870,7 @@ public class HTTPConnection int current = getNonceCount(nonce); if (nonceCounts == null) { - nonceCounts = new HashMap(); + nonceCounts = new HashMap(); } nonceCounts.put(nonce, new Integer(current + 1)); } diff --git a/libjava/classpath/gnu/java/net/protocol/http/HTTPURLConnection.java b/libjava/classpath/gnu/java/net/protocol/http/HTTPURLConnection.java index 6c926b7..b31f426 100644 --- a/libjava/classpath/gnu/java/net/protocol/http/HTTPURLConnection.java +++ b/libjava/classpath/gnu/java/net/protocol/http/HTTPURLConnection.java @@ -50,11 +50,11 @@ import java.net.URL; import java.security.cert.Certificate; import java.util.Collections; import java.util.Date; +import java.util.List; import java.util.Map; import javax.net.ssl.HandshakeCompletedEvent; import javax.net.ssl.HandshakeCompletedListener; -import javax.net.ssl.HostnameVerifier; import javax.net.ssl.HttpsURLConnection; import javax.net.ssl.SSLPeerUnverifiedException; import javax.net.ssl.SSLSocketFactory; @@ -170,7 +170,8 @@ public class HTTPURLConnection if (secure) { SSLSocketFactory factory = getSSLSocketFactory(); - HostnameVerifier verifier = getHostnameVerifier(); + // FIXME: use the verifier + // HostnameVerifier verifier = getHostnameVerifier(); if (factory != null) { connection.setSSLSocketFactory(factory); @@ -428,12 +429,12 @@ public class HTTPURLConnection return requestHeaders.getValue(key); } - public Map getRequestProperties() + public Map> getRequestProperties() { if (connected) throw new IllegalStateException("Already connected"); - Map m = requestHeaders.getAsMap(); + Map> m = requestHeaders.getAsMap(); return Collections.unmodifiableMap(m); } @@ -509,7 +510,7 @@ public class HTTPURLConnection return errorSink; } - public Map getHeaderFields() + public Map> getHeaderFields() { if (!connected) { @@ -522,7 +523,7 @@ public class HTTPURLConnection return null; } } - Map m = response.getHeaders().getAsMap(); + Map> m = response.getHeaders().getAsMap(); m.put(null, Collections.singletonList(getStatusLine(response))); return Collections.unmodifiableMap(m); } diff --git a/libjava/classpath/gnu/java/net/protocol/http/Headers.java b/libjava/classpath/gnu/java/net/protocol/http/Headers.java index a793bbd..c8736bb 100644 --- a/libjava/classpath/gnu/java/net/protocol/http/Headers.java +++ b/libjava/classpath/gnu/java/net/protocol/http/Headers.java @@ -42,6 +42,7 @@ import gnu.java.net.LineInputStream; import java.io.IOException; import java.io.InputStream; +import java.lang.Iterable; import java.text.DateFormat; import java.text.ParseException; import java.util.ArrayList; @@ -49,6 +50,7 @@ import java.util.Collections; import java.util.Date; import java.util.Iterator; import java.util.LinkedHashMap; +import java.util.List; import java.util.Map; /** @@ -60,12 +62,13 @@ import java.util.Map; * @author Chris Burdess (dog@gnu.org) * @author David Daney (ddaney@avtrex.com) */ -class Headers +class Headers implements Iterable { /** * A list of HeaderElements */ - private final ArrayList headers = new ArrayList(); + private final ArrayList headers + = new ArrayList(); /** * The HTTP dateformat used to parse date header fields. @@ -102,7 +105,7 @@ class Headers * * @return the Iterator. */ - Iterator iterator() + public Iterator iterator() { return headers.iterator(); } @@ -118,7 +121,7 @@ class Headers { for (int i = headers.size() - 1; i >= 0; i--) { - HeaderElement e = (HeaderElement)headers.get(i); + HeaderElement e = headers.get(i); if (e.name.equalsIgnoreCase(header)) { return e.value; @@ -219,7 +222,7 @@ class Headers { for (int i = headers.size() - 1; i >= 0; i--) { - HeaderElement e = (HeaderElement)headers.get(i); + HeaderElement e = headers.get(i); if (e.name.equalsIgnoreCase(name)) { e.value = value; @@ -240,9 +243,9 @@ class Headers */ public void putAll(Headers o) { - for (Iterator it = o.iterator(); it.hasNext(); ) + for (Iterator it = o.iterator(); it.hasNext(); ) { - HeaderElement e = (HeaderElement)it.next(); + HeaderElement e = it.next(); remove(e.name); addValue(e.name, e.value); } @@ -256,9 +259,9 @@ class Headers */ public void remove(String name) { - for (Iterator it = headers.iterator(); it.hasNext(); ) + for (Iterator it = headers.iterator(); it.hasNext(); ) { - HeaderElement e = (HeaderElement)it.next(); + HeaderElement e = it.next(); if (e.name.equalsIgnoreCase(name)) it.remove(); } @@ -358,26 +361,26 @@ class Headers * * @return a Map containing all the headers. */ - public Map getAsMap() + public Map> getAsMap() { - LinkedHashMap m = new LinkedHashMap(); - for (Iterator it = headers.iterator(); it.hasNext(); ) + LinkedHashMap> m = new LinkedHashMap>(); + for (Iterator it = headers.iterator(); it.hasNext(); ) { - HeaderElement e = (HeaderElement)it.next(); - ArrayList l = (ArrayList)m.get(e.name); + HeaderElement e = it.next(); + ArrayList l = (ArrayList)m.get(e.name); if (l == null) { - l = new ArrayList(1); + l = new ArrayList(1); l.add(e.value); m.put(e.name, l); } else l.add(0, e.value); } - for (Iterator it = m.entrySet().iterator(); it.hasNext(); ) + for (Iterator>> it = m.entrySet().iterator(); it.hasNext(); ) { - Map.Entry me = (Map.Entry)it.next(); - ArrayList l = (ArrayList)me.getValue(); + Map.Entry> me = it.next(); + List l = me.getValue(); me.setValue(Collections.unmodifiableList(l)); } return m; @@ -397,7 +400,7 @@ class Headers if (i >= headers.size() || i < 0) return null; - return ((HeaderElement)headers.get(i)).name; + return headers.get(i).name; } /** @@ -414,8 +417,6 @@ class Headers if (i >= headers.size() || i < 0) return null; - return ((HeaderElement)headers.get(i)).value; + return headers.get(i).value; } - } - diff --git a/libjava/classpath/gnu/java/net/protocol/http/Request.java b/libjava/classpath/gnu/java/net/protocol/http/Request.java index cd9d7ea..06a779f 100644 --- a/libjava/classpath/gnu/java/net/protocol/http/Request.java +++ b/libjava/classpath/gnu/java/net/protocol/http/Request.java @@ -1,5 +1,5 @@ /* Request.java -- - Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc. + Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -38,8 +38,8 @@ exception statement from your version. */ package gnu.java.net.protocol.http; -import gnu.java.net.BASE64; import gnu.java.net.LineInputStream; +import gnu.java.util.Base64; import java.io.IOException; import java.io.InputStream; @@ -96,7 +96,7 @@ public class Request /** * Map of response header handlers. */ - protected Map responseHeaderHandlers; + protected Map responseHeaderHandlers; /** * The authenticator. @@ -121,7 +121,7 @@ public class Request this.method = method; this.path = path; requestHeaders = new Headers(); - responseHeaderHandlers = new HashMap(); + responseHeaderHandlers = new HashMap(); } /** @@ -302,9 +302,8 @@ public class Request String line = method + ' ' + requestUri + ' ' + version + CRLF; out.write(line.getBytes(US_ASCII)); // Request headers - for (Iterator i = requestHeaders.iterator(); i.hasNext(); ) + for (Headers.HeaderElement elt : requestHeaders) { - Headers.HeaderElement elt = (Headers.HeaderElement)i.next(); line = elt.name + HEADER_SEP + elt.value + CRLF; out.write(line.getBytes(US_ASCII)); } @@ -439,9 +438,8 @@ public class Request void notifyHeaderHandlers(Headers headers) { - for (Iterator i = headers.iterator(); i.hasNext(); ) + for (Headers.HeaderElement entry : headers) { - Headers.HeaderElement entry = (Headers.HeaderElement) i.next(); // Handle Set-Cookie if ("Set-Cookie".equalsIgnoreCase(entry.name)) handleSetCookie(entry.value); @@ -461,7 +459,6 @@ public class Request throws IOException { long contentLength = -1; - Headers trailer = null; // Persistent connections are the default in HTTP/1.1 boolean doClose = "close".equalsIgnoreCase(getHeader("Connection")) || @@ -532,7 +529,7 @@ public class Request Credentials creds = authenticator.getCredentials(realm, attempts); String userPass = creds.getUsername() + ':' + creds.getPassword(); byte[] b_userPass = userPass.getBytes("US-ASCII"); - byte[] b_encoded = BASE64.encode(b_userPass); + byte[] b_encoded = Base64.encode(b_userPass).getBytes("US-ASCII"); String authorization = scheme + " " + new String(b_encoded, "US-ASCII"); setHeader("Authorization", authorization); diff --git a/libjava/classpath/gnu/java/net/protocol/http/SimpleCookieManager.java b/libjava/classpath/gnu/java/net/protocol/http/SimpleCookieManager.java index 8947471..fe05ba0 100644 --- a/libjava/classpath/gnu/java/net/protocol/http/SimpleCookieManager.java +++ b/libjava/classpath/gnu/java/net/protocol/http/SimpleCookieManager.java @@ -1,5 +1,5 @@ /* CookieManager.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -42,7 +42,6 @@ import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.Iterator; -import java.util.List; import java.util.Map; /** @@ -59,23 +58,23 @@ public class SimpleCookieManager * The cookie cache. * This is a dictionary mapping domains to maps of cookies by name. */ - protected Map cookies; + protected Map> cookies; /** * Constructor. */ public SimpleCookieManager() { - cookies = new HashMap(); + cookies = new HashMap>(); } public void setCookie(Cookie cookie) { String domain = cookie.getDomain(); - Map map =(Map) cookies.get(domain); + Map map = cookies.get(domain); if (map == null) { - map = new HashMap(); + map = new HashMap(); cookies.put(domain, map); } String name = cookie.getName(); @@ -84,7 +83,7 @@ public class SimpleCookieManager public Cookie[] getCookies(String host, boolean secure, String path) { - List matches = new ArrayList(); + ArrayList matches = new ArrayList(); Date now = new Date(); if (Character.isLetter(host.charAt(0))) { @@ -102,17 +101,16 @@ public class SimpleCookieManager return ret; } - private void addCookies(List matches, String domain, boolean secure, - String path, Date now) + private void addCookies(ArrayList matches, String domain, + boolean secure, String path, Date now) { - Map map = (Map) cookies.get(domain); + Map map = cookies.get(domain); if (map != null) { - List expired = new ArrayList(); - for (Iterator i = map.entrySet().iterator(); i.hasNext(); ) + ArrayList expired = new ArrayList(); + for (Map.Entry entry : map.entrySet()) { - Map.Entry entry = (Map.Entry) i.next(); - Cookie cookie = (Cookie) entry.getValue(); + Cookie cookie = entry.getValue(); Date expires = cookie.getExpiryDate(); if (expires != null && expires.before(now)) { @@ -129,7 +127,7 @@ public class SimpleCookieManager } } // Good housekeeping - for (Iterator i = expired.iterator(); i.hasNext(); ) + for (Iterator i = expired.iterator(); i.hasNext(); ) { map.remove(i.next()); } diff --git a/libjava/classpath/gnu/java/net/protocol/jar/Connection.java b/libjava/classpath/gnu/java/net/protocol/jar/Connection.java index f99806a..386aace 100644 --- a/libjava/classpath/gnu/java/net/protocol/jar/Connection.java +++ b/libjava/classpath/gnu/java/net/protocol/jar/Connection.java @@ -76,7 +76,8 @@ public final class Connection extends JarURLConnection public static class JarFileCache { - private static Hashtable cache = new Hashtable(); + private static Hashtable cache + = new Hashtable(); private static final int READBUFSIZE = 4*1024; public static synchronized JarFile get (URL url, boolean useCaches) @@ -85,7 +86,7 @@ public final class Connection extends JarURLConnection JarFile jf; if (useCaches) { - jf = (JarFile) cache.get (url); + jf = cache.get (url); if (jf != null) return jf; } diff --git a/libjava/classpath/gnu/java/net/protocol/jar/Handler.java b/libjava/classpath/gnu/java/net/protocol/jar/Handler.java index 7c09766..c57d0a3 100644 --- a/libjava/classpath/gnu/java/net/protocol/jar/Handler.java +++ b/libjava/classpath/gnu/java/net/protocol/jar/Handler.java @@ -164,7 +164,7 @@ public class Handler extends URLStreamHandler if (jar_path.indexOf("/.") < 0) return url_string; - ArrayList tokens = new ArrayList(); + ArrayList tokens = new ArrayList(); StringTokenizer st = new StringTokenizer(jar_path, "/"); while (st.hasMoreTokens()) { @@ -183,7 +183,7 @@ public class Handler extends URLStreamHandler StringBuffer path = new StringBuffer(url_string.length()); path.append(url_string.substring(0, jar_stop + 1)); - Iterator it = tokens.iterator(); + Iterator it = tokens.iterator(); while (it.hasNext()) path.append('/').append(it.next()); diff --git a/libjava/classpath/gnu/java/nio/ChannelInputStream.java b/libjava/classpath/gnu/java/nio/ChannelInputStream.java index 675a62f3..f56536d 100644 --- a/libjava/classpath/gnu/java/nio/ChannelInputStream.java +++ b/libjava/classpath/gnu/java/nio/ChannelInputStream.java @@ -59,6 +59,16 @@ public final class ChannelInputStream extends InputStream this.ch = ch; } + public int read(byte[] buf, int off, int len) throws IOException + { + if (ch instanceof SelectableChannel + && (! ((SelectableChannel) ch).isBlocking())) + throw new IllegalBlockingModeException(); + + ByteBuffer b = ByteBuffer.wrap(buf, off, len); + return ch.read(b); + } + public int read() throws IOException { if (ch instanceof SelectableChannel @@ -74,6 +84,6 @@ public final class ChannelInputStream extends InputStream if (result == 0) throw new IOException("Could not read from channel"); - return buffer.get(0); + return buffer.get(0) & 0xff; } } diff --git a/libjava/classpath/gnu/java/nio/SelectorProviderImpl.java b/libjava/classpath/gnu/java/nio/SelectorProviderImpl.java index 56167b6..0c509b9 100644 --- a/libjava/classpath/gnu/java/nio/SelectorProviderImpl.java +++ b/libjava/classpath/gnu/java/nio/SelectorProviderImpl.java @@ -117,4 +117,5 @@ public class SelectorProviderImpl extends SelectorProvider { return new SocketChannelImpl (this); } + } diff --git a/libjava/classpath/gnu/java/nio/charset/ByteCharset.java b/libjava/classpath/gnu/java/nio/charset/ByteCharset.java index da0fdcb..e202548 100644 --- a/libjava/classpath/gnu/java/nio/charset/ByteCharset.java +++ b/libjava/classpath/gnu/java/nio/charset/ByteCharset.java @@ -115,8 +115,11 @@ abstract class ByteCharset extends Charset return CoderResult.OVERFLOW; } - if((c = lookup[(int) (b & 0xFF)]) == NONE); - // return CoderResult.unmappableForLength (1); + if((c = lookup[(int) (b & 0xFF)]) == NONE) + { + in.position (in.position () - 1); + return CoderResult.unmappableForLength (1); + } out.put (c); } diff --git a/libjava/classpath/gnu/java/nio/charset/EncodingHelper.java b/libjava/classpath/gnu/java/nio/charset/EncodingHelper.java index 033440d..be7b4afe 100644 --- a/libjava/classpath/gnu/java/nio/charset/EncodingHelper.java +++ b/libjava/classpath/gnu/java/nio/charset/EncodingHelper.java @@ -148,6 +148,17 @@ public class EncodingHelper throw new UnsupportedEncodingException("Charset "+name+" not found."); } } + + /** + * Returns the default charset without throwing any exceptions. The default + * charset is UTF8. + * + * @return the default charset + */ + public static Charset getDefaultCharset() + { + return new UTF_8(); + } } diff --git a/libjava/classpath/gnu/java/security/util/Base64.java b/libjava/classpath/gnu/java/security/util/Base64.java deleted file mode 100644 index 9b2ae12..0000000 --- a/libjava/classpath/gnu/java/security/util/Base64.java +++ /dev/null @@ -1,349 +0,0 @@ -/* Base64.java -- - Copyright (C) 2003, 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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 gnu.java.security.util; - -import gnu.java.security.Configuration; - -import java.io.UnsupportedEncodingException; -import java.util.logging.Logger; - -/** - * Most of this implementation is from Robert Harder's public domain Base64 - * code (version 1.4.1 available from <http://iharder.net/xmlizable>). - */ -public class Base64 -{ - private static final Logger log = Logger.getLogger(Base64.class.getName()); - - /** Maximum line length (76) of Base64 output. */ - private static final int MAX_LINE_LENGTH = 76; - - /** The new line character (\n) as one byte. */ - private static final byte NEW_LINE = (byte) '\n'; - - /** The equals sign (=) as a byte. */ - private static final byte EQUALS_SIGN = (byte) '='; - - private static final byte WHITE_SPACE_ENC = -5; // white space in encoding - - private static final byte EQUALS_SIGN_ENC = -1; // equals sign in encoding - - /** The 64 valid Base64 values. */ - private static final byte[] ALPHABET = { - (byte) 'A', (byte) 'B', (byte) 'C', (byte) 'D', (byte) 'E', (byte) 'F', - (byte) 'G', (byte) 'H', (byte) 'I', (byte) 'J', (byte) 'K', (byte) 'L', - (byte) 'M', (byte) 'N', (byte) 'O', (byte) 'P', (byte) 'Q', (byte) 'R', - (byte) 'S', (byte) 'T', (byte) 'U', (byte) 'V', (byte) 'W', (byte) 'X', - (byte) 'Y', (byte) 'Z', (byte) 'a', (byte) 'b', (byte) 'c', (byte) 'd', - (byte) 'e', (byte) 'f', (byte) 'g', (byte) 'h', (byte) 'i', (byte) 'j', - (byte) 'k', (byte) 'l', (byte) 'm', (byte) 'n', (byte) 'o', (byte) 'p', - (byte) 'q', (byte) 'r', (byte) 's', (byte) 't', (byte) 'u', (byte) 'v', - (byte) 'w', (byte) 'x', (byte) 'y', (byte) 'z', (byte) '0', (byte) '1', - (byte) '2', (byte) '3', (byte) '4', (byte) '5', (byte) '6', (byte) '7', - (byte) '8', (byte) '9', (byte) '+', (byte) '/' - }; - - /** - * Translates a Base64 value to either its 6-bit reconstruction value or a - * negative number indicating some other meaning. - */ - private static final byte[] DECODABET = { - -9, -9, -9, -9, -9, -9, -9, -9, -9, // Decimal 0 - 8 - -5, -5, // Whitespace: Tab and Linefeed - -9, -9, // Decimal 11 - 12 - -5, // Whitespace: Carriage Return - -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, // Decimal 14 - 26 - -9, -9, -9, -9, -9, // Decimal 27 - 31 - -5, // Whitespace: Space - -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, // Decimal 33 - 42 - 62, // Plus sign at decimal 43 - -9, -9, -9, // Decimal 44 - 46 - 63, // Slash at decimal 47 - 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, // Numbers zero through nine - -9, -9, -9, // Decimal 58 - 60 - -1, // Equals sign at decimal 61 - -9, -9, -9, // Decimal 62 - 64 - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, // Letters 'A' through 'N' - 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, // Letters 'O' through 'Z' - -9, -9, -9, -9, -9, -9, // Decimal 91 - 96 - 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, // Letters 'a' through 'm' - 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, // Letters 'n' through 'z' - -9, -9, -9, -9 // Decimal 123 - 126 - }; - - /** Trivial private ctor to enfore Singleton pattern. */ - private Base64() - { - super(); - } - - /** - * Encodes a byte array into Base64 notation. Equivalent to calling - * encode(source, 0, source.length). - * - * @param src the data to convert. - */ - public static final String encode(final byte[] src) - { - return encode(src, 0, src.length, true); - } - - /** - * Encodes a byte array into Base64 notation. - * - * @param src the data to convert. - * @param off offset in array where conversion should begin. - * @param len length of data to convert. - * @param breakLines break lines at 80 characters or less. - */ - public static final String encode(final byte[] src, final int off, - final int len, final boolean breakLines) - { - final int len43 = len * 4 / 3; - final byte[] outBuff = new byte[len43 // Main 4:3 - + ((len % 3) > 0 ? 4 : 0) // Account for padding - + (breakLines ? (len43 / MAX_LINE_LENGTH) - : 0)]; // New lines - int d = 0; - int e = 0; - final int len2 = len - 2; - int lineLength = 0; - for (; d < len2; d += 3, e += 4) - { - encode3to4(src, d + off, 3, outBuff, e); - lineLength += 4; - if (breakLines && lineLength == MAX_LINE_LENGTH) - { - outBuff[e + 4] = NEW_LINE; - e++; - lineLength = 0; - } - } - if (d < len) // padding needed - { - encode3to4(src, d + off, len - d, outBuff, e); - e += 4; - } - return new String(outBuff, 0, e); - } - - /** - * Decodes data from Base64 notation. - * - * @param s the string to decode. - * @return the decoded data. - */ - public static final byte[] decode(final String s) - throws UnsupportedEncodingException - { - final byte[] bytes; - bytes = s.getBytes("US-ASCII"); - return decode(bytes, 0, bytes.length); - } - - /** - * Decodes Base64 content in byte array format and returns the decoded byte - * array. - * - * @param src the Base64 encoded data. - * @param off the offset of where to begin decoding. - * @param len the length of characters to decode. - * @return the decoded data. - * @throws IllegalArgumentException if src contains an illegal - * Base-64 character. - */ - public static byte[] decode(final byte[] src, final int off, final int len) - { - final int len34 = len * 3 / 4; - final byte[] outBuff = new byte[len34]; // Upper limit on size of output - int outBuffPosn = 0; - final byte[] b4 = new byte[4]; - int b4Posn = 0; - int i; - byte sbiCrop, sbiDecode; - for (i = off; i < off + len; i++) - { - sbiCrop = (byte) (src[i] & 0x7F); // Only the low seven bits - sbiDecode = DECODABET[sbiCrop]; - if (sbiDecode >= WHITE_SPACE_ENC) - { // White space, Equals sign or better - if (sbiDecode >= EQUALS_SIGN_ENC) - { - b4[b4Posn++] = sbiCrop; - if (b4Posn > 3) - { - outBuffPosn += decode4to3(b4, 0, outBuff, outBuffPosn); - b4Posn = 0; - // If that was the equals sign, break out of 'for' loop - if (sbiCrop == EQUALS_SIGN) - break; - } // end if: quartet built - } // end if: equals sign or better - } - throw new IllegalArgumentException("Illegal BASE-64 character at #" - + i + ": " + src[i] + "(decimal)"); - } - final byte[] result = new byte[outBuffPosn]; - System.arraycopy(outBuff, 0, result, 0, outBuffPosn); - return result; - } - - /** - * Encodes up to three bytes of the array src and writes the - * resulting four Base64 bytes to dest. The source and - * destination arrays can be manipulated anywhere along their length by - * specifying sOffset and dOffset. - *

- * This method does not check to make sure the arrays are large enough to - * accomodate sOffset + 3 for the src array or - * dOffset + 4 for the dest array. The actual - * number of significant bytes in the input array is given by - * numBytes. - * - * @param src the array to convert. - * @param sOffset the index where conversion begins. - * @param numBytes the number of significant bytes in your array. - * @param dest the array to hold the conversion. - * @param dOffset the index where output will be put. - * @return the destination array. - */ - private static final byte[] encode3to4(final byte[] src, final int sOffset, - final int numBytes, final byte[] dest, - final int dOffset) - { - // 1 2 3 - // 01234567890123456789012345678901 Bit position - // --------000000001111111122222222 Array position from threeBytes - // --------| || || || | Six bit groups to index ALPHABET - // >>18 >>12 >> 6 >> 0 Right shift necessary - // 0x3F 0x3F 0x3F Additional AND - - // Create buffer with zero-padding if there are only one or two - // significant bytes passed in the array. - // We have to shift left 24 in order to flush out the 1's that appear - // when Java treats a value as negative that is cast from a byte to an int. - final int inBuff = (numBytes > 0 ? ((src[sOffset] << 24) >>> 8) : 0) - | (numBytes > 1 ? ((src[sOffset + 1] << 24) >>> 16) : 0) - | (numBytes > 2 ? ((src[sOffset + 2] << 24) >>> 24) : 0); - switch (numBytes) - { - case 3: - dest[dOffset ] = ALPHABET[(inBuff >>> 18)]; - dest[dOffset + 1] = ALPHABET[(inBuff >>> 12) & 0x3F]; - dest[dOffset + 2] = ALPHABET[(inBuff >>> 6) & 0x3F]; - dest[dOffset + 3] = ALPHABET[(inBuff) & 0x3F]; - break; - case 2: - dest[dOffset ] = ALPHABET[(inBuff >>> 18)]; - dest[dOffset + 1] = ALPHABET[(inBuff >>> 12) & 0x3F]; - dest[dOffset + 2] = ALPHABET[(inBuff >>> 6) & 0x3F]; - dest[dOffset + 3] = EQUALS_SIGN; - break; - case 1: - dest[dOffset ] = ALPHABET[(inBuff >>> 18)]; - dest[dOffset + 1] = ALPHABET[(inBuff >>> 12) & 0x3F]; - dest[dOffset + 2] = EQUALS_SIGN; - dest[dOffset + 3] = EQUALS_SIGN; - break; - } - return dest; - } - - /** - * Decodes four bytes from array src and writes the resulting - * bytes (up to three of them) to dest. - *

- * The source and destination arrays can be manipulated anywhere along their - * length by specifying sOffset and dOffset. - *

- * This method does not check to make sure your arrays are large enough to - * accomodate sOffset + 4 for the src array or - * dOffset + 3 for the dest array. This method - * returns the actual number of bytes that were converted from the Base64 - * encoding. - * - * @param src the array to convert. - * @param sOffset the index where conversion begins. - * @param dest the array to hold the conversion. - * @param dOffset the index where output will be put. - * @return the number of decoded bytes converted. - */ - private static final int decode4to3(final byte[] src, final int sOffset, - final byte[] dest, final int dOffset) - { - if (src[sOffset + 2] == EQUALS_SIGN) // Example: Dk== - { - final int outBuff = ((DECODABET[src[sOffset ]] & 0xFF) << 18) - | ((DECODABET[src[sOffset + 1]] & 0xFF) << 12); - dest[dOffset] = (byte)(outBuff >>> 16); - return 1; - } - if (src[sOffset + 3] == EQUALS_SIGN) // Example: DkL= - { - final int outBuff = ((DECODABET[src[sOffset ]] & 0xFF) << 18) - | ((DECODABET[src[sOffset + 1]] & 0xFF) << 12) - | ((DECODABET[src[sOffset + 2]] & 0xFF) << 6); - dest[dOffset ] = (byte)(outBuff >>> 16); - dest[dOffset + 1] = (byte)(outBuff >>> 8); - return 2; - } - try // Example: DkLE - { - final int outBuff = ((DECODABET[src[sOffset ]] & 0xFF) << 18) - | ((DECODABET[src[sOffset + 1]] & 0xFF) << 12) - | ((DECODABET[src[sOffset + 2]] & 0xFF) << 6) - | ((DECODABET[src[sOffset + 3]] & 0xFF)); - dest[dOffset ] = (byte)(outBuff >> 16); - dest[dOffset + 1] = (byte)(outBuff >> 8); - dest[dOffset + 2] = (byte) outBuff; - return 3; - } - catch (Exception x) - { - if (Configuration.DEBUG) - { - log.fine("" + src[sOffset ] + ": " + (DECODABET[src[sOffset ]])); - log.fine("" + src[sOffset + 1] + ": " + (DECODABET[src[sOffset + 1]])); - log.fine("" + src[sOffset + 2] + ": " + (DECODABET[src[sOffset + 2]])); - log.fine("" + src[sOffset + 3] + ": " + (DECODABET[src[sOffset + 3]])); - } - return -1; - } - } -} diff --git a/libjava/classpath/gnu/java/security/x509/X509Certificate.java b/libjava/classpath/gnu/java/security/x509/X509Certificate.java index b3f8a69..14c5652 100644 --- a/libjava/classpath/gnu/java/security/x509/X509Certificate.java +++ b/libjava/classpath/gnu/java/security/x509/X509Certificate.java @@ -1,5 +1,5 @@ /* X509Certificate.java -- X.509 certificate. - Copyright (C) 2003, 2004 Free Software Foundation, Inc. + Copyright (C) 2003, 2004, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -48,6 +48,7 @@ import gnu.java.security.der.DERValue; import gnu.java.security.x509.ext.BasicConstraints; import gnu.java.security.x509.ext.ExtendedKeyUsage; import gnu.java.security.x509.ext.Extension; +import gnu.java.security.x509.ext.GeneralName; import gnu.java.security.x509.ext.IssuerAlternativeNames; import gnu.java.security.x509.ext.KeyUsage; import gnu.java.security.x509.ext.SubjectAlternativeNames; @@ -103,6 +104,7 @@ public class X509Certificate extends java.security.cert.X509Certificate // Constants and fields. // ------------------------------------------------------------------------ + private static final long serialVersionUID = -2491127588187038216L; private static final Logger logger = SystemLogger.SYSTEM; protected static final OID ID_DSA = new OID ("1.2.840.10040.4.1"); @@ -133,7 +135,7 @@ public class X509Certificate extends java.security.cert.X509Certificate protected transient PublicKey subjectKey; protected transient BitString issuerUniqueId; protected transient BitString subjectUniqueId; - protected transient Map extensions; + protected transient Map extensions; // Signature. protected transient OID sigAlgId; @@ -157,7 +159,7 @@ public class X509Certificate extends java.security.cert.X509Certificate throws CertificateException, IOException { super(); - extensions = new HashMap(); + extensions = new HashMap(); try { parse(encoded); @@ -178,7 +180,7 @@ public class X509Certificate extends java.security.cert.X509Certificate protected X509Certificate() { - extensions = new HashMap(); + extensions = new HashMap(); } // X509Certificate methods. @@ -316,17 +318,15 @@ public class X509Certificate extends java.security.cert.X509Certificate return null; } - public List getExtendedKeyUsage() throws CertificateParsingException + public List getExtendedKeyUsage() throws CertificateParsingException { Extension e = getExtension(ExtendedKeyUsage.ID); if (e != null) { - List a = ((ExtendedKeyUsage) e.getValue()).getPurposeIds(); - List b = new ArrayList(a.size()); - for (Iterator it = a.iterator(); it.hasNext(); ) - { - b.add(it.next().toString()); - } + List a = ((ExtendedKeyUsage) e.getValue()).getPurposeIds(); + List b = new ArrayList(a.size()); + for (OID oid : a) + b.add(oid.toString()); return Collections.unmodifiableList(b); } return null; @@ -342,24 +342,44 @@ public class X509Certificate extends java.security.cert.X509Certificate return -1; } - public Collection getSubjectAlternativeNames() + public Collection> getSubjectAlternativeNames() throws CertificateParsingException { Extension e = getExtension(SubjectAlternativeNames.ID); if (e != null) { - return ((SubjectAlternativeNames) e.getValue()).getNames(); + List names + = ((SubjectAlternativeNames) e.getValue()).getNames(); + List> list = new ArrayList>(names.size()); + for (GeneralName name : names) + { + List n = new ArrayList(2); + n.add(name.kind().tag()); + n.add(name.name()); + list.add(n); + } + return list; } return null; } - public Collection getIssuerAlternativeNames() + public Collection> getIssuerAlternativeNames() throws CertificateParsingException { Extension e = getExtension(IssuerAlternativeNames.ID); if (e != null) { - return ((IssuerAlternativeNames) e.getValue()).getNames(); + List names + = ((IssuerAlternativeNames) e.getValue()).getNames(); + List> list = new ArrayList>(names.size()); + for (GeneralName name : names) + { + List n = new ArrayList(2); + n.add(name.kind().tag()); + n.add(name.name()); + list.add(n); + } + return list; } return null; } @@ -378,24 +398,22 @@ public class X509Certificate extends java.security.cert.X509Certificate return false; } - public Set getCriticalExtensionOIDs() + public Set getCriticalExtensionOIDs() { - HashSet s = new HashSet(); - for (Iterator it = extensions.values().iterator(); it.hasNext(); ) + HashSet s = new HashSet(); + for (Extension e : extensions.values()) { - Extension e = (Extension) it.next(); if (e.isCritical()) s.add(e.getOid().toString()); } return Collections.unmodifiableSet(s); } - public Set getNonCriticalExtensionOIDs() + public Set getNonCriticalExtensionOIDs() { - HashSet s = new HashSet(); - for (Iterator it = extensions.values().iterator(); it.hasNext(); ) + HashSet s = new HashSet(); + for (Extension e : extensions.values()) { - Extension e = (Extension) it.next(); if (!e.isCritical()) s.add(e.getOid().toString()); } diff --git a/libjava/classpath/gnu/java/security/x509/ext/CertificatePolicies.java b/libjava/classpath/gnu/java/security/x509/ext/CertificatePolicies.java index 50bc6d3..c451762 100644 --- a/libjava/classpath/gnu/java/security/x509/ext/CertificatePolicies.java +++ b/libjava/classpath/gnu/java/security/x509/ext/CertificatePolicies.java @@ -1,5 +1,5 @@ /* CertificatePolicies.java -- certificate policy extension. - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -61,8 +61,8 @@ public class CertificatePolicies extends Extension.Value public static final OID ID = new OID("2.5.29.32"); - private final List policies; - private final Map policyQualifierInfos; + private final List policies; + private final Map> policyQualifierInfos; // Constructor. // ------------------------------------------------------------------------- @@ -76,8 +76,9 @@ public class CertificatePolicies extends Extension.Value throw new IOException("malformed CertificatePolicies"); int len = 0; - LinkedList policyList = new LinkedList(); - HashMap qualifierMap = new HashMap(); + LinkedList policyList = new LinkedList(); + HashMap> qualifierMap + = new HashMap>(); while (len < pol.getLength()) { DERValue policyInfo = der.read(); @@ -92,7 +93,7 @@ public class CertificatePolicies extends Extension.Value { DERValue qual = der.read(); int len2 = 0; - LinkedList quals = new LinkedList(); + LinkedList quals = new LinkedList(); while (len2 < qual.getLength()) { val = der.read(); @@ -109,8 +110,8 @@ public class CertificatePolicies extends Extension.Value policyQualifierInfos = Collections.unmodifiableMap(qualifierMap); } - public CertificatePolicies (final List policies, - final Map policyQualifierInfos) + public CertificatePolicies (final List policies, + final Map> policyQualifierInfos) { for (Iterator it = policies.iterator(); it.hasNext(); ) if (!(it.next() instanceof OID)) @@ -129,54 +130,69 @@ public class CertificatePolicies extends Extension.Value throw new IllegalArgumentException ("policyQualifierInfos values must be Lists of PolicyQualifierInfos"); } - this.policies = Collections.unmodifiableList (new ArrayList (policies)); + this.policies = Collections.unmodifiableList (new ArrayList(policies)); this.policyQualifierInfos = Collections.unmodifiableMap - (new HashMap (policyQualifierInfos)); + (new HashMap>(policyQualifierInfos)); } // Instance methods. // ------------------------------------------------------------------------- - public List getPolicies() + public List getPolicies() { return policies; } + + /** + * Returns the list of policy OIDs, formatted as dotted-decimal strings. + * + * @return + */ + public List getPolicyStrings() + { + List l = new ArrayList(policies.size()); + for (OID oid : policies) + { + l.add(oid.toString()); + } + return l; + } - public List getPolicyQualifierInfos(OID oid) + public List getPolicyQualifierInfos(OID oid) { - return (List) policyQualifierInfos.get(oid); + return policyQualifierInfos.get(oid); } public byte[] getEncoded() { if (encoded == null) { - List pol = new ArrayList (policies.size()); - for (Iterator it = policies.iterator(); it.hasNext(); ) + List pol = new ArrayList(policies.size()); + for (Iterator it = policies.iterator(); it.hasNext(); ) { - OID policy = (OID) it.next(); - List qualifiers = getPolicyQualifierInfos (policy); - List l = new ArrayList (qualifiers == null ? 1 : 2); - l.add (new DERValue (DER.OBJECT_IDENTIFIER, policy)); + OID policy = it.next(); + List qualifiers = getPolicyQualifierInfos(policy); + List l = new ArrayList(qualifiers == null ? 1 : 2); + l.add(new DERValue(DER.OBJECT_IDENTIFIER, policy)); if (qualifiers != null) { - List ll = new ArrayList (qualifiers.size()); - for (Iterator it2 = qualifiers.iterator(); it.hasNext(); ) + List ll = new ArrayList(qualifiers.size()); + for (Iterator it2 = qualifiers.iterator(); it.hasNext(); ) { - PolicyQualifierInfo info = (PolicyQualifierInfo) it2.next(); + PolicyQualifierInfo info = it2.next(); try { - ll.add (DERReader.read (info.getEncoded())); + ll.add(DERReader.read(info.getEncoded())); } catch (IOException ioe) { } } - l.add (new DERValue (DER.CONSTRUCTED|DER.SEQUENCE, ll)); + l.add(new DERValue(DER.CONSTRUCTED|DER.SEQUENCE, ll)); } - pol.add (new DERValue (DER.CONSTRUCTED|DER.SEQUENCE, l)); + pol.add(new DERValue(DER.CONSTRUCTED|DER.SEQUENCE, l)); } - encoded = new DERValue (DER.CONSTRUCTED|DER.SEQUENCE, pol).getEncoded(); + encoded = new DERValue(DER.CONSTRUCTED|DER.SEQUENCE, pol).getEncoded(); } return (byte[]) encoded.clone(); } diff --git a/libjava/classpath/gnu/java/security/x509/ext/ExtendedKeyUsage.java b/libjava/classpath/gnu/java/security/x509/ext/ExtendedKeyUsage.java index 37b08ac..428013d 100644 --- a/libjava/classpath/gnu/java/security/x509/ext/ExtendedKeyUsage.java +++ b/libjava/classpath/gnu/java/security/x509/ext/ExtendedKeyUsage.java @@ -1,5 +1,5 @@ /* ExtendedKeyUsage.java -- the extended key usage extension. - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -56,7 +56,7 @@ public class ExtendedKeyUsage extends Extension.Value public static final OID ID = new OID("2.5.29.37"); - private final List purposeIds; + private final List purposeIds; // Constructor. // ------------------------------------------------------------------------- @@ -69,13 +69,13 @@ public class ExtendedKeyUsage extends Extension.Value if (!usageList.isConstructed()) throw new IOException("malformed ExtKeyUsageSyntax"); int len = 0; - purposeIds = new LinkedList(); + purposeIds = new LinkedList(); while (len < usageList.getLength()) { DERValue val = der.read(); if (val.getTag() != DER.OBJECT_IDENTIFIER) throw new IOException("malformed KeyPurposeId"); - purposeIds.add(val.getValue()); + purposeIds.add((OID) val.getValue()); len += val.getEncodedLength(); } } @@ -83,7 +83,7 @@ public class ExtendedKeyUsage extends Extension.Value // Instance method. // ------------------------------------------------------------------------- - public List getPurposeIds() + public List getPurposeIds() { return Collections.unmodifiableList(purposeIds); } diff --git a/libjava/classpath/gnu/java/security/x509/ext/Extension.java b/libjava/classpath/gnu/java/security/x509/ext/Extension.java index 6925198..2b7e96d 100644 --- a/libjava/classpath/gnu/java/security/x509/ext/Extension.java +++ b/libjava/classpath/gnu/java/security/x509/ext/Extension.java @@ -1,5 +1,5 @@ /* Extension.java -- an X.509 certificate or CRL extension. - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -171,6 +171,10 @@ public class Extension { value = new ReasonCode(encval); } + else if (oid.equals(NameConstraints.ID)) + { + value = new NameConstraints(encval); + } else { value = new Value(encval); @@ -226,11 +230,11 @@ public class Extension public DERValue getDerValue() { - List ext = new ArrayList (3); - ext.add (new DERValue (DER.OBJECT_IDENTIFIER, oid)); - ext.add (new DERValue (DER.BOOLEAN, Boolean.valueOf (critical))); - ext.add (new DERValue (DER.OCTET_STRING, value.getEncoded())); - return new DERValue (DER.CONSTRUCTED|DER.SEQUENCE, ext); + List ext = new ArrayList(3); + ext.add(new DERValue(DER.OBJECT_IDENTIFIER, oid)); + ext.add(new DERValue(DER.BOOLEAN, Boolean.valueOf(critical))); + ext.add(new DERValue(DER.OCTET_STRING, value.getEncoded())); + return new DERValue(DER.CONSTRUCTED|DER.SEQUENCE, ext); } // Own methods. diff --git a/libjava/classpath/gnu/java/security/x509/ext/GeneralName.java b/libjava/classpath/gnu/java/security/x509/ext/GeneralName.java new file mode 100644 index 0000000..fbc0533 --- /dev/null +++ b/libjava/classpath/gnu/java/security/x509/ext/GeneralName.java @@ -0,0 +1,232 @@ +/* GeneralName.java -- a GeneralName. + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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 gnu.java.security.x509.ext; + +import gnu.java.security.der.DER; +import gnu.java.security.der.DERReader; +import gnu.java.security.der.DERValue; +import gnu.java.security.x509.Util; + +import java.io.IOException; +import java.util.Arrays; + +/** + * The GeneralName structure from X.509. + * + *
+  GeneralName ::= CHOICE {
+    otherName                       [0]     OtherName,
+    rfc822Name                      [1]     IA5String,
+    dNSName                         [2]     IA5String,
+    x400Address                     [3]     ORAddress,
+    directoryName                   [4]     Name,
+    ediPartyName                    [5]     EDIPartyName,
+    uniformResourceIdentifier       [6]     IA5String,
+    iPAddress                       [7]     OCTET STRING,
+    registeredID                    [8]     OBJECT IDENTIFIER }
+
+  OtherName ::= SEQUENCE {
+    type-id    OBJECT IDENTIFIER,
+    value      [0] EXPLICIT ANY DEFINED BY type-id }
+
+  EDIPartyName ::= SEQUENCE {
+    nameAssigner            [0]     DirectoryString OPTIONAL,
+    partyName               [1]     DirectoryString }
+
+ * + * @author Casey Marshall (csm@gnu.org) + */ +public class GeneralName +{ + public static enum Kind + { + otherName (0), + rfc822Name (1), + dNSName (2), + x400Address (3), + directoryName (4), + ediPartyName (5), + uniformResourceIdentifier (6), + iPAddress (7), + registeredId (8); + + private int tag; + + private Kind(int tag) + { + this.tag = tag; + } + + public static Kind forTag(final int tag) + { + switch (tag) + { + case 0: return otherName; + case 1: return rfc822Name; + case 2: return dNSName; + case 3: return x400Address; + case 4: return directoryName; + case 5: return ediPartyName; + case 6: return uniformResourceIdentifier; + case 7: return iPAddress; + case 8: return registeredId; + } + + throw new IllegalArgumentException("invalid tag: " + tag); + } + + public int tag() + { + return tag; + } + }; + + private final Kind kind; + private final byte[] name; + private final byte[] encoded; + + public GeneralName(byte[] encoded) throws IOException + { + DERReader reader = new DERReader(encoded); + DERValue value = reader.read(); + + if (value.getTagClass() != DER.CONTEXT) + throw new IOException("malformed GeneralName"); + + this.encoded = value.getEncoded(); + + kind = Kind.forTag(value.getTag()); + switch (kind) + { + case otherName: + name = value.getEncoded(); + name[0] = (byte) (DER.CONSTRUCTED | DER.SEQUENCE); + // Skip the two fields of the name. + reader.read(); // OID + reader.read(); // Octet string + break; + + case rfc822Name: + name = (byte[]) value.getValue(); + break; + + case dNSName: + name = (byte[]) value.getValue(); + break; + + case x400Address: + name = (byte[]) value.getValue(); + break; + + case directoryName: + name = value.getEncoded(); + name[0] = (byte) (DER.CONSTRUCTED | DER.SEQUENCE); + break; + + case ediPartyName: + name = value.getEncoded(); + name[0] = (byte) (DER.CONSTRUCTED | DER.SEQUENCE); + break; + + case uniformResourceIdentifier: + name = (byte[]) value.getValue(); + break; + + case iPAddress: + name = (byte[]) value.getValue(); + break; + + case registeredId: + name = value.getEncoded(); + name[0] = DER.OBJECT_IDENTIFIER; + break; + + default: + name = null; // Not reached. + } + } + + public GeneralName(Kind kind, byte[] name) + { + this.kind = kind; + this.name = (byte[]) name.clone(); + this.encoded = null; + } + + public Kind kind() + { + return kind; + } + + public byte[] name() + { + return (byte[]) name.clone(); + } + + public byte[] encoded() + { + try + { + return (byte[]) encoded.clone(); + } + catch (NullPointerException npe) + { + return null; + } + } + + public boolean equals(Object o) + { + try + { + GeneralName that = (GeneralName) o; + return (that.kind() == kind() && Arrays.equals(name, that.name)); + } + catch (ClassCastException cce) + { + return false; + } + } + + public String toString() + { + return (super.toString() + " [ kind=" + kind + "; name=" + + Util.hexDump(name, "") + " ]"); + } +} diff --git a/libjava/classpath/gnu/java/security/x509/ext/GeneralNames.java b/libjava/classpath/gnu/java/security/x509/ext/GeneralNames.java index b342cbd..f56ee96 100644 --- a/libjava/classpath/gnu/java/security/x509/ext/GeneralNames.java +++ b/libjava/classpath/gnu/java/security/x509/ext/GeneralNames.java @@ -38,106 +38,38 @@ exception statement from your version. */ package gnu.java.security.x509.ext; -import gnu.java.security.OID; -import gnu.java.security.der.DER; import gnu.java.security.der.DERReader; import gnu.java.security.der.DERValue; import java.io.IOException; -import java.net.InetAddress; -import java.util.ArrayList; import java.util.Collections; -import java.util.Iterator; import java.util.LinkedList; import java.util.List; -import javax.security.auth.x500.X500Principal; - public class GeneralNames { // Instance methods. // ------------------------------------------------------------------------- - public static final int OTHER_NAME = 0; - public static final int RFC822_NAME = 1; - public static final int DNS_NAME = 2; - public static final int X400_ADDRESS = 3; - public static final int DIRECTORY_NAME = 4; - public static final int EDI_PARTY_NAME = 5; - public static final int URI = 6; - public static final int IP_ADDRESS = 7; - public static final int REGISTERED_ID = 8; - - private List names; + private List names; // Constructor. // ------------------------------------------------------------------------- public GeneralNames(final byte[] encoded) throws IOException { - names = new LinkedList(); + names = new LinkedList(); DERReader der = new DERReader(encoded); DERValue nameList = der.read(); if (!nameList.isConstructed()) throw new IOException("malformed GeneralNames"); int len = 0; - int i = 0; while (len < nameList.getLength()) { DERValue name = der.read(); - List namePair = new ArrayList(2); - int tagClass = name.getTagClass(); - if (tagClass != DER.CONTEXT) - throw new IOException("malformed GeneralName: Tag class is " + tagClass); - namePair.add(Integer.valueOf(name.getTag())); - DERValue val = null; - switch (name.getTag()) - { - case RFC822_NAME: - case DNS_NAME: - case X400_ADDRESS: - case URI: - namePair.add(new String((byte[]) name.getValue())); - break; - - case OTHER_NAME: - // MUST return the encoded bytes of the OID/OctetString sequence - byte[] anotherName = name.getEncoded(); - anotherName[0] = (byte) (DER.CONSTRUCTED|DER.SEQUENCE); - namePair.add(anotherName); - // DERReader goes back on Constructed things so we need to skip over them - DERValue skip = der.read(); // skip OID - skip = der.read(); // skip Octet String - break; - - case EDI_PARTY_NAME: - namePair.add(name.getValue()); - break; - - case DIRECTORY_NAME: - byte[] b = name.getEncoded(); - b[0] = (byte) (DER.CONSTRUCTED|DER.SEQUENCE); - DERReader r = new DERReader (b); - r.read (); - namePair.add(new X500Principal(r.read ().getEncoded ()).toString()); - break; - - case IP_ADDRESS: - namePair.add(InetAddress.getByAddress((byte[]) name.getValue()) - .getHostAddress()); - break; - - case REGISTERED_ID: - byte[] bb = name.getEncoded(); - bb[0] = (byte) DER.OBJECT_IDENTIFIER; - namePair.add(new OID(bb).toString()); - break; - - default: - throw new IOException("unknown tag " + name.getTag()); - } - names.add(namePair); + GeneralName generalName = new GeneralName(name.getEncoded()); + names.add(generalName); len += name.getEncodedLength(); } } @@ -145,21 +77,9 @@ public class GeneralNames // Instance methods. // ------------------------------------------------------------------------- - public List getNames() + public List getNames() { - List l = new ArrayList(names.size()); - for (Iterator it = names.iterator(); it.hasNext(); ) - { - List ll = (List) it.next(); - List pair = new ArrayList(2); - pair.add(ll.get(0)); - if (ll.get(1) instanceof byte[]) - pair.add(((byte[]) ll.get(1)).clone()); - else - pair.add(ll.get(1)); - l.add(Collections.unmodifiableList(pair)); - } - return Collections.unmodifiableList(l); + return Collections.unmodifiableList(names); } public String toString() diff --git a/libjava/classpath/gnu/java/security/x509/ext/GeneralSubtree.java b/libjava/classpath/gnu/java/security/x509/ext/GeneralSubtree.java new file mode 100644 index 0000000..5f6ffd9 --- /dev/null +++ b/libjava/classpath/gnu/java/security/x509/ext/GeneralSubtree.java @@ -0,0 +1,156 @@ +/* GeneralSubtree.java -- + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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 gnu.java.security.x509.ext; + +import gnu.java.security.der.DERReader; +import gnu.java.security.der.DERValue; + +import java.io.IOException; +import java.math.BigInteger; + +/** + * The GeneralSubtree structure, a part of the {@link NameConstraints} + * extension. + * + *
+  GeneralSubtree ::= SEQUENCE {
+    base                    GeneralName,
+    minimum         [0]     BaseDistance DEFAULT 0,
+    maximum         [1]     BaseDistance OPTIONAL }
+
+  BaseDistance ::= INTEGER (0..MAX)
+ * + * @author Casey Marshall (csm@gnu.org) + */ +public class GeneralSubtree +{ + private final GeneralName base; + private final int minimum; + private final int maximum; + + public GeneralSubtree(byte[] encoded) throws IOException + { + DERReader reader = new DERReader(encoded); + DERValue generalSubtree = reader.read(); + + if (!generalSubtree.isConstructed()) + throw new IOException("malformed GeneralSubtree"); + + DERValue generalName = reader.read(); + base = new GeneralName(generalName.getEncoded()); + if (generalName.isConstructed()) + reader.skip(generalName.getLength()); + + int len = generalName.getEncodedLength(); + if (len < generalSubtree.getLength()) + { + DERValue distance = reader.read(); + if (distance.getTag() == 0) + { + minimum = ((BigInteger) distance.getValue()).intValue(); + len += distance.getEncodedLength(); + if (len < generalSubtree.getLength()) + { + distance = reader.read(); + if (distance.getTag() != 1) + throw new IOException("unexpected tag " + + distance.getTag() + + " (expected 1 for GeneralSubtree maximum distance)"); + maximum = ((BigInteger) distance.getValue()).intValue(); + } + else + { + maximum = -1; + } + } + else if (distance.getTag() == 1) + { + minimum = 1; + maximum = ((BigInteger) distance.getValue()).intValue(); + } + else + { + throw new IOException("unexpected tag " + distance.getTag() + + " (expected 0 or 1 for GeneralSubtree distance)"); + } + } + else + { + minimum = 0; + maximum = -1; + } + } + + /** + * Returns the base name. + * + * @return The base name. + */ + public GeneralName base() + { + return base; + } + + /** + * Returns the minimum base distance, possibly zero. + * + * @return The minimum base distance. + */ + public int minimum() + { + return minimum; + } + + /** + * Returns the maximum base distance, or -1 if this value was not specified. + * + * @return The maximum base distance. + */ + public int maximum() + { + return maximum; + } + + public String toString() + { + return (GeneralSubtree.class.getName() + " [ base=" + base + + "; minimum=" + minimum + "; maximim=" + maximum + + " ]"); + } +} diff --git a/libjava/classpath/gnu/java/security/x509/ext/IssuerAlternativeNames.java b/libjava/classpath/gnu/java/security/x509/ext/IssuerAlternativeNames.java index 8b017dc..080070b 100644 --- a/libjava/classpath/gnu/java/security/x509/ext/IssuerAlternativeNames.java +++ b/libjava/classpath/gnu/java/security/x509/ext/IssuerAlternativeNames.java @@ -1,5 +1,5 @@ /* IssuerAlternatuveNames.java -- issuer alternative names extension. - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -65,7 +65,7 @@ public class IssuerAlternativeNames extends Extension.Value // Instance method. // ------------------------------------------------------------------------- - public List getNames() + public List getNames() { return names.getNames(); } diff --git a/libjava/classpath/gnu/java/security/x509/ext/NameConstraints.java b/libjava/classpath/gnu/java/security/x509/ext/NameConstraints.java new file mode 100644 index 0000000..607c429 --- /dev/null +++ b/libjava/classpath/gnu/java/security/x509/ext/NameConstraints.java @@ -0,0 +1,161 @@ +/* NameConstraints.java -- the NameConstraints X.509 extension. + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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 gnu.java.security.x509.ext; + +import gnu.java.security.OID; +import gnu.java.security.der.DERReader; +import gnu.java.security.der.DERValue; +import gnu.java.security.x509.ext.Extension.Value; + +import java.io.IOException; +import java.util.Collections; +import java.util.LinkedList; +import java.util.List; + +/** + * The NameConstraints extension. From RFC 3280, section 4.2.1.11, this + * extension is defined as: + * + *
+  id-ce-nameConstraints OBJECT IDENTIFIER ::=  { id-ce 30 }
+
+  NameConstraints ::= SEQUENCE {
+    permittedSubtrees       [0]     GeneralSubtrees OPTIONAL,
+    excludedSubtrees        [1]     GeneralSubtrees OPTIONAL }
+
+  GeneralSubtrees ::= SEQUENCE SIZE (1..MAX) OF GeneralSubtree
+
+  GeneralSubtree ::= SEQUENCE {
+    base                    GeneralName,
+    minimum         [0]     BaseDistance DEFAULT 0,
+    maximum         [1]     BaseDistance OPTIONAL }
+
+  BaseDistance ::= INTEGER (0..MAX)
+  
+ * + * See also the classes {@link GeneralNames} and {@link GeneralSubtree}. + * + * @author csm + */ +public class NameConstraints extends Value +{ + public static final OID ID = new OID("2.5.29.30"); + + private List permittedSubtrees; + private List excludedSubtrees; + + public NameConstraints(byte[] encoded) throws IOException + { + super(encoded); + + DERReader der = new DERReader(encoded); + DERValue value = der.read(); + if (!value.isConstructed()) + { + throw new IOException("malformed NameConstraints"); + } + + permittedSubtrees = new LinkedList(); + excludedSubtrees = new LinkedList(); + int len = 0; + if (len < value.getLength()) + { + DERValue subtrees = der.read(); + if (subtrees.getTag() == 0) + { + int len2 = 0; + while (len2 < subtrees.getLength()) + { + DERValue subtree = der.read(); + permittedSubtrees.add(new GeneralSubtree(subtree.getEncoded())); + der.skip(subtree.getLength()); + len2 += subtree.getEncodedLength(); + } + len += subtrees.getEncodedLength(); + + if (len < value.getLength()) + { + subtrees = der.read(); + if (subtrees.getTag() != 1) + throw new IOException("unexpected tag " + subtrees.getTag() + + " (expecting 1 for excludedSubtrees)"); + len2 = 0; + while (len2 < subtrees.getLength()) + { + DERValue subtree = der.read(); + excludedSubtrees.add(new GeneralSubtree(subtree.getEncoded())); + der.skip(subtree.getLength()); + len2 += subtree.getEncodedLength(); + } + } + } + else if (subtrees.getTag() == 1) + { + int len2 = 0; + while (len2 < subtrees.getLength()) + { + DERValue subtree = der.read(); + excludedSubtrees.add(new GeneralSubtree(subtree.getEncoded())); + der.skip(subtree.getLength()); + len2 += subtree.getEncodedLength(); + } + } + else + throw new IOException("unexpected tag " + subtrees.getTag() + + " (expecting 0 or 1)"); + } + } + + public List permittedSubtrees() + { + return Collections.unmodifiableList(permittedSubtrees); + } + + public List excludedSubtrees() + { + return Collections.unmodifiableList(excludedSubtrees); + } + + public String toString() + { + return NameConstraints.class.getName() + " [ permittedSubtrees=" + + permittedSubtrees + "; excludedSubtrees=" + excludedSubtrees + + " ]"; + } +} diff --git a/libjava/classpath/gnu/java/security/x509/ext/SubjectAlternativeNames.java b/libjava/classpath/gnu/java/security/x509/ext/SubjectAlternativeNames.java index f88e854..8b6347d 100644 --- a/libjava/classpath/gnu/java/security/x509/ext/SubjectAlternativeNames.java +++ b/libjava/classpath/gnu/java/security/x509/ext/SubjectAlternativeNames.java @@ -1,5 +1,5 @@ /* SubjectAlternatuveNames.java -- subject alternative names extension. - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -65,7 +65,7 @@ public class SubjectAlternativeNames extends Extension.Value // Instance method. // ------------------------------------------------------------------------- - public List getNames() + public List getNames() { return names.getNames(); } diff --git a/libjava/classpath/gnu/java/util/Base64.java b/libjava/classpath/gnu/java/util/Base64.java new file mode 100644 index 0000000..592696b --- /dev/null +++ b/libjava/classpath/gnu/java/util/Base64.java @@ -0,0 +1,340 @@ +/* Base64.java -- Base64 encoding and decoding. + Copyright (C) 2006, 2007 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. + +-- +Base64 encoding derived from ISC's DHCP. Copyright notices from DHCP +follow. See http://www.isc.org/products/DHCP/. + +Copyright (c) 1996 by Internet Software Consortium. + +Permission to use, copy, modify, and distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM +DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL +INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING +FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, +NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION +WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +-- +Portions Copyright (c) 1995 by International Business Machines, Inc. + +International Business Machines, Inc. (hereinafter called IBM) grants +permission under its copyrights to use, copy, modify, and distribute +this Software with or without fee, provided that the above copyright +notice and all paragraphs of this notice appear in all copies, and +that the name of IBM not be used in connection with the marketing of +any product incorporating the Software or modifications thereof, +without specific, written prior permission. + +To the extent it has a right to do so, IBM grants an immunity from +suit under its patents, if any, for the use, sale or manufacture of +products to the extent that such products are used for performing +Domain Name System dynamic updates in TCP/IP networks by means of the +Software. No immunity is granted for any product per se or for any +other function of any product. + +THE SOFTWARE IS PROVIDED "AS IS", AND IBM DISCLAIMS ALL WARRANTIES, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE. IN NO EVENT SHALL IBM BE LIABLE FOR ANY SPECIAL, +DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE, EVEN IF IBM IS APPRISED OF THE POSSIBILITY OF SUCH +DAMAGES. */ + + +package gnu.java.util; + +import java.io.ByteArrayOutputStream; +import java.io.IOException; + +public final class Base64 +{ + + // No constructor. + private Base64() { } + + // Class methods. + // ------------------------------------------------------------------------- + + /** Base-64 characters. */ + private static final String BASE_64 = + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; + + /** Base-64 padding character. */ + private static final char BASE_64_PAD = '='; + + /** + * Base64 encode a byte array, with no line wrapping. + * + * @param buf The byte array to encode. + * @return buf encoded in Base64. + */ + public static String encode(byte[] buf) + { + return encode(buf, 0); + } + + /** + * Base64 encode a byte array, returning the returning string. + * + * @param buf The byte array to encode. + * @param tw The total length of any line, 0 for unlimited. + * @return buf encoded in Base64. + */ + public static String encode(byte[] buf, int tw) + { + return encode(buf, 0, buf.length, tw); + } + + /** + * Base64 encode a byte array, returning the returning string. + * + * @param buf The byte array to encode. + * @param offset The offset in the byte array to start. + * @param length The number of bytes to encode. + * @param tw The total length of any line, 0 for unlimited. + * @return buf encoded in Base64. + */ + public static String encode(byte[] buf, int offset, int length, int tw) + { + if (offset < 0 || length < 0 || offset + length > buf.length) + throw new ArrayIndexOutOfBoundsException(buf.length + " " + + offset + " " + + length); + int srcLength = buf.length - offset; + byte[] input = new byte[3]; + int[] output = new int[4]; + StringBuffer out = new StringBuffer(); + int i = offset; + int chars = 0; + + while (srcLength > 2) + { + input[0] = buf[i++]; + input[1] = buf[i++]; + input[2] = buf[i++]; + srcLength -= 3; + + output[0] = (input[0] & 0xff) >>> 2; + output[1] = ((input[0] & 0x03) << 4) + ((input[1] & 0xff) >>> 4); + output[2] = ((input[1] & 0x0f) << 2) + ((input[2] & 0xff) >>> 6); + output[3] = input[2] & 0x3f; + + out.append(BASE_64.charAt(output[0])); + if (tw > 0 && ++chars % tw == 0) + { + out.append("\n"); + } + out.append(BASE_64.charAt(output[1])); + if (tw > 0 && ++chars % tw == 0) + { + out.append("\n"); + } + out.append(BASE_64.charAt(output[2])); + if (tw > 0 && ++chars % tw == 0) + { + out.append("\n"); + } + out.append(BASE_64.charAt(output[3])); + if (tw > 0 && ++chars % tw == 0) + { + out.append("\n"); + } + } + + if (srcLength != 0) + { + input[0] = input[1] = input[2] = 0; + for (int j = 0; j < srcLength; j++) + { + input[j] = buf[i+j]; + } + output[0] = (input[0] & 0xff) >>> 2; + output[1] = ((input[0] & 0x03) << 4) + ((input[1] & 0xff) >>> 4); + output[2] = ((input[1] & 0x0f) << 2) + ((input[2] & 0xff) >>> 6); + + out.append(BASE_64.charAt(output[0])); + if (tw > 0 && ++chars % tw == 0) + { + out.append("\n"); + } + out.append(BASE_64.charAt(output[1])); + if (tw > 0 && ++chars % tw == 0) + { + out.append("\n"); + } + if (srcLength == 1) + { + out.append(BASE_64_PAD); + } + else + { + out.append(BASE_64.charAt(output[2])); + } + if (tw > 0 && ++chars % tw == 0) + { + out.append("\n"); + } + out.append(BASE_64_PAD); + if (tw > 0 && ++chars % tw == 0) + { + out.append("\n"); + } + } + if (tw > 0) + { + out.append("\n"); + } + + return out.toString(); + } + + /** + * Decode a Base-64 string into a byte array. + * + * @param b64 The Base-64 encoded string. + * @return The decoded bytes. + * @throws java.io.IOException If the argument is not a valid Base-64 + * encoding. + */ + public static byte[] decode(String b64) throws IOException + { + ByteArrayOutputStream result = new ByteArrayOutputStream(b64.length() / 3); + int state = 0, i; + byte temp = 0; + + for (i = 0; i < b64.length(); i++) + { + if (Character.isWhitespace(b64.charAt(i))) + { + continue; + } + if (b64.charAt(i) == BASE_64_PAD) + { + break; + } + + int pos = BASE_64.indexOf(b64.charAt(i)); + if (pos < 0) + { + throw new IOException("non-Base64 character " + b64.charAt(i)); + } + switch (state) + { + case 0: + temp = (byte) (pos - BASE_64.indexOf('A') << 2); + state = 1; + break; + + case 1: + temp |= (byte) (pos - BASE_64.indexOf('A') >>> 4); + result.write(temp); + temp = (byte) ((pos - BASE_64.indexOf('A') & 0x0f) << 4); + state = 2; + break; + + case 2: + temp |= (byte) ((pos - BASE_64.indexOf('A') & 0x7f) >>> 2); + result.write(temp); + temp = (byte) ((pos - BASE_64.indexOf('A') & 0x03) << 6); + state = 3; + break; + + case 3: + temp |= (byte) (pos - BASE_64.indexOf('A') & 0xff); + result.write(temp); + state = 0; + break; + + default: + throw new Error("this statement should be unreachable"); + } + } + + if (i < b64.length() && b64.charAt(i) == BASE_64_PAD) + { + switch (state) + { + case 0: + case 1: + throw new IOException("malformed Base64 sequence"); + + case 2: + i++; + for ( ; i < b64.length(); i++) + { + if (!Character.isWhitespace(b64.charAt(i))) + { + break; + } + } + // We must see a second pad character here. + if (b64.charAt(i) != BASE_64_PAD) + { + throw new IOException("malformed Base64 sequence"); + } + i++; + // Fall-through. + + case 3: + i++; + for ( ; i < b64.length(); i++) + { + // We should only see whitespace after this. + if (!Character.isWhitespace(b64.charAt(i))) + { + throw new IOException("malformed Base64 sequence"); + } + } + } + } + else + { + if (state != 0) + { + throw new IOException("malformed Base64 sequence"); + } + } + + return result.toByteArray(); + } +} diff --git a/libjava/classpath/gnu/java/util/prefs/EventDispatcher.java b/libjava/classpath/gnu/java/util/prefs/EventDispatcher.java index ecddd3a..f73c3e70 100644 --- a/libjava/classpath/gnu/java/util/prefs/EventDispatcher.java +++ b/libjava/classpath/gnu/java/util/prefs/EventDispatcher.java @@ -53,7 +53,7 @@ public class EventDispatcher extends Thread // This is a queue of events to dispatch. This thread waits on // the queue and when notified will remove events until the queue // is empty. - private static final ArrayList queue = new ArrayList(); + private static final ArrayList queue = new ArrayList(); // FIXME: this thread probably ought to go in some classpath-internal // ThreadGroup. But we don't have that yet. @@ -81,7 +81,7 @@ public class EventDispatcher extends Thread // Ignore. } } - r = (Runnable) queue.remove(0); + r = queue.remove(0); } // Invoke outside the synchronization, so that // we aren't blocking other threads from posting events. diff --git a/libjava/classpath/gnu/java/util/prefs/GConfBasedPreferences.java b/libjava/classpath/gnu/java/util/prefs/GConfBasedPreferences.java index a7e2322..0fd4df3 100644 --- a/libjava/classpath/gnu/java/util/prefs/GConfBasedPreferences.java +++ b/libjava/classpath/gnu/java/util/prefs/GConfBasedPreferences.java @@ -41,7 +41,6 @@ import gnu.java.util.prefs.gconf.GConfNativePeer; import java.security.Permission; -import java.util.Iterator; import java.util.List; import java.util.prefs.AbstractPreferences; import java.util.prefs.BackingStoreException; @@ -185,7 +184,7 @@ public class GConfBasedPreferences */ protected String[] childrenNamesSpi() throws BackingStoreException { - List nodeList = backend.getChildrenNodes(this.node); + List nodeList = backend.getChildrenNodes(this.node); String[] nodes = new String[nodeList.size()]; nodeList.toArray(nodes); @@ -228,7 +227,7 @@ public class GConfBasedPreferences */ protected String[] keysSpi() throws BackingStoreException { - List keyList = backend.getKeys(this.node); + List keyList = backend.getKeys(this.node); String[] keys = new String[keyList.size()]; keyList.toArray(keys); @@ -246,31 +245,24 @@ public class GConfBasedPreferences try { // gets the listing of directories in this node - List dirs = backend.getChildrenNodes(directory); + List dirs = backend.getChildrenNodes(directory); if (dirs.size() != 0) { - String currentDir = null; - - for (Iterator itr = dirs.iterator(); itr.hasNext();) + for (String currentDir : dirs) { - currentDir = (String) itr.next(); - // recursive search inside this directory postorderRemove(currentDir); } } // remove all the keys associated to this directory - List entries = backend.getKeys(directory); + List entries = backend.getKeys(directory); if (entries.size() != 0) { - String key = null; - - for (Iterator keys = entries.iterator(); keys.hasNext();) + for (String key : entries) { - key = (String) keys.next(); this.removeSpi(key); } } diff --git a/libjava/classpath/gnu/java/util/prefs/MemoryBasedPreferences.java b/libjava/classpath/gnu/java/util/prefs/MemoryBasedPreferences.java index cccb9bf..dc82379 100644 --- a/libjava/classpath/gnu/java/util/prefs/MemoryBasedPreferences.java +++ b/libjava/classpath/gnu/java/util/prefs/MemoryBasedPreferences.java @@ -52,7 +52,7 @@ public class MemoryBasedPreferences extends AbstractPreferences { private final boolean isUser; /** Contains all the preference entries of this node. */ - private HashMap entries = new HashMap(); + private HashMap entries = new HashMap(); /** * Creates a new preferences node with the given name and parent. @@ -98,7 +98,7 @@ public class MemoryBasedPreferences extends AbstractPreferences { * this node. */ protected String[] keysSpi() throws BackingStoreException { - return (String[]) entries.keySet().toArray(new String[entries.size()]); + return entries.keySet().toArray(new String[entries.size()]); } /** @@ -106,7 +106,7 @@ public class MemoryBasedPreferences extends AbstractPreferences { * null when the key has not been set. */ protected String getSpi(String key) { - return (String) entries.get(key); + return entries.get(key); } /** diff --git a/libjava/classpath/gnu/java/util/prefs/gconf/GConfNativePeer.java b/libjava/classpath/gnu/java/util/prefs/gconf/GConfNativePeer.java index 6049863..5e12c71 100644 --- a/libjava/classpath/gnu/java/util/prefs/gconf/GConfNativePeer.java +++ b/libjava/classpath/gnu/java/util/prefs/gconf/GConfNativePeer.java @@ -147,7 +147,7 @@ public final class GConfNativePeer * @return a java.util.List of keys. If there are no keys in the given node, a * list of size 0 is returned. */ - public List getKeys(String node) throws BackingStoreException + public List getKeys(String node) throws BackingStoreException { return gconf_client_all_keys(node); } @@ -159,7 +159,7 @@ public final class GConfNativePeer * @param node the node to get subnodes from. If there are no subnodes in the * given node, a list of size 0 is returned. */ - public List getChildrenNodes(String node) throws BackingStoreException + public List getChildrenNodes(String node) throws BackingStoreException { return gconf_client_all_nodes(node); } @@ -295,7 +295,7 @@ public final class GConfNativePeer * @return A list of nodes under the given source node. */ native - static final protected List gconf_client_all_nodes(String node) + static final protected List gconf_client_all_nodes(String node) throws BackingStoreException; /** @@ -305,7 +305,7 @@ public final class GConfNativePeer * @return A list of all keys stored in the given node. */ native - static final protected List gconf_client_all_keys(String node) + static final protected List gconf_client_all_keys(String node) throws BackingStoreException; /** diff --git a/libjava/classpath/gnu/java/util/regex/RETokenChar.java b/libjava/classpath/gnu/java/util/regex/RETokenChar.java index b70e6b1..42dcd93 100644 --- a/libjava/classpath/gnu/java/util/regex/RETokenChar.java +++ b/libjava/classpath/gnu/java/util/regex/RETokenChar.java @@ -113,7 +113,6 @@ final class RETokenChar extends REToken { boolean chain(REToken next) { if (next instanceof RETokenChar && ((RETokenChar)next).insens == insens) { RETokenChar cnext = (RETokenChar) next; - // assume for now that next can only be one character int newsize = ch.length + cnext.ch.length; char[] chTemp = new char [newsize]; @@ -122,7 +121,9 @@ final class RETokenChar extends REToken { System.arraycopy(cnext.ch,0,chTemp,ch.length,cnext.ch.length); ch = chTemp; - return false; + if (cnext.next == null) + return false; + return chain(cnext.next); } else return super.chain(next); } diff --git a/libjava/classpath/gnu/javax/imageio/png/PNGICCProfile.java b/libjava/classpath/gnu/javax/imageio/png/PNGICCProfile.java index d2696e1..b6dc21e 100644 --- a/libjava/classpath/gnu/javax/imageio/png/PNGICCProfile.java +++ b/libjava/classpath/gnu/javax/imageio/png/PNGICCProfile.java @@ -61,7 +61,9 @@ public class PNGICCProfile extends PNGChunk { super( type, data, crc ); int i = 0; - while( data[i++] != 0 ); + while( data[i++] != 0 ) + ; + try { name = new String(data, 0, i, "8859_1"); diff --git a/libjava/classpath/gnu/javax/management/Translator.java b/libjava/classpath/gnu/javax/management/Translator.java new file mode 100644 index 0000000..69191d4 --- /dev/null +++ b/libjava/classpath/gnu/javax/management/Translator.java @@ -0,0 +1,544 @@ +/* Translator.java -- Performs MXBean data type translation. + Copyright (C) 2007 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 gnu.javax.management; + +import java.lang.reflect.Array; +import java.lang.reflect.Method; +import java.lang.reflect.Proxy; +import java.lang.reflect.Type; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.SortedMap; +import java.util.SortedSet; + +import javax.management.JMX; +import javax.management.MBeanServerInvocationHandler; + +import javax.management.openmbean.ArrayType; +import javax.management.openmbean.CompositeData; +import javax.management.openmbean.CompositeDataSupport; +import javax.management.openmbean.CompositeType; +import javax.management.openmbean.OpenDataException; +import javax.management.openmbean.OpenMBeanParameterInfo; +import javax.management.openmbean.OpenMBeanParameterInfoSupport; +import javax.management.openmbean.OpenType; +import javax.management.openmbean.SimpleType; +import javax.management.openmbean.TabularData; +import javax.management.openmbean.TabularDataSupport; +import javax.management.openmbean.TabularType; + +/** + * Translates Java data types to their equivalent + * open data type, and vice versa, according to the + * {@link javax.management.MXBean} rules. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + */ +public final class Translator +{ + + /** + * Translates the input Java data types to the equivalent + * open data types. + * + * @param jtypes the Java types supplied as parameters. + * @param method the method that was called. + * @return the equivalent open types required by the {@link MXBean}. + * @throws Throwable if an exception is thrown in performing the + * conversion. + */ + public static final Object[] fromJava(Object[] jtypes, Method method) + throws Throwable + { + Type[] gtypes = method.getGenericParameterTypes(); + Object[] otypes = new Object[jtypes.length]; + for (int a = 0; a < jtypes.length; ++a) + otypes[a] = fromJava(jtypes[a], (Class) gtypes[a]); + return otypes; + } + + /** + * Translates the input Java data type to the equivalent + * open data type. + * + * @param jtype the Java type supplied as a parameter. + * @param type the type of the parameter. + * @return the equivalent open type required by the {@link MXBean}. + * @throws Throwable if an exception is thrown in performing the + * conversion. + */ + public static final Object fromJava(Object jtype, Type type) + throws Throwable + { + if (jtype == null) + return null; + Class jclass = jtype.getClass(); + if (OpenType.ALLOWED_CLASSNAMES_LIST.contains(jclass.getName())) + return jtype; + if (jclass.isArray()) + { + Class ctype = jclass.getComponentType(); + if (ctype.isPrimitive()) + return jtype; + if (OpenType.ALLOWED_CLASSNAMES_LIST.contains(ctype.getName())) + return jtype; + Object[] elems = (Object[]) jtype; + Object[] celems = new Object[elems.length]; + for (int a = 0; a < elems.length; ++a) + celems[a] = fromJava(elems[a], elems[a].getClass()); + return makeArraySpecific(celems); + } + String tName = getTypeName(type); + if (jtype instanceof List || jtype instanceof Set || + jtype instanceof SortedSet) + { + String elemType = tName.substring(tName.indexOf("<") + 1, + tName.indexOf(">")).trim(); + if (jtype instanceof SortedSet) + { + Class elemClass = Class.forName(elemType); + if (!Comparable.class.isAssignableFrom(elemClass)) + throw new IllegalArgumentException(jtype + " has a " + + "non-comparable element " + + "type, " + elemClass); + if (((SortedSet) jtype).comparator() != null) + throw new IllegalArgumentException(jtype + " does not " + + "use natural ordering."); + } + List elems = (List) jtype; + Object[] celems = new Object[elems.size()]; + for (int a = 0; a < elems.size(); ++a) + { + Object elem = elems.get(a); + celems[a] = fromJava(elem, elem.getClass()); + } + return makeArraySpecific(celems); + } + if (jtype instanceof Enum) + return ((Enum) jtype).name(); + if (jtype instanceof Map || jtype instanceof SortedMap) + { + int lparam = tName.indexOf("<"); + int comma = tName.indexOf(",", lparam); + int rparam = tName.indexOf(">", comma); + String key = tName.substring(lparam + 1, comma).trim(); + String value = tName.substring(comma + 1, rparam).trim(); + String typeName = null; + if (jtype instanceof Map) + typeName = "java.util.Map" + tName.substring(lparam); + else + { + Class keyClass = Class.forName(key); + if (!Comparable.class.isAssignableFrom(keyClass)) + throw new IllegalArgumentException(jtype + " has a " + + "non-comparable element " + + "type, " + keyClass); + if (((SortedMap) jtype).comparator() != null) + throw new IllegalArgumentException(jtype + " does not " + + "use natural ordering."); + typeName = "java.util.SortedMap" + tName.substring(lparam); + } + OpenType k = translate(key).getOpenType(); + OpenType v = translate(value).getOpenType(); + CompositeType rowType = new CompositeType(typeName, typeName, + new String[] { "key", "value" }, + new String[] { "Map key", "Map value"}, + new OpenType[] {k,v}); + TabularType tabType = new TabularType(typeName, typeName, rowType, + new String[]{"key"}); + TabularData data = new TabularDataSupport(tabType); + for (Map.Entry entry : (Set) ((Map) jtype).entrySet()) + { + try + { + data.put(new CompositeDataSupport(rowType, + new String[] { + "key", + "value" + }, + new Object[] { + entry.getKey(), + entry.getValue() + })); + } + catch (OpenDataException e) + { + throw (InternalError) (new InternalError("A problem occurred " + + "converting the map " + + "to a composite data " + + "structure.").initCause(e)); + } + } + return data; + } + if (JMX.isMXBeanInterface(jclass)) + { + try + { + MBeanServerInvocationHandler ih = (MBeanServerInvocationHandler) + Proxy.getInvocationHandler(jtype); + return ih.getObjectName(); + } + catch (IllegalArgumentException e) + { + throw new IllegalArgumentException("For a MXBean to be translated " + + "to an open type, it must be a " + + "proxy.", e); + } + catch (ClassCastException e) + { + throw new IllegalArgumentException("For a MXBean to be translated " + + "to an open type, it must have a " + + "MBeanServerInvocationHandler.", e); + } + } + /* FIXME: Handle other types */ + throw new IllegalArgumentException("The type, " + jtype + + ", is not convertible."); + } + + /** + * Translates the returned open data type to the value + * required by the interface. + * + * @param otype the open type returned by the method call. + * @param method the method that was called. + * @return the equivalent return type required by the interface. + * @throws Throwable if an exception is thrown in performing the + * conversion. + */ + public static final Object toJava(Object otype, Method method) + throws Throwable + { + Class returnType = method.getReturnType(); + if (returnType.isEnum()) + { + String ename = (String) otype; + Enum[] constants = (Enum[]) returnType.getEnumConstants(); + for (Enum c : constants) + if (c.name().equals(ename)) + return c; + } + if (List.class.isAssignableFrom(returnType)) + { + Object[] elems = (Object[]) otype; + List l = new ArrayList(elems.length); + for (Object elem : elems) + l.add(elem); + return l; + } + if (Map.class.isAssignableFrom(returnType)) + { + TabularData data = (TabularData) otype; + Map m = new HashMap(data.size()); + for (Object val : data.values()) + { + CompositeData vals = (CompositeData) val; + m.put(vals.get("key"), vals.get("value")); + } + return m; + } + try + { + Method m = returnType.getMethod("from", + new Class[] + { CompositeData.class }); + return m.invoke(null, (CompositeData) otype); + } + catch (NoSuchMethodException e) + { + /* Ignored; we expect this if this + isn't a from(CompositeData) class */ + } + return otype; + } + + /** + * Creates a new array which has the specific type + * used by the elements of the original {@link Object} + * array supplied. + * + * @param arr a series of elements in an {@link Object} + * array. + * @return the same elements in a new array of the specific + * type. + */ + private static final Object[] makeArraySpecific(Object[] arr) + { + Object[] rcelems = (Object[]) Array.newInstance(arr[0].getClass(), + arr.length); + System.arraycopy(arr, 0, rcelems, 0, arr.length); + return rcelems; + } + + /** + * Translates the name of a type into an equivalent + * {@link javax.management.openmbean.OpenMBeanParameterInfo} + * that describes it. + * + * @param type the type to describe. + * @return an instance of + * {@link javax.management.openmbean.OpenMBeanParameterInfo}, + * describing the translated type and limits of the given type. + * @throws OpenDataException if a type is not open. + */ + public static final OpenMBeanParameterInfo translate(String type) + throws OpenDataException + { + if (type.equals("boolean") || type.equals(Boolean.class.getName())) + return new OpenMBeanParameterInfoSupport("TransParam", + "Translated parameter", + SimpleType.BOOLEAN, + null, + new Boolean[] { + Boolean.TRUE, + Boolean.FALSE + }); + if (type.equals("byte") || type.equals(Byte.class.getName())) + return new OpenMBeanParameterInfoSupport("TransParam", + "Translated parameter", + SimpleType.BYTE, + null, + Byte.valueOf(Byte.MIN_VALUE), + Byte.valueOf(Byte.MAX_VALUE)); + if (type.equals("char") || type.equals(Character.class.getName())) + return new OpenMBeanParameterInfoSupport("TransParam", + "Translated parameter", + SimpleType.CHARACTER, + null, + Character.valueOf(Character.MIN_VALUE), + Character.valueOf(Character.MAX_VALUE)); + if (type.equals("double") || type.equals(Double.class.getName())) + return new OpenMBeanParameterInfoSupport("TransParam", + "Translated parameter", + SimpleType.DOUBLE, + null, + Double.valueOf(Double.MIN_VALUE), + Double.valueOf(Double.MAX_VALUE)); + if (type.equals("float") || type.equals(Float.class.getName())) + return new OpenMBeanParameterInfoSupport("TransParam", + "Translated parameter", + SimpleType.FLOAT, + null, + Float.valueOf(Float.MIN_VALUE), + Float.valueOf(Float.MAX_VALUE)); + if (type.equals("int") || type.equals(Integer.class.getName())) + return new OpenMBeanParameterInfoSupport("TransParam", + "Translated parameter", + SimpleType.INTEGER, + null, + Integer.valueOf(Integer.MIN_VALUE), + Integer.valueOf(Integer.MAX_VALUE)); + if (type.equals("long") || type.equals(Long.class.getName())) + return new OpenMBeanParameterInfoSupport("TransParam", + "Translated parameter", + SimpleType.LONG, + null, + Long.valueOf(Long.MIN_VALUE), + Long.valueOf(Long.MAX_VALUE)); + if (type.equals("short") || type.equals(Short.class.getName())) + return new OpenMBeanParameterInfoSupport("TransParam", + "Translated parameter", + SimpleType.SHORT, + null, + Short.valueOf(Short.MIN_VALUE), + Short.valueOf(Short.MAX_VALUE)); + if (type.equals(String.class.getName())) + return new OpenMBeanParameterInfoSupport("TransParam", + "Translated parameter", + SimpleType.STRING); + if (type.equals("void")) + return new OpenMBeanParameterInfoSupport("TransParam", + "Translated parameter", + SimpleType.VOID); + if (type.startsWith("java.util.Map")) + { + int lparam = type.indexOf("<"); + int comma = type.indexOf(",", lparam); + int rparam = type.indexOf(">", comma); + String key = type.substring(lparam + 1, comma).trim(); + OpenType k = translate(key).getOpenType(); + OpenType v = translate(type.substring(comma + 1, rparam).trim()).getOpenType(); + CompositeType ctype = new CompositeType(Map.class.getName(), Map.class.getName(), + new String[] { "key", "value" }, + new String[] { "Map key", "Map value"}, + new OpenType[] { k, v}); + TabularType ttype = new TabularType(key, key, ctype, + new String[] { "key" }); + return new OpenMBeanParameterInfoSupport("TransParam", + "Translated parameter", + ttype); + } + if (type.startsWith("java.util.List")) + { + int lparam = type.indexOf("<"); + int rparam = type.indexOf(">"); + OpenType e = translate(type.substring(lparam + 1, rparam).trim()).getOpenType(); + return new OpenMBeanParameterInfoSupport("TransParam", + "Translated parameter", + new ArrayType(1, e) + ); + } + Class c; + try + { + c = Class.forName(type); + } + catch (ClassNotFoundException e) + { + throw (InternalError) + (new InternalError("The class for a type used in a management bean " + + "could not be loaded.").initCause(e)); + } + if (c.isEnum()) + { + Object[] values = c.getEnumConstants(); + String[] names = new String[values.length]; + for (int a = 0; a < values.length; ++a) + names[a] = values[a].toString(); + return new OpenMBeanParameterInfoSupport("TransParam", + "Translated parameter", + SimpleType.STRING, + null, names); + } + try + { + c.getMethod("from", new Class[] { CompositeData.class }); + Method[] methods = c.getDeclaredMethods(); + List names = new ArrayList(); + List types = new ArrayList(); + for (int a = 0; a < methods.length; ++a) + { + String name = methods[a].getName(); + if (name.startsWith("get")) + { + names.add(name.substring(3)); + types.add(getTypeFromClass(methods[a].getReturnType())); + } + } + String[] fields = names.toArray(new String[names.size()]); + CompositeType ctype = new CompositeType(c.getName(), c.getName(), + fields, fields, + types.toArray(new OpenType[types.size()])); + return new OpenMBeanParameterInfoSupport("TransParam", + "Translated parameter", + ctype); + } + catch (NoSuchMethodException e) + { + /* Ignored; we expect this if this isn't a from(CompositeData) class */ + } + if (c.isArray()) + { + int depth; + for (depth = 0; c.getName().charAt(depth) == '['; ++depth) + ; + OpenType ot = getTypeFromClass(c.getComponentType()); + return new OpenMBeanParameterInfoSupport("TransParam", + "Translated parameter", + new ArrayType(depth, ot) + ); + } + throw new InternalError("The type used does not have an open type translation."); + } + + /** + * Obtains the {@link javax.management.openmbean.OpenType} + * for a particular class. + * + * @param c the class to obtain the type for. + * @return the appropriate instance. + * @throws OpenDataException if the type is not open. + */ + private static final OpenType getTypeFromClass(Class c) + throws OpenDataException + { + return Translator.translate(c.getName()).getOpenType(); + } + + /** + *

+ * Returns the type name according to the rules described + * in {@link javax.management.MXBean}. Namely, for a type, + * {@code T}, {@code typename(T)} is computed as follows: + *

+ *
    + *
  • If T is non-generic and not an array, then the value + * of {@link java.lang.Class#getName()} is returned.
  • + *
  • If T is an array type, {@code{E[]}, then the type name + * is {@code typename(E)} followed by an occurrence + * of {@code '[]'} for each dimension.
  • + *
  • If T is a generic or parameterized type, the type name + * is composed of {@code typename(P)}, where {@code P} is the + * parameterized type name, followed by {@code '<'}, the resulting + * list of type names of the parameters after applying {@code typename} + * to each, separated by commas, and {@code '>'}.
  • + *
+ * + * @param type the type to return the type name of. + * @return the type name computed according to the rules above. + */ + private static final String getTypeName(Type type) + { + if (type instanceof Class) + { + Class c = (Class) type; + if (c.isArray()) + { + StringBuilder b = + new StringBuilder(c.getComponentType().getName()); + String normName = c.getName(); + for (int a = 0; a < normName.length(); ++a) + { + if (normName.charAt(a) == '[') + b.append("[]"); + else + break; + } + return b.toString(); + } + return c.getName(); + } + return type.toString(); + } + +} diff --git a/libjava/classpath/gnu/javax/net/ssl/Base64.java b/libjava/classpath/gnu/javax/net/ssl/Base64.java deleted file mode 100644 index 52989da..0000000 --- a/libjava/classpath/gnu/javax/net/ssl/Base64.java +++ /dev/null @@ -1,311 +0,0 @@ -/* Base64.java -- Base64 encoding and decoding. - Copyright (C) 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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. - --- -Base64 encoding derived from ISC's DHCP. Copyright notices from DHCP -follow. See http://www.isc.org/products/DHCP/. - -Copyright (c) 1996 by Internet Software Consortium. - -Permission to use, copy, modify, and distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM -DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL -INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING -FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, -NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION -WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - --- -Portions Copyright (c) 1995 by International Business Machines, Inc. - -International Business Machines, Inc. (hereinafter called IBM) grants -permission under its copyrights to use, copy, modify, and distribute -this Software with or without fee, provided that the above copyright -notice and all paragraphs of this notice appear in all copies, and -that the name of IBM not be used in connection with the marketing of -any product incorporating the Software or modifications thereof, -without specific, written prior permission. - -To the extent it has a right to do so, IBM grants an immunity from -suit under its patents, if any, for the use, sale or manufacture of -products to the extent that such products are used for performing -Domain Name System dynamic updates in TCP/IP networks by means of the -Software. No immunity is granted for any product per se or for any -other function of any product. - -THE SOFTWARE IS PROVIDED "AS IS", AND IBM DISCLAIMS ALL WARRANTIES, -INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A -PARTICULAR PURPOSE. IN NO EVENT SHALL IBM BE LIABLE FOR ANY SPECIAL, -DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS -SOFTWARE, EVEN IF IBM IS APPRISED OF THE POSSIBILITY OF SUCH -DAMAGES. */ - - -package gnu.javax.net.ssl; - -import java.io.ByteArrayOutputStream; -import java.io.IOException; - -public final class Base64 -{ - - // No constructor. - private Base64() { } - - // Class methods. - // ------------------------------------------------------------------------- - - /** Base-64 characters. */ - private static final String BASE_64 = - "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; - - /** Base-64 padding character. */ - private static final char BASE_64_PAD = '='; - - /** - * Base64 encode a byte array, returning the returning string. - * - * @param buf The byte array to encode. - * @param tw The total length of any line, 0 for unlimited. - * @return buf encoded in Base64. - */ - public static String encode(byte[] buf, int tw) - { - int srcLength = buf.length; - byte[] input = new byte[3]; - int[] output = new int[4]; - StringBuffer out = new StringBuffer(); - int i = 0; - int chars = 0; - - while (srcLength > 2) - { - input[0] = buf[i++]; - input[1] = buf[i++]; - input[2] = buf[i++]; - srcLength -= 3; - - output[0] = (input[0] & 0xff) >>> 2; - output[1] = ((input[0] & 0x03) << 4) + ((input[1] & 0xff) >>> 4); - output[2] = ((input[1] & 0x0f) << 2) + ((input[2] & 0xff) >>> 6); - output[3] = input[2] & 0x3f; - - out.append(BASE_64.charAt(output[0])); - if (tw > 0 && ++chars % tw == 0) - { - out.append("\n"); - } - out.append(BASE_64.charAt(output[1])); - if (tw > 0 && ++chars % tw == 0) - { - out.append("\n"); - } - out.append(BASE_64.charAt(output[2])); - if (tw > 0 && ++chars % tw == 0) - { - out.append("\n"); - } - out.append(BASE_64.charAt(output[3])); - if (tw > 0 && ++chars % tw == 0) - { - out.append("\n"); - } - } - - if (srcLength != 0) - { - input[0] = input[1] = input[2] = 0; - for (int j = 0; j < srcLength; j++) - { - input[j] = buf[i+j]; - } - output[0] = (input[0] & 0xff) >>> 2; - output[1] = ((input[0] & 0x03) << 4) + ((input[1] & 0xff) >>> 4); - output[2] = ((input[1] & 0x0f) << 2) + ((input[2] & 0xff) >>> 6); - - out.append(BASE_64.charAt(output[0])); - if (tw > 0 && ++chars % tw == 0) - { - out.append("\n"); - } - out.append(BASE_64.charAt(output[1])); - if (tw > 0 && ++chars % tw == 0) - { - out.append("\n"); - } - if (srcLength == 1) - { - out.append(BASE_64_PAD); - } - else - { - out.append(BASE_64.charAt(output[2])); - } - if (tw > 0 && ++chars % tw == 0) - { - out.append("\n"); - } - out.append(BASE_64_PAD); - if (tw > 0 && ++chars % tw == 0) - { - out.append("\n"); - } - } - if (tw > 0) - { - out.append("\n"); - } - - return out.toString(); - } - - /** - * Decode a Base-64 string into a byte array. - * - * @param b64 The Base-64 encoded string. - * @return The decoded bytes. - * @throws java.io.IOException If the argument is not a valid Base-64 - * encoding. - */ - public static byte[] decode(String b64) throws IOException - { - ByteArrayOutputStream result = new ByteArrayOutputStream(b64.length() / 3); - int state = 0, i; - byte temp = 0; - - for (i = 0; i < b64.length(); i++) - { - if (Character.isWhitespace(b64.charAt(i))) - { - continue; - } - if (b64.charAt(i) == BASE_64_PAD) - { - break; - } - - int pos = BASE_64.indexOf(b64.charAt(i)); - if (pos < 0) - { - throw new IOException("non-Base64 character " + b64.charAt(i)); - } - switch (state) - { - case 0: - temp = (byte) (pos - BASE_64.indexOf('A') << 2); - state = 1; - break; - - case 1: - temp |= (byte) (pos - BASE_64.indexOf('A') >>> 4); - result.write(temp); - temp = (byte) ((pos - BASE_64.indexOf('A') & 0x0f) << 4); - state = 2; - break; - - case 2: - temp |= (byte) ((pos - BASE_64.indexOf('A') & 0x7f) >>> 2); - result.write(temp); - temp = (byte) ((pos - BASE_64.indexOf('A') & 0x03) << 6); - state = 3; - break; - - case 3: - temp |= (byte) (pos - BASE_64.indexOf('A') & 0xff); - result.write(temp); - state = 0; - break; - - default: - throw new Error("this statement should be unreachable"); - } - } - - if (i < b64.length() && b64.charAt(i) == BASE_64_PAD) - { - switch (state) - { - case 0: - case 1: - throw new IOException("malformed Base64 sequence"); - - case 2: - for ( ; i < b64.length(); i++) - { - if (!Character.isWhitespace(b64.charAt(i))) - { - break; - } - } - // We must see a second pad character here. - if (b64.charAt(i) != BASE_64_PAD) - { - throw new IOException("malformed Base64 sequence"); - } - i++; - // Fall-through. - - case 3: - i++; - for ( ; i < b64.length(); i++) - { - // We should only see whitespace after this. - if (!Character.isWhitespace(b64.charAt(i))) - { - System.err.println(b64.charAt(i)); - throw new IOException("malformed Base64 sequence"); - } - } - } - } - else - { - if (state != 0) - { - throw new IOException("malformed Base64 sequence"); - } - } - - return result.toByteArray(); - } -} diff --git a/libjava/classpath/gnu/javax/net/ssl/PrivateCredentials.java b/libjava/classpath/gnu/javax/net/ssl/PrivateCredentials.java index 4426293..4a37cd8 100644 --- a/libjava/classpath/gnu/javax/net/ssl/PrivateCredentials.java +++ b/libjava/classpath/gnu/javax/net/ssl/PrivateCredentials.java @@ -1,5 +1,5 @@ /* PrivateCredentials.java -- private key/certificate pairs. - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2007 Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -38,8 +38,6 @@ exception statement from your version. */ package gnu.javax.net.ssl; -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; import java.io.EOFException; import java.io.InputStream; import java.io.IOException; @@ -80,6 +78,7 @@ import gnu.javax.crypto.pad.WrongPaddingException; import gnu.java.security.der.DER; import gnu.java.security.der.DERReader; +import gnu.java.util.Base64; /** * An instance of a manager factory parameters for holding a single diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/SSLEngineImpl.java b/libjava/classpath/gnu/javax/net/ssl/provider/SSLEngineImpl.java index 22c488d..4a7f924 100644 --- a/libjava/classpath/gnu/javax/net/ssl/provider/SSLEngineImpl.java +++ b/libjava/classpath/gnu/javax/net/ssl/provider/SSLEngineImpl.java @@ -99,7 +99,7 @@ public final class SSLEngineImpl extends SSLEngine private Mode mode; - private enum Mode { SERVER, CLIENT }; + private enum Mode { SERVER, CLIENT } SSLEngineImpl (SSLContextImpl contextImpl, String host, int port) { diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/SSLRSASignatureImpl.java b/libjava/classpath/gnu/javax/net/ssl/provider/SSLRSASignatureImpl.java index 415efc6..e6981c9 100644 --- a/libjava/classpath/gnu/javax/net/ssl/provider/SSLRSASignatureImpl.java +++ b/libjava/classpath/gnu/javax/net/ssl/provider/SSLRSASignatureImpl.java @@ -188,7 +188,8 @@ public class SSLRSASignatureImpl extends SignatureSpi final byte[] eb = EB.toByteArray(); if (eb[0] == 0x00) { - for (i = 0; i < eb.length && eb[i] == 0x00; i++); + for (i = 0; i < eb.length && eb[i] == 0x00; i++) + ; } else if (eb[0] == 0x01) { diff --git a/libjava/classpath/gnu/javax/security/auth/login/ConfigFileParser.java b/libjava/classpath/gnu/javax/security/auth/login/ConfigFileParser.java index b5b5069..40adb78 100644 --- a/libjava/classpath/gnu/javax/security/auth/login/ConfigFileParser.java +++ b/libjava/classpath/gnu/javax/security/auth/login/ConfigFileParser.java @@ -122,7 +122,9 @@ public final class ConfigFileParser initParser(r); while (parseAppOrOtherEntry()) - ; // do nothing + { + /* do nothing */ + } } private void initParser(Reader r) throws IOException @@ -157,7 +159,9 @@ public final class ConfigFileParser List lmis = new ArrayList(); while (parseACE(lmis)) - ; // do nothing + { + /* do nothing */ + } c = cft.nextToken(); if (c != '}') diff --git a/libjava/classpath/gnu/javax/sound/midi/alsa/AlsaMidiSequencerDevice.java b/libjava/classpath/gnu/javax/sound/midi/alsa/AlsaMidiSequencerDevice.java index c91f1e3..3810dff 100644 --- a/libjava/classpath/gnu/javax/sound/midi/alsa/AlsaMidiSequencerDevice.java +++ b/libjava/classpath/gnu/javax/sound/midi/alsa/AlsaMidiSequencerDevice.java @@ -1,5 +1,5 @@ /* AlsaMidiSequencerDevice.java -- The ALSA MIDI sequencer device - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -51,10 +51,6 @@ import javax.sound.midi.Sequencer; import javax.sound.midi.Track; import javax.sound.midi.Transmitter; -// FIXME: These next two imports are only required by gcj it seems. -import javax.sound.midi.MidiDevice.Info; -import javax.sound.midi.Sequencer.SyncMode; - /** * The ALSA MIDI sequencer device. This is a singleton device. * diff --git a/libjava/classpath/gnu/javax/sound/midi/alsa/AlsaPortDevice.java b/libjava/classpath/gnu/javax/sound/midi/alsa/AlsaPortDevice.java index d666be1..0e59bc8 100644 --- a/libjava/classpath/gnu/javax/sound/midi/alsa/AlsaPortDevice.java +++ b/libjava/classpath/gnu/javax/sound/midi/alsa/AlsaPortDevice.java @@ -1,5 +1,5 @@ /* AlsaPortDevice.java -- ALSA MIDI Port Devices - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -43,9 +43,6 @@ import javax.sound.midi.MidiMessage; import javax.sound.midi.Receiver; import javax.sound.midi.Transmitter; -// FIXME: This next import is only rquired for gcj it seems. -import javax.sound.midi.MidiDevice.Info; - import gnu.javax.sound.midi.alsa.AlsaMidiDeviceProvider.AlsaPortInfo; /** diff --git a/libjava/classpath/gnu/javax/sound/midi/dssi/DSSISynthesizer.java b/libjava/classpath/gnu/javax/sound/midi/dssi/DSSISynthesizer.java index ca09b30..2682186 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 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -55,9 +55,6 @@ import javax.sound.midi.Synthesizer; import javax.sound.midi.Transmitter; import javax.sound.midi.VoiceStatus; -// FIXME: This import in only required for gcj it seems. -import javax.sound.midi.MidiDevice.Info; - /** * DSSI soft-synth support. * diff --git a/libjava/classpath/gnu/javax/swing/text/html/CharacterAttributeTranslator.java b/libjava/classpath/gnu/javax/swing/text/html/CharacterAttributeTranslator.java index 06732e4..77bac12 100644 --- a/libjava/classpath/gnu/javax/swing/text/html/CharacterAttributeTranslator.java +++ b/libjava/classpath/gnu/javax/swing/text/html/CharacterAttributeTranslator.java @@ -74,7 +74,7 @@ public class CharacterAttributeTranslator colorMap.put("teal" , "#008080"); colorMap.put("white" , "#FFFFFF"); colorMap.put("yellow" , "#FFFF00"); - }; + } /** * Convert the color string represenation into java.awt.Color. The valid diff --git a/libjava/classpath/gnu/javax/swing/text/html/css/CSSParser.java b/libjava/classpath/gnu/javax/swing/text/html/css/CSSParser.java index 5647e25..1f8fdfa 100644 --- a/libjava/classpath/gnu/javax/swing/text/html/css/CSSParser.java +++ b/libjava/classpath/gnu/javax/swing/text/html/css/CSSParser.java @@ -308,7 +308,9 @@ public class CSSParser { // FIXME: Handle block and ATKEYWORD. boolean success = parseAny(s); - while (parseAny(s)); + while (parseAny(s)) + ; + return success; } @@ -329,7 +331,8 @@ public class CSSParser boolean ret = parseAny(sel); if (ret) { - while (parseAny(sel)); + while (parseAny(sel)) + ; } return ret; } diff --git a/libjava/classpath/gnu/javax/swing/text/html/parser/gnuDTD.java b/libjava/classpath/gnu/javax/swing/text/html/parser/gnuDTD.java index 1f4b3ec..5924e0f 100644 --- a/libjava/classpath/gnu/javax/swing/text/html/parser/gnuDTD.java +++ b/libjava/classpath/gnu/javax/swing/text/html/parser/gnuDTD.java @@ -390,7 +390,6 @@ public class gnuDTD allowed.add(allowed_values [ i ]); } } - ; AttributeList attr = new AttributeList(name, type, modifier, default_value, allowed, null); diff --git a/libjava/classpath/gnu/javax/swing/text/html/parser/support/Parser.java b/libjava/classpath/gnu/javax/swing/text/html/parser/support/Parser.java index 3a40731..c0d1e63 100644 --- a/libjava/classpath/gnu/javax/swing/text/html/parser/support/Parser.java +++ b/libjava/classpath/gnu/javax/swing/text/html/parser/support/Parser.java @@ -1382,7 +1382,7 @@ public class Parser if (c == '\r') buffer.append(' '); // CR replaced by space else if (c == '\n') - ; // LF ignored + { /* LF ignored */ } else if (c == '\t') buffer.append(' '); // Tab replaced by space else diff --git a/libjava/classpath/gnu/xml/dom/DomDocumentBuilder.java b/libjava/classpath/gnu/xml/dom/DomDocumentBuilder.java index 343f48c..e62ce20 100644 --- a/libjava/classpath/gnu/xml/dom/DomDocumentBuilder.java +++ b/libjava/classpath/gnu/xml/dom/DomDocumentBuilder.java @@ -1,5 +1,5 @@ /* DomDocumentBuilder.java -- - Copyright (C) 2004,2006 Free Software Foundation, Inc. + Copyright (C) 2004,2006,2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -48,6 +48,7 @@ import org.w3c.dom.Document; import org.w3c.dom.DOMConfiguration; import org.w3c.dom.DOMImplementation; import org.w3c.dom.ls.DOMImplementationLS; +import org.w3c.dom.ls.LSException; import org.w3c.dom.ls.LSInput; import org.w3c.dom.ls.LSParser; import org.xml.sax.EntityResolver; @@ -122,7 +123,18 @@ class DomDocumentBuilder { LSInput input = ls.createLSInput(); input.setByteStream(in); - return parser.parse(input); + try + { + return parser.parse(input); + } + catch (LSException e) + { + Throwable e2 = e.getCause(); + if (e2 instanceof IOException) + throw (IOException) e2; + else + throw e; + } } public Document parse(InputStream in, String systemId) @@ -131,13 +143,35 @@ class DomDocumentBuilder LSInput input = ls.createLSInput(); input.setByteStream(in); input.setSystemId(systemId); - return parser.parse(input); + try + { + return parser.parse(input); + } + catch (LSException e) + { + Throwable e2 = e.getCause(); + if (e2 instanceof IOException) + throw (IOException) e2; + else + throw e; + } } public Document parse(String systemId) throws SAXException, IOException { - return parser.parseURI(systemId); + try + { + return parser.parseURI(systemId); + } + catch (LSException e) + { + Throwable e2 = e.getCause(); + if (e2 instanceof IOException) + throw (IOException) e2; + else + throw e; + } } public Document parse(InputSource is) @@ -176,7 +210,18 @@ class DomDocumentBuilder input.setPublicId(is.getPublicId()); input.setSystemId(systemId); input.setEncoding(is.getEncoding()); - return parser.parse(input); + try + { + return parser.parse(input); + } + catch (LSException e) + { + Throwable e2 = e.getCause(); + if (e2 instanceof IOException) + throw (IOException) e2; + else + throw e; + } } } diff --git a/libjava/classpath/gnu/xml/dom/ls/DomLSParser.java b/libjava/classpath/gnu/xml/dom/ls/DomLSParser.java index 6bc069d..88f9bae 100644 --- a/libjava/classpath/gnu/xml/dom/ls/DomLSParser.java +++ b/libjava/classpath/gnu/xml/dom/ls/DomLSParser.java @@ -1,5 +1,5 @@ /* DomLSParser.java -- - Copyright (C) 1999,2000,2001 Free Software Foundation, Inc. + Copyright (C) 1999,2000,2001,2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -277,6 +277,15 @@ public class DomLSParser validating); try { + reader.setFeature("http://gnu.org/sax/features/coalescing", + coalescing); + } + catch (SAXNotRecognizedException e) + { + // ignore + } + try + { reader.setFeature("http://xml.org/sax/features/use-attributes2", true); } diff --git a/libjava/classpath/gnu/xml/pipeline/DomConsumer.java b/libjava/classpath/gnu/xml/pipeline/DomConsumer.java index bdbf928..da527b9 100644 --- a/libjava/classpath/gnu/xml/pipeline/DomConsumer.java +++ b/libjava/classpath/gnu/xml/pipeline/DomConsumer.java @@ -365,7 +365,7 @@ public class DomConsumer implements EventConsumer throws SAXException { SAXParseException e; - ErrorHandler errHandler = consumer.getErrorHandler ();; + ErrorHandler errHandler = consumer.getErrorHandler (); if (locator == null) e = new SAXParseException (message, null, null, -1, -1, x); diff --git a/libjava/classpath/gnu/xml/stream/SAXParser.java b/libjava/classpath/gnu/xml/stream/SAXParser.java index 1329ab2..af4a6af 100644 --- a/libjava/classpath/gnu/xml/stream/SAXParser.java +++ b/libjava/classpath/gnu/xml/stream/SAXParser.java @@ -1,5 +1,5 @@ /* SAXParser.java -- - Copyright (C) 2005, 2006 Free Software Foundation, Inc. + Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -187,6 +187,8 @@ public class SAXParser lexicalHandler = (LexicalHandler) value; else if ((GNU_FEATURES + "xml-base").equals(name)) baseAware = Boolean.TRUE.equals(value); + else if ((GNU_FEATURES + "coalescing").equals(name)) + coalescing = Boolean.TRUE.equals(value); else throw new SAXNotSupportedException(name); } diff --git a/libjava/classpath/gnu/xml/stream/XMLParser.java b/libjava/classpath/gnu/xml/stream/XMLParser.java index 663a300..fae4afe 100644 --- a/libjava/classpath/gnu/xml/stream/XMLParser.java +++ b/libjava/classpath/gnu/xml/stream/XMLParser.java @@ -439,6 +439,7 @@ public class XMLParser throw e2; } } + systemId = canonicalize(systemId); pushInput(new Input(in, null, null, systemId, null, null, false, true)); } @@ -513,6 +514,7 @@ public class XMLParser throw e2; } } + systemId = canonicalize(systemId); pushInput(new Input(null, reader, null, systemId, null, null, false, true)); } @@ -1540,7 +1542,7 @@ public class XMLParser { if (!externalEntities) return; - String url = absolutize(input.systemId, ids.systemId); + String url = canonicalize(absolutize(input.systemId, ids.systemId)); // Check for recursion for (Iterator i = inputStack.iterator(); i.hasNext(); ) { @@ -1587,6 +1589,20 @@ public class XMLParser } /** + * Returns a canonicalized version of the specified URL. + * This is largely to work around a problem with the specification of + * file URLs. + */ + static String canonicalize(String url) + { + if (url == null) + return null; + if (url.startsWith("file:") && !url.startsWith("file://")) + url = "file://" + url.substring(5); + return url; + } + + /** * "Absolutize" a URL. This resolves a relative URL into an absolute one. * @param base the current base URL * @param href the (absolute or relative) URL to resolve diff --git a/libjava/classpath/gnu/xml/util/XCat.java b/libjava/classpath/gnu/xml/util/XCat.java index 0f16338..f3704cd 100644 --- a/libjava/classpath/gnu/xml/util/XCat.java +++ b/libjava/classpath/gnu/xml/util/XCat.java @@ -274,7 +274,7 @@ public class XCat implements EntityResolver2 InputSource retval; retval = catalogs [i].resolve (usingPublic, publicId, systemId); if (retval != null) - return retval;; + return retval; } } catch (DoneDelegation x) { // done! diff --git a/libjava/classpath/include/Makefile.am b/libjava/classpath/include/Makefile.am index e81d144..9cb9a05 100644 --- a/libjava/classpath/include/Makefile.am +++ b/libjava/classpath/include/Makefile.am @@ -76,7 +76,6 @@ $(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkTextFieldPeer.h \ $(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkToolkit.h \ $(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkWindowPeer.h \ $(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkVolatileImage.h \ -$(top_srcdir)/include/gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.h \ $(top_srcdir)/include/GtkDragSourceContextPeer.h QTPEER_H_FILES = \ @@ -136,6 +135,7 @@ $(top_srcdir)/include/gnu_java_nio_VMPipe.h \ $(top_srcdir)/include/gnu_java_nio_VMSelector.h \ $(top_srcdir)/include/gnu_java_nio_charset_iconv_IconvEncoder.h \ $(top_srcdir)/include/gnu_java_nio_charset_iconv_IconvDecoder.h \ +$(top_srcdir)/include/gnu_java_lang_management_VMOperatingSystemMXBeanImpl.h \ $(top_srcdir)/include/java_io_VMFile.h \ $(top_srcdir)/include/java_io_VMObjectInputStream.h \ $(top_srcdir)/include/java_io_VMObjectStreamClass.h \ @@ -190,6 +190,8 @@ $(top_srcdir)/include/gnu_java_nio_VMPipe.h: $(top_srcdir)/vm/reference/gnu/java $(JAVAH) -o $@ gnu.java.nio.VMPipe $(top_srcdir)/include/gnu_java_nio_VMSelector.h: $(top_srcdir)/vm/reference/gnu/java/nio/VMSelector.java $(JAVAH) -o $@ gnu.java.nio.VMSelector +$(top_srcdir)/include/gnu_java_lang_management_VMOperatingSystemMXBeanImpl.h: $(top_srcdir)/vm/reference/gnu/java/lang/management/VMOperatingSystemMXBeanImpl.java + $(JAVAH) -o $@ gnu.java.lang.management.VMOperatingSystemMXBeanImpl $(top_srcdir)/include/java_io_VMFile.h: $(top_srcdir)/vm/reference/java/io/VMFile.java $(JAVAH) -o $@ java.io.VMFile $(top_srcdir)/include/java_io_VMObjectInputStream.h: $(top_srcdir)/vm/reference/java/io/VMObjectInputStream.java diff --git a/libjava/classpath/include/Makefile.in b/libjava/classpath/include/Makefile.in index 7ce5c73..d2f0707 100644 --- a/libjava/classpath/include/Makefile.in +++ b/libjava/classpath/include/Makefile.in @@ -44,16 +44,21 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ - $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ - $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ + $(top_srcdir)/../../libtool.m4 \ + $(top_srcdir)/../../ltoptions.m4 \ + $(top_srcdir)/../../ltsugar.m4 \ + $(top_srcdir)/../../ltversion.m4 \ + $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \ + $(top_srcdir)/m4/acinclude.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/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 +mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs CONFIG_HEADER = config.h CONFIG_CLEAN_FILES = SOURCES = @@ -63,12 +68,15 @@ ACLOCAL = @ACLOCAL@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ +AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@ BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -114,6 +122,7 @@ DATE = @DATE@ DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ @@ -126,15 +135,16 @@ ERROR_CFLAGS = @ERROR_CFLAGS@ EXAMPLESDIR = @EXAMPLESDIR@ EXEEXT = @EXEEXT@ FASTJAR = @FASTJAR@ +FGREP = @FGREP@ FIND = @FIND@ FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@ FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@ FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@ FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@ -FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@ -FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@ FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@ FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@ +FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@ +FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@ FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@ FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@ FOUND_KJC_FALSE = @FOUND_KJC_FALSE@ @@ -142,7 +152,6 @@ FOUND_KJC_TRUE = @FOUND_KJC_TRUE@ FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@ FREETYPE2_LIBS = @FREETYPE2_LIBS@ GCJ = @GCJ@ -GCJX = @GCJX@ GCONF_CFLAGS = @GCONF_CFLAGS@ GCONF_LIBS = @GCONF_LIBS@ GDK_CFLAGS = @GDK_CFLAGS@ @@ -152,6 +161,7 @@ GENINSRC_TRUE = @GENINSRC_TRUE@ GJDOC = @GJDOC@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ +GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@ @@ -163,6 +173,7 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +JAVAC = @JAVAC@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ @@ -172,6 +183,7 @@ JIKES = @JIKES@ JIKESENCODING = @JIKESENCODING@ JIKESWARNINGS = @JIKESWARNINGS@ KJC = @KJC@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBDEBUG = @LIBDEBUG@ LIBICONV = @LIBICONV@ @@ -191,6 +203,7 @@ MKDIR = @MKDIR@ MOC = @MOC@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ +NM = @NM@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ @@ -212,6 +225,7 @@ RANLIB = @RANLIB@ REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@ REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@ REMOVE = @REMOVE@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@ @@ -239,8 +253,10 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ X_PRE_LIBS = @X_PRE_LIBS@ ZIP = @ZIP@ +ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_STRIP = @ac_ct_STRIP@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ @@ -273,6 +289,7 @@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ multi_basedir = @multi_basedir@ @@ -363,7 +380,6 @@ $(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkTextFieldPeer.h \ $(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkToolkit.h \ $(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkWindowPeer.h \ $(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkVolatileImage.h \ -$(top_srcdir)/include/gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.h \ $(top_srcdir)/include/GtkDragSourceContextPeer.h QTPEER_H_FILES = \ @@ -423,6 +439,7 @@ $(top_srcdir)/include/gnu_java_nio_VMPipe.h \ $(top_srcdir)/include/gnu_java_nio_VMSelector.h \ $(top_srcdir)/include/gnu_java_nio_charset_iconv_IconvEncoder.h \ $(top_srcdir)/include/gnu_java_nio_charset_iconv_IconvDecoder.h \ +$(top_srcdir)/include/gnu_java_lang_management_VMOperatingSystemMXBeanImpl.h \ $(top_srcdir)/include/java_io_VMFile.h \ $(top_srcdir)/include/java_io_VMObjectInputStream.h \ $(top_srcdir)/include/java_io_VMObjectStreamClass.h \ @@ -657,6 +674,8 @@ uninstall-am: uninstall-info-am @CREATE_JNI_HEADERS_TRUE@ $(JAVAH) -o $@ gnu.java.nio.VMPipe @CREATE_JNI_HEADERS_TRUE@$(top_srcdir)/include/gnu_java_nio_VMSelector.h: $(top_srcdir)/vm/reference/gnu/java/nio/VMSelector.java @CREATE_JNI_HEADERS_TRUE@ $(JAVAH) -o $@ gnu.java.nio.VMSelector +@CREATE_JNI_HEADERS_TRUE@$(top_srcdir)/include/gnu_java_lang_management_VMOperatingSystemMXBeanImpl.h: $(top_srcdir)/vm/reference/gnu/java/lang/management/VMOperatingSystemMXBeanImpl.java +@CREATE_JNI_HEADERS_TRUE@ $(JAVAH) -o $@ gnu.java.lang.management.VMOperatingSystemMXBeanImpl @CREATE_JNI_HEADERS_TRUE@$(top_srcdir)/include/java_io_VMFile.h: $(top_srcdir)/vm/reference/java/io/VMFile.java @CREATE_JNI_HEADERS_TRUE@ $(JAVAH) -o $@ java.io.VMFile @CREATE_JNI_HEADERS_TRUE@$(top_srcdir)/include/java_io_VMObjectInputStream.h: $(top_srcdir)/vm/reference/java/io/VMObjectInputStream.java diff --git a/libjava/classpath/include/config-int.h b/libjava/classpath/include/config-int.h new file mode 100644 index 0000000..e92dbf1 --- /dev/null +++ b/libjava/classpath/include/config-int.h @@ -0,0 +1,9 @@ +#ifndef _CLASSPATH_INCLUDE_CONFIG_INT_H +#define _CLASSPATH_INCLUDE_CONFIG_INT_H 1 +#ifndef _GENERATED_STDINT_H +#define _GENERATED_STDINT_H "classpath 0.95" +/* generated using gnu compiler gcc (GCC) 4.1.2 20070403 (Red Hat 4.1.2-8) */ +#define _STDINT_HAVE_STDINT_H 1 +#include +#endif +#endif diff --git a/libjava/classpath/include/config.h.in b/libjava/classpath/include/config.h.in index 6abf797..a0e3150 100644 --- a/libjava/classpath/include/config.h.in +++ b/libjava/classpath/include/config.h.in @@ -33,6 +33,9 @@ /* Define to 1 if you have the header file. */ #undef HAVE_CRT_EXTERNS_H +/* Define to 1 if you have the header file. */ +#undef HAVE_DLFCN_H + /* Define to 1 if you have the header file. */ #undef HAVE_DSSI_H @@ -60,6 +63,15 @@ /* Define to 1 if you have the `ftruncate' function. */ #undef HAVE_FTRUNCATE +/* three-argument gethostbyname_r */ +#undef HAVE_FUNC_GETHOSTBYNAME_R_3 + +/* five-argument gethostbyname_r */ +#undef HAVE_FUNC_GETHOSTBYNAME_R_5 + +/* six-argument gethostbyname_r */ +#undef HAVE_FUNC_GETHOSTBYNAME_R_6 + /* Define to 1 if you have the `gethostbyname_r' function. */ #undef HAVE_GETHOSTBYNAME_R @@ -69,6 +81,9 @@ /* Define to 1 if you have the `getifaddrs' function. */ #undef HAVE_GETIFADDRS +/* Define to 1 if you have the `getloadavg' function. */ +#undef HAVE_GETLOADAVG + /* Define to 1 if you have the `getpagesize' function. */ #undef HAVE_GETPAGESIZE @@ -315,6 +330,13 @@ /* Define as const if the declaration of iconv() needs const. */ #undef ICONV_CONST +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#undef LT_OBJDIR + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +#undef NO_MINUS_C_MINUS_O + /* Name of package */ #undef PACKAGE @@ -382,6 +404,12 @@ /* Define to empty if `const' does not conform to ANSI C. */ #undef const +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +#undef inline +#endif + /* GNU C attributes. */ #ifndef FUNCATTR #ifdef HAVE_GNUC25_ATTRIB diff --git a/libjava/classpath/include/gnu_java_awt_peer_gtk_CairoGraphics2D.h b/libjava/classpath/include/gnu_java_awt_peer_gtk_CairoGraphics2D.h index 3e88d57..3ae95a2 100644 --- a/libjava/classpath/include/gnu_java_awt_peer_gtk_CairoGraphics2D.h +++ b/libjava/classpath/include/gnu_java_awt_peer_gtk_CairoGraphics2D.h @@ -22,7 +22,7 @@ JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoSetRGBACo JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoSetFillRule (JNIEnv *env, jobject, jlong, jint); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoSetLine (JNIEnv *env, jobject, jlong, jdouble, jint, jint, jdouble); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoSetDash (JNIEnv *env, jobject, jlong, jdoubleArray, jint, jdouble); -JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoDrawGlyphVector (JNIEnv *env, jobject, jlong, jobject, jfloat, jfloat, jint, jintArray, jfloatArray); +JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoDrawGlyphVector (JNIEnv *env, jobject, jlong, jobject, jfloat, jfloat, jint, jintArray, jfloatArray, jlongArray); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoSetFont (JNIEnv *env, jobject, jlong, jobject); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoRectangle (JNIEnv *env, jobject, jlong, jdouble, jdouble, jdouble, jdouble); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoArc (JNIEnv *env, jobject, jlong, jdouble, jdouble, jdouble, jdouble, jdouble); @@ -37,6 +37,7 @@ JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoStroke (J JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoFill (JNIEnv *env, jobject, jlong, jdouble); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoClip (JNIEnv *env, jobject, jlong); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoResetClip (JNIEnv *env, jobject, jlong); +JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoSetAntialias (JNIEnv *env, jobject, jlong, jboolean); #undef gnu_java_awt_peer_gtk_CairoGraphics2D_INTERPOLATION_NEAREST #define gnu_java_awt_peer_gtk_CairoGraphics2D_INTERPOLATION_NEAREST 0L diff --git a/libjava/classpath/include/gnu_java_awt_peer_gtk_CairoSurface.h b/libjava/classpath/include/gnu_java_awt_peer_gtk_CairoSurface.h index 3885707..ba7a1f5 100644 --- a/libjava/classpath/include/gnu_java_awt_peer_gtk_CairoSurface.h +++ b/libjava/classpath/include/gnu_java_awt_peer_gtk_CairoSurface.h @@ -10,14 +10,12 @@ extern "C" { #endif -JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoSurface_create (JNIEnv *env, jobject, jint, jint, jint); -JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoSurface_destroy (JNIEnv *env, jobject, jlong, jlong); -JNIEXPORT jint JNICALL Java_gnu_java_awt_peer_gtk_CairoSurface_nativeGetElem (JNIEnv *env, jobject, jlong, jint); -JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoSurface_nativeSetElem (JNIEnv *env, jobject, jlong, jint, jint); +JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoSurface_create (JNIEnv *env, jobject, jint, jint, jint, jintArray); +JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoSurface_destroy (JNIEnv *env, jobject, jlong, jintArray); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoSurface_nativeDrawSurface (JNIEnv *env, jobject, jlong, jlong, jdoubleArray, jdouble, jint); -JNIEXPORT jintArray JNICALL Java_gnu_java_awt_peer_gtk_CairoSurface_nativeGetPixels (JNIEnv *env, jobject, jlong, jint); -JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoSurface_nativeSetPixels (JNIEnv *env, jobject, jlong, jintArray); -JNIEXPORT jlong JNICALL Java_gnu_java_awt_peer_gtk_CairoSurface_getFlippedBuffer (JNIEnv *env, jobject, jlong, jint); +JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoSurface_syncNativeToJava (JNIEnv *env, jobject, jlong, jintArray); +JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoSurface_syncJavaToNative (JNIEnv *env, jobject, jlong, jintArray); +JNIEXPORT jlong JNICALL Java_gnu_java_awt_peer_gtk_CairoSurface_getFlippedBuffer (JNIEnv *env, jobject, jlong); JNIEXPORT jlong JNICALL Java_gnu_java_awt_peer_gtk_CairoSurface_nativeNewCairoContext (JNIEnv *env, jobject, jlong); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoSurface_copyAreaNative2 (JNIEnv *env, jobject, jlong, jint, jint, jint, jint, jint, jint, jint); diff --git a/libjava/classpath/include/gnu_java_awt_peer_gtk_FreetypeGlyphVector.h b/libjava/classpath/include/gnu_java_awt_peer_gtk_FreetypeGlyphVector.h index 10a4ea5..95463229 100644 --- a/libjava/classpath/include/gnu_java_awt_peer_gtk_FreetypeGlyphVector.h +++ b/libjava/classpath/include/gnu_java_awt_peer_gtk_FreetypeGlyphVector.h @@ -10,10 +10,12 @@ extern "C" { #endif -JNIEXPORT jintArray JNICALL Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_getGlyphs (JNIEnv *env, jobject, jintArray); -JNIEXPORT jobject JNICALL Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_getKerning (JNIEnv *env, jobject, jint, jint); -JNIEXPORT jdoubleArray JNICALL Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_getMetricsNative (JNIEnv *env, jobject, jint); -JNIEXPORT jobject JNICALL Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_getGlyphOutlineNative (JNIEnv *env, jobject, jint); +JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_getGlyphs (JNIEnv *env, jobject, jintArray, jintArray, jlongArray); +JNIEXPORT jobject JNICALL Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_getKerning (JNIEnv *env, jobject, jint, jint, jlong); +JNIEXPORT jdoubleArray JNICALL Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_getMetricsNative (JNIEnv *env, jobject, jint, jlong); +JNIEXPORT jobject JNICALL Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_getGlyphOutlineNative (JNIEnv *env, jobject, jint, jlong); +JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_dispose (JNIEnv *env, jobject, jlongArray); +JNIEXPORT jlong JNICALL Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_getNativeFontPointer (JNIEnv *env, jobject, jint); #ifdef __cplusplus } diff --git a/libjava/classpath/include/gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.h b/libjava/classpath/include/gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.h deleted file mode 100644 index 1db8098..0000000 --- a/libjava/classpath/include/gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.h +++ /dev/null @@ -1,19 +0,0 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ - -#ifndef __gnu_java_awt_peer_gtk_GThreadNativeMethodRunner__ -#define __gnu_java_awt_peer_gtk_GThreadNativeMethodRunner__ - -#include - -#ifdef __cplusplus -extern "C" -{ -#endif - -JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GThreadNativeMethodRunner_nativeRun (JNIEnv *env, jobject, jlong, jlong); - -#ifdef __cplusplus -} -#endif - -#endif /* __gnu_java_awt_peer_gtk_GThreadNativeMethodRunner__ */ diff --git a/libjava/classpath/include/gnu_java_awt_peer_gtk_GtkToolkit.h b/libjava/classpath/include/gnu_java_awt_peer_gtk_GtkToolkit.h index b91d54c..5bceda7 100644 --- a/libjava/classpath/include/gnu_java_awt_peer_gtk_GtkToolkit.h +++ b/libjava/classpath/include/gnu_java_awt_peer_gtk_GtkToolkit.h @@ -10,7 +10,7 @@ extern "C" { #endif -JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkToolkit_gtkInit (JNIEnv *env, jclass, jint); +JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkToolkit_gtkInit (JNIEnv *env, jclass, jint, jobject); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkToolkit_gtkMain (JNIEnv *env, jclass); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkToolkit_gtkQuit (JNIEnv *env, jclass); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkToolkit_beep (JNIEnv *env, jobject); @@ -18,6 +18,7 @@ JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkToolkit_getScreenSizeDimens JNIEXPORT jint JNICALL Java_gnu_java_awt_peer_gtk_GtkToolkit_getScreenResolution (JNIEnv *env, jobject); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkToolkit_sync (JNIEnv *env, jobject); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkToolkit_loadSystemColors (JNIEnv *env, jobject, jintArray); +JNIEXPORT jint JNICALL Java_gnu_java_awt_peer_gtk_GtkToolkit_getLockState (JNIEnv *env, jobject, jint); JNIEXPORT jint JNICALL Java_gnu_java_awt_peer_gtk_GtkToolkit_getMouseNumberOfButtons (JNIEnv *env, jobject); #ifdef __cplusplus diff --git a/libjava/classpath/include/gnu_java_lang_management_VMOperatingSystemMXBeanImpl.h b/libjava/classpath/include/gnu_java_lang_management_VMOperatingSystemMXBeanImpl.h new file mode 100644 index 0000000..3f35dad --- /dev/null +++ b/libjava/classpath/include/gnu_java_lang_management_VMOperatingSystemMXBeanImpl.h @@ -0,0 +1,19 @@ +/* DO NOT EDIT THIS FILE - it is machine generated */ + +#ifndef __gnu_java_lang_management_VMOperatingSystemMXBeanImpl__ +#define __gnu_java_lang_management_VMOperatingSystemMXBeanImpl__ + +#include + +#ifdef __cplusplus +extern "C" +{ +#endif + +JNIEXPORT jdouble JNICALL Java_gnu_java_lang_management_VMOperatingSystemMXBeanImpl_getSystemLoadAverage (JNIEnv *env, jclass); + +#ifdef __cplusplus +} +#endif + +#endif /* __gnu_java_lang_management_VMOperatingSystemMXBeanImpl__ */ diff --git a/libjava/classpath/include/java_io_VMFile.h b/libjava/classpath/include/java_io_VMFile.h index fa1079f..4b0273d 100644 --- a/libjava/classpath/include/java_io_VMFile.h +++ b/libjava/classpath/include/java_io_VMFile.h @@ -20,9 +20,13 @@ JNIEXPORT jboolean JNICALL Java_java_io_VMFile_exists (JNIEnv *env, jclass, jstr JNIEXPORT jboolean JNICALL Java_java_io_VMFile_delete (JNIEnv *env, jclass, jstring); JNIEXPORT jboolean JNICALL Java_java_io_VMFile_setLastModified (JNIEnv *env, jclass, jstring, jlong); JNIEXPORT jboolean JNICALL Java_java_io_VMFile_mkdir (JNIEnv *env, jclass, jstring); +JNIEXPORT jboolean JNICALL Java_java_io_VMFile_setReadable (JNIEnv *env, jclass, jstring, jboolean, jboolean); +JNIEXPORT jboolean JNICALL Java_java_io_VMFile_setWritable (JNIEnv *env, jclass, jstring, jboolean, jboolean); +JNIEXPORT jboolean JNICALL Java_java_io_VMFile_setExecutable (JNIEnv *env, jclass, jstring, jboolean, jboolean); JNIEXPORT jboolean JNICALL Java_java_io_VMFile_isFile (JNIEnv *env, jclass, jstring); JNIEXPORT jboolean JNICALL Java_java_io_VMFile_canWrite (JNIEnv *env, jclass, jstring); JNIEXPORT jboolean JNICALL Java_java_io_VMFile_canRead (JNIEnv *env, jclass, jstring); +JNIEXPORT jboolean JNICALL Java_java_io_VMFile_canExecute (JNIEnv *env, jclass, jstring); JNIEXPORT jboolean JNICALL Java_java_io_VMFile_isDirectory (JNIEnv *env, jclass, jstring); JNIEXPORT jstring JNICALL Java_java_io_VMFile_toCanonicalForm (JNIEnv *env, jclass, jstring); #undef java_io_VMFile_IS_CASE_SENSITIVE diff --git a/libjava/classpath/install-sh b/libjava/classpath/install-sh index 11870f1..4fbbae7 100755 --- a/libjava/classpath/install-sh +++ b/libjava/classpath/install-sh @@ -1,36 +1,62 @@ #!/bin/sh -# # install - install a program, script, or datafile -# This comes from X11R5 (mit/util/scripts/install.sh). + +scriptversion=2006-10-14.15 + +# This originates from X11R5 (mit/util/scripts/install.sh), which was +# later released in X11R6 (xc/config/util/install.sh) with the +# following copyright and license. +# +# Copyright (C) 1994 X Consortium +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: # -# Copyright 1991 by the Massachusetts Institute of Technology +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. # -# Permission to use, copy, modify, distribute, and sell this software and its -# documentation for any purpose is hereby granted without fee, provided that -# the above copyright notice appear in all copies and that both that -# copyright notice and this permission notice appear in supporting -# documentation, and that the name of M.I.T. not be used in advertising or -# publicity pertaining to distribution of the software without specific, -# written prior permission. M.I.T. makes no representations about the -# suitability of this software for any purpose. It is provided "as is" -# without express or implied warranty. +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- +# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# +# Except as contained in this notice, the name of the X Consortium shall not +# be used in advertising or otherwise to promote the sale, use or other deal- +# ings in this Software without prior written authorization from the X Consor- +# tium. +# +# +# FSF changes to this file are in the public domain. # # Calling this script install-sh is preferred over install.sh, to prevent # `make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written -# from scratch. It can only install one file at a time, a restriction -# shared with many OS's install programs. +# from scratch. +nl=' +' +IFS=" "" $nl" # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit="${DOITPROG-}" +if test -z "$doit"; then + doit_exec=exec +else + doit_exec=$doit +fi - -# put in absolute paths if you don't have them in your path; or use env. vars. +# Put in absolute file names if you don't have them in your path; +# or use environment vars. mvprog="${MVPROG-mv}" cpprog="${CPPROG-cp}" @@ -41,211 +67,441 @@ stripprog="${STRIPPROG-strip}" rmprog="${RMPROG-rm}" mkdirprog="${MKDIRPROG-mkdir}" -transformbasename="" -transform_arg="" -instcmd="$mvprog" -chmodcmd="$chmodprog 0755" -chowncmd="" -chgrpcmd="" -stripcmd="" +posix_glob= +posix_mkdir= + +# Desired mode of installed file. +mode=0755 + +chmodcmd=$chmodprog +chowncmd= +chgrpcmd= +stripcmd= rmcmd="$rmprog -f" mvcmd="$mvprog" -src="" -dst="" -dir_arg="" - -while [ x"$1" != x ]; do - case $1 in - -c) instcmd="$cpprog" - shift - continue;; - - -d) dir_arg=true - shift - continue;; - - -m) chmodcmd="$chmodprog $2" - shift - shift - continue;; - - -o) chowncmd="$chownprog $2" - shift - shift - continue;; - - -g) chgrpcmd="$chgrpprog $2" - shift - shift - continue;; - - -s) stripcmd="$stripprog" - shift - continue;; - - -t=*) transformarg=`echo $1 | sed 's/-t=//'` - shift - continue;; - - -b=*) transformbasename=`echo $1 | sed 's/-b=//'` - shift - continue;; - - *) if [ x"$src" = x ] - then - src=$1 - else - # this colon is to work around a 386BSD /bin/sh bug - : - dst=$1 - fi - shift - continue;; - esac -done +src= +dst= +dir_arg= +dstarg= +no_target_directory= + +usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE + or: $0 [OPTION]... SRCFILES... DIRECTORY + or: $0 [OPTION]... -t DIRECTORY SRCFILES... + or: $0 [OPTION]... -d DIRECTORIES... + +In the 1st form, copy SRCFILE to DSTFILE. +In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. +In the 4th, create DIRECTORIES. + +Options: +-c (ignored) +-d create directories instead of installing files. +-g GROUP $chgrpprog installed files to GROUP. +-m MODE $chmodprog installed files to MODE. +-o USER $chownprog installed files to USER. +-s $stripprog installed files. +-t DIRECTORY install into DIRECTORY. +-T report an error if DSTFILE is a directory. +--help display this help and exit. +--version display version info and exit. + +Environment variables override the default commands: + CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG +" + +while test $# -ne 0; do + case $1 in + -c) shift + continue;; + + -d) dir_arg=true + shift + continue;; + + -g) chgrpcmd="$chgrpprog $2" + shift + shift + continue;; + + --help) echo "$usage"; exit $?;; + + -m) mode=$2 + shift + shift + case $mode in + *' '* | *' '* | *' +'* | *'*'* | *'?'* | *'['*) + echo "$0: invalid mode: $mode" >&2 + exit 1;; + esac + continue;; + + -o) chowncmd="$chownprog $2" + shift + shift + continue;; + + -s) stripcmd=$stripprog + shift + continue;; + + -t) dstarg=$2 + shift + shift + continue;; -if [ x"$src" = x ] -then - echo "install: no input file specified" - exit 1 -else - : -fi + -T) no_target_directory=true + shift + continue;; -if [ x"$dir_arg" != x ]; then - dst=$src - src="" - - if [ -d $dst ]; then - instcmd=: - chmodcmd="" - else - instcmd=$mkdirprog - fi -else + --version) echo "$0 $scriptversion"; exit $?;; -# Waiting for this to be detected by the "$instcmd $src $dsttmp" command -# might cause directories to be created, which would be especially bad -# if $src (and thus $dsttmp) contains '*'. + --) shift + break;; - if [ -f "$src" ] || [ -d "$src" ] - then - : - else - echo "install: $src does not exist" - exit 1 - fi - - if [ x"$dst" = x ] - then - echo "install: no destination specified" - exit 1 - else - : - fi + -*) echo "$0: invalid option: $1" >&2 + exit 1;; -# If destination is a directory, append the input filename; if your system -# does not like double slashes in filenames, you may need to add some logic + *) break;; + esac +done - if [ -d $dst ] - then - dst="$dst"/`basename $src` - else - : - fi +if test $# -ne 0 && test -z "$dir_arg$dstarg"; then + # When -d is used, all remaining arguments are directories to create. + # When -t is used, the destination is already specified. + # Otherwise, the last argument is the destination. Remove it from $@. + for arg + do + if test -n "$dstarg"; then + # $@ is not empty: it contains at least $arg. + set fnord "$@" "$dstarg" + shift # fnord + fi + shift # arg + dstarg=$arg + done fi -## this sed command emulates the dirname command -dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` - -# Make sure that the destination directory exists. -# this part is taken from Noah Friedman's mkinstalldirs script - -# Skip lots of stat calls in the usual case. -if [ ! -d "$dstdir" ]; then -defaultIFS=' - ' -IFS="${IFS-${defaultIFS}}" - -oIFS="${IFS}" -# Some sh's can't handle IFS=/ for some reason. -IFS='%' -set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'` -IFS="${oIFS}" - -pathcomp='' - -while [ $# -ne 0 ] ; do - pathcomp="${pathcomp}${1}" - shift - - if [ ! -d "${pathcomp}" ] ; - then - $mkdirprog "${pathcomp}" - else - : - fi - - pathcomp="${pathcomp}/" -done +if test $# -eq 0; then + if test -z "$dir_arg"; then + echo "$0: no input file specified." >&2 + exit 1 + fi + # It's OK to call `install-sh -d' without argument. + # This can happen when creating conditional directories. + exit 0 fi -if [ x"$dir_arg" != x ] -then - $doit $instcmd $dst && - - if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else : ; fi && - if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else : ; fi && - if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else : ; fi && - if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else : ; fi -else +if test -z "$dir_arg"; then + 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. + case $mode in + # Optimize common cases. + *644) cp_umask=133;; + *755) cp_umask=22;; + + *[0-7]) + if test -z "$stripcmd"; then + u_plus_rw= + else + u_plus_rw='% 200' + fi + cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; + *) + if test -z "$stripcmd"; then + u_plus_rw= + else + u_plus_rw=,u+rw + fi + cp_umask=$mode$u_plus_rw;; + esac +fi -# If we're going to rename the final executable, determine the name now. +for src +do + # Protect names starting with `-'. + case $src in + -*) src=./$src ;; + esac + + if test -n "$dir_arg"; then + dst=$src + dstdir=$dst + test -d "$dstdir" + dstdir_status=$? + else + + # Waiting for this to be detected by the "$cpprog $src $dsttmp" command + # might cause directories to be created, which would be especially bad + # if $src (and thus $dsttmp) contains '*'. + if test ! -f "$src" && test ! -d "$src"; then + echo "$0: $src does not exist." >&2 + exit 1 + fi + + if test -z "$dstarg"; then + echo "$0: no destination specified." >&2 + exit 1 + fi + + dst=$dstarg + # Protect names starting with `-'. + case $dst in + -*) dst=./$dst ;; + esac - if [ x"$transformarg" = x ] - then - dstfile=`basename $dst` + # If destination is a directory, append the input filename; won't work + # if double slashes aren't ignored. + if test -d "$dst"; then + if test -n "$no_target_directory"; then + echo "$0: $dstarg: Is a directory" >&2 + exit 1 + fi + dstdir=$dst + dst=$dstdir/`basename "$src"` + dstdir_status=0 + else + # Prefer dirname, but fall back on a substitute if dirname fails. + dstdir=` + (dirname "$dst") 2>/dev/null || + expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$dst" : 'X\(//\)[^/]' \| \ + X"$dst" : 'X\(//\)$' \| \ + X"$dst" : 'X\(/\)' \| . 2>/dev/null || + echo X"$dst" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q' + ` + + test -d "$dstdir" + dstdir_status=$? + fi + fi + + obsolete_mkdir_used=false + + if test $dstdir_status != 0; then + case $posix_mkdir in + '') + # Create intermediate dirs using mode 755 as modified by the umask. + # This is like FreeBSD 'install' as of 1997-10-28. + umask=`umask` + case $stripcmd.$umask in + # Optimize common cases. + *[2367][2367]) mkdir_umask=$umask;; + .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; + + *[0-7]) + mkdir_umask=`expr $umask + 22 \ + - $umask % 100 % 40 + $umask % 20 \ + - $umask % 10 % 4 + $umask % 2 + `;; + *) mkdir_umask=$umask,go-w;; + esac + + # With -d, create the new directory with the user-specified mode. + # Otherwise, rely on $mkdir_umask. + if test -n "$dir_arg"; then + mkdir_mode=-m$mode else - dstfile=`basename $dst $transformbasename | - sed $transformarg`$transformbasename + mkdir_mode= fi -# don't allow the sed command to completely eliminate the filename + posix_mkdir=false + case $umask in + *[123567][0-7][0-7]) + # POSIX mkdir -p sets u+wx bits regardless of umask, which + # is incompatible with FreeBSD 'install' when (umask & 300) != 0. + ;; + *) + tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ + trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 + + if (umask $mkdir_umask && + exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 + then + if test -z "$dir_arg" || { + # Check for POSIX incompatibilities with -m. + # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or + # other-writeable bit of parent directory when it shouldn't. + # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. + ls_ld_tmpdir=`ls -ld "$tmpdir"` + case $ls_ld_tmpdir in + d????-?r-*) different_mode=700;; + d????-?--*) different_mode=755;; + *) false;; + esac && + $mkdirprog -m$different_mode -p -- "$tmpdir" && { + ls_ld_tmpdir_1=`ls -ld "$tmpdir"` + test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" + } + } + then posix_mkdir=: + fi + rmdir "$tmpdir/d" "$tmpdir" + else + # Remove any dirs left behind by ancient mkdir implementations. + rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null + fi + trap '' 0;; + esac;; + esac - if [ x"$dstfile" = x ] - then - dstfile=`basename $dst` + if + $posix_mkdir && ( + umask $mkdir_umask && + $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" + ) + then : + else + + # The umask is ridiculous, or mkdir does not conform to POSIX, + # or it failed possibly due to a race condition. Create the + # directory the slow way, step by step, checking for races as we go. + + case $dstdir in + /*) prefix=/ ;; + -*) prefix=./ ;; + *) prefix= ;; + esac + + case $posix_glob in + '') + if (set -f) 2>/dev/null; then + posix_glob=true + else + posix_glob=false + fi ;; + esac + + oIFS=$IFS + IFS=/ + $posix_glob && set -f + set fnord $dstdir + shift + $posix_glob && set +f + IFS=$oIFS + + prefixes= + + for d + do + test -z "$d" && continue + + prefix=$prefix$d + if test -d "$prefix"; then + prefixes= else - : + if $posix_mkdir; then + (umask=$mkdir_umask && + $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break + # Don't fail if two instances are running concurrently. + test -d "$prefix" || exit 1 + else + case $prefix in + *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; + *) qprefix=$prefix;; + esac + prefixes="$prefixes '$qprefix'" + fi fi + prefix=$prefix/ + done + + if test -n "$prefixes"; then + # Don't fail if two instances are running concurrently. + (umask $mkdir_umask && + eval "\$doit_exec \$mkdirprog $prefixes") || + test -d "$dstdir" || exit 1 + obsolete_mkdir_used=true + fi + fi + fi + + if test -n "$dir_arg"; then + { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && + { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && + { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || + test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 + else + + # Make a couple of temp file names in the proper directory. + dsttmp=$dstdir/_inst.$$_ + rmtmp=$dstdir/_rm.$$_ + + # Trap to clean up those temp files at exit. + trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 + + # Copy the file name to the temp name. + (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && + + # and set any options; do chmod last to preserve setuid bits. + # + # If any of these fail, we abort the whole thing. If we want to + # ignore errors from any of these, just make sure not to ignore + # errors from the above "$doit $cpprog $src $dsttmp" command. + # + { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \ + && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \ + && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \ + && { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && + + # Now rename the file to the real destination. + { $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null \ + || { + # The rename failed, perhaps because mv can't rename something else + # to itself, or perhaps because mv is so ancient that it does not + # support -f. + + # Now remove or move aside any old file at destination location. + # We try this two ways since rm can't unlink itself on some + # systems and the destination file might be busy for other + # reasons. In this case, the final cleanup might fail but the new + # file should still install successfully. + { + if test -f "$dst"; then + $doit $rmcmd -f "$dst" 2>/dev/null \ + || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null \ + && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }; }\ + || { + echo "$0: cannot unlink or rename $dst" >&2 + (exit 1); exit 1 + } + else + : + fi + } && + + # Now rename the file to the real destination. + $doit $mvcmd "$dsttmp" "$dst" + } + } || exit 1 + + trap '' 0 + fi +done -# Make a temp file name in the proper directory. - - dsttmp=$dstdir/#inst.$$# - -# Move or copy the file name to the temp name - - $doit $instcmd $src $dsttmp && - - trap "rm -f ${dsttmp}" 0 && - -# and set any options; do chmod last to preserve setuid bits - -# If any of these fail, we abort the whole thing. If we want to -# ignore errors from any of these, just make sure not to ignore -# errors from the above "$doit $instcmd $src $dsttmp" command. - - if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else :;fi && - if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else :;fi && - if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else :;fi && - if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else :;fi && - -# Now rename the file to the real destination. - - $doit $rmcmd -f $dstdir/$dstfile && - $doit $mvcmd $dsttmp $dstdir/$dstfile - -fi && - - -exit 0 +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/libjava/classpath/java/awt/AWTEvent.java b/libjava/classpath/java/awt/AWTEvent.java index 3f4027c..102062c 100644 --- a/libjava/classpath/java/awt/AWTEvent.java +++ b/libjava/classpath/java/awt/AWTEvent.java @@ -262,9 +262,17 @@ public abstract class AWTEvent extends EventObject */ public String toString () { + String src; + if (source instanceof Component) + src = ((Component) source).getName(); + else if (source instanceof MenuComponent) + src = ((MenuComponent) source).getName(); + else if (source != null) + src = source.toString(); + else + src = "null"; String string = getClass ().getName () + "[" + paramString () + "] on " - + source; - + + src; return string; } diff --git a/libjava/classpath/java/awt/AWTKeyStroke.java b/libjava/classpath/java/awt/AWTKeyStroke.java index 527e858..e0b34e9 100644 --- a/libjava/classpath/java/awt/AWTKeyStroke.java +++ b/libjava/classpath/java/awt/AWTKeyStroke.java @@ -1,5 +1,5 @@ /* AWTKeyStroke.java -- an immutable key stroke - Copyright (C) 2002, 2004, 2005 Free Software Foundation + Copyright (C) 2002, 2004, 2005, 2006 Free Software Foundation This file is part of GNU Classpath. @@ -93,9 +93,9 @@ public class AWTKeyStroke implements Serializable private static final int MAX_CACHE_SIZE = 2048; /** Prune stale entries. */ - protected boolean removeEldestEntry(Map.Entry + protected boolean removeEldestEntry(Entry eldest) - { // XXX - FIXME Use Map.Entry, not just Entry as gcj 3.1 workaround. + { return size() > MAX_CACHE_SIZE; } }; diff --git a/libjava/classpath/java/awt/AlphaComposite.java b/libjava/classpath/java/awt/AlphaComposite.java index 92b9e09..90df2e6 100644 --- a/libjava/classpath/java/awt/AlphaComposite.java +++ b/libjava/classpath/java/awt/AlphaComposite.java @@ -1,5 +1,5 @@ /* AlphaComposite.java -- provides a context for performing alpha compositing - Copyright (C) 2002, 2005 Free Software Foundation, Inc. + Copyright (C) 2002, 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -61,8 +61,8 @@ public final class AlphaComposite implements Composite private static final int MAX_CACHE_SIZE = 2048; /** Prune stale entries. */ - protected boolean removeEldestEntry(Map.Entry eldest) - { // XXX - FIXME Use Map.Entry, not just Entry as gcj 3.1 workaround. + protected boolean removeEldestEntry(Entry eldest) + { return size() > MAX_CACHE_SIZE; } }; diff --git a/libjava/classpath/java/awt/Canvas.java b/libjava/classpath/java/awt/Canvas.java index 843fded..95db1f5 100644 --- a/libjava/classpath/java/awt/Canvas.java +++ b/libjava/classpath/java/awt/Canvas.java @@ -75,11 +75,6 @@ public class Canvas private static transient long next_canvas_number; /** - * The graphics configuration associated with the canvas. - */ - transient GraphicsConfiguration graphicsConfiguration; - - /** * The buffer strategy associated with this canvas. */ transient BufferStrategy bufferStrategy; @@ -100,14 +95,7 @@ public class Canvas */ public Canvas(GraphicsConfiguration graphicsConfiguration) { - this.graphicsConfiguration = graphicsConfiguration; - } - - GraphicsConfiguration getGraphicsConfigurationImpl() - { - if (graphicsConfiguration != null) - return graphicsConfiguration; - return super.getGraphicsConfigurationImpl(); + this.graphicsConfig = graphicsConfiguration; } /** diff --git a/libjava/classpath/java/awt/CardLayout.java b/libjava/classpath/java/awt/CardLayout.java index 2e3feec..35380d2 100644 --- a/libjava/classpath/java/awt/CardLayout.java +++ b/libjava/classpath/java/awt/CardLayout.java @@ -225,7 +225,7 @@ public class CardLayout implements LayoutManager2, Serializable */ public Dimension maximumLayoutSize (Container target) { - if (target == null) + if (target == null || target.ncomponents == 0) return new Dimension(Integer.MAX_VALUE, Integer.MAX_VALUE); // The JCL says that this returns Integer.MAX_VALUE for both // dimensions. But that just seems wrong to me. diff --git a/libjava/classpath/java/awt/Component.java b/libjava/classpath/java/awt/Component.java index b6eadab..f8bed17 100644 --- a/libjava/classpath/java/awt/Component.java +++ b/libjava/classpath/java/awt/Component.java @@ -726,7 +726,23 @@ public abstract class Component */ public GraphicsConfiguration getGraphicsConfiguration() { - return getGraphicsConfigurationImpl(); + GraphicsConfiguration conf = null; + synchronized (getTreeLock()) + { + if (graphicsConfig != null) + { + conf = graphicsConfig; + } + else + { + Component par = getParent(); + if (par != null) + { + conf = parent.getGraphicsConfiguration(); + } + } + } + return conf; } /** @@ -823,7 +839,8 @@ public abstract class Component */ public boolean isShowing() { - return visible && peer != null && (parent == null || parent.isShowing()); + Component par = parent; + return visible && peer != null && (par == null || par.isShowing()); } /** @@ -1179,19 +1196,12 @@ public abstract class Component */ public Font getFont() { - Font f; - synchronized (getTreeLock()) - { - f = getFontImpl(); - } - return f; + return getFontImpl(); } /** * Implementation of getFont(). This is pulled out of getFont() to prevent - * client programs from overriding this. This method is executed within - * a tree lock, so we can assume that the hierarchy doesn't change in - * between. + * client programs from overriding this. * * @return the font of this component */ @@ -1204,7 +1214,12 @@ public abstract class Component if (p != null) f = p.getFontImpl(); else - f = new Font("Dialog", Font.PLAIN, 12); + { + // It is important to return null here and not some kind of default + // font, otherwise the Swing UI would not install its fonts because + // it keeps non-UIResource fonts. + f = null; + } } return f; } @@ -5435,27 +5450,6 @@ p *
  • the set of backward traversal keys } /** - * Implementation method that allows classes such as Canvas and Window to - * override the graphics configuration without violating the published API. - * - * @return the graphics configuration - */ - GraphicsConfiguration getGraphicsConfigurationImpl() - { - if (peer != null) - { - GraphicsConfiguration config = peer.getGraphicsConfiguration(); - if (config != null) - return config; - } - - if (parent != null) - return parent.getGraphicsConfiguration(); - - return null; - } - - /** * Translate an AWT 1.1 event ({@link AWTEvent}) into an AWT 1.0 * event ({@link Event}). * diff --git a/libjava/classpath/java/awt/Desktop.java b/libjava/classpath/java/awt/Desktop.java new file mode 100644 index 0000000..8010464 --- /dev/null +++ b/libjava/classpath/java/awt/Desktop.java @@ -0,0 +1,268 @@ +/* Desktop.java -- enable desktop integration between java programs and system + programs. + Copyright (C) 2006 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.awt; + +import java.awt.peer.DesktopPeer; +import java.io.File; +import java.io.IOException; +import java.net.URI; + +/** + * This class enables Java application to access system commands to perform + * desktop oriented operations, like writing and sending emails, or surfing + * webpages with the system browser or editing/printing files with a default + * editor. Methods are provided to handle these common operations, plus an + * open command selects a default registered application for the + * specified file type. For example, opening an odf file results in launching + * OpenOffice. If an operation is not supported, or the application fails to + * launch, an exception is generated. + * + * Implementation note: As this class is used to manage Desktop + * integration, we provide some extension to configure the behaviour of this + * class depending on the type of dektop that is detected.
    + * + * First of all, we support 5 system properties that can be used to define + * the application to launch in any given case. These properties are:
    + *
    + * gnu.java.awt.peer.Desktop.html.command
    + * gnu.java.awt.peer.Desktop.mail.command
    + * gnu.java.awt.peer.Desktop.edit.command
    + * gnu.java.awt.peer.Desktop.print.command
    + * gnu.java.awt.peer.Desktop.open.command
    + *
    + *
    + * These can be specified from the command line and have priority on every + * other setting.
    + *
    + * The second method supported is defining a Java preference.
    + * The main preference node is a user node relative to the + * class gnu.java.awt.peer.ClasspathDesktopPeer. This node + * contains a child for each supported operation. The key for each type is + * always command: + *

    + * gnu.java.awt.peer.Desktop.html.command
    + * gnu.java.awt.peer.Desktop.mail.command
    + * gnu.java.awt.peer.Desktop.edit.command
    + * gnu.java.awt.peer.Desktop.print.command
    + * gnu.java.awt.peer.Desktop.open.command
    + *
    + *
    + * The access to these keys is done with the Preference API or, if outside + * of the java scope, is done in a backend dependent way. For example, + * with the GConf backend, you can access these properties + * with (may not be accurate on your system): + *

    + * + * gconftool-2 -g /apps/classpath/gnu/java/awt/peer/Desktop/html/command + * + * + * @author Mario Torre + * @since 1.6 + */ +public class Desktop +{ + /** + * Represents an action type supported by a platform. + * + * To determine if a given action is supported by the platform, + * use the Desktop.isSupported(java.awt.Desktop.Action) + * method. + * + * @author Mario Torre + */ + public enum Action + { + BROWSE, EDIT, MAIL, OPEN, PRINT + } + + private DesktopPeer peer; + + private Desktop() + { + /* nothing to be done */ + } + + /** + * Returns an istance of the Desktop Class. + * + * If this implementation does not support Desktop, an + * UnsupportedOperationException will be thrown. + * Also, an HeadlessException will be generated if + * GraphicsEnvironment.isHeadless() returns true. + * + * @throws UnsupportedOperationException + * @throws HeadlessException + */ + public static Desktop getDesktop() throws UnsupportedOperationException, + HeadlessException + { + if (GraphicsEnvironment.isHeadless()) + throw new HeadlessException(); + + if (!Desktop.isDesktopSupported()) + throw new UnsupportedOperationException(); + + Desktop desktop = new Desktop(); + desktop.peer = Toolkit.getDefaultToolkit().createDesktopPeer(desktop); + + return desktop; + } + + /** + * Check if this implementation supports Desktop. + * If true, use getDesktop to get an instance of this class. + * + * This implementation will return false when GraphicsEnvironment.isHeadless + * returns true. + * + * @return true if this class is supported on the current platform; + * false otherwise + */ + private static boolean isDesktopSupported() + { + if (GraphicsEnvironment.isHeadless()) + return false; + + return true; + } + + /** + * Check if the given Action is supported by this implementation. + * + * @param action + * @return + */ + public boolean isSupported(Desktop.Action action) + { + return peer.isSupported(action); + } + + /** + * Launches the Desktop default browser to open the given uri. + * + * If a security manager exists and denies + * AWTPermission("showWindowWithoutWarningBanner"),a SecurityException will + * be generated. + * + * @param uri + * @throws IOException + */ + public void browse(URI uri) + throws IOException + { + peer.browse(uri); + } + + /** + * Launch the edit command to edit this file. + * File should already exist before the editing starts. + * + * If a security manager exists and + * SecurityManager.checkRead(java.lang.String) method denies read access to + * the file, or SecurityManager.checkPrintJobAccess() method denies the + * permission to print the file, a SecurityException will be generated. + * + * @param file + * @throws IOException + */ + public void edit(File file) + throws IOException + { + peer.edit(file); + } + + /** + * Launches the Desktop default mailer. + * + * If a security manager exists and denies + * AWTPermission("showWindowWithoutWarningBanner"), a SecurityException will + * be generated. + * + * @throws IOException + */ + public void mail() + throws IOException + { + peer.mail(); + } + + /** + * Launches the Desktop default mailer, with the given mailtoURI + * as agrument. The mailtoURI must conform to the + * {@link http://www.ietf.org/rfc/rfc2368.txt The mailto URL scheme (RFC 2368)} + * + * If a security manager exists and denies + * AWTPermission("showWindowWithoutWarningBanner"), a SecurityException will + * be generated. + * + * @param mailtoURI + * @throws IOException + */ + public void mail(URI mailtoURI) + throws IOException + { + peer.mail(mailtoURI); + } + + /** + * Launches the Desktop default application to open the given File. + * If file is a directory, a file manager is launched. + * + * @param file + * @throws IOException + */ + public void open(File file) + throws IOException + { + peer.open(file); + } + + /** + * Launch the print program to print this file. + * + * @param file + * @throws IOException + */ + public void print(File file) + throws IOException + { + peer.print(file); + } +} diff --git a/libjava/classpath/java/awt/EventDispatchThread.java b/libjava/classpath/java/awt/EventDispatchThread.java index 074a849..9f81a79 100644 --- a/libjava/classpath/java/awt/EventDispatchThread.java +++ b/libjava/classpath/java/awt/EventDispatchThread.java @@ -73,6 +73,9 @@ class EventDispatchThread extends Thread // Ignore and use default. } setPriority(priority); + + // Make sure that an event dispatch thread is never a daemon thread. + setDaemon(false); } public void run() diff --git a/libjava/classpath/java/awt/EventQueue.java b/libjava/classpath/java/awt/EventQueue.java index 74dbd5f..eb17449 100644 --- a/libjava/classpath/java/awt/EventQueue.java +++ b/libjava/classpath/java/awt/EventQueue.java @@ -128,10 +128,8 @@ public class EventQueue if (peekEvent() != null) return false; - Frame[] frames = Frame.getFrames(); - for (int i = 0; i < frames.length; ++i) - if (frames[i].isDisplayable()) - return false; + if (Frame.hasDisplayableFrames()) + return false; return true; } diff --git a/libjava/classpath/java/awt/Frame.java b/libjava/classpath/java/awt/Frame.java index d5cc7f5..3cc8738 100644 --- a/libjava/classpath/java/awt/Frame.java +++ b/libjava/classpath/java/awt/Frame.java @@ -40,9 +40,10 @@ exception statement from your version. */ package java.awt; import java.awt.peer.FramePeer; +import java.lang.ref.Reference; +import java.lang.ref.ReferenceQueue; import java.lang.ref.WeakReference; import java.util.ArrayList; -import java.util.Iterator; import java.util.Vector; import javax.accessibility.AccessibleContext; @@ -484,44 +485,72 @@ public class Frame extends Window implements MenuContainer return super.paramString () + ",title=" + title + resizable + state; } - private static ArrayList weakFrames = new ArrayList(); + /** + * The list of active frames. GC'ed frames get removed in noteFrame(). + */ + private static ArrayList> weakFrames = + new ArrayList>(); + + /** + * The death queue for all frames. + */ + private static ReferenceQueue weakFramesQueue = + new ReferenceQueue(); private static void noteFrame(Frame f) { synchronized (weakFrames) { - weakFrames.add(new WeakReference(f)); + // Remove GCed frames from the list. + Reference ref = weakFramesQueue.poll(); + while (ref != null) + { + weakFrames.remove(ref); + ref = weakFramesQueue.poll(); + } + // Add new frame. + weakFrames.add(new WeakReference(f)); } } + /** + * Returns true when there are any displayable frames, + * false otherwise. + * + * @return true when there are any displayable frames, + * false otherwise + */ + static boolean hasDisplayableFrames() + { + synchronized (weakFrames) + { + for (WeakReference r : Frame.weakFrames) + { + Frame f = (Frame) r.get(); + if (f != null && f.isDisplayable()) + return true; + } + } + return false; + } + public static Frame[] getFrames() { - int n = 0; synchronized (weakFrames) - { - Iterator i = weakFrames.iterator(); - while (i.hasNext()) - { - WeakReference wr = (WeakReference) i.next(); - if (wr.get() != null) - ++n; - } - if (n == 0) - return new Frame[0]; - else - { - Frame[] frames = new Frame[n]; - n = 0; - i = weakFrames.iterator(); - while (i.hasNext()) - { - WeakReference wr = (WeakReference) i.next(); - if (wr.get() != null) - frames[n++] = (Frame) wr.get(); - } - return frames; - } - } + { + ArrayList existingFrames = new ArrayList(); + for (WeakReference ref : weakFrames) + { + Frame f = ref.get(); + if (f != null) + { + existingFrames.add(f); + } + } + Frame[] frames = new Frame[existingFrames.size()]; + frames = existingFrames.toArray(frames); + return frames; + } } public void setState(int state) diff --git a/libjava/classpath/java/awt/GraphicsConfiguration.java b/libjava/classpath/java/awt/GraphicsConfiguration.java index 792b2cc..3cf8b65 100644 --- a/libjava/classpath/java/awt/GraphicsConfiguration.java +++ b/libjava/classpath/java/awt/GraphicsConfiguration.java @@ -38,8 +38,6 @@ exception statement from your version. */ package java.awt; -import gnu.classpath.NotImplementedException; - import java.awt.geom.AffineTransform; import java.awt.image.BufferedImage; import java.awt.image.ColorModel; @@ -131,7 +129,8 @@ public abstract class GraphicsConfiguration ImageCapabilities caps) throws AWTException { - throw new AWTException("not implemented"); + // Must be overridden by implementations to check caps. + return createCompatibleVolatileImage(w, h); } /** @@ -150,6 +149,32 @@ public abstract class GraphicsConfiguration int transparency); /** + * Creates a volatile image with the specified capabilities and transparency. + * If the backend cannot meet the requested capabilities and transparency, + * an AWTException is thrown. + * + * @param width the width of the image + * @param height the height of the image + * @param caps the requested capabilities + * @param transparency the required transparency + * + * @return a volatile image with the specified capabilites and transparency + * + * @throws AWTException if the required capabilities and transparency cannot + * be met + * + * @since 1.5 + */ + public VolatileImage createCompatibleVolatileImage(int width, int height, + ImageCapabilities caps, + int transparency) + throws AWTException + { + // Must be overridden by implementations to check caps. + return createCompatibleVolatileImage(width, height, transparency); + } + + /** * Returns a buffered image optimized to this device, and with the specified * transparency, so that blitting can be supported in the buffered image. * diff --git a/libjava/classpath/java/awt/RenderingHints.java b/libjava/classpath/java/awt/RenderingHints.java index ce327e3..e98a00c 100644 --- a/libjava/classpath/java/awt/RenderingHints.java +++ b/libjava/classpath/java/awt/RenderingHints.java @@ -158,7 +158,7 @@ public class RenderingHints } } // class KeyImpl - private HashMap hintMap = new HashMap(); + private HashMap hintMap = new HashMap(); /** * A key for the 'antialiasing' hint. Permitted values are: @@ -711,9 +711,9 @@ public class RenderingHints Iterator iterator = m.keySet().iterator(); while (iterator.hasNext()) { - Key key = (Key) iterator.next(); - if (!key.isCompatibleValue(m.get(key))) - throw new IllegalArgumentException(); + Key key = (Key) iterator.next(); + if (!key.isCompatibleValue(m.get(key))) + throw new IllegalArgumentException(); } // map is OK, update hintMap.putAll(m); @@ -783,7 +783,7 @@ public class RenderingHints try { RenderingHints copy = (RenderingHints) super.clone(); - copy.hintMap = (HashMap) hintMap.clone(); + copy.hintMap = new HashMap(hintMap); return copy; } catch (CloneNotSupportedException e) diff --git a/libjava/classpath/java/awt/Toolkit.java b/libjava/classpath/java/awt/Toolkit.java index 6904072..305402e 100644 --- a/libjava/classpath/java/awt/Toolkit.java +++ b/libjava/classpath/java/awt/Toolkit.java @@ -1,5 +1,5 @@ /* Toolkit.java -- AWT Toolkit superclass - Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 + Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -40,6 +40,7 @@ exception statement from your version. */ package java.awt; import gnu.classpath.SystemProperties; +import gnu.java.awt.AWTUtilities; import gnu.java.awt.peer.GLightweightPeer; import gnu.java.awt.peer.headless.HeadlessToolkit; @@ -62,6 +63,7 @@ import java.awt.peer.CanvasPeer; import java.awt.peer.CheckboxMenuItemPeer; import java.awt.peer.CheckboxPeer; import java.awt.peer.ChoicePeer; +import java.awt.peer.DesktopPeer; import java.awt.peer.DialogPeer; import java.awt.peer.FileDialogPeer; import java.awt.peer.FontPeer; @@ -148,6 +150,15 @@ public abstract class Toolkit } /** + * + * @param target + * @return + * @throws HeadlessException + */ + protected abstract DesktopPeer createDesktopPeer(Desktop target) + throws HeadlessException; + + /** * Creates a peer object for the specified Button. * * @param target The Button to create the peer for. @@ -802,12 +813,11 @@ public abstract class Toolkit */ public boolean getLockingKeyState(int keyCode) { - if (keyCode != KeyEvent.VK_CAPS_LOCK - && keyCode != KeyEvent.VK_NUM_LOCK - && keyCode != KeyEvent.VK_SCROLL_LOCK) - throw new IllegalArgumentException(); - - throw new UnsupportedOperationException(); + if (AWTUtilities.isValidKey(keyCode)) + throw new UnsupportedOperationException + ("cannot get locking state of key code " + keyCode); + + throw new IllegalArgumentException("invalid key code " + keyCode); } /** diff --git a/libjava/classpath/java/awt/Window.java b/libjava/classpath/java/awt/Window.java index 41dff55..2a59375 100644 --- a/libjava/classpath/java/awt/Window.java +++ b/libjava/classpath/java/awt/Window.java @@ -87,7 +87,6 @@ public class Window extends Container implements Accessible private transient WindowListener windowListener; private transient WindowFocusListener windowFocusListener; private transient WindowStateListener windowStateListener; - private transient GraphicsConfiguration graphicsConfiguration; private transient boolean shown; @@ -132,13 +131,13 @@ public class Window extends Container implements Accessible setLayout(new BorderLayout()); GraphicsEnvironment g = GraphicsEnvironment.getLocalGraphicsEnvironment(); - graphicsConfiguration = g.getDefaultScreenDevice().getDefaultConfiguration(); + graphicsConfig = g.getDefaultScreenDevice().getDefaultConfiguration(); } Window(GraphicsConfiguration gc) { this(); - graphicsConfiguration = gc; + graphicsConfig = gc; } /** @@ -204,19 +203,11 @@ public class Window extends Container implements Accessible throw new IllegalArgumentException ("gc must be from a screen device"); if (gc == null) - graphicsConfiguration = GraphicsEnvironment.getLocalGraphicsEnvironment() - .getDefaultScreenDevice() - .getDefaultConfiguration(); + graphicsConfig = GraphicsEnvironment.getLocalGraphicsEnvironment() + .getDefaultScreenDevice() + .getDefaultConfiguration(); else - graphicsConfiguration = gc; - } - - GraphicsConfiguration getGraphicsConfigurationImpl() - { - if (graphicsConfiguration != null) - return graphicsConfiguration; - - return super.getGraphicsConfigurationImpl(); + graphicsConfig = gc; } /** @@ -1073,9 +1064,14 @@ public class Window extends Container implements Accessible */ public GraphicsConfiguration getGraphicsConfiguration() { - if (graphicsConfiguration != null) return graphicsConfiguration; - if (peer != null) return peer.getGraphicsConfiguration(); - return null; + GraphicsConfiguration conf = graphicsConfig; + if (conf == null) + { + conf = GraphicsEnvironment.getLocalGraphicsEnvironment() + .getDefaultScreenDevice().getDefaultConfiguration(); + graphicsConfig = conf; + } + return conf; } protected void processWindowFocusEvent(WindowEvent event) diff --git a/libjava/classpath/java/awt/datatransfer/SystemFlavorMap.java b/libjava/classpath/java/awt/datatransfer/SystemFlavorMap.java index e163fe0..7f296b5 100644 --- a/libjava/classpath/java/awt/datatransfer/SystemFlavorMap.java +++ b/libjava/classpath/java/awt/datatransfer/SystemFlavorMap.java @@ -38,12 +38,21 @@ exception statement from your version. */ package java.awt.datatransfer; -import gnu.classpath.NotImplementedException; - +import java.awt.Toolkit; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.net.URL; +import java.security.AccessController; +import java.security.PrivilegedAction; import java.util.ArrayList; +import java.util.Collection; +import java.util.Enumeration; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Properties; import java.util.WeakHashMap; /** @@ -72,19 +81,102 @@ public final class SystemFlavorMap implements FlavorMap, FlavorTable * This map maps native Strings to lists of * DataFlavors */ - private HashMap nativeToFlavorMap = new HashMap(); + private HashMap> nativeToFlavorMap = + new HashMap>(); /** * This map maps DataFlavors to lists of native * Strings */ - private HashMap flavorToNativeMap = new HashMap(); + private HashMap> flavorToNativeMap = + new HashMap>(); /** * Private constructor. */ private SystemFlavorMap () { + AccessController.doPrivileged + (new PrivilegedAction() + { + public Object run() + { + try + { + // Load installed flavormap.properties first. + String sep = File.separator; + File propsFile = + new File(System.getProperty("gnu.classpath.home.url") + + sep + "accessibility.properties"); + InputStream in = new FileInputStream(propsFile); + Properties props = new Properties(); + props.load(in); + in.close(); + + String augmented = Toolkit.getProperty("AWT.DnD.flavorMapFileURL", + null); + if (augmented != null) + { + URL url = new URL(augmented); + in = url.openStream(); + props.load(in); + } + setupMapping(props); + } + catch (IOException ex) + { + // Can't do anything about it. + } + return null; + } + }); + } + + /** + * Sets up the mapping from native to mime types and vice versa as specified + * in the flavormap.properties file. + * + * This is package private to avoid an accessor method. + * + * @param props the properties file + */ + void setupMapping(Properties props) + { + Enumeration propNames = props.propertyNames(); + while (propNames.hasMoreElements()) + { + try + { + String nat = (String) propNames.nextElement(); + String mime = (String) props.getProperty(nat); + // Check valid mime type. + MimeType type = new MimeType(mime); + DataFlavor flav = new DataFlavor(mime); + + List flavs = nativeToFlavorMap.get(nat); + if (flavs == null) + { + flavs = new ArrayList(); + nativeToFlavorMap.put(nat, flavs); + } + List nats = flavorToNativeMap.get(flav); + if (nats == null) + { + nats = new ArrayList(); + flavorToNativeMap.put(flav, nats); + } + flavs.add(flav); + nats.add(nat); + } + catch (ClassNotFoundException ex) + { + // Skip. + } + catch (MimeTypeParseException ex) + { + // Skip. + } + } } /** @@ -263,16 +355,52 @@ public final class SystemFlavorMap implements FlavorMap, FlavorTable * specified native and a DataFlavor whose MIME type is a decoded * version of the native. */ - public List getFlavorsForNative (String nat) - throws NotImplementedException + public List getFlavorsForNative(String nat) { - throw new Error ("Not implemented"); + List ret = new ArrayList(); + if (nat == null) + { + Collection> all = nativeToFlavorMap.values(); + for (List list : all) + { + for (DataFlavor flav : list) + { + if (! ret.contains(flav)) + ret.add(flav); + } + } + } + else + { + List list = nativeToFlavorMap.get(nat); + if (list != null) + ret.addAll(list); + } + return ret; } public List getNativesForFlavor (DataFlavor flav) - throws NotImplementedException { - throw new Error ("Not implemented"); + List ret = new ArrayList(); + if (flav == null) + { + Collection> all = flavorToNativeMap.values(); + for (List list : all) + { + for (String nat : list) + { + if (! ret.contains(nat)) + ret.add(nat); + } + } + } + else + { + List list = flavorToNativeMap.get(flav); + if (list != null) + ret.addAll(list); + } + return ret; } /** @@ -298,10 +426,10 @@ public final class SystemFlavorMap implements FlavorMap, FlavorTable { if ((nativeStr == null) || (flavor == null)) throw new NullPointerException(); - List flavors = (List) nativeToFlavorMap.get(nativeStr); + List flavors = nativeToFlavorMap.get(nativeStr); if (flavors == null) { - flavors = new ArrayList(); + flavors = new ArrayList(); nativeToFlavorMap.put(nativeStr, flavors); } else @@ -336,10 +464,10 @@ public final class SystemFlavorMap implements FlavorMap, FlavorTable { if ((nativeStr == null) || (flavor == null)) throw new NullPointerException(); - List natives = (List) flavorToNativeMap.get(flavor); + List natives = flavorToNativeMap.get(flavor); if (natives == null) { - natives = new ArrayList(); + natives = new ArrayList(); flavorToNativeMap.put(flavor, natives); } else diff --git a/libjava/classpath/java/awt/geom/GeneralPath.java b/libjava/classpath/java/awt/geom/GeneralPath.java index 1e9ede5..fa27d19 100644 --- a/libjava/classpath/java/awt/geom/GeneralPath.java +++ b/libjava/classpath/java/awt/geom/GeneralPath.java @@ -79,22 +79,17 @@ import java.awt.Shape; */ public final class GeneralPath implements Shape, Cloneable { - // WORKAROUND for gcj 4.0.x (x < 3) - // fully qualify PathIterator constants. - /** Same constant as {@link PathIterator#WIND_EVEN_ODD}. */ - public static final int WIND_EVEN_ODD - = java.awt.geom.PathIterator.WIND_EVEN_ODD; + public static final int WIND_EVEN_ODD = PathIterator.WIND_EVEN_ODD; /** Same constant as {@link PathIterator#WIND_NON_ZERO}. */ - public static final int WIND_NON_ZERO - = java.awt.geom.PathIterator.WIND_NON_ZERO; + public static final int WIND_NON_ZERO = PathIterator.WIND_NON_ZERO; /** Initial size if not specified. */ private static final int INIT_SIZE = 10; /** A big number, but not so big it can't survive a few float operations */ - private static final double BIG_VALUE = java.lang.Double.MAX_VALUE / 10.0; + private static final double BIG_VALUE = Double.MAX_VALUE / 10.0; /** The winding rule. * This is package-private to avoid an accessor method. diff --git a/libjava/classpath/java/awt/image/BufferedImage.java b/libjava/classpath/java/awt/image/BufferedImage.java index ef3141d..c987946 100644 --- a/libjava/classpath/java/awt/image/BufferedImage.java +++ b/libjava/classpath/java/awt/image/BufferedImage.java @@ -39,7 +39,9 @@ exception statement from your version. */ package java.awt.image; import gnu.java.awt.Buffers; +import gnu.java.awt.ClasspathGraphicsEnvironment; import gnu.java.awt.ComponentDataBlitOp; +import gnu.java.awt.peer.gtk.CairoSurface; import java.awt.Graphics; import java.awt.Graphics2D; @@ -83,7 +85,7 @@ public class BufferedImage extends Image /** * Vector of TileObservers (or null) */ - Vector tileObservers; + Vector tileObservers; /** * The image's WritableRaster @@ -143,39 +145,39 @@ public class BufferedImage extends Image { SampleModel sm = null; ColorModel cm = null; - boolean premultiplied = (type == BufferedImage.TYPE_INT_ARGB_PRE || - type == BufferedImage.TYPE_4BYTE_ABGR_PRE); + boolean premultiplied = (type == BufferedImage.TYPE_INT_ARGB_PRE + || type == BufferedImage.TYPE_4BYTE_ABGR_PRE); switch( type ) { case BufferedImage.TYPE_INT_RGB: - sm = new SinglePixelPackedSampleModel( DataBuffer.TYPE_INT, - width, height, - new int[]{ 0x00FF0000, - 0x0000FF00, - 0x000000FF } ) ; - cm = new DirectColorModel( 24, 0xff0000, 0xff00, 0xff ); - break; + sm = new SinglePixelPackedSampleModel( DataBuffer.TYPE_INT, + width, height, + new int[]{ 0x00FF0000, + 0x0000FF00, + 0x000000FF } ) ; + cm = new DirectColorModel( 24, 0xff0000, 0xff00, 0xff ); + break; case BufferedImage.TYPE_3BYTE_BGR: - sm = new PixelInterleavedSampleModel( DataBuffer.TYPE_BYTE, - width, height, - 3, width * 3, - new int[]{ 2, 1, 0 } ); - cm = new ComponentColorModel(ColorSpace.getInstance(ColorSpace.CS_sRGB), - false, false, - BufferedImage.OPAQUE, - DataBuffer.TYPE_BYTE); + sm = new PixelInterleavedSampleModel( DataBuffer.TYPE_BYTE, + width, height, + 3, width * 3, + new int[]{ 2, 1, 0 } ); + cm = new ComponentColorModel(ColorSpace.getInstance(ColorSpace.CS_sRGB), + false, false, + BufferedImage.OPAQUE, + DataBuffer.TYPE_BYTE); break; case BufferedImage.TYPE_INT_ARGB: case BufferedImage.TYPE_INT_ARGB_PRE: - sm = new SinglePixelPackedSampleModel( DataBuffer.TYPE_INT, - width, height, - new int[]{ 0x00FF0000, - 0x0000FF00, - 0x000000FF, - 0xFF000000 } ); + sm = new SinglePixelPackedSampleModel( DataBuffer.TYPE_INT, + width, height, + new int[]{ 0x00FF0000, + 0x0000FF00, + 0x000000FF, + 0xFF000000 } ); if (premultiplied) cm = new DirectColorModel( ColorSpace.getInstance(ColorSpace.CS_sRGB), 32, 0xff0000, 0xff00, 0xff, 0xff000000, @@ -183,7 +185,8 @@ public class BufferedImage extends Image Buffers.smallestAppropriateTransferType(32)); else cm = new DirectColorModel( 32, 0xff0000, 0xff00, 0xff, 0xff000000 ); - break; + + break; case BufferedImage.TYPE_4BYTE_ABGR: case BufferedImage.TYPE_4BYTE_ABGR_PRE: @@ -195,57 +198,58 @@ public class BufferedImage extends Image true, premultiplied, BufferedImage.TRANSLUCENT, DataBuffer.TYPE_BYTE); - break; + break; case BufferedImage.TYPE_INT_BGR: - sm = new SinglePixelPackedSampleModel( DataBuffer.TYPE_INT, - width, height, - new int[]{ 0x000000FF, - 0x0000FF00, - 0x00FF0000 } ) ; - cm = new DirectColorModel( 24, 0xff, 0xff00, 0xff0000 ); + sm = new SinglePixelPackedSampleModel( DataBuffer.TYPE_INT, + width, height, + new int[]{ 0x000000FF, + 0x0000FF00, + 0x00FF0000 } ) ; + cm = new DirectColorModel( 24, 0xff, 0xff00, 0xff0000 ); break; case BufferedImage.TYPE_USHORT_565_RGB: - sm = new SinglePixelPackedSampleModel( DataBuffer.TYPE_USHORT, - width, height, - new int[]{ 0xF800, - 0x7E0, - 0x1F } ) ; - cm = new DirectColorModel( 16, 0xF800, 0x7E0, 0x1F ); - break; + sm = new SinglePixelPackedSampleModel( DataBuffer.TYPE_USHORT, + width, height, + new int[]{ 0xF800, + 0x7E0, + 0x1F } ) ; + cm = new DirectColorModel( 16, 0xF800, 0x7E0, 0x1F ); + break; + case BufferedImage.TYPE_USHORT_555_RGB: - sm = new SinglePixelPackedSampleModel( DataBuffer.TYPE_USHORT, - width, height, - new int[]{ 0x7C00, - 0x3E0, - 0x1F } ) ; - cm = new DirectColorModel( 15, 0x7C00, 0x3E0, 0x1F ); - break; + sm = new SinglePixelPackedSampleModel( DataBuffer.TYPE_USHORT, + width, height, + new int[]{ 0x7C00, + 0x3E0, + 0x1F } ) ; + cm = new DirectColorModel( 15, 0x7C00, 0x3E0, 0x1F ); + break; case BufferedImage.TYPE_BYTE_INDEXED: - cm = createDefaultIndexedColorModel( false ); + cm = createDefaultIndexedColorModel( false ); case BufferedImage.TYPE_BYTE_GRAY: - sm = new PixelInterleavedSampleModel( DataBuffer.TYPE_BYTE, - width, height, - 1, width, new int[]{ 0 } ); - break; + sm = new PixelInterleavedSampleModel( DataBuffer.TYPE_BYTE, + width, height, + 1, width, new int[]{ 0 } ); + break; case BufferedImage.TYPE_USHORT_GRAY: - sm = new PixelInterleavedSampleModel( DataBuffer.TYPE_USHORT, - width, height, - 1, width, new int[]{ 0 } ); - break; + sm = new PixelInterleavedSampleModel( DataBuffer.TYPE_USHORT, + width, height, + 1, width, new int[]{ 0 } ); + break; case BufferedImage.TYPE_BYTE_BINARY: - cm = createDefaultIndexedColorModel( true ); - sm = new MultiPixelPackedSampleModel(DataBuffer.TYPE_BYTE, - width, height, 1); - break; + cm = createDefaultIndexedColorModel( true ); + sm = new MultiPixelPackedSampleModel(DataBuffer.TYPE_BYTE, + width, height, 1); + break; default: - sm = null; + sm = null; } if( sm == null ) @@ -253,33 +257,41 @@ public class BufferedImage extends Image if( cm == null ) // only for the grayscale types { - int buftype; - int[] bits = new int[1]; - if( type == BufferedImage.TYPE_BYTE_GRAY ) - { - buftype = DataBuffer.TYPE_BYTE; - bits[0] = 8; - } - else - { - buftype = DataBuffer.TYPE_USHORT; - bits[0] = 16; - } - ColorSpace graySpace = ColorSpace.getInstance( ColorSpace.CS_GRAY ); - - cm = new ComponentColorModel( graySpace, bits, false, false, - Transparency.OPAQUE, buftype ); + int buftype; + int[] bits = new int[1]; + if( type == BufferedImage.TYPE_BYTE_GRAY ) + { + buftype = DataBuffer.TYPE_BYTE; + bits[0] = 8; + } + else + { + buftype = DataBuffer.TYPE_USHORT; + bits[0] = 16; + } + ColorSpace graySpace = ColorSpace.getInstance( ColorSpace.CS_GRAY ); + + cm = new ComponentColorModel( graySpace, bits, false, false, + Transparency.OPAQUE, buftype ); } - init( cm, - Raster.createWritableRaster(sm, new Point( 0, 0 ) ), - premultiplied, - null, // no properties - type ); + WritableRaster rst = null; + + // Attempt to create an accelerated backend for this image + GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment(); + if (env instanceof ClasspathGraphicsEnvironment) + rst = ((ClasspathGraphicsEnvironment)env).createRaster(cm, sm); + + // Default to a standard Java raster & databuffer if needed + if (rst == null) + rst = Raster.createWritableRaster(sm, new Point( 0, 0 ) ); + + init(cm, rst, premultiplied, + null, // no properties + type ); } - public BufferedImage(int w, int h, int type, - IndexColorModel indexcolormodel) + public BufferedImage(int w, int h, int type, IndexColorModel indexcolormodel) { if ((type != TYPE_BYTE_BINARY) && (type != TYPE_BYTE_INDEXED)) throw new IllegalArgumentException("Type must be TYPE_BYTE_BINARY or TYPE_BYTE_INDEXED"); @@ -289,27 +301,21 @@ public class BufferedImage extends Image throw new IllegalArgumentException("Byte type cannot have a larger than 256-color palette."); init( indexcolormodel, - indexcolormodel.createCompatibleWritableRaster(w, h), - indexcolormodel.isAlphaPremultiplied(), - null, // no properties - type ); + indexcolormodel.createCompatibleWritableRaster(w, h), + indexcolormodel.isAlphaPremultiplied(), + null, // no properties + type ); } - public BufferedImage(ColorModel colormodel, - WritableRaster writableraster, - boolean premultiplied, - Hashtable properties) + public BufferedImage(ColorModel colormodel, WritableRaster writableraster, + boolean premultiplied, Hashtable properties) { - init(colormodel, writableraster, premultiplied, properties, - TYPE_CUSTOM); + init(colormodel, writableraster, premultiplied, properties, TYPE_CUSTOM); } - private void init(ColorModel cm, - WritableRaster writableraster, - boolean premultiplied, - Hashtable properties, - int type) + private void init(ColorModel cm, WritableRaster writableraster, + boolean premultiplied, Hashtable properties, int type) { raster = writableraster; colorModel = cm; @@ -329,29 +335,32 @@ public class BufferedImage extends Image { if( binary ) { - byte[] t = new byte[]{ 0, (byte)255 }; - return new IndexColorModel( 1, 2, t, t, t ); + byte[] t = new byte[]{ 0, (byte)255 }; + return new IndexColorModel( 1, 2, t, t, t ); } byte[] r = new byte[256]; byte[] g = new byte[256]; byte[] b = new byte[256]; + int index = 0; for( int i = 0; i < 6; i++ ) for( int j = 0; j < 6; j++ ) - for( int k = 0; k < 6; k++ ) - { - r[ index ] = (byte)(i * 51); - g[ index ] = (byte)(j * 51); - b[ index ] = (byte)(k * 51); - index++; - } + for( int k = 0; k < 6; k++ ) + { + r[ index ] = (byte)(i * 51); + g[ index ] = (byte)(j * 51); + b[ index ] = (byte)(k * 51); + index++; + } + while( index < 256 ) { - r[ index ] = g[ index ] = b[ index ] = - (byte)(18 + (index - 216) * 6); - index++; + r[ index ] = g[ index ] = b[ index ] = + (byte)(18 + (index - 216) * 6); + index++; } + return new IndexColorModel( 8, 256, r, g, b ); } @@ -375,12 +384,13 @@ public class BufferedImage extends Image // create a src child that has the right bounds... WritableRaster src = raster.createWritableChild(x, y, w, h, x, y, - null // same bands - ); + null); // same bands + if (src.getSampleModel () instanceof ComponentSampleModel && dest.getSampleModel () instanceof ComponentSampleModel) // Refer to ComponentDataBlitOp for optimized data blitting: ComponentDataBlitOp.INSTANCE.filter(src, dest); + else { // slower path @@ -397,7 +407,8 @@ public class BufferedImage extends Image return env.createGraphics (this); } - public void flush() { + public void flush() + { } public WritableRaster getAlphaRaster() @@ -512,26 +523,24 @@ public class BufferedImage extends Image public int getRGB(int x, int y) { - Object rgbElem = raster.getDataElements(x, y, - null // create as needed - ); + Object rgbElem = raster.getDataElements(x, y, null); return colorModel.getRGB(rgbElem); } - public int[] getRGB(int startX, int startY, int w, int h, - int[] rgbArray, - int offset, int scanlineStride) + public int[] getRGB(int startX, int startY, int w, int h, int[] rgbArray, + int offset, int scanlineStride) { if (rgbArray == null) - { - /* - 000000000000000000 - 00000[#######----- [ = start - -----########----- ] = end - -----#######]00000 - 000000000000000000 */ - int size = (h-1)*scanlineStride + w; - rgbArray = new int[size]; + { + /* + 000000000000000000 + 00000[#######----- [ = start + -----########----- ] = end + -----#######]00000 + 000000000000000000 + */ + int size = (h-1)*scanlineStride + w; + rgbArray = new int[size]; } int endX = startX + w; @@ -547,15 +556,15 @@ public class BufferedImage extends Image Object rgbElem = null; for (int y=startY; y consumers = new Vector(); public void addConsumer(ImageConsumer ic) { - if(!consumers.contains(ic)) - consumers.add(ic); + if(!consumers.contains(ic)) + consumers.add(ic); } public boolean isConsumer(ImageConsumer ic) @@ -589,7 +598,7 @@ public class BufferedImage extends Image public void removeConsumer(ImageConsumer ic) { - consumers.remove(ic); + consumers.remove(ic); } public void startProduction(ImageConsumer ic) @@ -610,9 +619,9 @@ public class BufferedImage extends Image consumers.add(ic); - for(int i=0;i(); tileObservers.add (to); } diff --git a/libjava/classpath/java/awt/image/ComponentSampleModel.java b/libjava/classpath/java/awt/image/ComponentSampleModel.java index bccabbb..73e7fb4 100644 --- a/libjava/classpath/java/awt/image/ComponentSampleModel.java +++ b/libjava/classpath/java/awt/image/ComponentSampleModel.java @@ -36,12 +36,8 @@ exception statement from your version. */ package java.awt.image; -import gnu.java.awt.Buffers; - import java.util.Arrays; -/* FIXME: This class does not yet support data type TYPE_SHORT */ - /** * ComponentSampleModel supports a flexible organization of pixel samples in * memory, permitting pixel samples to be interleaved by band, by scanline, @@ -88,9 +84,7 @@ public class ComponentSampleModel extends SampleModel * corresponding sample for the next pixel in the same row. */ protected int pixelStride; - - private boolean tightPixelPacking = false; - + /** * Creates a new sample model that assumes that all bands are stored in a * single bank of the {@link DataBuffer}. @@ -203,22 +197,6 @@ public class ComponentSampleModel extends SampleModel this.scanlineStride = scanlineStride; this.pixelStride = pixelStride; - // See if we can use some speedups - - /* FIXME: May these checks should be reserved for the - PixelInterleavedSampleModel? */ - - if (pixelStride == numBands) - { - tightPixelPacking = true; - for (int b = 0; b < numBands; b++) { - if ((bandOffsets[b] != b) || (bankIndices[b] != 0)) - { - tightPixelPacking = false; - break; - } - } - } } /** @@ -275,8 +253,30 @@ public class ComponentSampleModel extends SampleModel highestOffset = Math.max(highestOffset, bandOffsets[b]); int size = pixelStride * (width - 1) + scanlineStride * (height - 1) + highestOffset + 1; - - return Buffers.createBuffer(getDataType(), size, numBanks); + + DataBuffer buffer = null; + switch (getTransferType()) + { + case DataBuffer.TYPE_BYTE: + buffer = new DataBufferByte(size, numBanks); + break; + case DataBuffer.TYPE_SHORT: + buffer = new DataBufferShort(size, numBanks); + break; + case DataBuffer.TYPE_USHORT: + buffer = new DataBufferUShort(size, numBanks); + break; + case DataBuffer.TYPE_INT: + buffer = new DataBufferInt(size, numBanks); + break; + case DataBuffer.TYPE_FLOAT: + buffer = new DataBufferFloat(size, numBanks); + break; + case DataBuffer.TYPE_DOUBLE: + buffer = new DataBufferDouble(size, numBanks); + break; + } + return buffer; } /** @@ -424,239 +424,80 @@ public class ComponentSampleModel extends SampleModel */ public Object getDataElements(int x, int y, Object obj, DataBuffer data) { - int xyOffset = pixelStride * x + scanlineStride * y; - - int[] totalBandDataOffsets = new int[numBands]; - - /* Notice that band and bank offsets are different. Band offsets - are managed by the sample model, and bank offsets are managed - by the data buffer. Both must be accounted for. */ - - /* FIXME: For single pixels, it is probably easier to simple - call getElem instead of calculating the bank offset ourself. - - On the other hand, then we need to push the value through - the int type returned by the getElem method. */ - - int[] bankOffsets = data.getOffsets(); - - for (int b = 0; b < numBands; b++) + int type = getTransferType(); + int numDataEls = getNumDataElements(); + int offset = y * scanlineStride + x * pixelStride; + switch (type) { - totalBandDataOffsets[b] = bandOffsets[b] + bankOffsets[bankIndices[b]] - + xyOffset; - } - - try - { - switch (getTransferType()) + case DataBuffer.TYPE_BYTE: + byte[] bData; + if (obj == null) + bData = new byte[numDataEls]; + else + bData = (byte[]) obj; + for (int i = 0; i < numDataEls; i++) { - case DataBuffer.TYPE_BYTE: - DataBufferByte inByte = (DataBufferByte) data; - byte[] outByte = (byte[]) obj; - if (outByte == null) - outByte = new byte[numBands]; - - for (int b = 0; b < numBands; b++) - { - int dOffset = totalBandDataOffsets[b]; - outByte[b] = inByte.getData(bankIndices[b])[dOffset]; - } - return outByte; - - case DataBuffer.TYPE_USHORT: - DataBufferUShort inUShort = (DataBufferUShort) data; - short[] outUShort = (short[]) obj; - if (outUShort == null) - outUShort = new short[numBands]; - - for (int b = 0; b < numBands; b++) - { - int dOffset = totalBandDataOffsets[b]; - outUShort[b] = inUShort.getData(bankIndices[b])[dOffset]; - } - return outUShort; - - case DataBuffer.TYPE_SHORT: - DataBufferShort inShort = (DataBufferShort) data; - short[] outShort = (short[]) obj; - if (outShort == null) - outShort = new short[numBands]; - - for (int b = 0; b < numBands; b++) - { - int dOffset = totalBandDataOffsets[b]; - outShort[b] = inShort.getData(bankIndices[b])[dOffset]; - } - return outShort; - - case DataBuffer.TYPE_INT: - DataBufferInt inInt = (DataBufferInt) data; - int[] outInt = (int[]) obj; - if (outInt == null) - outInt = new int[numBands]; - - for (int b = 0; b < numBands; b++) - { - int dOffset = totalBandDataOffsets[b]; - outInt[b] = inInt.getData(bankIndices[b])[dOffset]; - } - return outInt; - - case DataBuffer.TYPE_FLOAT: - DataBufferFloat inFloat = (DataBufferFloat) data; - float[] outFloat = (float[]) obj; - if (outFloat == null) - outFloat = new float[numBands]; - - for (int b = 0; b < numBands; b++) - { - int dOffset = totalBandDataOffsets[b]; - outFloat[b] = inFloat.getData(bankIndices[b])[dOffset]; - } - return outFloat; - - case DataBuffer.TYPE_DOUBLE: - DataBufferDouble inDouble = (DataBufferDouble) data; - double[] outDouble = (double[]) obj; - if (outDouble == null) - outDouble = new double[numBands]; - - for (int b = 0; b < numBands; b++) - { - int dOffset = totalBandDataOffsets[b]; - outDouble[b] = inDouble.getData(bankIndices[b])[dOffset]; - } - return outDouble; - - default: - throw new IllegalStateException("unknown transfer type " - + getTransferType()); + bData[i] = (byte) data.getElem(bankIndices[i], + offset + bandOffsets[i]); } - } - catch (ArrayIndexOutOfBoundsException aioobe) - { - String msg = "While reading data elements, " + - "x=" + x + ", y=" + y +", " + ", xyOffset=" + xyOffset + - ", data.getSize()=" + data.getSize() + ": " + aioobe; - throw new ArrayIndexOutOfBoundsException(msg); - } - } - - /** - * Returns the samples for the pixels in the region defined by - * (x, y, w, h) in a primitive array (the array type is - * determined by the data type for this model). The obj - * argument provides an option to supply an existing array to hold the - * result, if this is null a new array will be allocated. - * - * @param x the x-coordinate. - * @param y the y-coordinate. - * @param w the width. - * @param h the height. - * @param obj a primitive array that, if not null, will be - * used to store and return the sample values. - * @param data the data buffer (null not permitted). - * - * @return An array of sample values for the specified pixels. - * - * @see #setDataElements(int, int, int, int, Object, DataBuffer) - */ - public Object getDataElements(int x, int y, int w, int h, Object obj, - DataBuffer data) - { - if (!tightPixelPacking) - { - return super.getDataElements(x, y, w, h, obj, data); - } - - // using get speedup - - // We can copy whole rows - int rowSize = w * numBands; - int dataSize = rowSize * h; - - DataBuffer transferBuffer = Buffers.createBuffer(getTransferType(), obj, - dataSize); - obj = Buffers.getData(transferBuffer); - - int inOffset = pixelStride * x + scanlineStride * y + data.getOffset(); - // Assumes only one band is used - - /* We don't add band offsets since we assume that bands have - offsets 0, 1, 2, ... */ - - // See if we can copy everything in one go - if (scanlineStride == rowSize) - { - // Collapse scan lines: - rowSize *= h; - // We ignore scanlineStride since it won't be of any use - h = 1; - } - - int outOffset = 0; - Object inArray = Buffers.getData(data); - for (int yd = 0; yd < h; yd++) - { - System.arraycopy(inArray, inOffset, obj, outOffset, rowSize); - inOffset += scanlineStride; - outOffset += rowSize; + obj = bData; + break; + case DataBuffer.TYPE_SHORT: + case DataBuffer.TYPE_USHORT: + short[] sData; + if (obj == null) + sData = new short[numDataEls]; + else + sData = (short[]) obj; + for (int i = 0; i < numDataEls; i++) + { + sData[i] = (short) data.getElem(bankIndices[i], + offset + bandOffsets[i]); + } + obj = sData; + break; + case DataBuffer.TYPE_INT: + int[] iData; + if (obj == null) + iData = new int[numDataEls]; + else + iData = (int[]) obj; + for (int i = 0; i < numDataEls; i++) + { + iData[i] = data.getElem(bankIndices[i], offset + bandOffsets[i]); + } + obj = iData; + break; + case DataBuffer.TYPE_FLOAT: + float[] fData; + if (obj == null) + fData = new float[numDataEls]; + else + fData = (float[]) obj; + for (int i = 0; i < numDataEls; i++) + { + fData[i] = data.getElemFloat(bankIndices[i], + offset + bandOffsets[i]); + } + obj = fData; + break; + case DataBuffer.TYPE_DOUBLE: + double[] dData; + if (obj == null) + dData = new double[numDataEls]; + else + dData = (double[]) obj; + for (int i = 0; i < numDataEls; i++) + { + dData[i] = data.getElemDouble(bankIndices[i], + offset + bandOffsets[i]); + } + obj = dData; + break; } return obj; } - /** - * Sets the samples for the pixels in the region defined by - * (x, y, w, h) from a supplied primitive array (the array type - * must be consistent with the data type for this model). - * - * @param x the x-coordinate. - * @param y the y-coordinate. - * @param w the width. - * @param h the height. - * @param obj a primitive array containing the sample values. - * @param data the data buffer (null not permitted). - * - * @see #getDataElements(int, int, int, int, Object, DataBuffer) - */ - public void setDataElements(int x, int y, int w, int h, - Object obj, DataBuffer data) - { - if (!tightPixelPacking) - { - super.setDataElements(x, y, w, h, obj, data); - return; - } - - // using set speedup, we can copy whole rows - int rowSize = w * numBands; - int dataSize = rowSize * h; - - DataBuffer transferBuffer - = Buffers.createBufferFromData(getTransferType(), obj, dataSize); - - int[] bankOffsets = data.getOffsets(); - - int outOffset = pixelStride * x + scanlineStride * y + bankOffsets[0]; - // same assumptions as in get... - - // See if we can copy everything in one go - if (scanlineStride == rowSize) - { - // Collapse scan lines: - rowSize *= h; - h = 1; - } - - int inOffset = 0; - Object outArray = Buffers.getData(data); - for (int yd = 0; yd < h; yd++) - { - System.arraycopy(obj, inOffset, outArray, outOffset, rowSize); - outOffset += scanlineStride; - inOffset += rowSize; - } - } /** * Returns all the samples for the pixel at location (x, y) @@ -764,78 +605,51 @@ public class ComponentSampleModel extends SampleModel */ public void setDataElements(int x, int y, Object obj, DataBuffer data) { - int offset = pixelStride * x + scanlineStride * y; - int[] totalBandDataOffsets = new int[numBands]; - int[] bankOffsets = data.getOffsets(); - for (int b = 0; b < numBands; b++) - totalBandDataOffsets[b] = bandOffsets[b] + bankOffsets[bankIndices[b]] - + offset; - - switch (getTransferType()) + int type = getTransferType(); + int numDataEls = getNumDataElements(); + int offset = y * scanlineStride + x * pixelStride; + switch (type) { case DataBuffer.TYPE_BYTE: - { - DataBufferByte out = (DataBufferByte) data; - byte[] in = (byte[]) obj; - - for (int b = 0; b < numBands; b++) - out.getData(bankIndices[b])[totalBandDataOffsets[b]] = in[b]; - - return; - } - case DataBuffer.TYPE_USHORT: - { - DataBufferUShort out = (DataBufferUShort) data; - short[] in = (short[]) obj; - - for (int b = 0; b < numBands; b++) - out.getData(bankIndices[b])[totalBandDataOffsets[b]] = in[b]; - - return; - } + byte[] bData = (byte[]) obj; + for (int i = 0; i < numDataEls; i++) + { + data.setElem(bankIndices[i], offset + bandOffsets[i], + ((int) bData[i]) & 0xFF); + } + break; case DataBuffer.TYPE_SHORT: - { - DataBufferShort out = (DataBufferShort) data; - short[] in = (short[]) obj; - - for (int b = 0; b < numBands; b++) - out.getData(bankIndices[b])[totalBandDataOffsets[b]] = in[b]; - - return; - } + case DataBuffer.TYPE_USHORT: + short[] sData = (short[]) obj; + for (int i = 0; i < numDataEls; i++) + { + data.setElem(bankIndices[i], offset + bandOffsets[i], + ((int) sData[i]) & 0xFFFF); + } + break; case DataBuffer.TYPE_INT: - { - DataBufferInt out = (DataBufferInt) data; - int[] in = (int[]) obj; - - for (int b = 0; b < numBands; b++) - out.getData(bankIndices[b])[totalBandDataOffsets[b]] = in[b]; - - return; - } + int[] iData = (int[]) obj; + for (int i = 0; i < numDataEls; i++) + { + data.setElem(bankIndices[i], offset + bandOffsets[i], iData[i]); + } + break; case DataBuffer.TYPE_FLOAT: - { - DataBufferFloat out = (DataBufferFloat) data; - float[] in = (float[]) obj; - - for (int b = 0; b < numBands; b++) - out.getData(bankIndices[b])[totalBandDataOffsets[b]] = in[b]; - - return; - } + float[] fData = (float[]) obj; + for (int i = 0; i < numDataEls; i++) + { + data.setElemFloat(bankIndices[i], offset + bandOffsets[i], + fData[i]); + } + break; case DataBuffer.TYPE_DOUBLE: - { - DataBufferDouble out = (DataBufferDouble) data; - double[] in = (double[]) obj; - - for (int b = 0; b < numBands; b++) - out.getData(bankIndices[b])[totalBandDataOffsets[b]] = in[b]; - - return; - } - default: - throw new UnsupportedOperationException("transfer type not " + - "implemented"); + double[] dData = (double[]) obj; + for (int i = 0; i < numDataEls; i++) + { + data.setElemDouble(bankIndices[i], offset + bandOffsets[i], + dData[i]); + } + break; } } diff --git a/libjava/classpath/java/awt/image/IndexColorModel.java b/libjava/classpath/java/awt/image/IndexColorModel.java index 46879cc..d8a27d5 100644 --- a/libjava/classpath/java/awt/image/IndexColorModel.java +++ b/libjava/classpath/java/awt/image/IndexColorModel.java @@ -134,7 +134,7 @@ public class IndexColorModel extends ColorModel if (size < 1) throw new IllegalArgumentException("size < 1"); map_size = size; - rgb = new int[size]; + rgb = createColorMap(bits, size); for (int i = 0; i < size; i++) { rgb[i] = (0xff000000 @@ -187,7 +187,7 @@ public class IndexColorModel extends ColorModel map_size = size; opaque = (alphas == null); - rgb = new int[size]; + rgb = createColorMap(bits, size); if (alphas == null) { for (int i = 0; i < size; i++) @@ -275,7 +275,7 @@ public class IndexColorModel extends ColorModel map_size = size; opaque = !hasAlpha; - rgb = new int[size]; + rgb = createColorMap(bits, size); if (hasAlpha) { int alpha; @@ -360,7 +360,7 @@ public class IndexColorModel extends ColorModel throw new IllegalArgumentException("size < 1"); map_size = size; opaque = !hasAlpha; - rgb = new int[size]; + rgb = createColorMap(bits, size); if (!hasAlpha) for (int i = 0; i < size; i++) rgb[i] = cmap[i + start] | 0xff000000; @@ -419,7 +419,7 @@ public class IndexColorModel extends ColorModel this.trans = -1; this.validBits = validBits; - rgb = new int[size]; + rgb = createColorMap(bits, size); if (!hasAlpha) for (int i = 0; i < size; i++) rgb[i] = cmap[i + start] | 0xff000000; @@ -726,4 +726,11 @@ public class IndexColorModel extends ColorModel } } } + + private int[] createColorMap(int bits, int size) + { + // According to a Mauve test, the RI allocates at least 256 entries here. + int realSize = Math.max(256, Math.max(1 << bits, size)); + return new int[realSize]; + } } diff --git a/libjava/classpath/java/awt/image/SinglePixelPackedSampleModel.java b/libjava/classpath/java/awt/image/SinglePixelPackedSampleModel.java index 9ed948c..1b0ac3f 100644 --- a/libjava/classpath/java/awt/image/SinglePixelPackedSampleModel.java +++ b/libjava/classpath/java/awt/image/SinglePixelPackedSampleModel.java @@ -39,7 +39,6 @@ package java.awt.image; import java.util.Arrays; import gnu.java.awt.BitMaskExtent; -import gnu.java.awt.Buffers; /** * A SampleModel used when all samples are stored in a single @@ -151,14 +150,25 @@ public class SinglePixelPackedSampleModel extends SampleModel */ public DataBuffer createDataBuffer() { - int size; - // We can save (scanlineStride - width) pixels at the very end of // the buffer. The Sun reference implementation (J2SE 1.3.1 and // 1.4.1_01) seems to do this; tested with Mauve test code. - size = scanlineStride * (height - 1) + width; + int size = scanlineStride * (height - 1) + width; - return Buffers.createBuffer(getDataType(), size); + DataBuffer buffer = null; + switch (getTransferType()) + { + case DataBuffer.TYPE_BYTE: + buffer = new DataBufferByte(size); + break; + case DataBuffer.TYPE_USHORT: + buffer = new DataBufferUShort(size); + break; + case DataBuffer.TYPE_INT: + buffer = new DataBufferInt(size); + break; + } + return buffer; } /** @@ -253,73 +263,39 @@ public class SinglePixelPackedSampleModel extends SampleModel public Object getDataElements(int x, int y, Object obj, DataBuffer data) { - int offset = scanlineStride*y + x + data.getOffset(); - - return Buffers.getData(data, offset, obj, - 0, // destination offset, - 1 // length - ); - } - - /** - * This is a more efficient implementation of the default implementation in - * the super class. - * @param x The x-coordinate of the pixel rectangle to store in - * obj. - * @param y The y-coordinate of the pixel rectangle to store in - * obj. - * @param w The width of the pixel rectangle to store in obj. - * @param h The height of the pixel rectangle to store in obj. - * @param obj The primitive array to store the pixels into or null to force - * creation. - * @param data The DataBuffer that is the source of the pixel data. - * @return The primitive array containing the pixel data. - * @see java.awt.image.SampleModel#getDataElements(int, int, int, int, - * java.lang.Object, java.awt.image.DataBuffer) - */ - public Object getDataElements(int x, int y, int w, int h, Object obj, - DataBuffer data) - { - int size = w*h; - int dataSize = size; - Object pixelData = null; - switch (getTransferType()) - { + int type = getTransferType(); + Object ret = null; + switch (type) + { case DataBuffer.TYPE_BYTE: - pixelData = ((DataBufferByte) data).getData(); - if (obj == null) obj = new byte[dataSize]; + { + byte[] in = (byte[]) obj; + if (in == null) + in = new byte[1]; + in[0] = (byte) data.getElem(x + y * scanlineStride); + ret = in; + } break; - case DataBuffer.TYPE_USHORT: - pixelData = ((DataBufferUShort) data).getData(); - if (obj == null) obj = new short[dataSize]; - break; - case DataBuffer.TYPE_INT: - pixelData = ((DataBufferInt) data).getData(); - if (obj == null) obj = new int[dataSize]; - break; - default: - // Seems like the only sensible thing to do. - throw new ClassCastException(); - } - if(x == 0 && scanlineStride == w) - { - // The full width need to be copied therefore we can copy in one shot. - System.arraycopy(pixelData, scanlineStride*y + data.getOffset(), obj, - 0, size); - } - else - { - // Since we do not need the full width we need to copy line by line. - int outOffset = 0; - int dataOffset = scanlineStride*y + x + data.getOffset(); - for (int yy = y; yy<(y+h); yy++) + case DataBuffer.TYPE_USHORT: + { + short[] in = (short[]) obj; + if (in == null) + in = new short[1]; + in[0] = (short) data.getElem(x + y * scanlineStride); + ret = in; + } + break; + case DataBuffer.TYPE_INT: { - System.arraycopy(pixelData, dataOffset, obj, outOffset, w); - dataOffset += scanlineStride; - outOffset += w; + int[] in = (int[]) obj; + if (in == null) + in = new int[1]; + in[0] = data.getElem(x + y * scanlineStride); + ret = in; } + break; } - return obj; + return ret; } /** @@ -414,30 +390,29 @@ public class SinglePixelPackedSampleModel extends SampleModel public void setDataElements(int x, int y, Object obj, DataBuffer data) { - int transferType = getTransferType(); - switch (transferType) - { - case DataBuffer.TYPE_BYTE: - { - byte[] in = (byte[]) obj; - data.setElem(y * scanlineStride + x, ((int) in[0]) & 0xff); - break; - } - case DataBuffer.TYPE_USHORT: - { - short[] in = (short[]) obj; + switch (transferType) + { + case DataBuffer.TYPE_BYTE: + { + byte[] in = (byte[]) obj; + data.setElem(y * scanlineStride + x, ((int) in[0]) & 0xff); + } + break; + case DataBuffer.TYPE_USHORT: + { + short[] in = (short[]) obj; data.setElem(y * scanlineStride + x, ((int) in[0]) & 0xffff); - break; - } - case DataBuffer.TYPE_INT: - { - int[] in = (int[]) obj; + } + break; + case DataBuffer.TYPE_INT: + { + int[] in = (int[]) obj; data.setElem(y * scanlineStride + x, in[0]); break; - } - } - } + } + } + } /** * Sets the samples for the pixel at (x, y) in the specified data buffer to @@ -479,7 +454,6 @@ public class SinglePixelPackedSampleModel extends SampleModel DataBuffer data) { int inOffset = 0; - int[] pixel = new int[numBands]; for (int yy=y; yy<(y+h); yy++) { int offset = scanlineStride*yy + x; diff --git a/libjava/classpath/java/awt/peer/DesktopPeer.java b/libjava/classpath/java/awt/peer/DesktopPeer.java new file mode 100644 index 0000000..355d293 --- /dev/null +++ b/libjava/classpath/java/awt/peer/DesktopPeer.java @@ -0,0 +1,64 @@ +/* DesktopPeer.java -- Interface to enable access to common applications + Copyright (C) 2006, 2007 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.awt.peer; + +import java.awt.Desktop.Action; +import java.io.File; +import java.io.IOException; +import java.net.URI; + +/** + * @author Mario Torre + * + */ +public interface DesktopPeer +{ + public void browse(URI url) throws IOException; + + public void edit(File file) throws IOException; + + public boolean isSupported(Action action); + + public void mail(URI mailtoURL) throws IOException; + + public void mail() throws IOException; + + public void open(File file) throws IOException; + + public void print(File file) throws IOException; +} diff --git a/libjava/classpath/java/awt/print/PrinterJob.java b/libjava/classpath/java/awt/print/PrinterJob.java index 8afada1..3715dd2 100644 --- a/libjava/classpath/java/awt/print/PrinterJob.java +++ b/libjava/classpath/java/awt/print/PrinterJob.java @@ -264,15 +264,12 @@ public abstract class PrinterJob * @return Array of stream print services, could be empty. * @since 1.4 */ - // FIXME: - // Enable when StreamPrintServiceFactory has lookupStreamServiceFactories -// public static StreamPrintServiceFactory[] lookupStreamPrintServices(String mimeType) -// { -// return StreamPrintServiceFactory.lookupStreamServiceFactories( -// new DocFlavor("application/x-java-jvm-local-objectref", -// "java.awt.print.Pageable"), -// mimeType); -// } + public static StreamPrintServiceFactory[] + lookupStreamPrintServices(String mimeType) + { + return StreamPrintServiceFactory.lookupStreamPrintServiceFactories( + DocFlavor.SERVICE_FORMATTED.PAGEABLE, mimeType); + } /** * Return the printer for this job. If print services aren't supported by diff --git a/libjava/classpath/java/beans/ConstructorProperties.java b/libjava/classpath/java/beans/ConstructorProperties.java new file mode 100644 index 0000000..4c82c00 --- /dev/null +++ b/libjava/classpath/java/beans/ConstructorProperties.java @@ -0,0 +1,72 @@ +/* ConstructorProperties.java - Associate constructor params with props + Copyright (C) 2006 Free Software Foundation + +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.beans; + +import java.lang.annotation.Documented; +import java.lang.annotation.Retention; +import java.lang.annotation.Target; + +import static java.lang.annotation.RetentionPolicy.RUNTIME; +import static java.lang.annotation.ElementType.CONSTRUCTOR; + +/** + * An annotation used to associate the parameters of a + * constructor with the accessor methods that later provide + * access to these values. For example, the parameters of + * the constructor Person(String name, int age) + * may be linked to the bean's two accessors, getName() + * and getAge() using + * @ConstructorProperties({"name","age"}). + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.6 + */ +@Documented @Retention(RUNTIME) @Target(CONSTRUCTOR) +public @interface ConstructorProperties +{ + + /** + * Contains the name of the accessor methods associated + * with each constructor parameter. + * + * @return the accessor method names corresponding to the + * constructor parameters. + */ + String[] value(); + +} diff --git a/libjava/classpath/java/beans/XMLEncoder.java b/libjava/classpath/java/beans/XMLEncoder.java index feff68b..7242d0c 100644 --- a/libjava/classpath/java/beans/XMLEncoder.java +++ b/libjava/classpath/java/beans/XMLEncoder.java @@ -248,7 +248,7 @@ public class XMLEncoder extends Encoder scanEngine.writeObject(o); - if (get(o) == null); + if (get(o) == null) super.writeObject(o); accessCounter--; diff --git a/libjava/classpath/java/io/File.java b/libjava/classpath/java/io/File.java index 5d1b3ec..f34b4dd 100644 --- a/libjava/classpath/java/io/File.java +++ b/libjava/classpath/java/io/File.java @@ -164,6 +164,29 @@ public class File implements Serializable, Comparable } /** + * This method tests whether or not the current thread is allowed to + * to execute the file pointed to by this object. This will be true if and + * and only if 1) the file exists and 2) the SecurityManager + * (if any) allows access to the file via it's checkExec + * method 3) the file is executable. + * + * @return true if execution is allowed, + * false otherwise + * + * @exception SecurityException If the SecurityManager + * does not allow access to the file + */ + public boolean canExecute() + { + if (!VMFile.exists(path)) + return false; + + checkExec(); + + return VMFile.canExecute(path); + } + + /** * This method creates a new file of zero length with the same name as * the path of this File object if an only if that file * does not already exist. @@ -1123,6 +1146,153 @@ public class File implements Serializable, Comparable } /** + * This method sets the owner's read permission for the File represented by + * this object. + * + * It is the same as calling setReadable(readable, true). + * + * @param readable true to set read permission, + * false to unset the read permission. + * @return true if the file permissions are changed, + * false otherwise. + * @exception SecurityException If write access of the file is not permitted. + * @see #setReadable(boolean, boolean) + * @since 1.6 + */ + public boolean setReadable(boolean readable) + { + return setReadable(readable, true); + } + + /** + * This method sets the read permissions for the File represented by + * this object. + * + * If ownerOnly is set to true then only the + * read permission bit for the owner of the file is changed. + * + * If ownerOnly is set to false, the file + * permissions are changed so that the file can be read by everyone. + * + * On unix like systems this sets the user, group + * and other read bits and is equal to call + * chmod a+r on the file. + * + * @param readable true to set read permission, + * false to unset the read permission. + * @param ownerOnly true to set read permission + * for owner only, false for all. + * @return true if the file permissions are changed, + * false otherwise. + * @exception SecurityException If write access of the file is not permitted. + * @see #setReadable(boolean) + * @since 1.6 + */ + public boolean setReadable(boolean readable, boolean ownerOnly) + { + checkWrite(); + return VMFile.setReadable(path, readable, ownerOnly); + } + + /** + * This method sets the owner's write permission for the File represented by + * this object. + * + * It is the same as calling setWritable(readable, true). + * + * @param writable true to set write permission, + * false to unset write permission. + * @return true if the file permissions are changed, + * false otherwise. + * @exception SecurityException If write access of the file is not permitted. + * @see #setWritable(boolean, boolean) + * @since 1.6 + */ + public boolean setWritable(boolean writable) + { + return setWritable(writable, true); + } + + /** + * This method sets the write permissions for the File represented by + * this object. + * + * If ownerOnly is set to true then only the + * write permission bit for the owner of the file is changed. + * + * If ownerOnly is set to false, the file + * permissions are changed so that the file can be written by everyone. + * + * On unix like systems this set the user, group + * and other write bits and is equal to call + * chmod a+w on the file. + * + * @param writable true to set write permission, + * false to unset write permission. + * @param ownerOnly true to set write permission + * for owner only, false for all. + * @return true if the file permissions are changed, + * false otherwise. + * @exception SecurityException If write access of the file is not permitted. + * @see #setWritable(boolean) + * @since 1.6 + */ + public boolean setWritable(boolean writable, boolean ownerOnly) + { + checkWrite(); + return VMFile.setWritable(path, writable, ownerOnly); + } + + /** + * This method sets the owner's execute permission for the File represented + * by this object. + * + * It is the same as calling setExecutable(readable, true). + * + * @param executable true to set execute permission, + * false to unset execute permission. + * @return true if the file permissions are changed, + * false otherwise. + * @exception SecurityException If write access of the file is not permitted. + * @see #setExecutable(boolean, boolean) + * @since 1.6 + */ + public boolean setExecutable(boolean executable) + { + return setExecutable(executable, true); + } + + /** + * This method sets the execute permissions for the File represented by + * this object. + * + * If ownerOnly is set to true then only the + * execute permission bit for the owner of the file is changed. + * + * If ownerOnly is set to false, the file + * permissions are changed so that the file can be executed by everyone. + * + * On unix like systems this set the user, group + * and other write bits and is equal to call + * chmod a+x on the file. + * + * @param executable true to set write permission, + * false to unset write permission. + * @param ownerOnly true to set write permission + * for owner only, false for all. + * @return true if the file permissions are changed, + * false otherwise. + * @exception SecurityException If write access of the file is not permitted. + * @see #setExecutable(boolean) + * @since 1.6 + */ + public boolean setExecutable(boolean executable, boolean ownerOnly) + { + checkWrite(); + return VMFile.setExecutable(path, executable, ownerOnly); + } + + /** * This method sets the file represented by this object to be read only. * A read only file or directory cannot be modified. Please note that * GNU systems allow read only files to be deleted if the directory it @@ -1315,6 +1485,15 @@ public class File implements Serializable, Comparable s.checkRead(path); } + private void checkExec() + { + // Check the SecurityManager + SecurityManager s = System.getSecurityManager(); + + if (s != null) + s.checkExec(path); + } + /** * Calling this method requests that the file represented by this object * be deleted when the virtual machine exits. Note that this request cannot diff --git a/libjava/classpath/java/io/ObjectInputStream.java b/libjava/classpath/java/io/ObjectInputStream.java index 735d46c..37b2b64 100644 --- a/libjava/classpath/java/io/ObjectInputStream.java +++ b/libjava/classpath/java/io/ObjectInputStream.java @@ -39,6 +39,7 @@ exception statement from your version. */ package java.io; +import gnu.classpath.Pair; import gnu.classpath.VMStackWalker; import java.lang.reflect.Array; @@ -50,10 +51,11 @@ import java.lang.reflect.Modifier; import java.lang.reflect.Proxy; import java.security.AccessController; import java.security.PrivilegedAction; +import java.util.HashMap; import java.util.Hashtable; import java.util.Iterator; +import java.util.Map; import java.util.TreeSet; -import java.util.Vector; /** * @author Tom Tromey (tromey@redhat.com) @@ -104,7 +106,7 @@ public class ObjectInputStream extends InputStream this.blockDataInput = new DataInputStream(this); this.realInputStream = new DataInputStream(in); this.nextOID = baseWireHandle; - this.objectLookupTable = new Vector(); + handles = new HashMap>(); this.classLookupTable = new Hashtable(); setBlockDataMode(true); readStreamHeader(); @@ -132,6 +134,70 @@ public class ObjectInputStream extends InputStream public final Object readObject() throws ClassNotFoundException, IOException { + return readObject(true); + } + + /** + *

    + * Returns the next deserialized object read from the + * underlying stream in an unshared manner. Any object + * returned by this method will not be returned by + * subsequent calls to either this method or {@link #readObject()}. + *

    + *

    + * This behaviour is achieved by: + *

    + *
      + *
    • Marking the handles created by successful calls to this + * method, so that future calls to {@link #readObject()} or + * {@link #readUnshared()} will throw an {@link ObjectStreamException} + * rather than returning the same object reference.
    • + *
    • Throwing an {@link ObjectStreamException} if the next + * element in the stream is a reference to an earlier object.
    • + *
    + * + * @return a reference to the deserialized object. + * @throws ClassNotFoundException if the class of the object being + * deserialized can not be found. + * @throws StreamCorruptedException if information in the stream + * is inconsistent. + * @throws ObjectStreamException if the next object has already been + * returned by an earlier call to this + * method or {@link #readObject()}. + * @throws OptionalDataException if primitive data occurs next in the stream. + * @throws IOException if an I/O error occurs from the stream. + * @since 1.4 + * @see #readObject() + */ + public Object readUnshared() + throws IOException, ClassNotFoundException + { + return readObject(false); + } + + /** + * Returns the next deserialized object read from the underlying stream. + * + * This method can be overriden by a class by implementing + * private void readObject (ObjectInputStream). + * + * If an exception is thrown from this method, the stream is left in + * an undefined state. This method can also throw Errors and + * RuntimeExceptions if caused by existing readResolve() user code. + * + * @param shared true if handles created by this call should be shared + * with later calls. + * @return The object read from the underlying stream. + * + * @exception ClassNotFoundException The class that an object being + * read in belongs to cannot be found. + * + * @exception IOException Exception from underlying + * InputStream. + */ + private final Object readObject(boolean shared) + throws ClassNotFoundException, IOException + { if (this.useSubclassMethod) return readObjectOverride(); @@ -146,7 +212,7 @@ public class ObjectInputStream extends InputStream try { - ret_val = parseContent(marker); + ret_val = parseContent(marker, shared); } finally { @@ -163,13 +229,15 @@ public class ObjectInputStream extends InputStream * byte indicating its type. * * @param marker the byte marker. + * @param shared true if handles created by this call should be shared + * with later calls. * @return an object which represents the parsed content. * @throws ClassNotFoundException if the class of an object being * read in cannot be found. * @throws IOException if invalid data occurs or one is thrown by the * underlying InputStream. */ - private Object parseContent(byte marker) + private Object parseContent(byte marker, boolean shared) throws ClassNotFoundException, IOException { Object ret_val; @@ -207,6 +275,9 @@ public class ObjectInputStream extends InputStream int oid = realInputStream.readInt(); if(dump) dumpElementln(Integer.toHexString(oid)); ret_val = lookupHandle(oid); + if (!shared) + throw new + InvalidObjectException("References can not be read unshared."); break; } @@ -215,7 +286,7 @@ public class ObjectInputStream extends InputStream if(dump) dumpElementln("CLASS"); ObjectStreamClass osc = (ObjectStreamClass)readObject(); Class clazz = osc.forClass(); - assignNewHandle(clazz); + assignNewHandle(clazz,shared); ret_val = clazz; break; } @@ -229,7 +300,7 @@ public class ObjectInputStream extends InputStream // TC_PROXYCLASSDESC newHandle proxyClassDescInfo // i.e. we have to assign the handle immediately after // reading the marker. - int handle = assignNewHandle("Dummy proxy"); + int handle = assignNewHandle("Dummy proxy",shared); /* END GCJ LOCAL */ int n_intf = this.realInputStream.readInt(); @@ -260,7 +331,7 @@ public class ObjectInputStream extends InputStream } } /* GCJ LOCAL */ - rememberHandle(osc,handle); + rememberHandle(osc,shared,handle); /* END GCJ LOCAL */ if (!is_consumed) @@ -301,7 +372,8 @@ public class ObjectInputStream extends InputStream if(dump) dumpElement("STRING="); String s = this.realInputStream.readUTF(); if(dump) dumpElementln(s); - ret_val = processResolution(null, s, assignNewHandle(s)); + ret_val = processResolution(null, s, assignNewHandle(s,shared), + shared); break; } @@ -314,12 +386,12 @@ public class ObjectInputStream extends InputStream int length = this.realInputStream.readInt(); if(dump) dumpElementln (length + "; COMPONENT TYPE=" + componentType); Object array = Array.newInstance(componentType, length); - int handle = assignNewHandle(array); + int handle = assignNewHandle(array,shared); readArrayElements(array, componentType); if(dump) for (int i = 0, len = Array.getLength(array); i < len; i++) dumpElementln(" ELEMENT[" + i + "]=", Array.get(array, i)); - ret_val = processResolution(null, array, handle); + ret_val = processResolution(null, array, handle, shared); break; } @@ -337,7 +409,7 @@ public class ObjectInputStream extends InputStream { Externalizable obj = osc.newInstance(); - int handle = assignNewHandle(obj); + int handle = assignNewHandle(obj,shared); boolean read_from_blocks = ((osc.getFlags() & SC_BLOCK_DATA) != 0); @@ -355,14 +427,14 @@ public class ObjectInputStream extends InputStream throw new IOException("No end of block data seen for class with readExternal (ObjectInputStream) method."); } - ret_val = processResolution(osc, obj, handle); + ret_val = processResolution(osc, obj, handle,shared); break; } // end if (osc.realClassIsExternalizable) Object obj = newObject(clazz, osc.firstNonSerializableParentConstructor); - int handle = assignNewHandle(obj); + int handle = assignNewHandle(obj,shared); Object prevObject = this.currentObject; ObjectStreamClass prevObjectStreamClass = this.currentObjectStreamClass; TreeSet prevObjectValidators = @@ -404,7 +476,7 @@ public class ObjectInputStream extends InputStream byte writeMarker = this.realInputStream.readByte(); while (writeMarker != TC_ENDBLOCKDATA) { - parseContent(writeMarker); + parseContent(writeMarker, shared); writeMarker = this.realInputStream.readByte(); } if(dump) dumpElementln("yes"); @@ -419,7 +491,7 @@ public class ObjectInputStream extends InputStream this.currentObject = prevObject; this.currentObjectStreamClass = prevObjectStreamClass; - ret_val = processResolution(osc, obj, handle); + ret_val = processResolution(osc, obj, handle, shared); if (currentObjectValidators != null) invokeValidators(); this.currentObjectValidators = prevObjectValidators; @@ -453,7 +525,7 @@ public class ObjectInputStream extends InputStream dumpElementln("CONSTANT NAME = " + constantName); Class clazz = osc.forClass(); Enum instance = Enum.valueOf(clazz, constantName); - assignNewHandle(instance); + assignNewHandle(instance,shared); ret_val = instance; break; } @@ -554,7 +626,7 @@ public class ObjectInputStream extends InputStream ObjectStreamField[] fields = new ObjectStreamField[field_count]; ObjectStreamClass osc = new ObjectStreamClass(name, uid, flags, fields); - assignNewHandle(osc); + assignNewHandle(osc,true); for (int i = 0; i < field_count; i++) { @@ -1555,13 +1627,15 @@ public class ObjectInputStream extends InputStream * Assigns the next available handle to obj. * * @param obj The object for which we want a new handle. + * @param shared True if the handle should be shared + * with later calls. * @return A valid handle for the specified object. */ - private int assignNewHandle(Object obj) + private int assignNewHandle(Object obj, boolean shared) { int handle = this.nextOID; this.nextOID = handle + 1; - rememberHandle(obj,handle); + rememberHandle(obj,shared,handle); return handle; } @@ -1569,40 +1643,44 @@ public class ObjectInputStream extends InputStream * Remember the object associated with the given handle. * * @param obj an object - * + * @param shared true if the reference should be shared + * with later calls. * @param handle a handle, must be >= baseWireHandle * * @see #lookupHandle */ - private void rememberHandle(Object obj, int handle) + private void rememberHandle(Object obj, boolean shared, + int handle) { - Vector olt = this.objectLookupTable; - handle = handle - baseWireHandle; - - if (olt.size() <= handle) - olt.setSize(handle + 1); - - olt.set(handle, obj); + handles.put(handle, new Pair(shared, obj)); } /** * Look up the object associated with a given handle. * * @param handle a handle, must be >= baseWireHandle - * * @return the object remembered for handle or null if none. - * + * @throws StreamCorruptedException if the handle is invalid. + * @throws InvalidObjectException if the reference is not shared. * @see #rememberHandle */ private Object lookupHandle(int handle) + throws ObjectStreamException { - Vector olt = this.objectLookupTable; - handle = handle - baseWireHandle; - Object result = handle < olt.size() ? olt.get(handle) : null; - return result; + Pair result = handles.get(handle); + if (result == null) + throw new StreamCorruptedException("The handle, " + + Integer.toHexString(handle) + + ", is invalid."); + if (!result.getLeft()) + throw new InvalidObjectException("The handle, " + + Integer.toHexString(handle) + + ", is not shared."); + return result.getRight(); } - private Object processResolution(ObjectStreamClass osc, Object obj, int handle) + private Object processResolution(ObjectStreamClass osc, Object obj, int handle, + boolean shared) throws IOException { if (osc != null && obj instanceof Serializable) @@ -1633,13 +1711,34 @@ public class ObjectInputStream extends InputStream if (this.resolveEnabled) obj = resolveObject(obj); - rememberHandle(obj, handle); + rememberHandle(obj, shared, handle); + if (!shared) + { + if (obj instanceof byte[]) + return ((byte[]) obj).clone(); + if (obj instanceof short[]) + return ((short[]) obj).clone(); + if (obj instanceof int[]) + return ((int[]) obj).clone(); + if (obj instanceof long[]) + return ((long[]) obj).clone(); + if (obj instanceof char[]) + return ((char[]) obj).clone(); + if (obj instanceof boolean[]) + return ((boolean[]) obj).clone(); + if (obj instanceof float[]) + return ((float[]) obj).clone(); + if (obj instanceof double[]) + return ((double[]) obj).clone(); + if (obj instanceof Object[]) + return ((Object[]) obj).clone(); + } return obj; } private void clearHandles() { - this.objectLookupTable.clear(); + handles.clear(); this.nextOID = baseWireHandle; } @@ -1966,7 +2065,7 @@ public class ObjectInputStream extends InputStream private boolean useSubclassMethod; private int nextOID; private boolean resolveEnabled; - private Vector objectLookupTable; + private Map> handles; private Object currentObject; private ObjectStreamClass currentObjectStreamClass; private TreeSet currentObjectValidators; diff --git a/libjava/classpath/java/io/ObjectOutputStream.java b/libjava/classpath/java/io/ObjectOutputStream.java index 316b907..b1894b3 100644 --- a/libjava/classpath/java/io/ObjectOutputStream.java +++ b/libjava/classpath/java/io/ObjectOutputStream.java @@ -170,6 +170,7 @@ public class ObjectOutputStream extends OutputStream * If an exception is thrown from this method, the stream is left in * an undefined state. * + * @param obj the object to serialize. * @exception NotSerializableException An attempt was made to * serialize an Object that is not serializable. * @@ -178,9 +179,71 @@ public class ObjectOutputStream extends OutputStream * * @exception IOException Exception from underlying * OutputStream. + * @see #writeUnshared(Object) */ public final void writeObject(Object obj) throws IOException { + writeObject(obj, true); + } + + /** + * Writes an object to the stream in the same manner as + * {@link #writeObject(Object)}, but without the use of + * references. As a result, the object is always written + * to the stream in full. Likewise, if an object is written + * by this method and is then later written again by + * {@link #writeObject(Object)}, both calls will write out + * the object in full, as the later call to + * {@link #writeObject(Object)} will know nothing of the + * earlier use of {@link #writeUnshared(Object)}. + * + * @param obj the object to serialize. + * @throws NotSerializableException if the object being + * serialized does not implement + * {@link Serializable}. + * @throws InvalidClassException if a problem occurs with + * the class of the object being + * serialized. + * @throws IOException if an I/O error occurs on the underlying + * OutputStream. + * @since 1.4 + * @see #writeObject(Object) + */ + public void writeUnshared(Object obj) + throws IOException + { + writeObject(obj, false); + } + + /** + * Writes a representation of obj to the underlying + * output stream by writing out information about its class, then + * writing out each of the objects non-transient, non-static + * fields. If any of these fields are other objects, + * they are written out in the same manner. + * + * This method can be overriden by a class by implementing + * private void writeObject (ObjectOutputStream). + * + * If an exception is thrown from this method, the stream is left in + * an undefined state. + * + * @param obj the object to serialize. + * @param shared true if the serialized object should be + * shared with later calls. + * @exception NotSerializableException An attempt was made to + * serialize an Object that is not serializable. + * + * @exception InvalidClassException Somebody tried to serialize + * an object which is wrongly formatted. + * + * @exception IOException Exception from underlying + * OutputStream. + * @see #writeUnshared(Object) + */ + private final void writeObject(Object obj, boolean shared) + throws IOException + { if (useSubclassMethod) { if (dump) @@ -212,7 +275,7 @@ public class ObjectOutputStream extends OutputStream } int handle = findHandle(obj); - if (handle >= 0) + if (handle >= 0 && shared) { realOutput.writeByte(TC_REFERENCE); realOutput.writeInt(handle); @@ -243,7 +306,8 @@ public class ObjectOutputStream extends OutputStream writeObject(osc.getSuper()); } - assignNewHandle(obj); + if (shared) + assignNewHandle(obj); break; } @@ -263,7 +327,8 @@ public class ObjectOutputStream extends OutputStream /* TC_ENUM classDesc newHandle enumConstantName */ realOutput.writeByte(TC_ENUM); writeObject(osc); - assignNewHandle(obj); + if (shared) + assignNewHandle(obj); writeObject(((Enum) obj).name()); break; } @@ -299,7 +364,8 @@ public class ObjectOutputStream extends OutputStream if (obj instanceof String) { realOutput.writeByte(TC_STRING); - assignNewHandle(obj); + if (shared) + assignNewHandle(obj); realOutput.writeUTF((String)obj); break; } @@ -308,7 +374,8 @@ public class ObjectOutputStream extends OutputStream { realOutput.writeByte(TC_ARRAY); writeObject(osc); - assignNewHandle(obj); + if (shared) + assignNewHandle(obj); writeArraySizeAndElements(obj, clazz.getComponentType()); break; } @@ -316,11 +383,12 @@ public class ObjectOutputStream extends OutputStream realOutput.writeByte(TC_OBJECT); writeObject(osc); - if (replaceDone) - assignNewHandle(replacedObject); - else - assignNewHandle(obj); - + if (shared) + if (replaceDone) + assignNewHandle(replacedObject); + else + assignNewHandle(obj); + if (obj instanceof Externalizable) { if (protocolVersion == PROTOCOL_VERSION_2) diff --git a/libjava/classpath/java/io/StreamTokenizer.java b/libjava/classpath/java/io/StreamTokenizer.java index b4695ab..759aa9a 100644 --- a/libjava/classpath/java/io/StreamTokenizer.java +++ b/libjava/classpath/java/io/StreamTokenizer.java @@ -330,6 +330,7 @@ public class StreamTokenizer { while ((ch = in.read()) != '\n' && ch != '\r' && ch != TT_EOF) ; + if (ch != TT_EOF) in.unread(ch); return nextToken(); // Recursive, but not too deep in normal cases @@ -431,6 +432,7 @@ public class StreamTokenizer { while ((ch = in.read()) != '\n' && ch != '\r' && ch != TT_EOF) ; + if (ch != TT_EOF) in.unread(ch); return nextToken(); // Recursive, but not too deep in normal cases. diff --git a/libjava/classpath/java/io/class-dependencies.conf b/libjava/classpath/java/io/class-dependencies.conf deleted file mode 100644 index 633bb17..0000000 --- a/libjava/classpath/java/io/class-dependencies.conf +++ /dev/null @@ -1,100 +0,0 @@ -# This property file contains dependencies of classes, methods, and -# field on other methods or classes. -# -# Syntax: -# -# : [... ] -# -# means that when is included, (... ) must -# be included as well. -# -# and are of the form -# -# -# -# or just -# -# -# -# Within dependencies, variables can be used. A variable is defined as -# follows: -# -# {variable}: value1 value2 ... value -# -# variables can be used on the right side of dependencies as follows: -# -# : com.bla.blu.{variable}.Class.m()V -# -# The use of the variable will expand to dependencies of the form -# -# : com.bla.blu.value1.Class.m()V -# : com.bla.blu.value2.Class.m()V -# ... -# : com.bla.blu.value.Class.m()V -# -# Variables can be redefined when building a system to select the -# required support for features like encodings, protocols, etc. -# -# Hints: -# -# - For methods and fields, the signature is mandatory. For -# specification, please see the Java Virtual Machine Specification by -# SUN. Unlike in the spec, field signatures (types) are in brackets. -# -# - Package names must be separated by '/' (and not '.'). E.g., -# java/lang/Class (this is necessary, because the '.' is used to -# separate method or field names from classes) -# -# - In case refers to a class, only the class itself will be -# included in the resulting binary, NOT necessarily all its methods -# and fields. If you want to refer to all methods and fields, you can -# write class.* as an abbreviation. -# -# - Abbreviations for packages are also possible: my/package/* means all -# methods and fields of all classes in my/package. -# -# - A line with a trailing '\' continues in the next line. - -java/io/File: \ - java/lang/ClassNotFoundException.(Ljava/lang/String;)V \ - java/lang/InternalError.(Ljava/lang/String;)V \ - java/io/IOException.(Ljava/lang/String;)V \ - java/lang/IllegalArgumentException.(Ljava/lang/String;)V - -java/io/FileDescriptor: \ - java/lang/ClassNotFoundException.(Ljava/lang/String;)V \ - java/lang/InternalError.(Ljava/lang/String;)V \ - java/lang/IllegalArgumentException.(Ljava/lang/String;)V \ - java/io/IOException.(Ljava/lang/String;)V - -java/io/FileInputStream: \ - java/lang/ClassNotFoundException.(Ljava/lang/String;)V \ - java/lang/InternalError.(Ljava/lang/String;)V \ - java/io/IOException.(Ljava/lang/String;)V \ - java/io/FileNotFoundException.(Ljava/lang/String;)V - -java/io/FileOutputStream: \ - java/lang/ClassNotFoundException.(Ljava/lang/String;)V \ - java/lang/InternalError.(Ljava/lang/String;)V \ - java/io/FileNotFoundException.(Ljava/lang/String;)V \ - java/io/IOException.(Ljava/lang/String;)V - -java/io/ObjectInputStream: \ - java/lang/ClassNotFoundException.(Ljava/lang/String;)V \ - java/lang/InternalError.(Ljava/lang/String;)V \ - java/lang/SecurityManager.currentClassLoader()Ljava/lang/ClassLoader; \ - java/lang/IllegalArgumentException.(Ljava/lang/String;)V - -java/io/ObjectOutputStream: \ - java/lang/ClassNotFoundException.(Ljava/lang/String;)V \ - java/lang/InternalError.(Ljava/lang/String;)V \ - java/lang/SecurityManager.currentClassLoader()Ljava/lang/ClassLoader; \ - java/lang/IllegalArgumentException.(Ljava/lang/String;)V - -java/io/RandomAccessFile: \ - java/lang/ClassNotFoundException.(Ljava/lang/String;)V \ - java/lang/InternalError.(Ljava/lang/String;)V \ - java/io/FileNotFoundException.(Ljava/lang/String;)V \ - java/io/IOException.(Ljava/lang/String;)V - -# end of file diff --git a/libjava/classpath/java/lang/Character.java b/libjava/classpath/java/lang/Character.java index b9c6f24..506033f 100644 --- a/libjava/classpath/java/lang/Character.java +++ b/libjava/classpath/java/lang/Character.java @@ -156,7 +156,7 @@ public final class Character implements Serializable, Comparable private final String canonicalName; /** Enumeration for the forName() method */ - private enum NameType { CANONICAL, NO_SPACES, CONSTANT; }; + private enum NameType { CANONICAL, NO_SPACES, CONSTANT; } /** * Constructor for strictly defined blocks. diff --git a/libjava/classpath/java/lang/Class.java b/libjava/classpath/java/lang/Class.java index f44782f..d3df881 100644 --- a/libjava/classpath/java/lang/Class.java +++ b/libjava/classpath/java/lang/Class.java @@ -45,6 +45,7 @@ import java.io.InputStream; import java.io.Serializable; import java.lang.annotation.Annotation; import java.lang.annotation.Inherited; +import java.lang.reflect.AccessibleObject; import java.lang.reflect.AnnotatedElement; import java.lang.reflect.Constructor; import java.lang.reflect.Field; @@ -1126,15 +1127,7 @@ public final class Class if (!Modifier.isPublic(constructor.getModifiers()) || !Modifier.isPublic(VMClass.getModifiers(this, true))) { - final Constructor finalConstructor = constructor; - AccessController.doPrivileged(new PrivilegedAction() - { - public Object run() - { - finalConstructor.setAccessible(true); - return null; - } - }); + setAccessible(constructor); } synchronized(this) { @@ -1397,7 +1390,9 @@ public final class Class { try { - return (T[]) getMethod("values").invoke(null); + Method m = getMethod("values"); + setAccessible(m); + return (T[]) m.invoke(null); } catch (NoSuchMethodException exception) { @@ -1787,5 +1782,18 @@ public final class Class return VMClass.isMemberClass(this); } - + /** + * Utility method for use by classes in this package. + */ + static void setAccessible(final AccessibleObject obj) + { + AccessController.doPrivileged(new PrivilegedAction() + { + public Object run() + { + obj.setAccessible(true); + return null; + } + }); + } } diff --git a/libjava/classpath/java/lang/Enum.java b/libjava/classpath/java/lang/Enum.java index f141619..fa217bb 100644 --- a/libjava/classpath/java/lang/Enum.java +++ b/libjava/classpath/java/lang/Enum.java @@ -97,9 +97,12 @@ public abstract class Enum> try { + // XXX We should not use getDeclaredField, because it does + // an unnecessary security check. Field f = etype.getDeclaredField(s); if (! f.isEnumConstant()) throw new IllegalArgumentException(s); + Class.setAccessible(f); return (S) f.get(null); } catch (NoSuchFieldException exception) @@ -220,4 +223,14 @@ public abstract class Enum> k = k.getSuperclass(); return k; } + + /** + * Enumerations can not have finalization methods. + * + * @since 1.6 + */ + protected final void finalize() + { + } + } diff --git a/libjava/classpath/java/lang/StrictMath.java b/libjava/classpath/java/lang/StrictMath.java index ec74ca4..6eb1cb2 100644 --- a/libjava/classpath/java/lang/StrictMath.java +++ b/libjava/classpath/java/lang/StrictMath.java @@ -2278,8 +2278,9 @@ public final strictfp class StrictMath j |= iq[i]; if (j == 0) // Need recomputation. { - int k; - for (k = 1; iq[jk - k] == 0; k++); // k = no. of terms needed. + int k; // k = no. of terms needed. + for (k = 1; iq[jk - k] == 0; k++) + ; for (i = jz + 1; i <= jz + k; i++) // Add q[jz+1] to q[jz+k]. { diff --git a/libjava/classpath/java/lang/String.java b/libjava/classpath/java/lang/String.java index 28b77c0..ecb4688 100644 --- a/libjava/classpath/java/lang/String.java +++ b/libjava/classpath/java/lang/String.java @@ -1592,8 +1592,10 @@ public final class String if (begin == limit) return ""; while (value[begin++] <= '\u0020'); + int end = limit; - while (value[--end] <= '\u0020'); + while (value[--end] <= '\u0020') + ; return substring(begin - offset - 1, end - offset + 1); } @@ -1988,4 +1990,17 @@ public final class String return Character.offsetByCodePoints(value, offset, count, offset + index, codePointOffset); } + + /** + * Returns true if, and only if, {@link #length()} + * is 0. + * + * @return true if the length of the string is zero. + * @since 1.6 + */ + public boolean isEmpty() + { + return count == 0; + } + } diff --git a/libjava/classpath/java/lang/System.java b/libjava/classpath/java/lang/System.java index ca390bf..68d76fc 100644 --- a/libjava/classpath/java/lang/System.java +++ b/libjava/classpath/java/lang/System.java @@ -1,5 +1,5 @@ /* System.java -- useful methods to interface with the system - Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 + Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -42,8 +42,11 @@ package java.lang; import gnu.classpath.SystemProperties; import gnu.classpath.VMStackWalker; +import java.io.IOException; import java.io.InputStream; import java.io.PrintStream; +import java.nio.channels.Channel; +import java.nio.channels.spi.SelectorProvider; import java.util.AbstractCollection; import java.util.Collection; import java.util.Collections; @@ -362,6 +365,7 @@ public final class System *
    gnu.java.io.encoding_scheme_alias.iso-latin-_?
    8859_?
    *
    gnu.java.io.encoding_scheme_alias.latin?
    8859_?
    *
    gnu.java.io.encoding_scheme_alias.utf-8
    UTF8
    + *
    gnu.java.util.zoneinfo.dir
    Root of zoneinfo tree
    *
    gnu.javax.print.server
    Hostname of external CUPS server.
    * * @@ -671,6 +675,25 @@ public final class System return VMRuntime.mapLibraryName(libname); } + /** + * Returns the inherited channel of the VM. + * + * This wraps the inheritedChannel() call of the system's default + * {@link SelectorProvider}. + * + * @return the inherited channel of the VM + * + * @throws IOException If an I/O error occurs + * @throws SecurityException If an installed security manager denies access + * to RuntimePermission("inheritedChannel") + * + * @since 1.5 + */ + public static Channel inheritedChannel() + throws IOException + { + return SelectorProvider.provider().inheritedChannel(); + } /** * This is a specialised Collection, providing diff --git a/libjava/classpath/java/lang/class-dependencies.conf b/libjava/classpath/java/lang/class-dependencies.conf deleted file mode 100644 index 4fbf75e..0000000 --- a/libjava/classpath/java/lang/class-dependencies.conf +++ /dev/null @@ -1,58 +0,0 @@ -# This property file contains dependencies of classes, methods, and -# field on other methods or classes. -# -# Syntax: -# -# : [... ] -# -# means that when is included, (... ) must -# be included as well. -# -# and are of the form -# -# -# -# or just -# -# -# -# Within dependencies, variables can be used. A variable is defined as -# follows: -# -# {variable}: value1 value2 ... value -# -# variables can be used on the right side of dependencies as follows: -# -# : com.bla.blu.{variable}.Class.m()V -# -# The use of the variable will expand to dependencies of the form -# -# : com.bla.blu.value1.Class.m()V -# : com.bla.blu.value2.Class.m()V -# ... -# : com.bla.blu.value.Class.m()V -# -# Variables can be redefined when building a system to select the -# required support for features like encodings, protocols, etc. -# -# Hints: -# -# - For methods and fields, the signature is mandatory. For -# specification, please see the Java Virtual Machine Specification by -# SUN. Unlike in the spec, field signatures (types) are in brackets. -# -# - Package names must be separated by '/' (and not '.'). E.g., -# java/lang/Class (this is necessary, because the '.' is used to -# separate method or field names from classes) -# -# - In case refers to a class, only the class itself will be -# included in the resulting binary, NOT necessarily all its methods -# and fields. If you want to refer to all methods and fields, you can -# write class.* as an abbreviation. -# -# - Abbreviations for packages are also possible: my/package/* means all -# methods and fields of all classes in my/package. -# -# - A line with a trailing '\' continues in the next line. - -# end of file diff --git a/libjava/classpath/java/lang/management/LockInfo.java b/libjava/classpath/java/lang/management/LockInfo.java new file mode 100644 index 0000000..ae51668 --- /dev/null +++ b/libjava/classpath/java/lang/management/LockInfo.java @@ -0,0 +1,114 @@ +/* LockInfo.java - Information on a lock. + Copyright (C) 2006 Free Software Foundation + +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.management; + +import java.beans.ConstructorProperties; + +/** + * Provides information on a lock held by a thread. + * A lock can be either a built-in monitor, an + * ownable synchronizer (i.e. a subclass + * of {@link java.util.concurrent.locks.AbstractOwnableSynchronizer}), + * or a {@link java.util.concurrent.locks.Condition} + * object. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.6 + */ +public class LockInfo +{ + + /** + * The class name of the lock object. + */ + private String className; + + /** + * The identity hash code of the lock object. + */ + private int identityHashCode; + + /** + * Constructs a new {@link LockInfo} object with the + * specified class name and identity hash code. + * + * @param className the name of the class of the lock object. + * @param identityHashCode the identity hash code of the + * lock object. + */ + @ConstructorProperties({"className","identityHashCode"}) + public LockInfo(String className, int identityHashCode) + { + this.className = className; + this.identityHashCode = identityHashCode; + } + + /** + * Returns the class name of the lock object. + * + * @return the class name of the lock object. + */ + public String getClassName() + { + return className; + } + + /** + * Returns the identity hash code of the lock object. + * + * @return the identity hash code of the lock object. + */ + public int getIdentityHashCode() + { + return identityHashCode; + } + + /** + * Returns a textual representation of the lock, + * constructed by concatenating the class name, + * '@' and the identity hash code + * in unsigned hexadecimal form. + * + * @return a textual representation of the lock. + */ + public String toString() + { + return className + '@' + Integer.toHexString(identityHashCode); + } + +} diff --git a/libjava/classpath/java/lang/management/ManagementFactory.java b/libjava/classpath/java/lang/management/ManagementFactory.java index a51ca0f..977b399 100644 --- a/libjava/classpath/java/lang/management/ManagementFactory.java +++ b/libjava/classpath/java/lang/management/ManagementFactory.java @@ -49,20 +49,36 @@ import gnu.java.lang.management.MemoryPoolMXBeanImpl; import gnu.java.lang.management.RuntimeMXBeanImpl; import gnu.java.lang.management.ThreadMXBeanImpl; +import java.io.IOException; + +import java.lang.reflect.InvocationHandler; +import java.lang.reflect.Method; +import java.lang.reflect.Proxy; + import java.util.ArrayList; +import java.util.HashMap; import java.util.Iterator; import java.util.List; +import java.util.Map; import java.util.logging.LogManager; +import javax.management.Attribute; import javax.management.InstanceAlreadyExistsException; import javax.management.MBeanRegistrationException; import javax.management.MBeanServer; +import javax.management.MBeanServerConnection; import javax.management.MBeanServerFactory; import javax.management.MalformedObjectNameException; import javax.management.NotCompliantMBeanException; +import javax.management.NotificationEmitter; +import javax.management.NotificationFilter; +import javax.management.NotificationListener; import javax.management.ObjectName; +import javax.management.openmbean.CompositeData; +import javax.management.openmbean.TabularData; + /** *

    * Provides access to the system's management beans via a series @@ -549,4 +565,253 @@ public class ManagementFactory return platformServer; } + /** + *

    + * Returns a proxy for the specified platform bean. A proxy object is created + * using Proxy.newProxyInstance(mxbeanInterface.getClassLoader(), + * new Class[] { mxbeanInterface }, handler). The + * {@link javax.management.NotificationEmitter} class is also added to the + * array if the bean provides notifications. handler refers + * to the invocation handler which forwards calls to the connection, and + * also provides translation between the Java data types used in the + * bean interfaces and the open data types, as specified in the description + * of this class. It is this translation that makes the + * usual {@link javax.management.MBeanServerInvocationHandler} inappropriate + * for providing such a proxy. + *

    + *

    + * Note: use of the proxy may result in + * {@link java.io.IOException}s from the underlying {@link MBeanServerConnection} + * and a {@link java.io.InvalidObjectException} if enum constants + * used on the client and the server don't match. + *

    + * + * @param connection the server connection to use to access the bean. + * @param mxbeanName the {@link javax.management.ObjectName} of the + * bean to provide a proxy for. + * @param mxbeanInterface the interface for the bean being proxied. + * @return a proxy for the specified bean. + * @throws IllegalArgumentException if mxbeanName is not a valid + * {@link javax.management.ObjectName}, + * the interface and name do not match the + * same bean, the name does not refer to a + * platform bean or the bean is not registered + * with the server accessed by connection. + * @throws IOException if the connection throws one. + */ + public static T newPlatformMXBeanProxy(MBeanServerConnection connection, + String mxbeanName, + Class mxbeanInterface) + throws IOException + { + if (!(mxbeanName.equals(CLASS_LOADING_MXBEAN_NAME) || + mxbeanName.equals(COMPILATION_MXBEAN_NAME) || + mxbeanName.startsWith(GARBAGE_COLLECTOR_MXBEAN_DOMAIN_TYPE) || + mxbeanName.startsWith(MEMORY_MANAGER_MXBEAN_DOMAIN_TYPE) || + mxbeanName.equals(MEMORY_MXBEAN_NAME) || + mxbeanName.startsWith(MEMORY_POOL_MXBEAN_DOMAIN_TYPE) || + mxbeanName.equals(OPERATING_SYSTEM_MXBEAN_NAME) || + mxbeanName.equals(RUNTIME_MXBEAN_NAME) || + mxbeanName.equals(THREAD_MXBEAN_NAME))) + { + throw new IllegalArgumentException("The named bean, " + mxbeanName + + ", is not a platform name."); + } + if ((mxbeanName.equals(CLASS_LOADING_MXBEAN_NAME) && + mxbeanInterface != ClassLoadingMXBean.class) || + (mxbeanName.equals(COMPILATION_MXBEAN_NAME) && + mxbeanInterface != CompilationMXBean.class) || + (mxbeanName.startsWith(GARBAGE_COLLECTOR_MXBEAN_DOMAIN_TYPE) && + mxbeanInterface != GarbageCollectorMXBean.class) || + (mxbeanName.startsWith(MEMORY_MANAGER_MXBEAN_DOMAIN_TYPE) && + mxbeanInterface != MemoryManagerMXBean.class) || + (mxbeanName.equals(MEMORY_MXBEAN_NAME) && + mxbeanInterface != MemoryMXBean.class) || + (mxbeanName.startsWith(MEMORY_POOL_MXBEAN_DOMAIN_TYPE) && + mxbeanInterface != MemoryPoolMXBean.class) || + (mxbeanName.equals(OPERATING_SYSTEM_MXBEAN_NAME) && + mxbeanInterface != OperatingSystemMXBean.class) || + (mxbeanName.equals(RUNTIME_MXBEAN_NAME) && + mxbeanInterface != RuntimeMXBean.class) || + (mxbeanName.equals(THREAD_MXBEAN_NAME) && + mxbeanInterface != ThreadMXBean.class)) + throw new IllegalArgumentException("The interface, " + mxbeanInterface + + ", does not match the bean, " + mxbeanName); + ObjectName bean; + try + { + bean = new ObjectName(mxbeanName); + } + catch (MalformedObjectNameException e) + { + throw new IllegalArgumentException("The named bean is invalid."); + } + if (!(connection.isRegistered(bean))) + throw new IllegalArgumentException("The bean is not registered on this connection."); + Class[] interfaces; + if (mxbeanName.equals(MEMORY_MXBEAN_NAME)) + interfaces = new Class[] { mxbeanInterface, NotificationEmitter.class }; + else + interfaces = new Class[] { mxbeanInterface }; + return (T) Proxy.newProxyInstance(mxbeanInterface.getClassLoader(), + interfaces, + new ManagementInvocationHandler(connection, bean)); + } + + /** + * This invocation handler provides method calls for a platform bean + * by forwarding them to a {@link MBeanServerConnection}. Translation from + * Java data types to open data types is performed as specified above. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ + private static class ManagementInvocationHandler + implements InvocationHandler + { + + /** + * The encapsulated connection. + */ + private MBeanServerConnection conn; + + /** + * The bean being proxied. + */ + private ObjectName bean; + + /** + * Constructs a new {@link InvocationHandler} which proxies + * for the specified bean using the supplied connection. + * + * @param conn the connection on which to forward method calls. + * @param bean the bean to proxy. + */ + public ManagementInvocationHandler(MBeanServerConnection conn, + ObjectName bean) + throws IOException + { + this.conn = conn; + this.bean = bean; + } + + /** + * Called by the proxy class whenever a method is called. The method + * is emulated by retrieving an attribute from, setting an attribute on + * or invoking a method on the server connection as required. Translation + * between the Java data types supplied as arguments to the open types used + * by the bean is provided, as well as translation of the return value back + * in to the appropriate Java type. + * + * @param proxy the proxy on which the method was called. + * @param method the method which was called. + * @param args the arguments supplied to the method. + * @return the return value from the method. + * @throws Throwable if an exception is thrown in performing the + * method emulation. + */ + public Object invoke(Object proxy, Method method, Object[] args) + throws Throwable + { + String name = method.getName(); + if (name.equals("toString")) + return "Proxy for " + bean + " using " + conn; + if (name.equals("addNotificationListener")) + { + conn.addNotificationListener(bean, + (NotificationListener) args[0], + (NotificationFilter) args[1], + args[2]); + return null; + } + if (name.equals("getNotificationInfo")) + return conn.getMBeanInfo(bean).getNotifications(); + if (name.equals("removeNotificationListener")) + { + if (args.length == 1) + conn.removeNotificationListener(bean, + (NotificationListener) + args[0]); + else + conn.removeNotificationListener(bean, + (NotificationListener) + args[0], + (NotificationFilter) + args[1], args[2]); + return null; + } + String attrib = null; + if (name.startsWith("get")) + attrib = name.substring(3); + else if (name.startsWith("is")) + attrib = name.substring(2); + if (attrib != null) + return translate(conn.getAttribute(bean, attrib), method); + else if (name.startsWith("set")) + { + conn.setAttribute(bean, new Attribute(name.substring(3), + args[0])); + return null; + } + else + return translate(conn.invoke(bean, name, args, null), method); + } + + /** + * Translates the returned open data type to the value + * required by the interface. + * + * @param otype the open type returned by the method call. + * @param method the method that was called. + * @return the equivalent return type required by the interface. + * @throws Throwable if an exception is thrown in performing the + * conversion. + */ + private final Object translate(Object otype, Method method) + throws Throwable + { + Class returnType = method.getReturnType(); + if (returnType.isEnum()) + { + String ename = (String) otype; + Enum[] constants = (Enum[]) returnType.getEnumConstants(); + for (Enum c : constants) + if (c.name().equals(ename)) + return c; + } + if (List.class.isAssignableFrom(returnType)) + { + Object[] elems = (Object[]) otype; + List l = new ArrayList(elems.length); + for (Object elem : elems) + l.add(elem); + return l; + } + if (Map.class.isAssignableFrom(returnType)) + { + TabularData data = (TabularData) otype; + Map m = new HashMap(data.size()); + for (Object val : data.values()) + { + CompositeData vals = (CompositeData) val; + m.put(vals.get("key"), vals.get("value")); + } + return m; + } + try + { + Method m = returnType.getMethod("from", + new Class[] + { CompositeData.class }); + return m.invoke(null, (CompositeData) otype); + } + catch (NoSuchMethodException e) + { + /* Ignored; we expect this if this + isn't a from(CompositeData) class */ + } + return otype; + } + + } } diff --git a/libjava/classpath/java/lang/management/MemoryUsage.java b/libjava/classpath/java/lang/management/MemoryUsage.java index 3c2a4cb..d851da9 100644 --- a/libjava/classpath/java/lang/management/MemoryUsage.java +++ b/libjava/classpath/java/lang/management/MemoryUsage.java @@ -180,14 +180,14 @@ public class MemoryUsage if (data == null) return null; CompositeType type = data.getCompositeType(); - ThreadInfo.checkAttribute(type, "init", SimpleType.LONG); - ThreadInfo.checkAttribute(type, "used", SimpleType.LONG); - ThreadInfo.checkAttribute(type, "committed", SimpleType.LONG); - ThreadInfo.checkAttribute(type, "max", SimpleType.LONG); - return new MemoryUsage(((Long) data.get("init")).longValue(), - ((Long) data.get("used")).longValue(), - ((Long) data.get("committed")).longValue(), - ((Long) data.get("max")).longValue()); + ThreadInfo.checkAttribute(type, "Init", SimpleType.LONG); + ThreadInfo.checkAttribute(type, "Used", SimpleType.LONG); + ThreadInfo.checkAttribute(type, "Committed", SimpleType.LONG); + ThreadInfo.checkAttribute(type, "Max", SimpleType.LONG); + return new MemoryUsage(((Long) data.get("Init")).longValue(), + ((Long) data.get("Used")).longValue(), + ((Long) data.get("Committed")).longValue(), + ((Long) data.get("Max")).longValue()); } /** diff --git a/libjava/classpath/java/lang/management/MonitorInfo.java b/libjava/classpath/java/lang/management/MonitorInfo.java new file mode 100644 index 0000000..cba73a8 --- /dev/null +++ b/libjava/classpath/java/lang/management/MonitorInfo.java @@ -0,0 +1,179 @@ +/* MonitorInfo.java - Information on a monitor lock. + Copyright (C) 2006 Free Software Foundation + +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.management; + +import javax.management.openmbean.CompositeData; +import javax.management.openmbean.CompositeType; +import javax.management.openmbean.SimpleType; + +/** + * Provides information on a monitor lock held by a thread. + * A monitor lock is obtained when a thread enters a synchronized + * block or method. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.6 + */ +public class MonitorInfo + extends LockInfo +{ + + /** + * The stack depth at which the lock was obtained. + */ + private int stackDepth; + + /** + * The stack frame at which the lock was obtained. + */ + private StackTraceElement stackFrame; + + /** + * Constructs a new {@link MonitorInfo} using the specified + * lock class name and identity hash code, and the given + * stack depth and frame. + * + * @param className the class name of the lock object. + * @param identityHashCode the identity hash code of the lock object. + * @param stackDepth the depth of the stack at which the lock + * was obtained. + * @param stackFrame the frame of the stack at which the lock was + * obtained. + * @throws IllegalArgumentException if the stack depth and frame are + * inconsistent i.e. the frame is + * null but the depth is + * ≥ 0, or the frame is not + * null but the depth is + * < 0. + */ + public MonitorInfo(String className, int identityHashCode, int stackDepth, + StackTraceElement stackFrame) + { + super(className, identityHashCode); + if (stackFrame == null && stackDepth >= 0) + throw new IllegalArgumentException("The stack frame is null, but the " + + "stack depth is greater than or equal " + + "to zero."); + if (stackFrame != null && stackDepth < 0) + throw new IllegalArgumentException("The stack frame is not null, but the " + + "stack depth is less than zero."); + this.stackDepth = stackDepth; + this.stackFrame = stackFrame; + } + + /** + *

    + * Returns a {@link MonitorInfo} instance using the values + * given in the supplied + * {@link javax.management.openmbean.CompositeData} object. + * The composite data instance should contain the following + * attributes with the specified types: + *

    + *
  • + * + * + * + * + * + *
    NameType
    classNamejava.lang.String
    identityHashCodejava.lang.Integer
    lockedStackDepthjava.lang.Integer
    lockedStackFramejavax.management.openmbean.CompositeData + *
    + *

    + * The stack trace is further described as: + *

    + * + * + * + * + * + * + * + *
    NameType
    classNamejava.lang.String
    methodNamejava.lang.String
    fileNamejava.lang.String
    lineNumberjava.lang.Integer
    nativeMethodjava.lang.Boolean
    + * + * @param data the composite data structure to take values from. + * @return a new instance containing the values from the + * composite data structure, or null + * if the data structure was also null. + * @throws IllegalArgumentException if the composite data structure + * does not match the structure + * outlined above. + */ + public static MonitorInfo from(CompositeData data) + { + if (data == null) + return null; + CompositeType type = data.getCompositeType(); + ThreadInfo.checkAttribute(type, "ClassName", SimpleType.STRING); + ThreadInfo.checkAttribute(type, "IdentityHashCode", SimpleType.INTEGER); + ThreadInfo.checkAttribute(type, "LockedStackDepth", SimpleType.INTEGER); + ThreadInfo.checkAttribute(type, "LockedStackFrame", + ThreadInfo.getStackTraceType()); + CompositeData frame = (CompositeData) data.get("LockedStackFrame"); + return new MonitorInfo((String) data.get("ClassName"), + (Integer) data.get("IdentityHashCode"), + (Integer) data.get("LockedStackDepth"), + new StackTraceElement((String) frame.get("ClassName"), + (String) frame.get("MethodName"), + (String) frame.get("FileName"), + (Integer) frame.get("LineNumber"))); + } + + /** + * Returns the depth of the stack at which the lock was obtained. + * This works as an index into the array returned by + * {@link ThreadInfo#getStackTrace()}. + * + * @return the depth of the stack at which the lock was obtained, + * or a negative number if this information is unavailable. + */ + public int getLockedStackDepth() + { + return stackDepth; + } + + /** + * Returns the stack frame at which the lock was obtained. + * + * @return the stack frame at which the lock was obtained, + * or null if this informati0on is unavailable. + */ + public StackTraceElement getLockedStackFrame() + { + return stackFrame; + } + +} diff --git a/libjava/classpath/java/lang/management/OperatingSystemMXBean.java b/libjava/classpath/java/lang/management/OperatingSystemMXBean.java index 2430a9f..ed38285 100644 --- a/libjava/classpath/java/lang/management/OperatingSystemMXBean.java +++ b/libjava/classpath/java/lang/management/OperatingSystemMXBean.java @@ -87,6 +87,22 @@ public interface OperatingSystemMXBean String getName(); /** + * Returns the system load average for the last minute, or -1 + * if this is unavailable. The availability and calculation + * of the load average is system-dependent, but is usually + * a damped time-dependent average obtained by monitoring the + * number of queued and running processes. It is expected + * that this method will be called frequently to monitor the + * average over time, so it may not be implemented on systems + * where such a call is expensive. + * + * @return the system load average for the last minute, or -1 + * if this is unavailable. + * @since 1.6 + */ + double getSystemLoadAverage(); + + /** * Returns the version of the underlying operating system. This * is equivalent to obtaining the os.version property * via {@link System#getProperty(String)}. diff --git a/libjava/classpath/java/lang/management/ThreadInfo.java b/libjava/classpath/java/lang/management/ThreadInfo.java index 428aca3..884f5af 100644 --- a/libjava/classpath/java/lang/management/ThreadInfo.java +++ b/libjava/classpath/java/lang/management/ThreadInfo.java @@ -37,6 +37,8 @@ exception statement from your version. */ package java.lang.management; +import java.util.Arrays; + import javax.management.openmbean.ArrayType; import javax.management.openmbean.CompositeData; import javax.management.openmbean.CompositeType; @@ -68,6 +70,8 @@ import javax.management.openmbean.SimpleType; * monitor, upon which the thread described here is blocked. *
  • The stack trace of the thread (if requested on creation * of this object
  • + *
  • The current locks held on object monitors by the thread.
  • + *
  • The current locks held on ownable synchronizers by the thread.
  • * *
  • Synchronization Statistics *
      @@ -165,11 +169,28 @@ public class ThreadInfo private StackTraceElement[] trace; /** + * The array of information on monitors locked by the thread. + */ + private MonitorInfo[] lockedMonitors; + + /** + * The array of information on ownable synchronizers locked + * by the thread. + */ + private LockInfo[] lockedSynchronizers; + + /** * Cache a local reference to the thread management bean. */ private static ThreadMXBean bean = null; /** + * Cache the {@link javax.management.openmbean.CompositeType} + * for the {@link StackTraceElement}. + */ + private static CompositeType seType; + + /** * Constructs a new {@link ThreadInfo} corresponding * to the thread specified. * @@ -200,13 +221,57 @@ public class ThreadInfo long waitedTime, boolean isInNative, boolean isSuspended, StackTraceElement[] trace) { + this(thread, blockedCount, blockedTime, lock, lockOwner, waitedCount, + waitedTime, isInNative, isSuspended, trace, new MonitorInfo[]{}, + new LockInfo[]{}); + } + + /** + * Constructs a new {@link ThreadInfo} corresponding + * to the thread specified. + * + * @param thread the thread on which the new instance + * will be based. + * @param blockedCount the number of times the thread + * has been blocked. + * @param blockedTime the accumulated number of milliseconds + * the specified thread has been blocked + * (only used with contention monitoring enabled) + * @param lock the monitor lock the thread is waiting for + * (only used if blocked) + * @param lockOwner the thread which owns the monitor lock, or + * null if it doesn't have an owner + * (only used if blocked) + * @param waitedCount the number of times the thread has been in a + * waiting state. + * @param waitedTime the accumulated number of milliseconds the + * specified thread has been waiting + * (only used with contention monitoring enabled) + * @param isInNative true if the thread is in a native method. + * @param isSuspended true if the thread is suspended. + * @param trace the stack trace of the thread to a pre-determined + * depth (see VMThreadMXBeanImpl) + * @param lockedMonitors an array of {@link MonitorInfo} objects + * representing locks held on object monitors + * by the thread. + * @param lockedSynchronizers an array of {@link LockInfo} objects + * representing locks held on ownable + * synchronizers by the thread. + * @since 1.6 + */ + private ThreadInfo(Thread thread, long blockedCount, long blockedTime, + Object lock, Thread lockOwner, long waitedCount, + long waitedTime, boolean isInNative, boolean isSuspended, + StackTraceElement[] trace, MonitorInfo[] lockedMonitors, + LockInfo[] lockedSynchronizers) + { this(thread.getId(), thread.getName(), thread.getState(), blockedCount, blockedTime, lock == null ? null : lock.getClass().getName() + "@" + Integer.toHexString(System.identityHashCode(lock)), lockOwner == null ? -1 : lockOwner.getId(), lockOwner == null ? null : lockOwner.getName(), waitedCount, waitedTime, isInNative, isSuspended, - trace); + trace, lockedMonitors, lockedSynchronizers); } /** @@ -248,6 +313,59 @@ public class ThreadInfo long waitedTime, boolean isInNative, boolean isSuspended, StackTraceElement[] trace) { + this(threadId, threadName, threadState, blockedCount, blockedTime, + lockName, lockOwnerId, lockOwnerName, waitedCount, waitedTime, + isInNative, isSuspended, trace, new MonitorInfo[]{}, new LockInfo[]{}); + } + + /** + * Constructs a new {@link ThreadInfo} corresponding + * to the thread details specified. + * + * @param threadId the id of the thread on which this + * new instance will be based. + * @param threadName the name of the thread on which + * this new instance will be based. + * @param threadState the state of the thread on which + * this new instance will be based. + * @param blockedCount the number of times the thread + * has been blocked. + * @param blockedTime the accumulated number of milliseconds + * the specified thread has been blocked + * (only used with contention monitoring enabled) + * @param lockName the name of the monitor lock the thread is waiting for + * (only used if blocked) + * @param lockOwnerId the id of the thread which owns the monitor + * lock, or -1 if it doesn't have an owner + * (only used if blocked) + * @param lockOwnerName the name of the thread which owns the monitor + * lock, or null if it doesn't have an + * owner (only used if blocked) + * @param waitedCount the number of times the thread has been in a + * waiting state. + * @param waitedTime the accumulated number of milliseconds the + * specified thread has been waiting + * (only used with contention monitoring enabled) + * @param isInNative true if the thread is in a native method. + * @param isSuspended true if the thread is suspended. + * @param trace the stack trace of the thread to a pre-determined + * depth (see VMThreadMXBeanImpl) + * @param lockedMonitors an array of {@link MonitorInfo} objects + * representing locks held on object monitors + * by the thread. + * @param lockedSynchronizers an array of {@link LockInfo} objects + * representing locks held on ownable + * synchronizers by the thread. + * + * @since 1.6 + */ + private ThreadInfo(long threadId, String threadName, Thread.State threadState, + long blockedCount, long blockedTime, String lockName, + long lockOwnerId, String lockOwnerName, long waitedCount, + long waitedTime, boolean isInNative, boolean isSuspended, + StackTraceElement[] trace, MonitorInfo[] lockedMonitors, + LockInfo[] lockedSynchronizers) + { this.threadId = threadId; this.threadName = threadName; this.threadState = threadState; @@ -261,6 +379,8 @@ public class ThreadInfo this.isInNative = isInNative; this.isSuspended = isSuspended; this.trace = trace; + this.lockedMonitors = lockedMonitors; + this.lockedSynchronizers = lockedSynchronizers; } /** @@ -287,6 +407,44 @@ public class ThreadInfo } /** + * Returns the {@link javax.management.openmbean.CompositeType} for + * a {@link StackTraceElement}. + * + * @return the type for the stack trace element. + */ + static CompositeType getStackTraceType() + { + if (seType == null) + try + { + seType = new CompositeType(StackTraceElement.class.getName(), + "An element of a stack trace", + new String[] { "className", "methodName", + "fileName", "lineNumber", + "nativeMethod" + }, + new String[] { "Name of the class", + "Name of the method", + "Name of the source code file", + "Line number", + "True if this is a native method" + }, + new OpenType[] { + SimpleType.STRING, SimpleType.STRING, + SimpleType.STRING, SimpleType.INTEGER, + SimpleType.BOOLEAN + }); + } + catch (OpenDataException e) + { + throw new IllegalStateException("Something went wrong in creating " + + "the composite data type for the " + + "stack trace element.", e); + } + return seType; + } + + /** *

      * Returns a {@link ThreadInfo} instance using the values * given in the supplied @@ -336,70 +494,133 @@ public class ThreadInfo if (data == null) return null; CompositeType type = data.getCompositeType(); - checkAttribute(type, "threadId", SimpleType.LONG); - checkAttribute(type, "threadName", SimpleType.STRING); - checkAttribute(type, "threadState", SimpleType.STRING); - checkAttribute(type, "suspended", SimpleType.BOOLEAN); - checkAttribute(type, "inNative", SimpleType.BOOLEAN); - checkAttribute(type, "blockedCount", SimpleType.LONG); - checkAttribute(type, "blockedTime", SimpleType.LONG); - checkAttribute(type, "waitedCount", SimpleType.LONG); - checkAttribute(type, "waitedTime", SimpleType.LONG); - checkAttribute(type, "lockName", SimpleType.STRING); - checkAttribute(type, "lockOwnerId", SimpleType.LONG); - checkAttribute(type, "lockOwnerName", SimpleType.STRING); + checkAttribute(type, "ThreadId", SimpleType.LONG); + checkAttribute(type, "ThreadName", SimpleType.STRING); + checkAttribute(type, "ThreadState", SimpleType.STRING); + checkAttribute(type, "Suspended", SimpleType.BOOLEAN); + checkAttribute(type, "InNative", SimpleType.BOOLEAN); + checkAttribute(type, "BlockedCount", SimpleType.LONG); + checkAttribute(type, "BlockedTime", SimpleType.LONG); + checkAttribute(type, "WaitedCount", SimpleType.LONG); + checkAttribute(type, "WaitedTime", SimpleType.LONG); + checkAttribute(type, "LockName", SimpleType.STRING); + checkAttribute(type, "LockOwnerId", SimpleType.LONG); + checkAttribute(type, "LockOwnerName", SimpleType.STRING); try { - CompositeType seType = - new CompositeType(StackTraceElement.class.getName(), - "An element of a stack trace", - new String[] { "className", "methodName", - "fileName", "lineNumber", - "nativeMethod" - }, - new String[] { "Name of the class", - "Name of the method", - "Name of the source code file", - "Line number", - "True if this is a native method" - }, - new OpenType[] { - SimpleType.STRING, SimpleType.STRING, - SimpleType.STRING, SimpleType.INTEGER, - SimpleType.BOOLEAN - }); - checkAttribute(type, "stackTrace", new ArrayType(1, seType)); + checkAttribute(type, "StackTrace", + new ArrayType(1, getStackTraceType())); + } + catch (OpenDataException e) + { + throw new IllegalStateException("Something went wrong in creating " + + "the array for the stack trace element.", + e); + } + OpenType foundType = type.getType("LockedMonitors"); + if (foundType != null) + try + { + CompositeType mType = new CompositeType(MonitorInfo.class.getName(), + "Information on a object monitor lock", + new String[] { "ClassName", + "IdentityHashCode", + "LockedStackDepth", + "LockedStackFrame" + }, + new String[] { "Name of the class", + "Identity hash code " + + "of the class", + "Stack depth at time " + + "of lock", + "Stack frame at time " + + "of lock", + }, + new OpenType[] { + SimpleType.STRING, SimpleType.INTEGER, + SimpleType.INTEGER, getStackTraceType() + }); + if (!(foundType.equals(new ArrayType(1, mType)))) + throw new IllegalArgumentException("Field LockedMonitors is not of " + + "type " + mType.getClassName()); + } + catch (OpenDataException e) + { + throw new IllegalStateException("Something went wrong in creating " + + "the composite data type for the " + + "object monitor information array.", e); } + foundType = type.getType("LockedSynchronizers"); + if (foundType != null) + try + { + CompositeType lType = new CompositeType(LockInfo.class.getName(), + "Information on a lock", + new String[] { "ClassName", + "IdentityHashCode" + }, + new String[] { "Name of the class", + "Identity hash code " + + "of the class" + }, + new OpenType[] { + SimpleType.STRING, SimpleType.INTEGER + }); + if (!(foundType.equals(new ArrayType(1, lType)))) + throw new IllegalArgumentException("Field LockedSynchronizers is not of " + + "type " + lType.getClassName()); + } catch (OpenDataException e) { throw new IllegalStateException("Something went wrong in creating " + "the composite data type for the " + - "stack trace element.", e); + "ownable synchronizerinformation array.", e); } - CompositeData[] dTraces = (CompositeData[]) data.get("stackTrace"); + CompositeData[] dTraces = (CompositeData[]) data.get("StackTrace"); StackTraceElement[] traces = new StackTraceElement[dTraces.length]; for (int a = 0; a < dTraces.length; ++a) /* FIXME: We can't use the boolean as there is no available constructor. */ traces[a] = - new StackTraceElement((String) dTraces[a].get("className"), - (String) dTraces[a].get("methodName"), - (String) dTraces[a].get("fileName"), + new StackTraceElement((String) dTraces[a].get("ClassName"), + (String) dTraces[a].get("MethodName"), + (String) dTraces[a].get("FileName"), ((Integer) - dTraces[a].get("lineNumber")).intValue()); - return new ThreadInfo(((Long) data.get("threadId")).longValue(), - (String) data.get("threadName"), - Thread.State.valueOf((String) data.get("threadState")), - ((Long) data.get("blockedCount")).longValue(), - ((Long) data.get("blockedTime")).longValue(), - (String) data.get("lockName"), - ((Long) data.get("lockOwnerId")).longValue(), - (String) data.get("lockOwnerName"), - ((Long) data.get("waitedCount")).longValue(), - ((Long) data.get("waitedTime")).longValue(), - ((Boolean) data.get("inNative")).booleanValue(), - ((Boolean) data.get("suspended")).booleanValue(), - traces); + dTraces[a].get("LineNumber")).intValue()); + MonitorInfo[] mInfo; + if (data.containsKey("LockedMonitors")) + { + CompositeData[] dmInfos = (CompositeData[]) data.get("LockedMonitors"); + mInfo = new MonitorInfo[dmInfos.length]; + for (int a = 0; a < dmInfos.length; ++a) + mInfo[a] = MonitorInfo.from(dmInfos[a]); + } + else + mInfo = new MonitorInfo[]{}; + LockInfo[] lInfo; + if (data.containsKey("LockedSynchronizers")) + { + CompositeData[] dlInfos = (CompositeData[]) data.get("LockedSynchronizers"); + lInfo = new LockInfo[dlInfos.length]; + for (int a = 0; a < dlInfos.length; ++a) + lInfo[a] = new LockInfo((String) dlInfos[a].get("ClassName"), + (Integer) dlInfos[a].get("IdentityHashCode")); + } + else + lInfo = new LockInfo[]{}; + return new ThreadInfo(((Long) data.get("ThreadId")).longValue(), + (String) data.get("ThreadName"), + Thread.State.valueOf((String) data.get("ThreadState")), + ((Long) data.get("BlockedCount")).longValue(), + ((Long) data.get("BlockedTime")).longValue(), + (String) data.get("LockName"), + ((Long) data.get("LockOwnerId")).longValue(), + (String) data.get("LockOwnerName"), + ((Long) data.get("WaitedCount")).longValue(), + ((Long) data.get("WaitedTime")).longValue(), + ((Boolean) data.get("InNative")).booleanValue(), + ((Boolean) data.get("Suspended")).booleanValue(), + traces, mInfo, lInfo); } /** @@ -459,9 +680,74 @@ public class ThreadInfo } /** + * Returns an array of {@link MonitorInfo} objects representing + * information on the locks on object monitors held by the thread. + * If no locks are held, or such information was not requested + * on creating this {@link ThreadInfo} object, a zero-length + * array will be returned. + * + * @return information on object monitors locked by this thread. + */ + public MonitorInfo[] getLockedMonitors() + { + return lockedMonitors; + } + + /** + * Returns an array of {@link LockInfo} objects representing + * information on the locks on ownable synchronizers held by the thread. + * If no locks are held, or such information was not requested + * on creating this {@link ThreadInfo} object, a zero-length + * array will be returned. + * + * @return information on ownable synchronizers locked by this thread. + */ + public LockInfo[] getLockedSynchronizers() + { + return lockedSynchronizers; + } + + /** + *

      + * Returns a {@link LockInfo} object representing the + * lock on which this thread is blocked. If the thread + * is not blocked, this method returns null. + *

      + *

      + * The thread may be blocked due to one of three reasons: + *

      + *
        + *
      1. The thread is in the BLOCKED state + * waiting to acquire an object monitor in order to enter + * a synchronized method or block.
      2. + *
      3. The thread is in the WAITING or + * TIMED_WAITING state due to a call to + * {@link java.lang.Object#wait()}.
      4. + *
      5. The thread is in the WAITING or + * TIMED_WAITING state due to a call + * to {@link java.util.concurrent.locks.LockSupport#park()}. + * The lock is the return value of + * {@link java.util.concurrent.locks.LockSupport#getBlocker()}.
      6. + *
      + * + * @return a {@link LockInfo} object representing the lock on + * which the thread is blocked, or null if + * the thread isn't blocked. + * @since 1.6 + * @see #getLockName() + */ + public LockInfo getLockInfo() + { + String lockName = getLockName(); + int at = lockName.indexOf('@'); + return new LockInfo(lockName.substring(0, at), + Integer.decode(lockName.substring(at + 1))); + } + + /** *

      * Returns a {@link java.lang.String} representation of - * the monitor lock on which this thread is blocked. If + * the lock on which this thread is blocked. If * the thread is not blocked, this method returns * null. *

      @@ -477,7 +763,8 @@ public class ThreadInfo * and * Integer.toHexString(System.identityHashCode(l)). * The value is only unique to the extent that the identity - * hash code is also unique. + * hash code is also unique. The value is the same as would + * be returned by getLockInfo().toString() *

      * * @return a string representing the lock on which this @@ -486,7 +773,7 @@ public class ThreadInfo */ public String getLockName() { - if (threadState != Thread.State.BLOCKED) + if (!isThreadBlocked()) return null; return lockName; } @@ -504,7 +791,7 @@ public class ThreadInfo */ public long getLockOwnerId() { - if (threadState != Thread.State.BLOCKED) + if (!isThreadBlocked()) return -1; return lockOwnerId; } @@ -522,7 +809,7 @@ public class ThreadInfo */ public String getLockOwnerName() { - if (threadState != Thread.State.BLOCKED) + if (!isThreadBlocked()) return null; return lockOwnerName; } @@ -697,10 +984,40 @@ public class ThreadInfo ", waitedCount=" + waitedCount + ", isInNative=" + isInNative + ", isSuspended=" + isSuspended + - (threadState == Thread.State.BLOCKED ? + (isThreadBlocked() ? ", lockOwnerId=" + lockOwnerId + ", lockOwnerName=" + lockOwnerName : "") + + ", lockedMonitors=" + Arrays.toString(lockedMonitors) + + ", lockedSynchronizers=" + Arrays.toString(lockedSynchronizers) + "]"; } + /** + *

      + * Returns true if the thread is in a blocked state. + * The thread is regarded as blocked if: + *

      + *
        + *
      1. The thread is in the BLOCKED state + * waiting to acquire an object monitor in order to enter + * a synchronized method or block.
      2. + *
      3. The thread is in the WAITING or + * TIMED_WAITING state due to a call to + * {@link java.lang.Object#wait()}.
      4. + *
      5. The thread is in the WAITING or + * TIMED_WAITING state due to a call + * to {@link java.util.concurrent.locks.LockSupport#park()}. + * The lock is the return value of + * {@link java.util.concurrent.locks.LockSupport#getBlocker()}.
      6. + *
      + * + * @return true if the thread is blocked. + */ + private boolean isThreadBlocked() + { + return (threadState == Thread.State.BLOCKED || + threadState == Thread.State.WAITING || + threadState == Thread.State.TIMED_WAITING); + } + } diff --git a/libjava/classpath/java/lang/management/ThreadMXBean.java b/libjava/classpath/java/lang/management/ThreadMXBean.java index 669cb3c..f73075d 100644 --- a/libjava/classpath/java/lang/management/ThreadMXBean.java +++ b/libjava/classpath/java/lang/management/ThreadMXBean.java @@ -57,20 +57,30 @@ package java.lang.management; *

      * This bean supports some optional behaviour, which all * virtual machines may not choose to implement. Specifically, - * this includes the monitoring of the CPU time used by a - * thread, and the monitoring of thread contention. The former - * is further subdivided into the monitoring of either just - * the current thread or all threads. The methods + * this includes the monitoring of: + *

      + *
        + *
      • the CPU time used by a thread
      • + *
      • thread contention
      • + *
      • object monitor usage
      • + *
      • ownable synchronizer usage
      • + *
      + *

      + * The monitoring of CPU time is further subdivided into + * the monitoring of either just the current thread or all + * threads. The methods * {@link #isThreadCpuTimeSupported()}, - * {@link #isCurrentThreadCpuTimeSupported()} and - * {@link #isThreadContentionMonitoringSupported()} may be + * {@link #isCurrentThreadCpuTimeSupported()} + * {@link #isThreadContentionMonitoringSupported()}, + * {@link #isObjectMonitorUsageSupported()} and + * {@link #isSynchronizerUsageSupported()} may be * used to determine whether or not this functionality is * supported. *

      *

      - * Furthermore, both these facilities may be disabled. - * In fact, thread contention monitoring is disabled by - * default, and must be explictly turned on by calling + * Furthermore, both time and contention monitoring may be + * disabled. In fact, thread contention monitoring is disabled + * by default, and must be explictly turned on by calling * the {@link #setThreadContentionMonitoringEnabled(boolean)} * method. *

      @@ -82,6 +92,70 @@ public interface ThreadMXBean { /** + * This method returns information on all live threads at the + * time of execution (some threads may have terminated by the + * time the method completes). This method is simply a shorthand + * for calling {@link #getThreadInfo(long[], boolean, + * boolean)} with the return value of {@link #getAllThreadIds()}. + * + * @param lockedMonitors true if the returned {@link ThreadInfo} + * objects should contain information on + * locked monitors. + * @param lockedSynchronizers true if the returned {@link ThreadInfo} + * objects should contain information + * on locked ownable synchronizers. + * @return an array of {@link ThreadInfo} objects for all live threads. + * @throws SecurityException if a security manager exists and + * denies ManagementPermission("monitor"). + * @throws UnsupportedOperationException if lockedMonitors + * is true, but object monitor + * usage monitoring is not supported + * by the VM, or + * lockedSynchronizers + * is true, but ownable synchronizer + * usage monitoring is not supported + * by the VM. + * @since 1.6 + * @see #getThreadInfo(long[], boolean, boolean) + * @see #getAllThreadIds() + * @see #isObjectMonitorUsageSupported() + * @see #isSynchronizerUsageSupported() + */ + ThreadInfo[] dumpAllThreads(boolean lockedMonitors, + boolean lockedSynchronizers); + + /** + *

      + * This method obtains a list of threads which are deadlocked + * waiting to obtain monitor or ownable synchronizer ownership. + * This is similar to the behaviour described for + * {@link #getMonitorDeadlockedThreads()}, except this method also + * takes in to account deadlocks involving ownable synchronizers. + *

      + *

      + * Note that this method is not designed for controlling + * synchronization, but for troubleshooting problems which cause such + * deadlocks; it may be prohibitively expensive to use in normal + * operation. If only deadlocks involving monitors are of interest, + * then {@link #findMonitorDeadlockedThreads()} should be used in + * preference to this method. + *

      + * + * @return an array of thread identifiers, corresponding to threads + * which are currently in a deadlocked situation, or + * null if there are no deadlocks. + * @throws SecurityException if a security manager exists and + * denies ManagementPermission("monitor"). + * @throws UnsupportedOperationException if the VM does not support + * the monitoring of ownable + * synchronizer usage. + * @since 1.6 + * @see #findMonitorDeadlockedThreads() + * @see #isSynchronizerUsageSupported() + */ + long[] findDeadlockedThreads(); + + /** *

      * This method obtains a list of threads which are deadlocked * waiting to obtain monitor ownership. On entering a synchronized @@ -115,13 +189,17 @@ public interface ThreadMXBean * of A and B. Note that this method is not designed for controlling * synchronization, but for troubleshooting problems which cause such * deadlocks; it may be prohibitively expensive to use in normal - * operation. + * operation. This method only returns deadlocks involving monitors; + * to include deadlocks involving ownable synchronizers, + * {@link #findDeadlockedThreads()} should be used instead. *

      * * @return an array of thread identifiers, corresponding to threads - * which are currently in a deadlocked situation. + * which are currently in a deadlocked situation, or + * null if there are no deadlocks. * @throws SecurityException if a security manager exists and * denies ManagementPermission("monitor"). + * @see #findDeadlockedThreads() */ long[] findMonitorDeadlockedThreads(); @@ -285,6 +363,53 @@ public interface ThreadMXBean ThreadInfo[] getThreadInfo(long[] ids); /** + * Returns information on the specified threads with full + * stack trace information and optional synchronization + * information. If lockedMonitors is false, + * or there are no locked monitors for a particular thread, + * then the corresponding {@link ThreadInfo} object will have + * an empty {@link MonitorInfo} array. Likewise, if + * lockedSynchronizers is false, or there are + * no locked ownable synchronizers for a particular thread, + * then the corresponding {@link ThreadInfo} object will have + * an empty {@link LockInfo} array. If both + * lockedMonitors and lockedSynchronizers + * are false, the return value is equivalent to that from + * {@link #getThreadInfo}(ids, Integer.MAX_VALUE). + * If an identifier specifies a thread which is either non-existant + * or not alive, then the corresponding element in the returned + * array is null. + * + * @param ids an array of thread identifiers to return information + * on. + * @param lockedMonitors true if information on locked monitors + * should be included. + * @param lockedSynchronizers true if information on locked + * ownable synchronizers should be included. + * @return an array of {@link ThreadInfo} objects matching the + * specified threads. The corresponding element is + * null if the identifier specifies + * a thread that doesn't exist or is not alive. + * @throws IllegalArgumentException if an identifier in the array is + * <= 0. + * @throws SecurityException if a security manager exists and + * denies ManagementPermission("monitor"). + * @throws UnsupportedOperationException if lockedMonitors + * is true, but object monitor + * usage monitoring is not supported + * by the VM, or + * lockedSynchronizers + * is true, but ownable synchronizer + * usage monitoring is not supported + * by the VM. + * @since 1.6 + * @see #isObjectMonitorUsageSupported() + * @see #isSynchronizerUsageSupported() + */ + ThreadInfo[] getThreadInfo(long[] ids, boolean lockedMonitors, + boolean lockedSynchronizers); + + /** * Returns information on the specified thread with * stack trace information to the supplied depth. If the * identifier specifies a thread which is either non-existant @@ -390,6 +515,26 @@ public interface ThreadMXBean boolean isCurrentThreadCpuTimeSupported(); /** + * Returns true if the virtual machine supports the monitoring + * of object monitor usage. + * + * @return true if the monitoring of object monitor usage + * is supported by the virtual machine. + * @since 1.6 + */ + boolean isObjectMonitorUsageSupported(); + + /** + * Returns true if the virtual machine supports the monitoring + * of ownable synchronizer usage. + * + * @return true if the monitoring of ownable synchronizer usage + * is supported by the virtual machine. + * @since 1.6 + */ + boolean isSynchronizerUsageSupported(); + + /** * Returns true if thread contention monitoring is currently * enabled. * diff --git a/libjava/classpath/java/math/BigInteger.java b/libjava/classpath/java/math/BigInteger.java index c897d8b..8d174d0 100644 --- a/libjava/classpath/java/math/BigInteger.java +++ b/libjava/classpath/java/math/BigInteger.java @@ -573,7 +573,7 @@ public class BigInteger extends Number implements Comparable long y_ext = y.words[i - 1] < 0 ? 0xffffffffL : 0; for (; i < x.ival; i++) { - carry += ((long) x.words[i] & 0xffffffffL) + y_ext;; + carry += ((long) x.words[i] & 0xffffffffL) + y_ext; result.words[i] = (int) carry; carry >>>= 32; } @@ -1912,8 +1912,7 @@ public class BigInteger extends Number implements Comparable private static void setBitOp(BigInteger result, int op, BigInteger x, BigInteger y) { - if (y.words == null) ; - else if (x.words == null || x.ival < y.ival) + if ((y.words != null) && (x.words == null || x.ival < y.ival)) { BigInteger temp = x; x = y; y = temp; op = swappedOp(op); diff --git a/libjava/classpath/java/math/class-dependencies.conf b/libjava/classpath/java/math/class-dependencies.conf deleted file mode 100644 index 4fbf75e..0000000 --- a/libjava/classpath/java/math/class-dependencies.conf +++ /dev/null @@ -1,58 +0,0 @@ -# This property file contains dependencies of classes, methods, and -# field on other methods or classes. -# -# Syntax: -# -# : [... ] -# -# means that when is included, (... ) must -# be included as well. -# -# and are of the form -# -# -# -# or just -# -# -# -# Within dependencies, variables can be used. A variable is defined as -# follows: -# -# {variable}: value1 value2 ... value -# -# variables can be used on the right side of dependencies as follows: -# -# : com.bla.blu.{variable}.Class.m()V -# -# The use of the variable will expand to dependencies of the form -# -# : com.bla.blu.value1.Class.m()V -# : com.bla.blu.value2.Class.m()V -# ... -# : com.bla.blu.value.Class.m()V -# -# Variables can be redefined when building a system to select the -# required support for features like encodings, protocols, etc. -# -# Hints: -# -# - For methods and fields, the signature is mandatory. For -# specification, please see the Java Virtual Machine Specification by -# SUN. Unlike in the spec, field signatures (types) are in brackets. -# -# - Package names must be separated by '/' (and not '.'). E.g., -# java/lang/Class (this is necessary, because the '.' is used to -# separate method or field names from classes) -# -# - In case refers to a class, only the class itself will be -# included in the resulting binary, NOT necessarily all its methods -# and fields. If you want to refer to all methods and fields, you can -# write class.* as an abbreviation. -# -# - Abbreviations for packages are also possible: my/package/* means all -# methods and fields of all classes in my/package. -# -# - A line with a trailing '\' continues in the next line. - -# end of file diff --git a/libjava/classpath/java/net/MimeTypeMapper.java b/libjava/classpath/java/net/MimeTypeMapper.java index 8153694..b0d400c 100644 --- a/libjava/classpath/java/net/MimeTypeMapper.java +++ b/libjava/classpath/java/net/MimeTypeMapper.java @@ -232,7 +232,8 @@ class MimeTypeMapper implements FileNameMap /** * The MIME types above are put into this Hashtable for faster lookup. */ - private Hashtable mime_types = new Hashtable(150); + private Hashtable mime_types + = new Hashtable(150); /** * Create a new MimeTypeMapper object. @@ -257,7 +258,7 @@ class MimeTypeMapper implements FileNameMap } } - public static void fillFromFile (Map table, String fname) + public static void fillFromFile (Map table, String fname) throws IOException { LineNumberReader reader = @@ -325,17 +326,17 @@ class MimeTypeMapper implements FileNameMap */ public static void main(String[] args) throws IOException { - TreeMap map = new TreeMap(); + TreeMap map = new TreeMap(); // It is fine to hard-code the name here. This is only ever // used by maintainers, who can hack it if they need to re-run // it. fillFromFile(map, "/etc/mime.types"); - Iterator it = map.keySet().iterator(); + Iterator it = map.keySet().iterator(); boolean first = true; while (it.hasNext()) { - String key = (String) it.next(); - String value = (String) map.get(key); + String key = it.next(); + String value = map.get(key); // Put the "," first since it is easier to make correct syntax this way. System.out.println(" " + (first ? " " : ", ") + "{ \"" + key + "\", \"" + value + "\" }"); diff --git a/libjava/classpath/java/net/MulticastSocket.java b/libjava/classpath/java/net/MulticastSocket.java index 2841192..114d11f 100644 --- a/libjava/classpath/java/net/MulticastSocket.java +++ b/libjava/classpath/java/net/MulticastSocket.java @@ -1,5 +1,5 @@ /* MulticastSocket.java -- Class for using multicast sockets - Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 + Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -337,7 +337,7 @@ public class MulticastSocket extends DatagramSocket /** * Sets the "Time to Live" value for a socket. The value must be between - * 1 and 255. + * 0 and 255, inclusive. * * @param ttl The new TTL value * @@ -350,7 +350,7 @@ public class MulticastSocket extends DatagramSocket if (isClosed()) throw new SocketException("socket is closed"); - if (ttl <= 0 || ttl > 255) + if (ttl < 0 || ttl > 255) throw new IllegalArgumentException("Invalid ttl: " + ttl); getImpl().setTimeToLive(ttl); diff --git a/libjava/classpath/java/net/NetworkInterface.java b/libjava/classpath/java/net/NetworkInterface.java index 6c78ead..a3a6058 100644 --- a/libjava/classpath/java/net/NetworkInterface.java +++ b/libjava/classpath/java/net/NetworkInterface.java @@ -40,12 +40,8 @@ package java.net; import gnu.classpath.SystemProperties; -import java.util.Collection; -import java.util.Collections; import java.util.Enumeration; -import java.util.HashMap; import java.util.Iterator; -import java.util.Map; import java.util.Vector; /** @@ -100,7 +96,8 @@ public final class NetworkInterface public Enumeration getInetAddresses() { SecurityManager s = System.getSecurityManager(); - Vector inetAddresses = new Vector(netif.addresses); + Vector inetAddresses + = new Vector(netif.addresses); if (s == null) return inetAddresses.elements(); diff --git a/libjava/classpath/java/net/Proxy.java b/libjava/classpath/java/net/Proxy.java index 6f9f1b6..3151774 100644 --- a/libjava/classpath/java/net/Proxy.java +++ b/libjava/classpath/java/net/Proxy.java @@ -57,7 +57,7 @@ public class Proxy * For compatability with Sun's JDK */ private static final long serialVersionUID = -2231209257930100533L; - }; + } public static final Proxy NO_PROXY = new Proxy(Type.DIRECT, null); diff --git a/libjava/classpath/java/net/ResolverCache.java b/libjava/classpath/java/net/ResolverCache.java index f879066..d57df49 100644 --- a/libjava/classpath/java/net/ResolverCache.java +++ b/libjava/classpath/java/net/ResolverCache.java @@ -97,12 +97,12 @@ class ResolverCache /** * The cache itself. */ - private static HashMap cache = new HashMap(); + private static HashMap cache = new HashMap(); /** * List of entries which may expire. */ - private static LinkedList killqueue = new LinkedList(); + private static LinkedList killqueue = new LinkedList(); /** * Return the hostname for the specified IP address. diff --git a/libjava/classpath/java/net/ServerSocket.java b/libjava/classpath/java/net/ServerSocket.java index d5f2a17..9cefd29 100644 --- a/libjava/classpath/java/net/ServerSocket.java +++ b/libjava/classpath/java/net/ServerSocket.java @@ -85,9 +85,7 @@ public class ServerSocket * This constructor is only used by java.nio. */ - // FIXME: Workaround a bug in gcj. - //ServerSocket (PlainSocketImpl impl) throws IOException - ServerSocket(SocketImpl impl) throws IOException + ServerSocket(PlainSocketImpl impl) throws IOException { if (impl == null) throw new NullPointerException("impl may not be null"); @@ -101,8 +99,6 @@ public class ServerSocket * This method is only used by java.nio. */ - // FIXME: Workaround a bug in gcj. - //PlainSocketImpl getImpl() SocketImpl getImpl() { return impl; @@ -390,6 +386,7 @@ public class ServerSocket impl.accept(socket.impl); socket.bound = true; + socket.implCreated = true; SecurityManager sm = System.getSecurityManager(); if (sm != null) diff --git a/libjava/classpath/java/net/Socket.java b/libjava/classpath/java/net/Socket.java index f4f25fe..6480527 100644 --- a/libjava/classpath/java/net/Socket.java +++ b/libjava/classpath/java/net/Socket.java @@ -1,5 +1,5 @@ /* Socket.java -- Client socket implementation - Copyright (C) 1998, 1999, 2000, 2002, 2003, 2004, 2006 + Copyright (C) 1998, 1999, 2000, 2002, 2003, 2004, 2006, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -83,6 +83,12 @@ public class Socket SocketImpl impl; /** + * True if impl.create() has been called. + */ + // package-private because ServerSocket.implAccept() needs to access it. + boolean implCreated; + + /** * True if the socket is bound. * Package private so it can be set from ServerSocket when accept is called. */ @@ -326,11 +332,23 @@ public class Socket private SocketImpl getImpl() throws SocketException { + if (! implCreated) + { + try + { + impl.create(true); + } + catch (IOException x) + { + throw (SocketException) new SocketException().initCause(x); + } + implCreated = true; + } return impl; } /** - * Binds the socket to the givent local address/port + * Binds the socket to the given local address/port * * @param bindpoint The address/port to bind to * @@ -359,7 +377,6 @@ public class Socket // bind to address/port try { - getImpl().create(true); getImpl().bind(tmp.getAddress(), tmp.getPort()); bound = true; } diff --git a/libjava/classpath/java/net/URI.java b/libjava/classpath/java/net/URI.java index 689843c..43b10fc 100644 --- a/libjava/classpath/java/net/URI.java +++ b/libjava/classpath/java/net/URI.java @@ -693,7 +693,7 @@ public final class URI String portStr = getURIGroup(matcher, AUTHORITY_PORT_GROUP); - if (portStr != null) + if (portStr != null && ! portStr.isEmpty()) try { port = Integer.parseInt(portStr); diff --git a/libjava/classpath/java/net/URL.java b/libjava/classpath/java/net/URL.java index 8f72d06..16a606f 100644 --- a/libjava/classpath/java/net/URL.java +++ b/libjava/classpath/java/net/URL.java @@ -190,7 +190,8 @@ public final class URL implements Serializable * This a table where we cache protocol handlers to avoid the overhead * of looking them up each time. */ - private static HashMap ph_cache = new HashMap(); + private static HashMap ph_cache + = new HashMap(); /** * Whether or not to cache protocol handlers. @@ -901,7 +902,7 @@ public final class URL implements Serializable // First, see if a protocol handler is in our cache. if (cache_handlers) { - if ((ph = (URLStreamHandler) ph_cache.get(protocol)) != null) + if ((ph = ph_cache.get(protocol)) != null) return ph; } @@ -934,9 +935,9 @@ public final class URL implements Serializable // Cache the systemClassLoader if (systemClassLoader == null) { - systemClassLoader = (ClassLoader) AccessController.doPrivileged - (new PrivilegedAction() { - public Object run() + systemClassLoader = AccessController.doPrivileged + (new PrivilegedAction() { + public ClassLoader run() { return ClassLoader.getSystemClassLoader(); } diff --git a/libjava/classpath/java/net/URLClassLoader.java b/libjava/classpath/java/net/URLClassLoader.java index 7e2353a..6df2818 100644 --- a/libjava/classpath/java/net/URLClassLoader.java +++ b/libjava/classpath/java/net/URLClassLoader.java @@ -145,7 +145,7 @@ public class URLClassLoader extends SecureClassLoader // Instance variables /** Locations to load classes from */ - private final Vector urls = new Vector(); + private final Vector urls = new Vector(); /** * Store pre-parsed information for each url into this vector: each @@ -153,7 +153,7 @@ public class URLClassLoader extends SecureClassLoader * attribute which adds to the URLs that will be searched, but this * does not add to the list of urls. */ - private final Vector urlinfos = new Vector(); + private final Vector urlinfos = new Vector(); /** Factory used to get the protocol handlers of the URLs */ private final URLStreamHandlerFactory factory; @@ -301,7 +301,6 @@ public class URLClassLoader extends SecureClassLoader if ("file".equals (protocol)) { File dir = new File(file); - URL absUrl; try { absoluteURL = dir.getCanonicalFile().toURL(); @@ -329,12 +328,12 @@ public class URLClassLoader extends SecureClassLoader // First see if we can find a handler with the correct name. try { - Class handler = Class.forName(URL_LOADER_PREFIX + protocol); - Class[] argTypes = new Class[] { URLClassLoader.class, - URLStreamHandlerCache.class, - URLStreamHandlerFactory.class, - URL.class, - URL.class }; + Class handler = Class.forName(URL_LOADER_PREFIX + protocol); + Class[] argTypes = new Class[] { URLClassLoader.class, + URLStreamHandlerCache.class, + URLStreamHandlerFactory.class, + URL.class, + URL.class }; Constructor k = handler.getDeclaredConstructor(argTypes); loader = (URLLoader) k.newInstance(new Object[] { this, @@ -395,7 +394,7 @@ public class URLClassLoader extends SecureClassLoader } urlinfos.add(loader); - ArrayList extra = loader.getClassPath(); + ArrayList extra = loader.getClassPath(); if (extra != null) urlinfos.addAll(extra); } @@ -602,10 +601,10 @@ public class URLClassLoader extends SecureClassLoader Class result = null; if (sm != null && securityContext != null) { - result = (Class)AccessController.doPrivileged - (new PrivilegedAction() + result = AccessController.doPrivileged + (new PrivilegedAction() { - public Object run() + public Class run() { return defineClass(className, classData, 0, classData.length, @@ -848,9 +847,9 @@ public class URLClassLoader extends SecureClassLoader + securityContext); URLClassLoader loader = - (URLClassLoader) AccessController.doPrivileged(new PrivilegedAction() + AccessController.doPrivileged(new PrivilegedAction() { - public Object run() + public URLClassLoader run() { return new URLClassLoader(parent, (AccessControlContext) securityContext); diff --git a/libjava/classpath/java/net/class-dependencies.conf b/libjava/classpath/java/net/class-dependencies.conf deleted file mode 100644 index 8b130f5..0000000 --- a/libjava/classpath/java/net/class-dependencies.conf +++ /dev/null @@ -1,122 +0,0 @@ -# This property file contains dependencies of classes, methods, and -# field on other methods or classes. -# -# Syntax: -# -# : [... ] -# -# means that when is included, (... ) must -# be included as well. -# -# and are of the form -# -# -# -# or just -# -# -# -# Within dependencies, variables can be used. A variable is defined as -# follows: -# -# {variable}: value1 value2 ... value -# -# variables can be used on the right side of dependencies as follows: -# -# : com.bla.blu.{variable}.Class.m()V -# -# The use of the variable will expand to dependencies of the form -# -# : com.bla.blu.value1.Class.m()V -# : com.bla.blu.value2.Class.m()V -# ... -# : com.bla.blu.value.Class.m()V -# -# Variables can be redefined when building a system to select the -# required support for features like encodings, protocols, etc. -# -# Hints: -# -# - For methods and fields, the signature is mandatory. For -# specification, please see the Java Virtual Machine Specification by -# SUN. Unlike in the spec, field signatures (types) are in brackets. -# -# - Package names must be separated by '/' (and not '.'). E.g., -# java/lang/Class (this is necessary, because the '.' is used to -# separate method or field names from classes) -# -# - In case refers to a class, only the class itself will be -# included in the resulting binary, NOT necessarily all its methods -# and fields. If you want to refer to all methods and fields, you can -# write class.* as an abbreviation. -# -# - Abbreviations for packages are also possible: my/package/* means all -# methods and fields of all classes in my/package. -# -# - A line with a trailing '\' continues in the next line. - -java/net/InetAddress: \ - java/lang/ClassNotFoundException.(Ljava/lang/String;)V \ - java/lang/InternalError.(Ljava/lang/String;)V \ - java/net/UnknownHostException.(Ljava/lang/String;)V - -java/net/DatagramSocketImpl: \ - java/net/DatagramSocketImpl.fd(Ljava/io/FileDescriptor;) \ - java/net/DatagramSocketImpl.localPort(I) - -java/net/PlainDatagramSocketImpl: \ - java/lang/ClassNotFoundException.(Ljava/lang/String;)V \ - java/lang/InternalError.(Ljava/lang/String;)V \ - java/io/IOException.(Ljava/lang/String;)V \ - java/io/FileDescriptor.()V \ - java/lang/Boolean.(Z)V \ - java/lang/Integer.(I)V \ - java/net/InetAddress.getByName(Ljava/lang/String;)Ljava/net/InetAddress; \ - java/net/InetAddress.getAddress()[B \ - java/lang/Boolean.booleanValue()Z \ - java/lang/Integer.intValue()I \ - java/net/SocketException.(Ljava/lang/String;)V \ - java/net/DatagramPacket.getData()[B \ - java/net/SocketImpl.address(Ljava/net/InetAddress;) \ - java/net/PlainSocketImpl.native_fd(I) \ - java/net/SocketImpl.fd(Ljava/io/FileDescriptor;) \ - java/net/SocketImpl.address(Ljava/net/InetAddress;) \ - java/net/PlainDatagramSocketImpl.native_fd(I) \ - java/net/SocketImpl.localport(I) \ - java/net/SocketImpl.port(I) - -java/net/PlainSocketImpl: \ - java/lang/ClassNotFoundException.(Ljava/lang/String;)V \ - java/lang/InternalError.(Ljava/lang/String;)V \ - java/io/IOException.(Ljava/lang/String;)V \ - java/io/FileDescriptor.()V \ - java/lang/Boolean.(Z)V \ - java/lang/Integer.(I)V \ - java/net/InetAddress.getByName(Ljava/lang/String;)Ljava/net/InetAddress; \ - java/net/InetAddress.getAddress()[B \ - java/lang/Boolean.booleanValue()Z \ - java/lang/Integer.intValue()I \ - java/net/SocketException.(Ljava/lang/String;)V \ - java/net/DatagramPacket.getData()[B \ - java/net/SocketImpl.address(Ljava/net/InetAddress;) \ - java/net/PlainSocketImpl.native_fd(I) \ - java/net/SocketImpl.fd(Ljava/io/FileDescriptor;) \ - java/net/SocketImpl.address(Ljava/net/InetAddress;) \ - java/net/PlainDatagramSocketImpl.native_fd(I) \ - java/net/SocketImpl.localport(I) \ - java/net/SocketImpl.port(I) - -# All protocols supported are loaded via URL.getURLStreamHandler from -# class gnu.java.net.protocol..Handler. -# -# This introduces a dependency for all protocols. To allow an easy selection -# and addition of protocols, the library variable {protocols} can be set to -# the set of supported protocols. -# -{protocols}: http file jar - -java/net/URL.getURLStreamHandler(Ljava/lang/String;)Ljava/net/URLStreamHandler;: \ - gnu/java/net/protocol/{protocols}/Handler.* \ - com/aicas/java/net/protocol/rom/Handler.* - -# end of file diff --git a/libjava/classpath/java/nio/ByteOrder.java b/libjava/classpath/java/nio/ByteOrder.java index 39a3ff8..0e3b917 100644 --- a/libjava/classpath/java/nio/ByteOrder.java +++ b/libjava/classpath/java/nio/ByteOrder.java @@ -61,7 +61,9 @@ public final class ByteOrder */ public static ByteOrder nativeOrder() { - return (System.getProperty ("gnu.cpu.endian").equals("big") + // Let this fail with an NPE when the property is not set correctly. + // Otherwise we risk that NIO is silently working wrong. + return (System.getProperty("gnu.cpu.endian").equals("big") ? BIG_ENDIAN : LITTLE_ENDIAN); } diff --git a/libjava/classpath/java/nio/channels/spi/SelectorProvider.java b/libjava/classpath/java/nio/channels/spi/SelectorProvider.java index db4e65f..b2fb7bb 100644 --- a/libjava/classpath/java/nio/channels/spi/SelectorProvider.java +++ b/libjava/classpath/java/nio/channels/spi/SelectorProvider.java @@ -40,6 +40,7 @@ package java.nio.channels.spi; import gnu.java.nio.SelectorProviderImpl; import java.io.IOException; +import java.nio.channels.Channel; import java.nio.channels.DatagramChannel; import java.nio.channels.Pipe; import java.nio.channels.ServerSocketChannel; @@ -115,6 +116,32 @@ public abstract class SelectorProvider public abstract SocketChannel openSocketChannel() throws IOException; /** + * Returns the inherited channel of the VM. + * + * @return the inherited channel of the VM + * + * @throws IOException If an I/O error occurs + * @throws SecurityException If an installed security manager denies access + * to RuntimePermission("inheritedChannel") + * + * @since 1.5 + */ + public Channel inheritedChannel() + throws IOException + { + SecurityManager sm = System.getSecurityManager(); + if (sm != null) + { + sm.checkPermission(new RuntimePermission("inheritedChannel")); + } + // Implementation note: The default implementation can't do much more + // than return null. If a VM can provide something more useful it should + // install its own SelectorProvider (maybe a subclass of this one) to + // return something more useful. + return null; + } + + /** * Returns the system-wide default selector provider for this invocation * of the Java virtual machine. * diff --git a/libjava/classpath/java/nio/class-dependencies.conf b/libjava/classpath/java/nio/class-dependencies.conf deleted file mode 100644 index 4fbf75e..0000000 --- a/libjava/classpath/java/nio/class-dependencies.conf +++ /dev/null @@ -1,58 +0,0 @@ -# This property file contains dependencies of classes, methods, and -# field on other methods or classes. -# -# Syntax: -# -# : [... ] -# -# means that when is included, (... ) must -# be included as well. -# -# and are of the form -# -# -# -# or just -# -# -# -# Within dependencies, variables can be used. A variable is defined as -# follows: -# -# {variable}: value1 value2 ... value -# -# variables can be used on the right side of dependencies as follows: -# -# : com.bla.blu.{variable}.Class.m()V -# -# The use of the variable will expand to dependencies of the form -# -# : com.bla.blu.value1.Class.m()V -# : com.bla.blu.value2.Class.m()V -# ... -# : com.bla.blu.value.Class.m()V -# -# Variables can be redefined when building a system to select the -# required support for features like encodings, protocols, etc. -# -# Hints: -# -# - For methods and fields, the signature is mandatory. For -# specification, please see the Java Virtual Machine Specification by -# SUN. Unlike in the spec, field signatures (types) are in brackets. -# -# - Package names must be separated by '/' (and not '.'). E.g., -# java/lang/Class (this is necessary, because the '.' is used to -# separate method or field names from classes) -# -# - In case refers to a class, only the class itself will be -# included in the resulting binary, NOT necessarily all its methods -# and fields. If you want to refer to all methods and fields, you can -# write class.* as an abbreviation. -# -# - Abbreviations for packages are also possible: my/package/* means all -# methods and fields of all classes in my/package. -# -# - A line with a trailing '\' continues in the next line. - -# end of file diff --git a/libjava/classpath/java/rmi/activation/ActivationID.java b/libjava/classpath/java/rmi/activation/ActivationID.java index c4bbcd2..e1cc8a7 100644 --- a/libjava/classpath/java/rmi/activation/ActivationID.java +++ b/libjava/classpath/java/rmi/activation/ActivationID.java @@ -174,7 +174,7 @@ public class ActivationID { out.writeObject(uid); out.writeObject(activator); - }; + } /** * Compare by .equals if both a and b are not null, compare directly if at diff --git a/libjava/classpath/java/rmi/server/UnicastRemoteObject.java b/libjava/classpath/java/rmi/server/UnicastRemoteObject.java index 31bf880..6ef3432 100644 --- a/libjava/classpath/java/rmi/server/UnicastRemoteObject.java +++ b/libjava/classpath/java/rmi/server/UnicastRemoteObject.java @@ -239,11 +239,12 @@ public class UnicastRemoteObject extends RemoteServer (UnicastServerRef) ((RemoteObject) obj).getRef(); return sref.unexportObject(obj, force); } - else + // FIXME + /* else { - // FIXME ; } + */ return true; } diff --git a/libjava/classpath/java/security/BasicPermission.java b/libjava/classpath/java/security/BasicPermission.java index ef2cc4d..6296cff 100644 --- a/libjava/classpath/java/security/BasicPermission.java +++ b/libjava/classpath/java/security/BasicPermission.java @@ -73,9 +73,8 @@ import java.util.Hashtable; * @since 1.1 * @status updated to 1.4 */ -public abstract class BasicPermission extends java.security.Permission +public abstract class BasicPermission extends Permission implements Serializable - // FIXME extends with fully qualified classname as workaround for gcj 3.3. { /** * Compatible with JDK 1.1+. diff --git a/libjava/classpath/java/security/Permission.java b/libjava/classpath/java/security/Permission.java index 48f4d52..9072d95 100644 --- a/libjava/classpath/java/security/Permission.java +++ b/libjava/classpath/java/security/Permission.java @@ -181,7 +181,20 @@ public abstract class Permission implements Guard, Serializable */ public String toString() { - return '(' + getClass().getName() + ' ' + getName() + ' ' - + getActions() + ')'; + StringBuffer string = new StringBuffer(); + + string = string.append('('); + string = string.append(getClass().getName()); + string = string.append(' '); + string = string.append(getName()); + + if (!(getActions().equals(""))) + { + string = string.append(' '); + string = string.append(getActions()); + } + + string = string.append(')'); + return string.toString(); } } // class Permission diff --git a/libjava/classpath/java/security/SecureClassLoader.java b/libjava/classpath/java/security/SecureClassLoader.java index dfc1758..f683f9a 100644 --- a/libjava/classpath/java/security/SecureClassLoader.java +++ b/libjava/classpath/java/security/SecureClassLoader.java @@ -99,7 +99,7 @@ public class SecureClassLoader extends ClassLoader * * @since 1.5 */ - protected final Class defineClass(String name, ByteBuffer b, CodeSource cs) + protected final Class defineClass(String name, ByteBuffer b, CodeSource cs) { return super.defineClass(name, b, getProtectionDomain(cs)); } diff --git a/libjava/classpath/java/security/SignatureSpi.java b/libjava/classpath/java/security/SignatureSpi.java index 3b46815..80ecbfd 100644 --- a/libjava/classpath/java/security/SignatureSpi.java +++ b/libjava/classpath/java/security/SignatureSpi.java @@ -136,16 +136,23 @@ public abstract class SignatureSpi * bytes of the given buffer. * * @param input The input buffer. - * @throws SignatureException + * @throws IllegalStateException if the engine is not properly initialized. */ - protected void engineUpdate(ByteBuffer input) throws SignatureException + protected void engineUpdate(ByteBuffer input) { byte[] buf = new byte[4096]; while (input.hasRemaining()) { int l = Math.min(input.remaining(), buf.length); input.get(buf, 0, l); - engineUpdate(buf, 0, l); + try + { + engineUpdate(buf, 0, l); + } + catch (SignatureException se) + { + throw new IllegalStateException(se); + } } } diff --git a/libjava/classpath/java/security/cert/X509CertSelector.java b/libjava/classpath/java/security/cert/X509CertSelector.java index 154ed2e..7a7db08 100644 --- a/libjava/classpath/java/security/cert/X509CertSelector.java +++ b/libjava/classpath/java/security/cert/X509CertSelector.java @@ -1,5 +1,5 @@ /* X509CertSelector.java -- selects X.509 certificates by criteria. - Copyright (C) 2004, 2005 Free Software Foundation, Inc. + Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -40,9 +40,17 @@ package java.security.cert; import gnu.classpath.SystemProperties; import gnu.java.security.OID; +import gnu.java.security.x509.GnuPKIExtension; +import gnu.java.security.x509.ext.CertificatePolicies; +import gnu.java.security.x509.ext.Extension; +import gnu.java.security.x509.ext.GeneralName; +import gnu.java.security.x509.ext.GeneralSubtree; +import gnu.java.security.x509.ext.NameConstraints; +import gnu.java.security.x509.ext.GeneralName.Kind; import java.io.IOException; import java.math.BigInteger; +import java.net.InetAddress; import java.security.KeyFactory; import java.security.PublicKey; import java.security.spec.X509EncodedKeySpec; @@ -88,6 +96,48 @@ public class X509CertSelector implements CertSelector, Cloneable private static final String SUBJECT_KEY_ID = "2.5.29.14"; private static final String NAME_CONSTRAINTS_ID = "2.5.29.30"; + private static boolean checkOid(int[] oid) + { + return (oid != null && oid.length > 2 && + (oid[0] >= 0 && oid[0] <= 2) && (oid[1] >= 0 && oid[1] <= 39)); + } + + private static GeneralName makeName(int id, String name) throws IOException + { + byte[] nameBytes = null; + GeneralName.Kind kind = GeneralName.Kind.forTag(id); + switch (Kind.forTag(id)) + { + case dNSName: + case rfc822Name: + case uniformResourceIdentifier: + nameBytes = name.getBytes("ASCII"); + break; + + case iPAddress: + InetAddress addr = InetAddress.getByName(name); + nameBytes = addr.getAddress(); + break; + + case registeredId: + OID oid = new OID(name); + nameBytes = oid.getDER(); + break; + + case directoryName: + X500Principal xname = new X500Principal(name); + nameBytes = xname.getEncoded(); + break; + + case ediPartyName: + case x400Address: + case otherName: + throw new IOException("cannot decode string representation of " + + kind); + } + return new GeneralName(kind, nameBytes); + } + private int basicConstraints; private X509Certificate cert; private BigInteger serialNo; @@ -100,14 +150,12 @@ public class X509CertSelector implements CertSelector, Cloneable private OID sigId; private PublicKey subjectKey; private X509EncodedKeySpec subjectKeySpec; - private Set keyPurposeSet; - private List altNames; + private Set keyPurposeSet; + private List altNames; private boolean matchAllNames; private byte[] nameConstraints; - private Set policy; - - // Constructors. - // ------------------------------------------------------------------------ + private Set policy; + private List pathToNames; /** * Creates a new X.509 certificate selector. The new selector will be @@ -119,285 +167,280 @@ public class X509CertSelector implements CertSelector, Cloneable basicConstraints = -1; } - // Instance methods. - // ------------------------------------------------------------------------ - /** - * Returns the certificate criterion, or null if this value - * was not set. + * Add a name to match in the NameConstraints extension. The argument is + * the DER-encoded bytes of a GeneralName structure. + * + * See the method {@link #addSubjectAlternativeName(int, byte[])} for the + * format of the GeneralName structure. * - * @return The certificate. + * @param id The name identifier. Must be between 0 and 8. + * @param name The DER-encoded bytes of the name to match. + * @throws IOException If the name DER is malformed. */ - public X509Certificate getCertificate() + public void addPathToName(int id, byte[] name) throws IOException { - return cert; + GeneralName generalName = new GeneralName(GeneralName.Kind.forTag(id), name); + if (pathToNames == null) + pathToNames = new LinkedList(); + pathToNames.add(generalName); } /** - * Sets the certificate criterion. If set, only certificates that are - * equal to the certificate passed here will be accepted. + * Add a name to match in the NameConstraints extension. This method will + * only recognize certain types of name that have convenient string + * encodings. For robustness, you should use the {@link + * #addPathToName(int, byte[])} method whenever possible. * - * @param cert The certificate. + * @param id The name identifier. Must be between 0 and 8. + * @param name The name. + * @throws IOException If the name cannot be decoded. */ - public void setCertificate(X509Certificate cert) + public void addPathToName(int id, String name) throws IOException { - this.cert = cert; + GeneralName generalName = makeName(id, name); + if (pathToNames == null) + pathToNames = new LinkedList(); + pathToNames.add(generalName); } /** - * Returns the serial number criterion, or null if this - * value was not set. + * Add a name, as DER-encoded bytes, to the subject alternative names + * criterion. + * + * The name is a GeneralName structure, which has the ASN.1 format: + * + *
      +  GeneralName ::= CHOICE {
      +    otherName                       [0]     OtherName,
      +    rfc822Name                      [1]     IA5String,
      +    dNSName                         [2]     IA5String,
      +    x400Address                     [3]     ORAddress,
      +    directoryName                   [4]     Name,
      +    ediPartyName                    [5]     EDIPartyName,
      +    uniformResourceIdentifier       [6]     IA5String,
      +    iPAddress                       [7]     OCTET STRING,
      +    registeredID                    [8]     OBJECT IDENTIFIER }
      +
      * - * @return The serial number. + * @param id The type of name this is. + * @param name The DER-encoded name. + * @throws IOException If the name is not a valid DER sequence. */ - public BigInteger getSerialNumber() + public void addSubjectAlternativeName(int id, byte[] name) + throws IOException { - return serialNo; + GeneralName generalName = new GeneralName(GeneralName.Kind.forTag(id), name); + if (altNames == null) + altNames = new LinkedList(); + altNames.add(generalName); } /** - * Sets the serial number of the desired certificate. Only certificates that - * contain this serial number are accepted. + * Add a name to the subject alternative names criterion. This method will + * only recognize certain types of name that have convenient string + * encodings. For robustness, you should use the {@link + * #addSubjectAlternativeName(int, byte[])} method whenever possible. + * + * This method can only decode certain name kinds of names as strings. * - * @param serialNo The serial number. + * @param id The type of name this is. Must be in the range [0,8]. + * @param name The name. + * @throws IOException If the id is out of range, or if the name + * is null. */ - public void setSerialNumber(BigInteger serialNo) + public void addSubjectAlternativeName(int id, String name) + throws IOException { - this.serialNo = serialNo; + GeneralName generalName = makeName(id, name); + if (altNames == null) + altNames = new LinkedList(); + altNames.add(generalName); } - /** - * Returns the issuer criterion as a string, or null if this - * value was not set. - * - * @return The issuer. - */ - public String getIssuerAsString() + public Object clone() { - if (issuer != null) - return issuer.getName(); - else - return null; + try + { + return super.clone(); + } + catch (CloneNotSupportedException shouldNotHappen) + { + throw new Error(shouldNotHappen); + } } /** - * Returns the issuer criterion as a sequence of DER bytes, or - * null if this value was not set. + * Returns the authority key identifier criterion, or null if + * this value was not set. Note that the byte array is cloned to prevent + * modification. * - * @return The issuer. + * @return The authority key identifier. */ - public byte[] getIssuerAsBytes() throws IOException + public byte[] getAuthorityKeyIdentifier() { - if (issuer != null) - return issuer.getEncoded(); + if (authKeyId != null) + return (byte[]) authKeyId.clone(); else return null; } /** - * Sets the issuer, specified as a string representation of the issuer's - * distinguished name. Only certificates issued by this issuer will - * be accepted. + * Returns the basic constraints criterion, or -1 if this value is not set. * - * @param name The string representation of the issuer's distinguished name. - * @throws IOException If the given name is incorrectly formatted. + * @return The basic constraints. */ - public void setIssuer(String name) throws IOException + public int getBasicConstraints() { - if (name != null) - { - try - { - issuer = new X500Principal(name); - } - catch (IllegalArgumentException iae) - { - throw new IOException(iae.getMessage()); - } - } - else - issuer = null; + return basicConstraints; } /** - * Sets the issuer, specified as the DER encoding of the issuer's - * distinguished name. Only certificates issued by this issuer will - * be accepted. + * Returns the certificate criterion, or null if this value + * was not set. * - * @param name The DER encoding of the issuer's distinguished name. - * @throws IOException If the given name is incorrectly formatted. + * @return The certificate. */ - public void setIssuer(byte[] name) throws IOException + public X509Certificate getCertificate() { - if (name != null) - { - try - { - issuer = new X500Principal(name); - } - catch (IllegalArgumentException iae) - { - throw new IOException(iae.getMessage()); - } - } - else - issuer = null; + return cert; } /** - * Returns the subject criterion as a string, of null if - * this value was not set. + * Returns the date at which certificates must be valid, or null + * if this criterion was not set. * - * @return The subject. + * @return The target certificate valitity date. */ - public String getSubjectAsString() + public Date getCertificateValid() { - if (subject != null) - return subject.getName(); + if (certValid != null) + return (Date) certValid.clone(); else return null; } /** - * Returns the subject criterion as a sequence of DER bytes, or - * null if this value is not set. + * Returns the set of extended key purpose IDs, as an unmodifiable set + * of OID strings. Returns null if this criterion is not + * set. * - * @return The subject. + * @return The set of key purpose OIDs (strings). */ - public byte[] getSubjectAsBytes() throws IOException + public Set getExtendedKeyUsage() { - if (subject != null) - return subject.getEncoded(); + if (keyPurposeSet != null) + return Collections.unmodifiableSet(keyPurposeSet); else return null; } /** - * Sets the subject, specified as a string representation of the - * subject's distinguished name. Only certificates with the given - * subject will be accepted. + * Returns the issuer criterion as a sequence of DER bytes, or + * null if this value was not set. * - * @param name The string representation of the subject's distinguished name. - * @throws IOException If the given name is incorrectly formatted. + * @return The issuer. */ - public void setSubject(String name) throws IOException + public byte[] getIssuerAsBytes() throws IOException { - if (name != null) - { - try - { - subject = new X500Principal(name); - } - catch (IllegalArgumentException iae) - { - throw new IOException(iae.getMessage()); - } - } + if (issuer != null) + return issuer.getEncoded(); else - subject = null; + return null; } /** - * Sets the subject, specified as the DER encoding of the subject's - * distinguished name. Only certificates with the given subject will - * be accepted. + * Returns the issuer criterion as a string, or null if this + * value was not set. * - * @param name The DER encoding of the subject's distinguished name. - * @throws IOException If the given name is incorrectly formatted. + * @return The issuer. */ - public void setSubject(byte[] name) throws IOException + public String getIssuerAsString() { - if (name != null) - { - try - { - subject = new X500Principal(name); - } - catch (IllegalArgumentException iae) - { - throw new IOException(iae.getMessage()); - } - } + if (issuer != null) + return issuer.getName(); else - subject = null; + return null; } /** - * Returns the subject key identifier criterion, or null if - * this value was not set. Note that the byte array is cloned to prevent - * modification. + * Returns the public key usage criterion, or null if this + * value is not set. Note that the array is cloned to prevent modification. * - * @return The subject key identifier. + * @return The public key usage. */ - public byte[] getSubjectKeyIdentifier() + public boolean[] getKeyUsage() { - if (subjectKeyId != null) - return (byte[]) subjectKeyId.clone(); + if (keyUsage != null) + return (boolean[]) keyUsage.clone(); else return null; } /** - * Sets the subject key identifier criterion, or null to clear - * this criterion. Note that the byte array is cloned to prevent modification. + * Returns whether or not all specified alternative names must match. + * If false, a certificate is considered a match if one of the + * specified alternative names matches. * - * @param subjectKeyId The subject key identifier. + * @return true if all names must match. */ - public void setSubjectKeyIdentifier(byte[] subjectKeyId) + public boolean getMatchAllSubjectAltNames() { - this.subjectKeyId = subjectKeyId != null ? (byte[]) subjectKeyId.clone() : - null; + return matchAllNames; } /** - * Returns the authority key identifier criterion, or null if - * this value was not set. Note that the byte array is cloned to prevent + * Returns the name constraints criterion, or null if this + * value is not set. Note that the byte array is cloned to prevent * modification. * - * @return The authority key identifier. + * @return The name constraints. */ - public byte[] getAuthorityKeyIdentifier() + public byte[] getNameConstraints() { - if (authKeyId != null) - return (byte[]) authKeyId.clone(); + if (nameConstraints != null) + return (byte[]) nameConstraints.clone(); else return null; } - /** - * Sets the authority key identifier criterion, or null to clear - * this criterion. Note that the byte array is cloned to prevent modification. - * - * @param authKeyId The authority key identifier. - */ - public void setAuthorityKeyIdentifier(byte[] authKeyId) + public Collection> getPathToNames() { - this.authKeyId = authKeyId != null ? (byte[]) authKeyId.clone() : null; + if (pathToNames != null) + { + List> names = new ArrayList>(pathToNames.size()); + for (GeneralName name : pathToNames) + { + List n = new ArrayList(2); + n.add(name.kind().tag()); + n.add(name.name()); + names.add(n); + } + + return names; + } + return null; } /** - * Returns the date at which certificates must be valid, or null - * if this criterion was not set. + * Returns the certificate policy extension that will be matched by this + * selector, or null if the certificate policy will not be matched. * - * @return The target certificate valitity date. + * @return The policy to be matched, or null. */ - public Date getCertificateValid() + public Set getPolicy() { - if (certValid != null) - return (Date) certValid.clone(); - else - return null; - } - - /** - * Sets the date at which certificates must be valid. Specify - * null to clear this criterion. - * - * @param certValid The certificate validity date. - */ - public void setCertificateValid(Date certValid) - { - this.certValid = certValid != null ? (Date) certValid.clone() : null; + Set p = this.policy; + if (p != null) + { + Set strings = new HashSet(p.size()); + for (OID o : p) + { + strings.add(o.toString()); + } + return strings; + } + return null; } /** @@ -418,59 +461,83 @@ public class X509CertSelector implements CertSelector, Cloneable } /** - * This method, and its related X.509 certificate extension — the - * private key usage period — is not supported under the Internet - * PKI for X.509 certificates (PKIX), described in RFC 3280. As such, this - * method is not supported either. + * Returns the serial number criterion, or null if this + * value was not set. * - *

      Do not use this method. It is not deprecated, as it is not deprecated - * in the Java standard, but it is basically a no-operation. + * @return The serial number. + */ + public BigInteger getSerialNumber() + { + return serialNo; + } + + /** + * Get the subject alternative names criterion. The collection returned + * is a collection of pairs: the first element is an {@link Integer} + * containing the name type, and the second is a byte array containing + * the DER-encoded name bytes. * - * @param UNUSED Is silently ignored. + * @return The subject alternative names criterion. Returns null if this + * criterion is not set. */ - public void setPrivateKeyValid(Date UNUSED) + public Collection> getSubjectAlternativeNames() { + if (altNames != null) + { + List> names = new ArrayList>(altNames.size()); + for (GeneralName name : altNames) + { + List n = new ArrayList(2); + n.add(name.kind().tag()); + n.add(name.name()); + names.add(n); + } + return names; + } + return null; } /** - * Returns the public key algorithm ID that matching certificates must have, - * or null if this criterion was not set. + * Returns the subject criterion as a sequence of DER bytes, or + * null if this value is not set. * - * @return The public key algorithm ID. + * @return The subject. */ - public String getSubjectPublicKeyAlgID() + public byte[] getSubjectAsBytes() throws IOException { - return String.valueOf(sigId); + if (subject != null) + return subject.getEncoded(); + else + return null; } /** - * Sets the public key algorithm ID that matching certificates must have. - * Specify null to clear this criterion. + * Returns the subject criterion as a string, of null if + * this value was not set. * - * @param sigId The public key ID. - * @throws IOException If the specified ID is not a valid object identifier. + * @return The subject. */ - public void setSubjectPublicKeyAlgID(String sigId) throws IOException + public String getSubjectAsString() { - if (sigId != null) - { - try - { - OID oid = new OID(sigId); - int[] comp = oid.getIDs(); - if (!checkOid(comp)) - throw new IOException("malformed OID: " + sigId); - this.sigId = oid; - } - catch (IllegalArgumentException iae) - { - IOException ioe = new IOException("malformed OID: " + sigId); - ioe.initCause(iae); - throw ioe; - } - } + if (subject != null) + return subject.getName(); else - this.sigId = null; + return null; + } + + /** + * Returns the subject key identifier criterion, or null if + * this value was not set. Note that the byte array is cloned to prevent + * modification. + * + * @return The subject key identifier. + */ + public byte[] getSubjectKeyIdentifier() + { + if (subjectKeyId != null) + return (byte[]) subjectKeyId.clone(); + else + return null; } /** @@ -485,101 +552,282 @@ public class X509CertSelector implements CertSelector, Cloneable } /** - * Sets the subject public key criterion as an opaque representation. - * Specify null to clear this criterion. + * Returns the public key algorithm ID that matching certificates must have, + * or null if this criterion was not set. * - * @param key The public key. + * @return The public key algorithm ID. */ - public void setSubjectPublicKey(PublicKey key) + public String getSubjectPublicKeyAlgID() { - this.subjectKey = key; - if (key == null) - { - subjectKeySpec = null; - return; - } - try - { - KeyFactory enc = KeyFactory.getInstance("X.509"); - subjectKeySpec = (X509EncodedKeySpec) - enc.getKeySpec(key, X509EncodedKeySpec.class); - } - catch (Exception x) - { - subjectKey = null; - subjectKeySpec = null; - } + return String.valueOf(sigId); } /** - * Sets the subject public key criterion as a DER-encoded key. Specify - * null to clear this value. + * Match a certificate. This method will check the given certificate + * against all the enabled criteria of this selector, and will return + * true if the given certificate matches. * - * @param key The DER-encoded key bytes. - * @throws IOException If the argument is not a valid DER-encoded key. + * @param certificate The certificate to check. + * @return true if the certificate matches all criteria. */ - public void setSubjectPublicKey(byte[] key) throws IOException + public boolean match(Certificate certificate) { - if (key == null) + if (!(certificate instanceof X509Certificate)) + return false; + X509Certificate cert = (X509Certificate) certificate; + if (this.cert != null) { - subjectKey = null; - subjectKeySpec = null; - return; + try + { + byte[] e1 = this.cert.getEncoded(); + byte[] e2 = cert.getEncoded(); + if (!Arrays.equals(e1, e2)) + return false; + } + catch (CertificateEncodingException cee) + { + return false; + } } - try + if (serialNo != null) { - subjectKeySpec = new X509EncodedKeySpec(key); - KeyFactory enc = KeyFactory.getInstance("X.509"); - subjectKey = enc.generatePublic(subjectKeySpec); + if (!serialNo.equals(cert.getSerialNumber())) + return false; } - catch (Exception x) + if (certValid != null) { - subjectKey = null; - subjectKeySpec = null; - IOException ioe = new IOException(x.getMessage()); - ioe.initCause(x); - throw ioe; + try + { + cert.checkValidity(certValid); + } + catch (CertificateException ce) + { + return false; + } + } + if (issuer != null) + { + if (!issuer.equals(cert.getIssuerX500Principal())) + return false; + } + if (subject != null) + { + if (!subject.equals(cert.getSubjectX500Principal())) + return false; + } + if (sigId != null) + { + if (!sigId.toString().equals(cert.getSigAlgOID())) + return false; + } + if (subjectKeyId != null) + { + byte[] b = cert.getExtensionValue(SUBJECT_KEY_ID); + if (!Arrays.equals(b, subjectKeyId)) + return false; } + if (authKeyId != null) + { + byte[] b = cert.getExtensionValue(AUTH_KEY_ID); + if (!Arrays.equals(b, authKeyId)) + return false; + } + if (keyUsage != null) + { + boolean[] b = cert.getKeyUsage(); + if (!Arrays.equals(b, keyUsage)) + return false; + } + if (basicConstraints >= 0) + { + if (cert.getBasicConstraints() != basicConstraints) + return false; + } + if (keyPurposeSet != null) + { + List kp = null; + try + { + kp = cert.getExtendedKeyUsage(); + } + catch (CertificateParsingException cpe) + { + return false; + } + if (kp == null) + return false; + for (Iterator it = keyPurposeSet.iterator(); it.hasNext(); ) + { + if (!kp.contains(it.next())) + return false; + } + } + if (altNames != null) + { + Collection> an = null; + try + { + an = cert.getSubjectAlternativeNames(); + } + catch (CertificateParsingException cpe) + { + return false; + } + if (an == null) + return false; + int match = 0; + for (GeneralName name : altNames) + { + for (List list : an) + { + try + { + Integer id = (Integer) list.get(0); + Object val = list.get(1); + GeneralName n = null; + if (val instanceof String) + n = makeName(id, (String) val); + else if (val instanceof byte[]) + { + n = new GeneralName(GeneralName.Kind.forTag(id), + (byte[]) val); + } + else + continue; + if (name.equals(n)) + match++; + } + catch (Exception e) + { + continue; + } + } + if (match == 0 || (matchAllNames && match < altNames.size())) + return false; + } + } + if (nameConstraints != null) + { + byte[] nc = cert.getExtensionValue(NAME_CONSTRAINTS_ID); + if (!Arrays.equals(nameConstraints, nc)) + return false; + } + + if (policy != null) + { + CertificatePolicies policies = null; + if (cert instanceof GnuPKIExtension) + { + policies = (CertificatePolicies) + ((GnuPKIExtension) cert).getExtension(CertificatePolicies.ID).getValue(); + } + else + { + byte[] policiesDer = + cert.getExtensionValue(CertificatePolicies.ID.toString()); + try + { + policies = new CertificatePolicies(policiesDer); + } + catch (IOException ioe) + { + // ignored + } + } + + if (policies == null) + return false; + if (!policies.getPolicies().containsAll(policy)) + return false; + } + + if (pathToNames != null) + { + NameConstraints nc = null; + if (cert instanceof GnuPKIExtension) + { + Extension e = + ((GnuPKIExtension) cert).getExtension(NameConstraints.ID); + if (e != null) + nc = (NameConstraints) e.getValue(); + } + else + { + byte[] b = cert.getExtensionValue(NameConstraints.ID.toString()); + if (b != null) + { + try + { + nc = new NameConstraints(b); + } + catch (IOException ioe) + { + } + } + } + + if (nc == null) + return false; + + int match = 0; + for (GeneralName name : pathToNames) + { + for (GeneralSubtree subtree : nc.permittedSubtrees()) + { + if (name.equals(subtree.base())) + match++; + } + } + if (match == 0 || (matchAllNames && match < pathToNames.size())) + return false; + } + + return true; } /** - * Returns the public key usage criterion, or null if this - * value is not set. Note that the array is cloned to prevent modification. + * Sets the authority key identifier criterion, or null to clear + * this criterion. Note that the byte array is cloned to prevent modification. * - * @return The public key usage. + * @param authKeyId The authority key identifier. */ - public boolean[] getKeyUsage() + public void setAuthorityKeyIdentifier(byte[] authKeyId) { - if (keyUsage != null) - return (boolean[]) keyUsage.clone(); - else - return null; + this.authKeyId = authKeyId != null ? (byte[]) authKeyId.clone() : null; } /** - * Sets the public key usage criterion. Specify null to clear - * this value. + * Sets the basic constraints criterion. Specify -1 to clear this parameter. * - * @param keyUsage The public key usage. + * @param basicConstraints The new basic constraints value. */ - public void setKeyUsage(boolean[] keyUsage) + public void setBasicConstraints(int basicConstraints) { - this.keyUsage = keyUsage != null ? (boolean[]) keyUsage.clone() : null; + if (basicConstraints < -1) + basicConstraints = -1; + this.basicConstraints = basicConstraints; } /** - * Returns the set of extended key purpose IDs, as an unmodifiable set - * of OID strings. Returns null if this criterion is not - * set. + * Sets the certificate criterion. If set, only certificates that are + * equal to the certificate passed here will be accepted. * - * @return The set of key purpose OIDs (strings). + * @param cert The certificate. */ - public Set getExtendedKeyUsage() + public void setCertificate(X509Certificate cert) { - if (keyPurposeSet != null) - return Collections.unmodifiableSet(keyPurposeSet); - else - return null; + this.cert = cert; + } + + /** + * Sets the date at which certificates must be valid. Specify + * null to clear this criterion. + * + * @param certValid The certificate validity date. + */ + public void setCertificateValid(Date certValid) + { + this.certValid = certValid != null ? (Date) certValid.clone() : null; } /** @@ -596,7 +844,7 @@ public class X509CertSelector implements CertSelector, Cloneable this.keyPurposeSet = null; return; } - Set s = new HashSet(); + Set s = new HashSet(); for (Iterator it = keyPurposeSet.iterator(); it.hasNext(); ) { Object o = it.next(); @@ -620,407 +868,387 @@ public class X509CertSelector implements CertSelector, Cloneable } /** - * Returns whether or not all specified alternative names must match. - * If false, a certificate is considered a match if one of the - * specified alternative names matches. + * Sets the issuer, specified as the DER encoding of the issuer's + * distinguished name. Only certificates issued by this issuer will + * be accepted. * - * @return true if all names must match. + * @param name The DER encoding of the issuer's distinguished name. + * @throws IOException If the given name is incorrectly formatted. */ - public boolean getMatchAllSubjectAltNames() + public void setIssuer(byte[] name) throws IOException { - return matchAllNames; + if (name != null) + { + try + { + issuer = new X500Principal(name); + } + catch (IllegalArgumentException iae) + { + throw new IOException(iae.getMessage()); + } + } + else + issuer = null; } /** - * Sets whether or not all subject alternative names must be matched. - * If false, then a certificate will be considered a match if one - * alternative name matches. + * Sets the issuer, specified as a string representation of the issuer's + * distinguished name. Only certificates issued by this issuer will + * be accepted. * - * @param matchAllNames Whether or not all alternative names must be - * matched. + * @param name The string representation of the issuer's distinguished name. + * @throws IOException If the given name is incorrectly formatted. */ - public void setMatchAllSubjectAltNames(boolean matchAllNames) + public void setIssuer(String name) throws IOException { - this.matchAllNames = matchAllNames; + if (name != null) + { + try + { + issuer = new X500Principal(name); + } + catch (IllegalArgumentException iae) + { + throw new IOException(iae.getMessage()); + } + } + else + issuer = null; } /** - * Sets the subject alternative names critertion. Each element of the - * argument must be a {@link java.util.List} that contains exactly two - * elements: the first an {@link Integer}, representing the type of - * name, and the second either a {@link String} or a byte array, - * representing the name itself. + * Sets the public key usage criterion. Specify null to clear + * this value. * - * @param altNames The alternative names. - * @throws IOException If any element of the argument is invalid. + * @param keyUsage The public key usage. */ - public void setSubjectAlternativeNames(Collection> altNames) - throws IOException + public void setKeyUsage(boolean[] keyUsage) { - if (altNames == null) - { - this.altNames = null; - return; - } - List l = new ArrayList(altNames.size()); - for (Iterator it = altNames.iterator(); it.hasNext(); ) - { - Object o = it.next(); - if (!(o instanceof List) || ((List) o).size() != 2 || - !(((List) o).get(0) instanceof Integer) || - !(((List) o).get(1) instanceof String) || - !(((List) o).get(1) instanceof byte[])) - throw new IOException("illegal alternative name: " + o); - Integer i = (Integer) ((List) o).get(0); - if (i.intValue() < 0 || i.intValue() > 8) - throw new IOException("illegal alternative name: " + o + - ", bad id: " + i); - l.add(new ArrayList((List) o)); - } - this.altNames = l; + this.keyUsage = keyUsage != null ? (boolean[]) keyUsage.clone() : null; } /** - * Add a name to the subject alternative names criterion. + * Sets whether or not all subject alternative names must be matched. + * If false, then a certificate will be considered a match if one + * alternative name matches. * - * @param id The type of name this is. Must be in the range [0,8]. - * @param name The name. - * @throws IOException If the id is out of range, or if the name - * is null. + * @param matchAllNames Whether or not all alternative names must be + * matched. */ - public void addSubjectAlternativeName(int id, String name) - throws IOException + public void setMatchAllSubjectAltNames(boolean matchAllNames) { - if (id < 0 || id > 8 || name == null) - throw new IOException("illegal alternative name"); - if (altNames == null) - altNames = new LinkedList(); - ArrayList l = new ArrayList(2); - l.add(Integer.valueOf(id)); - l.add(name); - altNames.add(l); + this.matchAllNames = matchAllNames; } /** - * Add a name, as DER-encoded bytes, to the subject alternative names - * criterion. + * Sets the name constraints criterion; specify null to + * clear this criterion. Note that if non-null, the argument will be + * cloned to prevent modification. * - * @param id The type of name this is. + * @param nameConstraints The new name constraints. + * @throws IOException If the argument is not a valid DER-encoded + * name constraints. */ - public void addSubjectAlternativeName(int id, byte[] name) + public void setNameConstraints(byte[] nameConstraints) throws IOException { - if (id < 0 || id > 8 || name == null) - throw new IOException("illegal alternative name"); - if (altNames == null) - altNames = new LinkedList(); - ArrayList l = new ArrayList(2); - l.add(Integer.valueOf(id)); - l.add(name); - altNames.add(l); + // Check if the input is well-formed... + new NameConstraints(nameConstraints); + + // But we just compare raw byte arrays. + this.nameConstraints = nameConstraints != null + ? (byte[]) nameConstraints.clone() : null; } - + /** - * Returns the name constraints criterion, or null if this - * value is not set. Note that the byte array is cloned to prevent - * modification. + * Sets the pathToNames criterion. The argument is a collection of + * pairs, the first element of which is an {@link Integer} giving + * the ID of the name, and the second element is either a {@link String} + * or a byte array. + * + * See {@link #addPathToName(int, byte[])} and {@link #addPathToName(int, String)} + * for how these arguments are handled. * - * @return The name constraints. + * @param names The names. + * @throws IOException If any argument is malformed. */ - public byte[] getNameConstraints() + public void setPathToNames(Collection> names) throws IOException { - if (nameConstraints != null) - return (byte[]) nameConstraints.clone(); + if (names == null || names.size() == 0) + { + pathToNames = null; + } else - return null; + { + pathToNames = new ArrayList(names.size()); + for (List name : names) + { + Integer id = (Integer) name.get(0); + Object name2 = name.get(1); + if (name2 instanceof String) + addPathToName(id, (String) name2); + else if (name2 instanceof byte[]) + addPathToName(id, (byte[]) name2); + else + throw new IOException("invalid name type: " + + name2.getClass().getName()); + } + } } /** - * Sets the name constraints criterion; specify null to - * clear this criterion. Note that if non-null, the argument will be - * cloned to prevent modification. + * Sets the certificate policy to match, or null if this criterion should + * not be checked. Each element if the set must be a dotted-decimal form + * of certificate policy object identifier. * - * @param nameConstraints The new name constraints. - * @throws IOException If the argument is not a valid DER-encoded - * name constraints. + * @param policy The policy to match. + * @throws IOException If some element of the policy is not a valid + * policy extenison OID. */ - public void setNameConstraints(byte[] nameConstraints) - throws IOException + public void setPolicy(Set policy) throws IOException { - // FIXME check if the argument is valid. - this.nameConstraints = nameConstraints != null - ? (byte[]) nameConstraints.clone() : null; + if (policy != null) + { + HashSet p = new HashSet(policy.size()); + for (String s : policy) + { + try + { + OID oid = new OID(s); + int[] i = oid.getIDs(); + if (!checkOid(i)) + throw new IOException("invalid OID"); + p.add(oid); + } + catch (IOException ioe) + { + throw ioe; + } + catch (Exception x) + { + IOException ioe = new IOException("invalid OID"); + ioe.initCause(x); + throw ioe; + } + } + this.policy = p; + } + else + this.policy = null; } /** - * Returns the basic constraints criterion, or -1 if this value is not set. + * This method, and its related X.509 certificate extension — the + * private key usage period — is not supported under the Internet + * PKI for X.509 certificates (PKIX), described in RFC 3280. As such, this + * method is not supported either. * - * @return The basic constraints. + *

      Do not use this method. It is not deprecated, as it is not deprecated + * in the Java standard, but it is basically a no-operation. + * + * @param UNUSED Is silently ignored. */ - public int getBasicConstraints() + public void setPrivateKeyValid(Date UNUSED) { - return basicConstraints; } /** - * Sets the basic constraints criterion. Specify -1 to clear this parameter. + * Sets the serial number of the desired certificate. Only certificates that + * contain this serial number are accepted. * - * @param basicConstraints The new basic constraints value. + * @param serialNo The serial number. */ - public void setBasicConstraints(int basicConstraints) + public void setSerialNumber(BigInteger serialNo) { - if (basicConstraints < -1) - basicConstraints = -1; - this.basicConstraints = basicConstraints; + this.serialNo = serialNo; } - // The last two criteria not yet implemented are certificate policies - // and path-to-names. Both of these are somewhat advanced extensions - // (you could probably count the applications that actually use them - // on one hand), and they both have no support in the X509Certificate - // class. - // - // Not having support in X509Certificate is not always a problem; for - // example, we can compare DER-encoded values as byte arrays for some - // extensions. We can't, however, compare them if they are specified - // in a set (as policies are). We need to parse the actual value in the - // certificate, and check it against the specified set. - - // FIXME -// public void setPolicy(Set policy) throws IOException -// { -// if (policy != null) -// { -// for (Iterator it = policy.iterator(); it.hasNext(); ) -// try -// { -// OID oid = new OID((String) it.next()); -// int[] i = oid.getIDs(); -// if (!checkOid(i)) -// throw new IOException("invalid OID"); -// } -// catch (Exception x) -// { -// throw new IOException("invalid OID"); -// } -// } -// this.policy = policy != null ? new HashSet(policy) : null; -// } - - // FIXME -// public void setPathToNames(Collection> names) throws IOException -// { -// if (names == null) -// { -// this.names = null; -// return; -// } -// for (Iterator it = names.iterator(); it.hasNext(); ) -// { -// try -// { -// List l = (List) it.next(); -// if (l.get(1) instanceof String) -// addPathToName(((Integer)l.get(0)).intValue(), (String)l.get(1)); -// else -// addPathToName(((Integer)l.get(0)).intValue(), (byte[])l.get(1)); -// } -// catch (Exception x) -// { -// this.names = null; -// throw new IOException("invalid names"); -// } -// } -// } - - // FIXME -// public void addPathToName(int id, String name) throws IOException -// { -// } - - // FIXME -// public void addPathToName(int id, byte[] name) throws IOException -// { -// } - - // FIXME -// public Collection> getSubjectAlternativeNames() -// { -// return null; -// } - - // FIXME -// public Set getPolicy() -// { -// return null; -// } - - // FIXME -// public Collection> getPathToNames() -// { -// return null; -// } - /** - * Match a certificate. This method will check the given certificate - * against all the enabled criteria of this selector, and will return - * true if the given certificate matches. + * Sets the subject, specified as the DER encoding of the subject's + * distinguished name. Only certificates with the given subject will + * be accepted. * - * @param certificate The certificate to check. - * @return true if the certificate matches all criteria. + * @param name The DER encoding of the subject's distinguished name. + * @throws IOException If the given name is incorrectly formatted. */ - public boolean match(Certificate certificate) + public void setSubject(byte[] name) throws IOException { - if (!(certificate instanceof X509Certificate)) - return false; - X509Certificate cert = (X509Certificate) certificate; - if (this.cert != null) + if (name != null) { try { - byte[] e1 = this.cert.getEncoded(); - byte[] e2 = cert.getEncoded(); - if (!Arrays.equals(e1, e2)) - return false; + subject = new X500Principal(name); } - catch (CertificateEncodingException cee) + catch (IllegalArgumentException iae) { - return false; + throw new IOException(iae.getMessage()); } } - if (serialNo != null) - { - if (!serialNo.equals(cert.getSerialNumber())) - return false; - } - if (certValid != null) + else + subject = null; + } + + /** + * Sets the subject, specified as a string representation of the + * subject's distinguished name. Only certificates with the given + * subject will be accepted. + * + * @param name The string representation of the subject's distinguished name. + * @throws IOException If the given name is incorrectly formatted. + */ + public void setSubject(String name) throws IOException + { + if (name != null) { try { - cert.checkValidity(certValid); + subject = new X500Principal(name); } - catch (CertificateException ce) + catch (IllegalArgumentException iae) { - return false; + throw new IOException(iae.getMessage()); } } - if (issuer != null) + else + subject = null; + } + + /** + * Sets the subject alternative names critertion. Each element of the + * argument must be a {@link java.util.List} that contains exactly two + * elements: the first an {@link Integer}, representing the type of + * name, and the second either a {@link String} or a byte array, + * representing the name itself. + * + * @param altNames The alternative names. + * @throws IOException If any element of the argument is invalid. + */ + public void setSubjectAlternativeNames(Collection> altNames) + throws IOException + { + if (altNames == null || altNames.isEmpty()) { - if (!issuer.equals(cert.getIssuerX500Principal())) - return false; + this.altNames = null; + return; } - if (subject != null) + List l = new ArrayList(altNames.size()); + for (List list : altNames) { - if (!subject.equals(cert.getSubjectX500Principal())) - return false; + Integer id = (Integer) list.get(0); + Object value = list.get(1); + GeneralName name = null; + if (value instanceof String) + name = makeName(id, (String) value); + else if (value instanceof byte[]) + name = new GeneralName(GeneralName.Kind.forTag(id), (byte[]) value); + else + throw new IOException("invalid name type: " + value.getClass().getName()); + l.add(name); } - if (sigId != null) + this.altNames = l; + } + + /** + * Sets the subject key identifier criterion, or null to clear + * this criterion. Note that the byte array is cloned to prevent modification. + * + * @param subjectKeyId The subject key identifier. + */ + public void setSubjectKeyIdentifier(byte[] subjectKeyId) + { + this.subjectKeyId = subjectKeyId != null ? (byte[]) subjectKeyId.clone() : + null; + } + + /** + * Sets the subject public key criterion as a DER-encoded key. Specify + * null to clear this value. + * + * @param key The DER-encoded key bytes. + * @throws IOException If the argument is not a valid DER-encoded key. + */ + public void setSubjectPublicKey(byte[] key) throws IOException + { + if (key == null) { - if (!sigId.toString().equals(cert.getSigAlgOID())) - return false; + subjectKey = null; + subjectKeySpec = null; + return; } - if (subjectKeyId != null) + try { - byte[] b = cert.getExtensionValue(SUBJECT_KEY_ID); - if (!Arrays.equals(b, subjectKeyId)) - return false; + subjectKeySpec = new X509EncodedKeySpec(key); + KeyFactory enc = KeyFactory.getInstance("X.509"); + subjectKey = enc.generatePublic(subjectKeySpec); } - if (authKeyId != null) + catch (Exception x) { - byte[] b = cert.getExtensionValue(AUTH_KEY_ID); - if (!Arrays.equals(b, authKeyId)) - return false; + subjectKey = null; + subjectKeySpec = null; + IOException ioe = new IOException(x.getMessage()); + ioe.initCause(x); + throw ioe; } - if (keyUsage != null) + } + + /** + * Sets the subject public key criterion as an opaque representation. + * Specify null to clear this criterion. + * + * @param key The public key. + */ + public void setSubjectPublicKey(PublicKey key) + { + this.subjectKey = key; + if (key == null) { - boolean[] b = cert.getKeyUsage(); - if (!Arrays.equals(b, keyUsage)) - return false; + subjectKeySpec = null; + return; } - if (basicConstraints >= 0) + try { - if (cert.getBasicConstraints() != basicConstraints) - return false; + KeyFactory enc = KeyFactory.getInstance("X.509"); + subjectKeySpec = (X509EncodedKeySpec) + enc.getKeySpec(key, X509EncodedKeySpec.class); } - if (keyPurposeSet != null) + catch (Exception x) { - List kp = null; - try - { - kp = cert.getExtendedKeyUsage(); - } - catch (CertificateParsingException cpe) - { - return false; - } - if (kp == null) - return false; - for (Iterator it = keyPurposeSet.iterator(); it.hasNext(); ) - { - if (!kp.contains(it.next())) - return false; - } + subjectKey = null; + subjectKeySpec = null; } - if (altNames != null) + } + + /** + * Sets the public key algorithm ID that matching certificates must have. + * Specify null to clear this criterion. + * + * @param sigId The public key ID. + * @throws IOException If the specified ID is not a valid object identifier. + */ + public void setSubjectPublicKeyAlgID(String sigId) throws IOException + { + if (sigId != null) { - Collection an = null; try { - an = cert.getSubjectAlternativeNames(); - } - catch (CertificateParsingException cpe) - { - return false; + OID oid = new OID(sigId); + int[] comp = oid.getIDs(); + if (!checkOid(comp)) + throw new IOException("malformed OID: " + sigId); + this.sigId = oid; } - if (an == null) - return false; - int match = 0; - for (Iterator it = altNames.iterator(); it.hasNext(); ) + catch (IllegalArgumentException iae) { - List l = (List) it.next(); - Integer id = (Integer) l.get(0); - String s = null; - byte[] b = null; - if (l.get(1) instanceof String) - s = (String) l.get(1); - else if (l.get(1) instanceof byte[]) - b = (byte[]) l.get(1); - else - return false; - for (Iterator it2 = an.iterator(); it2.hasNext(); ) - { - Object o = it2.next(); - if (!(o instanceof List)) - continue; - List l2 = (List) o; - if (l2.size() != 2) - continue; - if (!id.equals(l2.get(0))) - continue; - if (s != null && (l2.get(1) instanceof String) && - s.equals(l2.get(1))) - match++; - else if (b != null && (l2.get(1) instanceof byte[]) && - Arrays.equals(b, (byte[]) l2.get(1))) - match++; - } - if (match == 0 || (matchAllNames && match != altNames.size())) - return false; + IOException ioe = new IOException("malformed OID: " + sigId); + ioe.initCause(iae); + throw ioe; } } - if (nameConstraints != null) - { - byte[] nc = cert.getExtensionValue(NAME_CONSTRAINTS_ID); - if (!Arrays.equals(nameConstraints, nc)) - return false; - } - - // FIXME check policies. - // FIXME check path-to-names. - - return true; + else + this.sigId = null; } - + public String toString() { StringBuffer str = new StringBuffer(X509CertSelector.class.getName()); @@ -1080,28 +1308,11 @@ public class X509CertSelector implements CertSelector, Cloneable str.append(" alternative names = ").append(altNames).append(eol); if (nameConstraints != null) str.append(" name constraints = ").append(eol); + if (policy != null) + str.append(" policy = ").append(policy).append(eol); + if (pathToNames != null) + str.append(" pathToNames = ").append(pathToNames).append(eol); str.append("}").append(nl); return str.toString(); } - - public Object clone() - { - try - { - return super.clone(); - } - catch (CloneNotSupportedException shouldNotHappen) - { - throw new Error(shouldNotHappen); - } - } - - // Own methods. - // ------------------------------------------------------------------------- - - private static boolean checkOid(int[] oid) - { - return (oid != null && oid.length > 2 && - (oid[0] >= 0 && oid[0] <= 2) && (oid[1] >= 0 && oid[1] <= 39)); - } } diff --git a/libjava/classpath/java/security/cert/X509Certificate.java b/libjava/classpath/java/security/cert/X509Certificate.java index bc1b5c2..b398e09 100644 --- a/libjava/classpath/java/security/cert/X509Certificate.java +++ b/libjava/classpath/java/security/cert/X509Certificate.java @@ -1,5 +1,5 @@ /* X509Certificate.java --- X.509 Certificate class - Copyright (C) 1999,2003 Free Software Foundation, Inc. + Copyright (C) 1999,2003, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -137,7 +137,7 @@ import java.util.List; * @author Casey Marshall (rsdio@metastatic.org) */ public abstract class X509Certificate - extends java.security.cert.Certificate // XXX workaround for gcj bug #17845 + extends Certificate implements X509Extension { private static final long serialVersionUID = -2491127588187038216L; diff --git a/libjava/classpath/java/text/AttributedStringIterator.java b/libjava/classpath/java/text/AttributedStringIterator.java index 422876c..2f970fe 100644 --- a/libjava/classpath/java/text/AttributedStringIterator.java +++ b/libjava/classpath/java/text/AttributedStringIterator.java @@ -213,9 +213,7 @@ class AttributedStringIterator implements AttributedCharacterIterator Iterator iterator = attributeSet.iterator(); while (iterator.hasNext()) { - // Qualified name is a workaround for a gcj 4.0 bug. - AttributedCharacterIterator.Attribute attributeKey - = (AttributedCharacterIterator.Attribute) iterator.next(); + Attribute attributeKey = (Attribute) iterator.next(); Object v1 = runValues.get(attributeKey); Object v2 = getAttribute(attributeKey, limit + 1); boolean changed = false; @@ -298,9 +296,7 @@ class AttributedStringIterator implements AttributedCharacterIterator Iterator iterator = attributeSet.iterator(); while (iterator.hasNext()) { - // Qualified name is a workaround for a gcj 4.0 bug. - AttributedCharacterIterator.Attribute attributeKey - = (AttributedCharacterIterator.Attribute) iterator.next(); + Attribute attributeKey = (Attribute) iterator.next(); Object v1 = runValues.get(attributeKey); Object v2 = getAttribute(attributeKey, prev); boolean changed = false; diff --git a/libjava/classpath/java/text/BreakIterator.java b/libjava/classpath/java/text/BreakIterator.java index 7ba1168..30e5f2b 100644 --- a/libjava/classpath/java/text/BreakIterator.java +++ b/libjava/classpath/java/text/BreakIterator.java @@ -1,5 +1,6 @@ /* BreakIterator.java -- Breaks text into elements - Copyright (C) 1998, 1999, 2001, 2004, 2005 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2001, 2004, 2005, 2007 + Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -38,9 +39,19 @@ exception statement from your version. */ package java.text; +import gnu.java.locale.LocaleHelper; + +import gnu.java.text.CharacterBreakIterator; +import gnu.java.text.LineBreakIterator; +import gnu.java.text.SentenceBreakIterator; +import gnu.java.text.WordBreakIterator; + +import java.text.spi.BreakIteratorProvider; + import java.util.Locale; import java.util.MissingResourceException; import java.util.ResourceBundle; +import java.util.ServiceLoader; /** * This class iterates over text elements such as words, lines, sentences, @@ -179,19 +190,34 @@ public abstract class BreakIterator implements Cloneable /** * This method returns an instance of BreakIterator that will - * iterate over characters as defined in the specified locale. If the - * desired locale is not available, the default locale is used. + * iterate over characters as defined in the specified locale. * * @param locale The desired locale. * - * @return A BreakIterator instance for the default locale. + * @return A BreakIterator instance for the specified locale. */ public static BreakIterator getCharacterInstance (Locale locale) { - BreakIterator r = getInstance ("CharacterIterator", locale); - if (r == null) - r = new gnu.java.text.CharacterBreakIterator (); - return r; + BreakIterator r = getInstance("CharacterIterator", locale); + if (r != null) + return r; + for (BreakIteratorProvider p : + ServiceLoader.load(BreakIteratorProvider.class)) + { + for (Locale loc : p.getAvailableLocales()) + { + if (loc.equals(locale)) + { + BreakIterator bi = p.getCharacterInstance(locale); + if (bi != null) + return bi; + break; + } + } + } + if (locale.equals(Locale.ROOT)) + return new CharacterBreakIterator(); + return getCharacterInstance(LocaleHelper.getFallbackLocale(locale)); } /** @@ -207,8 +233,7 @@ public abstract class BreakIterator implements Cloneable /** * This method returns an instance of BreakIterator that will - * iterate over line breaks as defined in the specified locale. If the - * desired locale is not available, the default locale is used. + * iterate over line breaks as defined in the specified locale. * * @param locale The desired locale. * @@ -217,9 +242,25 @@ public abstract class BreakIterator implements Cloneable public static BreakIterator getLineInstance (Locale locale) { BreakIterator r = getInstance ("LineIterator", locale); - if (r == null) - r = new gnu.java.text.LineBreakIterator (); - return r; + if (r != null) + return r; + for (BreakIteratorProvider p : + ServiceLoader.load(BreakIteratorProvider.class)) + { + for (Locale loc : p.getAvailableLocales()) + { + if (loc.equals(locale)) + { + BreakIterator bi = p.getLineInstance(locale); + if (bi != null) + return bi; + break; + } + } + } + if (locale.equals(Locale.ROOT)) + return new LineBreakIterator(); + return getLineInstance(LocaleHelper.getFallbackLocale(locale)); } /** @@ -235,8 +276,7 @@ public abstract class BreakIterator implements Cloneable /** * This method returns an instance of BreakIterator that will - * iterate over sentences as defined in the specified locale. If the - * desired locale is not available, the default locale is used. + * iterate over sentences as defined in the specified locale. * * @param locale The desired locale. * @@ -245,9 +285,25 @@ public abstract class BreakIterator implements Cloneable public static BreakIterator getSentenceInstance (Locale locale) { BreakIterator r = getInstance ("SentenceIterator", locale); - if (r == null) - r = new gnu.java.text.SentenceBreakIterator (); - return r; + if (r != null) + return r; + for (BreakIteratorProvider p : + ServiceLoader.load(BreakIteratorProvider.class)) + { + for (Locale loc : p.getAvailableLocales()) + { + if (loc.equals(locale)) + { + BreakIterator bi = p.getSentenceInstance(locale); + if (bi != null) + return bi; + break; + } + } + } + if (locale.equals(Locale.ROOT)) + return new SentenceBreakIterator(); + return getSentenceInstance(LocaleHelper.getFallbackLocale(locale)); } /** @@ -271,8 +327,7 @@ public abstract class BreakIterator implements Cloneable /** * This method returns an instance of BreakIterator that will - * iterate over words as defined in the specified locale. If the - * desired locale is not available, the default locale is used. + * iterate over words as defined in the specified locale. * * @param locale The desired locale. * @@ -281,9 +336,25 @@ public abstract class BreakIterator implements Cloneable public static BreakIterator getWordInstance (Locale locale) { BreakIterator r = getInstance ("WordIterator", locale); - if (r == null) - r = new gnu.java.text.WordBreakIterator (); - return r; + if (r != null) + return r; + for (BreakIteratorProvider p : + ServiceLoader.load(BreakIteratorProvider.class)) + { + for (Locale loc : p.getAvailableLocales()) + { + if (loc.equals(locale)) + { + BreakIterator bi = p.getWordInstance(locale); + if (bi != null) + return bi; + break; + } + } + } + if (locale.equals(Locale.ROOT)) + return new WordBreakIterator(); + return getWordInstance(LocaleHelper.getFallbackLocale(locale)); } /** diff --git a/libjava/classpath/java/text/Collator.java b/libjava/classpath/java/text/Collator.java index 95236132..16ee6b1 100644 --- a/libjava/classpath/java/text/Collator.java +++ b/libjava/classpath/java/text/Collator.java @@ -40,10 +40,13 @@ package java.text; import gnu.java.locale.LocaleHelper; +import java.text.spi.CollatorProvider; + import java.util.Comparator; import java.util.Locale; import java.util.MissingResourceException; import java.util.ResourceBundle; +import java.util.ServiceLoader; /** * This class is the abstract superclass of classes which perform @@ -285,7 +288,8 @@ public abstract class Collator implements Comparator, Cloneable /** * This method returns an instance of Collator for the * specified locale. If no Collator exists for the desired - * locale, a Collator for the default locale will be returned. + * locale, the fallback procedure described in + * {@link java.util.spi.LocaleServiceProvider} is invoked. * * @param loc The desired locale to load a Collator for. * @@ -293,27 +297,51 @@ public abstract class Collator implements Comparator, Cloneable */ public static Collator getInstance (Locale loc) { - ResourceBundle res; String pattern; try { - res = ResourceBundle.getBundle("gnu.java.locale.LocaleInformation", - loc, ClassLoader.getSystemClassLoader()); - pattern = res.getString("collation_rules"); + ResourceBundle res = + ResourceBundle.getBundle("gnu.java.locale.LocaleInformation", + loc, ClassLoader.getSystemClassLoader()); + return new RuleBasedCollator(res.getString("collation_rules")); } catch (MissingResourceException x) { - pattern = "<0<1<2<3<4<5<6<7<8<9DateFormat that will * format using the default formatting style for dates. @@ -678,7 +733,29 @@ public abstract class DateFormat extends Format implements Cloneable */ public static final DateFormat getDateInstance (int style, Locale loc) { - return computeInstance (style, loc, true, false); + try + { + return computeInstance (style, loc, true, false); + } + catch (MissingResourceException e) + { + for (DateFormatProvider p : + ServiceLoader.load(DateFormatProvider.class)) + { + for (Locale l : p.getAvailableLocales()) + { + if (l.equals(loc)) + { + DateFormat df = p.getDateInstance(style, loc); + if (df != null) + return df; + break; + } + } + } + return getDateInstance(style, + LocaleHelper.getFallbackLocale(loc)); + } } /** @@ -717,7 +794,30 @@ public abstract class DateFormat extends Format implements Cloneable int timeStyle, Locale loc) { - return computeInstance (dateStyle, timeStyle, loc, true, true); + try + { + return computeInstance (dateStyle, timeStyle, loc, true, true); + } + catch (MissingResourceException e) + { + for (DateFormatProvider p : + ServiceLoader.load(DateFormatProvider.class)) + { + for (Locale l : p.getAvailableLocales()) + { + if (l.equals(loc)) + { + DateFormat df = p.getDateTimeInstance(dateStyle, + timeStyle, loc); + if (df != null) + return df; + break; + } + } + } + return getDateTimeInstance(dateStyle, timeStyle, + LocaleHelper.getFallbackLocale(loc)); + } } /** @@ -779,7 +879,29 @@ public abstract class DateFormat extends Format implements Cloneable */ public static final DateFormat getTimeInstance (int style, Locale loc) { - return computeInstance (style, loc, false, true); + try + { + return computeInstance (style, loc, false, true); + } + catch (MissingResourceException e) + { + for (DateFormatProvider p : + ServiceLoader.load(DateFormatProvider.class)) + { + for (Locale l : p.getAvailableLocales()) + { + if (l.equals(loc)) + { + DateFormat df = p.getTimeInstance(style, loc); + if (df != null) + return df; + break; + } + } + } + return getTimeInstance(style, + LocaleHelper.getFallbackLocale(loc)); + } } /** diff --git a/libjava/classpath/java/text/DateFormatSymbols.java b/libjava/classpath/java/text/DateFormatSymbols.java index bffd31f..406376a 100644 --- a/libjava/classpath/java/text/DateFormatSymbols.java +++ b/libjava/classpath/java/text/DateFormatSymbols.java @@ -1,5 +1,5 @@ /* DateFormatSymbols.java -- Format over a range of numbers - Copyright (C) 1998, 1999, 2000, 2001, 2003, 2005 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2000, 2001, 2003, 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -38,14 +38,26 @@ exception statement from your version. */ package java.text; +import gnu.java.locale.LocaleHelper; + +import java.text.spi.DateFormatSymbolsProvider; + +import java.util.ArrayList; +import java.util.List; import java.util.Locale; import java.util.MissingResourceException; import java.util.ResourceBundle; +import java.util.ServiceLoader; +import java.util.TimeZone; + +import java.util.spi.TimeZoneNameProvider; /** * This class acts as container for locale specific date/time formatting * information such as the days of the week and the months of the year. + * * @author Per Bothner (bothner@cygnus.com) + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) * @date October 24, 1998. */ /* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3. @@ -60,6 +72,15 @@ public class DateFormatSymbols implements java.io.Serializable, Cloneable String[] shortMonths; String[] shortWeekdays; String[] weekdays; + + /** + * The timezone strings supplied by the runtime. + */ + private String[][] runtimeZoneStrings; + + /** + * Custom timezone strings supplied by {@link #setZoneStrings()}. + */ private String[][] zoneStrings; private static final long serialVersionUID = -5987973545549424702L; @@ -83,22 +104,52 @@ public class DateFormatSymbols implements java.io.Serializable, Cloneable return res.getString(name).split("\u00ae"); } - private String[][] getZoneStrings(ResourceBundle res) + private String[][] getZoneStrings(ResourceBundle res, Locale locale) { + List allZones = new ArrayList(); try { int index = 0; String data = res.getString("zoneStrings"); String[] zones = data.split("\u00a9"); - String[][] array = new String[zones.length][]; for (int a = 0; a < zones.length; ++a) - array[a] = zones[a].split("\u00ae"); - return array; + allZones.add(zones[a].split("\u00ae")); } catch (MissingResourceException e) { - return new String[0][]; + /* This means runtime support for the locale + * is not available, so we just include providers. */ } + for (TimeZoneNameProvider p : + ServiceLoader.load(TimeZoneNameProvider.class)) + { + for (Locale loc : p.getAvailableLocales()) + { + if (loc.equals(locale)) + { + for (String id : TimeZone.getAvailableIDs()) + { + String[] z = new String[5]; + z[0] = id; + z[1] = p.getDisplayName(id, false, + TimeZone.LONG, + locale); + z[2] = p.getDisplayName(id, false, + TimeZone.SHORT, + locale); + z[3] = p.getDisplayName(id, true, + TimeZone.LONG, + locale); + z[4] = p.getDisplayName(id, true, + TimeZone.SHORT, + locale); + allZones.add(z); + } + break; + } + } + } + return allZones.toArray(new String[allZones.size()][]); } private String[] formatsForKey(ResourceBundle res, String key) @@ -114,11 +165,18 @@ public class DateFormatSymbols implements java.io.Serializable, Cloneable /** * This method initializes a new instance of DateFormatSymbols * by loading the date format information for the specified locale. + * This constructor only obtains instances using the runtime's resources; + * to also include {@link java.text.spi.DateFormatSymbolsProvider} instances, + * call {@link #getInstance(java.util.Locale)} instead. * * @param locale The locale for which date formatting symbols should * be loaded. + * @throws MissingResourceException if the resources for the specified + * locale could not be found or loaded. + * @see #getInstance(java.util.Locale) */ - public DateFormatSymbols (Locale locale) throws MissingResourceException + public DateFormatSymbols (Locale locale) + throws MissingResourceException { ResourceBundle res = ResourceBundle.getBundle("gnu.java.locale.LocaleInformation", locale, @@ -131,16 +189,23 @@ public class DateFormatSymbols implements java.io.Serializable, Cloneable shortMonths = getStringArray(res, "shortMonths"); shortWeekdays = getStringArray(res, "shortWeekdays"); weekdays = getStringArray(res, "weekdays"); - zoneStrings = getZoneStrings(res); + runtimeZoneStrings = getZoneStrings(res, locale); dateFormats = formatsForKey(res, "DateFormat"); timeFormats = formatsForKey(res, "TimeFormat"); } /** * This method loads the format symbol information for the default - * locale. + * locale. This constructor only obtains instances using the runtime's resources; + * to also include {@link java.text.spi.DateFormatSymbolsProvider} instances, + * call {@link #getInstance()} instead. + * + * @throws MissingResourceException if the resources for the default + * locale could not be found or loaded. + * @see #getInstance() */ - public DateFormatSymbols () throws MissingResourceException + public DateFormatSymbols() + throws MissingResourceException { this (Locale.getDefault()); } @@ -274,12 +339,21 @@ public class DateFormatSymbols implements java.io.Serializable, Cloneable *
    • 3 - The long name of the time zone (daylight savings time).
    • *
    • 4 - the short name of the time zone (daylight savings time).
    • * + *

      + * If {@link #setZoneStrings(String[][])} has been called, then the value + * passed to this will be returned. Otherwise the returned array contains + * zone names provided by the runtime environment and any + * {@link java.util.spi.TimeZoneProvider} instances. + *

      * * @return The list of time zone display strings. + * @see #setZoneStrings(String[][]) */ - public String[] [] getZoneStrings () + public String[][] getZoneStrings() { - return zoneStrings; + if (zoneStrings != null) + return zoneStrings; + return runtimeZoneStrings; } /** @@ -537,4 +611,65 @@ public class DateFormatSymbols implements java.io.Serializable, Cloneable ^ hashCode(weekdays) ^ hashCode(zoneStrings)); } + + /** + * Returns a {@link DateFormatSymbols} instance for the + * default locale obtained from either the runtime itself + * or one of the installed + * {@link java.text.spi.DateFormatSymbolsProvider} instances. + * This is equivalent to calling + * getInstance(Locale.getDefault()). + * + * @return a {@link DateFormatSymbols} instance for the default + * locale. + * @since 1.6 + */ + public static final DateFormatSymbols getInstance() + { + return getInstance(Locale.getDefault()); + } + + /** + * Returns a {@link DateFormatSymbols} instance for the + * specified locale obtained from either the runtime itself + * or one of the installed + * {@link java.text.spi.DateFormatSymbolsProvider} instances. + * + * @param locale the locale for which an instance should be + * returned. + * @return a {@link DateFormatSymbols} instance for the specified + * locale. + * @throws NullPointerException if locale is + * null. + * @since 1.6 + */ + public static final DateFormatSymbols getInstance(Locale locale) + { + try + { + DateFormatSymbols syms = new DateFormatSymbols(locale); + return syms; + } + catch (MissingResourceException e) + { + /* This means runtime support for the locale + * is not available, so we check providers. */ + } + for (DateFormatSymbolsProvider p : + ServiceLoader.load(DateFormatSymbolsProvider.class)) + { + for (Locale loc : p.getAvailableLocales()) + { + if (loc.equals(locale)) + { + DateFormatSymbols syms = p.getInstance(locale); + if (syms != null) + return syms; + break; + } + } + } + return getInstance(LocaleHelper.getFallbackLocale(locale)); + } + } diff --git a/libjava/classpath/java/text/DecimalFormat.java b/libjava/classpath/java/text/DecimalFormat.java index 529e571..7febdeb 100644 --- a/libjava/classpath/java/text/DecimalFormat.java +++ b/libjava/classpath/java/text/DecimalFormat.java @@ -439,8 +439,8 @@ public class DecimalFormat extends NumberFormat FieldPosition pos = (FieldPosition) attributes.get(i); Format.Field attribute = pos.getFieldAttribute(); - as.addAttribute(attribute, attribute, pos.getBeginIndex(), pos - .getEndIndex()); + as.addAttribute(attribute, attribute, pos.getBeginIndex(), + pos.getEndIndex()); } // return the CharacterIterator from AttributedString @@ -659,6 +659,7 @@ public class DecimalFormat extends NumberFormat // correct the size of the end parsing flag int len = str.length(); if (len < stop) stop = len; + char groupingSeparator = symbols.getGroupingSeparator(); int i = start; while (i < stop) @@ -672,6 +673,7 @@ public class DecimalFormat extends NumberFormat } else if (this.parseIntegerOnly) { + i--; break; } else if (ch == decimalSeparator) @@ -688,8 +690,19 @@ public class DecimalFormat extends NumberFormat if (inExponent) number.append(ch); else - break; + { + i--; + break; + } } + else + { + if (!groupingUsed || ch != groupingSeparator) + { + i--; + break; + } + } } // 2nd special case: infinity @@ -723,25 +736,25 @@ public class DecimalFormat extends NumberFormat // now we have to check the suffix, done here after number parsing // or the index will not be updated correctly... - boolean isNegativeSuffix = str.endsWith(this.negativeSuffix); - boolean isPositiveSuffix = str.endsWith(this.positiveSuffix); + boolean hasNegativeSuffix = str.endsWith(this.negativeSuffix); + boolean hasPositiveSuffix = str.endsWith(this.positiveSuffix); boolean positiveEqualsNegative = negativeSuffix.equals(positiveSuffix); positiveLen = positiveSuffix.length(); negativeLen = negativeSuffix.length(); - if (isNegative && !isNegativeSuffix) + if (isNegative && !hasNegativeSuffix) { pos.setErrorIndex(i); return null; } - else if (isNegativeSuffix && + else if (hasNegativeSuffix && !positiveEqualsNegative && (negativeLen > positiveLen)) { isNegative = true; } - else if (!isPositiveSuffix) + else if (!hasPositiveSuffix) { pos.setErrorIndex(i); return null; @@ -749,7 +762,7 @@ public class DecimalFormat extends NumberFormat if (isNegative) number.insert(0, '-'); - pos.setIndex(i - 1); + pos.setIndex(i); // now we handle the return type BigDecimal bigDecimal = new BigDecimal(number.toString()); diff --git a/libjava/classpath/java/text/DecimalFormatSymbols.java b/libjava/classpath/java/text/DecimalFormatSymbols.java index 29d2d7e..f87ebbf 100644 --- a/libjava/classpath/java/text/DecimalFormatSymbols.java +++ b/libjava/classpath/java/text/DecimalFormatSymbols.java @@ -1,5 +1,5 @@ /* DecimalFormatSymbols.java -- Format symbols used by DecimalFormat - Copyright (C) 1999, 2000, 2001, 2004 Free Software Foundation, Inc. + Copyright (C) 1999, 2000, 2001, 2004, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -38,13 +38,19 @@ exception statement from your version. */ package java.text; +import gnu.java.locale.LocaleHelper; + import java.io.IOException; import java.io.ObjectInputStream; import java.io.Serializable; + +import java.text.spi.DecimalFormatSymbolsProvider; + import java.util.Currency; import java.util.Locale; import java.util.MissingResourceException; import java.util.ResourceBundle; +import java.util.ServiceLoader; /** * This class is a container for the symbols used by @@ -80,6 +86,11 @@ public class DecimalFormatSymbols implements Cloneable, Serializable /** * This method initializes a new instance of * DecimalFormatSymbols for the default locale. + * This constructor only obtains instances using the runtime's resources; + * to also include {@link java.text.spi.DateFormatSymbolsProvider} instances, + * call {@link #getInstance()} instead. + * + * @see #getInstance() */ public DecimalFormatSymbols () { @@ -137,18 +148,19 @@ public class DecimalFormatSymbols implements Cloneable, Serializable * international currency symbol will be set to the strings "?" * and "XXX" respectively. This generally happens with language * locales (those with no specified country), such as - * Locale.ENGLISH. + * Locale.ENGLISH. This constructor only obtains + * instances using the runtime's resources; to also include + * {@link java.text.spi.DecimalFormatSymbolsProvider} instances, + * call {@link #getInstance(java.util.Locale)} instead. * * @param loc The local to load symbols for. * @throws NullPointerException if the locale is null. + * @see #getInstance(java.util.Locale) */ public DecimalFormatSymbols (Locale loc) { ResourceBundle res; - currency = Currency.getInstance("XXX"); - currencySymbol = "?"; - intlCurrencySymbol = "XXX"; try { res = ResourceBundle.getBundle("gnu.java.locale.LocaleInformation", @@ -158,6 +170,9 @@ public class DecimalFormatSymbols implements Cloneable, Serializable { res = null; } + currency = Currency.getInstance("XXX"); + currencySymbol = "?"; + intlCurrencySymbol = "XXX"; try { Currency localeCurrency = Currency.getInstance(loc); @@ -684,4 +699,68 @@ public class DecimalFormatSymbols implements Cloneable, Serializable serialVersionOnStream = 2; } + + /** + * Returns a {@link DecimalFormatSymbols} instance for the + * default locale obtained from either the runtime itself + * or one of the installed + * {@link java.text.spi.DecimalFormatSymbolsProvider} instances. + * This is equivalent to calling + * getInstance(Locale.getDefault()). + * + * @return a {@link DecimalFormatSymbols} instance for the default + * locale. + * @since 1.6 + */ + public static final DecimalFormatSymbols getInstance() + { + return getInstance(Locale.getDefault()); + } + + /** + * Returns a {@link DecimalFormatSymbols} instance for the + * specified locale obtained from either the runtime itself + * or one of the installed + * {@link java.text.spi.DecimalFormatSymbolsProvider} instances. + * + * @param locale the locale for which an instance should be + * returned. + * @return a {@link DecimalFormatSymbols} instance for the specified + * locale. + * @throws NullPointerException if locale is + * null. + * @since 1.6 + */ + public static final DecimalFormatSymbols getInstance(Locale locale) + { + try + { + if (!locale.equals(Locale.ROOT)) + ResourceBundle.getBundle("gnu.java.locale.LocaleInformation", + locale, + ClassLoader.getSystemClassLoader()); + return new DecimalFormatSymbols(locale); + } + catch (MissingResourceException x) + { + /* This means runtime support for the locale + * is not available, so we check providers. */ + } + for (DecimalFormatSymbolsProvider p : + ServiceLoader.load(DecimalFormatSymbolsProvider.class)) + { + for (Locale loc : p.getAvailableLocales()) + { + if (loc.equals(locale)) + { + DecimalFormatSymbols syms = p.getInstance(locale); + if (syms != null) + return syms; + break; + } + } + } + return getInstance(LocaleHelper.getFallbackLocale(locale)); + } + } diff --git a/libjava/classpath/java/text/MessageFormat.java b/libjava/classpath/java/text/MessageFormat.java index 3d428ac..ab71cec 100644 --- a/libjava/classpath/java/text/MessageFormat.java +++ b/libjava/classpath/java/text/MessageFormat.java @@ -82,70 +82,72 @@ public class MessageFormat extends Format // Recompute the locale-based formatter. void setLocale (Locale loc) { - if (type == null) - ; - else if (type.equals("number")) + if (type != null) { - formatClass = java.lang.Number.class; - - if (style == null) - format = NumberFormat.getInstance(loc); - else if (style.equals("currency")) - format = NumberFormat.getCurrencyInstance(loc); - else if (style.equals("percent")) - format = NumberFormat.getPercentInstance(loc); - else if (style.equals("integer")) - { - NumberFormat nf = NumberFormat.getNumberInstance(loc); - nf.setMaximumFractionDigits(0); - nf.setGroupingUsed(false); - format = nf; - } - else - { - format = NumberFormat.getNumberInstance(loc); - DecimalFormat df = (DecimalFormat) format; - df.applyPattern(style); - } - } - else if (type.equals("time") || type.equals("date")) - { - formatClass = java.util.Date.class; - - int val = DateFormat.DEFAULT; - boolean styleIsPattern = false; - if (style == null) - ; - else if (style.equals("short")) - val = DateFormat.SHORT; - else if (style.equals("medium")) - val = DateFormat.MEDIUM; - else if (style.equals("long")) - val = DateFormat.LONG; - else if (style.equals("full")) - val = DateFormat.FULL; - else - styleIsPattern = true; - - if (type.equals("time")) - format = DateFormat.getTimeInstance(val, loc); - else - format = DateFormat.getDateInstance(val, loc); - - if (styleIsPattern) - { - SimpleDateFormat sdf = (SimpleDateFormat) format; - sdf.applyPattern(style); - } - } - else if (type.equals("choice")) - { - formatClass = java.lang.Number.class; - - if (style == null) - throw new - IllegalArgumentException ("style required for choice format"); - format = new ChoiceFormat (style); + if (type.equals("number")) + { + formatClass = java.lang.Number.class; + + if (style == null) + format = NumberFormat.getInstance(loc); + else if (style.equals("currency")) + format = NumberFormat.getCurrencyInstance(loc); + else if (style.equals("percent")) + format = NumberFormat.getPercentInstance(loc); + else if (style.equals("integer")) + { + NumberFormat nf = NumberFormat.getNumberInstance(loc); + nf.setMaximumFractionDigits(0); + nf.setGroupingUsed(false); + format = nf; + } + else + { + format = NumberFormat.getNumberInstance(loc); + DecimalFormat df = (DecimalFormat) format; + df.applyPattern(style); + } + } + else if (type.equals("time") || type.equals("date")) + { + formatClass = java.util.Date.class; + + int val = DateFormat.DEFAULT; + boolean styleIsPattern = false; + if (style != null) + { + if (style.equals("short")) + val = DateFormat.SHORT; + else if (style.equals("medium")) + val = DateFormat.MEDIUM; + else if (style.equals("long")) + val = DateFormat.LONG; + else if (style.equals("full")) + val = DateFormat.FULL; + else + styleIsPattern = true; + } + + if (type.equals("time")) + format = DateFormat.getTimeInstance(val, loc); + else + format = DateFormat.getDateInstance(val, loc); + + if (styleIsPattern) + { + SimpleDateFormat sdf = (SimpleDateFormat) format; + sdf.applyPattern(style); + } + } + else if (type.equals("choice")) + { + formatClass = java.lang.Number.class; + + if (style == null) + throw new + IllegalArgumentException ("style required for choice format"); + format = new ChoiceFormat (style); + } } } } diff --git a/libjava/classpath/java/text/NumberFormat.java b/libjava/classpath/java/text/NumberFormat.java index 1bef97f..4a72f44 100644 --- a/libjava/classpath/java/text/NumberFormat.java +++ b/libjava/classpath/java/text/NumberFormat.java @@ -1,5 +1,6 @@ /* NumberFormat.java -- Formats and parses numbers - Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004, 2007 + Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -38,14 +39,20 @@ exception statement from your version. */ package java.text; +import gnu.java.locale.LocaleHelper; + import java.io.IOException; import java.io.InvalidObjectException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; + +import java.text.spi.NumberFormatProvider; + import java.util.Currency; import java.util.Locale; import java.util.MissingResourceException; import java.util.ResourceBundle; +import java.util.ServiceLoader; /** * This is the abstract superclass of all classes which format and @@ -309,17 +316,13 @@ public abstract class NumberFormat extends Format implements Cloneable private static NumberFormat computeInstance(Locale loc, String resource, String def) + throws MissingResourceException { - ResourceBundle res; - try - { - res = ResourceBundle.getBundle("gnu.java.locale.LocaleInformation", - loc, ClassLoader.getSystemClassLoader()); - } - catch (MissingResourceException x) - { - res = null; - } + if (loc.equals(Locale.ROOT)) + return new DecimalFormat(def, DecimalFormatSymbols.getInstance(loc)); + ResourceBundle res = + ResourceBundle.getBundle("gnu.java.locale.LocaleInformation", + loc, ClassLoader.getSystemClassLoader()); String fmt; try { @@ -329,7 +332,7 @@ public abstract class NumberFormat extends Format implements Cloneable { fmt = def; } - DecimalFormatSymbols dfs = new DecimalFormatSymbols (loc); + DecimalFormatSymbols dfs = DecimalFormatSymbols.getInstance(loc); return new DecimalFormat (fmt, dfs); } @@ -352,11 +355,33 @@ public abstract class NumberFormat extends Format implements Cloneable */ public static NumberFormat getCurrencyInstance (Locale loc) { - NumberFormat format; - - format = computeInstance (loc, "currencyFormat", "\u00A4#,##0.00;(\u00A4#,##0.00)"); - format.setMaximumFractionDigits(format.getCurrency().getDefaultFractionDigits()); - return format; + try + { + NumberFormat format; + + format = computeInstance (loc, "currencyFormat", + "\u00A4#,##0.00;(\u00A4#,##0.00)"); + format.setMaximumFractionDigits(format.getCurrency().getDefaultFractionDigits()); + return format; + } + catch (MissingResourceException e) + { + for (NumberFormatProvider p : + ServiceLoader.load(NumberFormatProvider.class)) + { + for (Locale l : p.getAvailableLocales()) + { + if (l.equals(loc)) + { + NumberFormat nf = p.getCurrencyInstance(loc); + if (nf != null) + return nf; + break; + } + } + } + return getCurrencyInstance(LocaleHelper.getFallbackLocale(loc)); + } } /** @@ -456,7 +481,28 @@ public abstract class NumberFormat extends Format implements Cloneable */ public static NumberFormat getNumberInstance (Locale loc) { - return computeInstance (loc, "numberFormat", "#,##0.###"); + try + { + return computeInstance (loc, "numberFormat", "#,##0.###"); + } + catch (MissingResourceException e) + { + for (NumberFormatProvider p : + ServiceLoader.load(NumberFormatProvider.class)) + { + for (Locale l : p.getAvailableLocales()) + { + if (l.equals(loc)) + { + NumberFormat nf = p.getNumberInstance(loc); + if (nf != null) + return nf; + break; + } + } + } + return getNumberInstance(LocaleHelper.getFallbackLocale(loc)); + } } /** @@ -484,10 +530,32 @@ public abstract class NumberFormat extends Format implements Cloneable */ public static NumberFormat getIntegerInstance(Locale locale) { - NumberFormat format = computeInstance (locale, "integerFormat", "#,##0"); - format.setMaximumFractionDigits(0); - format.setParseIntegerOnly (true); - return format; + try + { + NumberFormat format = computeInstance (locale, + "integerFormat", "#,##0"); + format.setMaximumFractionDigits(0); + format.setParseIntegerOnly (true); + return format; + } + catch (MissingResourceException e) + { + for (NumberFormatProvider p : + ServiceLoader.load(NumberFormatProvider.class)) + { + for (Locale l : p.getAvailableLocales()) + { + if (l.equals(locale)) + { + NumberFormat nf = p.getIntegerInstance(locale); + if (nf != null) + return nf; + break; + } + } + } + return getIntegerInstance(LocaleHelper.getFallbackLocale(locale)); + } } /** @@ -511,7 +579,28 @@ public abstract class NumberFormat extends Format implements Cloneable */ public static NumberFormat getPercentInstance (Locale loc) { - return computeInstance (loc, "percentFormat", "#,##0%"); + try + { + return computeInstance (loc, "percentFormat", "#,##0%"); + } + catch (MissingResourceException e) + { + for (NumberFormatProvider p : + ServiceLoader.load(NumberFormatProvider.class)) + { + for (Locale l : p.getAvailableLocales()) + { + if (l.equals(loc)) + { + NumberFormat nf = p.getPercentInstance(loc); + if (nf != null) + return nf; + break; + } + } + } + return getPercentInstance(LocaleHelper.getFallbackLocale(loc)); + } } /** diff --git a/libjava/classpath/java/text/SimpleDateFormat.java b/libjava/classpath/java/text/SimpleDateFormat.java index 1e19525..f78fdcb 100644 --- a/libjava/classpath/java/text/SimpleDateFormat.java +++ b/libjava/classpath/java/text/SimpleDateFormat.java @@ -1101,11 +1101,21 @@ public class SimpleDateFormat extends DateFormat if (is_numeric) { numberFormat.setMinimumIntegerDigits(fmt_count); - if (limit_digits) - numberFormat.setMaximumIntegerDigits(fmt_count); if (maybe2DigitYear) index = pos.getIndex(); - Number n = numberFormat.parse(dateStr, pos); + Number n = null; + if (limit_digits) + { + // numberFormat.setMaximumIntegerDigits(fmt_count) may + // not work as expected. So we explicitly use substring + // of dateStr. + int origPos = pos.getIndex(); + pos.setIndex(0); + n = numberFormat.parse(dateStr.substring(origPos, origPos + fmt_count), pos); + pos.setIndex(origPos + pos.getIndex()); + } + else + n = numberFormat.parse(dateStr, pos); if (pos == null || ! (n instanceof Long)) return null; value = n.intValue() + offset; diff --git a/libjava/classpath/java/text/class-dependencies.conf b/libjava/classpath/java/text/class-dependencies.conf deleted file mode 100644 index 011b146..0000000 --- a/libjava/classpath/java/text/class-dependencies.conf +++ /dev/null @@ -1,220 +0,0 @@ -# This property file contains dependencies of classes, methods, and -# field on other methods or classes. -# -# Syntax: -# -# : [... ] -# -# means that when is included, (... ) must -# be included as well. -# -# and are of the form -# -# -# -# or just -# -# -# -# Within dependencies, variables can be used. A variable is defined as -# follows: -# -# {variable}: value1 value2 ... value -# -# variables can be used on the right side of dependencies as follows: -# -# : com.bla.blu.{variable}.Class.m()V -# -# The use of the variable will expand to dependencies of the form -# -# : com.bla.blu.value1.Class.m()V -# : com.bla.blu.value2.Class.m()V -# ... -# : com.bla.blu.value.Class.m()V -# -# Variables can be redefined when building a system to select the -# required support for features like encodings, protocols, etc. -# -# Hints: -# -# - For methods and fields, the signature is mandatory. For -# specification, please see the Java Virtual Machine Specification by -# SUN. Unlike in the spec, field signatures (types) are in brackets. -# -# - Package names must be separated by '/' (and not '.'). E.g., -# java/lang/Class (this is necessary, because the '.' is used to -# separate method or field names from classes) -# -# - In case refers to a class, only the class itself will be -# included in the resulting binary, NOT necessarily all its methods -# and fields. If you want to refer to all methods and fields, you can -# write class.* as an abbreviation. -# -# - Abbreviations for packages are also possible: my/package/* means all -# methods and fields of all classes in my/package. -# -# - A line with a trailing '\' continues in the next line. - -# end of file - -# All locales supported are loaded via classes from java.text (see below) -# from class gnu/java/locale/LocaleInformation_ -# -# This introduces a dependency for all locales. To allow an easy selection -# and addition of locales, the library variable {text_locales} can be set to -# the set of supported locales. -# - -{text_locales}: \ - af_ZA \ - ar_AE \ - ar_BH \ - ar_DZ \ - ar_EG \ - ar_IN \ - ar_IQ \ - ar_JO \ - ar_KW \ - ar_LB \ - ar_LY \ - ar_MA \ - ar_OM \ - ar_QA \ - ar_SD \ - ar_SY \ - ar_TN \ - ar_YE \ - be_BY \ - bn_IN \ - br_FR \ - bs_BA \ - ca_ES \ - cs_CZ \ - cy_GB \ - da_DK \ - de \ - de_AT \ - de_BE \ - de_CH \ - de_DE \ - de_LU \ - el_GR \ - en \ - en_AU \ - en_BW \ - en_CA \ - en_DK \ - en_GB \ - en_HK \ - en_IE \ - en_IN \ - en_NZ \ - en_PH \ - en_SG \ - en_US \ - en_ZA \ - en_ZW \ - es_AR \ - es_BO \ - es_CL \ - es_CO \ - es_CR \ - es_DO \ - es_EC \ - es_ES \ - es_GT \ - es_HN \ - es_MX \ - es_NI \ - es_PA \ - es_PE \ - es_PR \ - es_PY \ - es_SV \ - es_US \ - es_UY \ - es_VE \ - et_EE \ - eu_ES \ - fa_IR \ - fi_FI \ - fo_FO \ - fr_BE \ - fr_CA \ - fr_CH \ - fr_FR \ - fr_LU \ - ga_IE \ - gd_GB \ - gl_ES \ - gv_GB \ - he_IL \ - hi_IN \ - hr_HR \ - hu_HU \ - id_ID \ - it_CH \ - it_IT \ - iw_IL \ - ja_JP \ - ka_GE \ - kl_GL \ - ko_KR \ - kw_GB \ - lt_LT \ - lv_LV \ - mi_NZ \ - mk_MK \ - mr_IN \ - mt_MT \ - nl \ - nl_BE \ - nl_NL \ - nn_NO \ - no_NO \ - oc_FR \ - pl_PL \ - pt_BR \ - pt_PT \ - ro_RO \ - ru_RU \ - ru_UA \ - se_NO \ - sk_SK \ - sl_SI \ - sq_AL \ - sr_YU \ - sv_FI \ - sv_SE \ - ta_IN \ - te_IN \ - tg_TJ \ - tl_PH \ - tr_TR \ - uk_UA \ - ur_PK \ - uz_UZ \ - vi_VN \ - yi_US \ - zh_CN \ - zh_HK \ - zh_SG \ - zh_TW - -java/text/Collator.getInstance(Ljava/util/Locale;)Ljava/text/Collator;: \ - gnu/java/locale/LocaleInformation_{text_locales}.* - -java/text/DateFormatSymbols.(Ljava/util/Locale;)V: \ - gnu/java/locale/LocaleInformation_{text_locales}.* - -java/text/DecimalFormatSymbols.(Ljava/util/Locale;)V: \ - gnu/java/locale/LocaleInformation_{text_locales}.* - -java/text/BreakIterator.getInstance(Ljava/lang/String;Ljava/util/Locale;)Ljava/text/BreakIterator;: \ - gnu/java/locale/LocaleInformation_{text_locales}.* - -java/text/NumberFormat.computeInstance(Ljava/util/Locale;Ljava/lang/String;Ljava/lang/String;)Ljava/text/NumberFormat;: \ - gnu/java/locale/LocaleInformation_{text_locales}.* - -java/text/DateFormat.computeInstance(IILjava/util/Locale;ZZ)Ljava/text/DateFormat;: \ - gnu/java/locale/LocaleInformation_{text_locales}.* diff --git a/libjava/classpath/java/text/spi/BreakIteratorProvider.java b/libjava/classpath/java/text/spi/BreakIteratorProvider.java new file mode 100644 index 0000000..7e5e056 --- /dev/null +++ b/libjava/classpath/java/text/spi/BreakIteratorProvider.java @@ -0,0 +1,124 @@ +/* BreakIteratorProvider.java -- Providers of localized instances + Copyright (C) 2007 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.text.spi; + +import java.text.BreakIterator; + +import java.util.Locale; + +import java.util.spi.LocaleServiceProvider; + +/** + * A {@link BreakIteratorProvider} provides localized + * instances of {@link java.text.BreakIterator}. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.6 + */ +public abstract class BreakIteratorProvider + extends LocaleServiceProvider +{ + + /** + * Constructs a new {@link BreakIteratorProvider}. + * Provided for implicit invocation by subclasses. + */ + protected BreakIteratorProvider() + { + } + + /** + * Returns a {@link java.text.BreakIterator} instance + * for character breaks in the specified + * {@link java.util.Locale}. + * + * @param locale the desired locale. + * @return the localized instance for character breaks. + * @throws NullPointerException if the locale is null. + * @throws IllegalArgumentException if the locale is not one + * returned by + * {@link getAvailableLocales()} + * @see java.text.BreakIterator#getCharacterInstance(java.util.Locale) + */ + public abstract BreakIterator getCharacterInstance(Locale locale); + + /** + * Returns a {@link java.text.BreakIterator} instance + * for line breaks in the specified {@link java.util.Locale}. + * + * @param locale the desired locale. + * @return the localized instance for line breaks. + * @throws NullPointerException if the locale is null. + * @throws IllegalArgumentException if the locale is not one + * returned by + * {@link getAvailableLocales()} + * @see java.text.BreakIterator#getLineInstance(java.util.Locale) + */ + public abstract BreakIterator getLineInstance(Locale locale); + + /** + * Returns a {@link java.text.BreakIterator} instance + * for sentence breaks in the specified + * {@link java.util.Locale}. + * + * @param locale the desired locale. + * @return the localized instance for sentence breaks. + * @throws NullPointerException if the locale is null. + * @throws IllegalArgumentException if the locale is not one + * returned by + * {@link getAvailableLocales()} + * @see java.text.BreakIterator#getSentenceInstance(java.util.Locale) + */ + public abstract BreakIterator getSentenceInstance(Locale locale); + + /** + * Returns a {@link java.text.BreakIterator} instance + * for word breaks in the specified + * {@link java.util.Locale}. + * + * @param locale the desired locale. + * @return the localized instance for word breaks. + * @throws NullPointerException if the locale is null. + * @throws IllegalArgumentException if the locale is not one + * returned by + * {@link getAvailableLocales()} + * @see java.text.BreakIterator#getWordInstance(java.util.Locale) + */ + public abstract BreakIterator getWordInstance(Locale locale); + +} diff --git a/libjava/classpath/java/text/spi/CollatorProvider.java b/libjava/classpath/java/text/spi/CollatorProvider.java new file mode 100644 index 0000000..6d6f409 --- /dev/null +++ b/libjava/classpath/java/text/spi/CollatorProvider.java @@ -0,0 +1,79 @@ +/* CollatorProvider.java -- Providers of localized instances + Copyright (C) 2007 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.text.spi; + +import java.text.Collator; + +import java.util.Locale; + +import java.util.spi.LocaleServiceProvider; + +/** + * A {@link CollatorProvider} provides localized + * instances of {@link java.text.Collator}. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.6 + */ +public abstract class CollatorProvider + extends LocaleServiceProvider +{ + + /** + * Constructs a new {@link CollatorProvider}. + * Provided for implicit invocation by subclasses. + */ + protected CollatorProvider() + { + } + + /** + * Returns a {@link java.text.Collator} instance + * for the specified {@link java.util.Locale}. + * + * @param locale the desired locale. + * @return the localized instance. + * @throws NullPointerException if the locale is null. + * @throws IllegalArgumentException if the locale is not one + * returned by + * {@link getAvailableLocales()} + * @see java.text.Collator#getInstance(java.util.Locale) + */ + public abstract Collator getInstance(Locale locale); + +} diff --git a/libjava/classpath/java/text/spi/DateFormatProvider.java b/libjava/classpath/java/text/spi/DateFormatProvider.java new file mode 100644 index 0000000..43d54a0 --- /dev/null +++ b/libjava/classpath/java/text/spi/DateFormatProvider.java @@ -0,0 +1,129 @@ +/* DateFormatProvider.java -- Providers of localized instances + Copyright (C) 2007 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.text.spi; + +import java.text.DateFormat; + +import java.util.Locale; + +import java.util.spi.LocaleServiceProvider; + +/** + * A {@link DateFormatProvider} provides localized + * instances of {@link java.text.DateFormat}. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.6 + */ +public abstract class DateFormatProvider + extends LocaleServiceProvider +{ + + /** + * Constructs a new {@link DateFormatProvider}. + * Provided for implicit invocation by subclasses. + */ + protected DateFormatProvider() + { + } + + /** + * Returns a {@link java.text.DateFormat} instance + * for formatting dates with the given style in the specified + * {@link java.util.Locale}. + * + * @param style the formatting style; one of {@link DateFormat#SHORT}, + * {@link DateFormat#MEDIUM}, {@link DateFormat#LONG} + * or {@link DateFormat#FULL}. + * @param locale the desired locale. + * @return the localized instance for formatting dates. + * @throws NullPointerException if the locale is null. + * @throws IllegalArgumentException if the style is invalid or + * the locale is not one + * returned by + * {@link getAvailableLocales()} + * @see java.text.DateFormat#getDateInstance(int,java.util.Locale) + */ + public abstract DateFormat getDateInstance(int style, + Locale locale); + + /** + * Returns a {@link java.text.DateFormat} instance + * for formatting dates and times with the given style in the + * specified {@link java.util.Locale}. + * + * @param dateStyle the date formatting style; one of + * {@link DateFormat#SHORT}, {@link DateFormat#MEDIUM}, + * {@link DateFormat#LONG} or {@link DateFormat#FULL}. + * @param timeStyle the time formatting style; one of + * {@link DateFormat#SHORT}, {@link DateFormat#MEDIUM}, + * {@link DateFormat#LONG} or {@link DateFormat#FULL}. + * @param locale the desired locale. + * @return the localized instance for formatting dates. + * @throws NullPointerException if the locale is null. + * @throws IllegalArgumentException if either style is invalid or + * the locale is not one + * returned by + * {@link getAvailableLocales()} + * @see java.text.DateFormat#getDateInstance(java.util.Locale) + */ + public abstract DateFormat getDateTimeInstance(int dateStyle, + int timeStyle, + Locale locale); + + /** + * Returns a {@link java.text.DateFormat} instance + * for formatting times with the given style in the specified + * {@link java.util.Locale}. + * + * @param style the formatting style; one of {@link DateFormat#SHORT}, + * {@link DateFormat#MEDIUM}, {@link DateFormat#LONG} + * or {@link DateFormat#FULL}. + * @param locale the desired locale. + * @return the localized instance for formatting times. + * @throws NullPointerException if the locale is null. + * @throws IllegalArgumentException if the style is invalid or + * the locale is not one + * returned by + * {@link getAvailableLocales()} + * @see java.text.DateFormat#getTimeInstance(int,java.util.Locale) + */ + public abstract DateFormat getTimeInstance(int style, + Locale locale); + +} diff --git a/libjava/classpath/java/text/spi/DateFormatSymbolsProvider.java b/libjava/classpath/java/text/spi/DateFormatSymbolsProvider.java new file mode 100644 index 0000000..a0e9759 --- /dev/null +++ b/libjava/classpath/java/text/spi/DateFormatSymbolsProvider.java @@ -0,0 +1,79 @@ +/* DateFormatSymbolsProvider.java -- Providers of localized instances + Copyright (C) 2007 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.text.spi; + +import java.text.DateFormatSymbols; + +import java.util.Locale; + +import java.util.spi.LocaleServiceProvider; + +/** + * A {@link DateFormatSymbolsProvider} provides localized + * instances of {@link java.text.DateFormatSymbols}. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.6 + */ +public abstract class DateFormatSymbolsProvider + extends LocaleServiceProvider +{ + + /** + * Constructs a new {@link DateFormatSymbolsProvider}. + * Provided for implicit invocation by subclasses. + */ + protected DateFormatSymbolsProvider() + { + } + + /** + * Returns a {@link java.text.DateFormatSymbols} instance + * for the specified {@link java.util.Locale}. + * + * @param locale the locale to express the symbols in. + * @return the localized instance. + * @throws NullPointerException if the locale is null. + * @throws IllegalArgumentException if the locale is not one + * returned by + * {@link getAvailableLocales()} + * @see java.text.DateFormatSymbols#getInstance(java.util.Locale) + */ + public abstract DateFormatSymbols getInstance(Locale locale); + +} diff --git a/libjava/classpath/java/text/spi/DecimalFormatSymbolsProvider.java b/libjava/classpath/java/text/spi/DecimalFormatSymbolsProvider.java new file mode 100644 index 0000000..d772b1e --- /dev/null +++ b/libjava/classpath/java/text/spi/DecimalFormatSymbolsProvider.java @@ -0,0 +1,79 @@ +/* DecimalFormatSymbolsProvider.java -- Providers of localized instances + Copyright (C) 2007 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.text.spi; + +import java.text.DecimalFormatSymbols; + +import java.util.Locale; + +import java.util.spi.LocaleServiceProvider; + +/** + * A {@link DecimalFormatSymbolsProvider} provides localized + * instances of {@link java.text.DecimalFormatSymbols}. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.6 + */ +public abstract class DecimalFormatSymbolsProvider + extends LocaleServiceProvider +{ + + /** + * Constructs a new {@link DecimalFormatSymbolsProvider}. + * Provided for implicit invocation by subclasses. + */ + protected DecimalFormatSymbolsProvider() + { + } + + /** + * Returns a {@link java.text.DecimalFormatSymbols} instance + * for the specified {@link java.util.Locale}. + * + * @param locale the locale to express the symbols in. + * @return the localized instance. + * @throws NullPointerException if the locale is null. + * @throws IllegalArgumentException if the locale is not one + * returned by + * {@link getAvailableLocales()} + * @see java.text.DecimalFormatSymbols#getInstance(java.util.Locale) + */ + public abstract DecimalFormatSymbols getInstance(Locale locale); + +} diff --git a/libjava/classpath/java/text/spi/NumberFormatProvider.java b/libjava/classpath/java/text/spi/NumberFormatProvider.java new file mode 100644 index 0000000..2a25270 --- /dev/null +++ b/libjava/classpath/java/text/spi/NumberFormatProvider.java @@ -0,0 +1,129 @@ +/* NumberFormatProvider.java -- Providers of localized instances + Copyright (C) 2007 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.text.spi; + +import java.text.NumberFormat; + +import java.util.Locale; + +import java.util.spi.LocaleServiceProvider; + +/** + * A {@link NumberFormatProvider} provides localized + * instances of {@link java.text.NumberFormat}. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.6 + */ +public abstract class NumberFormatProvider + extends LocaleServiceProvider +{ + + /** + * Constructs a new {@link NumberFormatProvider}. + * Provided for implicit invocation by subclasses. + */ + protected NumberFormatProvider() + { + } + + /** + * Returns a {@link java.text.NumberFormat} instance + * for monetary values in the specified + * {@link java.util.Locale}. + * + * @param locale the desired locale. + * @return the localized instance for monetary values. + * @throws NullPointerException if the locale is null. + * @throws IllegalArgumentException if the locale is not one + * returned by + * {@link getAvailableLocales()} + * @see java.text.NumberFormat#getCurrencyInstance(java.util.Locale) + */ + public abstract NumberFormat getCurrencyInstance(Locale locale); + + /** + * Returns a {@link java.text.NumberFormat} instance + * for integers in the specified {@link java.util.Locale}. + * The returned instance should be configured to round + * floating point numbers to the nearest integer using + * {@link java.math.RoundingMode#HALF_EVEN} rounding, + * and to parse only the integer part of a number. + * + * @param locale the desired locale. + * @return the localized instance for integers. + * @throws NullPointerException if the locale is null. + * @throws IllegalArgumentException if the locale is not one + * returned by + * {@link getAvailableLocales()} + * @see java.text.NumberFormat#getIntegerInstance(java.util.Locale) + * @see java.math.RoundingMode#HALF_EVEN + * @see java.text.NumberFormat#isParseIntegerOnly() + */ + public abstract NumberFormat getIntegerInstance(Locale locale); + + /** + * Returns a general-purpose {@link java.text.NumberFormat} + * instance in the specified {@link java.util.Locale}. + * + * @param locale the desired locale. + * @return a general-purpose localized instance. + * @throws NullPointerException if the locale is null. + * @throws IllegalArgumentException if the locale is not one + * returned by + * {@link getAvailableLocales()} + * @see java.text.NumberFormat#getNumberInstance(java.util.Locale) + */ + public abstract NumberFormat getNumberInstance(Locale locale); + + /** + * Returns a {@link java.text.NumberFormat} instance + * for percentage values in the specified + * {@link java.util.Locale}. + * + * @param locale the desired locale. + * @return the localized instance for percentage values. + * @throws NullPointerException if the locale is null. + * @throws IllegalArgumentException if the locale is not one + * returned by + * {@link getAvailableLocales()} + * @see java.text.NumberFormat#getPercentInstance(java.util.Locale) + */ + public abstract NumberFormat getPercentInstance(Locale locale); + +} diff --git a/libjava/classpath/java/text/spi/package.html b/libjava/classpath/java/text/spi/package.html new file mode 100644 index 0000000..7f5232c --- /dev/null +++ b/libjava/classpath/java/text/spi/package.html @@ -0,0 +1,50 @@ + + + + +GNU Classpath - java.text.spi + + + +

      +A series of service provider interfaces for use by the +classes in java.text. +

      +

      Since: 1.6

      + + diff --git a/libjava/classpath/java/util/AbstractMap.java b/libjava/classpath/java/util/AbstractMap.java index 29249e1..2f58121 100644 --- a/libjava/classpath/java/util/AbstractMap.java +++ b/libjava/classpath/java/util/AbstractMap.java @@ -69,10 +69,23 @@ import java.io.Serializable; */ public abstract class AbstractMap implements Map { - /** @since 1.6 */ + /** + * A class containing an immutable key and value. The + * implementation of {@link Entry#setValue(V)} for this class + * simply throws an {@link UnsupportedOperationException}, + * thus preventing changes being made. This is useful when + * a static thread-safe view of a map is required. + * + * @since 1.6 + */ public static class SimpleImmutableEntry implements Entry, Serializable { + /** + * Compatible with JDK 1.6 + */ + private static final long serialVersionUID = 7138329143949025153L; + K key; V value; @@ -670,6 +683,12 @@ public abstract class AbstractMap implements Map */ public static class SimpleEntry implements Entry, Serializable { + + /** + * Compatible with JDK 1.6 + */ + private static final long serialVersionUID = -8499721149061103585L; + /** * The key. Package visible for direct manipulation. */ @@ -730,7 +749,7 @@ public abstract class AbstractMap implements Map * * @return the key */ - public final K getKey() + public K getKey() { return key; } @@ -741,7 +760,7 @@ public abstract class AbstractMap implements Map * * @return the value */ - public final V getValue() + public V getValue() { return value; } @@ -755,7 +774,7 @@ public abstract class AbstractMap implements Map * * @return the hash code */ - public final int hashCode() + public int hashCode() { return (AbstractMap.hashCode(key) ^ AbstractMap.hashCode(value)); } @@ -788,7 +807,7 @@ public abstract class AbstractMap implements Map * * @return the string representation */ - public final String toString() + public String toString() { return key + "=" + value; } diff --git a/libjava/classpath/java/util/Arrays.java b/libjava/classpath/java/util/Arrays.java index 41e8045..9443ced 100644 --- a/libjava/classpath/java/util/Arrays.java +++ b/libjava/classpath/java/util/Arrays.java @@ -92,8 +92,38 @@ public class Arrays */ public static int binarySearch(byte[] a, byte key) { - int low = 0; - int hi = a.length - 1; + if (a.length == 0) + return -1; + return binarySearch(a, 0, a.length - 1, key); + } + + /** + * Perform a binary search of a range of a byte array for a key. The range + * must be sorted (as by the sort(byte[], int, int) method) - + * if it is not, the behaviour of this method is undefined, and may be an + * infinite loop. If the array contains the key more than once, any one of + * them may be found. Note: although the specification allows for an infinite + * loop if the array is unsorted, it will not happen in this implementation. + * + * @param a the array to search (must be sorted) + * @param low the lowest index to search from. + * @param hi the highest index to search to. + * @param key the value to search for + * @return the index at which the key was found, or -n-1 if it was not + * found, where n is the index of the first value higher than key or + * a.length if there is no such value. + * @throws IllegalArgumentException if low > hi + * @throws ArrayIndexOutOfBoundsException if low < 0 or + * hi > a.length. + */ + public static int binarySearch(byte[] a, int low, int hi, byte key) + { + if (low > hi) + throw new IllegalArgumentException("The start index is higher than " + + "the finish index."); + if (low < 0 || hi > a.length) + throw new ArrayIndexOutOfBoundsException("One of the indices is out " + + "of bounds."); int mid = 0; while (low <= hi) { @@ -126,8 +156,38 @@ public class Arrays */ public static int binarySearch(char[] a, char key) { - int low = 0; - int hi = a.length - 1; + if (a.length == 0) + return -1; + return binarySearch(a, 0, a.length - 1, key); + } + + /** + * Perform a binary search of a range of a char array for a key. The range + * must be sorted (as by the sort(char[], int, int) method) - + * if it is not, the behaviour of this method is undefined, and may be an + * infinite loop. If the array contains the key more than once, any one of + * them may be found. Note: although the specification allows for an infinite + * loop if the array is unsorted, it will not happen in this implementation. + * + * @param a the array to search (must be sorted) + * @param low the lowest index to search from. + * @param hi the highest index to search to. + * @param key the value to search for + * @return the index at which the key was found, or -n-1 if it was not + * found, where n is the index of the first value higher than key or + * a.length if there is no such value. + * @throws IllegalArgumentException if low > hi + * @throws ArrayIndexOutOfBoundsException if low < 0 or + * hi > a.length. + */ + public static int binarySearch(char[] a, int low, int hi, char key) + { + if (low > hi) + throw new IllegalArgumentException("The start index is higher than " + + "the finish index."); + if (low < 0 || hi > a.length) + throw new ArrayIndexOutOfBoundsException("One of the indices is out " + + "of bounds."); int mid = 0; while (low <= hi) { @@ -160,8 +220,38 @@ public class Arrays */ public static int binarySearch(short[] a, short key) { - int low = 0; - int hi = a.length - 1; + if (a.length == 0) + return -1; + return binarySearch(a, 0, a.length - 1, key); + } + + /** + * Perform a binary search of a range of a short array for a key. The range + * must be sorted (as by the sort(short[], int, int) method) - + * if it is not, the behaviour of this method is undefined, and may be an + * infinite loop. If the array contains the key more than once, any one of + * them may be found. Note: although the specification allows for an infinite + * loop if the array is unsorted, it will not happen in this implementation. + * + * @param a the array to search (must be sorted) + * @param low the lowest index to search from. + * @param hi the highest index to search to. + * @param key the value to search for + * @return the index at which the key was found, or -n-1 if it was not + * found, where n is the index of the first value higher than key or + * a.length if there is no such value. + * @throws IllegalArgumentException if low > hi + * @throws ArrayIndexOutOfBoundsException if low < 0 or + * hi > a.length. + */ + public static int binarySearch(short[] a, int low, int hi, short key) + { + if (low > hi) + throw new IllegalArgumentException("The start index is higher than " + + "the finish index."); + if (low < 0 || hi > a.length) + throw new ArrayIndexOutOfBoundsException("One of the indices is out " + + "of bounds."); int mid = 0; while (low <= hi) { @@ -194,8 +284,38 @@ public class Arrays */ public static int binarySearch(int[] a, int key) { - int low = 0; - int hi = a.length - 1; + if (a.length == 0) + return -1; + return binarySearch(a, 0, a.length - 1, key); + } + + /** + * Perform a binary search of a range of an integer array for a key. The range + * must be sorted (as by the sort(int[], int, int) method) - + * if it is not, the behaviour of this method is undefined, and may be an + * infinite loop. If the array contains the key more than once, any one of + * them may be found. Note: although the specification allows for an infinite + * loop if the array is unsorted, it will not happen in this implementation. + * + * @param a the array to search (must be sorted) + * @param low the lowest index to search from. + * @param hi the highest index to search to. + * @param key the value to search for + * @return the index at which the key was found, or -n-1 if it was not + * found, where n is the index of the first value higher than key or + * a.length if there is no such value. + * @throws IllegalArgumentException if low > hi + * @throws ArrayIndexOutOfBoundsException if low < 0 or + * hi > a.length. + */ + public static int binarySearch(int[] a, int low, int hi, int key) + { + if (low > hi) + throw new IllegalArgumentException("The start index is higher than " + + "the finish index."); + if (low < 0 || hi > a.length) + throw new ArrayIndexOutOfBoundsException("One of the indices is out " + + "of bounds."); int mid = 0; while (low <= hi) { @@ -228,8 +348,38 @@ public class Arrays */ public static int binarySearch(long[] a, long key) { - int low = 0; - int hi = a.length - 1; + if (a.length == 0) + return -1; + return binarySearch(a, 0, a.length - 1, key); + } + + /** + * Perform a binary search of a range of a long array for a key. The range + * must be sorted (as by the sort(long[], int, int) method) - + * if it is not, the behaviour of this method is undefined, and may be an + * infinite loop. If the array contains the key more than once, any one of + * them may be found. Note: although the specification allows for an infinite + * loop if the array is unsorted, it will not happen in this implementation. + * + * @param a the array to search (must be sorted) + * @param low the lowest index to search from. + * @param hi the highest index to search to. + * @param key the value to search for + * @return the index at which the key was found, or -n-1 if it was not + * found, where n is the index of the first value higher than key or + * a.length if there is no such value. + * @throws IllegalArgumentException if low > hi + * @throws ArrayIndexOutOfBoundsException if low < 0 or + * hi > a.length. + */ + public static int binarySearch(long[] a, int low, int hi, long key) + { + if (low > hi) + throw new IllegalArgumentException("The start index is higher than " + + "the finish index."); + if (low < 0 || hi > a.length) + throw new ArrayIndexOutOfBoundsException("One of the indices is out " + + "of bounds."); int mid = 0; while (low <= hi) { @@ -262,9 +412,39 @@ public class Arrays */ public static int binarySearch(float[] a, float key) { + if (a.length == 0) + return -1; + return binarySearch(a, 0, a.length - 1, key); + } + + /** + * Perform a binary search of a range of a float array for a key. The range + * must be sorted (as by the sort(float[], int, int) method) - + * if it is not, the behaviour of this method is undefined, and may be an + * infinite loop. If the array contains the key more than once, any one of + * them may be found. Note: although the specification allows for an infinite + * loop if the array is unsorted, it will not happen in this implementation. + * + * @param a the array to search (must be sorted) + * @param low the lowest index to search from. + * @param hi the highest index to search to. + * @param key the value to search for + * @return the index at which the key was found, or -n-1 if it was not + * found, where n is the index of the first value higher than key or + * a.length if there is no such value. + * @throws IllegalArgumentException if low > hi + * @throws ArrayIndexOutOfBoundsException if low < 0 or + * hi > a.length. + */ + public static int binarySearch(float[] a, int low, int hi, float key) + { + if (low > hi) + throw new IllegalArgumentException("The start index is higher than " + + "the finish index."); + if (low < 0 || hi > a.length) + throw new ArrayIndexOutOfBoundsException("One of the indices is out " + + "of bounds."); // Must use Float.compare to take into account NaN, +-0. - int low = 0; - int hi = a.length - 1; int mid = 0; while (low <= hi) { @@ -297,9 +477,39 @@ public class Arrays */ public static int binarySearch(double[] a, double key) { + if (a.length == 0) + return -1; + return binarySearch(a, 0, a.length - 1, key); + } + + /** + * Perform a binary search of a range of a double array for a key. The range + * must be sorted (as by the sort(double[], int, int) method) - + * if it is not, the behaviour of this method is undefined, and may be an + * infinite loop. If the array contains the key more than once, any one of + * them may be found. Note: although the specification allows for an infinite + * loop if the array is unsorted, it will not happen in this implementation. + * + * @param a the array to search (must be sorted) + * @param low the lowest index to search from. + * @param hi the highest index to search to. + * @param key the value to search for + * @return the index at which the key was found, or -n-1 if it was not + * found, where n is the index of the first value higher than key or + * a.length if there is no such value. + * @throws IllegalArgumentException if low > hi + * @throws ArrayIndexOutOfBoundsException if low < 0 or + * hi > a.length. + */ + public static int binarySearch(double[] a, int low, int hi, double key) + { + if (low > hi) + throw new IllegalArgumentException("The start index is higher than " + + "the finish index."); + if (low < 0 || hi > a.length) + throw new ArrayIndexOutOfBoundsException("One of the indices is out " + + "of bounds."); // Must use Double.compare to take into account NaN, +-0. - int low = 0; - int hi = a.length - 1; int mid = 0; while (low <= hi) { @@ -337,10 +547,33 @@ public class Arrays */ public static int binarySearch(Object[] a, Object key) { + if (a.length == 0) + return -1; return binarySearch(a, key, null); } /** + * Perform a binary search of a range of an Object array for a key. The range + * must be sorted (as by the sort(Object[], int, int) method) - + * if it is not, the behaviour of this method is undefined, and may be an + * infinite loop. If the array contains the key more than once, any one of + * them may be found. Note: although the specification allows for an infinite + * loop if the array is unsorted, it will not happen in this implementation. + * + * @param a the array to search (must be sorted) + * @param low the lowest index to search from. + * @param hi the highest index to search to. + * @param key the value to search for + * @return the index at which the key was found, or -n-1 if it was not + * found, where n is the index of the first value higher than key or + * a.length if there is no such value. + */ + public static int binarySearch(Object[] a, int low, int hi, Object key) + { + return binarySearch(a, low, hi, key, null); + } + + /** * Perform a binary search of an Object array for a key, using a supplied * Comparator. The array must be sorted (as by the sort() method with the * same Comparator) - if it is not, the behaviour of this method is @@ -364,8 +597,44 @@ public class Arrays */ public static int binarySearch(T[] a, T key, Comparator c) { - int low = 0; - int hi = a.length - 1; + if (a.length == 0) + return -1; + return binarySearch(a, 0, a.length - 1, key, c); + } + + /** + * Perform a binary search of a range of an Object array for a key using + * a {@link Comparator}. The range must be sorted (as by the + * sort(Object[], int, int) method) - if it is not, the + * behaviour of this method is undefined, and may be an infinite loop. If + * the array contains the key more than once, any one of them may be found. + * Note: although the specification allows for an infinite loop if the array + * is unsorted, it will not happen in this implementation. + * + * @param a the array to search (must be sorted) + * @param low the lowest index to search from. + * @param hi the highest index to search to. + * @param key the value to search for + * @param c the comparator by which the array is sorted; or null to + * use the elements' natural order + * @return the index at which the key was found, or -n-1 if it was not + * found, where n is the index of the first value higher than key or + * a.length if there is no such value. + * @throws ClassCastException if key could not be compared with one of the + * elements of a + * @throws IllegalArgumentException if low > hi + * @throws ArrayIndexOutOfBoundsException if low < 0 or + * hi > a.length. + */ + public static int binarySearch(T[] a, int low, int hi, T key, + Comparator c) + { + if (low > hi) + throw new IllegalArgumentException("The start index is higher than " + + "the finish index."); + if (low < 0 || hi > a.length) + throw new ArrayIndexOutOfBoundsException("One of the indices is out " + + "of bounds."); int mid = 0; while (low <= hi) { @@ -3062,4 +3331,701 @@ public class Arrays return array; } } + + /** + * Returns a copy of the supplied array, truncating or padding as + * necessary with false to obtain the specified length. + * Indices that are valid for both arrays will return the same value. + * Indices that only exist in the returned array (due to the new length + * being greater than the original length) will return false. + * This is equivalent to calling + * copyOfRange(original, 0, newLength). + * + * @param original the original array to be copied. + * @param newLength the length of the returned array. + * @return a copy of the original array, truncated or padded with + * false to obtain the required length. + * @throws NegativeArraySizeException if newLength is negative. + * @throws NullPointerException if original is null. + * @since 1.6 + * @see #copyOfRange(boolean[],int,int) + */ + public static boolean[] copyOf(boolean[] original, int newLength) + { + if (newLength < 0) + throw new NegativeArraySizeException("The array size is negative."); + return copyOfRange(original, 0, newLength); + } + + /** + * Copies the specified range of the supplied array to a new + * array, padding as necessary with false + * if to is greater than the length of the original + * array. from must be in the range zero to + * original.length and can not be greater than + * to. The initial element of the + * returned array will be equal to original[from], + * except where from is equal to to + * (where a zero-length array will be returned) or + * from is equal to original.length + * (where an array padded with false will be + * returned). The returned array is always of length + * to - from. + * + * @param original the array from which to copy. + * @param from the initial index of the range, inclusive. + * @param to the final index of the range, exclusive. + * @return a copy of the specified range, with padding to + * obtain the required length. + * @throws ArrayIndexOutOfBoundsException if from < 0 + * or from > original.length + * @throws IllegalArgumentException if from > to + * @throws NullPointerException if original is null. + * @since 1.6 + * @see #copyOf(boolean[],int) + */ + public static boolean[] copyOfRange(boolean[] original, int from, int to) + { + if (from > to) + throw new IllegalArgumentException("The initial index is after " + + "the final index."); + boolean[] newArray = new boolean[to - from]; + if (to > original.length) + { + System.arraycopy(original, from, newArray, 0, + original.length - from); + fill(newArray, original.length, newArray.length, false); + } + else + System.arraycopy(original, from, newArray, 0, to - from); + return newArray; + } + + /** + * Returns a copy of the supplied array, truncating or padding as + * necessary with (byte)0 to obtain the specified length. + * Indices that are valid for both arrays will return the same value. + * Indices that only exist in the returned array (due to the new length + * being greater than the original length) will return (byte)0. + * This is equivalent to calling + * copyOfRange(original, 0, newLength). + * + * @param original the original array to be copied. + * @param newLength the length of the returned array. + * @return a copy of the original array, truncated or padded with + * (byte)0 to obtain the required length. + * @throws NegativeArraySizeException if newLength is negative. + * @throws NullPointerException if original is null. + * @since 1.6 + * @see #copyOfRange(byte[],int,int) + */ + public static byte[] copyOf(byte[] original, int newLength) + { + if (newLength < 0) + throw new NegativeArraySizeException("The array size is negative."); + return copyOfRange(original, 0, newLength); + } + + /** + * Copies the specified range of the supplied array to a new + * array, padding as necessary with (byte)0 + * if to is greater than the length of the original + * array. from must be in the range zero to + * original.length and can not be greater than + * to. The initial element of the + * returned array will be equal to original[from], + * except where from is equal to to + * (where a zero-length array will be returned) or + * from is equal to original.length + * (where an array padded with (byte)0 will be + * returned). The returned array is always of length + * to - from. + * + * @param original the array from which to copy. + * @param from the initial index of the range, inclusive. + * @param to the final index of the range, exclusive. + * @return a copy of the specified range, with padding to + * obtain the required length. + * @throws ArrayIndexOutOfBoundsException if from < 0 + * or from > original.length + * @throws IllegalArgumentException if from > to + * @throws NullPointerException if original is null. + * @since 1.6 + * @see #copyOf(byte[],int) + */ + public static byte[] copyOfRange(byte[] original, int from, int to) + { + if (from > to) + throw new IllegalArgumentException("The initial index is after " + + "the final index."); + byte[] newArray = new byte[to - from]; + if (to > original.length) + { + System.arraycopy(original, from, newArray, 0, + original.length - from); + fill(newArray, original.length, newArray.length, (byte)0); + } + else + System.arraycopy(original, from, newArray, 0, to - from); + return newArray; + } + + /** + * Returns a copy of the supplied array, truncating or padding as + * necessary with '\0' to obtain the specified length. + * Indices that are valid for both arrays will return the same value. + * Indices that only exist in the returned array (due to the new length + * being greater than the original length) will return '\0'. + * This is equivalent to calling + * copyOfRange(original, 0, newLength). + * + * @param original the original array to be copied. + * @param newLength the length of the returned array. + * @return a copy of the original array, truncated or padded with + * '\0' to obtain the required length. + * @throws NegativeArraySizeException if newLength is negative. + * @throws NullPointerException if original is null. + * @since 1.6 + * @see #copyOfRange(char[],int,int) + */ + public static char[] copyOf(char[] original, int newLength) + { + if (newLength < 0) + throw new NegativeArraySizeException("The array size is negative."); + return copyOfRange(original, 0, newLength); + } + + /** + * Copies the specified range of the supplied array to a new + * array, padding as necessary with '\0' + * if to is greater than the length of the original + * array. from must be in the range zero to + * original.length and can not be greater than + * to. The initial element of the + * returned array will be equal to original[from], + * except where from is equal to to + * (where a zero-length array will be returned) or + * from is equal to original.length + * (where an array padded with '\0' will be + * returned). The returned array is always of length + * to - from. + * + * @param original the array from which to copy. + * @param from the initial index of the range, inclusive. + * @param to the final index of the range, exclusive. + * @return a copy of the specified range, with padding to + * obtain the required length. + * @throws ArrayIndexOutOfBoundsException if from < 0 + * or from > original.length + * @throws IllegalArgumentException if from > to + * @throws NullPointerException if original is null. + * @since 1.6 + * @see #copyOf(char[],int) + */ + public static char[] copyOfRange(char[] original, int from, int to) + { + if (from > to) + throw new IllegalArgumentException("The initial index is after " + + "the final index."); + char[] newArray = new char[to - from]; + if (to > original.length) + { + System.arraycopy(original, from, newArray, 0, + original.length - from); + fill(newArray, original.length, newArray.length, '\0'); + } + else + System.arraycopy(original, from, newArray, 0, to - from); + return newArray; + } + + /** + * Returns a copy of the supplied array, truncating or padding as + * necessary with 0d to obtain the specified length. + * Indices that are valid for both arrays will return the same value. + * Indices that only exist in the returned array (due to the new length + * being greater than the original length) will return 0d. + * This is equivalent to calling + * copyOfRange(original, 0, newLength). + * + * @param original the original array to be copied. + * @param newLength the length of the returned array. + * @return a copy of the original array, truncated or padded with + * 0d to obtain the required length. + * @throws NegativeArraySizeException if newLength is negative. + * @throws NullPointerException if original is null. + * @since 1.6 + * @see #copyOfRange(double[],int,int) + */ + public static double[] copyOf(double[] original, int newLength) + { + if (newLength < 0) + throw new NegativeArraySizeException("The array size is negative."); + return copyOfRange(original, 0, newLength); + } + + /** + * Copies the specified range of the supplied array to a new + * array, padding as necessary with 0d + * if to is greater than the length of the original + * array. from must be in the range zero to + * original.length and can not be greater than + * to. The initial element of the + * returned array will be equal to original[from], + * except where from is equal to to + * (where a zero-length array will be returned) or + * from is equal to original.length + * (where an array padded with 0d will be + * returned). The returned array is always of length + * to - from. + * + * @param original the array from which to copy. + * @param from the initial index of the range, inclusive. + * @param to the final index of the range, exclusive. + * @return a copy of the specified range, with padding to + * obtain the required length. + * @throws ArrayIndexOutOfBoundsException if from < 0 + * or from > original.length + * @throws IllegalArgumentException if from > to + * @throws NullPointerException if original is null. + * @since 1.6 + * @see #copyOf(double[],int) + */ + public static double[] copyOfRange(double[] original, int from, int to) + { + if (from > to) + throw new IllegalArgumentException("The initial index is after " + + "the final index."); + double[] newArray = new double[to - from]; + if (to > original.length) + { + System.arraycopy(original, from, newArray, 0, + original.length - from); + fill(newArray, original.length, newArray.length, 0d); + } + else + System.arraycopy(original, from, newArray, 0, to - from); + return newArray; + } + + /** + * Returns a copy of the supplied array, truncating or padding as + * necessary with 0f to obtain the specified length. + * Indices that are valid for both arrays will return the same value. + * Indices that only exist in the returned array (due to the new length + * being greater than the original length) will return 0f. + * This is equivalent to calling + * copyOfRange(original, 0, newLength). + * + * @param original the original array to be copied. + * @param newLength the length of the returned array. + * @return a copy of the original array, truncated or padded with + * 0f to obtain the required length. + * @throws NegativeArraySizeException if newLength is negative. + * @throws NullPointerException if original is null. + * @since 1.6 + * @see #copyOfRange(float[],int,int) + */ + public static float[] copyOf(float[] original, int newLength) + { + if (newLength < 0) + throw new NegativeArraySizeException("The array size is negative."); + return copyOfRange(original, 0, newLength); + } + + /** + * Copies the specified range of the supplied array to a new + * array, padding as necessary with 0f + * if to is greater than the length of the original + * array. from must be in the range zero to + * original.length and can not be greater than + * to. The initial element of the + * returned array will be equal to original[from], + * except where from is equal to to + * (where a zero-length array will be returned) or + * from is equal to original.length + * (where an array padded with 0f will be + * returned). The returned array is always of length + * to - from. + * + * @param original the array from which to copy. + * @param from the initial index of the range, inclusive. + * @param to the final index of the range, exclusive. + * @return a copy of the specified range, with padding to + * obtain the required length. + * @throws ArrayIndexOutOfBoundsException if from < 0 + * or from > original.length + * @throws IllegalArgumentException if from > to + * @throws NullPointerException if original is null. + * @since 1.6 + * @see #copyOf(float[],int) + */ + public static float[] copyOfRange(float[] original, int from, int to) + { + if (from > to) + throw new IllegalArgumentException("The initial index is after " + + "the final index."); + float[] newArray = new float[to - from]; + if (to > original.length) + { + System.arraycopy(original, from, newArray, 0, + original.length - from); + fill(newArray, original.length, newArray.length, 0f); + } + else + System.arraycopy(original, from, newArray, 0, to - from); + return newArray; + } + + /** + * Returns a copy of the supplied array, truncating or padding as + * necessary with 0 to obtain the specified length. + * Indices that are valid for both arrays will return the same value. + * Indices that only exist in the returned array (due to the new length + * being greater than the original length) will return 0. + * This is equivalent to calling + * copyOfRange(original, 0, newLength). + * + * @param original the original array to be copied. + * @param newLength the length of the returned array. + * @return a copy of the original array, truncated or padded with + * 0 to obtain the required length. + * @throws NegativeArraySizeException if newLength is negative. + * @throws NullPointerException if original is null. + * @since 1.6 + * @see #copyOfRange(int[],int,int) + */ + public static int[] copyOf(int[] original, int newLength) + { + if (newLength < 0) + throw new NegativeArraySizeException("The array size is negative."); + return copyOfRange(original, 0, newLength); + } + + /** + * Copies the specified range of the supplied array to a new + * array, padding as necessary with 0 + * if to is greater than the length of the original + * array. from must be in the range zero to + * original.length and can not be greater than + * to. The initial element of the + * returned array will be equal to original[from], + * except where from is equal to to + * (where a zero-length array will be returned) or + * from is equal to original.length + * (where an array padded with 0 will be + * returned). The returned array is always of length + * to - from. + * + * @param original the array from which to copy. + * @param from the initial index of the range, inclusive. + * @param to the final index of the range, exclusive. + * @return a copy of the specified range, with padding to + * obtain the required length. + * @throws ArrayIndexOutOfBoundsException if from < 0 + * or from > original.length + * @throws IllegalArgumentException if from > to + * @throws NullPointerException if original is null. + * @since 1.6 + * @see #copyOf(int[],int) + */ + public static int[] copyOfRange(int[] original, int from, int to) + { + if (from > to) + throw new IllegalArgumentException("The initial index is after " + + "the final index."); + int[] newArray = new int[to - from]; + if (to > original.length) + { + System.arraycopy(original, from, newArray, 0, + original.length - from); + fill(newArray, original.length, newArray.length, 0); + } + else + System.arraycopy(original, from, newArray, 0, to - from); + return newArray; + } + + /** + * Returns a copy of the supplied array, truncating or padding as + * necessary with 0L to obtain the specified length. + * Indices that are valid for both arrays will return the same value. + * Indices that only exist in the returned array (due to the new length + * being greater than the original length) will return 0L. + * This is equivalent to calling + * copyOfRange(original, 0, newLength). + * + * @param original the original array to be copied. + * @param newLength the length of the returned array. + * @return a copy of the original array, truncated or padded with + * 0L to obtain the required length. + * @throws NegativeArraySizeException if newLength is negative. + * @throws NullPointerException if original is null. + * @since 1.6 + * @see #copyOfRange(long[],int,int) + */ + public static long[] copyOf(long[] original, int newLength) + { + if (newLength < 0) + throw new NegativeArraySizeException("The array size is negative."); + return copyOfRange(original, 0, newLength); + } + + /** + * Copies the specified range of the supplied array to a new + * array, padding as necessary with 0L + * if to is greater than the length of the original + * array. from must be in the range zero to + * original.length and can not be greater than + * to. The initial element of the + * returned array will be equal to original[from], + * except where from is equal to to + * (where a zero-length array will be returned) or + * from is equal to original.length + * (where an array padded with 0L will be + * returned). The returned array is always of length + * to - from. + * + * @param original the array from which to copy. + * @param from the initial index of the range, inclusive. + * @param to the final index of the range, exclusive. + * @return a copy of the specified range, with padding to + * obtain the required length. + * @throws ArrayIndexOutOfBoundsException if from < 0 + * or from > original.length + * @throws IllegalArgumentException if from > to + * @throws NullPointerException if original is null. + * @since 1.6 + * @see #copyOf(long[],int) + */ + public static long[] copyOfRange(long[] original, int from, int to) + { + if (from > to) + throw new IllegalArgumentException("The initial index is after " + + "the final index."); + long[] newArray = new long[to - from]; + if (to > original.length) + { + System.arraycopy(original, from, newArray, 0, + original.length - from); + fill(newArray, original.length, newArray.length, 0L); + } + else + System.arraycopy(original, from, newArray, 0, to - from); + return newArray; + } + + /** + * Returns a copy of the supplied array, truncating or padding as + * necessary with (short)0 to obtain the specified length. + * Indices that are valid for both arrays will return the same value. + * Indices that only exist in the returned array (due to the new length + * being greater than the original length) will return (short)0. + * This is equivalent to calling + * copyOfRange(original, 0, newLength). + * + * @param original the original array to be copied. + * @param newLength the length of the returned array. + * @return a copy of the original array, truncated or padded with + * (short)0 to obtain the required length. + * @throws NegativeArraySizeException if newLength is negative. + * @throws NullPointerException if original is null. + * @since 1.6 + * @see #copyOfRange(short[],int,int) + */ + public static short[] copyOf(short[] original, int newLength) + { + if (newLength < 0) + throw new NegativeArraySizeException("The array size is negative."); + return copyOfRange(original, 0, newLength); + } + + /** + * Copies the specified range of the supplied array to a new + * array, padding as necessary with (short)0 + * if to is greater than the length of the original + * array. from must be in the range zero to + * original.length and can not be greater than + * to. The initial element of the + * returned array will be equal to original[from], + * except where from is equal to to + * (where a zero-length array will be returned) or + * from is equal to original.length + * (where an array padded with (short)0 will be + * returned). The returned array is always of length + * to - from. + * + * @param original the array from which to copy. + * @param from the initial index of the range, inclusive. + * @param to the final index of the range, exclusive. + * @return a copy of the specified range, with padding to + * obtain the required length. + * @throws ArrayIndexOutOfBoundsException if from < 0 + * or from > original.length + * @throws IllegalArgumentException if from > to + * @throws NullPointerException if original is null. + * @since 1.6 + * @see #copyOf(short[],int) + */ + public static short[] copyOfRange(short[] original, int from, int to) + { + if (from > to) + throw new IllegalArgumentException("The initial index is after " + + "the final index."); + short[] newArray = new short[to - from]; + if (to > original.length) + { + System.arraycopy(original, from, newArray, 0, + original.length - from); + fill(newArray, original.length, newArray.length, (short)0); + } + else + System.arraycopy(original, from, newArray, 0, to - from); + return newArray; + } + + /** + * Returns a copy of the supplied array, truncating or padding as + * necessary with null to obtain the specified length. + * Indices that are valid for both arrays will return the same value. + * Indices that only exist in the returned array (due to the new length + * being greater than the original length) will return null. + * This is equivalent to calling + * copyOfRange(original, 0, newLength). + * + * @param original the original array to be copied. + * @param newLength the length of the returned array. + * @return a copy of the original array, truncated or padded with + * null to obtain the required length. + * @throws NegativeArraySizeException if newLength is negative. + * @throws NullPointerException if original is null. + * @since 1.6 + * @see #copyOfRange(T[],int,int) + */ + public static T[] copyOf(T[] original, int newLength) + { + if (newLength < 0) + throw new NegativeArraySizeException("The array size is negative."); + return copyOfRange(original, 0, newLength); + } + + /** + * Copies the specified range of the supplied array to a new + * array, padding as necessary with null + * if to is greater than the length of the original + * array. from must be in the range zero to + * original.length and can not be greater than + * to. The initial element of the + * returned array will be equal to original[from], + * except where from is equal to to + * (where a zero-length array will be returned) or + * from is equal to original.length + * (where an array padded with null will be + * returned). The returned array is always of length + * to - from. + * + * @param original the array from which to copy. + * @param from the initial index of the range, inclusive. + * @param to the final index of the range, exclusive. + * @return a copy of the specified range, with padding to + * obtain the required length. + * @throws ArrayIndexOutOfBoundsException if from < 0 + * or from > original.length + * @throws IllegalArgumentException if from > to + * @throws NullPointerException if original is null. + * @since 1.6 + * @see #copyOf(T[],int) + */ + public static T[] copyOfRange(T[] original, int from, int to) + { + if (from > to) + throw new IllegalArgumentException("The initial index is after " + + "the final index."); + T[] newArray = (T[]) new Object[to - from]; + if (to > original.length) + { + System.arraycopy(original, from, newArray, 0, + original.length - from); + fill(newArray, original.length, newArray.length, null); + } + else + System.arraycopy(original, from, newArray, 0, to - from); + return newArray; + } + + /** + * Returns a copy of the supplied array, truncating or padding as + * necessary with null to obtain the specified length. + * Indices that are valid for both arrays will return the same value. + * Indices that only exist in the returned array (due to the new length + * being greater than the original length) will return null. + * This is equivalent to calling + * copyOfRange(original, 0, newLength, newType). The returned + * array will be of the specified type, newType. + * + * @param original the original array to be copied. + * @param newLength the length of the returned array. + * @param newType the type of the returned array. + * @return a copy of the original array, truncated or padded with + * null to obtain the required length. + * @throws NegativeArraySizeException if newLength is negative. + * @throws NullPointerException if original is null. + * @since 1.6 + * @see #copyOfRange(U[],int,int,Class) + */ + public static T[] copyOf(U[] original, int newLength, + Class newType) + { + if (newLength < 0) + throw new NegativeArraySizeException("The array size is negative."); + return copyOfRange(original, 0, newLength, newType); + } + + /** + * Copies the specified range of the supplied array to a new + * array, padding as necessary with null + * if to is greater than the length of the original + * array. from must be in the range zero to + * original.length and can not be greater than + * to. The initial element of the + * returned array will be equal to original[from], + * except where from is equal to to + * (where a zero-length array will be returned) or + * from is equal to original.length + * (where an array padded with null will be + * returned). The returned array is always of length + * to - from and will be of the specified type, + * newType. + * + * @param original the array from which to copy. + * @param from the initial index of the range, inclusive. + * @param to the final index of the range, exclusive. + * @param newType the type of the returned array. + * @return a copy of the specified range, with padding to + * obtain the required length. + * @throws ArrayIndexOutOfBoundsException if from < 0 + * or from > original.length + * @throws IllegalArgumentException if from > to + * @throws NullPointerException if original is null. + * @since 1.6 + * @see #copyOf(T[],int) + */ + public static T[] copyOfRange(U[] original, int from, int to, + Class newType) + { + if (from > to) + throw new IllegalArgumentException("The initial index is after " + + "the final index."); + T[] newArray = (T[]) Array.newInstance(newType.getComponentType(), + to - from); + if (to > original.length) + { + System.arraycopy(original, from, newArray, 0, + original.length - from); + fill(newArray, original.length, newArray.length, null); + } + else + System.arraycopy(original, from, newArray, 0, to - from); + return newArray; + } } diff --git a/libjava/classpath/java/util/Calendar.java b/libjava/classpath/java/util/Calendar.java index 8c46c01..2b385b1 100644 --- a/libjava/classpath/java/util/Calendar.java +++ b/libjava/classpath/java/util/Calendar.java @@ -43,9 +43,12 @@ import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.Serializable; + import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; +import java.text.DateFormatSymbols; + /** * This class is an abstract base class for Calendars, which can be * used to convert between Date objects and a set of @@ -99,6 +102,20 @@ day_of_week + week_of_year * specific field by one, propagating overflows), or * adding/substracting a fixed amount to a field. * + * @author Aaron M. Renn (arenn@urbanophile.com) + * @author Jochen Hoenicke (Jochen.Hoenicke@Informatik.Uni-Oldenburg.de) + * @author Warren Levy (warrenl@cygnus.com) + * @author Jeff Sturm (jsturm@one-point.com) + * @author Tom Tromey (tromey@redhat.com) + * @author Bryce McKinlay (mckinlay@redhat.com) + * @author Ingo Proetel (proetel@aicas.com) + * @author Jerry Quinn (jlquinn@optonline.net) + * @author Jeroen Frijters (jeroen@frijters.net) + * @author Noa Resare (noa@resare.com) + * @author Sven de Marothy (sven@physto.se) + * @author David Gilbert (david.gilbert@object-refinery.com) + * @author Olivier Jolly (olivier.jolly@pcedev.com) + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) * @see Date * @see GregorianCalendar * @see TimeZone @@ -326,6 +343,34 @@ public abstract class Calendar public static final int PM = 1; /** + * A style specifier for {@link #getDisplayNames(int,int,Locale)} + * stating that names should be returned in both long and short variants. + * + * @since 1.6 + * @see #SHORT + * @see #LONG + */ + public static final int ALL_STYLES = 0; + + /** + * A style specifier for {@link #getDisplayName(int,int,Locale)} + * and {@link #getDisplayNames(int,int,Locale)} stating that names + * should be returned in their short variant if applicable. + * + * @since 1.6 + */ + public static final int SHORT = 1; + + /** + * A style specifier for {@link #getDisplayName(int,int,Locale)} + * and {@link #getDisplayNames(int,int,Locale)} stating that names + * should be returned in their long variant if applicable. + * + * @since 1.6 + */ + public static final int LONG = 2; + + /** * The time fields. The array is indexed by the constants YEAR to * DST_OFFSET. * @serial @@ -527,7 +572,7 @@ public abstract class Calendar * Cache of locale->calendar-class mappings. This avoids having to do a ResourceBundle * lookup for every getInstance call. */ - private static HashMap cache = new HashMap(); + private static HashMap cache = new HashMap(); /** Preset argument types for calendar-class constructor lookup. */ private static Class[] ctorArgTypes = new Class[] @@ -549,7 +594,7 @@ public abstract class Calendar */ public static synchronized Calendar getInstance(TimeZone zone, Locale locale) { - Class calendarClass = (Class) cache.get(locale); + Class calendarClass = cache.get(locale); Throwable exception = null; try @@ -1343,4 +1388,205 @@ public abstract class Calendar areFieldsSet = false; } } + + /** + * Returns a localised textual representation of the current value + * of the given field using the specified style. If there is no + * applicable textual representation (e.g. the field has a numeric + * value), then null is returned. If one does exist, + * then the value is obtained from {@link #get(int)} and converted + * appropriately. For example, if the MONTH field is + * requested, then get(MONTH) is called. This is then + * converted to a textual representation based on its value and + * the style requested; if the LONG style is requested + * and the returned value is 11 from a + * {@link GregorianCalendar} implementation, then "December" + * is returned. By default, a textual representation is available + * for all fields which have an applicable value obtainable from + * {@link java.text.DateFormatSymbols}. + * + * @param field the calendar field whose textual representation should + * be obtained. + * @param style the style to use; either {@link #LONG} or {@link #SHORT}. + * @param locale the locale to use for translation. + * @return the textual representation of the given field in the specified + * style, or null if none is applicable. + * @throws IllegalArgumentException if field or style + * or invalid, or the calendar is non-lenient + * and has invalid values. + * @throws NullPointerException if locale is null. + * @since 1.6 + */ + public String getDisplayName(int field, int style, Locale locale) + { + if (field < 0 || field >= FIELD_COUNT) + throw new IllegalArgumentException("The field value, " + field + + ", is invalid."); + if (style != SHORT && style != LONG) + throw new IllegalArgumentException("The style must be either " + + "short or long."); + if (field == YEAR || field == WEEK_OF_YEAR || + field == WEEK_OF_MONTH || field == DAY_OF_MONTH || + field == DAY_OF_YEAR || field == DAY_OF_WEEK_IN_MONTH || + field == HOUR || field == HOUR_OF_DAY || field == MINUTE || + field == SECOND || field == MILLISECOND) + return null; + + int value = get(field); + DateFormatSymbols syms = DateFormatSymbols.getInstance(locale); + if (field == ERA) + return syms.getEras()[value]; + if (field == MONTH) + if (style == LONG) + return syms.getMonths()[value]; + else + return syms.getShortMonths()[value]; + if (field == DAY_OF_WEEK) + if (style == LONG) + return syms.getWeekdays()[value]; + else + return syms.getShortWeekdays()[value]; + if (field == AM_PM) + return syms.getAmPmStrings()[value]; + if (field == ZONE_OFFSET) + if (style == LONG) + return syms.getZoneStrings()[value][1]; + else + return syms.getZoneStrings()[value][2]; + if (field == DST_OFFSET) + if (style == LONG) + return syms.getZoneStrings()[value][3]; + else + return syms.getZoneStrings()[value][4]; + + throw new InternalError("Failed to resolve field " + field + + " with style " + style + " for locale " + + locale); + } + + /** + * Returns a map linking all specified textual representations + * of the given field to their numerical values. The textual + * representations included are determined by the specified + * style and locale. For example, if the style LONG + * is specified and the German locale, then the map will + * contain "Montag" to {@link #MONDAY}, "Dienstag" to + * {@link #TUESDAY}, "Mittwoch" to {@link #WEDNESDAY} and + * so on. The default implementation uses the values returned + * by {@link DateFormatSymbols} so, for example, the style + * {@link #ALL_STYLES} and the field {@link #MONTH} will return + * a map filled with the values returned from + * {@link DateFormatSymbols#getMonths()} and + * {@link DateFormatSymbols#getShortMonths()}. If there are + * no textual representations for a given field (usually because + * it is purely numeric, such as the year in the + * {@link GregorianCalendar}), null is returned. + * + * @param field the calendar field whose textual representation should + * be obtained. + * @param style the style to use; either {@link #LONG}, {@link #SHORT} + * or {@link ALL_STYLES}. + * @param locale the locale to use for translation. + * @return a map of the textual representations of the given field in the + * specified style to their numeric values, or null + * if none is applicable. + * @throws IllegalArgumentException if field or style + * or invalid, or the calendar is non-lenient + * and has invalid values. + * @throws NullPointerException if locale is null. + * @since 1.6 + */ + public Map getDisplayNames(int field, int style, Locale locale) + { + if (field < 0 || field >= FIELD_COUNT) + throw new IllegalArgumentException("The field value, " + field + + ", is invalid."); + if (style != SHORT && style != LONG && style != ALL_STYLES) + throw new IllegalArgumentException("The style must be either " + + "short, long or all styles."); + if (field == YEAR || field == WEEK_OF_YEAR || + field == WEEK_OF_MONTH || field == DAY_OF_MONTH || + field == DAY_OF_YEAR || field == DAY_OF_WEEK_IN_MONTH || + field == HOUR || field == HOUR_OF_DAY || field == MINUTE || + field == SECOND || field == MILLISECOND) + return null; + + DateFormatSymbols syms = DateFormatSymbols.getInstance(locale); + Map map = new HashMap(); + if (field == ERA) + { + String[] eras = syms.getEras(); + for (int a = 0; a < eras.length; ++a) + map.put(eras[a], a); + return map; + } + if (field == MONTH) + { + if (style == LONG || style == ALL_STYLES) + { + String[] months = syms.getMonths(); + for (int a = 0; a < months.length; ++a) + map.put(months[a], a); + } + if (style == SHORT || style == ALL_STYLES) + { + String[] months = syms.getShortMonths(); + for (int a = 0; a < months.length; ++a) + map.put(months[a], a); + } + return map; + } + if (field == DAY_OF_WEEK) + { + if (style == LONG || style == ALL_STYLES) + { + String[] weekdays = syms.getWeekdays(); + for (int a = SUNDAY; a < weekdays.length; ++a) + map.put(weekdays[a], a); + } + if (style == SHORT || style == ALL_STYLES) + { + String[] weekdays = syms.getShortWeekdays(); + for (int a = SUNDAY; a < weekdays.length; ++a) + map.put(weekdays[a], a); + } + return map; + } + if (field == AM_PM) + { + String[] ampms = syms.getAmPmStrings(); + for (int a = 0; a < ampms.length; ++a) + map.put(ampms[a], a); + return map; + } + if (field == ZONE_OFFSET) + { + String[][] zones = syms.getZoneStrings(); + for (int a = 0; a < zones.length; ++a) + { + if (style == LONG || style == ALL_STYLES) + map.put(zones[a][1], a); + if (style == SHORT || style == ALL_STYLES) + map.put(zones[a][2], a); + } + return map; + } + if (field == DST_OFFSET) + { + String[][] zones = syms.getZoneStrings(); + for (int a = 0; a < zones.length; ++a) + { + if (style == LONG || style == ALL_STYLES) + map.put(zones[a][3], a); + if (style == SHORT || style == ALL_STYLES) + map.put(zones[a][4], a); + } + return map; + } + + throw new InternalError("Failed to resolve field " + field + + " with style " + style + " for locale " + + locale); + } + } diff --git a/libjava/classpath/java/util/Collections.java b/libjava/classpath/java/util/Collections.java index 77ff6ed..fd802fe 100644 --- a/libjava/classpath/java/util/Collections.java +++ b/libjava/classpath/java/util/Collections.java @@ -706,14 +706,16 @@ public class Collections { if (!forward) itr.next(); // Changing direction first. - for ( ; i != pos; i++, o = itr.next()); + for ( ; i != pos; i++, o = itr.next()) + ; forward = true; } else { if (forward) itr.previous(); // Changing direction first. - for ( ; i != pos; i--, o = itr.previous()); + for ( ; i != pos; i--, o = itr.previous()) + ; forward = false; } final int d = compare(o, key, c); @@ -1460,8 +1462,10 @@ public class Collections public static int frequency (Collection c, Object o) { int result = 0; - for (Object v : c) + final Iterator it = c.iterator(); + while (it.hasNext()) { + Object v = it.next(); if (AbstractCollection.equals(o, v)) ++result; } @@ -1522,8 +1526,9 @@ public class Collections public static boolean disjoint(Collection c1, Collection c2) { Collection oc1 = (Collection) c1; - for (Object o : oc1) - if (c2.contains(o)) + final Iterator it = oc1.iterator(); + while (it.hasNext()) + if (c2.contains(it.next())) return false; return true; } @@ -5113,7 +5118,7 @@ public class Collections // The array returned is an array of UnmodifiableMapEntry instead of // Map.Entry - public Map.Entry[] toArray() + public Object[] toArray() { Object[] mapEntryResult = super.toArray(); UnmodifiableMapEntry result[] = null; @@ -5127,7 +5132,7 @@ public class Collections } return result; } - + // The array returned is an array of UnmodifiableMapEntry instead of // Map.Entry public S[] toArray(S[] array) @@ -5825,8 +5830,10 @@ public class Collections public boolean addAll(Collection coll) { Collection typedColl = (Collection) c; - for (E element : typedColl) + final Iterator it = typedColl.iterator(); + while (it.hasNext()) { + final E element = it.next(); if (!type.isInstance(element)) throw new ClassCastException("A member of the collection is not of the correct type."); } @@ -6167,9 +6174,10 @@ public class Collections public boolean addAll(int index, Collection coll) { Collection typedColl = (Collection) coll; - for (E element : typedColl) + final Iterator it = typedColl.iterator(); + while (it.hasNext()) { - if (!type.isInstance(element)) + if (!type.isInstance(it.next())) throw new ClassCastException("A member of the collection is not of the correct type."); } return list.addAll(index, coll); @@ -6870,8 +6878,10 @@ public class Collections public void putAll(Map map) { Map typedMap = (Map) map; - for (Map.Entry entry : typedMap.entrySet()) + final Iterator> it = typedMap.entrySet().iterator(); + while (it.hasNext()) { + final Map.Entry entry = it.next(); if (!keyType.isInstance(entry.getKey())) throw new ClassCastException("A key is of the wrong type."); if (!valueType.isInstance(entry.getValue())) @@ -7423,4 +7433,189 @@ public class Collections } } // class CheckedSortedSet + /** + * Returns a view of a {@link Deque} as a stack or LIFO (Last-In-First-Out) + * {@link Queue}. Each call to the LIFO queue corresponds to one + * equivalent method call to the underlying deque, with the exception + * of {@link Collection#addAll(Collection)}, which is emulated by a series + * of {@link Deque#push(E)} calls. + * + * @param deque the deque to convert to a LIFO queue. + * @return a LIFO queue. + * @since 1.6 + */ + public static Queue asLifoQueue(Deque deque) + { + return new LIFOQueue(deque); + } + + /** + * Returns a set backed by the supplied map. The resulting set + * has the same performance, concurrency and ordering characteristics + * as the original map. The supplied map must be empty and should not + * be used after the set is created. Each call to the set corresponds + * to one equivalent method call to the underlying map, with the exception + * of {@link Set#addAll(Collection)} which is emulated by a series of + * calls to put. + * + * @param map the map to convert to a set. + * @return a set backed by the supplied map. + * @throws IllegalArgumentException if the map is not empty. + * @since 1.6 + */ + public static Set newSetFromMap(Map map) + { + return new MapSet(map); + } + + /** + * The implementation of {@link #asLIFOQueue(Deque)}. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.6 + */ + private static class LIFOQueue + extends AbstractQueue + { + + /** + * The backing deque. + */ + private Deque deque; + + /** + * Constructs a new {@link LIFOQueue} with the specified + * backing {@link Deque}. + * + * @param deque the backing deque. + */ + public LIFOQueue(Deque deque) + { + this.deque = deque; + } + + public boolean add(T e) + { + return deque.offerFirst(e); + } + + public boolean addAll(Collection c) + { + boolean result = false; + final Iterator it = c.iterator(); + while (it.hasNext()) + result |= deque.offerFirst(it.next()); + return result; + } + + public void clear() + { + deque.clear(); + } + + public boolean isEmpty() + { + return deque.isEmpty(); + } + + public Iterator iterator() + { + return deque.iterator(); + } + + public boolean offer(T e) + { + return deque.offerFirst(e); + } + + public T peek() + { + return deque.peek(); + } + + public T poll() + { + return deque.poll(); + } + + public int size() + { + return deque.size(); + } + } // class LIFOQueue + + /** + * The implementation of {@link #newSetFromMap(Map)}. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.6 + */ + private static class MapSet + extends AbstractSet + { + + /** + * The backing map. + */ + private Map map; + + /** + * Constructs a new {@link MapSet} using the specified + * backing {@link Map}. + * + * @param map the backing map. + * @throws IllegalArgumentException if the map is not empty. + */ + public MapSet(Map map) + { + if (!map.isEmpty()) + throw new IllegalArgumentException("The map must be empty."); + this.map = map; + } + + public boolean add(E e) + { + return map.put(e, true) == null; + } + + public boolean addAll(Collection c) + { + boolean result = false; + final Iterator it = c.iterator(); + while (it.hasNext()) + result |= (map.put(it.next(), true) == null); + return result; + } + + public void clear() + { + map.clear(); + } + + public boolean contains(Object o) + { + return map.containsKey(o); + } + + public boolean isEmpty() + { + return map.isEmpty(); + } + + public Iterator iterator() + { + return map.keySet().iterator(); + } + + public boolean remove(Object o) + { + return map.remove(o) != null; + } + + public int size() + { + return map.size(); + } + } // class MapSet + } // class Collections diff --git a/libjava/classpath/java/util/Currency.java b/libjava/classpath/java/util/Currency.java index 32ea753..a0933ec 100644 --- a/libjava/classpath/java/util/Currency.java +++ b/libjava/classpath/java/util/Currency.java @@ -44,6 +44,8 @@ import java.io.IOException; import java.io.ObjectStreamException; import java.io.Serializable; +import java.util.spi.CurrencyNameProvider; + /** * Representation of a currency for a particular locale. Each currency * is identified by its ISO 4217 code, and only one instance of this @@ -402,8 +404,35 @@ public final class Currency */ public String getSymbol(Locale locale) { - return LocaleHelper.getLocalizedString(locale, currencyCode, - "currenciesSymbol", false, true); + String property = "currenciesSymbol." + currencyCode; + try + { + return ResourceBundle.getBundle("gnu.java.locale.LocaleInformation", + locale).getString(property); + } + catch (MissingResourceException exception) + { + /* This means runtime support for the locale + * is not available, so we check providers. */ + } + for (CurrencyNameProvider p : + ServiceLoader.load(CurrencyNameProvider.class)) + { + for (Locale loc : p.getAvailableLocales()) + { + if (loc.equals(locale)) + { + String localizedString = p.getSymbol(currencyCode, + locale); + if (localizedString != null) + return localizedString; + break; + } + } + } + if (locale.equals(Locale.ROOT)) // Base case + return currencyCode; + return getSymbol(LocaleHelper.getFallbackLocale(locale)); } /** diff --git a/libjava/classpath/java/util/Date.java b/libjava/classpath/java/util/Date.java index f481753..1ad128e 100644 --- a/libjava/classpath/java/util/Date.java +++ b/libjava/classpath/java/util/Date.java @@ -856,7 +856,7 @@ public class Date hour += 12; } else if (parseDayOfWeek(tok)) - ; // Ignore it; throw the token away. + { /* Ignore it; throw the token away. */ } else if (tok.equals("UT") || tok.equals("UTC") || tok.equals("GMT")) localTimezone = false; else if (tok.startsWith("UT") || tok.startsWith("GMT")) diff --git a/libjava/classpath/java/util/GregorianCalendar.java b/libjava/classpath/java/util/GregorianCalendar.java index 83ac00e..6eb7ce8 100644 --- a/libjava/classpath/java/util/GregorianCalendar.java +++ b/libjava/classpath/java/util/GregorianCalendar.java @@ -1,5 +1,5 @@ /* java.util.GregorianCalendar - Copyright (C) 1998, 1999, 2001, 2002, 2003, 2004 + Copyright (C) 1998, 1999, 2001, 2002, 2003, 2004, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -223,7 +223,6 @@ public class GregorianCalendar extends Calendar { this(zone, locale, false); setTimeInMillis(System.currentTimeMillis()); - complete(); } /** @@ -842,13 +841,24 @@ public class GregorianCalendar extends Calendar // which day of the week are we (0..6), relative to getFirstDayOfWeek int relativeWeekday = (7 + fields[DAY_OF_WEEK] - getFirstDayOfWeek()) % 7; - fields[WEEK_OF_MONTH] = (fields[DAY_OF_MONTH] - relativeWeekday + 12) / 7; + // which day of the week is the first of this month? + // nb 35 is the smallest multiple of 7 that ensures that + // the left hand side of the modulo operator is positive. + int relativeWeekdayOfFirst = (relativeWeekday - fields[DAY_OF_MONTH] + + 1 + 35) % 7; + + // which week of the month is the first of this month in? + int minDays = getMinimalDaysInFirstWeek(); + int weekOfFirst = ((7 - relativeWeekdayOfFirst) >= minDays) ? 1 : 0; + + // which week of the month is this day in? + fields[WEEK_OF_MONTH] = (fields[DAY_OF_MONTH] + + relativeWeekdayOfFirst - 1) / 7 + weekOfFirst; int weekOfYear = (fields[DAY_OF_YEAR] - relativeWeekday + 6) / 7; // Do the Correction: getMinimalDaysInFirstWeek() is always in the // first week. - int minDays = getMinimalDaysInFirstWeek(); int firstWeekday = (7 + getWeekDay(fields[YEAR], minDays) - getFirstDayOfWeek()) % 7; if (minDays - firstWeekday < 1) diff --git a/libjava/classpath/java/util/HashMap.java b/libjava/classpath/java/util/HashMap.java index 92022a7..eca3ad6 100644 --- a/libjava/classpath/java/util/HashMap.java +++ b/libjava/classpath/java/util/HashMap.java @@ -380,11 +380,11 @@ public class HashMap extends AbstractMap */ public void putAll(Map m) { - Map addMap; - - addMap = (Map) m; - for (Map.Entry e : addMap.entrySet()) + final Map addMap = (Map) m; + final Iterator> it = addMap.entrySet().iterator(); + while (it.hasNext()) { + final Map.Entry e = it.next(); // Optimize in case the Entry is one of our own. if (e instanceof AbstractMap.SimpleEntry) { @@ -710,12 +710,12 @@ public class HashMap extends AbstractMap */ void putAllInternal(Map m) { - Map addMap; - - addMap = (Map) m; + final Map addMap = (Map) m; + final Iterator> it = addMap.entrySet().iterator(); size = 0; - for (Map.Entry e : addMap.entrySet()) + while (it.hasNext()) { + final Map.Entry e = it.next(); size++; K key = e.getKey(); int idx = hash(key); diff --git a/libjava/classpath/java/util/Hashtable.java b/libjava/classpath/java/util/Hashtable.java index 2e265a4..a8567463 100644 --- a/libjava/classpath/java/util/Hashtable.java +++ b/libjava/classpath/java/util/Hashtable.java @@ -505,12 +505,11 @@ public class Hashtable extends Dictionary */ public synchronized void putAll(Map m) { - Map addMap; - - addMap = (Map) m; - - for (Map.Entry e : addMap.entrySet()) + final Map addMap = (Map) m; + final Iterator> it = addMap.entrySet().iterator(); + while (it.hasNext()) { + final Map.Entry e = it.next(); // Optimize in case the Entry is one of our own. if (e instanceof AbstractMap.SimpleEntry) { @@ -857,13 +856,12 @@ public class Hashtable extends Dictionary */ void putAllInternal(Map m) { - Map addMap; - - addMap = (Map) m; + final Map addMap = (Map) m; + final Iterator> it = addMap.entrySet().iterator(); size = 0; - - for (Map.Entry e : addMap.entrySet()) + while (it.hasNext()) { + final Map.Entry e = it.next(); size++; K key = e.getKey(); int idx = hash(key); diff --git a/libjava/classpath/java/util/LinkedList.java b/libjava/classpath/java/util/LinkedList.java index 2d78573..3f8b2ad 100644 --- a/libjava/classpath/java/util/LinkedList.java +++ b/libjava/classpath/java/util/LinkedList.java @@ -1,5 +1,5 @@ /* LinkedList.java -- Linked list implementation of the List interface - Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004, 2005 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004, 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -64,15 +64,17 @@ import java.lang.reflect.Array; * @author Original author unknown * @author Bryce McKinlay * @author Eric Blake (ebb9@email.byu.edu) + * @author Tom Tromey (tromey@redhat.com) + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) * @see List * @see ArrayList * @see Vector * @see Collections#synchronizedList(List) * @since 1.2 - * @status missing javadoc, but complete to 1.4 + * @status Complete to 1.6 */ public class LinkedList extends AbstractSequentialList - implements List, Queue, Cloneable, Serializable + implements List, Deque, Cloneable, Serializable { /** * Compatible with JDK 1.2. @@ -708,6 +710,10 @@ public class LinkedList extends AbstractSequentialList } /** + * Adds the specified element to the end of the list. + * + * @param value the value to add. + * @return true. * @since 1.5 */ public boolean offer(T value) @@ -716,6 +722,11 @@ public class LinkedList extends AbstractSequentialList } /** + * Returns the first element of the list without removing + * it. + * + * @return the first element of the list. + * @throws NoSuchElementException if the list is empty. * @since 1.5 */ public T element() @@ -724,6 +735,11 @@ public class LinkedList extends AbstractSequentialList } /** + * Returns the first element of the list without removing + * it. + * + * @return the first element of the list, or null + * if the list is empty. * @since 1.5 */ public T peek() @@ -734,6 +750,10 @@ public class LinkedList extends AbstractSequentialList } /** + * Removes and returns the first element of the list. + * + * @return the first element of the list, or null + * if the list is empty. * @since 1.5 */ public T poll() @@ -744,6 +764,10 @@ public class LinkedList extends AbstractSequentialList } /** + * Removes and returns the first element of the list. + * + * @return the first element of the list. + * @throws NoSuchElementException if the list is empty. * @since 1.5 */ public T remove() @@ -992,4 +1016,245 @@ public class LinkedList extends AbstractSequentialList lastReturned.data = o; } } // class LinkedListItr + + /** + * Obtain an Iterator over this list in reverse sequential order. + * + * @return an Iterator over the elements of the list in + * reverse order. + * @since 1.6 + */ + public Iterator descendingIterator() + { + return new Iterator() + { + /** Number of modifications we know about. */ + private int knownMod = modCount; + + /** Entry that will be returned by next(). */ + private Entry next = last; + + /** Entry that will be affected by remove() or set(). */ + private Entry lastReturned; + + /** Index of `next'. */ + private int position = size() - 1; + + // This will get inlined, since it is private. + /** + * Checks for modifications made to the list from + * elsewhere while iteration is in progress. + * + * @throws ConcurrentModificationException if the + * list has been modified elsewhere. + */ + private void checkMod() + { + if (knownMod != modCount) + throw new ConcurrentModificationException(); + } + + /** + * Tests to see if there are any more objects to + * return. + * + * @return true if the start of the list has not yet been + * reached. + */ + public boolean hasNext() + { + return next != null; + } + + /** + * Retrieves the next object from the list. + * + * @return The next object. + * @throws NoSuchElementException if there are + * no more objects to retrieve. + * @throws ConcurrentModificationException if the + * list has been modified elsewhere. + */ + public T next() + { + checkMod(); + if (next == null) + throw new NoSuchElementException(); + --position; + lastReturned = next; + next = lastReturned.previous; + return lastReturned.data; + } + + /** + * Removes the last object retrieved by next() + * from the list, if the list supports object removal. + * + * @throws ConcurrentModificationException if the list + * has been modified elsewhere. + * @throws IllegalStateException if the iterator is positioned + * before the start of the list or the last object has already + * been removed. + */ + public void remove() + { + checkMod(); + if (lastReturned == null) + throw new IllegalStateException(); + removeEntry(lastReturned); + lastReturned = null; + ++knownMod; + } + }; + } + + /** + * Inserts the specified element at the front of the list. + * + * @param value the element to insert. + * @return true. + * @since 1.6 + */ + public boolean offerFirst(T value) + { + addFirst(value); + return true; + } + + /** + * Inserts the specified element at the end of the list. + * + * @param value the element to insert. + * @return true. + * @since 1.6 + */ + public boolean offerLast(T value) + { + return add(value); + } + + /** + * Returns the first element of the list without removing + * it. + * + * @return the first element of the list, or null + * if the list is empty. + * @since 1.6 + */ + public T peekFirst() + { + return peek(); + } + + /** + * Returns the last element of the list without removing + * it. + * + * @return the last element of the list, or null + * if the list is empty. + * @since 1.6 + */ + public T peekLast() + { + if (size == 0) + return null; + return getLast(); + } + + /** + * Removes and returns the first element of the list. + * + * @return the first element of the list, or null + * if the list is empty. + * @since 1.6 + */ + public T pollFirst() + { + return poll(); + } + + /** + * Removes and returns the last element of the list. + * + * @return the last element of the list, or null + * if the list is empty. + * @since 1.6 + */ + public T pollLast() + { + if (size == 0) + return null; + return removeLast(); + } + + /** + * Pops an element from the stack by removing and returning + * the first element in the list. This is equivalent to + * calling {@link #removeFirst()}. + * + * @return the top of the stack, which is the first element + * of the list. + * @throws NoSuchElementException if the list is empty. + * @since 1.6 + * @see #removeFirst() + */ + public T pop() + { + return removeFirst(); + } + + /** + * Pushes an element on to the stack by adding it to the + * front of the list. This is equivalent to calling + * {@link #addFirst(T)}. + * + * @param value the element to push on to the stack. + * @throws NoSuchElementException if the list is empty. + * @since 1.6 + * @see #addFirst(T) + */ + public void push(T value) + { + addFirst(value); + } + + /** + * Removes the first occurrence of the specified element + * from the list, when traversing the list from head to + * tail. The list is unchanged if the element is not found. + * This is equivalent to calling {@link #remove(Object)}. + * + * @param o the element to remove. + * @return true if an instance of the object was removed. + * @since 1.6 + */ + public boolean removeFirstOccurrence(Object o) + { + return remove(o); + } + + /** + * Removes the last occurrence of the specified element + * from the list, when traversing the list from head to + * tail. The list is unchanged if the element is not found. + * + * @param o the element to remove. + * @return true if an instance of the object was removed. + * @since 1.6 + */ + public boolean removeLastOccurrence(Object o) + { + Entry e = last; + while (e != null) + { + if (equals(o, e.data)) + { + removeEntry(e); + return true; + } + e = e.previous; + } + return false; + } + } diff --git a/libjava/classpath/java/util/Locale.java b/libjava/classpath/java/util/Locale.java index 4c91eeb..846ae7b 100644 --- a/libjava/classpath/java/util/Locale.java +++ b/libjava/classpath/java/util/Locale.java @@ -46,6 +46,8 @@ import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.Serializable; +import java.util.spi.LocaleNameProvider; + /** * Locales represent a specific country and culture. Classes which can be * passed a Locale object tailor their information for a given locale. For @@ -161,6 +163,11 @@ public final class Locale implements Serializable, Cloneable /** Locale which represents the French speaking portion of Canada. */ public static final Locale CANADA_FRENCH = getLocale("fr", "CA"); + /** The root locale, used as the base case in lookups by + * locale-sensitive operations. + */ + public static final Locale ROOT = new Locale("","",""); + /** * Compatible with JDK 1.1+. */ @@ -674,6 +681,8 @@ public final class Locale implements Serializable, Cloneable */ public String getDisplayLanguage(Locale inLocale) { + if (language.isEmpty()) + return ""; try { ResourceBundle res = @@ -685,8 +694,27 @@ public final class Locale implements Serializable, Cloneable } catch (MissingResourceException e) { - return language; + /* This means runtime support for the locale + * is not available, so we check providers. */ } + for (LocaleNameProvider p : + ServiceLoader.load(LocaleNameProvider.class)) + { + for (Locale loc : p.getAvailableLocales()) + { + if (loc.equals(inLocale)) + { + String locLang = p.getDisplayLanguage(language, + inLocale); + if (locLang != null) + return locLang; + break; + } + } + } + if (inLocale.equals(Locale.ROOT)) // Base case + return language; + return getDisplayLanguage(LocaleHelper.getFallbackLocale(inLocale)); } /** @@ -732,6 +760,8 @@ public final class Locale implements Serializable, Cloneable */ public String getDisplayCountry(Locale inLocale) { + if (country.isEmpty()) + return ""; try { ResourceBundle res = @@ -743,8 +773,27 @@ public final class Locale implements Serializable, Cloneable } catch (MissingResourceException e) { - return country; + /* This means runtime support for the locale + * is not available, so we check providers. */ } + for (LocaleNameProvider p : + ServiceLoader.load(LocaleNameProvider.class)) + { + for (Locale loc : p.getAvailableLocales()) + { + if (loc.equals(inLocale)) + { + String locCountry = p.getDisplayCountry(country, + inLocale); + if (locCountry != null) + return locCountry; + break; + } + } + } + if (inLocale.equals(Locale.ROOT)) // Base case + return country; + return getDisplayCountry(LocaleHelper.getFallbackLocale(inLocale)); } /** @@ -791,6 +840,8 @@ public final class Locale implements Serializable, Cloneable */ public String getDisplayVariant(Locale inLocale) { + if (variant.isEmpty()) + return ""; try { ResourceBundle res = @@ -802,8 +853,27 @@ public final class Locale implements Serializable, Cloneable } catch (MissingResourceException e) { - return variant; + /* This means runtime support for the locale + * is not available, so we check providers. */ + } + for (LocaleNameProvider p : + ServiceLoader.load(LocaleNameProvider.class)) + { + for (Locale loc : p.getAvailableLocales()) + { + if (loc.equals(inLocale)) + { + String locVar = p.getDisplayVariant(variant, + inLocale); + if (locVar != null) + return locVar; + break; + } + } } + if (inLocale.equals(Locale.ROOT)) // Base case + return country; + return getDisplayVariant(LocaleHelper.getFallbackLocale(inLocale)); } /** diff --git a/libjava/classpath/java/util/PriorityQueue.java b/libjava/classpath/java/util/PriorityQueue.java index c9cfd8b..9e738d6 100644 --- a/libjava/classpath/java/util/PriorityQueue.java +++ b/libjava/classpath/java/util/PriorityQueue.java @@ -164,6 +164,7 @@ public class PriorityQueue extends AbstractQueue implements Serializable { while (storage[++index] == null) ; + ++count; return storage[index]; } diff --git a/libjava/classpath/java/util/ServiceConfigurationError.java b/libjava/classpath/java/util/ServiceConfigurationError.java new file mode 100644 index 0000000..1d006c8 --- /dev/null +++ b/libjava/classpath/java/util/ServiceConfigurationError.java @@ -0,0 +1,94 @@ +/* ServiceConfigurationError.java -- An error on service loading. + Copyright (C) 2007 Free Software Foundation + +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.util; + +/** + *

      + * An error thrown when a problem occurs during the loading + * of a service provider by a {@link ServiceLoader}. Such + * an error can occur for a number of reasons: + *

      + *
        + *
      • An I/O error occurs
      • + *
      • The configuration file doesn't meet the specifications
      • + *
      • A listed class can not be found
      • + *
      • A listed class does not implement the service
      • + *
      • A listed class can not be instantiated
      • + *
      + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.6 + */ +public class ServiceConfigurationError + extends Error +{ + + /** + * Compatible with JDK 1.6 + */ + private static final long serialVersionUID = 74132770414881L; + + /** + * Constructs a new {@link ServiceConfigurationError} + * with the specified message. + * + * @param message a message describing the error, or + * null if none is required. + */ + public ServiceConfigurationError(String message) + { + super(message); + } + + /** + * Constructs a new {@link ServiceConfigurationError} + * with the specified message and cause. + * + * @param message a message describing the error, or + * null if none is required. + * @param cause the cause of the error, or + * null if this is unknown + * or inappropriate. + */ + public ServiceConfigurationError(String message, + Throwable cause) + { + super(message,cause); + } + +} diff --git a/libjava/classpath/java/util/ServiceLoader.java b/libjava/classpath/java/util/ServiceLoader.java new file mode 100644 index 0000000..9935416 --- /dev/null +++ b/libjava/classpath/java/util/ServiceLoader.java @@ -0,0 +1,274 @@ +/* ServiceLoader.java -- Allows loading of plug-in services. + Copyright (C) 2006, 2007 Free Software Foundation + +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.util; + +import gnu.classpath.ServiceFactory; + +/** + *

      + * Facilities for loading service providers. A service is + * defined by a set of interfaces or abstract classes, and + * a service provider gives a concrete implementation of this. + * Service providers may be installed as part of the runtime + * environment using JAR files in the extension directories, + * or may be simply supplied on the classpath. + *

      + *

      + * In terms of loading a service, the service is defined by + * a single interface or abstract class which the provider + * implements. This may not constitute the entire service, + * but is simply a mechanism by which a provider of the + * service can be loaded and its capabilities determined. + * The variety of possible services means that no more + * requirements are made of the service provider other than + * that it must have an accessible zero argument constructor + * in order to allow an instance to be created. + *

      + *

      + * Service providers are listed in a file named after the + * service type in the directory META-INF/services. + * The file contains a list of classes, and must be encoded + * using UTF-8. Whitespace is ignored. Comments can be + * included by using a '#' prefix; anything occurring + * on the same line after this symbol is ignored. Duplicate classes + * are ignored. + *

      + *

      + * The classes are loaded using the same classloader that was + * queried in order to locate the configuration file. As a result, + * the providers do not need to reside in the same JAR file as the + * resource; they merely have to be accessible to this classloader, + * which may differ from the one that loaded the file itself. + *

      + *

      + * Providers are located and instantiated lazily, as calls to the + * {@link #iterator()} are made. Providers are cached, and those in + * the cache are returned first. The cache may be cleared by calling + * {@link #reload()}. Service loaders always execute in the security + * context of the caller, so ideally calls should be made from a trusted + * source. + *

      + *

      + * Note that this class is not thread-safe, and that strange errors may + * occur as the result of the use of remote URLs occurring on the classpath, + * which lead to erroneous web pages. + *

      + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.6 + */ +public final class ServiceLoader + implements Iterable +{ + + /** + * The class of the service provider. + */ + private Class spi; + + /** + * The class loader for the service provider. + */ + private ClassLoader loader; + + /** + * The cache of service providers. + */ + private List cache; + + /** + * The {@link gnu.classpath.ServiceFactory} iterator + * from which providers are obtained. + */ + private Iterator serviceIt; + + /** + * Constructs a new {@link ServiceLoader} with + * the specified provider and class loader. + * + * @param spi the service to load. + * @param loader the class loader to use. + */ + private ServiceLoader(Class spi, ClassLoader loader) + { + this.spi = spi; + this.loader = loader; + cache = new ArrayList(); + } + + /** + * Lazily loads the available providers. The iterator first returns + * providers from the cache, in instantiation order, followed by any + * remaining providers, which are added to the cache after loading. + * The actual loading and parsing of the configuration file takes + * place in the {@link Iterator#hasNext()} and {@link Iterator#next()} + * methods, which means that they may result in a + * {@link ServiceConfigurationError} being thrown. If such an error + * does occur, subsequent invocations will attempt to recover. + * The {@link remove()} method is not supported and instead throws + * an {@link UnsupportedOperationException}. + * + * @return an iterator that lazily loads service providers. + */ + public Iterator iterator() + { + return new Iterator() + { + /** + * The cache iterator. + */ + private Iterator cacheIt = cache.iterator(); + + public boolean hasNext() + { + if (cacheIt.hasNext()) + return true; + if (serviceIt == null) + serviceIt = + ServiceFactory.lookupProviders(spi, loader, true); + return serviceIt.hasNext(); + } + + public S next() + { + if (cacheIt.hasNext()) + return cacheIt.next(); + if (serviceIt == null) + serviceIt = + ServiceFactory.lookupProviders(spi, loader, true); + S nextService = serviceIt.next(); + cache.add(nextService); + return nextService; + } + + public void remove() + { + throw new UnsupportedOperationException(); + } + }; + } + + /** + * Creates a new service loader for the given service, + * using the context class loader of the current thread. + * This is equivalent to calling ServiceLoader.load(service, + * Thread.currentThread().getContextClassLoader()). + * + * @param service the interface or abstract class that represents + * the service. + * @return a new {@link ServiceLoader} instance. + */ + public static ServiceLoader load(Class service) + { + return load(service, + Thread.currentThread().getContextClassLoader()); + } + + /** + * Creates a new service loader for the given service, + * using the specified class loader. The class loader is + * used to access the configuration file and the service + * provider instances themselves. If the loader is + * null, the system class loader (or, if + * this is also null, the bootstrap class + * loader). + * + * @param service the interface or abstract class that represents + * the service. + * @param loader the class loader used to load the configuration + * file and service providers. + * @return a new {@link ServiceLoader} instance. + */ + public static ServiceLoader load(Class service, + ClassLoader loader) + { + if (loader == null) + loader = ClassLoader.getSystemClassLoader(); + return new ServiceLoader(service, loader); + } + + /** + * Creates a new service loader for the given service, + * using the extension class loader. If the extension + * class loader can not be found, the system class loader + * is used (or, if this is null, the + * bootstrap class loader). The primary use of this method + * is to only obtain installed services, ignoring any which + * may appear on the classpath. This is equivalent to calling + * load(service, extClassLoader) where + * extClassLoader is the extension class loader + * (or null if this is unavailable). + * + * @param service the interface or abstract class that represents + * the service. + * @return a new {@link ServiceLoader} instance. + */ + public static ServiceLoader loadInstalled(Class service) + { + /* We expect the extension class loader to be the parent + * of the system class loader, as in + * ClassLoader.getDefaultSystemClassLoader() */ + return load(service, + ClassLoader.getSystemClassLoader().getParent()); + } + + /** + * Clears the cache of the provider, so that all providers + * are again read from the configuration file and instantiated. + */ + public void reload() + { + cache.clear(); + } + + /** + * Returns a textual representation of this + * {@link ServiceLoader}. + * + * @return a textual representation of the + * service loader. + */ + public String toString() + { + return getClass().getName() + + "[spi=" + spi + + ",loader=" + loader + + "]"; + } + +} diff --git a/libjava/classpath/java/util/StringTokenizer.java b/libjava/classpath/java/util/StringTokenizer.java index 0b59abe..b230c73 100644 --- a/libjava/classpath/java/util/StringTokenizer.java +++ b/libjava/classpath/java/util/StringTokenizer.java @@ -181,13 +181,15 @@ public class StringTokenizer implements Enumeration { if (retDelims) return str.substring(pos, ++pos); - while (++pos < len && delim.indexOf(str.charAt(pos)) >= 0); + while (++pos < len && delim.indexOf(str.charAt(pos)) >= 0) + ; } if (pos < len) { int start = pos; - while (++pos < len && delim.indexOf(str.charAt(pos)) < 0); - + while (++pos < len && delim.indexOf(str.charAt(pos)) < 0) + ; + return str.substring(start, pos); } throw new NoSuchElementException(); diff --git a/libjava/classpath/java/util/TreeMap.java b/libjava/classpath/java/util/TreeMap.java index 88abce1..f54cbc3 100644 --- a/libjava/classpath/java/util/TreeMap.java +++ b/libjava/classpath/java/util/TreeMap.java @@ -1,6 +1,6 @@ /* TreeMap.java -- a class providing a basic Red-Black Tree data structure, mapping Object --> Object - Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004, 2005 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004, 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -79,6 +79,7 @@ import java.io.Serializable; * @author Jon Zeppieri * @author Bryce McKinlay * @author Eric Blake (ebb9@email.byu.edu) + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) * @see Map * @see HashMap * @see Hashtable @@ -88,10 +89,10 @@ import java.io.Serializable; * @see Collection * @see Collections#synchronizedSortedMap(SortedMap) * @since 1.2 - * @status updated to 1.4 + * @status updated to 1.6 */ public class TreeMap extends AbstractMap - implements SortedMap, Cloneable, Serializable + implements NavigableMap, Cloneable, Serializable { // Implementation note: // A red-black tree is a binary search tree with the additional properties @@ -143,6 +144,16 @@ public class TreeMap extends AbstractMap private transient Set> entries; /** + * The cache for {@link #descendingMap()}. + */ + private transient NavigableMap descendingMap; + + /** + * The cache for {@link #navigableKeySet()}. + */ + private transient NavigableSet nKeys; + + /** * Counts the number of modifications this TreeMap has undergone, used * by Iterators to know when to throw ConcurrentModificationExceptions. * Package visible for use by nested classes. @@ -369,46 +380,7 @@ public class TreeMap extends AbstractMap if (entries == null) // Create an AbstractSet with custom implementations of those methods // that can be overriden easily and efficiently. - entries = new AbstractSet>() - { - public int size() - { - return size; - } - - public Iterator> iterator() - { - return new TreeIterator(ENTRIES); - } - - public void clear() - { - TreeMap.this.clear(); - } - - public boolean contains(Object o) - { - if (! (o instanceof Map.Entry)) - return false; - Map.Entry me = (Map.Entry) o; - Node n = getNode(me.getKey()); - return n != nil && AbstractSet.equals(me.getValue(), n.value); - } - - public boolean remove(Object o) - { - if (! (o instanceof Map.Entry)) - return false; - Map.Entry me = (Map.Entry) o; - Node n = getNode(me.getKey()); - if (n != nil && AbstractSet.equals(me.getValue(), n.value)) - { - removeNode(n); - return true; - } - return false; - } - }; + entries = new NavigableEntrySet(); return entries; } @@ -451,7 +423,9 @@ public class TreeMap extends AbstractMap * in one appear in the other. The submap will throw an * {@link IllegalArgumentException} for any attempt to access or add an * element beyond the specified cutoff. The returned map does not include - * the endpoint; if you want inclusion, pass the successor element. + * the endpoint; if you want inclusion, pass the successor element + * or call headMap(toKey, true). This is equivalent to + * calling headMap(toKey, false). * * @param toKey the (exclusive) cutoff point * @return a view of the map less than the cutoff @@ -462,7 +436,29 @@ public class TreeMap extends AbstractMap */ public SortedMap headMap(K toKey) { - return new SubMap((K)(Object)nil, toKey); + return headMap(toKey, false); + } + + /** + * Returns a view of this Map including all entries with keys less than + * (or equal to, if inclusive is true) toKey. + * The returned map is backed by the original, so changes in one appear + * in the other. The submap will throw an {@link IllegalArgumentException} + * for any attempt to access or add an element beyond the specified cutoff. + * + * @param toKey the cutoff point + * @param inclusive true if the cutoff point should be included. + * @return a view of the map less than (or equal to, if inclusive + * is true) the cutoff. + * @throws ClassCastException if toKey is not compatible with + * the comparator (or is not Comparable, for natural ordering) + * @throws NullPointerException if toKey is null, but the comparator does not + * tolerate null elements + */ + public NavigableMap headMap(K toKey, boolean inclusive) + { + return new SubMap((K)(Object)nil, inclusive + ? successor(getNode(toKey)).key : toKey); } /** @@ -479,37 +475,7 @@ public class TreeMap extends AbstractMap if (keys == null) // Create an AbstractSet with custom implementations of those methods // that can be overriden easily and efficiently. - keys = new AbstractSet() - { - public int size() - { - return size; - } - - public Iterator iterator() - { - return new TreeIterator(KEYS); - } - - public void clear() - { - TreeMap.this.clear(); - } - - public boolean contains(Object o) - { - return containsKey(o); - } - - public boolean remove(Object key) - { - Node n = getNode((K) key); - if (n == nil) - return false; - removeNode(n); - return true; - } - }; + keys = new KeySet(); return keys; } @@ -648,7 +614,9 @@ public class TreeMap extends AbstractMap * {@link IllegalArgumentException} for any attempt to access or add an * element beyond the specified cutoffs. The returned map includes the low * endpoint but not the high; if you want to reverse this behavior on - * either end, pass in the successor element. + * either end, pass in the successor element or call + * {@link #subMap(K,boolean,K,boolean)}. This call is equivalent to + * subMap(fromKey, true, toKey, false). * * @param fromKey the (inclusive) low cutoff point * @param toKey the (exclusive) high cutoff point @@ -661,7 +629,34 @@ public class TreeMap extends AbstractMap */ public SortedMap subMap(K fromKey, K toKey) { - return new SubMap(fromKey, toKey); + return subMap(fromKey, true, toKey, false); + } + + /** + * Returns a view of this Map including all entries with keys greater (or + * equal to, if fromInclusive is true) fromKey and + * less than (or equal to, if toInclusive is true) + * toKey. The returned map is backed by the original, so + * changes in one appear in the other. The submap will throw an + * {@link IllegalArgumentException} for any attempt to access or add an + * element beyond the specified cutoffs. + * + * @param fromKey the low cutoff point + * @param fromInclusive true if the low cutoff point should be included. + * @param toKey the high cutoff point + * @param toInclusive true if the high cutoff point should be included. + * @return a view of the map for the specified range. + * @throws ClassCastException if either cutoff is not compatible with + * the comparator (or is not Comparable, for natural ordering) + * @throws NullPointerException if fromKey or toKey is null, but the + * comparator does not tolerate null elements + * @throws IllegalArgumentException if fromKey is greater than toKey + */ + public NavigableMap subMap(K fromKey, boolean fromInclusive, + K toKey, boolean toInclusive) + { + return new SubMap(fromInclusive ? fromKey : successor(getNode(fromKey)).key, + toInclusive ? successor(getNode(toKey)).key : toKey); } /** @@ -671,6 +666,7 @@ public class TreeMap extends AbstractMap * {@link IllegalArgumentException} for any attempt to access or add an * element beyond the specified cutoff. The returned map includes the * endpoint; if you want to exclude it, pass in the successor element. + * This is equivalent to calling tailMap(fromKey, true). * * @param fromKey the (inclusive) low cutoff point * @return a view of the map above the cutoff @@ -681,7 +677,29 @@ public class TreeMap extends AbstractMap */ public SortedMap tailMap(K fromKey) { - return new SubMap(fromKey, (K)(Object)nil); + return tailMap(fromKey, true); + } + + /** + * Returns a view of this Map including all entries with keys greater or + * equal to fromKey. The returned map is backed by the + * original, so changes in one appear in the other. The submap will throw an + * {@link IllegalArgumentException} for any attempt to access or add an + * element beyond the specified cutoff. The returned map includes the + * endpoint; if you want to exclude it, pass in the successor element. + * + * @param fromKey the low cutoff point + * @param inclusive true if the cutoff point should be included. + * @return a view of the map above the cutoff + * @throws ClassCastException if fromKey is not compatible with + * the comparator (or is not Comparable, for natural ordering) + * @throws NullPointerException if fromKey is null, but the comparator + * does not tolerate null elements + */ + public NavigableMap tailMap(K fromKey, boolean inclusive) + { + return new SubMap(inclusive ? fromKey : successor(getNode(fromKey)).key, + (K)(Object)nil); } /** @@ -972,6 +990,21 @@ public class TreeMap extends AbstractMap */ final Node highestLessThan(K key) { + return highestLessThan(key, false); + } + + /** + * Find the "highest" node which is < (or equal to, + * if equal is true) key. If key is nil, + * return last node. Package visible for use by nested + * classes. + * + * @param key the upper bound, exclusive + * @param equal true if the key should be returned if found. + * @return the previous node + */ + final Node highestLessThan(K key, boolean equal) + { if (key == nil) return lastNode(); @@ -988,9 +1021,9 @@ public class TreeMap extends AbstractMap else if (comparison < 0) current = current.left; else // Exact match. - return predecessor(last); + return (equal ? last : predecessor(last)); } - return comparison <= 0 ? predecessor(last) : last; + return comparison < 0 ? predecessor(last) : last; } /** @@ -1084,8 +1117,8 @@ public class TreeMap extends AbstractMap /** * Find the "lowest" node which is >= key. If key is nil, return either - * nil or the first node, depending on the parameter first. - * Package visible for use by nested classes. + * nil or the first node, depending on the parameter first. Package visible + * for use by nested classes. * * @param key the lower bound, inclusive * @param first true to return the first element instead of nil for nil key @@ -1093,6 +1126,21 @@ public class TreeMap extends AbstractMap */ final Node lowestGreaterThan(K key, boolean first) { + return lowestGreaterThan(key, first, true); + } + + /** + * Find the "lowest" node which is > (or equal to, if equal + * is true) key. If key is nil, return either nil or the first node, depending + * on the parameter first. Package visible for use by nested classes. + * + * @param key the lower bound, inclusive + * @param first true to return the first element instead of nil for nil key + * @param equal true if the key should be returned if found. + * @return the next node + */ + final Node lowestGreaterThan(K key, boolean first, boolean equal) + { if (key == nil) return first ? firstNode() : nil; @@ -1109,7 +1157,7 @@ public class TreeMap extends AbstractMap else if (comparison < 0) current = current.left; else - return current; + return (equal ? current : successor(current)); } return comparison > 0 ? successor(last) : last; } @@ -1409,11 +1457,7 @@ public class TreeMap extends AbstractMap */ TreeIterator(int type) { - // FIXME gcj cannot handle this. Bug java/4695 - // this(type, firstNode(), nil); - this.type = type; - this.next = firstNode(); - this.max = nil; + this(type, firstNode(), nil); } /** @@ -1489,26 +1533,36 @@ public class TreeMap extends AbstractMap * * @author Eric Blake (ebb9@email.byu.edu) */ - private final class SubMap - extends AbstractMap - implements SortedMap + private final class SubMap + extends AbstractMap + implements NavigableMap { /** * The lower range of this view, inclusive, or nil for unbounded. * Package visible for use by nested classes. */ - final SK minKey; + final K minKey; /** * The upper range of this view, exclusive, or nil for unbounded. * Package visible for use by nested classes. */ - final SK maxKey; + final K maxKey; /** * The cache for {@link #entrySet()}. */ - private Set> entries; + private Set> entries; + + /** + * The cache for {@link #descendingMap()}. + */ + private NavigableMap descendingMap; + + /** + * The cache for {@link #navigableKeySet()}. + */ + private NavigableSet nKeys; /** * Create a SubMap representing the elements between minKey (inclusive) @@ -1519,9 +1573,9 @@ public class TreeMap extends AbstractMap * @param maxKey the upper bound * @throws IllegalArgumentException if minKey > maxKey */ - SubMap(SK minKey, SK maxKey) + SubMap(K minKey, K maxKey) { - if (minKey != nil && maxKey != nil && compare((K) minKey, (K) maxKey) > 0) + if (minKey != nil && maxKey != nil && compare(minKey, maxKey) > 0) throw new IllegalArgumentException("fromKey > toKey"); this.minKey = minKey; this.maxKey = maxKey; @@ -1535,12 +1589,41 @@ public class TreeMap extends AbstractMap * @param key the key to check * @return true if the key is in range */ - boolean keyInRange(SK key) + boolean keyInRange(K key) + { + return ((minKey == nil || compare(key, minKey) >= 0) + && (maxKey == nil || compare(key, maxKey) < 0)); + } + + public Entry ceilingEntry(K key) + { + Entry n = TreeMap.this.ceilingEntry(key); + if (n != null && keyInRange(n.getKey())) + return n; + return null; + } + + public K ceilingKey(K key) + { + K found = TreeMap.this.ceilingKey(key); + if (keyInRange(found)) + return found; + else + return null; + } + + public NavigableSet descendingKeySet() { - return ((minKey == nil || compare((K) key, (K) minKey) >= 0) - && (maxKey == nil || compare((K) key, (K) maxKey) < 0)); + return descendingMap().navigableKeySet(); } + public NavigableMap descendingMap() + { + if (descendingMap == null) + descendingMap = new DescendingMap(this); + return descendingMap; + } + public void clear() { Node next = lowestGreaterThan(minKey, true); @@ -1553,14 +1636,14 @@ public class TreeMap extends AbstractMap } } - public Comparator comparator() + public Comparator comparator() { return comparator; } public boolean containsKey(Object key) { - return keyInRange((SK) key) && TreeMap.this.containsKey(key); + return keyInRange((K) key) && TreeMap.this.containsKey(key); } public boolean containsValue(Object value) @@ -1576,150 +1659,160 @@ public class TreeMap extends AbstractMap return false; } - public Set> entrySet() + public Set> entrySet() { if (entries == null) // Create an AbstractSet with custom implementations of those methods // that can be overriden easily and efficiently. - entries = new AbstractSet>() - { - public int size() - { - return SubMap.this.size(); - } - - public Iterator> iterator() - { - Node first = lowestGreaterThan(minKey, true); - Node max = lowestGreaterThan(maxKey, false); - return new TreeIterator(ENTRIES, first, max); - } - - public void clear() - { - SubMap.this.clear(); - } - - public boolean contains(Object o) - { - if (! (o instanceof Map.Entry)) - return false; - Map.Entry me = (Map.Entry) o; - SK key = me.getKey(); - if (! keyInRange(key)) - return false; - Node n = getNode((K) key); - return n != nil && AbstractSet.equals(me.getValue(), n.value); - } - - public boolean remove(Object o) - { - if (! (o instanceof Map.Entry)) - return false; - Map.Entry me = (Map.Entry) o; - SK key = me.getKey(); - if (! keyInRange(key)) - return false; - Node n = getNode((K) key); - if (n != nil && AbstractSet.equals(me.getValue(), n.value)) - { - removeNode(n); - return true; - } - return false; - } - }; + entries = new SubMap.NavigableEntrySet(); return entries; } - public SK firstKey() + public Entry firstEntry() { - Node node = (Node) lowestGreaterThan(minKey, true); + Node node = lowestGreaterThan(minKey, true); if (node == nil || ! keyInRange(node.key)) + return null; + return node; + } + + public K firstKey() + { + Entry e = firstEntry(); + if (e == null) throw new NoSuchElementException(); - return node.key; + return e.getKey(); } - public SV get(Object key) + public Entry floorEntry(K key) { - if (keyInRange((SK) key)) - return (SV) TreeMap.this.get(key); + Entry n = TreeMap.this.floorEntry(key); + if (n != null && keyInRange(n.getKey())) + return n; return null; } - public SortedMap headMap(SK toKey) + public K floorKey(K key) { - if (! keyInRange(toKey)) - throw new IllegalArgumentException("key outside range"); - return new SubMap(minKey, toKey); + K found = TreeMap.this.floorKey(key); + if (keyInRange(found)) + return found; + else + return null; + } + + public V get(Object key) + { + if (keyInRange((K) key)) + return TreeMap.this.get(key); + return null; + } + + public SortedMap headMap(K toKey) + { + return headMap(toKey, false); + } + + public NavigableMap headMap(K toKey, boolean inclusive) + { + if (!keyInRange(toKey)) + throw new IllegalArgumentException("Key outside submap range"); + return new SubMap(minKey, (inclusive ? + successor(getNode(toKey)).key : toKey)); } - public Set keySet() + public Set keySet() { if (this.keys == null) // Create an AbstractSet with custom implementations of those methods // that can be overriden easily and efficiently. - this.keys = new AbstractSet() - { - public int size() - { - return SubMap.this.size(); - } - - public Iterator iterator() - { - Node first = lowestGreaterThan(minKey, true); - Node max = lowestGreaterThan(maxKey, false); - return new TreeIterator(KEYS, first, max); - } + this.keys = new SubMap.KeySet(); + return this.keys; + } - public void clear() - { - SubMap.this.clear(); - } + public Entry higherEntry(K key) + { + Entry n = TreeMap.this.higherEntry(key); + if (n != null && keyInRange(n.getKey())) + return n; + return null; + } - public boolean contains(Object o) - { - if (! keyInRange((SK) o)) - return false; - return getNode((K) o) != nil; - } + public K higherKey(K key) + { + K found = TreeMap.this.higherKey(key); + if (keyInRange(found)) + return found; + else + return null; + } - public boolean remove(Object o) - { - if (! keyInRange((SK) o)) - return false; - Node n = getNode((K) o); - if (n != nil) - { - removeNode(n); - return true; - } - return false; - } - }; - return this.keys; + public Entry lastEntry() + { + return lowerEntry(maxKey); } - public SK lastKey() + public K lastKey() { - Node node = (Node) highestLessThan(maxKey); - if (node == nil || ! keyInRange(node.key)) + Entry e = lastEntry(); + if (e == null) throw new NoSuchElementException(); - return (SK) node.key; + return e.getKey(); + } + + public Entry lowerEntry(K key) + { + Entry n = TreeMap.this.lowerEntry(key); + if (n != null && keyInRange(n.getKey())) + return n; + return null; + } + + public K lowerKey(K key) + { + K found = TreeMap.this.lowerKey(key); + if (keyInRange(found)) + return found; + else + return null; + } + + public NavigableSet navigableKeySet() + { + if (this.nKeys == null) + // Create an AbstractSet with custom implementations of those methods + // that can be overriden easily and efficiently. + this.nKeys = new SubMap.NavigableKeySet(); + return this.nKeys; + } + + public Entry pollFirstEntry() + { + Entry e = firstEntry(); + if (e != null) + removeNode((Node) e); + return e; + } + + public Entry pollLastEntry() + { + Entry e = lastEntry(); + if (e != null) + removeNode((Node) e); + return e; } - public SV put(SK key, SV value) + public V put(K key, V value) { if (! keyInRange(key)) throw new IllegalArgumentException("Key outside range"); - return (SV) TreeMap.this.put(key, value); + return TreeMap.this.put(key, value); } - public SV remove(Object key) + public V remove(Object key) { - if (keyInRange((SK)key)) - return (SV) TreeMap.this.remove(key); + if (keyInRange((K)key)) + return TreeMap.this.remove(key); return null; } @@ -1736,21 +1829,34 @@ public class TreeMap extends AbstractMap return count; } - public SortedMap subMap(SK fromKey, SK toKey) + public SortedMap subMap(K fromKey, K toKey) + { + return subMap(fromKey, true, toKey, false); + } + + public NavigableMap subMap(K fromKey, boolean fromInclusive, + K toKey, boolean toInclusive) { if (! keyInRange(fromKey) || ! keyInRange(toKey)) throw new IllegalArgumentException("key outside range"); - return new SubMap(fromKey, toKey); + return new SubMap(fromInclusive ? fromKey : successor(getNode(fromKey)).key, + toInclusive ? successor(getNode(toKey)).key : toKey); } - public SortedMap tailMap(SK fromKey) + public SortedMap tailMap(K fromKey) + { + return tailMap(fromKey, true); + } + + public NavigableMap tailMap(K fromKey, boolean inclusive) { if (! keyInRange(fromKey)) throw new IllegalArgumentException("key outside range"); - return new SubMap(fromKey, maxKey); + return new SubMap(inclusive ? fromKey : successor(getNode(fromKey)).key, + maxKey); } - public Collection values() + public Collection values() { if (this.values == null) // Create an AbstractCollection with custom implementations of those @@ -1762,7 +1868,7 @@ public class TreeMap extends AbstractMap return SubMap.this.size(); } - public Iterator iterator() + public Iterator iterator() { Node first = lowestGreaterThan(minKey, true); Node max = lowestGreaterThan(maxKey, false); @@ -1776,5 +1882,1439 @@ public class TreeMap extends AbstractMap }; return this.values; } - } // class SubMap + + private class KeySet + extends AbstractSet + { + public int size() + { + return SubMap.this.size(); + } + + public Iterator iterator() + { + Node first = lowestGreaterThan(minKey, true); + Node max = lowestGreaterThan(maxKey, false); + return new TreeIterator(KEYS, first, max); + } + + public void clear() + { + SubMap.this.clear(); + } + + public boolean contains(Object o) + { + if (! keyInRange((K) o)) + return false; + return getNode((K) o) != nil; + } + + public boolean remove(Object o) + { + if (! keyInRange((K) o)) + return false; + Node n = getNode((K) o); + if (n != nil) + { + removeNode(n); + return true; + } + return false; + } + + } // class SubMap.KeySet + + private final class NavigableKeySet + extends KeySet + implements NavigableSet + { + + public K ceiling(K k) + { + return SubMap.this.ceilingKey(k); + } + + public Comparator comparator() + { + return comparator; + } + + public Iterator descendingIterator() + { + return descendingSet().iterator(); + } + + public NavigableSet descendingSet() + { + return new DescendingSet(this); + } + + public K first() + { + return SubMap.this.firstKey(); + } + + public K floor(K k) + { + return SubMap.this.floorKey(k); + } + + public SortedSet headSet(K to) + { + return headSet(to, false); + } + + public NavigableSet headSet(K to, boolean inclusive) + { + return SubMap.this.headMap(to, inclusive).navigableKeySet(); + } + + public K higher(K k) + { + return SubMap.this.higherKey(k); + } + + public K last() + { + return SubMap.this.lastKey(); + } + + public K lower(K k) + { + return SubMap.this.lowerKey(k); + } + + public K pollFirst() + { + return SubMap.this.pollFirstEntry().getKey(); + } + + public K pollLast() + { + return SubMap.this.pollLastEntry().getKey(); + } + + public SortedSet subSet(K from, K to) + { + return subSet(from, true, to, false); + } + + public NavigableSet subSet(K from, boolean fromInclusive, + K to, boolean toInclusive) + { + return SubMap.this.subMap(from, fromInclusive, + to, toInclusive).navigableKeySet(); + } + + public SortedSet tailSet(K from) + { + return tailSet(from, true); + } + + public NavigableSet tailSet(K from, boolean inclusive) + { + return SubMap.this.tailMap(from, inclusive).navigableKeySet(); + } + + } // class SubMap.NavigableKeySet + + /** + * Implementation of {@link #entrySet()}. + */ + private class EntrySet + extends AbstractSet> + { + + public int size() + { + return SubMap.this.size(); + } + + public Iterator> iterator() + { + Node first = lowestGreaterThan(minKey, true); + Node max = lowestGreaterThan(maxKey, false); + return new TreeIterator(ENTRIES, first, max); + } + + public void clear() + { + SubMap.this.clear(); + } + + public boolean contains(Object o) + { + if (! (o instanceof Map.Entry)) + return false; + Map.Entry me = (Map.Entry) o; + K key = me.getKey(); + if (! keyInRange(key)) + return false; + Node n = getNode(key); + return n != nil && AbstractSet.equals(me.getValue(), n.value); + } + + public boolean remove(Object o) + { + if (! (o instanceof Map.Entry)) + return false; + Map.Entry me = (Map.Entry) o; + K key = me.getKey(); + if (! keyInRange(key)) + return false; + Node n = getNode(key); + if (n != nil && AbstractSet.equals(me.getValue(), n.value)) + { + removeNode(n); + return true; + } + return false; + } + } // class SubMap.EntrySet + + private final class NavigableEntrySet + extends EntrySet + implements NavigableSet> + { + + public Entry ceiling(Entry e) + { + return SubMap.this.ceilingEntry(e.getKey()); + } + + public Comparator> comparator() + { + return new Comparator>() + { + public int compare(Entry t1, Entry t2) + { + return comparator.compare(t1.getKey(), t2.getKey()); + } + }; + } + + public Iterator> descendingIterator() + { + return descendingSet().iterator(); + } + + public NavigableSet> descendingSet() + { + return new DescendingSet(this); + } + + public Entry first() + { + return SubMap.this.firstEntry(); + } + + public Entry floor(Entry e) + { + return SubMap.this.floorEntry(e.getKey()); + } + + public SortedSet> headSet(Entry to) + { + return headSet(to, false); + } + + public NavigableSet> headSet(Entry to, boolean inclusive) + { + return (NavigableSet>) + SubMap.this.headMap(to.getKey(), inclusive).entrySet(); + } + + public Entry higher(Entry e) + { + return SubMap.this.higherEntry(e.getKey()); + } + + public Entry last() + { + return SubMap.this.lastEntry(); + } + + public Entry lower(Entry e) + { + return SubMap.this.lowerEntry(e.getKey()); + } + + public Entry pollFirst() + { + return SubMap.this.pollFirstEntry(); + } + + public Entry pollLast() + { + return SubMap.this.pollLastEntry(); + } + + public SortedSet> subSet(Entry from, Entry to) + { + return subSet(from, true, to, false); + } + + public NavigableSet> subSet(Entry from, boolean fromInclusive, + Entry to, boolean toInclusive) + { + return (NavigableSet>) + SubMap.this.subMap(from.getKey(), fromInclusive, + to.getKey(), toInclusive).entrySet(); + } + + public SortedSet> tailSet(Entry from) + { + return tailSet(from, true); + } + + public NavigableSet> tailSet(Entry from, boolean inclusive) + { + return (NavigableSet>) + SubMap.this.tailMap(from.getKey(), inclusive).navigableKeySet(); + } + + } // class SubMap.NavigableEntrySet + +} // class SubMap + + /** + * Returns the entry associated with the least or lowest key + * that is greater than or equal to the specified key, or + * null if there is no such key. + * + * @param key the key relative to the returned entry. + * @return the entry with the least key greater than or equal + * to the given key, or null if there is + * no such key. + * @throws ClassCastException if the specified key can not + * be compared with those in the map. + * @throws NullPointerException if the key is null + * and this map either uses natural + * ordering or a comparator that does + * not permit null keys. + * @since 1.6 + */ + public Entry ceilingEntry(K key) + { + Node n = lowestGreaterThan(key, false); + return (n == nil) ? null : n; + } + + /** + * Returns the the least or lowest key that is greater than + * or equal to the specified key, or null if + * there is no such key. + * + * @param key the key relative to the returned entry. + * @return the least key greater than or equal to the given key, + * or null if there is no such key. + * @throws ClassCastException if the specified key can not + * be compared with those in the map. + * @throws NullPointerException if the key is null + * and this map either uses natural + * ordering or a comparator that does + * not permit null keys. + * @since 1.6 + */ + public K ceilingKey(K key) + { + Entry e = ceilingEntry(key); + return (e == null) ? null : e.getKey(); + } + + /** + * Returns a reverse ordered {@link NavigableSet} view of this + * map's keys. The set is backed by the {@link TreeMap}, so changes + * in one show up in the other. The set supports element removal, + * but not element addition. + * + * @return a reverse ordered set view of the keys. + * @since 1.6 + * @see #descendingMap() + */ + public NavigableSet descendingKeySet() + { + return descendingMap().navigableKeySet(); + } + + /** + * Returns a view of the map in reverse order. The descending map + * is backed by the original map, so that changes affect both maps. + * Any changes occurring to either map while an iteration is taking + * place (with the exception of a {@link Iterator#remove()} operation) + * result in undefined behaviour from the iteration. The ordering + * of the descending map is the same as for a map with a + * {@link Comparator} given by {@link Collections#reverseOrder()}, + * and calling {@link #descendingMap()} on the descending map itself + * results in a view equivalent to the original map. + * + * @return a reverse order view of the map. + * @since 1.6 + */ + public NavigableMap descendingMap() + { + if (descendingMap == null) + descendingMap = new DescendingMap(this); + return descendingMap; + } + + /** + * Returns the entry associated with the least or lowest key + * in the map, or null if the map is empty. + * + * @return the lowest entry, or null if the map + * is empty. + * @since 1.6 + */ + public Entry firstEntry() + { + Node n = firstNode(); + return (n == nil) ? null : n; + } + + /** + * Returns the entry associated with the greatest or highest key + * that is less than or equal to the specified key, or + * null if there is no such key. + * + * @param key the key relative to the returned entry. + * @return the entry with the greatest key less than or equal + * to the given key, or null if there is + * no such key. + * @throws ClassCastException if the specified key can not + * be compared with those in the map. + * @throws NullPointerException if the key is null + * and this map either uses natural + * ordering or a comparator that does + * not permit null keys. + * @since 1.6 + */ + public Entry floorEntry(K key) + { + Node n = highestLessThan(key, true); + return (n == nil) ? null : n; + } + + /** + * Returns the the greatest or highest key that is less than + * or equal to the specified key, or null if + * there is no such key. + * + * @param key the key relative to the returned entry. + * @return the greatest key less than or equal to the given key, + * or null if there is no such key. + * @throws ClassCastException if the specified key can not + * be compared with those in the map. + * @throws NullPointerException if the key is null + * and this map either uses natural + * ordering or a comparator that does + * not permit null keys. + * @since 1.6 + */ + public K floorKey(K key) + { + Entry e = floorEntry(key); + return (e == null) ? null : e.getKey(); + } + + /** + * Returns the entry associated with the least or lowest key + * that is strictly greater than the specified key, or + * null if there is no such key. + * + * @param key the key relative to the returned entry. + * @return the entry with the least key greater than + * the given key, or null if there is + * no such key. + * @throws ClassCastException if the specified key can not + * be compared with those in the map. + * @throws NullPointerException if the key is null + * and this map either uses natural + * ordering or a comparator that does + * not permit null keys. + * @since 1.6 + */ + public Entry higherEntry(K key) + { + Node n = lowestGreaterThan(key, false, false); + return (n == nil) ? null : n; + } + + /** + * Returns the the least or lowest key that is strictly + * greater than the specified key, or null if + * there is no such key. + * + * @param key the key relative to the returned entry. + * @return the least key greater than the given key, + * or null if there is no such key. + * @throws ClassCastException if the specified key can not + * be compared with those in the map. + * @throws NullPointerException if the key is null + * and this map either uses natural + * ordering or a comparator that does + * not permit null keys. + * @since 1.6 + */ + public K higherKey(K key) + { + Entry e = higherEntry(key); + return (e == null) ? null : e.getKey(); + } + + /** + * Returns the entry associated with the greatest or highest key + * in the map, or null if the map is empty. + * + * @return the highest entry, or null if the map + * is empty. + * @since 1.6 + */ + public Entry lastEntry() + { + Node n = lastNode(); + return (n == nil) ? null : n; + } + + /** + * Returns the entry associated with the greatest or highest key + * that is strictly less than the specified key, or + * null if there is no such key. + * + * @param key the key relative to the returned entry. + * @return the entry with the greatest key less than + * the given key, or null if there is + * no such key. + * @throws ClassCastException if the specified key can not + * be compared with those in the map. + * @throws NullPointerException if the key is null + * and this map either uses natural + * ordering or a comparator that does + * not permit null keys. + * @since 1.6 + */ + public Entry lowerEntry(K key) + { + Node n = highestLessThan(key); + return (n == nil) ? null : n; + } + + /** + * Returns the the greatest or highest key that is strictly + * less than the specified key, or null if + * there is no such key. + * + * @param key the key relative to the returned entry. + * @return the greatest key less than the given key, + * or null if there is no such key. + * @throws ClassCastException if the specified key can not + * be compared with those in the map. + * @throws NullPointerException if the key is null + * and this map either uses natural + * ordering or a comparator that does + * not permit null keys. + * @since 1.6 + */ + public K lowerKey(K key) + { + Entry e = lowerEntry(key); + return (e == null) ? null : e.getKey(); + } + + /** + * Returns a {@link NavigableSet} view of this map's keys. The set is + * backed by the {@link TreeMap}, so changes in one show up in the other. + * Any changes occurring to either while an iteration is taking + * place (with the exception of a {@link Iterator#remove()} operation) + * result in undefined behaviour from the iteration. The ordering + * The set supports element removal, but not element addition. + * + * @return a {@link NavigableSet} view of the keys. + * @since 1.6 + */ + public NavigableSet navigableKeySet() + { + if (nKeys == null) + nKeys = new NavigableKeySet(); + return nKeys; + } + + /** + * Removes and returns the entry associated with the least + * or lowest key in the map, or null if the map + * is empty. + * + * @return the removed first entry, or null if the + * map is empty. + * @since 1.6 + */ + public Entry pollFirstEntry() + { + Entry e = firstEntry(); + if (e != null) + removeNode((Node)e); + return e; + } + + /** + * Removes and returns the entry associated with the greatest + * or highest key in the map, or null if the map + * is empty. + * + * @return the removed last entry, or null if the + * map is empty. + * @since 1.6 + */ + public Entry pollLastEntry() + { + Entry e = lastEntry(); + if (e != null) + removeNode((Node)e); + return e; + } + + /** + * Implementation of {@link #descendingMap()} and associated + * derivatives. This class provides a view of the + * original backing map in reverse order, and throws + * {@link IllegalArgumentException} for attempts to + * access beyond that range. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + */ + private static final class DescendingMap + implements NavigableMap + { + + /** + * The cache for {@link #entrySet()}. + */ + private Set> entries; + + /** + * The cache for {@link #keySet()}. + */ + private Set keys; + + /** + * The cache for {@link #navigableKeySet()}. + */ + private NavigableSet nKeys; + + /** + * The cache for {@link #values()}. + */ + private Collection values; + + /** + * The backing {@link NavigableMap}. + */ + private NavigableMap map; + + /** + * Create a {@link DescendingMap} around the specified + * map. + * + * @param map the map to wrap. + */ + public DescendingMap(NavigableMap map) + { + this.map = map; + } + + public Map.Entry ceilingEntry(DK key) + { + return map.floorEntry(key); + } + + public DK ceilingKey(DK key) + { + return map.floorKey(key); + } + + public void clear() + { + map.clear(); + } + + public Comparator comparator() + { + return Collections.reverseOrder(map.comparator()); + } + + public boolean containsKey(Object o) + { + return map.containsKey(o); + } + + public boolean containsValue(Object o) + { + return map.containsValue(o); + } + + public NavigableSet descendingKeySet() + { + return descendingMap().navigableKeySet(); + } + + public NavigableMap descendingMap() + { + return map; + } + + public Set> entrySet() + { + if (entries == null) + entries = + new DescendingSet>((NavigableSet>) + map.entrySet()); + return entries; + } + + public boolean equals(Object o) + { + return map.equals(o); + } + + public Entry firstEntry() + { + return map.lastEntry(); + } + + public DK firstKey() + { + return map.lastKey(); + } + + public Entry floorEntry(DK key) + { + return map.ceilingEntry(key); + } + + public DK floorKey(DK key) + { + return map.ceilingKey(key); + } + + public DV get(Object key) + { + return map.get(key); + } + + public int hashCode() + { + return map.hashCode(); + } + + public SortedMap headMap(DK toKey) + { + return headMap(toKey, false); + } + + public NavigableMap headMap(DK toKey, boolean inclusive) + { + return new DescendingMap(map.tailMap(toKey, inclusive)); + } + + public Entry higherEntry(DK key) + { + return map.lowerEntry(key); + } + + public DK higherKey(DK key) + { + return map.lowerKey(key); + } + + public Set keySet() + { + if (keys == null) + keys = new DescendingSet(map.navigableKeySet()); + return keys; + } + + public boolean isEmpty() + { + return map.isEmpty(); + } + + public Entry lastEntry() + { + return map.firstEntry(); + } + + public DK lastKey() + { + return map.firstKey(); + } + + public Entry lowerEntry(DK key) + { + return map.higherEntry(key); + } + + public DK lowerKey(DK key) + { + return map.higherKey(key); + } + + public NavigableSet navigableKeySet() + { + if (nKeys == null) + nKeys = new DescendingSet(map.navigableKeySet()); + return nKeys; + } + + public Entry pollFirstEntry() + { + return pollLastEntry(); + } + + public Entry pollLastEntry() + { + return pollFirstEntry(); + } + + public DV put(DK key, DV value) + { + return map.put(key, value); + } + + public void putAll(Map m) + { + map.putAll(m); + } + + public DV remove(Object key) + { + return map.remove(key); + } + + public int size() + { + return map.size(); + } + + public SortedMap subMap(DK fromKey, DK toKey) + { + return subMap(fromKey, true, toKey, false); + } + + public NavigableMap subMap(DK fromKey, boolean fromInclusive, + DK toKey, boolean toInclusive) + { + return new DescendingMap(map.subMap(fromKey, fromInclusive, + toKey, toInclusive)); + } + + public SortedMap tailMap(DK fromKey) + { + return tailMap(fromKey, true); + } + + public NavigableMap tailMap(DK fromKey, boolean inclusive) + { + return new DescendingMap(map.headMap(fromKey, inclusive)); + } + + public String toString() + { + StringBuilder r = new StringBuilder("{"); + final Iterator> it = entrySet().iterator(); + while (it.hasNext()) + { + final Entry e = it.next(); + r.append(e.getKey()); + r.append('='); + r.append(e.getValue()); + r.append(", "); + } + r.replace(r.length() - 2, r.length(), "}"); + return r.toString(); + } + + public Collection values() + { + if (values == null) + // Create an AbstractCollection with custom implementations of those + // methods that can be overriden easily and efficiently. + values = new AbstractCollection() + { + public int size() + { + return size(); + } + + public Iterator iterator() + { + return new Iterator() + { + /** The last Entry returned by a next() call. */ + private Entry last; + + /** The next entry that should be returned by next(). */ + private Entry next = firstEntry(); + + public boolean hasNext() + { + return next != null; + } + + public DV next() + { + if (next == null) + throw new NoSuchElementException(); + last = next; + next = higherEntry(last.getKey()); + + return last.getValue(); + } + + public void remove() + { + if (last == null) + throw new IllegalStateException(); + + DescendingMap.this.remove(last.getKey()); + last = null; + } + }; + } + + public void clear() + { + clear(); + } + }; + return values; + } + + } // class DescendingMap + + /** + * Implementation of {@link #keySet()}. + */ + private class KeySet + extends AbstractSet + { + + public int size() + { + return size; + } + + public Iterator iterator() + { + return new TreeIterator(KEYS); + } + + public void clear() + { + TreeMap.this.clear(); + } + + public boolean contains(Object o) + { + return containsKey(o); + } + + public boolean remove(Object key) + { + Node n = getNode((K) key); + if (n == nil) + return false; + removeNode(n); + return true; + } + } // class KeySet + + /** + * Implementation of {@link #navigableKeySet()}. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + */ + private final class NavigableKeySet + extends KeySet + implements NavigableSet + { + + public K ceiling(K k) + { + return ceilingKey(k); + } + + public Comparator comparator() + { + return comparator; + } + + public Iterator descendingIterator() + { + return descendingSet().iterator(); + } + + public NavigableSet descendingSet() + { + return new DescendingSet(this); + } + + public K first() + { + return firstKey(); + } + + public K floor(K k) + { + return floorKey(k); + } + + public SortedSet headSet(K to) + { + return headSet(to, false); + } + + public NavigableSet headSet(K to, boolean inclusive) + { + return headMap(to, inclusive).navigableKeySet(); + } + + public K higher(K k) + { + return higherKey(k); + } + + public K last() + { + return lastKey(); + } + + public K lower(K k) + { + return lowerKey(k); + } + + public K pollFirst() + { + return pollFirstEntry().getKey(); + } + + public K pollLast() + { + return pollLastEntry().getKey(); + } + + public SortedSet subSet(K from, K to) + { + return subSet(from, true, to, false); + } + + public NavigableSet subSet(K from, boolean fromInclusive, + K to, boolean toInclusive) + { + return subMap(from, fromInclusive, + to, toInclusive).navigableKeySet(); + } + + public SortedSet tailSet(K from) + { + return tailSet(from, true); + } + + public NavigableSet tailSet(K from, boolean inclusive) + { + return tailMap(from, inclusive).navigableKeySet(); + } + + + } // class NavigableKeySet + + /** + * Implementation of {@link #descendingSet()} and associated + * derivatives. This class provides a view of the + * original backing set in reverse order, and throws + * {@link IllegalArgumentException} for attempts to + * access beyond that range. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + */ + private static final class DescendingSet + implements NavigableSet + { + + /** + * The backing {@link NavigableSet}. + */ + private NavigableSet set; + + /** + * Create a {@link DescendingSet} around the specified + * set. + * + * @param map the set to wrap. + */ + public DescendingSet(NavigableSet set) + { + this.set = set; + } + + public boolean add(D e) + { + return set.add(e); + } + + public boolean addAll(Collection c) + { + return set.addAll(c); + } + + public D ceiling(D e) + { + return set.floor(e); + } + + public void clear() + { + set.clear(); + } + + public Comparator comparator() + { + return Collections.reverseOrder(set.comparator()); + } + + public boolean contains(Object o) + { + return set.contains(o); + } + + public boolean containsAll(Collection c) + { + return set.containsAll(c); + } + + public Iterator descendingIterator() + { + return descendingSet().iterator(); + } + + public NavigableSet descendingSet() + { + return set; + } + + public boolean equals(Object o) + { + return set.equals(o); + } + + public D first() + { + return set.last(); + } + + public D floor(D e) + { + return set.ceiling(e); + } + + public int hashCode() + { + return set.hashCode(); + } + + public SortedSet headSet(D to) + { + return headSet(to, false); + } + + public NavigableSet headSet(D to, boolean inclusive) + { + return new DescendingSet(set.tailSet(to, inclusive)); + } + + public D higher(D e) + { + return set.lower(e); + } + + public boolean isEmpty() + { + return set.isEmpty(); + } + + public Iterator iterator() + { + return new Iterator() + { + + /** The last element returned by a next() call. */ + private D last; + + /** The next element that should be returned by next(). */ + private D next = first(); + + public boolean hasNext() + { + return next != null; + } + + public D next() + { + if (next == null) + throw new NoSuchElementException(); + last = next; + next = higher(last); + + return last; + } + + public void remove() + { + if (last == null) + throw new IllegalStateException(); + + DescendingSet.this.remove(last); + last = null; + } + }; + } + + public D last() + { + return set.first(); + } + + public D lower(D e) + { + return set.higher(e); + } + + public D pollFirst() + { + return set.pollLast(); + } + + public D pollLast() + { + return set.pollFirst(); + } + + public boolean remove(Object o) + { + return set.remove(o); + } + + public boolean removeAll(Collection c) + { + return set.removeAll(c); + } + + public boolean retainAll(Collection c) + { + return set.retainAll(c); + } + + public int size() + { + return set.size(); + } + + public SortedSet subSet(D from, D to) + { + return subSet(from, true, to, false); + } + + public NavigableSet subSet(D from, boolean fromInclusive, + D to, boolean toInclusive) + { + return new DescendingSet(set.subSet(from, fromInclusive, + to, toInclusive)); + } + + public SortedSet tailSet(D from) + { + return tailSet(from, true); + } + + public NavigableSet tailSet(D from, boolean inclusive) + { + return new DescendingSet(set.headSet(from, inclusive)); + } + + public Object[] toArray() + { + D[] array = (D[]) set.toArray(); + Arrays.sort(array, comparator()); + return array; + } + + public T[] toArray(T[] a) + { + T[] array = set.toArray(a); + Arrays.sort(array, (Comparator) comparator()); + return array; + } + + public String toString() + { + StringBuilder r = new StringBuilder("["); + final Iterator it = iterator(); + while (it.hasNext()) + { + final D o = it.next(); + if (o == this) + r.append(""); + else + r.append(o); + r.append(", "); + } + r.replace(r.length() - 2, r.length(), "]"); + return r.toString(); + } + + } // class DescendingSet + + private class EntrySet + extends AbstractSet> + { + public int size() + { + return size; + } + + public Iterator> iterator() + { + return new TreeIterator(ENTRIES); + } + + public void clear() + { + TreeMap.this.clear(); + } + + public boolean contains(Object o) + { + if (! (o instanceof Map.Entry)) + return false; + Map.Entry me = (Map.Entry) o; + Node n = getNode(me.getKey()); + return n != nil && AbstractSet.equals(me.getValue(), n.value); + } + + public boolean remove(Object o) + { + if (! (o instanceof Map.Entry)) + return false; + Map.Entry me = (Map.Entry) o; + Node n = getNode(me.getKey()); + if (n != nil && AbstractSet.equals(me.getValue(), n.value)) + { + removeNode(n); + return true; + } + return false; + } + } + + private final class NavigableEntrySet + extends EntrySet + implements NavigableSet> + { + + public Entry ceiling(Entry e) + { + return ceilingEntry(e.getKey()); + } + + public Comparator> comparator() + { + return new Comparator>() + { + public int compare(Entry t1, Entry t2) + { + return comparator.compare(t1.getKey(), t2.getKey()); + } + }; + } + + public Iterator> descendingIterator() + { + return descendingSet().iterator(); + } + + public NavigableSet> descendingSet() + { + return new DescendingSet(this); + } + + public Entry first() + { + return firstEntry(); + } + + public Entry floor(Entry e) + { + return floorEntry(e.getKey()); + } + + public SortedSet> headSet(Entry to) + { + return headSet(to, false); + } + + public NavigableSet> headSet(Entry to, boolean inclusive) + { + return (NavigableSet>) headMap(to.getKey(), inclusive).entrySet(); + } + + public Entry higher(Entry e) + { + return higherEntry(e.getKey()); + } + + public Entry last() + { + return lastEntry(); + } + + public Entry lower(Entry e) + { + return lowerEntry(e.getKey()); + } + + public Entry pollFirst() + { + return pollFirstEntry(); + } + + public Entry pollLast() + { + return pollLastEntry(); + } + + public SortedSet> subSet(Entry from, Entry to) + { + return subSet(from, true, to, false); + } + + public NavigableSet> subSet(Entry from, boolean fromInclusive, + Entry to, boolean toInclusive) + { + return (NavigableSet>) subMap(from.getKey(), fromInclusive, + to.getKey(), toInclusive).entrySet(); + } + + public SortedSet> tailSet(Entry from) + { + return tailSet(from, true); + } + + public NavigableSet> tailSet(Entry from, boolean inclusive) + { + return (NavigableSet>) tailMap(from.getKey(), inclusive).navigableKeySet(); + } + + } // class NavigableEntrySet + } // class TreeMap diff --git a/libjava/classpath/java/util/TreeSet.java b/libjava/classpath/java/util/TreeSet.java index 2851e4a..572cda6 100644 --- a/libjava/classpath/java/util/TreeSet.java +++ b/libjava/classpath/java/util/TreeSet.java @@ -79,10 +79,10 @@ import java.io.Serializable; * @see Collections#synchronizedSortedSet(SortedSet) * @see TreeMap * @since 1.2 - * @status updated to 1.4 + * @status updated to 1.6 */ public class TreeSet extends AbstractSet - implements SortedSet, Cloneable, Serializable + implements NavigableSet, Cloneable, Serializable { /** * Compatible with JDK 1.2. @@ -90,11 +90,11 @@ public class TreeSet extends AbstractSet private static final long serialVersionUID = -2479143000061671589L; /** - * The SortedMap which backs this Set. + * The NavigableMap which backs this Set. */ // Not final because of readObject. This will always be one of TreeMap or // TreeMap.SubMap, which both extend AbstractMap. - private transient SortedMap map; + private transient NavigableMap map; /** * Construct a new TreeSet whose backing TreeMap using the "natural" @@ -163,7 +163,7 @@ public class TreeSet extends AbstractSet * * @param backingMap the submap */ - private TreeSet(SortedMap backingMap) + private TreeSet(NavigableMap backingMap) { map = backingMap; } @@ -220,7 +220,7 @@ public class TreeSet extends AbstractSet { copy = (TreeSet) super.clone(); // Map may be either TreeMap or TreeMap.SubMap, hence the ugly casts. - copy.map = (SortedMap) ((AbstractMap) map).clone(); + copy.map = (NavigableMap) ((AbstractMap) map).clone(); } catch (CloneNotSupportedException x) { @@ -269,7 +269,9 @@ public class TreeSet extends AbstractSet * in one appear in the other. The subset will throw an * {@link IllegalArgumentException} for any attempt to access or add an * element beyond the specified cutoff. The returned set does not include - * the endpoint; if you want inclusion, pass the successor element. + * the endpoint; if you want inclusion, pass the successor element or + * call {@link #headSet(T,boolean)}. This call is equivalent to + * headSet(to, false). * * @param to the (exclusive) cutoff point * @return a view of the set less than the cutoff @@ -280,7 +282,28 @@ public class TreeSet extends AbstractSet */ public SortedSet headSet(T to) { - return new TreeSet(map.headMap(to)); + return headSet(to, false); + } + + /** + * Returns a view of this Set including all elements less than + * (or equal to, if inclusive is true) to. + * The returned set is backed by the original, so changes + * in one appear in the other. The subset will throw an + * {@link IllegalArgumentException} for any attempt to access or add an + * element beyond the specified cutoff. + * + * @param to the cutoff point + * @param inclusive true if to should be included. + * @return a view of the set for the specified range. + * @throws ClassCastException if to is not compatible with + * the comparator (or is not Comparable, for natural ordering) + * @throws NullPointerException if to is null, but the comparator does not + * tolerate null elements + */ + public NavigableSet headSet(T to, boolean inclusive) + { + return new TreeSet(map.headMap(to, inclusive)); } /** @@ -345,7 +368,9 @@ public class TreeSet extends AbstractSet * the other. The subset will throw an {@link IllegalArgumentException} * for any attempt to access or add an element beyond the specified cutoffs. * The returned set includes the low endpoint but not the high; if you want - * to reverse this behavior on either end, pass in the successor element. + * to reverse this behavior on either end, pass in the successor element + * or call {@link #subSet(T,boolean,T,boolean)}. This is equivalent to + * calling subSet(from,true,to,false). * * @param from the (inclusive) low cutoff point * @param to the (exclusive) high cutoff point @@ -358,7 +383,33 @@ public class TreeSet extends AbstractSet */ public SortedSet subSet(T from, T to) { - return new TreeSet(map.subMap(from, to)); + return subSet(from, true, to, false); + } + + /** + * Returns a view of this Set including all elements greater than (or equal to, + * if fromInclusive is true from and less than + * (or equal to, if toInclusive is true) to. + * The returned set is backed by the original, so changes in one appear in + * the other. The subset will throw an {@link IllegalArgumentException} + * for any attempt to access or add an element beyond the specified cutoffs. + * + * @param from the low cutoff point + * @param fromInclusive true if from should be included. + * @param to the high cutoff point + * @param toInclusive true if to should be included. + * @return a view of the set for the specified range. + * @throws ClassCastException if either cutoff is not compatible with + * the comparator (or is not Comparable, for natural ordering) + * @throws NullPointerException if from or to is null, but the comparator + * does not tolerate null elements + * @throws IllegalArgumentException if from is greater than to + */ + public NavigableSet subSet(T from, boolean fromInclusive, + T to, boolean toInclusive) + { + return new TreeSet(map.subMap(from, fromInclusive, + to, toInclusive)); } /** @@ -367,7 +418,9 @@ public class TreeSet extends AbstractSet * changes in one appear in the other. The subset will throw an * {@link IllegalArgumentException} for any attempt to access or add an * element beyond the specified cutoff. The returned set includes the - * endpoint; if you want to exclude it, pass in the successor element. + * endpoint; if you want to exclude it, pass in the successor element + * or call {@link #tailSet(T,boolean)}. This is equivalent to calling + * tailSet(from, true). * * @param from the (inclusive) low cutoff point * @return a view of the set above the cutoff @@ -378,7 +431,27 @@ public class TreeSet extends AbstractSet */ public SortedSet tailSet(T from) { - return new TreeSet(map.tailMap(from)); + return tailSet(from, true); + } + + /** + * Returns a view of this Set including all elements greater (or equal to, + * if inclusive is true) from. The returned set + * is backed by the original, so changes in one appear in the other. The + * subset will throw an {@link IllegalArgumentException} for any attempt + * to access or add an element beyond the specified cutoff. + * + * @param from the low cutoff point. + * @param inclusive true if from should be included. + * @return a view of the set for the specified range. + * @throws ClassCastException if from is not compatible with + * the comparator (or is not Comparable, for natural ordering) + * @throws NullPointerException if from is null, but the comparator + * does not tolerate null elements + */ + public NavigableSet tailSet(T from, boolean inclusive) + { + return new TreeSet(map.tailMap(from, inclusive)); } /** @@ -418,4 +491,151 @@ public class TreeSet extends AbstractSet map = new TreeMap(comparator); ((TreeMap) map).putFromObjStream(s, size, false); } + + /** + * Returns the least or lowest element in the set greater than or + * equal to the given element, or null if there is + * no such element. + * + * @param e the element relative to the returned element. + * @return the least element greater than or equal + * to the given element, or null if there is + * no such element. + * @throws ClassCastException if the specified element can not + * be compared with those in the map. + * @throws NullPointerException if the element is null + * and this set either uses natural + * ordering or a comparator that does + * not permit null elements. + * @since 1.6 + */ + public T ceiling(T e) + { + return map.ceilingKey(e); + } + + /** + * Returns an iterator over the elements of this set in descending + * order. This is equivalent to calling + * descendingSet().iterator(). + * + * @return an iterator over the elements in descending order. + * @since 1.6 + */ + public Iterator descendingIterator() + { + return descendingSet().iterator(); + } + + /** + * Returns a view of the set in reverse order. The descending set + * is backed by the original set, so that changes affect both sets. + * Any changes occurring to either set while an iteration is taking + * place (with the exception of a {@link Iterator#remove()} operation) + * result in undefined behaviour from the iteration. The ordering + * of the descending set is the same as for a set with a + * {@link Comparator} given by {@link Collections#reverseOrder()}, + * and calling {@link #descendingSet()} on the descending set itself + * results in a view equivalent to the original set. + * + * @return a reverse order view of the set. + * @since 1.6 + */ + public NavigableSet descendingSet() + { + return map.descendingKeySet(); + } + + /** + * Returns the greatest or highest element in the set less than or + * equal to the given element, or null if there is + * no such element. + * + * @param e the element relative to the returned element. + * @return the greatest element less than or equal + * to the given element, or null if there is + * no such element. + * @throws ClassCastException if the specified element can not + * be compared with those in the map. + * @throws NullPointerException if the element is null + * and this set either uses natural + * ordering or a comparator that does + * not permit null elements. + * @since 1.6 + */ + public T floor(T e) + { + return map.floorKey(e); + } + + /** + * Returns the least or lowest element in the set strictly greater + * than the given element, or null if there is + * no such element. + * + * @param e the element relative to the returned element. + * @return the least element greater than + * the given element, or null if there is + * no such element. + * @throws ClassCastException if the specified element can not + * be compared with those in the map. + * @throws NullPointerException if the element is null + * and this set either uses natural + * ordering or a comparator that does + * not permit null elements. + * @since 1.6 + */ + public T higher(T e) + { + return map.higherKey(e); + } + + /** + * Returns the greatest or highest element in the set strictly less + * than the given element, or null if there is + * no such element. + * + * @param e the element relative to the returned element. + * @return the greatest element less than + * the given element, or null if there is + * no such element. + * @throws ClassCastException if the specified element can not + * be compared with those in the map. + * @throws NullPointerException if the element is null + * and this set either uses natural + * ordering or a comparator that does + * not permit null elements. + * @since 1.6 + */ + public T lower(T e) + { + return map.lowerKey(e); + } + + /** + * Removes and returns the least or lowest element in the set, + * or null if the map is empty. + * + * @return the removed first element, or null if the + * map is empty. + * @since 1.6 + */ + public T pollFirst() + { + return map.pollFirstEntry().getKey(); + } + + /** + * Removes and returns the greatest or highest element in the set, + * or null if the map is empty. + * + * @return the removed last element, or null if the + * map is empty. + * @since 1.6 + */ + public T pollLast() + { + return map.pollLastEntry().getKey(); + } + } diff --git a/libjava/classpath/java/util/class-dependencies.conf b/libjava/classpath/java/util/class-dependencies.conf deleted file mode 100644 index 39f9606..0000000 --- a/libjava/classpath/java/util/class-dependencies.conf +++ /dev/null @@ -1,78 +0,0 @@ -# This property file contains dependencies of classes, methods, and -# field on other methods or classes. -# -# Syntax: -# -# : [... ] -# -# means that when is included, (... ) must -# be included as well. -# -# and are of the form -# -# -# -# or just -# -# -# -# Within dependencies, variables can be used. A variable is defined as -# follows: -# -# {variable}: value1 value2 ... value -# -# variables can be used on the right side of dependencies as follows: -# -# : com.bla.blu.{variable}.Class.m()V -# -# The use of the variable will expand to dependencies of the form -# -# : com.bla.blu.value1.Class.m()V -# : com.bla.blu.value2.Class.m()V -# ... -# : com.bla.blu.value.Class.m()V -# -# Variables can be redefined when building a system to select the -# required support for features like encodings, protocols, etc. -# -# Hints: -# -# - For methods and fields, the signature is mandatory. For -# specification, please see the Java Virtual Machine Specification by -# SUN. Unlike in the spec, field signatures (types) are in brackets. -# -# - Package names must be separated by '/' (and not '.'). E.g., -# java/lang/Class (this is necessary, because the '.' is used to -# separate method or field names from classes) -# -# - In case refers to a class, only the class itself will be -# included in the resulting binary, NOT necessarily all its methods -# and fields. If you want to refer to all methods and fields, you can -# write class.* as an abbreviation. -# -# - Abbreviations for packages are also possible: my/package/* means all -# methods and fields of all classes in my/package. -# -# - A line with a trailing '\' continues in the next line. - - -# All calendars supported are loaded via java/util/Calendar.getBundle or -# java/util/GregorianCalendar.getBundle from class -# gnu/java/locale/Calendar_{locale_id} -# -# This introduces a dependency for the localized calendars. To allow an easy -# selection and addition of locales, the library variable {calendar_locales} -# can be set to the set of supported calendar locales. -# - -{calendar_locales}: de en nl - -java/util/Calendar.getBundle(Ljava/util/Locale;)Ljava/util/ResourceBundle;: \ - gnu/java/locale/Calendar.* \ - gnu/java/locale/Calendar_{calendar_locales}.* - -java/util/GregorianCalendar.getBundle(Ljava/util/Locale;)Ljava/util/ResourceBundle;: \ - gnu/java/locale/Calendar.* \ - gnu/java/locale/Calendar_{calendar_locales}.* - -# end of file diff --git a/libjava/classpath/java/util/concurrent/CopyOnWriteArrayList.java b/libjava/classpath/java/util/concurrent/CopyOnWriteArrayList.java index 5ef37d9..48c017f 100644 --- a/libjava/classpath/java/util/concurrent/CopyOnWriteArrayList.java +++ b/libjava/classpath/java/util/concurrent/CopyOnWriteArrayList.java @@ -349,7 +349,8 @@ public class CopyOnWriteArrayList extends AbstractList implements { E[] data = this.data; E[] newData = (E[]) new Object[data.length - 1]; - System.arraycopy(data, 0, newData, 0, index - 1); + if (index > 0) + System.arraycopy(data, 0, newData, 0, index - 1); System.arraycopy(data, index + 1, newData, index, data.length - index - 1); E r = data[index]; diff --git a/libjava/classpath/java/util/logging/LogManager.java b/libjava/classpath/java/util/logging/LogManager.java index fbc0fe7..6daf3db 100644 --- a/libjava/classpath/java/util/logging/LogManager.java +++ b/libjava/classpath/java/util/logging/LogManager.java @@ -1,6 +1,6 @@ /* LogManager.java -- a class for maintaining Loggers and managing configuration properties - Copyright (C) 2002, 2005, 2006 Free Software Foundation, Inc. + Copyright (C) 2002, 2005, 2006, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -446,8 +446,8 @@ public class LogManager Iterator> iter = loggers.values().iterator(); while (iter.hasNext()) - for (WeakReference ref : loggers.values()) { + WeakReference ref; Logger logger; ref = iter.next(); @@ -559,13 +559,21 @@ public class LogManager if ("handlers".equals(key)) { - StringTokenizer tokenizer = new StringTokenizer(value); + // In Java 5 and earlier this was specified to be + // whitespace-separated, but in reality it also accepted + // commas (tomcat relied on this), and in Java 6 the + // documentation was updated to fit the implementation. + StringTokenizer tokenizer = new StringTokenizer(value, + " \t\n\r\f,"); while (tokenizer.hasMoreTokens()) { String handlerName = tokenizer.nextToken(); Handler handler = (Handler) createInstance(handlerName, Handler.class, key); - Logger.root.addHandler(handler); + // Tomcat also relies on the implementation ignoring + // items in 'handlers' which are not class names. + if (handler != null) + Logger.root.addHandler(handler); } } diff --git a/libjava/classpath/java/util/logging/Logger.java b/libjava/classpath/java/util/logging/Logger.java index 46588e5..01ef8f5 100644 --- a/libjava/classpath/java/util/logging/Logger.java +++ b/libjava/classpath/java/util/logging/Logger.java @@ -1,5 +1,5 @@ /* Logger.java -- a class for logging messages - Copyright (C) 2002, 2004, 2006 Free Software Foundation, Inc. + Copyright (C) 2002, 2004, 2006, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -276,8 +276,8 @@ public class Logger LogManager lm = LogManager.getLogManager(); Logger result; - /* Throw NullPointerException if name is null. */ - name.getClass(); + if (name == null) + throw new NullPointerException(); /* Without synchronized(lm), it could happen that another thread * would create a logger between our calls to getLogger and @@ -1013,8 +1013,8 @@ public class Logger public synchronized void addHandler(Handler handler) throws SecurityException { - /* Throw a new NullPointerException if handler is null. */ - handler.getClass(); + if (handler == null) + throw new NullPointerException(); /* An application is allowed to control an anonymous logger * without having the permission to control the logging @@ -1057,8 +1057,8 @@ public class Logger if (!anonymous) LogManager.getLogManager().checkAccess(); - /* Throw a new NullPointerException if handler is null. */ - handler.getClass(); + if (handler == null) + throw new NullPointerException(); handlerList.remove(handler); handlers = getHandlers(); @@ -1166,8 +1166,8 @@ public class Logger */ public synchronized void setParent(Logger parent) { - /* Throw a new NullPointerException if parent is null. */ - parent.getClass(); + if (parent == null) + throw new NullPointerException(); if (this == root) throw new IllegalArgumentException( diff --git a/libjava/classpath/java/util/prefs/AbstractPreferences.java b/libjava/classpath/java/util/prefs/AbstractPreferences.java index e676dc3..f3a62e6 100644 --- a/libjava/classpath/java/util/prefs/AbstractPreferences.java +++ b/libjava/classpath/java/util/prefs/AbstractPreferences.java @@ -45,6 +45,7 @@ import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.OutputStream; import java.util.ArrayList; +import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.TreeSet; @@ -97,17 +98,18 @@ public abstract class AbstractPreferences extends Preferences { * accessed by earlier getChild() or childSpi() * invocations and that have not been removed. */ - private HashMap childCache = new HashMap(); + private HashMap childCache + = new HashMap(); /** * A list of all the registered NodeChangeListener objects. */ - private ArrayList nodeListeners; + private ArrayList nodeListeners; /** * A list of all the registered PreferenceChangeListener objects. */ - private ArrayList preferenceListeners; + private ArrayList preferenceListeners; // constructor @@ -202,7 +204,8 @@ public abstract class AbstractPreferences extends Preferences { */ protected final AbstractPreferences[] cachedChildren() { - return (AbstractPreferences[]) childCache.values().toArray(); + Collection vals = childCache.values(); + return vals.toArray(new AbstractPreferences[vals.size()]); } /** @@ -228,7 +231,7 @@ public abstract class AbstractPreferences extends Preferences { if (isRemoved()) throw new IllegalStateException("Node removed"); - TreeSet childrenNames = new TreeSet(); + TreeSet childrenNames = new TreeSet(); // First get all cached node names childrenNames.addAll(childCache.keySet()); @@ -1165,7 +1168,7 @@ public abstract class AbstractPreferences extends Preferences { if (listener == null) throw new NullPointerException("listener is null"); if (nodeListeners == null) - nodeListeners = new ArrayList(); + nodeListeners = new ArrayList(); nodeListeners.add(listener); } } @@ -1184,7 +1187,7 @@ public abstract class AbstractPreferences extends Preferences { if (listener == null) throw new NullPointerException("listener is null"); if (preferenceListeners == null) - preferenceListeners = new ArrayList(); + preferenceListeners = new ArrayList(); preferenceListeners.add(listener); } } diff --git a/libjava/classpath/java/util/prefs/Preferences.java b/libjava/classpath/java/util/prefs/Preferences.java index e53e4fc..e8cdda8 100644 --- a/libjava/classpath/java/util/prefs/Preferences.java +++ b/libjava/classpath/java/util/prefs/Preferences.java @@ -183,9 +183,9 @@ public abstract class Preferences { // Get the factory if (factory == null) { // Caller might not have enough permissions - factory = (PreferencesFactory) AccessController.doPrivileged( - new PrivilegedAction() { - public Object run() { + factory = AccessController.doPrivileged( + new PrivilegedAction() { + public PreferencesFactory run() { PreferencesFactory pf = null; String className = System.getProperty ("java.util.prefs.PreferencesFactory"); diff --git a/libjava/classpath/java/util/regex/Pattern.java b/libjava/classpath/java/util/regex/Pattern.java index d716fa4..217ce08 100644 --- a/libjava/classpath/java/util/regex/Pattern.java +++ b/libjava/classpath/java/util/regex/Pattern.java @@ -1,5 +1,5 @@ /* Pattern.java -- Compiled regular expression ready to be applied. - Copyright (C) 2002, 2004, 2005 Free Software Foundation, Inc. + Copyright (C) 2002, 2004, 2005, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -246,7 +246,7 @@ public final class Pattern implements Serializable { String t = input.subSequence(start, input.length()).toString(); if ("".equals(t) && limit == 0) - ; // Don't add. + { /* Don't add. */ } else list.add(t); } @@ -260,4 +260,14 @@ public final class Pattern implements Serializable { return regex; } + + /** + * Return the regular expression used to construct this object. + * @specnote Prior to JDK 1.5 this method had a different behavior + * @since 1.5 + */ + public String toString() + { + return regex; + } } diff --git a/libjava/classpath/java/util/spi/CurrencyNameProvider.java b/libjava/classpath/java/util/spi/CurrencyNameProvider.java new file mode 100644 index 0000000..14fae4d --- /dev/null +++ b/libjava/classpath/java/util/spi/CurrencyNameProvider.java @@ -0,0 +1,100 @@ +/* CurrencyNameProvider.java -- Providers of localized currency symbols + Copyright (C) 2007 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.util.spi; + +import java.util.Locale; + +/** + * A {@link CurrencyNameProvider} provides localized + * versions of the symbols that represent a particular + * currency. Note that currency symbols are regarded + * as names, and thus a null value may + * be returned, which should be treated as a lack of + * support for the specified {@link Locale}. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.6 + */ +public abstract class CurrencyNameProvider + extends LocaleServiceProvider +{ + + /** + * Constructs a new {@link CurrencyNameProvider}. + * Provided for implicit invocation by subclasses. + */ + protected CurrencyNameProvider() + { + } + + /** + *

      + * This method returns the symbol which precedes or follows a + * value in this particular currency. The returned value is + * the symbol used to denote the currency in the specified locale. + *

      + *

      + * For example, a supplied locale may specify a different symbol + * for the currency, due to conflicts with its own currency. + * This would be the case with the American currency, the dollar. + * Locales that also use a dollar-based currency (e.g. Canada, Australia) + * need to differentiate the American dollar using 'US$' rather than '$'. + * So, supplying one of these locales to getSymbol() would + * return this value, rather than the standard '$'. + *

      + *

      + * In cases where there is no such symbol for a particular currency, + * null should be returned. + *

      + * + * @param currencyCode the ISO 4217 currency code, consisting + * of three uppercase letters from 'A' to 'Z' + * @param locale the locale to express the symbol in. + * @return the currency symbol, or null if one is + * unavailable. + * @throws NullPointerException if the locale is null. + * @throws IllegalArgumentException if the currency code is + * not in the correct format + * or the locale is not one + * returned by + * {@link getAvailableLocales()} + * @see java.util.Currency#getSymbol(java.util.Locale) + */ + public abstract String getSymbol(String currencyCode, Locale locale); + +} diff --git a/libjava/classpath/java/util/spi/LocaleNameProvider.java b/libjava/classpath/java/util/spi/LocaleNameProvider.java new file mode 100644 index 0000000..dfd2e4c --- /dev/null +++ b/libjava/classpath/java/util/spi/LocaleNameProvider.java @@ -0,0 +1,135 @@ +/* LocaleNameProvider.java -- Providers of localized locale names + Copyright (C) 2007 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.util.spi; + +import java.util.Locale; + +/** + * A {@link LocaleNameProvider} provides localized + * versions of the names that represent a particular + * locale. Note that a null value may + * be returned, which should be treated as a lack of + * support for the specified {@link Locale}. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.6 + */ +public abstract class LocaleNameProvider + extends LocaleServiceProvider +{ + + /** + * Constructs a new {@link LocaleNameProvider}. + * Provided for implicit invocation by subclasses. + */ + protected LocaleNameProvider() + { + } + + /** + * Returns the localized name for the specified ISO 3166 + * country in the supplied {@link java.util.Locale}. + * For example, if the country code is "DE", + * this method will return "Germany" for + * {@link Locale.ENGLISH} but "Deutschland" + * for {@link Locale.GERMANY}. If the name of the country + * in the given locale is not supported, null + * is returned. + * + * @param countryCode the ISO 3166 country code, consisting + * of two uppercase letters from 'A' to 'Z' + * @param locale the locale to express the country in. + * @return the country name, or null if one is + * not available. + * @throws NullPointerException if the locale is null. + * @throws IllegalArgumentException if the country code is + * not in the correct format + * or the locale is not one + * returned by + * {@link getAvailableLocales()} + * @see java.util.Locale#getDisplayCountry(java.util.Locale) + */ + public abstract String getDisplayCountry(String countryCode, + Locale locale); + + /** + * Returns the localized name for the specified ISO 639 + * language in the supplied {@link java.util.Locale}. + * For example, if the language code is "de", + * this method will return "German" for + * {@link Locale.ENGLISH} but "Deutsch" + * for {@link Locale.GERMANY}. If the name of the language + * in the given locale is not supported, null + * is returned. + * + * @param langCode the ISO 639 language code, consisting + * of two lowercase letters from 'a' to 'z' + * @param locale the locale to express the language in. + * @return the country name, or null if one is + * not available. + * @throws NullPointerException if the locale is null. + * @throws IllegalArgumentException if the language code is + * not in the correct format + * or the locale is not one + * returned by + * {@link getAvailableLocales()} + * @see java.util.Locale#getDisplayLanguage(java.util.Locale) + */ + public abstract String getDisplayLanguage(String langCode, + Locale locale); + + /** + * Returns the localized name for the specified variant + * in the supplied {@link java.util.Locale}. If the name + * of the variant in the given locale is not supported, + * null is returned. + * + * @param variant the variant. + * @param locale the locale to express the variant in. + * @return the localized variant, or null if one is + * not available. + * @throws NullPointerException if the locale is null. + * @throws IllegalArgumentException if the locale is not one + * returned by + * {@link getAvailableLocales()} + * @see java.util.Locale#getDisplayVariant(java.util.Locale) + */ + public abstract String getDisplayVariant(String variant, + Locale locale); + +} diff --git a/libjava/classpath/java/util/spi/LocaleServiceProvider.java b/libjava/classpath/java/util/spi/LocaleServiceProvider.java new file mode 100644 index 0000000..bb5b685 --- /dev/null +++ b/libjava/classpath/java/util/spi/LocaleServiceProvider.java @@ -0,0 +1,125 @@ +/* LocaleServiceProvider.java -- Superclass of locale SPIs + Copyright (C) 2007 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.util.spi; + +import java.util.Locale; + +/** + *

      + * This is the superclass of all the {@link Locale} service + * provider interfaces or SPIs. The locale SPIs are used + * to allow for the provision of additional support for + * locale-specific data. The runtime environment has its + * own collection of locale data, but these interfaces allow + * this to be extended by external classes. + *

      + *

      + * Service providers are created as concrete implementations + * of these interfaces, and accessed using the extension + * mechanism, realised by {@link ServiceLoader}. When a factory + * method of one of the locale-specific classes (such as + * {@link java.text.DateFormatSymbols} or {@link java.util.Currency}) + * is called, the runtime environment is first asked to + * provide data for the specified locale. If the runtime + * environment fails to provide this, then the offer is + * made to service providers which implement the appropriate + * interface. + *

      + *

      + * Each provider implements the method specified by this + * class, {@link #getAvailableLocales()}. This method is + * called first to determine whether the provider will be of + * any use in providing data for the specified locale. If + * a provider is found to be capable, then a more specific + * method appropriate to the class requiring the data will + * be called. In the case of {@link java.text.DateFormatSymbols}, + * this would be + * {@link java.text.spi.DateFormatSymbols#getInstance(Locale)}. + *

      + *

      + * If neither a service provider nor the runtime environment + * itself can fulfill the request, a fallback procedure is + * engaged. The locale is modified by applying the first + * applicable rule: + *

      + *
        + *
      1. If the variant contains a '_', then + * this and everything following it is trimmed.
      2. + *
      3. If the variant is non-empty, it is converted to + * an empty string.
      4. + *
      5. If the country is non-empty, it is converted to + * an empty string.
      6. + *
      7. If the language is non-empty, it is converted to + * an empty string.
      8. + *
      + *

      + * The modified locale is then used to start the same + * process again. The root locale (@link java.util.Locale#ROOT} + * must be supported by the runtime environment in order + * to terminate this cycle. + *

      + *

      + * Note that any names returned by the providers may + * be null. Returning a null + * name is considered equivalent to not supporting a + * particular locale. + *

      + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.6 + */ +public abstract class LocaleServiceProvider +{ + + /** + * Constructs a new {@link LocaleServiceProvider}. + * Provided for implicit invocation by subclasses. + */ + protected LocaleServiceProvider() + { + } + + /** + * Returns an array of {@link Locale} instances, + * for which the provider can supply localized data. + * + * @return an array of supported locales. + */ + public abstract Locale[] getAvailableLocales(); + +} diff --git a/libjava/classpath/java/util/spi/TimeZoneNameProvider.java b/libjava/classpath/java/util/spi/TimeZoneNameProvider.java new file mode 100644 index 0000000..2815670 --- /dev/null +++ b/libjava/classpath/java/util/spi/TimeZoneNameProvider.java @@ -0,0 +1,97 @@ +/* TimeZoneNameProvider.java -- Providers of localized currency symbols + Copyright (C) 2007 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.util.spi; + +import java.util.Locale; + +/** + * A {@link TimeZoneNameProvider} provides localized + * versions of the names that represent a particular + * timezone. A null value may + * be returned, which should be treated as a lack of + * support for the specified {@link Locale}. The names + * from this class are also used by + * {@link DateFormatSymbols#getZoneStrings()}. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.6 + */ +public abstract class TimeZoneNameProvider + extends LocaleServiceProvider +{ + + /** + * Constructs a new {@link TimeZoneNameProvider}. + * Provided for implicit invocation by subclasses. + */ + protected TimeZoneNameProvider() + { + } + + /** + * Returns a name for the specified time zone identifier + * localized to the supplied {@link java.util.Locale}. + * The time zone identifier is either "GMT" + * or one of the identifiers from the public domain "tz + * database" found at + * ftp://elsie.nci.nih.gov/pub. Note that a translated + * name for the daylight savings time variant should be returned, + * even if the timezone has not observed daylight savings + * time in the past. If the name of the timezone + * in the given locale is not supported, null + * is returned. + * + * @param id a time zone identifier. + * @param daylight true if the daylight savings time variant + * should be returned. + * @param style either {@link java.util.TimeZone.LONG} or + * {@link java.util.TimeZone.SHORT} + * @param locale the locale to express the timezone in. + * @return the localized time zone name, or null + * if one is not available. + * @throws NullPointerException if the identifer or locale is null. + * @throws IllegalArgumentException if the style is invalid + * or the locale is not one + * returned by + * {@link getAvailableLocales()} + * @see java.util.TimeZone#getDisplayName(boolean,int,java.util.Locale) + */ + public abstract String getDisplayName(String id, boolean daylight, + int style, Locale locale); + +} diff --git a/libjava/classpath/java/util/spi/package.html b/libjava/classpath/java/util/spi/package.html new file mode 100644 index 0000000..1abdeb8 --- /dev/null +++ b/libjava/classpath/java/util/spi/package.html @@ -0,0 +1,50 @@ + + + + +GNU Classpath - java.util.spi + + + +

      +A series of service provider interfaces for use by the +classes in java.util. +

      +

      Since: 1.6

      + + diff --git a/libjava/classpath/java/util/zip/DeflaterEngine.java b/libjava/classpath/java/util/zip/DeflaterEngine.java index 5158716..38a82d8 100644 --- a/libjava/classpath/java/util/zip/DeflaterEngine.java +++ b/libjava/classpath/java/util/zip/DeflaterEngine.java @@ -377,7 +377,8 @@ class DeflaterEngine implements DeflaterConstants && window[++scan] == window[++match] && window[++scan] == window[++match] && window[++scan] == window[++match] - && scan < strend); + && scan < strend) + ; if (scan > best_end) { // if (DeflaterConstants.DEBUGGING && ins_h == 0) diff --git a/libjava/classpath/java/util/zip/ZipInputStream.java b/libjava/classpath/java/util/zip/ZipInputStream.java index 4539828..df44bb3 100644 --- a/libjava/classpath/java/util/zip/ZipInputStream.java +++ b/libjava/classpath/java/util/zip/ZipInputStream.java @@ -238,6 +238,7 @@ public class ZipInputStream extends InflaterInputStream implements ZipConstants byte[] tmp = new byte[2048]; while (read(tmp) > 0) ; + /* read will close this entry */ return; } diff --git a/libjava/classpath/javax/activity/ActivityCompletedException.java b/libjava/classpath/javax/activity/ActivityCompletedException.java new file mode 100644 index 0000000..10a6a99 --- /dev/null +++ b/libjava/classpath/javax/activity/ActivityCompletedException.java @@ -0,0 +1,90 @@ +/* ActivityCompletedException.java -- Wrapper for CORBA.ACTIVITY_COMPLETED. + Copyright (C) 2007 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 javax.activity; + +import java.rmi.RemoteException; + +/** + * Exception wrapper for CORBA.ACTIVITY_COMPLETED. + * + * @see org.omg.CORBA.ACTIVITY_COMPLETED + */ +public class ActivityCompletedException extends RemoteException +{ + /** + * Creates an exception with a null message, and cause initialized + * to null. + */ + public ActivityCompletedException() + { + this(null, null); + } + + /** + * Creates an exception with the given message, and cause + * initialized to null. + * + * @param s the message + */ + public ActivityCompletedException(String s) + { + this(s, null); + } + + /** + * Creates an exception with the given cause, and a null message. + * + * @param e the cause + */ + public ActivityCompletedException(Throwable e) + { + this(null, e); + } + + /** + * Creates an exception with the given message and cause. + * + * @param s the message + * @param e the cause + */ + public ActivityCompletedException(String s, Throwable e) + { + super(s, e); + } +} diff --git a/libjava/classpath/javax/activity/ActivityRequiredException.java b/libjava/classpath/javax/activity/ActivityRequiredException.java new file mode 100644 index 0000000..c659f8d --- /dev/null +++ b/libjava/classpath/javax/activity/ActivityRequiredException.java @@ -0,0 +1,90 @@ +/* ActivityRequiredException.java -- Wrapper for CORBA.ACTIVITY_REQUIRED + Copyright (C) 2007 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 javax.activity; + +import java.rmi.RemoteException; + +/** + * Exception wrapper for CORBA.ACTIVITY_REQUIRED + * + * @see org.omg.CORBA.ACTIVITY_REQUIRED + */ +public class ActivityRequiredException extends RemoteException +{ + /** + * Creates an exception with a null message, and cause initialized + * to null. + */ + public ActivityRequiredException() + { + this(null, null); + } + + /** + * Creates an exception with the given message, and cause + * initialized to null. + * + * @param s the message + */ + public ActivityRequiredException(String s) + { + this(s, null); + } + + /** + * Creates an exception with the given cause, and a null message. + * + * @param e the cause + */ + public ActivityRequiredException(Throwable e) + { + this(null, e); + } + + /** + * Creates an exception with the given message and cause. + * + * @param s the message + * @param e the cause + */ + public ActivityRequiredException(String s, Throwable e) + { + super(s, e); + } +} diff --git a/libjava/classpath/javax/activity/InvalidActivityException.java b/libjava/classpath/javax/activity/InvalidActivityException.java new file mode 100644 index 0000000..5a1788b --- /dev/null +++ b/libjava/classpath/javax/activity/InvalidActivityException.java @@ -0,0 +1,90 @@ +/* InvalidActivityException.java -- Wrapper for CORBA.INVALID_ACTIVITY + Copyright (C) 2007 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 javax.activity; + +import java.rmi.RemoteException; + +/** + * Exception wrapper for CORBA.INVALID_ACTIVITY. + * + * @see org.omg.CORBA.INVALID_ACTIVITY + */ +public class InvalidActivityException extends RemoteException +{ + /** + * Creates an exception with a null message, and cause initialized + * to null. + */ + public InvalidActivityException() + { + this(null, null); + } + + /** + * Creates an exception with the given message, and cause + * initialized to null. + * + * @param s the message + */ + public InvalidActivityException(String s) + { + this(s, null); + } + + /** + * Creates an exception with the given cause, and a null message. + * + * @param e the cause + */ + public InvalidActivityException(Throwable e) + { + this(null, e); + } + + /** + * Creates an exception with the given message and cause. + * + * @param s the message + * @param e the cause + */ + public InvalidActivityException(String s, Throwable e) + { + super(s, e); + } +} diff --git a/libjava/classpath/javax/activity/package.html b/libjava/classpath/javax/activity/package.html new file mode 100644 index 0000000..67aa5a8 --- /dev/null +++ b/libjava/classpath/javax/activity/package.html @@ -0,0 +1,45 @@ + + + + +GNU Classpath - javax.activity + + +

      Exception wrappers for org.omg.CORBA activity status system exceptions.

      + + diff --git a/libjava/classpath/javax/crypto/CipherOutputStream.java b/libjava/classpath/javax/crypto/CipherOutputStream.java index 5d1e57a..960f6fb 100644 --- a/libjava/classpath/javax/crypto/CipherOutputStream.java +++ b/libjava/classpath/javax/crypto/CipherOutputStream.java @@ -147,6 +147,8 @@ public class CipherOutputStream extends FilterOutputStream */ public void write(byte[] buf, int off, int len) throws IOException { - out.write(cipher.update(buf, off, len)); + byte[] b = cipher.update(buf, off, len); + if (b != null) + out.write(b); } } diff --git a/libjava/classpath/javax/imageio/ImageWriteParam.java b/libjava/classpath/javax/imageio/ImageWriteParam.java index 4d8efc3..f4794a3 100644 --- a/libjava/classpath/javax/imageio/ImageWriteParam.java +++ b/libjava/classpath/javax/imageio/ImageWriteParam.java @@ -278,7 +278,7 @@ public class ImageWriteParam extends IIOParam public String[] getCompressionQualityDescriptions() { checkNotExplicitCompression(); - checkCompressionTypesSet();; + checkCompressionTypesSet(); return null; } @@ -286,7 +286,7 @@ public class ImageWriteParam extends IIOParam public float[] getCompressionQualityValues() { checkNotExplicitCompression(); - checkCompressionTypesSet();; + checkCompressionTypesSet(); return null; } diff --git a/libjava/classpath/javax/imageio/spi/IIORegistry.java b/libjava/classpath/javax/imageio/spi/IIORegistry.java index fc3087f..101cead 100644 --- a/libjava/classpath/javax/imageio/spi/IIORegistry.java +++ b/libjava/classpath/javax/imageio/spi/IIORegistry.java @@ -45,6 +45,7 @@ import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; +import gnu.java.awt.ClasspathToolkit; import gnu.javax.imageio.bmp.BMPImageReaderSpi; import gnu.javax.imageio.bmp.BMPImageWriterSpi; import gnu.javax.imageio.gif.GIFImageReaderSpi; @@ -91,6 +92,8 @@ public final class IIORegistry extends ServiceRegistry registerServiceProvider(new BMPImageWriterSpi()); Toolkit toolkit = Toolkit.getDefaultToolkit(); + if (toolkit instanceof ClasspathToolkit) + ((ClasspathToolkit)toolkit).registerImageIOSpis(this); registerApplicationClasspathSpis(); } diff --git a/libjava/classpath/javax/imageio/spi/ServiceRegistry.java b/libjava/classpath/javax/imageio/spi/ServiceRegistry.java index 4848bc6..3051a81 100644 --- a/libjava/classpath/javax/imageio/spi/ServiceRegistry.java +++ b/libjava/classpath/javax/imageio/spi/ServiceRegistry.java @@ -957,6 +957,6 @@ public class ServiceRegistry * criteria; false if it does not match. */ boolean filter(Object provider); - }; + } } diff --git a/libjava/classpath/javax/imageio/stream/FileCacheImageOutputStream.java b/libjava/classpath/javax/imageio/stream/FileCacheImageOutputStream.java index ae65598..47b7bb8 100644 --- a/libjava/classpath/javax/imageio/stream/FileCacheImageOutputStream.java +++ b/libjava/classpath/javax/imageio/stream/FileCacheImageOutputStream.java @@ -38,11 +38,10 @@ exception statement from your version. */ package javax.imageio.stream; -import gnu.classpath.NotImplementedException; - import java.io.File; import java.io.IOException; import java.io.OutputStream; +import java.io.RandomAccessFile; /** * @author Michael Koch (konqueror@gmx.de) @@ -50,32 +49,30 @@ import java.io.OutputStream; public class FileCacheImageOutputStream extends ImageOutputStreamImpl { private OutputStream stream; - private File cacheDir; - - public FileCacheImageOutputStream(OutputStream stream, File cacheDir) - throws IOException - { - super(); - this.stream = stream; - // FIXME: We do not support caching yet. - this.cacheDir = cacheDir; - } + private File cacheFile; + private RandomAccessFile cache; + private long maxPos; - public void close() + public FileCacheImageOutputStream(OutputStream s, File cacheDir) throws IOException { - if (stream != null) - { - stream.close(); - stream = null; - } + stream = s; + cacheFile = File.createTempFile("imageio", ".tmp", cacheDir); + cache = new RandomAccessFile(cacheFile, "rw"); + maxPos = 0; } - private void checkStreamClosed() + public void close() throws IOException { - if (stream == null) - throw new IOException("stream closed"); + maxPos = cache.length(); + seek(maxPos); + flushBefore(maxPos); + super.close(); + cache.close(); + cacheFile.delete(); + stream.flush(); + stream = null; } public boolean isCached() @@ -94,32 +91,88 @@ public class FileCacheImageOutputStream extends ImageOutputStreamImpl } public int read() - throws IOException, NotImplementedException + throws IOException { - // FIXME: Implement me. - throw new Error("not implemented"); + bitOffset = 0; + int val = cache.read(); + if (val != -1) + streamPos++; + return val; } public int read(byte[] data, int offset, int len) - throws IOException, NotImplementedException + throws IOException { - // FIXME: Implement me. - throw new Error("not implemented"); + bitOffset = 0; + int num = cache.read(data, offset, len); + if (num != -1) + streamPos += num; + return num; } public void write(byte[] data, int offset, int len) throws IOException { - checkStreamClosed(); - // FIXME: Flush pending bits. - stream.write(data, offset, len); + flushBits(); + cache.write(data, offset, len); + streamPos += len; + maxPos = Math.max(streamPos, maxPos); } public void write(int value) throws IOException { - checkStreamClosed(); - // FIXME: Flush pending bits. - stream.write(value); + flushBits(); + cache.write(value); + streamPos++; + maxPos = Math.max(streamPos, maxPos); + } + + public long length() + { + long l; + try + { + l = cache.length(); + } + catch (IOException ex) + { + l = -1; + } + return l; + } + + public void seek(long pos) + throws IOException + { + checkClosed(); + if (pos < flushedPos) + throw new IndexOutOfBoundsException(); + cache.seek(pos); + streamPos = cache.getFilePointer(); + maxPos = Math.max(streamPos, maxPos); + bitOffset = 0; + } + + public void flushBefore(long pos) + throws IOException + { + long oldPos = flushedPos; + super.flushBefore(pos); + long flushed = flushedPos - oldPos; + if (flushed > 0) + { + int len = 512; + byte[] buf = new byte[len]; + cache.seek(oldPos); + while (flushed > 0) + { + int l = (int) Math.min(flushed, len); + cache.readFully(buf, 0, l); + stream.write(buf, 0, l); + flushed -= l; + } + stream.flush(); + } } } diff --git a/libjava/classpath/javax/imageio/stream/ImageOutputStreamImpl.java b/libjava/classpath/javax/imageio/stream/ImageOutputStreamImpl.java index 1179fed..f23e695 100644 --- a/libjava/classpath/javax/imageio/stream/ImageOutputStreamImpl.java +++ b/libjava/classpath/javax/imageio/stream/ImageOutputStreamImpl.java @@ -38,8 +38,6 @@ exception statement from your version. */ package javax.imageio.stream; -import gnu.classpath.NotImplementedException; - import java.io.IOException; import java.io.UTFDataFormatException; import java.nio.ByteOrder; @@ -56,10 +54,25 @@ public abstract class ImageOutputStreamImpl extends ImageInputStreamImpl } protected final void flushBits() - throws IOException, NotImplementedException + throws IOException { - // FIXME: Implement me. - throw new Error("not implemented"); + checkClosed(); + if (bitOffset != 0) + { + int offset = bitOffset; + int partial = read(); + if (partial < 0) + { + partial = 0; + bitOffset = 0; + } + else + { + seek(getStreamPosition() - 1); + partial &= -1 << (8 - offset); + } + write(partial); + } } public void write(byte[] data) @@ -75,17 +88,82 @@ public abstract class ImageOutputStreamImpl extends ImageInputStreamImpl throws IOException; public void writeBit(int bit) - throws IOException, NotImplementedException + throws IOException { - // FIXME: Implement me. - throw new Error("not implemented"); + writeBits(1L & bit, 1); } public void writeBits(long bits, int numBits) - throws IOException, NotImplementedException + throws IOException { - // FIXME: Implement me. - throw new Error("not implemented"); + checkClosed(); + // Append chunk of bits to any preexisting bits, if any. + if (getStreamPosition() > 0 || bitOffset > 0) + { + int offs = bitOffset; + int partial = read(); + if (partial != -1) + seek(getStreamPosition() - 1); + else + partial = 0; + if (numBits + offs < 8) + { + // Append complete bits to partial byte. + int shift = 8 - (offs + numBits); + int mask = -1 >>> (32 - numBits); + partial &= ~(mask << shift); + partial |= (bits & mask) << shift; + write(partial); + seek(getStreamPosition() - 1); + bitOffset = offs + numBits; + numBits = 0; + } + else + { + // Append bits and decrease numBits accordingly. + int num = 8 - offs; + int mask = -1 >>> (32 - num); + partial &= ~mask; + partial |= (bits >> (numBits - num)) & mask; + write(partial); + numBits -= num; + } + } + + // Write out whole chunks, if any. + if (numBits > 7) + { + int remaining = numBits % 8; + for (int numBytes = numBits / 8; numBytes > 0; numBytes--) + { + int shift = (numBytes - 1) * 8 + remaining; + int value = (int) ((shift == 0) ? bits & 0xff + : (bits >> shift) & 0xff); + write(value); + } + numBits = remaining; + } + + // Write remaing partial bytes. + if (numBits != 0) + { + int partial = read(); + if (partial == -1) + { + seek(getStreamPosition() - 1); + } + else + { + partial = 0; + } + int shift = 8 - numBits; + int mask = -1 >>> (32 - numBits); + partial &= ~(mask << shift); + partial |= (bits & mask) << shift; + write(partial); + seek(getStreamPosition() - 1); + bitOffset = numBits; + } } public void writeBoolean(boolean value) diff --git a/libjava/classpath/javax/management/AttributeChangeNotification.java b/libjava/classpath/javax/management/AttributeChangeNotification.java new file mode 100644 index 0000000..e63671d --- /dev/null +++ b/libjava/classpath/javax/management/AttributeChangeNotification.java @@ -0,0 +1,166 @@ +/* AttributeChangeNotification.java -- Notification for attribute changes + Copyright (C) 2007 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 javax.management; + +/** + * Defines the notification used to let listeners know of + * an attribute change. The bean itself is responsible + * for creating and transmitting the notification when the + * attribute changes, by implementing + * {@link NotificationBroadcaster}. For example, if a + * bean increments the integer, count, it + * should send a notification with the + * attributeName, "count", + * the attributeType, "Integer" + * and the old and new values of the attribute. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ +public class AttributeChangeNotification + extends Notification +{ + + /** + * Compatible with JDK 1.5 + */ + private static final long serialVersionUID = 535176054565814134L; + + /** + * The attribute type for attribute change + * notifications. + */ + public static final String ATTRIBUTE_CHANGE = "jmx.attribute.change"; + + /** + * The name of the attribute that changed. + */ + private String attributeName; + + /** + * The type of the attribute that changed. + */ + private String attributeType; + + /** + * The old value of the attribute. + */ + private Object oldValue; + + /** + * The new value of the attribute. + */ + private Object newValue; + + /** + * Constructs a new {@link AttributeChangeNotification} + * with the specified source, sequence number, timestamp, + * message, and the attribute name, type, old value and + * new value. + * + * @param source the producer of the notification, which + * is usually the bean that changed the + * attribute. + * @param sequenceNumber the sequence number of the + * notification. + * @param timeStamp the date and time of the notification. + * @param msg the message content of the notification. + * @param name the name of the attribute. + * @param type the type of the attribute. + * @param oldVal the old value of the attribute. + * @param newVal the new value of the attribute. + */ + public AttributeChangeNotification(Object source, + long sequenceNumber, + long timeStamp, + String msg, String name, + String type, Object oldVal, + Object newVal) + { + super(ATTRIBUTE_CHANGE, source, sequenceNumber, + timeStamp, msg); + attributeName = name; + attributeType = type; + oldValue = oldVal; + newValue = newVal; + } + + /** + * Returns the name of the attribute that changed. + * + * @return the name of the attribute. + */ + public String getAttributeName() + { + return attributeName; + } + + /** + * Returns the type of the attribute that changed. + * + * @return the type of the attribute. + */ + public String getAttributeType() + { + return attributeType; + } + + /** + * Returns the old value of the attribute. + * + * @return the old value. + */ + public Object getOldValue() + { + return oldValue; + } + + /** + * Returns the new value of the attribute. + * + * @return the new value. + */ + public Object getNewValue() + { + return newValue; + } + +} + + diff --git a/libjava/classpath/javax/management/AttributeChangeNotificationFilter.java b/libjava/classpath/javax/management/AttributeChangeNotificationFilter.java new file mode 100644 index 0000000..90d19a3 --- /dev/null +++ b/libjava/classpath/javax/management/AttributeChangeNotificationFilter.java @@ -0,0 +1,137 @@ +/* AttributeChangeNotificationFilter.java -- Filter on attribute name + Copyright (C) 2007 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 javax.management; + +import java.io.Serializable; + +import java.util.Vector; + +/** + * Performs filtering of {@link AttributeChangeNotification}s + * based on a list of attribute names. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ +public class AttributeChangeNotificationFilter + implements NotificationFilter, Serializable +{ + + /** + * Compatible with JDK 1.5 + */ + private static final long serialVersionUID = -6347317584796410029L; + + /** + * Lists the names of the attributes that may pass + * through the filter. + */ + private final Vector enabledAttributes = new Vector(); + + /** + * Blocks all {@link AttributeChangeNotification}s + * by emptying the list of enabled attributes. + */ + public void disableAllAttributes() + { + enabledAttributes.clear(); + } + + /** + * Removes the specified attribute name from the list + * of enabled attributes, thus preventing + * {@link AttributeChangeNotification}s for this attribute + * from passing through the filter. If the attribute is + * not enabled, this has no effect. + * + * @param name the name of the attribute to disable. + */ + public void disableAttribute(String name) + { + enabledAttributes.remove(name); + } + + /** + * Adds the specified attribute name to the list + * of enabled attributes, thus allowing + * {@link AttributeChangeNotification}s for this attribute + * to pass through the filter. If the attribute is + * enabled, this has no effect. + * + * @param name the name of the attribute to enable. + */ + public void enableAttribute(String name) + { + if (!enabledAttributes.contains(name)) + enabledAttributes.add(name); + } + + /** + * Returns the list of enabled attributes for this + * filter. + * + * @return the list of enabled attributes. + */ + public Vector getEnabledAttributes() + { + return enabledAttributes; + } + + /** + * Returns true if the specified notification is an + * {@link AttributeChangeNotification} and the name of the + * attribute concerned is in the list of enabled attributes + * for this filter. + * + * @param notif the notification being filtered. + * @return true if the notification is an + * {@link AttributeChangeNotification} for an + * enabled attribute. + */ + public boolean isNotificationEnabled(Notification notif) + { + if (notif instanceof AttributeChangeNotification) + { + AttributeChangeNotification n = + (AttributeChangeNotification) notif; + return enabledAttributes.contains(n.getAttributeName()); + } + return false; + } + +} diff --git a/libjava/classpath/javax/management/AttributeValueExp.java b/libjava/classpath/javax/management/AttributeValueExp.java new file mode 100644 index 0000000..42e7161 --- /dev/null +++ b/libjava/classpath/javax/management/AttributeValueExp.java @@ -0,0 +1,181 @@ +/* AttributeValueExp.java -- Represents attributes to be passed to queries. + Copyright (C) 2007 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 javax.management; + +/** + * Represents an attribute value being used as an argument + * to a relational constraint. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ +public class AttributeValueExp + implements ValueExp +{ + + /** + * Compatible with JDK 1.5 + */ + private static final long serialVersionUID = -7768025046539163385L; + + /** + * The name of the attribute. + */ + private String attr; + + /** + * Constructs a new {@link AttributeValueExp}. + * + * @deprecated An instance created with a null + * attribute name can not be used in a query. + */ + @Deprecated public AttributeValueExp() + { + } + + /** + * Constructs a new {@link AttributeValueExp} using the + * specified attribute. + * + * @param attr the name of the attribute whose value + * will be used for this expression. + */ + public AttributeValueExp(String attr) + { + this.attr = attr; + } + + /** + * Applies the {@link AttributeValueExp} to the specified + * management bean by obtaining the attribute value from + * the {@link MBeanServer} and using it to create a + * {@link StringValueExp}. + * + * @param name the {@link ObjectName} of the bean to obtain + * the value from. + * @return a {@link StringValueExp} containing the result. + * @throws BadStringOperationException if an invalid string + * operation is used by + * the value expression. + * @throws BadBinaryOpValueExpException if an invalid expression + * is used by the value expression. + * @throws BadAttributeValueExpException if an invalid attribute + * is used by the value expression. + * @throws InvalidApplicationException if the value expression is applied + * to the wrong type of bean. + */ + public ValueExp apply(ObjectName name) + throws BadStringOperationException, BadBinaryOpValueExpException, + BadAttributeValueExpException, InvalidApplicationException + { + Object val = getAttribute(name); + if (val == null || !(val instanceof String)) + throw new BadAttributeValueExpException(val); + return new StringValueExp((String) val); + } + + /** + * Returns the value of the attribute by calling the + * {@link MBeanServer#getAttribute(ObjectName)} method of + * the server returned by {@link QueryEval#getMBeanServer()}. + * If an exception occurs, null is returned. + * + * @param name the {@link ObjectName} of the bean to obtain + * the value from. + * @return a {@link StringValueExp} containing the result. + */ + protected Object getAttribute(ObjectName name) + { + try + { + return QueryEval.getMBeanServer().getAttribute(name, attr); + } + catch (NullPointerException e) + { + return null; + } + catch (MBeanException e) + { + return null; + } + catch (AttributeNotFoundException e) + { + return null; + } + catch (InstanceNotFoundException e) + { + return null; + } + catch (ReflectionException e) + { + return null; + } + } + + /** + * Returns the attribute name. + * + * @return the attribute name. + */ + public String getAttributeName() + { + return attr; + } + + /** + * Sets the {@link MBeanServer} on which the query + * will be performed. + * + * @param server the new server. + */ + public void setMBeanServer(MBeanServer server) + { + /* This seems to do nothing any more */ + } + + /** + * Returns the attribute name, quoted. + * + * @return the quoted attribute name. + */ + public String toString() + { + return "'" + attr + "'"; + } + +} diff --git a/libjava/classpath/javax/management/DefaultLoaderRepository.java b/libjava/classpath/javax/management/DefaultLoaderRepository.java new file mode 100644 index 0000000..b905af2 --- /dev/null +++ b/libjava/classpath/javax/management/DefaultLoaderRepository.java @@ -0,0 +1,148 @@ +/* DefaultLoaderRepository.java -- Manages class loaders for the servers. + Copyright (C) 2007 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 javax.management; + +import java.util.List; + +/** + * Maintains a list of the {@link ClassLoader} instances + * registered with the management servers, allowing it + * to be used to load classes. In early versions of the + * JMX API, this class represented a shared repository for + * the classloaders of all management servers. The management + * of classloaders is now decentralised and this class is + * deprecated. The old behaviour is emulated by consulting + * the {@link MBeanServer#getClassLoaderRepository()} method + * of all the servers obtained from + * {@link MBeanServerFactory#findMBeanServer(String)}. Use of + * this class should be avoided in new code. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + * @deprecated Use {@link MBeanServer#getClassLoaderRepository()} + * instead. + */ +@Deprecated public class DefaultLoaderRepository +{ + + /** + * Attempts to load the given class using class loaders + * supplied by the repository of each {@link MBeanServer}. + * The {@link ClassLoader#loadClass(String)} + * method of each class loader is called. If the method + * returns successfully, then the returned {@link Class} instance + * is returned. If a {@link ClassNotFoundException} is thrown, + * then the next loader is tried. Any other exception thrown + * by the method is passed back to the caller. This method + * throws a {@link ClassNotFoundException} itself if all the + * class loaders listed prove fruitless. + * + * @param name the name of the class to load. + * @return the loaded class. + * @throws ClassNotFoundException if all the class loaders fail + * to load the class. + */ + public static Class loadClass(String name) + throws ClassNotFoundException + { + List servers = MBeanServerFactory.findMBeanServer(null); + for (MBeanServer server : servers) + { + try + { + return server.getClassLoaderRepository().loadClass(name); + } + catch (ClassNotFoundException e) + { + /* Ignored; try the next server. */ + } + } + throw new ClassNotFoundException("The class loaders of all registered " + + "servers failed to load the class, " + + name); + } + + /** + *

      + * Attempts to load the given class using class loaders + * supplied by the repository of each {@link MBeanServer}. + * The {@link ClassLoader#loadClass(String)} + * method of each class loader is called. If the method + * returns successfully, then the returned {@link Class} instance + * is returned. If a {@link ClassNotFoundException} is thrown, + * then the next loader is tried. Any other exception thrown + * by the method is passed back to the caller. This method + * throws a {@link ClassNotFoundException} itself if all the + * class loaders listed prove fruitless. + *

      + *

      + * Note that this method may deadlock if called simultaneously + * by two class loaders in the list. + * {@link loadClassBefore(ClassLoader, String)} should be used + * in preference to this method to avoid this. + *

      + * + * @param exclude the class loader to exclude, or null + * to obtain the same behaviour as {@link #loadClass(String)}. + * @param name the name of the class to load. + * @return the loaded class. + * @throws ClassNotFoundException if all the class loaders fail + * to load the class. + */ + public static Class loadClassWithout(ClassLoader exclude, String name) + throws ClassNotFoundException + { + List servers = MBeanServerFactory.findMBeanServer(null); + for (MBeanServer server : servers) + { + try + { + return server.getClassLoaderRepository().loadClassWithout(exclude, + name); + } + catch (ClassNotFoundException e) + { + /* Ignored; try the next server. */ + } + } + throw new ClassNotFoundException("The class loaders of all registered " + + "servers failed to load the class, " + + name); + } + +} diff --git a/libjava/classpath/javax/management/Descriptor.java b/libjava/classpath/javax/management/Descriptor.java new file mode 100644 index 0000000..07b8f1d --- /dev/null +++ b/libjava/classpath/javax/management/Descriptor.java @@ -0,0 +1,392 @@ +/* Descriptor.java -- Metadata container. + Copyright (C) 2007 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 javax.management; + +import java.io.Serializable; + +/** + *

      + * Provides metadata for a management element as a series + * of fields, formed from name-value pairs. Descriptors + * are usually attached to one of the Info + * classes, such as {@link MBeanAttributeInfo}. + *

      + *

      + * Field names are not case-sensitive, but are case-preserving + * (in that the same use of case will be returned by + * {@link #getFields()} and {@link #getFieldNames()}). + * The type of the value should match the type returned + * by the getType() method of the associated + * Info object. In the case of {@link MXBean}s, + * this should be the mapped type returned by the mapping rules. + *

      + *

      + * The contents of a descriptor may be immutable, in which + * case, attempts to change the contents of the descriptor + * will cause an exception to be thrown. Immutable descriptors + * are usually instances or subclasses of {@link ImmutableDescriptor}, + * while mutable descriptors are usually instances or subclasses + * of {@link javax.management.modelmbean.DescriptorSupport}. + *

      + *

      + * A series of field names are predefined, but additional + * ones can be added as needed. Predefined names never include + * a period ('.'), and so additional names may safely avoid + * conflicts by including this character. It is recommended that + * additional names make use of the same syntax as Java package + * names e.g. gnu.classpath.ImportantMetadata. + *

      + *

      + * The predefined names are as follows: + *

      + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * , + * {@link MBeanNotificationInfo}, {@link MBeanParameterInfo} + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
      + * NameTypeUsed InMeaning
      defaultValueObject{@link MBeanAttributeInfo}, + * {@link MBeanParameterInfo}Default value for an attribute + * or parameter.
      deprecatedStringAnyThe annotated element + * has been deprecated. Conventially, the field's value takes the form + * of the version in which the element was deprecated, followed by an + * explaination.
      descriptionResourceBundleBaseNameStringAnyThe base name for the bundle in which the descriptionResourceKey + * can be found.
      descriptionResourceKeyStringAnyThe name of the resource key which contains a localized description of + * this element.
      enabledString{@link MBeanAttributeInfo}, + * {@link MBeanNotificationInfo}, {@link MBeanOperationInfo}Specifies whether the annotated element is currently enabled or + * not, via a value of either "true" or "false". + *
      immutableInfoString{@link MBeanInfo}If the value of this field is "true", this means that + * the annotated element will not change and thus may be cached.
      infoTimeoutString or Long{@link MBeanInfo}If this field is present, and non-zero, it will contain a value + * in milliseconds for which the value of the annotated element will + * remain unchanged, allowing it to be safely cached for that period.
      interfaceClassNameString{@link MBeanInfo}The Java interface name associated with the bean, as returned + * by {@link Class#getName()}.
      legalValuesSet{@link MBeanAttributeInfo}, + * {@link MBeanParameterInfo}Legal values for an attribute + * or parameter.
      maxValueObject{@link MBeanAttributeInfo}, + * {@link MBeanParameterInfo}Maximum legal value for an attribute + * or parameter.
      metricTypeString{@link MBeanAttributeInfo}, + * {@link MBeanOperationInfo}Specifies the type of metric represented + * by the annotated element. This will be either "counter" + * (an increasing value, which will only be reset and never decrease) + * or "gauge" (an increasing and decreasing value).
      minValueObject{@link MBeanAttributeInfo}, + * {@link MBeanParameterInfo}Minimum legal value for an attribute + * or parameter.
      mxbeanString{@link MBeanInfo}Specifies whether the annotated element is an {@link MXBean} or + * not, via a value of either "true" or "false". + *
      openType{@link javax.management.openmbean.OpenType}{@link MBeanAttributeInfo}, {@link MBeanOperationInfo}Specifies the open type of the attribute or parameter, the return + * value of the operation or the user data of the notification respectively. + * This is present on Open*Info instances and for {@link MXBean}s.
      originalTypeString{@link MBeanAttributeInfo}, + * {@link MBeanOperationInfo}, {@link MBeanParameterInfo}The original Java type of an element which has been converted + * to another type according to the {@link MXBean} typing rules. + * For example, {@link java.lang.management.MemoryType} becomes a + * String after conversion. This field would contain + * "java.lang.management.MemoryType" to represent the + * earlier type of an element with the converted type.
      severityInteger or String{@link MBeanNotificationInfo}Represents the severity + * of the notification, ranging from 1 (most severe) to 6 (least + * severe), with 0 representing unknown severity.
      sinceStringAnyThe version in which this field was introduced.
      unitsString{@link MBeanAttributeInfo}, + * {@link MBeanOperationInfo}, {@link MBeanParameterInfo}The units used by the value of an attribute or parameter, + * or the return value of an operation, such as "bytes", + * "milliseconds" or "kilogrammes". + *
      + *

      Some names are also defined as part of the Model MBeans package. + * See {@link javax.management.modelmbean.ModelMBeanInfo}.

      + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ +public interface Descriptor + extends Serializable, Cloneable +{ + + /** + * Returns a clone of this descriptor, which can then be modified + * independently of this descriptor. If the descriptor is + * immutable, it is sufficient to return this instance. + * + * @return a clone of this descriptor. + * @throws RuntimeOperationsException if creation of the new + * descriptor fails for any + * reason. + */ + Object clone() + throws RuntimeOperationsException; + + /** + *

      + * Returns true if this descriptor is equivalent to the + * supplied object. This is true if the following holds: + *

      + *
        + *
      • The given object is also a {@link Descriptor}.
      • + *
      • Has the same field names, independent of case.
      • + *
      • Has the same values, based on the following: + *
          + *
        • If one value is null, the other must be.
        • + *
        • If one value is a primitive array, the other must be a + * primitive array of the same type with the same elements.
        • + *
        • If one value is an {@link Object} array, the other + * must be and {@link java.util.Arrays#deepEquals(Object[],Object[])} + * must return true.
        • + *
        • Otherwise, {@link Object#equals(Object)} must return true.
        • + *
        + * + * @param obj the object to compare according to the above. + * @return true if the above holds. + * @see Object#equals(Object) + * @see Object#hashCode() + * @since 1.6 + */ + boolean equals(Object obj); + + /** + * Returns the field names of the descriptor. If the + * descriptor is empty, an empty array is returned. + * + * @return the field names as an array of Strings. + */ + String[] getFieldNames(); + + /** + *

        + * Returns all the field name and value pairs, in the + * form name=value. The value is converted + * to a String as follows: + *

        + *
          + *
        • If the value is a String, it is used as is.
        • + *
        • If the value is null, the printed + * value will be empty.
        • + *
        • Otherwise, the value will be converted to a + * String using its {@link Object#toString()} method, + * and included as "(" + string + ")".
        • + *
        + *

        If the descriptor is empty, an empty array is returned.

        + * + * @return the field names and values as an array of Strings. + * @see #setFields(String[],Object[]) + */ + String[] getFields(); + + /** + * Returns the value of the specified field, or null + * if no value is present for the given field name. + * + * @param name the field name. + * @return the value of the field, or null if there + * is no value present. + * @throws RuntimeOperationsException if the field name is illegal. + */ + Object getFieldValue(String name); + + /** + * Returns the values corresponding to the fields named in + * the specified array, in the same order. If an empty + * array is supplied, an empty array is returned. A value + * of null leads to behaviour equivalent to + * {@link #getFields()}. Field values are obtained as specified + * in {@link #getFieldValue(String)}, with null + * being returned if the field is not present. This applies + * even if the given field name is null or + * the empty string. + * + * @param names an array of field names whose values should + * be returned. + * @return the values of the specified fields. + * @see #getFields() + * @see #getFieldValue(String) + */ + Object[] getFieldValues(String... names); + + /** + *

        + * Returns the hash code of the descriptor. The hashcode + * is computed as the sum of the hashcodes for each field, + * which in turn is calculated as the sum of + * the hashcode of the name, n, computed + * using n.toLowerCase().hashCode(), and the + * hashcode of the value, v, computed + * using: + *

        + *
          + *
        • If v is null, then the + * hash code is 0.
        • + *
        • If v is a primitive array, then the + * hash code is computed using the appropriate method + * from {@link java.util.Arrays}.
        • + *
        • If v is an {@link java.lang.Object} + * array, then the hash code is computed using the + * {@link java.util.Arrays#deepHashCode(Object[])} method.
        • + *
        • Otherwise, the hashcode is equal to + * v.hashCode(). + *
        + * + * @return a hashcode for this descriptor. + * @since 1.6 + * @see Object#equals(Object) + * @see Object#hashCode() + */ + int hashCode(); + + /** + * Returns true if all the fields have legal values, given + * their names. Validity is determined by the implementation. + * + * @return true if the values are legal. + * @throws RuntimeOperationsException if the validity check + * fails for some reason. + */ + boolean isValid() + throws RuntimeOperationsException; + + /** + * Removes a field from the descriptor. If the field name + * is illegal or not found, this method fails silently. + * + * @param name the name of the field to remove. + * @throws RuntimeOperationsException if the field exists + * and the descriptor is + * immutable. This wraps + * an {@link UnsupportedOperationException}. + */ + void removeField(String name); + + /** + * Attempts to set the specified field to the supplied + * value. If the field does not exist, it will be created. + * If the field value given is invalid, then an exception will + * be thrown. Validity is determined by the implementation + * of the descriptor. + * + * @param name the field to set. Can not be null + * or empty. + * @param value the value to use, the validity of which is + * determined by the implementation. + * @throws RuntimeOperationsException if the name or value is + * illegal (wrapping a + * {@link IllegalArgumentException}) + * or if the descriptor is + * immutable (wrapping a + * {@link UnsupportedOperationException}. + */ + void setField(String name, Object value) + throws RuntimeOperationsException; + + /** + * Sets the field named in the first array to the corresponding + * value specified in the second. The array sizes must match. + * Empty arrays have no effect. An invalid value will cause + * an exception to be thrown. + * + * @param names the names of the fields to change. Neither + * the array or its elements may be null. + * @param values the values to use. The array must not be + * null. The value of the elements + * depends on the validity constraints of the + * implementation. + * @throws RuntimeOperationsException if the arrays differ in + * length, or a name or value is + * illegal (wrapping a + * {@link IllegalArgumentException}) + * or if the descriptor is + * immutable (wrapping a + * {@link UnsupportedOperationException}. + * @see #setField(String,Object) + */ + void setFields(String[] names, Object[] values); + +} diff --git a/libjava/classpath/javax/management/DescriptorAccess.java b/libjava/classpath/javax/management/DescriptorAccess.java new file mode 100644 index 0000000..189b34a --- /dev/null +++ b/libjava/classpath/javax/management/DescriptorAccess.java @@ -0,0 +1,65 @@ +/* DescriptorAccess.java -- Allows a descriptor to be changed. + Copyright (C) 2007 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 javax.management; + +/** + * Allows the descriptor of a management element + * to be changed. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ +public interface DescriptorAccess + extends DescriptorRead +{ + + /** + * Replaces the descriptor of this management element + * with the one specified. If the specified descriptor + * is null, the descriptor of the element + * will be returned to its default, which must at least + * contain a name and type. If the specified descriptor + * is invalid for this management element, an exception + * is thrown. + * + * @param descriptor the new descriptor to use. + * @see DescriptorRead#getDescriptor() + */ + void setDescriptor(Descriptor descriptor); + +} diff --git a/libjava/classpath/javax/management/DescriptorRead.java b/libjava/classpath/javax/management/DescriptorRead.java new file mode 100644 index 0000000..95e383a --- /dev/null +++ b/libjava/classpath/javax/management/DescriptorRead.java @@ -0,0 +1,59 @@ +/* DescriptorRead.java -- Allows a descriptor to be read. + Copyright (C) 2007 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 javax.management; + +/** + * Provides read access to the descriptor of + * a management element. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.6 + */ +public interface DescriptorRead +{ + + /** + * Returns a copy of the descriptor for this management + * element. The return value is never null, + * but the returned descriptor may be empty. + * + * @return the descriptor for this management element. + */ + Descriptor getDescriptor(); + +} diff --git a/libjava/classpath/javax/management/JMX.java b/libjava/classpath/javax/management/JMX.java new file mode 100644 index 0000000..a435d3e --- /dev/null +++ b/libjava/classpath/javax/management/JMX.java @@ -0,0 +1,342 @@ +/* JMX.java -- Static methods pertaining to the management API. + Copyright (C) 2007 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 javax.management; + +import java.lang.reflect.Proxy; + +/** + * Common static methods pertaining to the management + * API. There are no instances of this class. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.6 + */ +public class JMX +{ + + /** + * The name of the defaultValue field. + */ + public static final String DEFAULT_VALUE_FIELD = "defaultValue"; + + /** + * The name of the immutableInfo field. + */ + public static final String IMMUTABLE_INFO_FIELD = "immutableInfo"; + + /** + * The name of the interfaceClassName field. + */ + public static final String INTERFACE_CLASS_NAME_FIELD = "interfaceClassName"; + + /** + * The name of the legalValues field. + */ + public static final String LEGAL_VALUES_FIELD = "legalValues"; + + /** + * The name of the maxValue field. + */ + public static final String MAX_VALUE_FIELD = "maxValue"; + + /** + * The name of the minValue field. + */ + public static final String MIN_VALUE_FIELD = "minValue"; + + /** + * The name of the mxbean field. + */ + public static final String MXBEAN_FIELD = "mxbean"; + + /** + * The name of the openType field. + */ + public static final String OPEN_TYPE_FIELD = "openType"; + + /** + * The name of the originalType field. + */ + public static final String ORIGINAL_TYPE_FIELD = "originalType"; + + /** + * Prevent instance creation. + */ + private JMX() + { + } + + /** + *

        + * Returns true if the given class represents an {@link MXBean} + * interface. An interface is an {@link MXBean interface} if: + *

        + *
          + *
        • It is annotated with {@code @MXBean} or + * {@code @MXBean(true)}
        • . + *
        • Its name ends in {@code "MXBean"} and it does not + * have an {@link MXBean} annotation.
        • + *
        + * + * @param iface the interface class that is to be checked + * for {@link MXBean} status. + * @return true if the interface represents an {@link MXBean}. + * @throws NullPointerException if {@code iface} is {@code null}. + */ + public static boolean isMXBeanInterface(Class iface) + { + MXBean annotation = iface.getAnnotation(MXBean.class); + if (annotation != null) + return annotation.value(); + return iface.getName().endsWith("MXBean"); + } + + /** + *

        + * Returns a proxy for a standard management bean, using + * the specified connection to access the named implementation. + * To create a proxy for the bean, {@code SomethingMBean}, a call to + * {@code JMX.newMBeanProxy(server, name, SomethingMBean.class)} + * is made, where {@code server} is a local or remote management + * server, and {@code name} is the registered {@link ObjectName} + * of the implementation of {@code SomethingMBean} to use. + *

        + *

        + * The proxy redirects calls to the methods of the interface, + * {@link SomethingMBean}, to the appropriate methods of the + * management server. If {@link SomethingMBean} is specified + * as follows: + *

        + *
        +   * public interface SomethingMBean
        +   * {
        +   *   String getName();
        +   *   void setName(String name);
        +   *   void doStuff();
        +   * }
        +   * 
        + *

        + * The proxy created above will provide these three methods + * using an instance of {@link MBeanServerInvocationHandler}. + * The two methods, {@code getName} and {@code setName} define + * an attribute, {@code Name}, so a call to {@code getName()} + * will return the value of {@code server.getAttribute(name, + * "Name")}, while {@code setName(newName)} will result in a + * call to {@code server.setAttribute(name, new Attribute("Name", + * newName))}. Finally, {@code doStuff()}, as an operation, + * will cause the proxy to call {@link MBeanServer#invoke(ObjectName, + * String, Object[], String[])} as + * {@code server.invoke(name, "doStuff", null, null)}. + *

        + *

        + * Calling this method is equivalent to calling + * {@link #newMBeanProxy(MBeanServerConnection, ObjectName, Class, + * boolean)}. + *

        + * + * @param conn the server connection over which to forward calls to + * the bean. + * @param name the registered name of the bean to use to implement + * the given interface. + * @param iface the interface to provide a proxy for. + * @return a proxy implementing the specified interface using calls + * to the methods of the bean registered with the supplied + * server using the given name. + * @see #newMBeanProxy(MBeanServerConnection, ObjectName, Class, + * boolean) + */ + public static T newMBeanProxy(MBeanServerConnection conn, + ObjectName name, Class iface) + { + return newMBeanProxy(conn, name, iface, false); + } + + /** + * Returns a proxy for a standard management bean, using + * the specified connection to access the named implementation, + * as with {@link #newMBeanProxy(MBeanServerConnection, ObjectName, + * Class)}. In addition, the proxy returned by this method will + * also implement {@link NotificationEmitter} if {@code bcast} is + * true, under the assumption that the implementation referenced by + * {@code name} implements this interface. Calls to the methods of + * {@link NotificationEmitter} will be forwarded to the bean + * implementation via the appropriate server methods. + * + * @param conn the server connection over which to forward calls to + * the bean. + * @param name the registered name of the bean to use to implement + * the given interface. + * @param iface the interface to provide a proxy for. + * @param bcast true if the proxy should implement + * {@link NotificationEmitter}. + * @return a proxy implementing the specified interface using calls + * to the methods of the bean registered with the supplied + * server using the given name. + * @see #newMBeanProxy(MBeanServerConnection, ObjectName, Class) + */ + public static T newMBeanProxy(MBeanServerConnection conn, + ObjectName name, Class iface, + boolean bcast) + { + return MBeanServerInvocationHandler.newProxyInstance(conn, name, + iface, bcast); + } + + /** + *

        + * Returns a proxy for a {@link MXBean}, using the specified + * connection to access the named implementation. + * To create a proxy for the bean, {@code SomethingMXBean}, a call to + * {@code JMX.newMXBeanProxy(server, name, SomethingMXBean.class)} + * is made, where {@code server} is a local or remote management + * server, and {@code name} is the registered {@link ObjectName} + * of the implementation of {@code SomethingMBean} to use. + *

        + *

        + * The proxy redirects calls to the methods of the interface, + * {@link SomethingMXBean}, to the appropriate methods of the + * management server with appropriate conversion between + * Java and open types, according to the MXBean rules. If + * {@link SomethingMXBean} is specified as follows: + *

        + *
        +   * public interface SomethingMXBean
        +   * {
        +   *   String getName();
        +   *   void setName(String name);
        +   *   List getStatistics();
        +   *   void setStatistics(List statistics);
        +   *   List getNamedStatistics(String, Map);
        +   * }
        +   * 
        + *

        + * The proxy created above will provide these five methods + * using an instance of {@link MBeanServerInvocationHandler}. + * The two methods, {@code getName} and {@code setName} define + * an attribute, {@code Name}, so a call to {@code getName()} + * will return the value of {@code server.getAttribute(name, + * "Name")}, while {@code setName(newName)} will result in a + * call to {@code server.setAttribute(name, new Attribute("Name", + * newName))}. As this uses a simple type, {@link String}, no + * conversion is necessary. + *

        + *

        + * The two methods, {@code getStatistics} and {@code setStatistics} + * similarly define another attribute, {@code Statistics}. Calling + * {@code getStatistics()} will cause a call to the server to be + * made as before, {@code server.getAttribute(name, "Statistics")}. + * However, the type of the return value from this call will be + * an array of {@link Double} objects, as per the {@link MXBean} + * rules. The proxy converts this back in to a {@link java.util.List} + * of {@link Double} objects before returning it. + *

        + *

        + * The same process is applied in reverse for + * {@code setStatistics(newStats)}. The list is converted into + * an appropriate array before the call to + * {@link MBeanServerConnection#setAttribute(ObjectName, Attribute)} + * is made. Finally, a call to {@code getNamedStatistics} will require + * both a Java to open type conversion on the arguments, and then + * an open type to Java conversion of the return value. Thus, a proxy + * enables an {@link MXBean} to be used in cases where the appropriate + * Java types are available and the user wishes to access the bean + * using the types directly defined in its interface, just as with + * standard management beans. + *

        + *

        + * Calling this method is equivalent to calling + * {@link #newMXBeanProxy(MBeanServerConnection, ObjectName, Class, + * boolean)}. + *

        + * + * @param conn the server connection over which to forward calls to + * the bean. + * @param name the registered name of the bean to use to implement + * the given interface. + * @param iface the interface to provide a proxy for. + * @return a proxy implementing the specified interface using calls + * to the methods of the bean registered with the supplied + * server using the given name. + * @see #newMXBeanProxy(MBeanServerConnection, ObjectName, Class, + * boolean) + */ + public static T newMXBeanProxy(MBeanServerConnection conn, + ObjectName name, Class iface) + { + return newMXBeanProxy(conn, name, iface, false); + } + + /** + * Returns a proxy for a {@link MXBean}, using + * the specified connection to access the named implementation, + * as with {@link #newMXBeanProxy(MBeanServerConnection, ObjectName, + * Class)}. In addition, the proxy returned by this method will + * also implement {@link NotificationEmitter} if {@code bcast} is + * true, under the assumption that the implementation referenced by + * {@code name} implements this interface. Calls to the methods of + * {@link NotificationEmitter} will be forwarded to the bean + * implementation via the appropriate server methods. + * + * @param conn the server connection over which to forward calls to + * the bean. + * @param name the registered name of the bean to use to implement + * the given interface. + * @param iface the interface to provide a proxy for. + * @param bcast true if the proxy should implement + * {@link NotificationEmitter}. + * @return a proxy implementing the specified interface using calls + * to the methods of the bean registered with the supplied + * server using the given name. + * @see #newMXBeanProxy(MBeanServerConnection, ObjectName, Class) + */ + public static T newMXBeanProxy(MBeanServerConnection conn, + ObjectName name, Class iface, + boolean bcast) + { + if (bcast) + return (T) Proxy.newProxyInstance(iface.getClassLoader(), + new Class[] { iface, + NotificationEmitter.class }, + new MBeanServerInvocationHandler(conn,name,true)); + else + return (T) Proxy.newProxyInstance(iface.getClassLoader(), + new Class[] { iface }, + new MBeanServerInvocationHandler(conn,name,true)); + } + +} diff --git a/libjava/classpath/javax/management/MBeanAttributeInfo.java b/libjava/classpath/javax/management/MBeanAttributeInfo.java index 2d7c100..2e8475e 100644 --- a/libjava/classpath/javax/management/MBeanAttributeInfo.java +++ b/libjava/classpath/javax/management/MBeanAttributeInfo.java @@ -55,6 +55,11 @@ public class MBeanAttributeInfo { /** + * Compatible with JDK 1.6 + */ + private static final long serialVersionUID = 8644704819898565848L; + + /** * The type of the attribute. * * @serial the attribute type. diff --git a/libjava/classpath/javax/management/MBeanFeatureInfo.java b/libjava/classpath/javax/management/MBeanFeatureInfo.java index 74a03038..b3d60d2 100644 --- a/libjava/classpath/javax/management/MBeanFeatureInfo.java +++ b/libjava/classpath/javax/management/MBeanFeatureInfo.java @@ -37,6 +37,8 @@ exception statement from your version. */ package javax.management; +import java.io.IOException; +import java.io.ObjectOutputStream; import java.io.Serializable; /** @@ -183,4 +185,17 @@ public class MBeanFeatureInfo return string; } + /** + * Serialize the {@link MBeanFeatureInfo}. + * + * @param out the output stream to write to. + * @throws IOException if an I/O error occurs. + */ + private void writeObject(ObjectOutputStream out) + throws IOException + { + out.defaultWriteObject(); + /* FIXME: Handle extra 1.6 descriptor stuff */ + } + } diff --git a/libjava/classpath/javax/management/MBeanServerInvocationHandler.java b/libjava/classpath/javax/management/MBeanServerInvocationHandler.java new file mode 100644 index 0000000..9489967 --- /dev/null +++ b/libjava/classpath/javax/management/MBeanServerInvocationHandler.java @@ -0,0 +1,400 @@ +/* MBeanServerInvocationHandler.java -- Provides a proxy for a bean. + Copyright (C) 2007 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 javax.management; + +import gnu.javax.management.Translator; + +import java.lang.reflect.InvocationHandler; +import java.lang.reflect.Method; +import java.lang.reflect.Proxy; + +/** + *

        + * Provides a proxy for a management bean. The methods + * of the given interface are fulfilled by redirecting the + * calls over an {@link MBeanServerConnection} to the bean + * specified by the supplied {@link ObjectName}. + *

        + *

        + * The {@link java.lang.reflect.InvocationHandler} also makes + * provision for {@link MXBean}s by providing type conversion + * according to the rules defined for these beans. The input + * parameters are converted to their equivalent open type before + * calling the method, and then the return value is converted + * back from its open type to the appropriate Java type. For + * example, a method that takes an {@link Enum} as input and + * returns a {@link java.util.List} will have the input value + * converted from an {@link Enum} to a {@link String}, while + * the return value will be converted from its return type + * (an appropriately typed array) to a {@link java.util.List}. + *

        + *

        + * The proxy has special cases for the {@link Object#equals(Object)}, + * {@link Object#hashCode()} and {@link Object#toString()} methods. + * Unless they are specified explictly by the interface, the + * following behaviour is provided for these methods by the proxy: + *

        + *
          + *
        • equals(Object) returns true if the other object + * is an {@link MBeanServerInvocationHandler} with the same + * {@link MBeanServerConnection} and {@link ObjectName}. If an + * interface class was specified on construction for one of the + * proxies, then the same class must have also been specified + * for the other.
        • + *
        • hashCode() returns the same value for + * equivalent proxies.
        • + *
        • toString() returns a textual representation + * of the proxy.
        • + *
        + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ +public class MBeanServerInvocationHandler + implements InvocationHandler +{ + + /** + * The connection used to make the calls. + */ + private MBeanServerConnection conn; + + /** + * The name of the bean to perform operations on. + */ + private ObjectName name; + + /** + * True if this proxy is for an {@link MXBean}. + */ + private boolean mxBean; + + /** + * The interface class associated with the bean. + */ + private Class iface; + + /** + * Constructs a new {@link MBeanServerInvocationHandler} + * which forwards methods to the supplied bean via the + * given {@link MBeanServerConnection}. This constructor + * is used in preference to + * {@link JMX#newMBeanProxy(MBeanServerConnection, ObjectName, + * Class)} if you wish to make your own call to + * {@link java.lang.reflect.Proxy#newInstance(ClassLoader, + * Class[], java.lang.reflect.InvocationHandler)} with + * a different {@link ClassLoader}. Calling this constructor + * is equivalent to MBeanServerInvocationHandler(conn, + * name, false). The other constructor should be used + * instead if the bean being proxied is an {@link MXBean}. + * + * @param conn the connection through which methods will + * be forwarded to the bean. + * @param name the name of the bean to use to provide the + * actual calls. + */ + public MBeanServerInvocationHandler(MBeanServerConnection conn, + ObjectName name) + { + this(conn, name, false); + } + + /** + * Constructs a new {@link MBeanServerInvocationHandler} + * which forwards methods to the supplied bean via the + * given {@link MBeanServerConnection}. This constructor + * is used in preference to + * {@link JMX#newMBeanProxy(MBeanServerConnection, ObjectName, + * Class)} if you wish to make your own call to + * {@link java.lang.reflect.Proxy#newInstance(ClassLoader, + * Class[], java.lang.reflect.InvocationHandler)} with + * a different {@link ClassLoader}. + * + * @param conn the connection through which methods will + * be forwarded to the bean. + * @param name the name of the bean to use to provide the + * actual calls. + * @param mxBean true if the bean being proxied is an + * {@link MXBean}. + * @since 1.6 + */ + public MBeanServerInvocationHandler(MBeanServerConnection conn, + ObjectName name, boolean mxBean) + { + this.conn = conn; + this.name = name; + this.mxBean = mxBean; + } + + /** + * Returns the connection through which the calls to the bean + * will be made. + * + * @return the connection being used to forward the calls to + * the bean. + * @since 1.6 + */ + public MBeanServerConnection getMBeanServerConnection() + { + return conn; + } + + /** + * Returns the name of the bean to which method calls are made. + * + * @return the bean which provides the actual method calls. + * @since 1.6 + */ + public ObjectName getObjectName() + { + return name; + } + + /** + * Called by the proxy class whenever a method is called. The method + * is emulated by retrieving an attribute from, setting an attribute on + * or invoking a method on the server connection as required. Translation + * between the Java data types supplied as arguments to the open types used + * by the bean is provided, as well as translation of the return value back + * in to the appropriate Java type if the bean is an {@link MXBean}. + * + * @param proxy the proxy on which the method was called. + * @param method the method which was called. + * @param args the arguments supplied to the method. + * @return the return value from the method. + * @throws Throwable if an exception is thrown in performing the + * method emulation. + */ + public Object invoke(Object proxy, Method method, Object[] args) + throws Throwable + { + String mName = method.getName(); + Class proxyClass = proxy.getClass(); + if (mName.equals("toString")) + { + if (inInterface(mName, proxyClass)) + return conn.invoke(name,mName,null,null); + else + return proxyClass.getName() + "[name=" + name + + ", conn=" + conn + "]"; + } + if (mName.equals("hashCode")) + { + if (inInterface(mName, proxyClass)) + return conn.invoke(name,mName,null,null); + else + return conn.hashCode() + name.hashCode() + + (iface == null ? 0 : iface.hashCode()); + } + if (mName.equals("equals")) + { + if (inInterface(mName, proxyClass, Object.class)) + return conn.invoke(name,mName,new Object[]{args[0]}, + new String[]{"java.lang.Object"}); + else + { + if (args[0].getClass() != proxy.getClass()) + return false; + InvocationHandler ih = Proxy.getInvocationHandler(args[0]); + if (ih instanceof MBeanServerInvocationHandler) + { + MBeanServerInvocationHandler h = + (MBeanServerInvocationHandler) ih; + return conn.equals(h.getMBeanServerConnection()) + && name.equals(h.getObjectName()) + && (iface == null ? h.iface == null + : iface.equals(h.iface)); + } + return false; + } + } + if (NotificationEmitter.class.isAssignableFrom(proxyClass)) + { + if (mName.equals("addNotificationListener")) + { + conn.addNotificationListener(name, + (NotificationListener) args[0], + (NotificationFilter) args[1], + args[2]); + return null; + } + if (mName.equals("getNotificationInfo")) + return conn.getMBeanInfo(name).getNotifications(); + if (mName.equals("removeNotificationListener")) + { + if (args.length == 1) + conn.removeNotificationListener(name, + (NotificationListener) + args[0]); + else + conn.removeNotificationListener(name, + (NotificationListener) + args[0], + (NotificationFilter) + args[1], args[2]); + return null; + } + } + String[] sigs; + if (args == null) + sigs = null; + else + { + sigs = new String[args.length]; + for (int a = 0; a < args.length; ++a) + sigs[a] = args[a].getClass().getName(); + } + String attrib = null; + if (mName.startsWith("get")) + attrib = mName.substring(3); + else if (mName.startsWith("is")) + attrib = mName.substring(2); + if (attrib != null) + { + Object val = conn.getAttribute(name, attrib); + if (mxBean) + return Translator.toJava(val, method); + else + return val; + } + else if (mName.startsWith("set")) + { + Object arg; + if (mxBean) + arg = Translator.fromJava(args, method)[0]; + else + arg = args[0]; + conn.setAttribute(name, new Attribute(mName.substring(3), arg)); + return null; + } + if (mxBean) + return Translator.toJava(conn.invoke(name, mName, + Translator.fromJava(args,method), + sigs), method); + else + return conn.invoke(name, mName, args, sigs); + } + + /** + * Returns true if this is a proxy for an {@link MXBean} + * and conversions must be applied to input parameters + * and return types, according to the rules for such beans. + * + * @return true if this is a proxy for an {@link MXBean}. + * @since 1.6 + */ + public boolean isMXBean() + { + return mxBean; + } + + /** + *

        + * Returns a proxy for the specified bean. A proxy object is created + * using Proxy.newProxyInstance(iface.getClassLoader(), + * new Class[] { iface }, handler). The + * {@link javax.management.NotificationEmitter} class is included as the + * second element of the array if broadcaster is true. + * handler refers to the invocation handler which forwards + * calls to the connection, which is created by a call to + * new MBeanServerInvocationHandler(conn, name). + *

        + *

        + * Note: use of the proxy may result in + * {@link java.io.IOException}s from the underlying + * {@link MBeanServerConnection}. + * As of 1.6, the use of {@link JMX#newMBeanProxy(MBeanServerConnection, + * ObjectName,Class)} and {@link JMX#newMBeanProxy(MBeanServerConnection, + * ObjectName,Class,boolean)} is preferred. + *

        + * + * @param conn the server connection to use to access the bean. + * @param name the {@link javax.management.ObjectName} of the + * bean to provide a proxy for. + * @param iface the interface for the bean being proxied. + * @param broadcaster true if the proxy should implement + * {@link NotificationEmitter}. + * @return a proxy for the specified bean. + * @see JMX#newMBeanProxy(MBeanServerConnection,ObjectName,Class) + */ + public static T newProxyInstance(MBeanServerConnection conn, + ObjectName name, Class iface, + boolean broadcaster) + { + if (broadcaster) + return (T) Proxy.newProxyInstance(iface.getClassLoader(), + new Class[] { iface, + NotificationEmitter.class }, + new MBeanServerInvocationHandler(conn,name)); + else + return (T) Proxy.newProxyInstance(iface.getClassLoader(), + new Class[] { iface }, + new MBeanServerInvocationHandler(conn,name)); + } + + /** + * Returns true if the specified method is specified + * by one of the proxy's interfaces. + * + * @param name the name of the method to search for. + * @param proxyClass the class of the proxy. + * @param args the arguments to the method. + * @return true if one of the interfaces specifies the + * given method. + */ + private boolean inInterface(String name, Class proxyClass, + Class... args) + { + for (Class iface : proxyClass.getInterfaces()) + { + try + { + iface.getMethod(name, args); + return true; + } + catch (NoSuchMethodException e) + { + /* Ignored; this interface doesn't specify + the method. */ + } + } + return false; + } + +} + diff --git a/libjava/classpath/javax/management/MXBean.java b/libjava/classpath/javax/management/MXBean.java new file mode 100644 index 0000000..7b3af54 --- /dev/null +++ b/libjava/classpath/javax/management/MXBean.java @@ -0,0 +1,82 @@ +/* MXBean.java - Marks a management bean interface as an MXBean. + Copyright (C) 2007 Free Software Foundation + +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 javax.management; + +import java.lang.annotation.Documented; +import java.lang.annotation.Retention; +import java.lang.annotation.Target; + +import static java.lang.annotation.RetentionPolicy.RUNTIME; +import static java.lang.annotation.ElementType.TYPE; + +/** + *

        + * An annotation used to explictly mark an interface + * as defining (or not defining) an {@link MXBean}. By + * default, such beans are taken to be those whose interface + * has the suffix {@code "MXBean"}. The presence of this + * annotation overrides this intuition. The following + * interfaces would be classed as {@link MXBean}s: + *

        + *
          + *
        • {@code public interface SomethingMXBean{}}
        • + *
        • {@code @MXBean public interface Someat{}}
        • + *
        • {@code @MXBean(true) public interface SomeatElse{}}
        • + *
        + *

        The following would not:

        + *
          + *
        • {@code public interface RandomInterface{}}
        • + *
        • {@code @MXBean(false) public interface SomethingMXBean{}}
        • + *
        + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.6 + */ +@Documented @Retention(RUNTIME) @Target(TYPE) +public @interface MXBean +{ + + /** + * Returns true if the annotated interface + * is an {@link MXBean}. + * + * @return true if the interface is an {@link MXBean}. + */ + boolean value(); + +} diff --git a/libjava/classpath/javax/management/Notification.java b/libjava/classpath/javax/management/Notification.java index 52c11de..2bbc206 100644 --- a/libjava/classpath/javax/management/Notification.java +++ b/libjava/classpath/javax/management/Notification.java @@ -37,6 +37,9 @@ exception statement from your version. */ package javax.management; +import java.io.IOException; +import java.io.ObjectOutputStream; + import java.util.Date; import java.util.EventObject; @@ -66,6 +69,11 @@ public class Notification { /** + * Compatible with JDK 1.6 + */ + private static final long serialVersionUID = -7516092053498031989L; + + /** * The notification message. * * @serial the notification message. @@ -141,7 +149,7 @@ public class Notification public Notification(String type, Object source, long sequenceNumber, long timeStamp) { - this(type, source, sequenceNumber, timeStamp, null); + this(type, source, sequenceNumber, timeStamp, ""); } /** @@ -159,6 +167,7 @@ public class Notification { super(source); this.type = type; + this.source = source; this.sequenceNumber = sequenceNumber; this.timeStamp = timeStamp; this.message = message; @@ -310,5 +319,17 @@ public class Notification + "]"; } + /** + * Serialize the {@link Notification}. + * + * @param out the output stream to write to. + * @throws IOException if an I/O error occurs. + */ + private void writeObject(ObjectOutputStream out) + throws IOException + { + out.defaultWriteObject(); + } + } diff --git a/libjava/classpath/javax/management/NotificationBroadcasterSupport.java b/libjava/classpath/javax/management/NotificationBroadcasterSupport.java new file mode 100644 index 0000000..59d9ec2 --- /dev/null +++ b/libjava/classpath/javax/management/NotificationBroadcasterSupport.java @@ -0,0 +1,390 @@ +/* NotificationBroadcasterSupport.java -- Supporting implementation. + Copyright (C) 2007 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 javax.management; + +import gnu.javax.management.ListenerData; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +import java.util.concurrent.Executor; + +/** + *

        + * Provides an implementation of the {@link NotificationEmitter} + * interface, which beans may utilise by extension. By default, + * a synchronous dispatch system is provided, whereby the + * {@link #handleNotification(NotificationListener, Notification, + * Object)} is called once per listener by + * {*@link #sendNotification(Notification)} before returning. + * Thus, unless the listener is remote, it will have received + * the notification before the method returns. + * This may be changed by overriding the handleNotification + * method, or by providing an {@link java.util.concurrent.Executor} to + * use. With the latter, the dispatch of a notification to a particular + * listener will form one task performed by the executor. + *

        + *

        + * Any exceptions thrown by the dispatch process will be caught, allowing + * other listeners to still receive the notification. However, any + * {@link Error}s that are thrown will be propogated to the caller of + * {@link #sendNotification(Notification)}. + *

        + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ +public class NotificationBroadcasterSupport + implements NotificationEmitter +{ + + /** + * The executor for dispatch, or + * null if this thread should + * handle dispatch itself. + */ + private Executor executor; + + /** + * An array containing information on each + * notification, or null if an + * empty array should be returned by + * {@link #getNotificationInfo()}. + */ + private MBeanNotificationInfo[] info; + + /** + * The list of listeners registered with + * this broadcaster. + */ + private final List listeners = + new ArrayList(); + + /** + * Constructs a {@link NotificationBroadcasterSupport} using + * the default synchronous dispatch model, where a single + * thread sends the notification to all listeners. This + * is equivalent to calling + * NotificationBroadcasterSupport(null, null). + */ + public NotificationBroadcasterSupport() + { + this(null, null); + } + + /** + * Constructs a {@link NotificationBroadcasterSupport} where + * the specified (@link java.util.concurrent.Executor} is used + * to perform each invocation of the + * {@link #handleNotification(NotificationListener, Notification, + * Object)} method. Filtering is performed beforehand, by this + * thread; only calls which have successfully passed through the + * filter are sent to the executor. This is equivalent to calling + * NotificationBroadcasterSupport(executor, null). + * + * @param executor the executor to use for each call to + * handleNotification(). + * @since 1.6 + */ + public NotificationBroadcasterSupport(Executor executor) + { + this(executor, null); + } + + /** + * Constructs a {@link NotificationBroadcasterSupport} using + * the default synchronous dispatch model, where a single + * thread sends the notification to all listeners. The specified + * {@link MBeanNotificationInfo} array is used to provide + * information about the notifications on calls to + * {@link #getNotificationInfo()}, where a clone will be + * returned if the array is non-empty. This is equivalent to + * calling NotificationBroadcasterSupport(null, info). + * + * @param info an array of {@link MBeanNotificationInfo} objects + * describing the notifications delivered by this + * broadcaster. This may be null, which + * is taken as being equivalent to an empty array. + */ + public NotificationBroadcasterSupport(MBeanNotificationInfo... info) + { + this(null, info); + } + + /** + * Constructs a {@link NotificationBroadcasterSupport} where + * the specified (@link java.util.concurrent.Executor} is used + * to perform each invocation of the + * {@link #handleNotification(NotificationListener, Notification, + * Object)} method. Filtering is performed beforehand, by this + * thread; only calls which have successfully passed through the + * filter are sent to the executor. The specified + * {@link MBeanNotificationInfo} array is used to provide + * information about the notifications on calls to + * {@link #getNotificationInfo()}, where a clone will be + * returned if the array is non-empty. + * + * @param executor the executor to use for each call to + * handleNotification(). + * @param info an array of {@link MBeanNotificationInfo} objects + * describing the notifications delivered by this + * broadcaster. This may be null, which + * is taken as being equivalent to an empty array. + * @since 1.6 + */ + public NotificationBroadcasterSupport(Executor executor, + MBeanNotificationInfo... info) + { + this.executor = executor; + this.info = info; + } + + /** + * Registers the specified listener as a new recipient of + * notifications from this bean. If non-null, the filter + * argument will be used to select which notifications are + * delivered. The supplied object will also be passed to + * the recipient with each notification. This should not + * be modified by the broadcaster, but instead should be + * passed unmodified to the listener. + * + * @param listener the new listener, who will receive + * notifications from this broadcasting bean. + * @param filter a filter to determine which notifications are + * delivered to the listener, or null + * if no filtering is required. + * @param passback an object to be passed to the listener with + * each notification. + * @throws IllegalArgumentException if listener is + * null. + * @see #removeNotificationListener(NotificationListener) + */ + public void addNotificationListener(NotificationListener listener, + NotificationFilter filter, + Object passback) + throws IllegalArgumentException + { + if (listener == null) + throw new IllegalArgumentException("Null listener added to bean."); + listeners.add(new ListenerData(listener, filter, passback)); + } + + /** + * Returns an array describing the notifications this + * bean may send to its registered listeners. Ideally, this + * array should be complete, but in some cases, this may + * not be possible. However, be aware that some listeners + * may expect this to be so. + * + * @return the array of possible notifications. + */ + public MBeanNotificationInfo[] getNotificationInfo() + { + if (info == null || info.length == 0) + return new MBeanNotificationInfo[0]; + return (MBeanNotificationInfo[]) info.clone(); + } + + /** + * This method is called on a per-listener basis, either + * from this thread or the supplied executor, and may be + * overridden by subclasses which wish to change how + * notifications are delivered. The default + * implementation simply calls + * listener.handleNotification(notif, passback). + * + * @param listener the listener to send the notification to. + * @param notif the notification to dispatch. + * @param passback the passback object of the listener. + */ + protected void handleNotification(NotificationListener listener, + Notification notif, + Object passback) + { + listener.handleNotification(notif, passback); + } + + /** + * Removes the specified listener from the list of recipients + * of notifications from this bean. This includes all combinations + * of filters and passback objects registered for this listener. + * For more specific removal of listeners, see the subinterface + * {@link NotificationEmitter}. + * + * @param listener the listener to remove. + * @throws ListenerNotFoundException if the specified listener + * is not registered with this bean. + * @see #addNotificationListener(NotificationListener, NotificationFilter, + * java.lang.Object) + */ + public void removeNotificationListener(NotificationListener listener) + throws ListenerNotFoundException + { + Iterator it = listeners.iterator(); + boolean foundOne = false; + while (it.hasNext()) + { + if (it.next().getListener() == listener) + { + it.remove(); + foundOne = true; + } + } + if (!foundOne) + throw new ListenerNotFoundException("The specified listener, " + listener + + "is not registered with this bean."); + } + + /** + * Removes the specified listener from the list of recipients + * of notifications from this bean. Only the first instance with + * the supplied filter and passback object is removed. + * null is used as a valid value for these parameters, + * rather than as a way to remove all registration instances for + * the specified listener; for this behaviour instead, see the details + * of the same method in {@link NotificationBroadcaster}. + * + * @param listener the listener to remove. + * @param filter the filter of the listener to remove. + * @param passback the passback object of the listener to remove. + * @throws ListenerNotFoundException if the specified listener + * is not registered with this bean. + * @see #addNotificationListener(NotificationListener, NotificationFilter, + * java.lang.Object) + */ + public void removeNotificationListener(NotificationListener listener, + NotificationFilter filter, + Object passback) + throws ListenerNotFoundException + { + if (!(listeners.remove(new ListenerData(listener, filter, passback)))) + { + throw new ListenerNotFoundException("The specified listener, " + listener + + " with filter " + filter + + "and passback " + passback + + ", is not registered with this bean."); + } + } + + /** + *

        + * Performs delivery of the notification. If an executor + * was specified on construction, this will be used to call + * {@link #handleNotification(NotificationListener, Notification, + * Object)}. If the executor is null, however, + * this thread calls the method itself in order to perform a + * synchronous dispatch of the notification to all eligible + * listeners. + *

        + *

        + * Prior to either process taking place, the listeners are filtered. + * Notifications are only delivered if the filter is either + * null or returns true from the + * {@link NotificationFilter#isNotificationEnabled(Notification)} + * method. + *

        + * + * @param notif the notification to send. + */ + public void sendNotification(Notification notif) + { + for (ListenerData ldata : listeners) + { + NotificationFilter filter = ldata.getFilter(); + if (filter == null || filter.isNotificationEnabled(notif)) + { + if (executor == null) + try + { + handleNotification(ldata.getListener(), notif, + ldata.getPassback()); + } + catch (Exception e) { /* Ignore */ } + else + executor.execute(new DispatchTask(ldata, notif)); + } + } + } + + /** + * The dispatch task to be performed by an executor. + */ + private final class DispatchTask + implements Runnable + { + + /** + * The data on the listener being called. + */ + private ListenerData ldata; + + /** + * The notification to send. + */ + private Notification notif; + + /** + * Construct a new {@link DispatchTask}. + * + * @param ldata the listener data. + * @param notif the notification to send. + */ + public DispatchTask(ListenerData ldata, + Notification notif) + { + this.ldata = ldata; + this.notif = notif; + } + + /** + * Dispatch the notification. + */ + public void run() + { + try + { + handleNotification(ldata.getListener(), notif, + ldata.getPassback()); + } + catch (Exception e) { /* Ignore */ } + } + } + +} + diff --git a/libjava/classpath/javax/management/NotificationFilterSupport.java b/libjava/classpath/javax/management/NotificationFilterSupport.java new file mode 100644 index 0000000..28be871 --- /dev/null +++ b/libjava/classpath/javax/management/NotificationFilterSupport.java @@ -0,0 +1,139 @@ +/* NotificationFilterSupport.java -- Filter on notification type. + Copyright (C) 2007 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 javax.management; + +import java.util.Vector; + +/** + * Performs filtering of {@link Notification}s + * based on a list of type prefixes. The type of a notification + * is compared with each member of the list using + * {@link String#startsWith(String)} and, if one matches, + * the notification is allowed to pass through the filter. + * Matching on the beginning of the string is used in + * preference to wildcards, so type.* will + * match only notifications with a type beginning with + * code>type.*, not type. as + * expected. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ +public class NotificationFilterSupport + implements NotificationFilter +{ + + /** + * Compatible with JDK 1.5 + */ + private static final long serialVersionUID = 6579080007561786969L; + + /** + * Lists the types that may pass through the filter. + */ + private final Vector enabledTypes = new Vector(); + + /** + * Blocks all types by emptying the list of enabled attributes. + */ + public void disableAllTypes() + { + enabledTypes.clear(); + } + + /** + * Removes the specified type prefix from the list + * of enabled types, thus preventing matching types + * from passing through the filter. If the specified + * type prefix is not enabled, this operation has no + * effect. + * + * @param prefix the prefix to disable. + */ + public void disableType(String prefix) + { + enabledTypes.remove(prefix); + } + + /** + * Adds the specified type prefix to the list + * of enabled types, thus allowing + * types starting with this string to pass through + * the filter. If the type prefix is already + * enabled, this has no effect. + * + * @param prefix the prefix to enable. + * @throws IllegalArgumentException if prefix + * is null. + */ + public void enableType(String prefix) + { + if (prefix == null) + throw new IllegalArgumentException("A null prefix was supplied."); + if (!enabledTypes.contains(prefix)) + enabledTypes.add(prefix); + } + + /** + * Returns the list of enabled types for this + * filter. + * + * @return the list of enabled types. + */ + public Vector getEnabledTypes() + { + return enabledTypes; + } + + /** + * Returns true if the type of the specified notification + * begins with one of the enabled type prefixes. + * + * @param notif the notification being filtered. + * @return true if the notification's type is enabled. + */ + public boolean isNotificationEnabled(Notification notif) + { + String nType = notif.getType(); + for (String type : enabledTypes) + if (nType.startsWith(type)) + return true; + return false; + } + +} diff --git a/libjava/classpath/javax/management/PersistentMBean.java b/libjava/classpath/javax/management/PersistentMBean.java new file mode 100644 index 0000000..e47e2c5 --- /dev/null +++ b/libjava/classpath/javax/management/PersistentMBean.java @@ -0,0 +1,126 @@ +/* PersistentMBean.java -- Interface for beans that should persist. + Copyright (C) 2007 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 javax.management; + +/** + * Beans may implement this interface in order to become + * persistent. The {@link #load()} method should be + * called on construction in order to reload the stored + * state. The {@link #store()} method should be called + * sometime during the bean's lifetime in order to create + * a persistent copy of the bean's instance data. This + * method may also be called by the {@link MBeanServer} + * as a result of the {@link Descriptor} of an + * {@link javax.management.modelmbean.ModelMBean}. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ +public interface PersistentMBean +{ + + /** + * Instantiates the bean with the data previously stored + * using a call to {@link #store()}. The data stored can + * include values held by attributes as well as those returned + * by operations. This method should be called during + * construction or initialisation of the bean, before + * it becomes registered with an {@link MBeanServer}. + * + * @throws MBeanException if persistence is not supported, + * or another exception is thrown + * (which this then wraps). + * @throws RuntimeOperationsException if the persistence + * mechanism throws an + * exception. + * @throws InstanceNotFoundException if the bean can not + * be found in the + * persistent store. + */ + void load() + throws MBeanException, RuntimeOperationsException, + InstanceNotFoundException; + + /** + *

        + * Captures the current state of the bean and stores it + * for future retrieval by the {@link #load()} method. + * The data stored can include values held by attributes + * as well as those returned by operations. + *

        + *

        + * Whether the state is stored or not depends on the + * persistPolicy field of the MBean/attribute + * descriptor. The state should be stored if the policy + * is set to any of the following: + *

        + *
          + *
        • always
        • + *
        • onTimer and now is + * greater than or equal to lastPersistTime + + * persistPeriod.
        • + *
        • noMoreOftenThan and now is + * greater than or equal to lastPersistTime + + * persistPeriod.
        • + *
        • onUnregister
        • + *
        + *

        If the policy is set to any of the following, the state + * should not be stored:

        + *
          + *
        • never
        • + *
        • onUpdate
        • + *
        • onTimer and now is + * less than lastPersistTime + persistPeriod. + *
        • + *
        + * + * @throws MBeanException if persistence is not supported, + * or another exception is thrown + * (which this then wraps). + * @throws RuntimeOperationsException if the persistence + * mechanism throws an + * exception. + * @throws InstanceNotFoundException if the persistent + * store can not be found + * or accessed. + */ + void store() + throws MBeanException, RuntimeOperationsException, + InstanceNotFoundException; + +} diff --git a/libjava/classpath/javax/management/Query.java b/libjava/classpath/javax/management/Query.java new file mode 100644 index 0000000..80b76b1 --- /dev/null +++ b/libjava/classpath/javax/management/Query.java @@ -0,0 +1,1901 @@ +/* Query.java -- Static methods for query construction. + Copyright (C) 2007 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 javax.management; + +/** + * Provides static methods for constructing queries. Queries + * may be used to list and enumerate management beans, via + * the {@link MBeanServer}. By using the methods in this class, + * complex queries can be created from their more basic + * components. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ +public class Query +{ + + /** + * A code representing the {@link #plus(ValueExp, ValueExp) + * query to be used in serialization. + */ + public static final int PLUS = 0; + + /** + * A code representing the {@link #minus(ValueExp, ValueExp) + * query to be used in serialization. + */ + public static final int MINUS = 1; + + /** + * A code representing the {@link #times(ValueExp, ValueExp) + * query to be used in serialization. + */ + public static final int TIMES = 2; + + /** + * A code representing the {@link #div(ValueExp, ValueExp) + * query to be used in serialization. + */ + public static final int DIV = 3; + + /** + * A code representing the {@link #gt(ValueExp, ValueExp) + * query to be used in serialization. + */ + public static final int GT = 0; + + /** + * A code representing the {@link #lt(ValueExp, ValueExp) + * query to be used in serialization. + */ + public static final int LT = 1; + + /** + * A code representing the {@link #ge(ValueExp, ValueExp) + * query to be used in serialization. + */ + public static final int GE = 2; + + /** + * A code representing the {@link #le(ValueExp, ValueExp) + * query to be used in serialization. + */ + public static final int LE = 3; + + /** + * A code representing the {@link #eq(ValueExp, ValueExp) + * query to be used in serialization. + */ + public static final int EQ = 4; + + /** + * Returns a query expression formed from the conjunction + * of the two supplied query expressions. + * + * @param q1 the first query expression. + * @param q2 the second query expression. + * @return a query expression representing q1 && q2. This + * will be serialized as the non-public class + * {@link AndQueryExp}. + */ + public static QueryExp and(QueryExp q1, QueryExp q2) + { + return new AndQueryExp(q1, q2); + } + + /** + * Returns a query expression which checks that an + * attribute value held by the specified + * {@link AttributeValueExp} contains the string + * specified by the given {@link StringValueExp}. + * + * @param attrib the attribute to match. + * @param string the substring to find. + * @return a query expression representing + * attrib.matches("*" + string + "*"). + * This will be serialized as the non-public class + * {@link MatchQueryExp}. + */ + public static QueryExp anySubString(AttributeValueExp attrib, + StringValueExp string) + { + return new MatchQueryExp(attrib, "*" + string.getValue() + "*"); + } + + /** + * Returns a value expression for the value of the + * named attribute. Evaluating this using an + * {@link ObjectName} involves an underlying call + * to {@link MBeanServer#getAttribute(ObjectName,String)}. + * + * @param name the name of the attribute. + * @return a value expression which returns the value + * of the named attribute when applied. + */ + public static AttributeValueExp attr(String name) + { + return new AttributeValueExp(name); + } + + /** + * Returns a value expression for the value of the + * named attribute from the specified class. Evaluating + * this using an {@link ObjectName} involves an underlying call + * to both {@link MBeanServer#getObjectInstance(ObjectName)} and + * {@link MBeanServer#getAttribute(ObjectName,String)}. + * + * @param className the class containing the attribute. + * @param name the name of the attribute. + * @return a value expression which returns the value + * of the named attribute when applied. + * This will be serialized as the non-public class + * {@link QualifiedAttributeValueExp}. + */ + public static AttributeValueExp attr(String className, + String name) + { + return new QualifiedAttributeValueExp(className, name); + } + + /** + * Returns a query expression representing the constraint + * that the value, v1, lies between v2 + * and v3. + * + * @param v1 the value to compare against the boundaries. + * @param v2 the lower boundary. + * @param v3 the upper boundary. + * @return a query expression representing a comparison + * of v1 against v2 + * and v3. It returns true if + * v2 <= v1 <= v3. This + * will be serialized as the non-public class + * {@link BetweenQueryExp}. + */ + public static QueryExp between(ValueExp v1, ValueExp v2, + ValueExp v3) + { + return new BetweenQueryExp(v1, v2, v3); + } + + /** + * Returns a value expression which evaluates to the name of + * the class of the bean when applied. Associating the expression + * with an {@link ObjectName} involves an underlying call + * to both {@link MBeanServer#getObjectInstance(ObjectName)} + * to obtain this information. + * + * @return a value expression which returns the class name + * of the bean to which it is applied. + * This will be serialized as the non-public class + * {@link ClassAttributeValueExp}. + */ + public static AttributeValueExp classattr() + { + return new ClassAttributeValueExp(); + } + + /** + * Returns a value expression which evaluates to the result of + * dividing v1 by v2. + * + * @param v1 the left-hand operand. + * @param v2 the right-hand operand. + * @return a value expression which returns the result of + * the division when applied. This will be serialized + * as the non-public class {@link BinaryOpValueExp} + * with an operation of {@link #DIV}. + */ + public static ValueExp div(ValueExp v1, ValueExp v2) + { + return new BinaryOpValueExp(DIV, v1, v2); + } + + /** + * Returns a query expression which evaluates to the result of + * comparing v1 to v2 for equality. + * + * @param v1 the left-hand operand. + * @param v2 the right-hand operand. + * @return a value expression which returns the result of + * the comparison when applied. This will be serialized + * as the non-public class {@link BinaryRelQueryExp} + * with an operation of {@link #EQ}. + */ + public static QueryExp eq(ValueExp v1, ValueExp v2) + { + return new BinaryRelQueryExp(EQ, v1, v2); + } + + /** + * Returns a query expression which checks that an + * attribute value held by the specified + * {@link AttributeValueExp} ends with the string + * specified by the given {@link StringValueExp}. + * + * @param attrib the attribute to match. + * @param string the substring to find. + * @return a query expression representing + * attrib.matches("*" + string). + * This will be serialized as the non-public class + * {@link MatchQueryExp}. + */ + public static QueryExp finalSubString(AttributeValueExp attrib, + StringValueExp string) + { + return new MatchQueryExp(attrib, "*" + string.getValue()); + } + + /** + * Returns a query expression which evaluates to the result of + * comparing v1 to v2 to see if + * v1 is greater than or equal to v2. + * + * @param v1 the left-hand operand. + * @param v2 the right-hand operand. + * @return a value expression which returns the result of + * the comparison when applied. This will be serialized + * as the non-public class {@link BinaryRelQueryExp} + * with an operation of {@link #GE}. + */ + public static QueryExp geq(ValueExp v1, ValueExp v2) + { + return new BinaryRelQueryExp(GE, v1, v2); + } + + /** + * Returns a query expression which evaluates to the result of + * comparing v1 to v2 to see if + * v1 is greater than v2. + * + * @param v1 the left-hand operand. + * @param v2 the right-hand operand. + * @return a value expression which returns the result of + * the comparison when applied. This will be serialized + * as the non-public class {@link BinaryRelQueryExp} + * with an operation of {@link #GT}. + */ + public static QueryExp gt(ValueExp v1, ValueExp v2) + { + return new BinaryRelQueryExp(GT, v1, v2); + } + + /** + * Returns a query expression representing the constraint + * that the value, v, is a member of the + * list, vlist. + * + * @param v the value to look for in the list. + * @param vlist the list of allowed values. + * @return a query expression representing a membership check + * of v against the list, vlist. + * This will be serialized as the non-public class + * {@link InQueryExp}. + */ + public static QueryExp in(ValueExp v, ValueExp[] vlist) + { + return new InQueryExp(v, vlist); + } + + /** + * Returns a query expression which checks that an + * attribute value held by the specified + * {@link AttributeValueExp} starts with the string + * specified by the given {@link StringValueExp}. + * + * @param attrib the attribute to match. + * @param string the substring to find. + * @return a query expression representing + * attrib.matches(string + "*"). + * This will be serialized as the non-public class + * {@link MatchQueryExp}. + */ + public static QueryExp initialSubString(AttributeValueExp attrib, + StringValueExp string) + { + return new MatchQueryExp(attrib, string.getValue() + "*"); + } + + /** + * Returns a query expression which checks that a + * bean is an instance of the class specified + * by the given {@link StringValueExp}. Associating the + * expression with an {@link ObjectName} involves an underlying + * call to {@link MBeanServer#isInstanceOf(ObjectName, String)} + * using the value of ((StringValueExp) + * className.apply(objectName)).getValue() as the + * class name. + * + * @param className the name of the class which the bean + * should be an instance of. + * @return a query expression representing + * the inheritance check. This will be serialized + * as the non-public class {@link InstanceOfQueryExp}. + * @since 1.6 + */ + public static QueryExp isInstanceOf(StringValueExp className) + { + return new InstanceOfQueryExp(className); + } + + /** + * Returns a query expression which evaluates to the result of + * comparing v1 to v2 to see if + * v1 is less than or equal to v2. + * + * @param v1 the left-hand operand. + * @param v2 the right-hand operand. + * @return a value expression which returns the result of + * the comparison when applied. This will be serialized + * as the non-public class {@link BinaryRelQueryExp} + * with an operation of {@link #LE}. + */ + public static QueryExp leq(ValueExp v1, ValueExp v2) + { + return new BinaryRelQueryExp(LE, v1, v2); + } + + /** + * Returns a query expression which evaluates to the result of + * comparing v1 to v2 to see if + * v1 is less than v2. + * + * @param v1 the left-hand operand. + * @param v2 the right-hand operand. + * @return a value expression which returns the result of + * the comparison when applied. This will be serialized + * as the non-public class {@link BinaryRelQueryExp} + * with an operation of {@link #LT}. + */ + public static QueryExp lt(ValueExp v1, ValueExp v2) + { + return new BinaryRelQueryExp(LT, v1, v2); + } + + /** + *

        + * Returns a query expression which checks that an + * attribute value matches the pattern + * specified by the given {@link StringValueExp}. + * The pattern uses file-globbing syntax: + *

        + *
          + *
        • '*' stands for any number of arbitrary characters.
        • + *
        • '?' stands for a single arbitrary characters.
        • + *
        • An expression within '[' and ']' specify a character + * class.
        • + *
            + *
          • A range of characters can be specified by separating + * the start and end character with '-'.
          • + *
          • The complement of the class can be obtained by using + * '!' as the first character of the class.
          • + *
          • '?', '*' and '[' can occur freely within the class. '-' + * may occur as the first or last character. '!' may occur + * normally in any position other than the first. ']' may occur + * as the first element of the class.
          • + *
          + *
        • '?', '*' and '[' may be escaped using a backslash + * character, '\'.
        • + *
        + * + * @param attrib the attribute to match. + * @param string the substring to find. + * @return a query expression representing the result of + * matching the pattern against the evaluated + * value of the attribute. This will be serialized + * as the non-public class {@link MatchQueryExp}. + */ + public static QueryExp match(AttributeValueExp attrib, + StringValueExp string) + { + return new MatchQueryExp(attrib, string.getValue()); + } + + /** + * Returns a value expression which evaluates to the result of + * subtracting v2 from v1. + * + * @param v1 the left-hand operand. + * @param v2 the right-hand operand. + * @return a value expression which returns the result of + * the subtraction when applied. This will be serialized + * as the non-public class {@link BinaryOpValueExp} + * with an operation of {@link #MINUS}. + */ + public static ValueExp minus(ValueExp v1, ValueExp v2) + { + return new BinaryOpValueExp(MINUS, v1, v2); + } + + /** + * Returns a query expression representing the negation + * of the specified query expression. + * + * @param q the query to negate. + * @return a query expression representing the negation of + * q. This will be serialized as the + * non-public class {@link NotQueryExp}. + */ + public static QueryExp not(QueryExp q) + { + return new NotQueryExp(q); + } + + /** + * Returns a query expression formed from the disjunction + * of the two supplied query expressions. + * + * @param q1 the first query expression. + * @param q2 the second query expression. + * @return a query expression representing q1 || q2. This + * will be serialized as the non-public class + * {@link OrQueryExp}. + */ + public static QueryExp or(QueryExp q1, QueryExp q2) + { + return new OrQueryExp(q1, q2); + } + + /** + * Returns a value expression which evaluates to the result of + * adding v1 to v2. + * + * @param v1 the left-hand operand. + * @param v2 the right-hand operand. + * @return a value expression which returns the result of + * the addition when applied. This will be serialized + * as the non-public class {@link BinaryOpValueExp} + * with an operation of {@link #PLUS}. + */ + public static ValueExp plus(ValueExp v1, ValueExp v2) + { + return new BinaryOpValueExp(PLUS, v1, v2); + } + + /** + * Returns a value expression which evaluates to the result of + * multiplying v1 by v2. + * + * @param v1 the left-hand operand. + * @param v2 the right-hand operand. + * @return a value expression which returns the result of + * the multiplication when applied. This will be serialized + * as the non-public class {@link BinaryOpValueExp} + * with an operation of {@link #TIMES}. + */ + public static ValueExp times(ValueExp v1, ValueExp v2) + { + return new BinaryOpValueExp(TIMES, v1, v2); + } + + /** + * Returns a value expression wrapping the specified value. + * + * @param val the boolean value to wrap. + * @return a value expression wrapping val. This + * will be serialized as the non-public class + * {@link BooleanValueExp}. + */ + public static ValueExp value(boolean val) + { + return new BooleanValueExp(val); + } + + /** + * Returns a value expression wrapping the specified value. + * + * @param val the double value to wrap. + * @return a value expression wrapping val. This + * will be serialized as the non-public class + * {@link NumericValueExp}. + */ + public static ValueExp value(double val) + { + return new NumericValueExp(val); + } + + /** + * Returns a value expression wrapping the specified value. + * + * @param val the float value to wrap. + * @return a value expression wrapping val. This + * will be serialized as the non-public class + * {@link NumericValueExp}. + */ + public static ValueExp value(float val) + { + return new NumericValueExp(val); + } + + /** + * Returns a value expression wrapping the specified value. + * + * @param val the integer value to wrap. + * @return a value expression wrapping val. This + * will be serialized as the non-public class + * {@link NumericValueExp}. + */ + public static ValueExp value(int val) + { + return new NumericValueExp(val); + } + + /** + * Returns a value expression wrapping the specified value. + * + * @param val the long value to wrap. + * @return a value expression wrapping val. This + * will be serialized as the non-public class + * {@link NumericValueExp}. + */ + public static ValueExp value(long val) + { + return new NumericValueExp(val); + } + + /** + * Returns a value expression wrapping the specified value. + * + * @param val the {@link Number} value to wrap. + * @return a value expression wrapping val. This + * will be serialized as the non-public class + * {@link NumericValueExp}. + */ + public static ValueExp value(Number val) + { + return new NumericValueExp(val); + } + + /** + * Returns a value expression wrapping the specified string. + * + * @param val the {@link String} to wrap. + * @return a {@link StringValueExp} wrapping val. + */ + public static StringValueExp value(String val) + { + return new StringValueExp(val); + } + + /** + * Representation of the conjunction formed using + * {@link #and(QueryExp, QueryExp). + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ + private static final class AndQueryExp + extends QueryEval + implements QueryExp + { + + /** + * Compatible with JDK 1.6 + */ + private static final long serialVersionUID = -1081892073854801359L; + + /** + * The first operand. + */ + private QueryExp exp1; + + /** + * The second operand. + */ + private QueryExp exp2; + + /** + * Constructs a new {@link AndQueryExp} using + * the two specified operands. + * + * @param exp1 the first query expression. + * @param exp2 the second query expression. + */ + public AndQueryExp(QueryExp exp1, QueryExp exp2) + { + this.exp1 = exp1; + this.exp2 = exp2; + } + + /** + * Returns the conjunction of the two query + * expressions. + * + * @param name the {@link ObjectName} to apply + * the query to. + * @return the conjunction of applying the name + * to both operands. + * @throws BadStringOperationException if an invalid string + * operation is used by + * the query. + * @throws BadBinaryOpValueExpException if an invalid expression + * is used by the query. + * @throws BadAttributeValueExpException if an invalid attribute + * is used by the query. + * @throws InvalidApplicationException if the query is applied + * to the wrong type of bean. + */ + public boolean apply(ObjectName name) + throws BadStringOperationException, BadBinaryOpValueExpException, + BadAttributeValueExpException, InvalidApplicationException + { + return exp1.apply(name) && exp2.apply(name); + } + + } + + /** + * Representation of a query that matches an + * attribute's value against a given pattern. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ + private static final class MatchQueryExp + extends QueryEval + implements QueryExp + { + + /** + * Compatible with JDK 1.6 + */ + private static final long serialVersionUID = -7156603696948215014L; + + /** + * The attribute to match against. + */ + private AttributeValueExp exp; + + /** + * The pattern to be matched. + */ + private String pattern; + + /** + * Constructs a new {@link MatchQueryExp} using + * the specified attribute value and pattern. + * + * @param exp the attribute value expression. + * @param pattern the pattern. + */ + public MatchQueryExp(AttributeValueExp exp, + String pattern) + { + this.exp = exp; + this.pattern = pattern; + } + + /** + * Returns the result of matching the attribute + * value against the pattern. + * + * @param name the {@link ObjectName} to apply + * the query to. + * @return the result of the match. + * @throws BadStringOperationException if an invalid string + * operation is used by + * the query. + * @throws BadBinaryOpValueExpException if an invalid expression + * is used by the query. + * @throws BadAttributeValueExpException if an invalid attribute + * is used by the query. + * @throws InvalidApplicationException if the query is applied + * to the wrong type of bean. + */ + public boolean apply(ObjectName name) + throws BadStringOperationException, BadBinaryOpValueExpException, + BadAttributeValueExpException, InvalidApplicationException + { + String val = ((StringValueExp) exp.apply(name)).getValue(); + int valPos = 0; + int fallback = -1; + int fallbackP = -1; + boolean backslash = false; + for (int a = 0; a < pattern.length(); ++a) + { + boolean matched = false; + int next = pattern.codePointAt(a); + if (!backslash) + { + if (next == '?' && valPos < val.length()) + { + ++valPos; + matched = true; + } + else if (next == '*') + { + fallback = valPos; + fallbackP = a; + matched = true; + } + else if (next == '[' && valPos < val.length()) + { + boolean negated = false; + int b = a + 1; + int classChar = pattern.codePointAt(b); + do + { + if (classChar == '!' && b == a + 1) + negated = true; + else if (pattern.codePointAt(b + 1) == '-' && + pattern.codePointAt(b + 2) != ']') + { + if (classChar > pattern.codePointAt(b + 2)) + throw new BadStringOperationException("Invalid range: " + + classChar + " to " + + pattern.codePointAt(b+2)); + for (int c = classChar; c <= pattern.codePointAt(b+2); ++c) + if (val.codePointAt(valPos) == c) + matched = true; + b = b + 2; + } + else if (val.codePointAt(valPos) == classChar) + matched = true; + ++b; + classChar = pattern.codePointAt(b); + } while (classChar != ']'); + if (negated) + matched = !matched; + ++valPos; + a = b; + } + else if (next == '\\') + backslash = true; + else if (valPos < val.length() && next == val.codePointAt(valPos)) + { + matched = true; + ++valPos; + } + } + else + { + backslash = false; + if (valPos < val.length() && next == val.codePointAt(valPos)) + { + matched = true; + ++valPos; + } + } + if (!matched) + if (fallback != -1) + { + ++fallback; + valPos = fallback; + a = fallbackP; + if (valPos == val.length()) + return false; + continue; + } + else + return false; + } + return true; + } + } + + /** + * Representation of the retrieval of an attribute + * value from a certain class for {@link #attr(String,String)}. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ + private static final class QualifiedAttributeValueExp + extends AttributeValueExp + { + + /** + * Compatible with JDK 1.6 + */ + private static final long serialVersionUID = 8832517277410933254L; + + /** + * The name of the class from which the attribute is taken. + */ + private String className; + + /** + * Constructs a new {@link QualifiedAttributeValueExp} using + * the specified class name and attribute name. + * + * @param className the class name. + * @param name the attribute name. + */ + public QualifiedAttributeValueExp(String className, String name) + { + super(name); + this.className = className; + } + + /** + * Applies the {@link AttributeValueExp} to the specified + * management bean by checking that the attribute will be + * obtained from the correct class (by a class to + * {@link MBeanServer#getObjectInstance(ObjectName)} and + * then obtaining the attribute value from the + * {@link MBeanServer}, using it to create a + * {@link StringValueExp}. + * + * @param name the {@link ObjectName} of the bean to obtain + * the value from. + * @return a {@link StringValueExp} containing the result. + * @throws BadStringOperationException if an invalid string + * operation is used by + * the value expression. + * @throws BadBinaryOpValueExpException if an invalid expression + * is used by the value expression. + * @throws BadAttributeValueExpException if an invalid attribute + * is used by the value expression. + * @throws InvalidApplicationException if the value expression is applied + * to the wrong type of bean. + */ + public ValueExp apply(ObjectName name) + throws BadStringOperationException, BadBinaryOpValueExpException, + BadAttributeValueExpException, InvalidApplicationException + { + try + { + if (!(QueryEval.getMBeanServer().getObjectInstance(name).getClassName().equals(className))) + throw new BadAttributeValueExpException("The value is not from " + + "the correct class."); + } + catch (InstanceNotFoundException e) + { + throw (BadAttributeValueExpException) + new BadAttributeValueExpException("The named bean is not registered.").initCause(e); + } + return super.apply(name); + } + + } + + /** + * Representation of the comparison of a value with + * a pair of bounds formed using + * {@link #between(ValueExp, ValueExp, ValueExp). + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ + private static final class BetweenQueryExp + extends QueryEval + implements QueryExp + { + + /** + * Compatible with JDK 1.6 + */ + private static final long serialVersionUID = -2933597532866307444L; + + /** + * The value to compare. + */ + private ValueExp exp1; + + /** + * The lower boundary. + */ + private ValueExp exp2; + + /** + * The upper boundary. + */ + private ValueExp exp3; + + /** + * Constructs a new {@link BetweenQueryExp} using + * the specified comparison value and the given + * bounds. + * + * @param exp1 the value to compare. + * @param exp2 the lower bound. + * @param exp3 the upper bound. + */ + public BetweenQueryExp(ValueExp exp1, ValueExp exp2, + ValueExp exp3) + { + this.exp1 = exp1; + this.exp2 = exp2; + this.exp3 = exp3; + } + + /** + * Returns the result of the comparison between + * the value and the two bounds. + * + * @param name the {@link ObjectName} to apply + * the query to. + * @return the result of the comparison. + * @throws BadStringOperationException if an invalid string + * operation is used by + * the query. + * @throws BadBinaryOpValueExpException if an invalid expression + * is used by the query. + * @throws BadAttributeValueExpException if an invalid attribute + * is used by the query. + * @throws InvalidApplicationException if the query is applied + * to the wrong type of bean. + */ + public boolean apply(ObjectName name) + throws BadStringOperationException, BadBinaryOpValueExpException, + BadAttributeValueExpException, InvalidApplicationException + { + String v1 = exp1.apply(name).toString(); + String v2 = exp2.apply(name).toString(); + String v3 = exp3.apply(name).toString(); + return v1.compareTo(v2) >= 0 && v1.compareTo(v3) <= 0; + } + + } + + /** + * Representation of the retrieval of the name of + * a bean's class for {@link #classattr()}. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ + private static final class ClassAttributeValueExp + extends AttributeValueExp + { + + /** + * Compatible with JDK 1.6 + */ + private static final long serialVersionUID = -1081892073854801359L; + + /** + * Obtains the name of the specified bean's class using a call + * to {@link MBeanServer#getObjectInstance(ObjectName)}. + * + * @param name the {@link ObjectName} of the bean to obtain + * the class name from. + * @return a {@link StringValueExp} containing the result. + * @throws BadStringOperationException if an invalid string + * operation is used by + * the value expression. + * @throws BadBinaryOpValueExpException if an invalid expression + * is used by the value expression. + * @throws BadAttributeValueExpException if an invalid attribute + * is used by the value expression. + * @throws InvalidApplicationException if the value expression is applied + * to the wrong type of bean. + */ + public ValueExp apply(ObjectName name) + throws BadStringOperationException, BadBinaryOpValueExpException, + BadAttributeValueExpException, InvalidApplicationException + { + try + { + return new StringValueExp(QueryEval.getMBeanServer().getObjectInstance(name).getClassName()); + } + catch (InstanceNotFoundException e) + { + throw (BadAttributeValueExpException) + new BadAttributeValueExpException("The named bean is not registered.").initCause(e); + } + } + + } + + /** + * Representation of a binary operation formed using + * {@link #div(ValueExp, ValueExp), {@link #plus(ValueExp,ValueExp)}, + * {@link #minus(ValueExp, ValueExp) or + * {@link #times(ValueExp, ValueExp)}. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ + private static final class BinaryOpValueExp + extends QueryEval + implements ValueExp + { + + /** + * Compatible with JDK 1.6 + */ + private static final long serialVersionUID = 1216286847881456786L; + + /** + * The operation to perform. + */ + private int op; + + /** + * The left-hand operand. + */ + private ValueExp exp1; + + /** + * The right-hand operand. + */ + private ValueExp exp2; + + /** + * Constructs a new {@link BinaryOpValueExp} using + * the specified operation and the two values supplied. + * + * @param op the operation to perform. + * @param exp1 the left-hand operand. + * @param exp2 the right-hand operand. + */ + public BinaryOpValueExp(int op, ValueExp exp1, ValueExp exp2) + { + this.op = op; + this.exp1 = exp1; + this.exp2 = exp2; + } + + /** + * Returns the result of performing the operation on + * exp1 and exp2. + * + * @param name the {@link ObjectName} to apply + * the query to. + * @return the result of the operation. + * @throws BadStringOperationException if an invalid string + * operation is used by + * the query. + * @throws BadBinaryOpValueExpException if an invalid expression + * is used by the query. + * @throws BadAttributeValueExpException if an invalid attribute + * is used by the query. + * @throws InvalidApplicationException if the query is applied + * to the wrong type of bean. + */ + public ValueExp apply(ObjectName name) + throws BadStringOperationException, BadBinaryOpValueExpException, + BadAttributeValueExpException, InvalidApplicationException + { + NumericValueExp v1 = (NumericValueExp) exp1.apply(name); + NumericValueExp v2 = (NumericValueExp) exp2.apply(name); + switch (op) + { + case PLUS: + return v1.plus(v2); + case MINUS: + return v1.minus(v2); + case TIMES: + return v1.times(v2); + case DIV: + return v1.div(v2); + default: + throw new BadBinaryOpValueExpException(this); + } + } + + /** + * Returns a textual representation of the operation. + * + * @return a textual version of the operation. + */ + public String toString() + { + String opS; + switch (op) + { + case PLUS: + opS = "+"; + break; + case MINUS: + opS = "-"; + break; + case TIMES: + opS = "x"; + break; + case DIV: + opS = "/"; + break; + default: + opS = "?"; + } + return exp1 + " " + opS + " " + exp2; + } + } + + /** + * Representation of a binary operation formed using + * {@link #eq(ValueExp, ValueExp), {@link #geq(ValueExp, ValueExp)}, + * {@link #leq(ValueExp, ValueExp), {@link #gt(ValueExp, ValueExp)} + * or {@link #lt(ValueExp, ValueExp)}. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ + private static final class BinaryRelQueryExp + extends QueryEval + implements QueryExp + { + + /** + * Compatible with JDK 1.6 + */ + private static final long serialVersionUID = -5690656271650491000L; + + /** + * The operation to perform. + */ + private int relOp; + + /** + * The left-hand operand. + */ + private ValueExp exp1; + + /** + * The right-hand operand. + */ + private ValueExp exp2; + + /** + * Constructs a new {@link BinaryRelQueryExp} using + * the specified operation and the two values supplied. + * + * @param relOp the operation to perform. + * @param exp1 the left-hand operand. + * @param exp2 the right-hand operand. + */ + public BinaryRelQueryExp(int relOp, ValueExp exp1, ValueExp exp2) + { + this.relOp = relOp; + this.exp1 = exp1; + this.exp2 = exp2; + } + + /** + * Returns the result of performing the operation on + * exp1 and exp2. + * + * @param name the {@link ObjectName} to apply + * the query to. + * @return the result of the comparison. + * @throws BadStringOperationException if an invalid string + * operation is used by + * the query. + * @throws BadBinaryOpValueExpException if an invalid expression + * is used by the query. + * @throws BadAttributeValueExpException if an invalid attribute + * is used by the query. + * @throws InvalidApplicationException if the query is applied + * to the wrong type of bean. + */ + public boolean apply(ObjectName name) + throws BadStringOperationException, BadBinaryOpValueExpException, + BadAttributeValueExpException, InvalidApplicationException + { + String v1 = exp1.apply(name).toString(); + String v2 = exp2.apply(name).toString(); + switch (relOp) + { + case EQ: + return v1.equals(v2); + case GT: + return v1.compareTo(v2) > 0; + case GE: + return v1.compareTo(v2) >= 0; + case LE: + return v1.compareTo(v2) <= 0; + case LT: + return v1.compareTo(v2) < 0; + default: + throw new BadStringOperationException("Invalid operator: " + relOp); + } + } + + /** + * Returns a textual representation of the operation. + * + * @return a textual version of the operation. + */ + public String toString() + { + String op; + switch (relOp) + { + case EQ: + op = "="; + break; + case GT: + op = ">"; + break; + case GE: + op = ">="; + break; + case LE: + op = "<="; + break; + case LT: + op = "<"; + break; + default: + op = "?"; + } + return exp1 + " " + op + " " + exp2; + } + } + + /** + * Representation of the comparison of a value with + * the members of a list formed using + * {@link #in(ValueExp, ValueExp[]). + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ + private static final class InQueryExp + extends QueryEval + implements QueryExp + { + + /** + * Compatible with JDK 1.6 + */ + private static final long serialVersionUID = -5801329450358952434L; + + /** + * The value to look for. + */ + private ValueExp val; + + /** + * The array to search. + */ + private ValueExp[] valueList; + + /** + * Constructs a new {@link InQueryExp} using + * the specified comparison value and the given + * list. + * + * @param val the value to compare. + * @param valueList the list of values. + */ + public InQueryExp(ValueExp val, ValueExp[] valueList) + { + this.val = val; + this.valueList = valueList; + } + + /** + * Returns the result of the comparison between + * the value and the list of allowed values. + * + * @param name the {@link ObjectName} to apply + * the query to. + * @return the result of the comparison. + * @throws BadStringOperationException if an invalid string + * operation is used by + * the query. + * @throws BadBinaryOpValueExpException if an invalid expression + * is used by the query. + * @throws BadAttributeValueExpException if an invalid attribute + * is used by the query. + * @throws InvalidApplicationException if the query is applied + * to the wrong type of bean. + */ + public boolean apply(ObjectName name) + throws BadStringOperationException, BadBinaryOpValueExpException, + BadAttributeValueExpException, InvalidApplicationException + { + String v = val.apply(name).toString(); + for (ValueExp vl : valueList) + if (v.equals(vl.apply(name).toString())) + return true; + return false; + } + + } + + /** + * Representation of the inheritance check on a + * bean for {@link #isInstanceOf(StringValueExp)}. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.6 + */ + private static final class InstanceOfQueryExp + extends QueryEval + implements QueryExp + { + + /** + * Compatible with JDK 1.6 + */ + private static final long serialVersionUID = -1081892073854801359L; + + /** + * The name of the class from which the attribute is taken. + */ + private StringValueExp classNameValue; + + /** + * Constructs a new {@link InstanceOfQueryExp} using + * the specified class name. + * + * @param classNameValue the class name. + */ + public InstanceOfQueryExp(StringValueExp classNameValue) + { + this.classNameValue = classNameValue; + } + + /** + * Checks that the bean specified by the supplied + * {@link ObjectName} is of the correct class + * using {@link MBeanServer#isInstanceOf(ObjectName,String)}. + * where the string is obtained by evaluating + * classNameValue. + * + * @param name the {@link ObjectName} of the bean to obtain + * the value from. + * @return true if the bean is an instance of the class. + * @throws BadStringOperationException if an invalid string + * operation is used by + * the value expression. + * @throws BadBinaryOpValueExpException if an invalid expression + * is used by the value expression. + * @throws BadAttributeValueExpException if an invalid attribute + * is used by the value expression. + * @throws InvalidApplicationException if the value expression is applied + * to the wrong type of bean. + */ + public boolean apply(ObjectName name) + throws BadStringOperationException, BadBinaryOpValueExpException, + BadAttributeValueExpException, InvalidApplicationException + { + try + { + String className = ((StringValueExp) + classNameValue.apply(name)).getValue(); + return QueryEval.getMBeanServer().isInstanceOf(name, className); + } + catch (InstanceNotFoundException e) + { + throw (BadAttributeValueExpException) + new BadAttributeValueExpException("The named bean is not registered.").initCause(e); + } + } + + } + + /** + * Representation of the negation of a query formed using + * {@link #not(QueryExp). + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ + private static final class NotQueryExp + extends QueryEval + implements QueryExp + { + + /** + * Compatible with JDK 1.6 + */ + private static final long serialVersionUID = 5269643775896723397L; + + /** + * The expression to negate. + */ + private QueryExp exp; + + /** + * Constructs a new {@link NotQueryExp} using + * the specified query expression. + * + * @param exp the expression to negate. + */ + public NotQueryExp(QueryExp exp) + { + this.exp = exp; + } + + /** + * Returns the result of the negation. + * + * @param name the {@link ObjectName} to apply + * the query to. + * @return the result of the negation. + * @throws BadStringOperationException if an invalid string + * operation is used by + * the query. + * @throws BadBinaryOpValueExpException if an invalid expression + * is used by the query. + * @throws BadAttributeValueExpException if an invalid attribute + * is used by the query. + * @throws InvalidApplicationException if the query is applied + * to the wrong type of bean. + */ + public boolean apply(ObjectName name) + throws BadStringOperationException, BadBinaryOpValueExpException, + BadAttributeValueExpException, InvalidApplicationException + { + return !(exp.apply(name)); + } + + } + + /** + * Representation of the disjunction formed using + * {@link #or(QueryExp, QueryExp). + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ + private static final class OrQueryExp + extends QueryEval + implements QueryExp + { + + /** + * Compatible with JDK 1.6 + */ + private static final long serialVersionUID = 2962973084421716523L; + + /** + * The first operand. + */ + private QueryExp exp1; + + /** + * The second operand. + */ + private QueryExp exp2; + + /** + * Constructs a new {@link OrQueryExp} using + * the two specified operands. + * + * @param exp1 the first query expression. + * @param exp2 the second query expression. + */ + public OrQueryExp(QueryExp exp1, QueryExp exp2) + { + this.exp1 = exp1; + this.exp2 = exp2; + } + + /** + * Returns the disjunction of the two query + * expressions. + * + * @param name the {@link ObjectName} to apply + * the query to. + * @return the disjunction of applying the name + * to both operands. + * @throws BadStringOperationException if an invalid string + * operation is used by + * the query. + * @throws BadBinaryOpValueExpException if an invalid expression + * is used by the query. + * @throws BadAttributeValueExpException if an invalid attribute + * is used by the query. + * @throws InvalidApplicationException if the query is applied + * to the wrong type of bean. + */ + public boolean apply(ObjectName name) + throws BadStringOperationException, BadBinaryOpValueExpException, + BadAttributeValueExpException, InvalidApplicationException + { + return exp1.apply(name) || exp2.apply(name); + } + + } + + /** + * Representation of a boolean being used as an argument + * to a relational constraint, formed using + * {@link #value(boolean)}. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ + private static final class BooleanValueExp + extends QueryEval + implements ValueExp + { + + /** + * Compatible with JDK 1.6 + */ + private static final long serialVersionUID = 7754922052666594581L; + + /** + * The boolean value. + */ + private boolean val; + + /** + * Constructs a new {@link BooleanValueExp} using the + * specified value. + * + * @param val the boolean value used for this expression. + */ + public BooleanValueExp(boolean val) + { + this.val = val; + } + + /** + * Applies the {@link BooleanValueExp} to the specified + * management bean by simply returning the value. + * + * @param name the {@link ObjectName} of the bean. + * @return the {@link BooleanValueExp} itself. + * @throws BadStringOperationException if an invalid string + * operation is used by + * the value expression. + * @throws BadBinaryOpValueExpException if an invalid expression + * is used by the value expression. + * @throws BadAttributeValueExpException if an invalid attribute + * is used by the value expression. + * @throws InvalidApplicationException if the value expression is applied + * to the wrong type of bean. + */ + public ValueExp apply(ObjectName name) + throws BadStringOperationException, BadBinaryOpValueExpException, + BadAttributeValueExpException, InvalidApplicationException + { + return this; + } + + /** + * Returns the value as a string. + * + * @return the value in textual form. + */ + public String toString() + { + return Boolean.toString(val); + } + + } + + /** + * Representation of a number being used as an argument + * to a relational constraint, formed using + * {@link #value(double)}, {@link #value(float)}, + * {@link #value(int)}, {@link #value(long)} or + * {@link #value(Number)}. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ + private static final class NumericValueExp + extends QueryEval + implements ValueExp + { + + /** + * Compatible with JDK 1.6 + */ + private static final long serialVersionUID = -4679739485102359104L; + + /** + * The numeric value. + */ + private Number val; + + /** + * Constructs a new {@link NumericValueExp} using the + * specified value. + * + * @param val the numeric value used for this expression. + */ + public NumericValueExp(Number val) + { + this.val = val; + } + + /** + * Applies the {@link NumericValueExp} to the specified + * management bean by simply returning the value. + * + * @param name the {@link ObjectName} of the bean. + * @return the {@link NumericValueExp} itself. + * @throws BadStringOperationException if an invalid string + * operation is used by + * the value expression. + * @throws BadBinaryOpValueExpException if an invalid expression + * is used by the value expression. + * @throws BadAttributeValueExpException if an invalid attribute + * is used by the value expression. + * @throws InvalidApplicationException if the value expression is applied + * to the wrong type of bean. + */ + public ValueExp apply(ObjectName name) + throws BadStringOperationException, BadBinaryOpValueExpException, + BadAttributeValueExpException, InvalidApplicationException + { + return this; + } + + /** + * Returns the value. + */ + public Number getValue() + { + return val; + } + + /** + * Returns the value as a string. + * + * @return the value in textual form. + */ + public String toString() + { + return val.toString(); + } + + /** + * Return the result of adding the specified + * {@link NumericValueExp} to this one. + * + * @param o the value to add. + * @return the result of the addition. + */ + public NumericValueExp plus(NumericValueExp o) + { + Number v = o.getValue(); + if (val instanceof Double) + { + double d = val.doubleValue(); + if (v instanceof Double) + return new NumericValueExp(d + v.doubleValue()); + else if (v instanceof Float) + return new NumericValueExp(d + v.floatValue()); + else if (v instanceof Long) + return new NumericValueExp(d + v.longValue()); + else + return new NumericValueExp(d + v.intValue()); + } + else if (val instanceof Float) + { + float f = val.floatValue(); + if (v instanceof Double) + return new NumericValueExp(f + v.doubleValue()); + else if (v instanceof Float) + return new NumericValueExp(f + v.floatValue()); + else if (v instanceof Long) + return new NumericValueExp(f + v.longValue()); + else + return new NumericValueExp(f + v.intValue()); + } + else if (val instanceof Long) + { + long l = val.longValue(); + if (v instanceof Double) + return new NumericValueExp(l + v.doubleValue()); + else if (v instanceof Float) + return new NumericValueExp(l + v.floatValue()); + else if (v instanceof Long) + return new NumericValueExp(l + v.longValue()); + else + return new NumericValueExp(l + v.intValue()); + } + int i = val.intValue(); + if (v instanceof Double) + return new NumericValueExp(i + v.doubleValue()); + else if (v instanceof Float) + return new NumericValueExp(i + v.floatValue()); + else if (v instanceof Long) + return new NumericValueExp(i + v.longValue()); + else + return new NumericValueExp(i + v.intValue()); + } + + /** + * Return New NumericValueExp(the result of subtracting the specified + * {@link NumericValueExp} from this one. + * + * @param o the value to subtract. + * @return new NumericValueExp(the result of the subtraction. + */ + public NumericValueExp minus(NumericValueExp o) + { + Number v = o.getValue(); + if (val instanceof Double) + { + double d = val.doubleValue(); + if (v instanceof Double) + return new NumericValueExp(d - v.doubleValue()); + else if (v instanceof Float) + return new NumericValueExp(d - v.floatValue()); + else if (v instanceof Long) + return new NumericValueExp(d - v.longValue()); + else + return new NumericValueExp(d - v.intValue()); + } + else if (val instanceof Float) + { + float f = val.floatValue(); + if (v instanceof Double) + return new NumericValueExp(f - v.doubleValue()); + else if (v instanceof Float) + return new NumericValueExp(f - v.floatValue()); + else if (v instanceof Long) + return new NumericValueExp(f - v.longValue()); + else + return new NumericValueExp(f - v.intValue()); + } + else if (val instanceof Long) + { + long l = val.longValue(); + if (v instanceof Double) + return new NumericValueExp(l - v.doubleValue()); + else if (v instanceof Float) + return new NumericValueExp(l - v.floatValue()); + else if (v instanceof Long) + return new NumericValueExp(l - v.longValue()); + else + return new NumericValueExp(l - v.intValue()); + } + int i = val.intValue(); + if (v instanceof Double) + return new NumericValueExp(i - v.doubleValue()); + else if (v instanceof Float) + return new NumericValueExp(i - v.floatValue()); + else if (v instanceof Long) + return new NumericValueExp(i - v.longValue()); + else + return new NumericValueExp(i - v.intValue()); + } + + /** + * Return New NumericValueExp(the result of multiplying the specified + * {@link NumericValueExp} to this one. + * + * @param o the value to multiply by. + * @return new NumericValueExp(the result of the multiplication. + */ + public NumericValueExp times(NumericValueExp o) + { + Number v = o.getValue(); + if (val instanceof Double) + { + double d = val.doubleValue(); + if (v instanceof Double) + return new NumericValueExp(d * v.doubleValue()); + else if (v instanceof Float) + return new NumericValueExp(d * v.floatValue()); + else if (v instanceof Long) + return new NumericValueExp(d * v.longValue()); + else + return new NumericValueExp(d * v.intValue()); + } + else if (val instanceof Float) + { + float f = val.floatValue(); + if (v instanceof Double) + return new NumericValueExp(f * v.doubleValue()); + else if (v instanceof Float) + return new NumericValueExp(f * v.floatValue()); + else if (v instanceof Long) + return new NumericValueExp(f * v.longValue()); + else + return new NumericValueExp(f * v.intValue()); + } + else if (val instanceof Long) + { + long l = val.longValue(); + if (v instanceof Double) + return new NumericValueExp(l * v.doubleValue()); + else if (v instanceof Float) + return new NumericValueExp(l * v.floatValue()); + else if (v instanceof Long) + return new NumericValueExp(l * v.longValue()); + else + return new NumericValueExp(l * v.intValue()); + } + int i = val.intValue(); + if (v instanceof Double) + return new NumericValueExp(i * v.doubleValue()); + else if (v instanceof Float) + return new NumericValueExp(i * v.floatValue()); + else if (v instanceof Long) + return new NumericValueExp(i * v.longValue()); + else + return new NumericValueExp(i * v.intValue()); + } + + /** + * Return New NumericValueExp(the result of dividing this + * number by value of the specified + * {@link NumericValueExp}. + * + * @param o the value to divide by. + * @return new NumericValueExp(the result of the division. + */ + public NumericValueExp div(NumericValueExp o) + { + Number v = o.getValue(); + if (val instanceof Double) + { + double d = val.doubleValue(); + if (v instanceof Double) + return new NumericValueExp(d / v.doubleValue()); + else if (v instanceof Float) + return new NumericValueExp(d / v.floatValue()); + else if (v instanceof Long) + return new NumericValueExp(d / v.longValue()); + else + return new NumericValueExp(d / v.intValue()); + } + else if (val instanceof Float) + { + float f = val.floatValue(); + if (v instanceof Double) + return new NumericValueExp(f / v.doubleValue()); + else if (v instanceof Float) + return new NumericValueExp(f / v.floatValue()); + else if (v instanceof Long) + return new NumericValueExp(f / v.longValue()); + else + return new NumericValueExp(f / v.intValue()); + } + else if (val instanceof Long) + { + long l = val.longValue(); + if (v instanceof Double) + return new NumericValueExp(l / v.doubleValue()); + else if (v instanceof Float) + return new NumericValueExp(l / v.floatValue()); + else if (v instanceof Long) + return new NumericValueExp(l / v.longValue()); + else + return new NumericValueExp(l / v.intValue()); + } + int i = val.intValue(); + if (v instanceof Double) + return new NumericValueExp(i / v.doubleValue()); + else if (v instanceof Float) + return new NumericValueExp(i / v.floatValue()); + else if (v instanceof Long) + return new NumericValueExp(i / v.longValue()); + else + return new NumericValueExp(i / v.intValue()); + } + + } + +} + diff --git a/libjava/classpath/javax/management/QueryEval.java b/libjava/classpath/javax/management/QueryEval.java new file mode 100644 index 0000000..375270a --- /dev/null +++ b/libjava/classpath/javax/management/QueryEval.java @@ -0,0 +1,95 @@ +/* QueryEval.java -- An evaluation context for a MBean server query. + Copyright (C) 2007 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 javax.management; + +import java.io.Serializable; + +/** + * Represents the evaluation context of a {@link MBeanServer} + * query by retaining the server used on a thread-by-thread + * basis. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ +public class QueryEval + implements Serializable +{ + + /** + * Compatible with JDK 1.5 + */ + private static final long serialVersionUID = 2675899265640874796L; + + /** + * Stores the server used, on a + * thread-by-thread basis. + */ + private static InheritableThreadLocal server = + new InheritableThreadLocal(); + + /** + * Returns the {@link MBeanServer} last supplied to the + * {@link #setMBeanServer(MBeanServer)} method. If this method + * has not been called for this thread, then the value will be + * inherited from any parent thread on which the method has + * been called. If the method has never been called, then + * null is returned. + * + * @return the server. + * @see #setMBeanServer(MBeanServer) + */ + public static MBeanServer getMBeanServer() + { + return server.get(); + } + + /** + * Sets the {@link MBeanServer} on which the query will be + * performed. This value is inherited automatically by + * child threads. This method is only non-static for historical + * reasons; it makes no use of instance-related values. + * + * @param svr the server to use. + */ + public void setMBeanServer(MBeanServer svr) + { + server.set(svr); + } + +} diff --git a/libjava/classpath/javax/management/StandardMBean.java b/libjava/classpath/javax/management/StandardMBean.java index b31436c..3748384 100644 --- a/libjava/classpath/javax/management/StandardMBean.java +++ b/libjava/classpath/javax/management/StandardMBean.java @@ -106,10 +106,19 @@ public class StandardMBean } catch (ClassNotFoundException e) { - throw (NotCompliantMBeanException) - (new NotCompliantMBeanException("An interface, " + className + - "MBean, for the class " + className + - " was not found.").initCause(e)); + for (Class nextIface : getClass().getInterfaces()) + { + if (JMX.isMXBeanInterface(nextIface)) + { + iface = nextIface; + break; + } + } + if (iface == null) + throw (NotCompliantMBeanException) + (new NotCompliantMBeanException("An interface for the class " + + className + + " was not found.").initCause(e)); } } if (!(iface.isInstance(this))) @@ -140,18 +149,28 @@ public class StandardMBean throw new IllegalArgumentException("The specified implementation is null."); if (iface == null) { - String className = impl.getClass().getName(); + Class implClass = impl.getClass(); + String className = implClass.getName(); try { this.iface = Class.forName(className + "MBean", true, - impl.getClass().getClassLoader()); + implClass.getClassLoader()); } catch (ClassNotFoundException e) { - throw (NotCompliantMBeanException) - (new NotCompliantMBeanException("An interface, " + className + - "MBean, for the class " + className + - " was not found.").initCause(e)); + for (Class nextIface : implClass.getInterfaces()) + { + if (JMX.isMXBeanInterface(nextIface)) + { + this.iface = nextIface; + break; + } + } + if (this.iface == null) + throw (NotCompliantMBeanException) + (new NotCompliantMBeanException("An interface for the class " + + className + + " was not found.").initCause(e)); } } else @@ -753,19 +772,30 @@ public class StandardMBean public Object invoke(String name, Object[] params, String[] signature) throws MBeanException, ReflectionException { - Class[] sigTypes = new Class[signature.length]; + if (name.startsWith("get") || name.startsWith("is") || + name.startsWith("set")) + throw new ReflectionException(new NoSuchMethodException(), + "Invocation of an attribute " + + "method is disallowed."); ClassLoader loader = getClass().getClassLoader(); - for (int a = 0; a < signature.length; ++a) - try - { - sigTypes[a] = Class.forName(signature[a], true, loader); - } - catch (ClassNotFoundException e) - { - throw new ReflectionException(e, "The class, " + signature[a] + - ", in the method signature " + - "could not be loaded."); - } + Class[] sigTypes; + if (signature != null) + { + sigTypes = new Class[signature.length]; + for (int a = 0; a < signature.length; ++a) + try + { + sigTypes[a] = Class.forName(signature[a], true, loader); + } + catch (ClassNotFoundException e) + { + throw new ReflectionException(e, "The class, " + signature[a] + + ", in the method signature " + + "could not be loaded."); + } + } + else + sigTypes = null; Method method; try { @@ -824,23 +854,12 @@ public class StandardMBean throws AttributeNotFoundException, InvalidAttributeValueException, MBeanException, ReflectionException { - Method setter; String name = attribute.getName(); - try - { - setter = iface.getMethod("set" + - name.substring(0, 1).toUpperCase() + - name.substring(1), null); - } - catch (NoSuchMethodException e) - { - throw ((AttributeNotFoundException) - new AttributeNotFoundException("The attribute, " + name + - ", was not found.").initCause(e)); - } + String attName = name.substring(0, 1).toUpperCase() + name.substring(1); + Object val = attribute.getValue(); try { - setter.invoke(impl, new Object[] { attribute.getValue() }); + getMutator(attName, val.getClass()).invoke(impl, new Object[] { val }); } catch (IllegalAccessException e) { @@ -855,8 +874,8 @@ public class StandardMBean } catch (InvocationTargetException e) { - throw new MBeanException((Exception) e.getCause(), "The getter of " - + name + " threw an exception"); + throw new MBeanException(e, "The getter of " + name + + " threw an exception"); } } @@ -925,4 +944,142 @@ public class StandardMBean this.impl = impl; } + /** + * Returns the mutator method for a particular attribute name + * with a parameter type matching that of the given value. + * + * @param name the name of the attribute. + * @param type the type of the parameter. + * @return the appropriate mutator method. + * @throws AttributeNotFoundException if a method can't be found. + */ + private Method getMutator(String name, Class type) + throws AttributeNotFoundException + { + String mutator = "set" + name; + Exception ex = null; + try + { + return iface.getMethod(mutator, type); + } + catch (NoSuchMethodException e) + { + /* Ignored; we'll try harder instead */ + ex = e; + } + /* Special cases */ + if (type == Boolean.class) + try + { + return iface.getMethod(mutator, Boolean.TYPE); + } + catch (NoSuchMethodException e) + { + throw ((AttributeNotFoundException) + new AttributeNotFoundException("The attribute, " + name + + ", was not found.").initCause(e)); + } + if (type == Byte.class) + try + { + return iface.getMethod(mutator, Byte.TYPE); + } + catch (NoSuchMethodException e) + { + throw ((AttributeNotFoundException) + new AttributeNotFoundException("The attribute, " + name + + ", was not found.").initCause(e)); + } + if (type == Character.class) + try + { + return iface.getMethod(mutator, Character.TYPE); + } + catch (NoSuchMethodException e) + { + throw ((AttributeNotFoundException) + new AttributeNotFoundException("The attribute, " + name + + ", was not found.").initCause(e)); + } + if (type == Double.class) + try + { + return iface.getMethod(mutator, Double.TYPE); + } + catch (NoSuchMethodException e) + { + throw ((AttributeNotFoundException) + new AttributeNotFoundException("The attribute, " + name + + ", was not found.").initCause(e)); + } + if (type == Float.class) + try + { + return iface.getMethod(mutator, Float.TYPE); + } + catch (NoSuchMethodException e) + { + throw ((AttributeNotFoundException) + new AttributeNotFoundException("The attribute, " + name + + ", was not found.").initCause(e)); + } + if (type == Integer.class) + try + { + return iface.getMethod(mutator, Integer.TYPE); + } + catch (NoSuchMethodException e) + { + throw ((AttributeNotFoundException) + new AttributeNotFoundException("The attribute, " + name + + ", was not found.").initCause(e)); + } + if (type == Long.class) + try + { + return iface.getMethod(mutator, Long.TYPE); + } + catch (NoSuchMethodException e) + { + throw ((AttributeNotFoundException) + new AttributeNotFoundException("The attribute, " + name + + ", was not found.").initCause(e)); + } + if (type == Short.class) + try + { + return iface.getMethod(mutator, Short.TYPE); + } + catch (NoSuchMethodException e) + { + throw ((AttributeNotFoundException) + new AttributeNotFoundException("The attribute, " + name + + ", was not found.").initCause(e)); + } + /* Superclasses and interfaces */ + for (Class i : type.getInterfaces()) + try + { + return getMutator(name, i); + } + catch (AttributeNotFoundException e) + { + ex = e; + } + Class sclass = type.getSuperclass(); + if (sclass != null && sclass != Object.class) + try + { + return getMutator(name, sclass); + } + catch (AttributeNotFoundException e) + { + ex = e; + } + /* If we get this far, give up */ + throw ((AttributeNotFoundException) + new AttributeNotFoundException("The attribute, " + name + + ", was not found.").initCause(ex)); + } + } diff --git a/libjava/classpath/javax/management/StringValueExp.java b/libjava/classpath/javax/management/StringValueExp.java new file mode 100644 index 0000000..f3ce00b --- /dev/null +++ b/libjava/classpath/javax/management/StringValueExp.java @@ -0,0 +1,133 @@ +/* StringValueExp.java -- Represents strings to be passed to queries. + Copyright (C) 2007 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 javax.management; + +/** + * Represents a string being used as an argument + * to a relational constraint. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ +public class StringValueExp + implements ValueExp +{ + + /** + * Compatible with JDK 1.5 + */ + private static final long serialVersionUID = -3256390509806284044L; + + /** + * The string value. + */ + private String val; + + /** + * Constructs a new {@link StringValueExp}. + */ + public StringValueExp() + { + } + + /** + * Constructs a new {@link StringValueExp} using the + * specified value. + * + * @param val the string value used for this expression. + */ + public StringValueExp(String val) + { + this.val = val; + } + + /** + * Applies the {@link StringValueExp} to the specified + * management bean by simply returning the value. + * + * @param name the {@link ObjectName} of the bean. + * @return the {@link StringValueExp} itself. + * @throws BadStringOperationException if an invalid string + * operation is used by + * the value expression. + * @throws BadBinaryOpValueExpException if an invalid expression + * is used by the value expression. + * @throws BadAttributeValueExpException if an invalid attribute + * is used by the value expression. + * @throws InvalidApplicationException if the value expression is applied + * to the wrong type of bean. + */ + public ValueExp apply(ObjectName name) + throws BadStringOperationException, BadBinaryOpValueExpException, + BadAttributeValueExpException, InvalidApplicationException + { + return this; + } + + /** + * Returns the value. + * + * @return the value. + */ + public String getValue() + { + return val; + } + + /** + * Sets the {@link MBeanServer} on which the query + * will be performed. + * + * @param server the new server. + */ + public void setMBeanServer(MBeanServer server) + { + /* This seems to do nothing any more */ + } + + /** + * Returns the value in quotes. + * + * @return the value (quoted). + */ + public String toString() + { + return "'" + val + "'"; + } + +} diff --git a/libjava/classpath/javax/management/loading/ClassLoaderRepository.java b/libjava/classpath/javax/management/loading/ClassLoaderRepository.java index e2c8b7c..2526d52 100644 --- a/libjava/classpath/javax/management/loading/ClassLoaderRepository.java +++ b/libjava/classpath/javax/management/loading/ClassLoaderRepository.java @@ -71,7 +71,7 @@ public interface ClassLoaderRepository * @throws ClassNotFoundException if all the class loaders fail * to load the class. */ - Class loadClass(String name) + Class loadClass(String name) throws ClassNotFoundException; /** @@ -102,7 +102,7 @@ public interface ClassLoaderRepository * @throws ClassNotFoundException if all the class loaders fail * to load the class. */ - Class loadClassBefore(ClassLoader stop, String name) + Class loadClassBefore(ClassLoader stop, String name) throws ClassNotFoundException; /** @@ -132,7 +132,7 @@ public interface ClassLoaderRepository * @throws ClassNotFoundException if all the class loaders fail * to load the class. */ - Class loadClassWithout(ClassLoader exclude, String name) + Class loadClassWithout(ClassLoader exclude, String name) throws ClassNotFoundException; } diff --git a/libjava/classpath/javax/management/openmbean/ArrayType.java b/libjava/classpath/javax/management/openmbean/ArrayType.java index d2fc398..42f8062 100644 --- a/libjava/classpath/javax/management/openmbean/ArrayType.java +++ b/libjava/classpath/javax/management/openmbean/ArrayType.java @@ -1,5 +1,5 @@ /* ArrayType.java -- Open type descriptor for an array. - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -40,6 +40,8 @@ package javax.management.openmbean; import java.lang.reflect.Array; import java.util.Arrays; +import java.util.HashMap; +import java.util.Map; /** * The open type descriptor for arrays of open data values. @@ -47,8 +49,8 @@ import java.util.Arrays; * @author Andrew John Hughes (gnu_andrew@member.fsf.org) * @since 1.5 */ -public class ArrayType - extends OpenType +public class ArrayType + extends OpenType { /** @@ -64,7 +66,12 @@ public class ArrayType /** * The element type of arrays of this type. */ - private OpenType elementType; + private OpenType elementType; + + /** + * True if this type represents a primitive array. + */ + private boolean primitiveArray; /** * The hash code of this instance. @@ -77,19 +84,183 @@ public class ArrayType private transient String string; /** + * A cache of {@link ArrayType} instances created + * by {@link #getArrayType(OpenType)}. + */ + private static final Map,ArrayType> cache = + new HashMap,ArrayType>(); + + /** + * A cache of {@link ArrayType} instances created + * by {@link #getPrimitiveArrayType(Class)}. + */ + private static final Map,ArrayType> primCache = + new HashMap,ArrayType>(); + + /** * Returns the class name of the array, given the element * class name and its dimensions. * - * @param className the name of the class used by the - * array's elements. + * @param elementType the type of the array's elements. * @param dim the dimensions of the array. + * @param primitive true if this should be a primitive array. * @return the array's class name. + * @throws OpenDataException if the class name does not reference + * a loadable class. */ - private static String getArrayClassName(String className, int dim) + private static final String getArrayClassName(OpenType elementType, + int dim, + boolean primitive) + throws OpenDataException { - char[] brackets = new char[dim]; - Arrays.fill(brackets, '['); - return String.valueOf(brackets) + "L" + className; + Class type; + if (primitive) + type = getPrimitiveTypeClass((SimpleType) elementType); + else + { + String className = elementType.getClassName(); + try + { + type = Class.forName(className); + } + catch (ClassNotFoundException e) + { + throw new OpenDataException("The class name, " + className + + ", is unavailable."); + } + } + while (type.isArray()) + type = type.getComponentType(); + return + Array.newInstance(type, + new int[getDimensions(elementType, dim)]).getClass().getName(); + } + + /** + * Returns the dimensions of the new {@link ArrayType}, + * based on whether the given element type is already an + * {@link ArrayType} or not. + * + * @param elementType the type of the array. + * @param dim the proposed dimensions. + * @return the resultant dimensions. + * @throws IllegalArgumentException if dim is less than 1. + */ + private static final int getDimensions(OpenType elementType, + int dim) + { + if (dim < 1) + throw new IllegalArgumentException("Dimensions must be greater " + + "than or equal to 1."); + if (elementType instanceof ArrayType) + return dim + ((ArrayType) elementType).getDimension(); + return dim; + } + + /** + * Returns the appropriate primitive type name, given the + * corresponding wrapper class. + * + * @param type the type to convert. + * @return the corresponding primitive type. + * @throws OpenDataException if {@code type} is not a valid + * {@link Class} for a primitive type. + * + */ + private static final SimpleType getPrimitiveType(Class type) + throws OpenDataException + { + if (type.equals(Boolean.TYPE)) + return SimpleType.BOOLEAN; + if (type.equals(Byte.TYPE)) + return SimpleType.BYTE; + if (type.equals(Character.TYPE)) + return SimpleType.CHARACTER; + if (type.equals(Double.TYPE)) + return SimpleType.DOUBLE; + if (type.equals(Float.TYPE)) + return SimpleType.FLOAT; + if (type.equals(Integer.TYPE)) + return SimpleType.INTEGER; + if (type.equals(Long.TYPE)) + return SimpleType.LONG; + if (type.equals(Short.TYPE)) + return SimpleType.SHORT; + if (type.equals(Void.TYPE)) + return SimpleType.VOID; + throw new OpenDataException(type + " is not a primitive type."); + } + + /** + * Returns the appropriate primitive type name, given the + * corresponding wrapper class. + * + * @param type the type to convert. + * @return the corresponding primitive type. + * @throws OpenDataException if {@code type} is not a valid + * {@link SimpleType} for a primitive type. + * + */ + private static final Class getPrimitiveTypeClass(SimpleType type) + throws OpenDataException + { + if (type.equals(SimpleType.BOOLEAN)) + return Boolean.TYPE; + if (type.equals(SimpleType.BYTE)) + return Byte.TYPE; + if (type.equals(SimpleType.CHARACTER)) + return Character.TYPE; + if (type.equals(SimpleType.DOUBLE)) + return Double.TYPE; + if (type.equals(SimpleType.FLOAT)) + return Float.TYPE; + if (type.equals(SimpleType.INTEGER)) + return Integer.TYPE; + if (type.equals(SimpleType.LONG)) + return Long.TYPE; + if (type.equals(SimpleType.SHORT)) + return Short.TYPE; + if (type.equals(SimpleType.VOID)) + return Void.TYPE; + throw new OpenDataException(type + " is not a primitive type."); + } + + /** + * Returns the element type that will actually be used, if the + * specified element type is passed to a constructor. This is + * necessary to ensure that a non-array type is still returned when + * an {@link ArrayType} is constructed from an {@link ArrayType}. + * + * @param elemType the element type that was supplied. + * @return the element type that will be used. + */ + private static final OpenType getElementType(OpenType elemType) + { + if (elemType instanceof ArrayType) + return ((ArrayType) elemType).getElementOpenType(); + return elemType; + } + + /** + * Returns the element type name that will actually be used, if the + * specified element type is passed to a constructor. This is + * necessary to ensure that a non-array type is still returned when + * an {@link ArrayType} is constructed from an {@link ArrayType}, + * and that primitive arrays are described correctly. + * + * @param elemType the element type that was supplied. + * @return the element type name that will be used. + * @throws OpenDataException if the element type is not a valid + * {@link SimpleType} for a primitive type. + */ + private static final String getElementTypeName(OpenType elemType) + throws OpenDataException + { + OpenType trueElemType = getElementType(elemType); + if (elemType instanceof ArrayType && + ((ArrayType) elemType).isPrimitiveArray()) + return getPrimitiveTypeClass((SimpleType) trueElemType).getName(); + return trueElemType.getClassName(); } /** @@ -136,23 +307,84 @@ public class ArrayType * {@link SimpleType}, {@link CompositeType} * or {@link TabularType}. */ - public ArrayType(int dim, OpenType elementType) + public ArrayType(int dim, OpenType elementType) throws OpenDataException { - super(getArrayClassName(elementType.getClassName(), dim), - getArrayClassName(elementType.getClassName(), dim), - dim + "-dimension array of " + elementType.getClassName()); - if (dim < 1) - throw new IllegalArgumentException("Dimensions must be greater " + - "than or equal to 1."); + super(getArrayClassName(elementType, dim, false), + getArrayClassName(elementType, dim, false), + getDimensions(elementType, dim) + "-dimension array of " + + getElementTypeName(elementType)); if (!(elementType instanceof SimpleType || elementType instanceof CompositeType || - elementType instanceof TabularType)) + elementType instanceof TabularType || + elementType instanceof ArrayType)) throw new OpenDataException("The element type must be a simple " + - "type, a composite type or a tabular " + - "type."); - dimension = dim; + "type, an array type, a composite type " + + "or a tabular type."); + dimension = getDimensions(elementType, dim); + this.elementType = getElementType(elementType); + primitiveArray = (elementType instanceof ArrayType && + ((ArrayType) elementType).isPrimitiveArray()); + } + + /** + *

        + * Constructs a new {@link ArrayType} instance for a unidimensional + * array of the specified {@link SimpleType}. The attributes + * used by the superclass, {@link OpenType}, are automatically defined, + * based on these values. Both the class name and type name are set + * to the value returned by the {@link java.lang.Class#getName()} of + * the array's class. If the array is of a primitive type (indicated + * by giving {@code primitiveArray} the value {@code true}), the + * name will be '[' followed by the appropriate letter for the + * primitive type (see {@link java.lang.Class#getName()}). If the + * array is not of a primitive type, then the name is formed from + * the element type, preceded by '[' and an 'L', in the same way + * as when the multi-dimensional constructor is used. + *

        + *

        + * The description is based upon the template 1-dimension array + * of e, where e is either the primitive type or a class name, + * depending on whether the array itself is of a primitive type or not. + * The class name of the actual elements is obtainable by calling + * {@link OpenType#getClassName()} on the result of + * {@link #getElementOpenType()}. This will be the appropriate wrapper + * class for a primitive type. + *

        + *

        + * As an example, the array type returned by + * new ArrayType(SimpleType.INTEGER, true) has the following + * values: + *

        + * + * + * + * + * + * + *
        AttributeValue
        Class Name[I + *
        Type Name[I + *
        Description1-dimension array of int
        Element Type Class Namejava.lang.Integer + *
        + * + * @param elementType the type of the elements of the array. + * @param primitiveArray true if the array should be of a primitive type. + * @throws OpenDataException if {@code primitiveArray} is {@code true}, + * and {@link elementType} is not a valid + * {@link SimpleType} for a primitive type. + * @since 1.6 + */ + public ArrayType(SimpleType elementType, boolean primitiveArray) + throws OpenDataException + { + super(getArrayClassName(elementType, 1, primitiveArray), + getArrayClassName(elementType, 1, primitiveArray), + "1-dimension array of " + + (primitiveArray ? getPrimitiveTypeClass(elementType).getName() + : elementType.getClassName())); + dimension = 1; this.elementType = elementType; + this.primitiveArray = primitiveArray; } /** @@ -166,6 +398,8 @@ public class ArrayType * {@link ArrayType}.
      • *
      • The dimensions are equal.
      • *
      • The element types are equal.
      • + *
      • The primitive array flag is set the same in both + * instances.
      • *
      * * @param obj the object to compare with. @@ -177,7 +411,118 @@ public class ArrayType return false; ArrayType atype = (ArrayType) obj; return (atype.getDimension() == dimension && - atype.getElementOpenType().equals(elementType)); + atype.getElementOpenType().equals(elementType) && + atype.isPrimitiveArray() == primitiveArray); + } + + /** + *

      + * Returns a new {@link ArrayType} instance in a type-safe + * manner, by ensuring that the type of the given {@link OpenType} + * matches the component type used in the type of the + * returned instance. If the given {@link OpenType} is a + * {@link SimpleType}, {@link CompositeType} or + * {@link TabularType}, then a 1-dimensional array of that + * type is returned. Otherwise, if the type is + * an {@link ArrayType} of n dimensions, the returned + * type is also an {@link ArrayType} but of n+1 dimensions. + * For example, + * {@code ArrayType.getArrayType(ArrayType.getArrayType(SimpleType.STRING))} + * returns a 2-dimensional array of {@link SimpleType#String}. + *

      + *

      + * This method caches its results, so that the same instance + * is returned from subsequent calls with the same parameters. + *

      + * + * @param elementType the element type of the new array type. + * @throws OpenDataException if the class name of {@code elementType} + * is not in {@link OpenType#ALLOWED_CLASSNAMES_LIST}. + * @since 1.6 + */ + public static ArrayType getArrayType(OpenType elementType) + throws OpenDataException + { + ArrayType arr = (ArrayType) cache.get(elementType); + if (arr != null) + return arr; + arr = new ArrayType(1, elementType); + cache.put(elementType, arr); + return arr; + } + + /** + *

      + * Returns a new {@link ArrayType} instance for the given + * primitive type in a type-safe* manner, by ensuring that + * the type of the given {@link OpenType} matches the type + * used in the returned instance. If the type is + * an array of n dimensions, the returned + * type is also an {@link ArrayType} of n dimensions. + *

      + *

      + * As an example, the array type returned by + * getPrimitiveArrayType(Integer.TYPE) has the + * following values: + *

      + * + * + * + * + * + * + *
      AttributeValue
      Class Name[I + *
      Type Name[I + *
      Description1-dimension array of int
      Element Type Class Namejava.lang.Integer + *
      + *

      + * This method caches its results, so that the same instance + * is returned from subsequent calls with the same parameters. + *

      + * + * @param type the type of the new {@link ArrayType}. + * @throws IllegalArgumentException if the type is not a primitive + * array. + * @since 1.6 + */ + public static ArrayType getPrimitiveArrayType(Class type) + { + ArrayType arr = (ArrayType) primCache.get(type); + if (arr != null) + return arr; + Class comType = type; + int dim = 0; + do + { + comType = comType.getComponentType(); + ++dim; + if (comType == null) + throw new IllegalArgumentException("The given class is " + + "not an array."); + } while (comType.isArray()); + String className = type.getName(); + try + { + arr = new ArrayType(getPrimitiveType(comType), true); + } + catch (OpenDataException e) + { + throw new IllegalArgumentException("The array is not of a primitive " + + "type", e); + } + while (dim > 1) + try + { + arr = new ArrayType(1, arr); + --dim; + } + catch (OpenDataException e) + { + throw (Error) + new InternalError("Couldn't generate extra dimensions").initCause(e); + } + primCache.put(type, arr); + return arr; } /** @@ -197,7 +542,7 @@ public class ArrayType * * @return the type of the elements. */ - public OpenType getElementOpenType() + public OpenType getElementOpenType() { return elementType; } @@ -207,11 +552,11 @@ public class ArrayType * Returns the hash code of the array type. * This is computed as the sum of the hash code of the * element type together with the number of dimensions - * the array has. These are the same elements - * of the type that are compared as part of the - * {@link #equals(java.lang.Object)} method, thus ensuring - * that the hashcode is compatible with the equality - * test. + * the array has and the primitive array flag. These + * are the same elements of the type that are compared as + * part of the {@link #equals(java.lang.Object)} method, + * thus ensuring that the hashcode is compatible with the + * equality test. *

      *

      * As instances of this class are immutable, the hash code @@ -224,11 +569,24 @@ public class ArrayType public int hashCode() { if (hashCode == null) - hashCode = Integer.valueOf(dimension + elementType.hashCode()); + hashCode = Integer.valueOf(dimension + + elementType.hashCode() + + Boolean.valueOf(primitiveArray).hashCode()); return hashCode.intValue(); } /** + * Returns true if this instance represents an array of + * a primitive type. + * + * @return true if the array is of a primitive type. + */ + public boolean isPrimitiveArray() + { + return primitiveArray; + } + + /** *

      * Returns true if the specified object is a member of this * array type. The object is judged to be so if it is @@ -306,6 +664,7 @@ public class ArrayType + "[name=" + getTypeName() + ", dimension=" + dimension + ", elementType=" + elementType + + ", primitiveArray=" + primitiveArray + "]"; return string; } diff --git a/libjava/classpath/javax/management/openmbean/CompositeData.java b/libjava/classpath/javax/management/openmbean/CompositeData.java index 08f0dc2..3134bc4 100644 --- a/libjava/classpath/javax/management/openmbean/CompositeData.java +++ b/libjava/classpath/javax/management/openmbean/CompositeData.java @@ -1,5 +1,5 @@ /* CompositeData.java -- A composite data structure. - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -148,7 +148,7 @@ public interface CompositeData * * @return the values of this instance. */ - Collection values(); + Collection values(); } diff --git a/libjava/classpath/javax/management/openmbean/CompositeDataInvocationHandler.java b/libjava/classpath/javax/management/openmbean/CompositeDataInvocationHandler.java new file mode 100644 index 0000000..170ec32 --- /dev/null +++ b/libjava/classpath/javax/management/openmbean/CompositeDataInvocationHandler.java @@ -0,0 +1,190 @@ +/* CompositeDataInvocationHandler.java - Pseudo-accessors for CompositeData. + Copyright (C) 2007 Free Software Foundation + +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 javax.management.openmbean; + +import java.lang.reflect.InvocationHandler; +import java.lang.reflect.Method; +import java.lang.reflect.Proxy; + +/** + *

      + * Provides an {@link java.lang.reflect.InvocationHandler} which + * implements a series of accessor methods (those beginning with + * {@code "get"} or {@code "is"}) using the content of a + * {@link CompositeData} object. An instance of {@link CompositeData} + * consists of a series of key-value mappings. This handler assumes + * these keys to be the names of attributes, and thus provides + * accessor methods by returning the associated value. + *

      + *

      + * As an example, consider the following interface: + *

      + *
      + * public interface Person
      + * {
      + *   public String getName();
      + *   public Date getBirthday();
      + * }
      + * 
      + *

      + * This specifies two accessor methods for retrieving the attributes, + * {@code name} and {@code birthday}. An implementation of this interface + * can be provided by creating an instance of this class, using a + * {@link CompositeData} object with appropriate key-value mappings + * (e.g. "name" => "Fred", "birthday" => 30/06/1974), and then passing + * that to {@link java.lang.reflect.Proxy#newProxyInstance} along with + * the interface itself. The invocation handler implements the methods + * by calling {@link CompositeData#get(String)} with the appropriate key. + *

      + *

      + * The attribute name is derived by taking the remainder of the method + * name following {@code "get"}. If the first letter of this substring + * is uppercase, then two attempts are made to retrieve the attribute + * from the {@link CompositeData} instance: one using the original substring, + * and one with the first letter changed to its lower-case equivalent. + * If the first letter is lowercase, only the exact substring is used. + *

      + *

      + * An {@link Object#equals(Object)} implementation is provided. This returns + * true if the argument is a proxy with a {@link CompositeDataInvocationHandler} + * using an equivalent {@link CompositeData} instance. {@link Object#hashCode()} + * is also defined so as to match this implementation and give equivalent instances + * the same hashcode. + *

      + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.6 + */ +public class CompositeDataInvocationHandler + implements InvocationHandler +{ + + /** + * The {@link CompositeData} providing the key-value mappings. + */ + private CompositeData data; + + /** + * Constructs a new {@link CompositeDataInvocationHandler} + * with the specified {@link CompositeData} instance. + * + * @param data the {@link CompositeData} instance to use. + * @throws IllegalArgumentException if {@code data} is {@code null}. + */ + public CompositeDataInvocationHandler(CompositeData data) + { + if (data == null) + throw new IllegalArgumentException("The CompositeData instance " + + "must be non-null."); + this.data = data; + } + + /** + * Returns the {@link CompositeData} instance which provides + * the key-value mappings for this instance. This is never + * {@code null}. + * + * @return the {@link CompositeData} instance. + */ + public CompositeData getCompositeData() + { + return data; + } + + /** + * Called by the proxy class whenever a method is called. The + * handler only deals with accessor methods (beginning with + * {@code "get"} or {@code "is"}), {@code equals}, and + * {@code "hashCode"}. Accessor methods are implemented by + * returning the appropriate value from the {@link CompositeData} + * instance, while {@code equals} and {@code hashCode} allow + * two proxies with a {@link CompositeDataInvocationHandler} using + * the same {@link CompositeData} instance to be classified + * as equivalent. + * + * @param proxy the proxy on which the method was called. + * @param method the method which was called. + * @param args the arguments supplied to the method. + * @return the return value from the method. + * @throws Throwable if an exception is thrown in the process. + */ + public Object invoke(Object proxy, Method method, Object[] args) + throws Throwable + { + String mName = method.getName(); + if (mName.equals("equals")) + { + if (args[0] instanceof Proxy) + { + InvocationHandler h = Proxy.getInvocationHandler(args[0]); + if (h instanceof CompositeDataInvocationHandler) + return data.equals(((CompositeDataInvocationHandler) + h).getCompositeData()); + } + return false; + } + if (mName.equals("hashCode")) + { + return data.hashCode(); + } + String attrib = null; + if (mName.startsWith("get")) + attrib = mName.substring(3); + else if (mName.startsWith("is")) + attrib = mName.substring(2); + if (attrib == null) + throw new NoSuchMethodException(mName + " is not an accessor."); + if (!data.containsKey(attrib)) + { + if (Character.isLowerCase(attrib.charAt(0))) + throw new NoSuchMethodException("The attribute " + + attrib + " is not available " + + "in the given CompositeData " + + "object"); + attrib = Character.toLowerCase(attrib.charAt(0)) + + attrib.substring(1); + if (!data.containsKey(attrib)) + throw new NoSuchMethodException("The attribute " + + attrib + " is not available " + + "in the given CompositeData " + + "object"); + } + return data.get(attrib); + } + +} diff --git a/libjava/classpath/javax/management/openmbean/CompositeDataSupport.java b/libjava/classpath/javax/management/openmbean/CompositeDataSupport.java index 5d5adb7..d4c9d45 100644 --- a/libjava/classpath/javax/management/openmbean/CompositeDataSupport.java +++ b/libjava/classpath/javax/management/openmbean/CompositeDataSupport.java @@ -1,5 +1,5 @@ /* CompositeData.java -- A composite data structure implementation. - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -68,7 +68,7 @@ public class CompositeDataSupport * * @serial the map of field names to values. */ - private SortedMap contents; + private SortedMap contents; /** * The composite type which represents this composite data instance. @@ -106,11 +106,11 @@ public class CompositeDataSupport * {@link java.lang.String} (thus calling a failure * in converting the keys to an array of strings). */ - public CompositeDataSupport(CompositeType type, Map items) + public CompositeDataSupport(CompositeType type, Map items) throws OpenDataException { this(type, - (String[]) items.keySet().toArray(new String[items.size()]), + items.keySet().toArray(new String[items.size()]), items.values().toArray()); } @@ -158,7 +158,7 @@ public class CompositeDataSupport if (typeKeys.size() != names.length) throw new OpenDataException("The number of field names does not match " + "the type description."); - contents = new TreeMap(); + contents = new TreeMap(); for (int a = 0; a < names.length; ++a) { if (names[a] == null) @@ -340,7 +340,7 @@ public class CompositeDataSupport * * @return the values of this instance. */ - public Collection values() + public Collection values() { return Collections.unmodifiableCollection(contents.values()); } diff --git a/libjava/classpath/javax/management/openmbean/CompositeType.java b/libjava/classpath/javax/management/openmbean/CompositeType.java index 0ae5a4e..1a213f6 100644 --- a/libjava/classpath/javax/management/openmbean/CompositeType.java +++ b/libjava/classpath/javax/management/openmbean/CompositeType.java @@ -1,5 +1,5 @@ /* CompositeType.java -- Type descriptor for CompositeData instances. - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -51,7 +51,7 @@ import java.util.TreeMap; * @since 1.5 */ public class CompositeType - extends OpenType + extends OpenType { /** @@ -62,12 +62,12 @@ public class CompositeType /** * A map of item names to their descriptions. */ - private TreeMap nameToDescription; + private TreeMap nameToDescription; /** * A map of item names to their types. */ - private TreeMap nameToType; + private TreeMap> nameToType; /** * The hash code of this instance. @@ -109,7 +109,7 @@ public class CompositeType * before comparison. */ public CompositeType(String name, String desc, String[] names, - String[] descs, OpenType[] types) + String[] descs, OpenType[] types) throws OpenDataException { super(CompositeData.class.getName(), name, desc); @@ -138,7 +138,7 @@ public class CompositeType "than once."); nameToDescription.put(fieldName, descs[a]); } - nameToType = new TreeMap(); + nameToType = new TreeMap>(); for (int a = 0; a < names.length; ++a) nameToType.put(names[a].trim(), types[a]); } @@ -178,16 +178,14 @@ public class CompositeType CompositeType ctype = (CompositeType) obj; if (!(ctype.getTypeName().equals(getTypeName()))) return false; - Set keys = keySet(); + Set keys = keySet(); if (!(ctype.keySet().equals(keys))) return false; - Iterator it = keys.iterator(); - while (it.hasNext()) - { - String key = (String) it.next(); - if (!(ctype.getType(key).equals(getType(key)))) - return false; - } + for (String key : keys) + { + if (!(ctype.getType(key).equals(getType(key)))) + return false; + } return true; } @@ -203,7 +201,7 @@ public class CompositeType */ public String getDescription(String name) { - return (String) nameToDescription.get(name); + return nameToDescription.get(name); } /** @@ -216,9 +214,9 @@ public class CompositeType * @return the type, or null if the * field doesn't exist. */ - public OpenType getType(String name) + public OpenType getType(String name) { - return (OpenType) nameToType.get(name); + return nameToType.get(name); } /** @@ -287,7 +285,7 @@ public class CompositeType * @return a unmodifiable set containing the field * name {@link java.lang.String}s. */ - public Set keySet() + public Set keySet() { return Collections.unmodifiableSet(nameToDescription.keySet()); } diff --git a/libjava/classpath/javax/management/openmbean/OpenMBeanAttributeInfoSupport.java b/libjava/classpath/javax/management/openmbean/OpenMBeanAttributeInfoSupport.java index 83e0436..22667aa 100644 --- a/libjava/classpath/javax/management/openmbean/OpenMBeanAttributeInfoSupport.java +++ b/libjava/classpath/javax/management/openmbean/OpenMBeanAttributeInfoSupport.java @@ -1,5 +1,5 @@ /* OpenMBeanAttributeInfoSupport.java -- Open typed info about an attribute. - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -62,7 +62,7 @@ public class OpenMBeanAttributeInfoSupport /** * The open type of the attribute. */ - private OpenType openType; + private OpenType openType; /** * The default value of the attribute (may be null). @@ -72,17 +72,17 @@ public class OpenMBeanAttributeInfoSupport /** * The possible legal values of the attribute (may be null). */ - private Set legalValues; + private Set legalValues; /** * The minimum value of the attribute (may be null). */ - private Comparable minValue; + private Comparable minValue; /** * The maximum value of the attribute (may be null). */ - private Comparable maxValue; + private Comparable maxValue; /** * The hash code of this instance. @@ -112,7 +112,7 @@ public class OpenMBeanAttributeInfoSupport * or the name or description are * the empty string. */ - public OpenMBeanAttributeInfoSupport(String name, String desc, OpenType type, + public OpenMBeanAttributeInfoSupport(String name, String desc, OpenType type, boolean isReadable, boolean isWritable, boolean isIs) { @@ -157,9 +157,9 @@ public class OpenMBeanAttributeInfoSupport * open type or the open type is an instance * of {@link ArrayType} or {@link TabularType}. */ - public OpenMBeanAttributeInfoSupport(String name, String desc, OpenType type, - boolean isReadable, boolean isWritable, - boolean isIs, Object defaultValue) + public OpenMBeanAttributeInfoSupport(String name, String desc, OpenType type, + boolean isReadable, boolean isWritable, + boolean isIs, T defaultValue) throws OpenDataException { this(name, desc, type, isReadable, isWritable, isIs, defaultValue, null); @@ -203,11 +203,11 @@ public class OpenMBeanAttributeInfoSupport * the empty string. * @throws OpenDataException if any condition in the list above is broken. */ - public OpenMBeanAttributeInfoSupport(String name, String desc, OpenType type, - boolean isReadable, boolean isWritable, - boolean isIs, Object defaultValue, - Comparable minimumValue, - Comparable maximumValue) + public OpenMBeanAttributeInfoSupport(String name, String desc, OpenType type, + boolean isReadable, boolean isWritable, + boolean isIs, T defaultValue, + Comparable minimumValue, + Comparable maximumValue) throws OpenDataException { this(name, desc, type, isReadable, isWritable, isIs); @@ -239,8 +239,8 @@ public class OpenMBeanAttributeInfoSupport openType = type; this.defaultValue = defaultValue; - minValue = minimumValue; - maxValue = maximumValue; + minValue = (Comparable) minimumValue; + maxValue = (Comparable) maximumValue; } /** @@ -280,10 +280,10 @@ public class OpenMBeanAttributeInfoSupport * the empty string. * @throws OpenDataException if any condition in the list above is broken. */ - public OpenMBeanAttributeInfoSupport(String name, String desc, OpenType type, - boolean isReadable, boolean isWritable, - boolean isIs, Object defaultValue, - Object[] legalValues) + public OpenMBeanAttributeInfoSupport(String name, String desc, OpenType type, + boolean isReadable, boolean isWritable, + boolean isIs, T defaultValue, + T[] legalValues) throws OpenDataException { this(name, desc, type, isReadable, isWritable, isIs); @@ -379,7 +379,7 @@ public class OpenMBeanAttributeInfoSupport * @return a set of legal values, or null if no such * set exists. */ - public Set getLegalValues() + public Set getLegalValues() { return legalValues; } @@ -390,7 +390,7 @@ public class OpenMBeanAttributeInfoSupport * * @return the maximum value, or null if none exists. */ - public Comparable getMaxValue() + public Comparable getMaxValue() { return maxValue; } @@ -401,7 +401,7 @@ public class OpenMBeanAttributeInfoSupport * * @return the minimum value, or null if none exists. */ - public Comparable getMinValue() + public Comparable getMinValue() { return minValue; } @@ -412,7 +412,7 @@ public class OpenMBeanAttributeInfoSupport * * @return the open type of this attribute. */ - public OpenType getOpenType() + public OpenType getOpenType() { return openType; } diff --git a/libjava/classpath/javax/management/openmbean/OpenMBeanOperationInfo.java b/libjava/classpath/javax/management/openmbean/OpenMBeanOperationInfo.java index 8b61329..e835b8d 100644 --- a/libjava/classpath/javax/management/openmbean/OpenMBeanOperationInfo.java +++ b/libjava/classpath/javax/management/openmbean/OpenMBeanOperationInfo.java @@ -109,7 +109,7 @@ public interface OpenMBeanOperationInfo * * @return the open type of the return value. */ - OpenType getReturnOpenType(); + OpenType getReturnOpenType(); /** * Returns the return type of the operation, as the class diff --git a/libjava/classpath/javax/management/openmbean/OpenMBeanOperationInfoSupport.java b/libjava/classpath/javax/management/openmbean/OpenMBeanOperationInfoSupport.java index 0756489..c01433d 100644 --- a/libjava/classpath/javax/management/openmbean/OpenMBeanOperationInfoSupport.java +++ b/libjava/classpath/javax/management/openmbean/OpenMBeanOperationInfoSupport.java @@ -1,5 +1,5 @@ /* OpenMBeanOperationInfoSupport.java -- Open typed info about an operation. - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -61,7 +61,7 @@ public class OpenMBeanOperationInfoSupport /** * The open type representing the return value. */ - private OpenType returnOpenType; + private OpenType returnOpenType; /** * The hash code of this instance. @@ -108,7 +108,7 @@ public class OpenMBeanOperationInfoSupport */ public OpenMBeanOperationInfoSupport(String name, String desc, OpenMBeanParameterInfo[] sig, - OpenType type, int impact) + OpenType type, int impact) { super(name, desc, (MBeanParameterInfo[]) sig, type == null ? null : type.getClassName(), impact); @@ -159,7 +159,7 @@ public class OpenMBeanOperationInfoSupport * * @return the open type of the return value. */ - public OpenType getReturnOpenType() + public OpenType getReturnOpenType() { return returnOpenType; } diff --git a/libjava/classpath/javax/management/openmbean/OpenMBeanParameterInfo.java b/libjava/classpath/javax/management/openmbean/OpenMBeanParameterInfo.java index 780e8ba..75d1baf 100644 --- a/libjava/classpath/javax/management/openmbean/OpenMBeanParameterInfo.java +++ b/libjava/classpath/javax/management/openmbean/OpenMBeanParameterInfo.java @@ -93,7 +93,7 @@ public interface OpenMBeanParameterInfo * @return a set of legal values, or null if no such * set exists. */ - Set getLegalValues(); + Set getLegalValues(); /** * Returns the maximum value of this parameter, or null @@ -101,7 +101,7 @@ public interface OpenMBeanParameterInfo * * @return the maximum value, or null if none exists. */ - Comparable getMaxValue(); + Comparable getMaxValue(); /** * Returns the minimum value of this parameter, or null @@ -109,7 +109,7 @@ public interface OpenMBeanParameterInfo * * @return the minimum value, or null if none exists. */ - Comparable getMinValue(); + Comparable getMinValue(); /** * Returns the name of this parameter. @@ -124,7 +124,7 @@ public interface OpenMBeanParameterInfo * * @return the open type of this parameter. */ - OpenType getOpenType(); + OpenType getOpenType(); /** * Returns true if this parameter has a default value. diff --git a/libjava/classpath/javax/management/openmbean/OpenMBeanParameterInfoSupport.java b/libjava/classpath/javax/management/openmbean/OpenMBeanParameterInfoSupport.java index af3bda6..7fad2a1 100644 --- a/libjava/classpath/javax/management/openmbean/OpenMBeanParameterInfoSupport.java +++ b/libjava/classpath/javax/management/openmbean/OpenMBeanParameterInfoSupport.java @@ -1,5 +1,5 @@ /* OpenMBeanParameterInfoSupport.java -- Open typed info about a parameter. - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -63,7 +63,7 @@ public class OpenMBeanParameterInfoSupport /** * The open type of the parameter. */ - private OpenType openType; + private OpenType openType; /** * The default value of the parameter (may be null). @@ -73,17 +73,17 @@ public class OpenMBeanParameterInfoSupport /** * The possible legal values of the parameter (may be null). */ - private Set legalValues; + private Set legalValues; /** * The minimum value of the parameter (may be null). */ - private Comparable minValue; + private Comparable minValue; /** * The maximum value of the parameter (may be null). */ - private Comparable maxValue; + private Comparable maxValue; /** * The hash code of this instance. @@ -109,7 +109,7 @@ public class OpenMBeanParameterInfoSupport * or the name or description are * the empty string. */ - public OpenMBeanParameterInfoSupport(String name, String desc, OpenType type) + public OpenMBeanParameterInfoSupport(String name, String desc, OpenType type) { super(name, type == null ? null : type.getClassName(), desc); if (name == null) @@ -149,8 +149,8 @@ public class OpenMBeanParameterInfoSupport * open type or the open type is an instance * of {@link ArrayType} or {@link TabularType}. */ - public OpenMBeanParameterInfoSupport(String name, String desc, OpenType type, - Object defaultValue) + public OpenMBeanParameterInfoSupport(String name, String desc, OpenType type, + T defaultValue) throws OpenDataException { this(name, desc, type, defaultValue, null); @@ -190,9 +190,9 @@ public class OpenMBeanParameterInfoSupport * the empty string. * @throws OpenDataException if any condition in the list above is broken. */ - public OpenMBeanParameterInfoSupport(String name, String desc, OpenType type, - Object defaultValue, Comparable minimumValue, - Comparable maximumValue) + public OpenMBeanParameterInfoSupport(String name, String desc, OpenType type, + T defaultValue, Comparable minimumValue, + Comparable maximumValue) throws OpenDataException { this(name, desc, type); @@ -223,8 +223,8 @@ public class OpenMBeanParameterInfoSupport "maximum."); this.defaultValue = defaultValue; - minValue = minimumValue; - maxValue = maximumValue; + minValue = (Comparable) minimumValue; + maxValue = (Comparable) maximumValue; } /** @@ -261,8 +261,8 @@ public class OpenMBeanParameterInfoSupport * the empty string. * @throws OpenDataException if any condition in the list above is broken. */ - public OpenMBeanParameterInfoSupport(String name, String desc, OpenType type, - Object defaultValue, Object[] legalValues) + public OpenMBeanParameterInfoSupport(String name, String desc, OpenType type, + T defaultValue, T[] legalValues) throws OpenDataException { this(name, desc, type); @@ -351,7 +351,7 @@ public class OpenMBeanParameterInfoSupport * @return a set of legal values, or null if no such * set exists. */ - public Set getLegalValues() + public Set getLegalValues() { return legalValues; } @@ -362,7 +362,7 @@ public class OpenMBeanParameterInfoSupport * * @return the maximum value, or null if none exists. */ - public Comparable getMaxValue() + public Comparable getMaxValue() { return maxValue; } @@ -373,7 +373,7 @@ public class OpenMBeanParameterInfoSupport * * @return the minimum value, or null if none exists. */ - public Comparable getMinValue() + public Comparable getMinValue() { return minValue; } @@ -384,7 +384,7 @@ public class OpenMBeanParameterInfoSupport * * @return the open type of this parameter. */ - public OpenType getOpenType() + public OpenType getOpenType() { return openType; } diff --git a/libjava/classpath/javax/management/openmbean/OpenType.java b/libjava/classpath/javax/management/openmbean/OpenType.java index 13c9e8a..f3a97fe 100644 --- a/libjava/classpath/javax/management/openmbean/OpenType.java +++ b/libjava/classpath/javax/management/openmbean/OpenType.java @@ -1,5 +1,5 @@ /* OpenType.java -- Superclass of all open types. - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -39,6 +39,9 @@ package javax.management.openmbean; import java.io.Serializable; +import java.util.Arrays; +import java.util.List; + /** * The superclass of all open types, which describe the * applicable data values for open MBeans. An open type @@ -48,7 +51,7 @@ import java.io.Serializable; * @author Andrew John Hughes (gnu_andrew@member.fsf.org) * @since 1.5 */ -public abstract class OpenType +public abstract class OpenType implements Serializable { @@ -76,7 +79,10 @@ public abstract class OpenType * An array which defines the set of Java types which can be * used as open types. Note that each type is also available * in array form, possibly with multiple dimensions. + * + * @deprecated Use {@link ALLOWED_CLASSNAMES_LIST} instead. */ + @Deprecated public static final String[] ALLOWED_CLASSNAMES = { "java.lang.Void", "java.lang.Boolean", @@ -97,6 +103,14 @@ public abstract class OpenType }; /** + * A list which defines the set of Java types that may be + * used as open types. Note that each type is also available + * in array form, possibly with multiple dimensions. + */ + public static final List ALLOWED_CLASSNAMES_LIST = + Arrays.asList(ALLOWED_CLASSNAMES); + + /** * Constructs a new {@link OpenType} for the specified class * with the given name and description. The name of the class * must be taken from the list of {@link ALLOWED_CLASSNAMES}. @@ -126,17 +140,20 @@ public abstract class OpenType if (desc == null || desc.equals("")) throw new IllegalArgumentException("The description can not " + "be null or the empty string."); - String testString; - if (className.startsWith("[")) - testString = className.substring(className.indexOf("L") + 1); - else - testString = className; - boolean openTypeFound = false; - for (int a = 0; a < ALLOWED_CLASSNAMES.length; ++a) - if (ALLOWED_CLASSNAMES[a].equals(testString)) - openTypeFound = true; - if (!openTypeFound) - throw new OpenDataException("The class name, " + testString + + Class type; + try + { + type = Class.forName(className); + } + catch (ClassNotFoundException e) + { + throw (OpenDataException) new OpenDataException("The class name, " + className + + ", is unavailable.").initCause(e); + } + while (type.isArray()) + type = type.getComponentType(); + if (!(type.isPrimitive() || ALLOWED_CLASSNAMES_LIST.contains(type.getName()))) + throw new OpenDataException("The class name, " + className + ", does not specify a valid open type."); this.className = className; typeName = name; diff --git a/libjava/classpath/javax/management/openmbean/SimpleType.java b/libjava/classpath/javax/management/openmbean/SimpleType.java index 39753f1..fb3b1bc 100644 --- a/libjava/classpath/javax/management/openmbean/SimpleType.java +++ b/libjava/classpath/javax/management/openmbean/SimpleType.java @@ -1,5 +1,5 @@ /* SimpleType.java -- Open type descriptor for the base types. - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -40,6 +40,13 @@ package javax.management.openmbean; import java.io.InvalidObjectException; import java.io.ObjectStreamException; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.util.Date; + +import javax.management.ObjectName; + /** * The open type descriptor for data values that are members * of one of the simple types (such as an integer or a string). @@ -53,94 +60,94 @@ import java.io.ObjectStreamException; * @author Andrew John Hughes (gnu_andrew@member.fsf.org) * @since 1.5 */ -public final class SimpleType - extends OpenType +public final class SimpleType + extends OpenType { /** * The {@link SimpleType} representation of * java.math.BigDecimal. */ - public static final SimpleType BIGDECIMAL; + public static final SimpleType BIGDECIMAL; /** * The {@link SimpleType} representation of * java.math.BigInteger. */ - public static final SimpleType BIGINTEGER; + public static final SimpleType BIGINTEGER; /** * The {@link SimpleType} representation of * java.lang.Boolean. */ - public static final SimpleType BOOLEAN; + public static final SimpleType BOOLEAN; /** * The {@link SimpleType} representation of * java.lang.Byte. */ - public static final SimpleType BYTE; + public static final SimpleType BYTE; /** * The {@link SimpleType} representation of * java.lang.Character. */ - public static final SimpleType CHARACTER; + public static final SimpleType CHARACTER; /** * The {@link SimpleType} representation of * java.util.Date. */ - public static final SimpleType DATE; + public static final SimpleType DATE; /** * The {@link SimpleType} representation of * java.lang.Double. */ - public static final SimpleType DOUBLE; + public static final SimpleType DOUBLE; /** * The {@link SimpleType} representation of * java.lang.Float. */ - public static final SimpleType FLOAT; + public static final SimpleType FLOAT; /** * The {@link SimpleType} representation of * java.lang.Integer. */ - public static final SimpleType INTEGER; + public static final SimpleType INTEGER; /** * The {@link SimpleType} representation of * java.lang.Long. */ - public static final SimpleType LONG; + public static final SimpleType LONG; /** * The {@link SimpleType} representation of * javax.management.ObjectName. */ - public static final SimpleType OBJECTNAME; + public static final SimpleType OBJECTNAME; /** * The {@link SimpleType} representation of * java.lang.Short. */ - public static final SimpleType SHORT; + public static final SimpleType SHORT; /** * The {@link SimpleType} representation of * java.lang.String. */ - public static final SimpleType STRING; + public static final SimpleType STRING; /** * The {@link SimpleType} representation of * java.lang.Void. */ - public static final SimpleType VOID; + public static final SimpleType VOID; /** * Compatible with JDK 1.5 @@ -164,27 +171,28 @@ public final class SimpleType { try { - BIGDECIMAL = new SimpleType("java.math.BigDecimal"); - BIGINTEGER = new SimpleType("java.math.BigInteger"); - BOOLEAN = new SimpleType("java.lang.Boolean"); - BYTE = new SimpleType("java.lang.Byte"); - CHARACTER = new SimpleType("java.lang.Character"); - DATE = new SimpleType("java.util.Date"); - DOUBLE = new SimpleType("java.lang.Double"); - FLOAT = new SimpleType("java.lang.Float"); - INTEGER = new SimpleType("java.lang.Integer"); - LONG = new SimpleType("java.lang.Long"); - OBJECTNAME = new SimpleType("javax.management.ObjectName"); - SHORT = new SimpleType("java.lang.Short"); - STRING = new SimpleType("java.lang.String"); - VOID = new SimpleType("java.lang.Void"); + BIGDECIMAL = new SimpleType("java.math.BigDecimal"); + BIGINTEGER = new SimpleType("java.math.BigInteger"); + BOOLEAN = new SimpleType("java.lang.Boolean"); + BYTE = new SimpleType("java.lang.Byte"); + CHARACTER = new SimpleType("java.lang.Character"); + DATE = new SimpleType("java.util.Date"); + DOUBLE = new SimpleType("java.lang.Double"); + FLOAT = new SimpleType("java.lang.Float"); + INTEGER = new SimpleType("java.lang.Integer"); + LONG = new SimpleType("java.lang.Long"); + OBJECTNAME = + new SimpleType("javax.management.ObjectName"); + SHORT = new SimpleType("java.lang.Short"); + STRING = new SimpleType("java.lang.String"); + VOID = new SimpleType("java.lang.Void"); } catch (OpenDataException e) { /* In normal circumstances, this shouldn't be possible. */ throw new IllegalStateException("A invalid class name " + "was passed to the SimpleType " + - "constructor."); + "constructor.", e); } } diff --git a/libjava/classpath/javax/management/openmbean/TabularData.java b/libjava/classpath/javax/management/openmbean/TabularData.java index 7e57e0f..75ab00b 100644 --- a/libjava/classpath/javax/management/openmbean/TabularData.java +++ b/libjava/classpath/javax/management/openmbean/TabularData.java @@ -1,5 +1,5 @@ /* TabularData.java -- Tables of composite data structures. - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -165,7 +165,7 @@ public interface TabularData * * @return a set containing the keys of this instance. */ - Set keySet(); + Set keySet(); /** * Adds the specified {@link CompositeData} value to the @@ -253,7 +253,7 @@ public interface TabularData * * @return the values of this instance. */ - Collection values(); + Collection values(); } diff --git a/libjava/classpath/javax/management/openmbean/TabularDataSupport.java b/libjava/classpath/javax/management/openmbean/TabularDataSupport.java index 9dc8a0e..1d340e8 100644 --- a/libjava/classpath/javax/management/openmbean/TabularDataSupport.java +++ b/libjava/classpath/javax/management/openmbean/TabularDataSupport.java @@ -1,5 +1,5 @@ /* TabularDataSupport.java -- Tables of composite data structures. - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -55,7 +55,7 @@ import java.util.Set; * @since 1.5 */ public class TabularDataSupport - implements TabularData, Serializable, Cloneable, Map + implements TabularData, Serializable, Cloneable, Map { /** @@ -68,7 +68,7 @@ public class TabularDataSupport * * @serial the map of rows to column values. */ - private Map dataMap; + private Map dataMap; /** * The tabular type which represents this tabular data instance. @@ -113,7 +113,7 @@ public class TabularDataSupport if (type == null) throw new IllegalArgumentException("The type may not be null."); tabularType = type; - dataMap = new HashMap(cap, lf); + dataMap = new HashMap(cap, lf); } /** @@ -279,7 +279,7 @@ public class TabularDataSupport * @return the set view of all mapping entries * @see java.util.Map.Entry */ - public Set entrySet() + public Set> entrySet() { return dataMap.entrySet(); } @@ -413,7 +413,7 @@ public class TabularDataSupport * * @return the set view of all keys */ - public Set keySet() + public Set keySet() { return dataMap.keySet(); } @@ -535,7 +535,7 @@ public class TabularDataSupport * of one of the other * specified values. */ - public void putAll(Map m) + public void putAll(Map m) { if (m == null || m.size() == 0) return; @@ -643,7 +643,7 @@ public class TabularDataSupport * * @return the collection view of all values */ - public Collection values() + public Collection values() { return dataMap.values(); } diff --git a/libjava/classpath/javax/management/openmbean/TabularType.java b/libjava/classpath/javax/management/openmbean/TabularType.java index c38f5ea..9a0881e 100644 --- a/libjava/classpath/javax/management/openmbean/TabularType.java +++ b/libjava/classpath/javax/management/openmbean/TabularType.java @@ -1,5 +1,5 @@ /* TabularType.java -- Type descriptor for TabularData instances. - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -50,7 +50,7 @@ import java.util.List; * @since 1.5 */ public class TabularType - extends OpenType + extends OpenType { /** @@ -68,7 +68,7 @@ public class TabularType * They are retained in the order given by the user, and is * unmodifiable. */ - private List indexNames; + private List indexNames; /** * The hash code of this instance. @@ -167,7 +167,7 @@ public class TabularType * @return an unmodifiable list of the index names used by this * tabular data structure. */ - public List getIndexNames() + public List getIndexNames() { return indexNames; } diff --git a/libjava/classpath/javax/naming/CompositeName.java b/libjava/classpath/javax/naming/CompositeName.java index 6129321..7227f9d7 100644 --- a/libjava/classpath/javax/naming/CompositeName.java +++ b/libjava/classpath/javax/naming/CompositeName.java @@ -58,16 +58,16 @@ public class CompositeName implements Name, Cloneable, Serializable { private static final long serialVersionUID = 1667768148915813118L; - private transient Vector elts; + private transient Vector elts; public CompositeName () { - elts = new Vector (); + elts = new Vector (); } protected CompositeName (Enumeration comps) { - elts = new Vector (); + elts = new Vector (); try { while (comps.hasMoreElements ()) @@ -80,7 +80,7 @@ public class CompositeName implements Name, Cloneable, Serializable public CompositeName (String n) throws InvalidNameException { - elts = new Vector (); + elts = new Vector (); // Parse the string into its components. final char no_quote = 'x'; // Use 'x' to mean no quoting. char quote = no_quote; @@ -151,7 +151,7 @@ public class CompositeName implements Name, Cloneable, Serializable public Name addAll (int posn, Name n) throws InvalidNameException { - Enumeration e = n.getAll (); + Enumeration e = n.getAll (); try { while (e.hasMoreElements ()) @@ -168,7 +168,7 @@ public class CompositeName implements Name, Cloneable, Serializable public Name addAll (Name suffix) throws InvalidNameException { - Enumeration e = suffix.getAll (); + Enumeration e = suffix.getAll (); try { while (e.hasMoreElements ()) @@ -193,8 +193,8 @@ public class CompositeName implements Name, Cloneable, Serializable int last = Math.min (cn.elts.size (), elts.size ()); for (int i = 0; i < last; ++i) { - String f = (String) elts.get (i); - int comp = f.compareTo ((String) cn.elts.get (i)); + String f = elts.get (i); + int comp = f.compareTo (cn.elts.get (i)); if (comp != 0) return comp; } @@ -227,7 +227,7 @@ public class CompositeName implements Name, Cloneable, Serializable public String get (int posn) { - return (String) elts.get (posn); + return elts.get (posn); } public Enumeration getAll () @@ -239,7 +239,7 @@ public class CompositeName implements Name, Cloneable, Serializable { CompositeName cn = new CompositeName (); for (int i = 0; i < posn; ++i) - cn.elts.add ((String) elts.get (i)); + cn.elts.add (elts.get (i)); return cn; } @@ -249,7 +249,7 @@ public class CompositeName implements Name, Cloneable, Serializable throw new ArrayIndexOutOfBoundsException (posn); CompositeName cn = new CompositeName (); for (int i = posn; i < elts.size (); ++i) - cn.elts.add ((String) elts.get (i)); + cn.elts.add (elts.get (i)); return cn; } @@ -299,7 +299,7 @@ public class CompositeName implements Name, Cloneable, Serializable { // For simplicity we choose to always quote using escapes and // never quotes. - String elt = (String) elts.get (i); + String elt = elts.get (i); if (i > 0 || (i == elts.size () - 1 && elt.equals (""))) result.append ('/'); @@ -327,9 +327,9 @@ public class CompositeName implements Name, Cloneable, Serializable throws IOException, ClassNotFoundException { int size = s.readInt(); - elts = new Vector(size); + elts = new Vector(size); for (int i = 0; i < size; i++) - elts.add(s.readObject()); + elts.add((String) s.readObject()); } private void writeObject(ObjectOutputStream s) throws IOException diff --git a/libjava/classpath/javax/naming/CompoundName.java b/libjava/classpath/javax/naming/CompoundName.java index 703d44e..f345d3e 100644 --- a/libjava/classpath/javax/naming/CompoundName.java +++ b/libjava/classpath/javax/naming/CompoundName.java @@ -68,14 +68,14 @@ public class CompoundName implements Name, Cloneable, Serializable private CompoundName (Properties syntax) { - elts = new Vector (); + elts = new Vector (); mySyntax = syntax; initializeSyntax (); } protected CompoundName (Enumeration comps, Properties syntax) { - elts = new Vector (); + elts = new Vector (); mySyntax = syntax; initializeSyntax (); try @@ -91,7 +91,7 @@ public class CompoundName implements Name, Cloneable, Serializable public CompoundName (String n, Properties syntax) throws InvalidNameException { - elts = new Vector (); + elts = new Vector (); mySyntax = syntax; initializeSyntax (); @@ -186,7 +186,7 @@ public class CompoundName implements Name, Cloneable, Serializable int len = elts.size (); for (i = 0; i < len / 2; ++i) { - Object t = elts.set (i, elts.get (len - i - 1)); + String t = elts.set (i, elts.get (len - i - 1)); elts.set (len - i - 1, t); } } @@ -210,7 +210,7 @@ public class CompoundName implements Name, Cloneable, Serializable public Name addAll (int posn, Name n) throws InvalidNameException { - Enumeration e = n.getAll (); + Enumeration e = n.getAll (); try { while (e.hasMoreElements ()) @@ -227,7 +227,7 @@ public class CompoundName implements Name, Cloneable, Serializable public Name addAll (Name suffix) throws InvalidNameException { - Enumeration e = suffix.getAll (); + Enumeration e = suffix.getAll (); try { while (e.hasMoreElements ()) @@ -252,8 +252,8 @@ public class CompoundName implements Name, Cloneable, Serializable int last = Math.min (cn.elts.size (), elts.size ()); for (int i = 0; i < last; ++i) { - String f = canonicalize ((String) elts.get (i)); - int comp = f.compareTo (canonicalize ((String) cn.elts.get (i))); + String f = canonicalize (elts.get (i)); + int comp = f.compareTo (canonicalize (cn.elts.get (i))); if (comp != 0) return comp; } @@ -270,8 +270,8 @@ public class CompoundName implements Name, Cloneable, Serializable int delta = elts.size () - cn.elts.size (); for (int i = 0; i < cn.elts.size (); ++i) { - String f = canonicalize ((String) elts.get (delta + i)); - if (! f.equals (canonicalize ((String) cn.elts.get (i)))) + String f = canonicalize (elts.get (delta + i)); + if (! f.equals (canonicalize (cn.elts.get (i)))) return false; } return true; @@ -286,7 +286,7 @@ public class CompoundName implements Name, Cloneable, Serializable public String get (int posn) { - return (String) elts.get (posn); + return elts.get (posn); } public Enumeration getAll () @@ -316,7 +316,7 @@ public class CompoundName implements Name, Cloneable, Serializable { int h = 0; for (int i = 0; i < elts.size (); ++i) - h += canonicalize ((String) elts.get (i)).hashCode (); + h += canonicalize (elts.get (i)).hashCode (); return h; } @@ -344,8 +344,8 @@ public class CompoundName implements Name, Cloneable, Serializable return false; for (int i = 0; i < cn.elts.size (); ++i) { - String f = canonicalize ((String) elts.get (i)); - if (! f.equals (canonicalize ((String) cn.elts.get (i)))) + String f = canonicalize (elts.get (i)); + if (! f.equals (canonicalize (cn.elts.get (i)))) return false; } return true; @@ -383,7 +383,7 @@ public class CompoundName implements Name, Cloneable, Serializable // Find the appropriate element. FIXME: not clear what FLAT // means. int offset = (direction == RIGHT_TO_LEFT) ? (size - i - 1) : i; - String element = (String) elts.get (offset); + String element = elts.get (offset); if (i > 0 || (i == size - 1 && element.equals (""))) result.append (separator); @@ -478,7 +478,7 @@ public class CompoundName implements Name, Cloneable, Serializable { mySyntax = (Properties) s.readObject(); int count = s.readInt(); - elts = new Vector(count); + elts = new Vector(count); for (int i = 0; i < count; i++) elts.addElement((String) s.readObject()); } @@ -499,7 +499,7 @@ public class CompoundName implements Name, Cloneable, Serializable protected transient Properties mySyntax; // The actual elements. - private transient Vector elts; + private transient Vector elts; // The following are all used for syntax. private transient int direction; diff --git a/libjava/classpath/javax/naming/InitialContext.java b/libjava/classpath/javax/naming/InitialContext.java index 1a3b1e3..a5fe5f0 100644 --- a/libjava/classpath/javax/naming/InitialContext.java +++ b/libjava/classpath/javax/naming/InitialContext.java @@ -80,14 +80,14 @@ public class InitialContext implements Context * be appended after the colon to the first possible value. Used in * {@link #merge(Hashtable, Hashtable)} */ - static final HashSet colon_list; + static final HashSet colon_list; static { - colon_list = new HashSet(); + colon_list = new HashSet(); colon_list.add(Context.OBJECT_FACTORIES); colon_list.add(Context.URL_PKG_PREFIXES); colon_list.add(Context.STATE_FACTORIES); - }; + } /** * The properties that are searched in the agreed places in the @@ -262,7 +262,8 @@ public class InitialContext implements Context * in this table. * @param additional the second table, from where additional values are taken */ - static void merge (Hashtable primary, Hashtable additional) + static void merge (Hashtable primary, + Hashtable additional) { Enumeration en = additional.keys(); diff --git a/libjava/classpath/javax/naming/Reference.java b/libjava/classpath/javax/naming/Reference.java index 3379bd5..fedbf58 100644 --- a/libjava/classpath/javax/naming/Reference.java +++ b/libjava/classpath/javax/naming/Reference.java @@ -83,7 +83,7 @@ public class Reference implements Cloneable, Serializable public Reference (String className) { this.className = className; - addrs = new Vector (); + addrs = new Vector (); } /** @@ -93,7 +93,7 @@ public class Reference implements Cloneable, Serializable public Reference (String className, RefAddr addr) { this.className = className; - addrs = new Vector (); + addrs = new Vector (); addrs.add (addr); } @@ -112,7 +112,7 @@ public class Reference implements Cloneable, Serializable this.className = className; this.classFactory = factoryClassName; this.classFactoryLocation = factoryLocation; - addrs = new Vector (); + addrs = new Vector (); } /** @@ -131,7 +131,7 @@ public class Reference implements Cloneable, Serializable this.className = className; this.classFactory = factoryClassName; this.classFactoryLocation = factoryLocation; - addrs = new Vector (); + addrs = new Vector (); addrs.add (addr); } @@ -164,7 +164,7 @@ public class Reference implements Cloneable, Serializable { Reference r = new Reference (className, classFactory, classFactoryLocation); - r.addrs = (Vector) addrs.clone (); + r.addrs = (Vector) addrs.clone (); return r; } @@ -193,7 +193,7 @@ public class Reference implements Cloneable, Serializable */ public RefAddr get (int posn) { - return (RefAddr) addrs.get (posn); + return addrs.get (posn); } /** @@ -208,7 +208,7 @@ public class Reference implements Cloneable, Serializable { for (int i = 0; i < addrs.size (); ++i) { - RefAddr r = (RefAddr) addrs.get (i); + RefAddr r = addrs.get (i); if (addrType.equals (r.getType ())) return r; } diff --git a/libjava/classpath/javax/naming/directory/BasicAttribute.java b/libjava/classpath/javax/naming/directory/BasicAttribute.java index 5a1bb0e..2715c96 100644 --- a/libjava/classpath/javax/naming/directory/BasicAttribute.java +++ b/libjava/classpath/javax/naming/directory/BasicAttribute.java @@ -78,7 +78,7 @@ public class BasicAttribute implements Attribute { attrID = id; this.ordered = ordered; - values = new Vector (); + values = new Vector (); } public BasicAttribute (String id, Object value) @@ -90,7 +90,7 @@ public class BasicAttribute implements Attribute { attrID = id; this.ordered = ordered; - values = new Vector (); + values = new Vector (); values.add (value); } @@ -118,7 +118,7 @@ public class BasicAttribute implements Attribute BasicAttribute c = new BasicAttribute (); c.attrID = attrID; c.ordered = ordered; - c.values = (Vector) values.clone (); + c.values = (Vector) values.clone (); return c; } @@ -307,7 +307,7 @@ public class BasicAttribute implements Attribute { s.defaultReadObject(); int size = s.readInt(); - values = new Vector(size); + values = new Vector(size); for (int i=0; i < size; i++) values.add(s.readObject()); } diff --git a/libjava/classpath/javax/naming/directory/BasicAttributes.java b/libjava/classpath/javax/naming/directory/BasicAttributes.java index 6880f5b..54b1f19 100644 --- a/libjava/classpath/javax/naming/directory/BasicAttributes.java +++ b/libjava/classpath/javax/naming/directory/BasicAttributes.java @@ -63,7 +63,7 @@ public class BasicAttributes implements Attributes public BasicAttributes (boolean ignoreCase) { this.ignoreCase = ignoreCase; - this.attributes = new Vector (); + this.attributes = new Vector(); } public BasicAttributes (String attrID, Object val) @@ -74,7 +74,7 @@ public class BasicAttributes implements Attributes public BasicAttributes (String attrID, Object val, boolean ignoreCase) { this.ignoreCase = ignoreCase; - attributes = new Vector (); + attributes = new Vector(); attributes.add (new BasicAttribute (attrID, val)); } @@ -82,7 +82,7 @@ public class BasicAttributes implements Attributes { // Slightly inefficient as we make a garbage Vector here. BasicAttributes ba = new BasicAttributes (ignoreCase); - ba.attributes = (Vector) attributes.clone (); + ba.attributes = (Vector) attributes.clone (); return ba; } @@ -117,7 +117,7 @@ public class BasicAttributes implements Attributes { for (int i = 0; i < attributes.size (); ++i) { - Attribute at = (Attribute) attributes.get (i); + Attribute at = attributes.get (i); if ((ignoreCase && attrID.equalsIgnoreCase (at.getID ())) || (! ignoreCase && attrID.equals (at.getID ()))) return at; @@ -128,12 +128,38 @@ public class BasicAttributes implements Attributes public NamingEnumeration getAll () { - return new BasicAttributesEnumeration (false); + return new BasicAttributesEnumeration(); } public NamingEnumeration getIDs () { - return new BasicAttributesEnumeration (true); + final NamingEnumeration attrs = getAll(); + return new NamingEnumeration() { + public boolean hasMore() throws NamingException + { + return attrs.hasMore(); + } + + public boolean hasMoreElements() + { + return attrs.hasMoreElements(); + } + + public String next() throws NamingException + { + return attrs.next().getID(); + } + + public String nextElement() + { + return attrs.nextElement().getID(); + } + + public void close() throws NamingException + { + attrs.close(); + } + }; } public int hashCode () @@ -197,16 +223,16 @@ public class BasicAttributes implements Attributes // This is set by the serialization spec. private boolean ignoreCase; // Package-private to avoid a trampoline. - transient Vector attributes; + transient Vector attributes; private void readObject(ObjectInputStream s) throws IOException, ClassNotFoundException { s.defaultReadObject(); int size = s.readInt(); - attributes = new Vector(size); + attributes = new Vector(size); for (int i = 0; i < size; i++) - attributes.add(s.readObject()); + attributes.add((Attribute) s.readObject()); } private void writeObject(ObjectOutputStream s) throws IOException @@ -218,14 +244,13 @@ public class BasicAttributes implements Attributes } // Used when enumerating. - private class BasicAttributesEnumeration implements NamingEnumeration + private class BasicAttributesEnumeration + implements NamingEnumeration { int where = 0; - boolean id; - public BasicAttributesEnumeration (boolean id) + public BasicAttributesEnumeration () { - this.id = id; } public void close () throws NamingException @@ -237,7 +262,7 @@ public class BasicAttributes implements Attributes return hasMoreElements (); } - public Object next () throws NamingException + public Attribute next () throws NamingException { return nextElement (); } @@ -247,13 +272,13 @@ public class BasicAttributes implements Attributes return where < attributes.size (); } - public Object nextElement () throws NoSuchElementException + public Attribute nextElement () throws NoSuchElementException { if (where >= attributes.size ()) throw new NoSuchElementException ("no more elements"); - Attribute at = (Attribute) attributes.get (where); + Attribute at = attributes.get (where); ++where; - return id ? (Object) at.getID () : (Object) at; + return at; } } } diff --git a/libjava/classpath/javax/naming/ldap/InitialLdapContext.java b/libjava/classpath/javax/naming/ldap/InitialLdapContext.java index f9493c3..1a29c6a 100644 --- a/libjava/classpath/javax/naming/ldap/InitialLdapContext.java +++ b/libjava/classpath/javax/naming/ldap/InitialLdapContext.java @@ -66,13 +66,13 @@ public class InitialLdapContext { super (false); - Hashtable myenv = null; + Hashtable myenv = null; if (connControls != null) { if (environment == null) - myenv = new Hashtable (); + myenv = new Hashtable (); else - myenv = (Hashtable) environment.clone (); + myenv = (Hashtable) environment.clone (); myenv.put ("java.naming.ldap.control.connect", connControls); } diff --git a/libjava/classpath/javax/naming/spi/Resolver.java b/libjava/classpath/javax/naming/spi/Resolver.java index f017905..67174cf 100644 --- a/libjava/classpath/javax/naming/spi/Resolver.java +++ b/libjava/classpath/javax/naming/spi/Resolver.java @@ -41,15 +41,14 @@ package javax.naming.spi; import javax.naming.Context; import javax.naming.Name; import javax.naming.NamingException; -import javax.naming.NotContextException; /** -+ *

      Represents the object, capable for the at least partial name resolution. -+ * The object is not necessay capable for the complete name resolution and -+ * need not implement the {@link Context}.

      -+ *

      -+ * Both passed parameters and returned results are owned by the caller.

      -+ * + *

      Represents the object, capable for the at least partial name resolution. + * The object is not necessay capable for the complete name resolution and + * need not implement the {@link Context}.

      + *

      + * Both passed parameters and returned results are owned by the caller.

      + * * @author Warren Levy (warrenl@redhat.com) */ public interface Resolver diff --git a/libjava/classpath/javax/net/ssl/SSLServerSocketFactory.java b/libjava/classpath/javax/net/ssl/SSLServerSocketFactory.java index f02619a..8bfe8c1 100644 --- a/libjava/classpath/javax/net/ssl/SSLServerSocketFactory.java +++ b/libjava/classpath/javax/net/ssl/SSLServerSocketFactory.java @@ -38,6 +38,9 @@ exception statement from your version. */ package javax.net.ssl; +import java.io.IOException; +import java.net.InetAddress; +import java.net.ServerSocket; import java.security.KeyStore; import java.security.Security; @@ -138,8 +141,9 @@ public abstract class SSLServerSocketFactory extends ServerSocketFactory } catch (Exception ex) { - throw new RuntimeException("error instantiating default server socket factory: " - + ex.toString()); + return new ErrorServerSocketFactory(new RuntimeException( + "error instantiating default server socket factory: " + + ex.toString(), ex)); } } try @@ -149,7 +153,52 @@ public abstract class SSLServerSocketFactory extends ServerSocketFactory catch (Exception e) { } - throw new RuntimeException("no SSLSocketFactory implementation available"); + return new ErrorServerSocketFactory(new RuntimeException( + "no SSLSocketFactory implementation available")); + } + + private static final class ErrorServerSocketFactory + extends SSLServerSocketFactory + { + private RuntimeException x; + + ErrorServerSocketFactory(RuntimeException x) + { + this.x = x; + } + + public ServerSocket createServerSocket() throws IOException + { + throw (IOException) new IOException().initCause(x); + } + + public ServerSocket createServerSocket(int port) throws IOException + { + throw (IOException) new IOException().initCause(x); + } + + public ServerSocket createServerSocket(int port, int backlog) + throws IOException + { + throw (IOException) new IOException().initCause(x); + } + + public ServerSocket createServerSocket(int port, int backlog, + InetAddress ifAddress) + throws IOException + { + throw (IOException) new IOException().initCause(x); + } + + public String[] getDefaultCipherSuites() + { + throw new RuntimeException(x); + } + + public String[] getSupportedCipherSuites() + { + throw new RuntimeException(x); + } } // Abstract methods. diff --git a/libjava/classpath/javax/net/ssl/SSLSocketFactory.java b/libjava/classpath/javax/net/ssl/SSLSocketFactory.java index 7348b2e..2cfb492 100644 --- a/libjava/classpath/javax/net/ssl/SSLSocketFactory.java +++ b/libjava/classpath/javax/net/ssl/SSLSocketFactory.java @@ -39,6 +39,7 @@ exception statement from your version. */ package javax.net.ssl; import java.io.IOException; +import java.net.InetAddress; import java.net.Socket; import java.security.KeyStore; import java.security.Security; @@ -141,8 +142,9 @@ public abstract class SSLSocketFactory extends SocketFactory } catch (Exception ex) { - throw new RuntimeException("error instantiating default socket factory: " - + ex.toString(), ex); + return new ErrorSocketFactory(new RuntimeException( + "error instantiating default socket factory: " + ex.toString(), + ex)); } } try @@ -152,7 +154,65 @@ public abstract class SSLSocketFactory extends SocketFactory catch (Exception e) { } - throw new RuntimeException("no SSLSocketFactory implementation available"); + return new ErrorSocketFactory(new RuntimeException( + "no SSLSocketFactory implementation available")); + } + + private static final class ErrorSocketFactory extends SSLSocketFactory + { + private RuntimeException x; + + ErrorSocketFactory(RuntimeException x) + { + this.x = x; + } + + public Socket createSocket() throws IOException + { + throw (IOException) new IOException().initCause(x); + } + + public Socket createSocket(String host, int port) + throws IOException + { + throw (IOException) new IOException().initCause(x); + } + + public Socket createSocket(String host, int port, InetAddress localHost, + int localPort) + throws IOException + { + throw (IOException) new IOException().initCause(x); + } + + public Socket createSocket(InetAddress host, int port) throws IOException + { + throw (IOException) new IOException().initCause(x); + } + + public Socket createSocket(InetAddress hast, int port, InetAddress localHost, + int localPort) + throws IOException + { + throw (IOException) new IOException().initCause(x); + } + + public String[] getDefaultCipherSuites() + { + throw new RuntimeException(x); + } + + public String[] getSupportedCipherSuites() + { + throw new RuntimeException(x); + } + + public Socket createSocket(Socket s, String host, int port, + boolean autoClose) + throws IOException + { + throw new RuntimeException(x); + } } // Abstract methods. diff --git a/libjava/classpath/javax/sound/sampled/AudioFileFormat.java b/libjava/classpath/javax/sound/sampled/AudioFileFormat.java index 37c2df4..899258c 100644 --- a/libjava/classpath/javax/sound/sampled/AudioFileFormat.java +++ b/libjava/classpath/javax/sound/sampled/AudioFileFormat.java @@ -122,7 +122,7 @@ public class AudioFileFormat private AudioFormat format; private Type type; private int frameLength; - private Map properties; + private Map properties; /** * Create a new AudioFileFormat given the type, the format, and the @@ -138,7 +138,7 @@ public class AudioFileFormat this.format = fmt; this.type = type; this.frameLength = frameLen; - this.properties = Collections.EMPTY_MAP; + this.properties = Collections. emptyMap(); } /** @@ -159,7 +159,7 @@ public class AudioFileFormat this.format = fmt; this.type = type; this.frameLength = frameLen; - this.properties = Collections.unmodifiableMap(new HashMap(properties)); + this.properties = Collections.unmodifiableMap(new HashMap(properties)); } /** @@ -177,7 +177,7 @@ public class AudioFileFormat this.format = fmt; this.type = type; this.frameLength = frameLen; - this.properties = Collections.EMPTY_MAP; + this.properties = Collections. emptyMap(); } /** diff --git a/libjava/classpath/javax/sound/sampled/AudioFormat.java b/libjava/classpath/javax/sound/sampled/AudioFormat.java index a474ff9..6296784 100644 --- a/libjava/classpath/javax/sound/sampled/AudioFormat.java +++ b/libjava/classpath/javax/sound/sampled/AudioFormat.java @@ -133,7 +133,7 @@ public class AudioFormat */ protected int sampleSizeInBits; - private Map properties; + private Map properties; /** * Create a new audio format, given various attributes of it. @@ -158,7 +158,7 @@ public class AudioFormat this.frameSize = frameSize; this.frameRate = frameRate; this.bigEndian = bigEndian; - this.properties = Collections.EMPTY_MAP; + this.properties = Collections. emptyMap(); } /** @@ -186,7 +186,7 @@ public class AudioFormat this.frameSize = frameSize; this.frameRate = frameRate; this.bigEndian = bigEndian; - this.properties = Collections.unmodifiableMap(new HashMap(properties)); + this.properties = Collections.unmodifiableMap(new HashMap(properties)); } /** @@ -218,7 +218,7 @@ public class AudioFormat this.frameSize = (sampleSizeInBits + 7) / 8 * channels; this.frameRate = sampleRate; this.bigEndian = bigEndian; - this.properties = Collections.EMPTY_MAP; + this.properties = Collections. emptyMap(); } /** diff --git a/libjava/classpath/javax/sound/sampled/AudioSystem.java b/libjava/classpath/javax/sound/sampled/AudioSystem.java index 2f64f92..e858f17 100644 --- a/libjava/classpath/javax/sound/sampled/AudioSystem.java +++ b/libjava/classpath/javax/sound/sampled/AudioSystem.java @@ -160,7 +160,8 @@ public class AudioSystem */ public static AudioFileFormat.Type[] getAudioFileTypes() { - HashSet result = new HashSet(); + HashSet result + = new HashSet(); Iterator i = ServiceFactory.lookupProviders(AudioFileWriter.class); while (i.hasNext()) { @@ -169,7 +170,7 @@ public class AudioSystem for (int j = 0; j < types.length; ++j) result.add(types[j]); } - return (AudioFileFormat.Type[]) result.toArray(new AudioFileFormat.Type[result.size()]); + return result.toArray(new AudioFileFormat.Type[result.size()]); } /** @@ -180,7 +181,8 @@ public class AudioSystem */ public static AudioFileFormat.Type[] getAudioFileTypes(AudioInputStream ais) { - HashSet result = new HashSet(); + HashSet result + = new HashSet(); Iterator i = ServiceFactory.lookupProviders(AudioFileWriter.class); while (i.hasNext()) { @@ -189,7 +191,7 @@ public class AudioSystem for (int j = 0; j < types.length; ++j) result.add(types[j]); } - return (AudioFileFormat.Type[]) result.toArray(new AudioFileFormat.Type[result.size()]); + return result.toArray(new AudioFileFormat.Type[result.size()]); } /** @@ -204,7 +206,6 @@ public class AudioSystem public static AudioInputStream getAudioInputStream(AudioFormat.Encoding targ, AudioInputStream ais) { - HashSet result = new HashSet(); Iterator i = ServiceFactory.lookupProviders(FormatConversionProvider.class); while (i.hasNext()) { @@ -228,7 +229,6 @@ public class AudioSystem public static AudioInputStream getAudioInputStream(AudioFormat targ, AudioInputStream ais) { - HashSet result = new HashSet(); Iterator i = ServiceFactory.lookupProviders(FormatConversionProvider.class); while (i.hasNext()) { @@ -416,7 +416,7 @@ public class AudioSystem */ public static Mixer.Info[] getMixerInfo() { - HashSet result = new HashSet(); + HashSet result = new HashSet(); Iterator i = ServiceFactory.lookupProviders(MixerProvider.class); while (i.hasNext()) { @@ -425,7 +425,7 @@ public class AudioSystem for (int j = 0; j < is.length; ++j) result.add(is[j]); } - return (Mixer.Info[]) result.toArray(new Mixer.Info[result.size()]); + return result.toArray(new Mixer.Info[result.size()]); } /** @@ -474,7 +474,7 @@ public class AudioSystem */ public static Line.Info[] getSourceLineInfo(Line.Info info) { - HashSet result = new HashSet(); + HashSet result = new HashSet(); Mixer.Info[] infos = getMixerInfo(); for (int i = 0; i < infos.length; ++i) { @@ -483,7 +483,7 @@ public class AudioSystem for (int j = 0; j < srcs.length; ++j) result.add(srcs[j]); } - return (Line.Info[]) result.toArray(new Line.Info[result.size()]); + return result.toArray(new Line.Info[result.size()]); } /** @@ -534,7 +534,8 @@ public class AudioSystem */ public static AudioFormat.Encoding[] getTargetEncodings(AudioFormat.Encoding source) { - HashSet result = new HashSet(); + HashSet result + = new HashSet(); Iterator i = ServiceFactory.lookupProviders(FormatConversionProvider.class); while (i.hasNext()) { @@ -545,7 +546,7 @@ public class AudioSystem for (int j = 0; j < es.length; ++j) result.add(es[j]); } - return (AudioFormat.Encoding[]) result.toArray(new AudioFormat.Encoding[result.size()]); + return result.toArray(new AudioFormat.Encoding[result.size()]); } /** @@ -555,7 +556,8 @@ public class AudioSystem */ public static AudioFormat.Encoding[] getTargetEncodings(AudioFormat source) { - HashSet result = new HashSet(); + HashSet result + = new HashSet(); Iterator i = ServiceFactory.lookupProviders(FormatConversionProvider.class); while (i.hasNext()) { @@ -564,7 +566,7 @@ public class AudioSystem for (int j = 0; j < es.length; ++j) result.add(es[j]); } - return (AudioFormat.Encoding[]) result.toArray(new AudioFormat.Encoding[result.size()]); + return result.toArray(new AudioFormat.Encoding[result.size()]); } /** @@ -576,7 +578,7 @@ public class AudioSystem public static AudioFormat[] getTargetFormats(AudioFormat.Encoding encoding, AudioFormat sourceFmt) { - HashSet result = new HashSet(); + HashSet result = new HashSet(); Iterator i = ServiceFactory.lookupProviders(FormatConversionProvider.class); while (i.hasNext()) { @@ -585,7 +587,7 @@ public class AudioSystem for (int j = 0; j < es.length; ++j) result.add(es[j]); } - return (AudioFormat[]) result.toArray(new AudioFormat[result.size()]); + return result.toArray(new AudioFormat[result.size()]); } /** @@ -595,7 +597,7 @@ public class AudioSystem */ public static Line.Info[] getTargetLineInfo(Line.Info info) { - HashSet result = new HashSet(); + HashSet result = new HashSet(); Mixer.Info[] infos = getMixerInfo(); for (int i = 0; i < infos.length; ++i) { @@ -604,7 +606,7 @@ public class AudioSystem for (int j = 0; j < targs.length; ++j) result.add(targs[j]); } - return (Line.Info[]) result.toArray(new Line.Info[result.size()]); + return result.toArray(new Line.Info[result.size()]); } /** diff --git a/libjava/classpath/javax/sound/sampled/BooleanControl.java b/libjava/classpath/javax/sound/sampled/BooleanControl.java index 147a7f8..0a78e49 100644 --- a/libjava/classpath/javax/sound/sampled/BooleanControl.java +++ b/libjava/classpath/javax/sound/sampled/BooleanControl.java @@ -72,7 +72,6 @@ public abstract class BooleanControl extends Control } } - private Type type; private boolean value; private String trueLabel; private String falseLabel; diff --git a/libjava/classpath/javax/swing/DefaultDesktopManager.java b/libjava/classpath/javax/swing/DefaultDesktopManager.java index 11f03a7..cad8818 100644 --- a/libjava/classpath/javax/swing/DefaultDesktopManager.java +++ b/libjava/classpath/javax/swing/DefaultDesktopManager.java @@ -293,21 +293,35 @@ public class DefaultDesktopManager implements DesktopManager, Serializable public void activateFrame(JInternalFrame frame) { JDesktopPane p = frame.getDesktopPane(); - + JInternalFrame active = null; if (p != null) - p.setSelectedFrame(frame); - else + active = p.getSelectedFrame(); + if (active == null) { - try + if (p != null) { - frame.setSelected(true); + p.setSelectedFrame(frame); } - catch (PropertyVetoException e) + } + else if (active != frame) + { + if (active.isSelected()) { - // Do nothing if attempt is vetoed. + try + { + active.setSelected(false); + } + catch (PropertyVetoException ex) + { + // Not allowed. + } } + if (p != null) + { + p.setSelectedFrame(frame); + } + } - frame.toFront(); } diff --git a/libjava/classpath/javax/swing/JComponent.java b/libjava/classpath/javax/swing/JComponent.java index 5ec5079..a22a92e 100644 --- a/libjava/classpath/javax/swing/JComponent.java +++ b/libjava/classpath/javax/swing/JComponent.java @@ -1022,21 +1022,6 @@ public abstract class JComponent extends Container implements Serializable } /** - * Fires a property change for a primitive character property. - * - * @param property the name of the property - * @param oldValue the old value of the property - * @param newValue the new value of the property - */ - public void firePropertyChange(String property, char oldValue, - char newValue) - { - // FIXME - This method is already public in awt Component, but - // is included here to work around a compilation bug in gcj 4.1. - super.firePropertyChange(property, oldValue, newValue); - } - - /** * Get the value of the accessibleContext property for this component. * * @return the current value of the property @@ -1942,7 +1927,8 @@ public abstract class JComponent extends Container implements Serializable int i = getComponentCount() - 1; if (paintChild != null && paintChild.isOpaque()) { - for (; i >= 0 && getComponent(i) != paintChild; i--); + for (; i >= 0 && getComponent(i) != paintChild; i--) + ; } for (; i >= 0; i--) { @@ -2203,7 +2189,8 @@ public abstract class JComponent extends Container implements Serializable { int count = c.getComponentCount(); int i = 0; - for (; i < count && c.getComponent(i) != child; i++); + for (; i < count && c.getComponent(i) != child; i++) + ; if (jc.isCompletelyObscured(i, paintX, paintY, paintW, paintH)) diff --git a/libjava/classpath/javax/swing/JEditorPane.java b/libjava/classpath/javax/swing/JEditorPane.java index 38b0761..d6b8776 100644 --- a/libjava/classpath/javax/swing/JEditorPane.java +++ b/libjava/classpath/javax/swing/JEditorPane.java @@ -712,7 +712,7 @@ public class JEditorPane extends JTextComponent public JEditorPane(URL url) throws IOException { init(); - setEditorKit(createEditorKitForContentType("text/html"));; + setEditorKit(createEditorKitForContentType("text/html")); setPage(url); } diff --git a/libjava/classpath/javax/swing/JFormattedTextField.java b/libjava/classpath/javax/swing/JFormattedTextField.java index 0547525..3655485 100644 --- a/libjava/classpath/javax/swing/JFormattedTextField.java +++ b/libjava/classpath/javax/swing/JFormattedTextField.java @@ -415,7 +415,7 @@ public class JFormattedTextField extends JTextField // to create a new formatter. Object oldValue = this.value; - this.value = formatter.stringToValue(getText());; + this.value = formatter.stringToValue(getText()); editValid = true; firePropertyChange("value", oldValue, this.value); diff --git a/libjava/classpath/javax/swing/JScrollBar.java b/libjava/classpath/javax/swing/JScrollBar.java index 1f21aa1..f55feb3 100644 --- a/libjava/classpath/javax/swing/JScrollBar.java +++ b/libjava/classpath/javax/swing/JScrollBar.java @@ -371,7 +371,7 @@ public class JScrollBar extends JComponent implements Adjustable, Accessible */ public int getUnitIncrement(int direction) { - return direction * unitIncrement; + return unitIncrement; } /** @@ -401,7 +401,7 @@ public class JScrollBar extends JComponent implements Adjustable, Accessible */ public int getBlockIncrement(int direction) { - return direction * blockIncrement; + return blockIncrement; } /** diff --git a/libjava/classpath/javax/swing/JToolTip.java b/libjava/classpath/javax/swing/JToolTip.java index 3153894..16bdd2d 100644 --- a/libjava/classpath/javax/swing/JToolTip.java +++ b/libjava/classpath/javax/swing/JToolTip.java @@ -181,7 +181,7 @@ public class JToolTip extends JComponent implements Accessible { StringBuffer sb = new StringBuffer(super.paramString()); sb.append(",tiptext="); - if (text != null); + if (text != null) sb.append(text); return sb.toString(); } diff --git a/libjava/classpath/javax/swing/JViewport.java b/libjava/classpath/javax/swing/JViewport.java index d90da1d..0239480 100644 --- a/libjava/classpath/javax/swing/JViewport.java +++ b/libjava/classpath/javax/swing/JViewport.java @@ -574,8 +574,12 @@ public class JViewport extends JComponent implements Accessible Component view = getView(); if (view == null) return; - + Point pos = getViewPosition(); + // We get the contentRect in the viewport coordinates. But we want to + // calculate with view coordinates. + int contentX = contentRect.x + pos.x; + int contentY = contentRect.y + pos.y; Rectangle viewBounds = getView().getBounds(); Rectangle portBounds = getBounds(); @@ -584,20 +588,20 @@ public class JViewport extends JComponent implements Accessible // If the bottom boundary of contentRect is below the port // boundaries, scroll up as necessary. - if (contentRect.y + contentRect.height + viewBounds.y > portBounds.height) - pos.y = contentRect.y + contentRect.height - portBounds.height; - // If contentRect.y is above the port boundaries, scroll down to - // contentRect.y. - if (contentRect.y + viewBounds.y < 0) - pos.y = contentRect.y; + if (contentY + contentRect.height + viewBounds.y > portBounds.height) + pos.y = contentY + contentRect.height - portBounds.height; + // If contentY is above the port boundaries, scroll down to + // contentY. + if (contentY + viewBounds.y < 0) + pos.y = contentY; // If the right boundary of contentRect is right from the port // boundaries, scroll left as necessary. - if (contentRect.x + contentRect.width + viewBounds.x > portBounds.width) - pos.x = contentRect.x + contentRect.width - portBounds.width; - // If contentRect.x is left from the port boundaries, scroll right to + if (contentX + contentRect.width + viewBounds.x > portBounds.width) + pos.x = contentX + contentRect.width - portBounds.width; + // If contentX is left from the port boundaries, scroll right to // contentRect.x. - if (contentRect.x + viewBounds.x < 0) - pos.x = contentRect.x; + if (contentX + viewBounds.x < 0) + pos.x = contentX; setViewPosition(pos); } @@ -834,7 +838,7 @@ public class JViewport extends JComponent implements Accessible int dy = viewPosition.y - lastPaintPosition.y; boolean canBlit = computeBlit(dx, dy, cachedBlitFrom, cachedBlitTo, cachedBlitSize, cachedBlitPaint); - if (canBlit) + if (canBlit && isPaintRoot) { // Copy the part that remains visible during scrolling. if (cachedBlitSize.width > 0 && cachedBlitSize.height > 0) diff --git a/libjava/classpath/javax/swing/TransferHandler.java b/libjava/classpath/javax/swing/TransferHandler.java index d594a82..2e5963f 100644 --- a/libjava/classpath/javax/swing/TransferHandler.java +++ b/libjava/classpath/javax/swing/TransferHandler.java @@ -38,15 +38,23 @@ exception statement from your version. */ package javax.swing; -import gnu.classpath.NotImplementedException; - import java.awt.Toolkit; import java.awt.datatransfer.Clipboard; import java.awt.datatransfer.DataFlavor; import java.awt.datatransfer.Transferable; import java.awt.datatransfer.UnsupportedFlavorException; +import java.awt.dnd.DragGestureEvent; +import java.awt.dnd.DragGestureListener; +import java.awt.dnd.DragGestureRecognizer; +import java.awt.dnd.DragSource; +import java.awt.dnd.DragSourceContext; +import java.awt.dnd.DragSourceDragEvent; +import java.awt.dnd.DragSourceDropEvent; +import java.awt.dnd.DragSourceEvent; +import java.awt.dnd.DragSourceListener; import java.awt.event.ActionEvent; import java.awt.event.InputEvent; +import java.awt.event.MouseEvent; import java.beans.BeanInfo; import java.beans.IntrospectionException; import java.beans.Introspector; @@ -210,7 +218,101 @@ public class TransferHandler implements Serializable } } } - + + private static class SwingDragGestureRecognizer extends DragGestureRecognizer + { + + protected SwingDragGestureRecognizer(DragGestureListener dgl) + { + super(DragSource.getDefaultDragSource(), null, NONE, dgl); + } + + void gesture(JComponent c, MouseEvent e, int src, int drag) + { + setComponent(c); + setSourceActions(src); + appendEvent(e); + fireDragGestureRecognized(drag, e.getPoint()); + } + + protected void registerListeners() + { + // Nothing to do here. + } + + protected void unregisterListeners() + { + // Nothing to do here. + } + + } + + private static class SwingDragHandler + implements DragGestureListener, DragSourceListener + { + + private boolean autoscrolls; + + public void dragGestureRecognized(DragGestureEvent e) + { + JComponent c = (JComponent) e.getComponent(); + TransferHandler th = c.getTransferHandler(); + Transferable t = th.createTransferable(c); + if (t != null) + { + autoscrolls = c.getAutoscrolls(); + c.setAutoscrolls(false); + try + { + e.startDrag(null, t, this); + return; + } + finally + { + c.setAutoscrolls(autoscrolls); + } + } + th.exportDone(c, t, NONE); + } + + public void dragDropEnd(DragSourceDropEvent e) + { + DragSourceContext ctx = e.getDragSourceContext(); + JComponent c = (JComponent) ctx.getComponent(); + TransferHandler th = c.getTransferHandler(); + if (e.getDropSuccess()) + { + th.exportDone(c, ctx.getTransferable(), e.getDropAction()); + } + else + { + th.exportDone(c, ctx.getTransferable(), e.getDropAction()); + } + c.setAutoscrolls(autoscrolls); + } + + public void dragEnter(DragSourceDragEvent e) + { + // Nothing to do here. + } + + public void dragExit(DragSourceEvent e) + { + // Nothing to do here. + } + + public void dragOver(DragSourceDragEvent e) + { + // Nothing to do here. + } + + public void dropActionChanged(DragSourceDragEvent e) + { + // Nothing to do here. + } + + } + private static final long serialVersionUID = -967749805571669910L; private static final String COMMAND_COPY = "copy"; @@ -235,6 +337,11 @@ public class TransferHandler implements Serializable */ private String propertyName; + /** + * The DragGestureRecognizer for Swing. + */ + private SwingDragGestureRecognizer recognizer; + public static Action getCopyAction() { return copyAction; @@ -331,10 +438,27 @@ public class TransferHandler implements Serializable return transferable; } - public void exportAsDrag(JComponent c, InputEvent e, int action) - throws NotImplementedException + public void exportAsDrag(JComponent c, InputEvent e, int action) { - // TODO: Implement this properly + int src = getSourceActions(c); + int drag = src & action; + if (! (e instanceof MouseEvent)) + { + drag = NONE; + } + if (drag != NONE) + { + if (recognizer == null) + { + SwingDragHandler ds = new SwingDragHandler(); + recognizer = new SwingDragGestureRecognizer(ds); + } + recognizer.gesture(c, (MouseEvent) e, src, drag); + } + else + { + exportDone(c, null, NONE); + } } /** diff --git a/libjava/classpath/javax/swing/colorchooser/DefaultHSBChooserPanel.java b/libjava/classpath/javax/swing/colorchooser/DefaultHSBChooserPanel.java index 71d6c75..112d021 100644 --- a/libjava/classpath/javax/swing/colorchooser/DefaultHSBChooserPanel.java +++ b/libjava/classpath/javax/swing/colorchooser/DefaultHSBChooserPanel.java @@ -778,7 +778,6 @@ class DefaultHSBChooserPanel extends AbstractColorChooserPanel if (locked == HLOCKED) { slider.setMaximum(359); - ; slider.setValue(((Number) hSpinner.getValue()).intValue()); slider.setInverted(true); } diff --git a/libjava/classpath/javax/swing/plaf/basic/BasicComboBoxUI.java b/libjava/classpath/javax/swing/plaf/basic/BasicComboBoxUI.java index d98fd2a..ff636d6 100644 --- a/libjava/classpath/javax/swing/plaf/basic/BasicComboBoxUI.java +++ b/libjava/classpath/javax/swing/plaf/basic/BasicComboBoxUI.java @@ -215,6 +215,8 @@ public class BasicComboBoxUI extends ComboBoxUI isMinimumSizeDirty = true; comboBox = (JComboBox) c; installDefaults(); + popup = createPopup(); + listBox = popup.getList(); // Set editor and renderer for the combo box. Editor is used // only if combo box becomes editable, otherwise renderer is used @@ -229,14 +231,9 @@ public class BasicComboBoxUI extends ComboBoxUI currentEditor = createEditor(); comboBox.setEditor(currentEditor); } - editor = currentEditor.getEditorComponent(); installComponents(); installListeners(); - if (arrowButton != null) - configureArrowButton(); - if (editor != null) - configureEditor(); comboBox.setLayout(createLayoutManager()); comboBox.setFocusable(true); installKeyboardActions(); @@ -473,13 +470,11 @@ public class BasicComboBoxUI extends ComboBoxUI */ protected void installComponents() { - // create drop down list of items - popup = createPopup(); - listBox = popup.getList(); - // create and install arrow button arrowButton = createArrowButton(); comboBox.add(arrowButton); + if (arrowButton != null) + configureArrowButton(); if (comboBox.isEditable()) addEditor(); @@ -494,24 +489,20 @@ public class BasicComboBoxUI extends ComboBoxUI */ protected void uninstallComponents() { - // uninstall arrow button - unconfigureArrowButton(); - comboBox.remove(arrowButton); - arrowButton = null; - - popup = null; - - if (comboBox.getRenderer() instanceof UIResource) - comboBox.setRenderer(null); + // Unconfigure arrow button. + if (arrowButton != null) + { + unconfigureArrowButton(); + } - // if the editor is not an instanceof UIResource, it was not set by the - // UI delegate, so don't clear it... - ComboBoxEditor currentEditor = comboBox.getEditor(); - if (currentEditor instanceof UIResource) + // Unconfigure editor. + if (editor != null) { - comboBox.setEditor(null); - editor = null; + unconfigureEditor(); } + + comboBox.removeAll(); + arrowButton = null; } /** @@ -521,7 +512,11 @@ public class BasicComboBoxUI extends ComboBoxUI { removeEditor(); editor = comboBox.getEditor().getEditorComponent(); - comboBox.add(editor); + if (editor != null) + { + configureEditor(); + comboBox.add(editor); + } } /** @@ -572,10 +567,8 @@ public class BasicComboBoxUI extends ComboBoxUI { arrowButton.setEnabled(comboBox.isEnabled()); arrowButton.setFocusable(false); - if (popupMouseListener != null) - arrowButton.addMouseListener(popupMouseListener); - if (popupMouseMotionListener != null) - arrowButton.addMouseMotionListener(popupMouseMotionListener); + arrowButton.addMouseListener(popup.getMouseListener()); + arrowButton.addMouseMotionListener(popup.getMouseMotionListener()); // Mark the button as not closing the popup, we handle this ourselves. arrowButton.putClientProperty(BasicLookAndFeel.DONT_CANCEL_POPUP, @@ -855,9 +848,6 @@ public class BasicComboBoxUI extends ComboBoxUI */ public void paintCurrentValue(Graphics g, Rectangle bounds, boolean hasFocus) { - Object currentValue = comboBox.getSelectedItem(); - boolean isPressed = arrowButton.getModel().isPressed(); - /* Gets the component to be drawn for the current value. * If there is currently no selected item we will take an empty * String as replacement. @@ -1109,7 +1099,6 @@ public class BasicComboBoxUI extends ComboBoxUI // editable Insets i = getInsets(); int arrowSize = comboBox.getHeight() - (i.top + i.bottom); - int editorWidth = comboBox.getBounds().width - arrowSize; if (arrowButton != null) arrowButton.setBounds(comboBox.getWidth() - (i.right + arrowSize), @@ -1345,52 +1334,76 @@ public class BasicComboBoxUI extends ComboBoxUI public void propertyChange(PropertyChangeEvent e) { // Lets assume every change invalidates the minimumsize. - isMinimumSizeDirty = true; - - if (e.getPropertyName().equals("enabled")) + String propName = e.getPropertyName(); + if (propName.equals("enabled")) { - arrowButton.setEnabled(comboBox.isEnabled()); + boolean enabled = comboBox.isEnabled(); + if (editor != null) + editor.setEnabled(enabled); + if (arrowButton != null) + arrowButton.setEnabled(enabled); - if (comboBox.isEditable()) - comboBox.getEditor().getEditorComponent().setEnabled( - comboBox.isEnabled()); + comboBox.repaint(); + } + else if (propName.equals("editor") && comboBox.isEditable()) + { + addEditor(); + comboBox.revalidate(); } else if (e.getPropertyName().equals("editable")) { if (comboBox.isEditable()) { - configureEditor(); addEditor(); } else { - unconfigureEditor(); removeEditor(); } comboBox.revalidate(); - comboBox.repaint(); } - else if (e.getPropertyName().equals("dataModel")) + else if (propName.equals("model")) { // remove ListDataListener from old model and add it to new model ComboBoxModel oldModel = (ComboBoxModel) e.getOldValue(); - if (oldModel != null) + if (oldModel != null && listDataListener != null) oldModel.removeListDataListener(listDataListener); - if ((ComboBoxModel) e.getNewValue() != null) + ComboBoxModel newModel = (ComboBoxModel) e.getNewValue(); + if (newModel != null && listDataListener != null) comboBox.getModel().addListDataListener(listDataListener); + + if (editor != null) + { + comboBox.configureEditor(comboBox.getEditor(), + comboBox.getSelectedItem()); + } + isMinimumSizeDirty = true; + comboBox.revalidate(); + comboBox.repaint(); } - else if (e.getPropertyName().equals("font")) + else if (propName.equals("font")) { Font font = (Font) e.getNewValue(); - editor.setFont(font); + if (editor != null) + { + editor.setFont(font); + } listBox.setFont(font); - arrowButton.setFont(font); + isMinimumSizeDirty = true; + comboBox.revalidate(); + } + else if (propName.equals("prototypeDisplayValue")) + { + isMinimumSizeDirty = true; + comboBox.revalidate(); + } + else if (propName.equals("renderer")) + { + isMinimumSizeDirty = true; comboBox.revalidate(); - comboBox.repaint(); } - // FIXME: Need to handle changes in other bound properties. } } diff --git a/libjava/classpath/javax/swing/plaf/basic/BasicComboPopup.java b/libjava/classpath/javax/swing/plaf/basic/BasicComboPopup.java index c29829d..11f832a 100644 --- a/libjava/classpath/javax/swing/plaf/basic/BasicComboPopup.java +++ b/libjava/classpath/javax/swing/plaf/basic/BasicComboPopup.java @@ -271,9 +271,17 @@ public class BasicComboPopup extends JPopupMenu implements ComboPopup */ public void uninstallingUI() { + if (propertyChangeListener != null) + { + comboBox.removePropertyChangeListener(propertyChangeListener); + } + if (itemListener != null) + { + comboBox.removeItemListener(itemListener); + } uninstallComboBoxModelListeners(comboBox.getModel()); - uninstallListeners(); uninstallKeyboardActions(); + uninstallListListeners(); } /** @@ -466,7 +474,6 @@ public class BasicComboPopup extends JPopupMenu implements ComboPopup list.setBorder(null); list.setCellRenderer(comboBox.getRenderer()); list.setFocusable(false); - syncListSelection(); list.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION); installListListeners(); } @@ -1010,15 +1017,6 @@ public class BasicComboPopup extends JPopupMenu implements ComboPopup // ------ private helper methods -------------------- /** - * This method uninstalls listeners installed by the UI - */ - private void uninstallListeners() - { - uninstallComboBoxListeners(); - uninstallComboBoxModelListeners(comboBox.getModel()); - } - - /** * This method uninstalls Listeners registered with combo boxes list of * items */ @@ -1031,19 +1029,6 @@ public class BasicComboPopup extends JPopupMenu implements ComboPopup listMouseMotionListener = null; } - /** - * This method uninstalls listeners listening to combo box associated with - * this popup menu - */ - private void uninstallComboBoxListeners() - { - comboBox.removeItemListener(itemListener); - itemListener = null; - - comboBox.removePropertyChangeListener(propertyChangeListener); - propertyChangeListener = null; - } - void syncListSelection() { int index = comboBox.getSelectedIndex(); diff --git a/libjava/classpath/javax/swing/plaf/basic/BasicLabelUI.java b/libjava/classpath/javax/swing/plaf/basic/BasicLabelUI.java index 1ec020b..ae99259 100644 --- a/libjava/classpath/javax/swing/plaf/basic/BasicLabelUI.java +++ b/libjava/classpath/javax/swing/plaf/basic/BasicLabelUI.java @@ -37,13 +37,14 @@ package javax.swing.plaf.basic; -import java.awt.Color; import java.awt.Component; import java.awt.Dimension; +import java.awt.Font; import java.awt.FontMetrics; import java.awt.Graphics; import java.awt.Insets; import java.awt.Rectangle; +import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.KeyEvent; import java.beans.PropertyChangeEvent; @@ -58,6 +59,7 @@ import javax.swing.JLabel; import javax.swing.KeyStroke; import javax.swing.LookAndFeel; import javax.swing.SwingUtilities; +import javax.swing.UIManager; import javax.swing.plaf.ComponentUI; import javax.swing.plaf.LabelUI; import javax.swing.text.View; @@ -80,6 +82,11 @@ public class BasicLabelUI extends LabelUI implements PropertyChangeListener private Rectangle tr; /** + * A cached Insets object for reuse in the label layout methods. + */ + private Insets cachedInsets; + + /** * Creates a new BasicLabelUI object. */ public BasicLabelUI() @@ -131,7 +138,7 @@ public class BasicLabelUI extends LabelUI implements PropertyChangeListener icon.getIconHeight() + insetsY); else { - FontMetrics fm = lab.getFontMetrics(lab.getFont()); + FontMetrics fm = getFontMetrics(lab); ir.x = 0; ir.y = 0; ir.width = 0; @@ -189,43 +196,46 @@ public class BasicLabelUI extends LabelUI implements PropertyChangeListener public void paint(Graphics g, JComponent c) { JLabel b = (JLabel) c; - FontMetrics fm = g.getFontMetrics(); - - Insets i = c.getInsets(); - vr.x = i.left; - vr.y = i.right; - vr.width = c.getWidth() - i.left + i.right; - vr.height = c.getHeight() - i.top + i.bottom; - ir.x = 0; - ir.y = 0; - ir.width = 0; - ir.height = 0; - tr.x = 0; - tr.y = 0; - tr.width = 0; - tr.height = 0; Icon icon = (b.isEnabled()) ? b.getIcon() : b.getDisabledIcon(); + String text = b.getText(); + if (icon != null || (text != null && ! text.equals(""))) + { + FontMetrics fm = getFontMetrics(b); + Insets i = c.getInsets(cachedInsets); + vr.x = i.left; + vr.y = i.right; + vr.width = c.getWidth() - i.left - i.right; + vr.height = c.getHeight() - i.top - i.bottom; + ir.x = 0; + ir.y = 0; + ir.width = 0; + ir.height = 0; + tr.x = 0; + tr.y = 0; + tr.width = 0; + tr.height = 0; - String text = layoutCL(b, fm, b.getText(), icon, vr, ir, tr); + text = layoutCL(b, fm, text, icon, vr, ir, tr); - if (icon != null) - icon.paintIcon(b, g, ir.x, ir.y); + if (icon != null) + icon.paintIcon(b, g, ir.x, ir.y); - Object htmlRenderer = b.getClientProperty(BasicHTML.propertyKey); - if (htmlRenderer == null) - { - if (text != null && !text.equals("")) + if (text != null && ! text.equals("")) { - if (b.isEnabled()) - paintEnabledText(b, g, text, tr.x, tr.y + fm.getAscent()); + Object htmlRenderer = b.getClientProperty(BasicHTML.propertyKey); + if (htmlRenderer == null) + { + if (b.isEnabled()) + paintEnabledText(b, g, text, tr.x, tr.y + fm.getAscent()); + else + paintDisabledText(b, g, text, tr.x, tr.y + fm.getAscent()); + } else - paintDisabledText(b, g, text, tr.x, tr.y + fm.getAscent()); + { + ((View) htmlRenderer).paint(g, tr); + } } } - else - { - ((View) htmlRenderer).paint(g, tr); - } } /** @@ -265,8 +275,6 @@ public class BasicLabelUI extends LabelUI implements PropertyChangeListener protected void paintDisabledText(JLabel l, Graphics g, String s, int textX, int textY) { - Color saved_color = g.getColor(); - g.setColor(l.getBackground().brighter()); int mnemIndex = l.getDisplayedMnemonicIndex(); @@ -283,8 +291,6 @@ public class BasicLabelUI extends LabelUI implements PropertyChangeListener textY + 1); else g.drawString(s, textX + 1, textY + 1); - - g.setColor(saved_color); } /** @@ -298,9 +304,8 @@ public class BasicLabelUI extends LabelUI implements PropertyChangeListener * @param textY The y coordinate of the start of the baseline. */ protected void paintEnabledText(JLabel l, Graphics g, String s, int textX, - int textY) + int textY) { - Color saved_color = g.getColor(); g.setColor(l.getForeground()); int mnemIndex = l.getDisplayedMnemonicIndex(); @@ -310,8 +315,6 @@ public class BasicLabelUI extends LabelUI implements PropertyChangeListener textY); else g.drawString(s, textX, textY); - - g.setColor(saved_color); } /** @@ -514,4 +517,27 @@ public class BasicLabelUI extends LabelUI implements PropertyChangeListener "press"); } } + + /** + * Fetches a font metrics object for the specified label. This first + * tries to get it from the label object itself by calling + * {@link Component#getFontMetrics(Font)}, and if that does not work + * (for instance, when we are in the initialization and have no parent yet), + * it asks the Toolkit for a font metrics object. + * + * @param l the label + * + * @return a suitable font metrics object + */ + private FontMetrics getFontMetrics(JLabel l) + { + Font font = l.getFont(); + FontMetrics fm = l.getFontMetrics(font); + if (fm == null) + { + Toolkit tk = Toolkit.getDefaultToolkit(); + fm = tk.getFontMetrics(font); + } + return fm; + } } diff --git a/libjava/classpath/javax/swing/plaf/basic/BasicRadioButtonUI.java b/libjava/classpath/javax/swing/plaf/basic/BasicRadioButtonUI.java index bfb9e98..3cea0d9 100644 --- a/libjava/classpath/javax/swing/plaf/basic/BasicRadioButtonUI.java +++ b/libjava/classpath/javax/swing/plaf/basic/BasicRadioButtonUI.java @@ -149,57 +149,24 @@ public class BasicRadioButtonUI extends BasicToggleButtonUI g.setFont(f); - ButtonModel m = b.getModel(); - // This is the icon that we use for layout. Icon icon = b.getIcon(); if (icon == null) icon = getDefaultIcon(); + // Figure out the correct icon. + Icon currentIcon = getCurrentIcon(b); + // Do the layout. String text = SwingUtilities.layoutCompoundLabel(c, g.getFontMetrics(f), - b.getText(), icon, + b.getText(), currentIcon == null ? getDefaultIcon() : currentIcon, b.getVerticalAlignment(), b.getHorizontalAlignment(), b.getVerticalTextPosition(), b.getHorizontalTextPosition(), viewR, iconR, textR, b.getIconTextGap()); - // Figure out the correct icon. - icon = b.getIcon(); - if (icon == null) - icon = getDefaultIcon(); - else - { - if (! m.isEnabled()) - { - if (m.isSelected()) - icon = b.getDisabledSelectedIcon(); - else - icon = b.getDisabledIcon(); - } - else if (m.isArmed() && m.isPressed()) - { - icon = b.getPressedIcon(); - if (icon == null) - icon = b.getSelectedIcon(); - } - else if (m.isSelected()) - { - if (b.isRolloverEnabled() && m.isRollover()) - { - icon = b.getRolloverSelectedIcon(); - if (icon == null) - icon = b.getSelectedIcon(); - } - else - icon = b.getSelectedIcon(); - } - else if (b.isRolloverEnabled() && m.isRollover()) - icon = b.getRolloverIcon(); - if (icon == null) - icon = b.getIcon(); - } // .. and paint it. - icon.paintIcon(c, g, iconR.x, iconR.y); + if (currentIcon != null) + currentIcon.paintIcon(c, g, iconR.x, iconR.y); // Paint text and focus indicator. if (text != null) @@ -218,6 +185,58 @@ public class BasicRadioButtonUI extends BasicToggleButtonUI } } + /** + * Determines the icon to be displayed for the specified radio button. + * + * @param b the radio button + * + * @return the icon + */ + private Icon getCurrentIcon(AbstractButton b) + { + ButtonModel m = b.getModel(); + Icon currentIcon = b.getIcon(); + + if (currentIcon == null) + { + currentIcon = getDefaultIcon(); + } + else + { + if (! m.isEnabled()) + { + if (m.isSelected()) + currentIcon = b.getDisabledSelectedIcon(); + else + currentIcon = b.getDisabledIcon(); + } + else if (m.isPressed() && m.isArmed()) + { + currentIcon = b.getPressedIcon(); + if (currentIcon == null) + currentIcon = b.getSelectedIcon(); + } + else if (m.isSelected()) + { + if (b.isRolloverEnabled() && m.isRollover()) + { + currentIcon = b.getRolloverSelectedIcon(); + if (currentIcon == null) + currentIcon = b.getSelectedIcon(); + } + else + currentIcon = b.getSelectedIcon(); + } + else if (b.isRolloverEnabled() && m.isRollover()) + { + currentIcon = b.getRolloverIcon(); + } + if (currentIcon == null) + currentIcon = b.getIcon(); + } + return currentIcon; + } + public Dimension getPreferredSize(JComponent c) { // This is basically the same code as in diff --git a/libjava/classpath/javax/swing/plaf/basic/BasicTabbedPaneUI.java b/libjava/classpath/javax/swing/plaf/basic/BasicTabbedPaneUI.java index 0d1fa1e..fe36021 100644 --- a/libjava/classpath/javax/swing/plaf/basic/BasicTabbedPaneUI.java +++ b/libjava/classpath/javax/swing/plaf/basic/BasicTabbedPaneUI.java @@ -1364,7 +1364,7 @@ public class BasicTabbedPaneUI extends TabbedPaneUI implements SwingConstants calcRect.height -= tabAreaInsets.top + tabAreaInsets.bottom; int height = 0; - int runHeight = tabAreaInsets.top + insets.top;; + int runHeight = tabAreaInsets.top + insets.top; int fontHeight = fm.getHeight(); int left = insets.left + tabAreaInsets.left; for (int i = 0; i < tabCount; i++) diff --git a/libjava/classpath/javax/swing/plaf/basic/BasicTreeUI.java b/libjava/classpath/javax/swing/plaf/basic/BasicTreeUI.java index 5b0ffce..3952ea1 100644 --- a/libjava/classpath/javax/swing/plaf/basic/BasicTreeUI.java +++ b/libjava/classpath/javax/swing/plaf/basic/BasicTreeUI.java @@ -116,7 +116,7 @@ import javax.swing.tree.VariableHeightLayoutCache; * @author Audrius Meskauskas (audriusa@bioinformatics.org) */ public class BasicTreeUI - extends TreeUI + extends TreeUI { /** * The tree cell editing may be started by the single mouse click on the @@ -656,7 +656,18 @@ public class BasicTreeUI */ public Rectangle getPathBounds(JTree tree, TreePath path) { - return treeState.getBounds(path, new Rectangle()); + Rectangle bounds = null; + if (tree != null && treeState != null) + { + bounds = treeState.getBounds(path, null); + Insets i = tree.getInsets(); + if (bounds != null && i != null) + { + bounds.x += i.left; + bounds.y += i.top; + } + } + return bounds; } /** @@ -1561,7 +1572,6 @@ public class BasicTreeUI int startIndex = tree.getClosestRowForLocation(clip.x, clip.y); int endIndex = tree.getClosestRowForLocation(clip.x + clip.width, clip.y + clip.height); - // Also paint dashes to the invisible nodes below. // These should be painted first, otherwise they may cover // the control icons. diff --git a/libjava/classpath/javax/swing/plaf/metal/MetalButtonUI.java b/libjava/classpath/javax/swing/plaf/metal/MetalButtonUI.java index be96079..108b3b2 100644 --- a/libjava/classpath/javax/swing/plaf/metal/MetalButtonUI.java +++ b/libjava/classpath/javax/swing/plaf/metal/MetalButtonUI.java @@ -174,9 +174,8 @@ public class MetalButtonUI { if (b.isContentAreaFilled()) { - Rectangle area = b.getVisibleRect(); g.setColor(getSelectColor()); - g.fillRect(area.x, area.y, area.width, area.height); + g.fillRect(0, 0, b.getWidth(), b.getHeight()); } } diff --git a/libjava/classpath/javax/swing/plaf/metal/MetalComboBoxUI.java b/libjava/classpath/javax/swing/plaf/metal/MetalComboBoxUI.java index c24c085..53d49c3 100644 --- a/libjava/classpath/javax/swing/plaf/metal/MetalComboBoxUI.java +++ b/libjava/classpath/javax/swing/plaf/metal/MetalComboBoxUI.java @@ -48,7 +48,6 @@ import java.awt.event.MouseEvent; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; -import javax.swing.CellRendererPane; import javax.swing.ComboBoxEditor; import javax.swing.Icon; import javax.swing.JButton; @@ -217,7 +216,7 @@ public class MetalComboBoxUI extends BasicComboBoxUI */ protected ComboPopup createPopup() { - return new MetalComboPopup(comboBox); + return super.createPopup(); } /** @@ -228,7 +227,7 @@ public class MetalComboBoxUI extends BasicComboBoxUI protected JButton createArrowButton() { JButton button = new MetalComboBoxButton(comboBox, new MetalComboBoxIcon(), - new CellRendererPane(), listBox); + currentValuePane, listBox); button.setMargin(new Insets(0, 1, 1, 3)); return button; } @@ -305,7 +304,6 @@ public class MetalComboBoxUI extends BasicComboBoxUI { MetalComboBoxButton b = (MetalComboBoxButton) arrowButton; d = getDisplaySize(); - Insets insets = b.getInsets(); Insets arrowInsets = b.getInsets(); Insets comboInsets = comboBox.getInsets(); Icon icon = b.getComboIcon(); diff --git a/libjava/classpath/javax/swing/plaf/metal/MetalFileChooserUI.java b/libjava/classpath/javax/swing/plaf/metal/MetalFileChooserUI.java index 824f1d8..9bded82 100644 --- a/libjava/classpath/javax/swing/plaf/metal/MetalFileChooserUI.java +++ b/libjava/classpath/javax/swing/plaf/metal/MetalFileChooserUI.java @@ -56,9 +56,9 @@ import java.awt.event.MouseListener; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.io.File; -import java.sql.Date; import java.text.DateFormat; import java.text.NumberFormat; +import java.util.Date; import java.util.List; import javax.swing.AbstractAction; @@ -441,7 +441,7 @@ public class MetalFileChooserUI filechooser.revalidate(); filechooser.repaint(); } - }; + } /** * A combo box model containing the selected directory and all its parent diff --git a/libjava/classpath/javax/swing/plaf/metal/MetalLookAndFeel.java b/libjava/classpath/javax/swing/plaf/metal/MetalLookAndFeel.java index a9a6790..25c624b 100644 --- a/libjava/classpath/javax/swing/plaf/metal/MetalLookAndFeel.java +++ b/libjava/classpath/javax/swing/plaf/metal/MetalLookAndFeel.java @@ -75,9 +75,6 @@ public class MetalLookAndFeel extends BasicLookAndFeel /** The current theme. */ private static MetalTheme theme; - /** The look and feel defaults. */ - private UIDefaults LAF_defaults; - /** * Creates a new instance of the Metal look and feel. */ @@ -151,17 +148,10 @@ public class MetalLookAndFeel extends BasicLookAndFeel public UIDefaults getDefaults() { createDefaultTheme(); - if (LAF_defaults == null) - { - LAF_defaults = super.getDefaults(); + UIDefaults def = super.getDefaults(); - // add custom theme entries to the table - if (theme != null) - theme.addCustomEntriesToTable(LAF_defaults); - } - - // Returns the default values for this look and feel. - return LAF_defaults; + theme.addCustomEntriesToTable(def); + return def; } /** diff --git a/libjava/classpath/javax/swing/plaf/metal/MetalMenuBarUI.java b/libjava/classpath/javax/swing/plaf/metal/MetalMenuBarUI.java index 4066194..2cc52ed 100644 --- a/libjava/classpath/javax/swing/plaf/metal/MetalMenuBarUI.java +++ b/libjava/classpath/javax/swing/plaf/metal/MetalMenuBarUI.java @@ -82,7 +82,7 @@ public class MetalMenuBarUI extends BasicMenuBarUI && c.getBackground() instanceof UIResource && height > 2) { - MetalUtils.paintGradient(g, 0, 0, c.getWidth(), height - 2, + MetalUtils.paintGradient(g, 0, 0, c.getWidth(), height, SwingConstants.VERTICAL, "MenuBar.gradient"); paint(g, c); diff --git a/libjava/classpath/javax/swing/table/JTableHeader.java b/libjava/classpath/javax/swing/table/JTableHeader.java index 482317f..4661748 100644 --- a/libjava/classpath/javax/swing/table/JTableHeader.java +++ b/libjava/classpath/javax/swing/table/JTableHeader.java @@ -570,7 +570,7 @@ public class JTableHeader extends JComponent if (comp != null) comp.setVisible(b); } - }; + } public AccessibleRole getAccessibleRole() { diff --git a/libjava/classpath/javax/swing/text/AbstractDocument.java b/libjava/classpath/javax/swing/text/AbstractDocument.java index eead8de..72178f8 100644 --- a/libjava/classpath/javax/swing/text/AbstractDocument.java +++ b/libjava/classpath/javax/swing/text/AbstractDocument.java @@ -1,5 +1,5 @@ /* AbstractDocument.java -- - Copyright (C) 2002, 2004, 2005 Free Software Foundation, Inc. + Copyright (C) 2002, 2004, 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -2093,7 +2093,7 @@ public abstract class AbstractDocument implements Document, Serializable /** * The child elements of this BranchElement. */ - private Element[] children;; + private Element[] children; /** * The number of children in the branch element. @@ -2450,8 +2450,6 @@ public abstract class AbstractDocument implements Document, Serializable */ public boolean addEdit(UndoableEdit edit) { - // XXX - Fully qualify ElementChange to work around gcj bug #2499. - // Start using Hashtable when we pass a certain threshold. This // gives a good memory/performance compromise. if (changes == null && edits.size() > THRESHOLD) @@ -2461,19 +2459,17 @@ public abstract class AbstractDocument implements Document, Serializable for (int i = 0; i < count; i++) { Object o = edits.elementAt(i); - if (o instanceof DocumentEvent.ElementChange) + if (o instanceof ElementChange) { - DocumentEvent.ElementChange ec = - (DocumentEvent.ElementChange) o; + ElementChange ec = (ElementChange) o; changes.put(ec.getElement(), ec); } } } - if (changes != null && edit instanceof DocumentEvent.ElementChange) + if (changes != null && edit instanceof ElementChange) { - DocumentEvent.ElementChange elEdit = - (DocumentEvent.ElementChange) edit; + ElementChange elEdit = (ElementChange) edit; changes.put(elEdit.getElement(), elEdit); } return super.addEdit(edit); @@ -2527,13 +2523,12 @@ public abstract class AbstractDocument implements Document, Serializable * @return the changes for elem or null if * elem has not been changed */ - public DocumentEvent.ElementChange getChange(Element elem) + public ElementChange getChange(Element elem) { - // XXX - Fully qualify ElementChange to work around gcj bug #2499. - DocumentEvent.ElementChange change = null; + ElementChange change = null; if (changes != null) { - change = (DocumentEvent.ElementChange) changes.get(elem); + change = (ElementChange) changes.get(elem); } else { @@ -2541,10 +2536,9 @@ public abstract class AbstractDocument implements Document, Serializable for (int i = 0; i < count && change == null; i++) { Object o = edits.get(i); - if (o instanceof DocumentEvent.ElementChange) + if (o instanceof ElementChange) { - DocumentEvent.ElementChange ec = - (DocumentEvent.ElementChange) o; + ElementChange ec = (ElementChange) o; if (elem.equals(ec.getElement())) change = ec; } diff --git a/libjava/classpath/javax/swing/text/AsyncBoxView.java b/libjava/classpath/javax/swing/text/AsyncBoxView.java index 90447f8..327c2b8 100644 --- a/libjava/classpath/javax/swing/text/AsyncBoxView.java +++ b/libjava/classpath/javax/swing/text/AsyncBoxView.java @@ -307,7 +307,7 @@ public class AsyncBoxView private int updateChildOffsets(float targetOffset) { int n = getViewCount(); - int targetIndex = n - 1;; + int targetIndex = n - 1; int pos = lastValidOffset.getChildView().getStartOffset(); int startIndex = getViewIndexAtPosition(pos, Position.Bias.Forward); float start = lastValidOffset.getMajorOffset(); diff --git a/libjava/classpath/javax/swing/text/DefaultStyledDocument.java b/libjava/classpath/javax/swing/text/DefaultStyledDocument.java index 3156ca6..4ed8aa2 100644 --- a/libjava/classpath/javax/swing/text/DefaultStyledDocument.java +++ b/libjava/classpath/javax/swing/text/DefaultStyledDocument.java @@ -1126,7 +1126,9 @@ public class DefaultStyledDocument extends AbstractDocument implements int p; for (p = 0; p < data.length && data[p].getType() == ElementSpec.EndTagType; - p++); + p++) + ; + Edit edit = insertPath[insertPath.length - p - 1]; edit.index--; edit.removed.add(0, edit.e.getElement(edit.index)); diff --git a/libjava/classpath/javax/swing/text/FieldView.java b/libjava/classpath/javax/swing/text/FieldView.java index 0a078e5..e357a1e 100644 --- a/libjava/classpath/javax/swing/text/FieldView.java +++ b/libjava/classpath/javax/swing/text/FieldView.java @@ -91,7 +91,7 @@ public class FieldView extends PlainView horizontalVisibility.addChangeListener(new ChangeListener(){ public void stateChanged(ChangeEvent event) { getContainer().repaint(); - }; + } }); // It turned out that the span calculated at this point is wrong diff --git a/libjava/classpath/javax/swing/text/InternationalFormatter.java b/libjava/classpath/javax/swing/text/InternationalFormatter.java index d6f2359..1de5ca2 100644 --- a/libjava/classpath/javax/swing/text/InternationalFormatter.java +++ b/libjava/classpath/javax/swing/text/InternationalFormatter.java @@ -1,5 +1,5 @@ /* InternationalFormatter.java -- -Copyright (C) 2005 Free Software Foundation, Inc. +Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -329,7 +329,7 @@ public class InternationalFormatter * * @throws CloneNotSupportedException not thrown here, since cloning is * supported - * XXX - FIXME - Whole method disabled as workaround for gcj bug #22060. + */ public Object clone() throws CloneNotSupportedException { @@ -338,7 +338,6 @@ public class InternationalFormatter Object clone = super.clone(); return clone; } - */ /** * Returns the Actions that are supported by this Formatter. diff --git a/libjava/classpath/javax/swing/text/JTextComponent.java b/libjava/classpath/javax/swing/text/JTextComponent.java index 68ba1f4..8e70fe2 100644 --- a/libjava/classpath/javax/swing/text/JTextComponent.java +++ b/libjava/classpath/javax/swing/text/JTextComponent.java @@ -1821,7 +1821,7 @@ public abstract class JTextComponent extends JComponent public boolean getScrollableTracksViewportWidth() { - boolean res = false;; + boolean res = false; Container c = getParent(); if (c instanceof JViewport) res = ((JViewport) c).getExtentSize().width > getPreferredSize().width; diff --git a/libjava/classpath/javax/swing/text/html/CSSParser.java b/libjava/classpath/javax/swing/text/html/CSSParser.java index 0bf76eb..54a16bc 100644 --- a/libjava/classpath/javax/swing/text/html/CSSParser.java +++ b/libjava/classpath/javax/swing/text/html/CSSParser.java @@ -315,7 +315,8 @@ class CSSParser try { if (!parsingDeclaration) - while(getNextStatement()); + while(getNextStatement()) + ; else parseDeclarationBlock(); } @@ -565,4 +566,4 @@ class CSSParser } } - \ No newline at end of file + diff --git a/libjava/classpath/lib/Makefile.am b/libjava/classpath/lib/Makefile.am index 56b85ae..3f2de41 100644 --- a/libjava/classpath/lib/Makefile.am +++ b/libjava/classpath/lib/Makefile.am @@ -19,22 +19,18 @@ if FOUND_GCJ ## See the compile-classes target. ## There's no point in warning, and we always want debug info. ## GCJ LOCAL: use srcdir -JAVAC = $(GCJ) -C -g -w --encoding=UTF-8 -bootclasspath '' --classpath $(compile_classpath) -d $(srcdir) @classes +JCOMPILER = $(GCJ) -C -g -w --encoding=UTF-8 -bootclasspath '' --classpath $(compile_classpath) -d $(srcdir) @classes else if FOUND_JIKES -JAVAC = $(JIKES) $(JIKESWARNINGS) +F $(JIKESENCODING) -bootclasspath '' -extdirs '' -sourcepath '' --classpath $(compile_classpath) -d . @classes +JCOMPILER = $(JIKES) $(JIKESWARNINGS) +F $(JIKESENCODING) -bootclasspath '' -extdirs '' -sourcepath '' --classpath $(compile_classpath) -d . @classes else if FOUND_KJC ## FIXME: from what I can tell, kjc does not support a -encoding option. -JAVAC = $(KJC) -classpath .:$(USER_CLASSLIB) -d . @classes -else -if FOUND_GCJX -JAVAC = $(GCJX) -g -encoding UTF-8 -classpath .:$(USER_CLASSLIB) -d . @classes +JCOMPILER = $(KJC) -classpath .:$(USER_CLASSLIB) -d . @classes else if FOUND_ECJ -JAVAC = $(ECJ) -source 1.4 -encoding UTF-8 -warn:-deprecation,serial,unused -proceedOnError -bootclasspath '' -classpath $(compile_classpath) -d . @classes +JCOMPILER = $(ECJ) -source 1.4 -encoding UTF-8 -warn:-deprecation,serial,unused -proceedOnError -bootclasspath '' -classpath $(compile_classpath) -d . @classes endif # FOUND_ECJ -endif # FOUND_GCJX endif # FOUND_KJC endif # FOUND_GCJ endif # FOUND_JIKES @@ -46,7 +42,7 @@ COLLECTIONS = collections.jar collections.jar: mkcollections.pl ./mkcollections.pl $(top_srcdir) - $(JAVAC) `$(FIND) $(COLLECTIONS_PREFIX) -name '*.java' -type f -print` + $(JCOMPILER) `$(FIND) $(COLLECTIONS_PREFIX) -name '*.java' -type f -print` if test "$(FASTJAR)" != ""; then \ $(FASTJAR) cf $@ $(COLLECTIONS_PREFIX); \ else \ @@ -155,7 +151,7 @@ $(JAVA_DEPEND): genclasses # if FOUND_GCJ # ## When building with gcj, we do a recursive make. We split this rule -# ## out specially, rather than simply defining JAVAC, so that GNU make +# ## out specially, rather than simply defining JCOMPILER, so that GNU make # ## will see the recursive make invocation and still allow parallel # ## builds. # compile-classes: classes $(JAVA_SRCS) Makefile @@ -167,7 +163,7 @@ $(JAVA_DEPEND): genclasses # else compile-classes: classes $(JAVA_SRCS) Makefile if JAVA_MAINTAINER_MODE - $(JAVAC) + $(JCOMPILER) endif touch compile-classes # endif diff --git a/libjava/classpath/lib/Makefile.in b/libjava/classpath/lib/Makefile.in index a895e6a..eef968c 100644 --- a/libjava/classpath/lib/Makefile.in +++ b/libjava/classpath/lib/Makefile.in @@ -46,16 +46,21 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ - $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ - $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ + $(top_srcdir)/../../libtool.m4 \ + $(top_srcdir)/../../ltoptions.m4 \ + $(top_srcdir)/../../ltsugar.m4 \ + $(top_srcdir)/../../ltversion.m4 \ + $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \ + $(top_srcdir)/m4/acinclude.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/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 +mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs CONFIG_HEADER = $(top_builddir)/include/config.h CONFIG_CLEAN_FILES = mkcollections.pl gen-classlist.sh \ copy-vmresources.sh @@ -67,12 +72,15 @@ ACLOCAL = @ACLOCAL@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ +AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@ BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -118,6 +126,7 @@ DATE = @DATE@ DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ @@ -130,15 +139,16 @@ ERROR_CFLAGS = @ERROR_CFLAGS@ EXAMPLESDIR = @EXAMPLESDIR@ EXEEXT = @EXEEXT@ FASTJAR = @FASTJAR@ +FGREP = @FGREP@ FIND = @FIND@ FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@ FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@ FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@ FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@ -FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@ -FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@ FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@ FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@ +FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@ +FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@ FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@ FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@ FOUND_KJC_FALSE = @FOUND_KJC_FALSE@ @@ -146,7 +156,6 @@ FOUND_KJC_TRUE = @FOUND_KJC_TRUE@ FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@ FREETYPE2_LIBS = @FREETYPE2_LIBS@ GCJ = @GCJ@ -GCJX = @GCJX@ GCONF_CFLAGS = @GCONF_CFLAGS@ GCONF_LIBS = @GCONF_LIBS@ GDK_CFLAGS = @GDK_CFLAGS@ @@ -156,6 +165,7 @@ GENINSRC_TRUE = @GENINSRC_TRUE@ GJDOC = @GJDOC@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ +GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@ @@ -167,6 +177,7 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +JAVAC = @JAVAC@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ @@ -176,6 +187,7 @@ JIKES = @JIKES@ JIKESENCODING = @JIKESENCODING@ JIKESWARNINGS = @JIKESWARNINGS@ KJC = @KJC@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBDEBUG = @LIBDEBUG@ LIBICONV = @LIBICONV@ @@ -195,6 +207,7 @@ MKDIR = @MKDIR@ MOC = @MOC@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ +NM = @NM@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ @@ -216,6 +229,7 @@ RANLIB = @RANLIB@ REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@ REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@ REMOVE = @REMOVE@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@ @@ -243,8 +257,10 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ X_PRE_LIBS = @X_PRE_LIBS@ ZIP = @ZIP@ +ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_STRIP = @ac_ct_STRIP@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ @@ -277,6 +293,7 @@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ multi_basedir = @multi_basedir@ @@ -300,13 +317,12 @@ cssfiles := $(shell cd $(top_srcdir) && $(FIND) gnu java javax org -name \*\.css metafiles := $(shell cd $(top_srcdir)/resource && $(FIND) META-INF -name CVS -prune -o -name \*\.in -prune -o -type f -print | fgrep -v .svn) iconfiles := $(shell cd $(top_srcdir) && $(FIND) gnu/javax/swing/plaf/gtk/icons -name *.png -type f -print) compile_classpath = $(vm_classes):$(top_srcdir):$(top_srcdir)/external/w3c_dom:$(top_srcdir)/external/sax:$(top_srcdir)/external/relaxngDatatype:$(top_srcdir)/external/jsr166:.:$(USER_CLASSLIB):$(PATH_TO_ESCHER) -@FOUND_ECJ_TRUE@@FOUND_GCJX_FALSE@@FOUND_GCJ_FALSE@@FOUND_JIKES_FALSE@@FOUND_KJC_FALSE@JAVAC = $(ECJ) -source 1.4 -encoding UTF-8 -warn:-deprecation,serial,unused -proceedOnError -bootclasspath '' -classpath $(compile_classpath) -d . @classes -@FOUND_GCJX_TRUE@@FOUND_GCJ_FALSE@@FOUND_JIKES_FALSE@@FOUND_KJC_FALSE@JAVAC = $(GCJX) -g -encoding UTF-8 -classpath .:$(USER_CLASSLIB) -d . @classes -@FOUND_GCJ_FALSE@@FOUND_JIKES_FALSE@@FOUND_KJC_TRUE@JAVAC = $(KJC) -classpath .:$(USER_CLASSLIB) -d . @classes -@FOUND_GCJ_FALSE@@FOUND_JIKES_TRUE@JAVAC = $(JIKES) $(JIKESWARNINGS) +F $(JIKESENCODING) -bootclasspath '' -extdirs '' -sourcepath '' --classpath $(compile_classpath) -d . @classes +@FOUND_ECJ_TRUE@@FOUND_GCJ_FALSE@@FOUND_JIKES_FALSE@@FOUND_KJC_FALSE@JCOMPILER = $(ECJ) -source 1.4 -encoding UTF-8 -warn:-deprecation,serial,unused -proceedOnError -bootclasspath '' -classpath $(compile_classpath) -d . @classes +@FOUND_GCJ_FALSE@@FOUND_JIKES_FALSE@@FOUND_KJC_TRUE@JCOMPILER = $(KJC) -classpath .:$(USER_CLASSLIB) -d . @classes +@FOUND_GCJ_FALSE@@FOUND_JIKES_TRUE@JCOMPILER = $(JIKES) $(JIKESWARNINGS) +F $(JIKESENCODING) -bootclasspath '' -extdirs '' -sourcepath '' --classpath $(compile_classpath) -d . @classes # handling source to bytecode compiler programs like gcj, jikes and kjc -@FOUND_GCJ_TRUE@JAVAC = $(GCJ) -C -g -w --encoding=UTF-8 -bootclasspath '' --classpath $(compile_classpath) -d $(srcdir) @classes +@FOUND_GCJ_TRUE@JCOMPILER = $(GCJ) -C -g -w --encoding=UTF-8 -bootclasspath '' --classpath $(compile_classpath) -d $(srcdir) @classes JAVAH = $(USER_JAVAH) -jni -classpath .:$(USER_CLASSLIB) @CREATE_COLLECTIONS_TRUE@COLLECTIONS = collections.jar @BUILD_CLASS_FILES_TRUE@noinst_DATA = genclasses compile-classes resources @@ -497,7 +513,7 @@ sinclude $(JAVA_DEPEND) @CREATE_COLLECTIONS_TRUE@collections.jar: mkcollections.pl @CREATE_COLLECTIONS_TRUE@ ./mkcollections.pl $(top_srcdir) -@CREATE_COLLECTIONS_TRUE@ $(JAVAC) `$(FIND) $(COLLECTIONS_PREFIX) -name '*.java' -type f -print` +@CREATE_COLLECTIONS_TRUE@ $(JCOMPILER) `$(FIND) $(COLLECTIONS_PREFIX) -name '*.java' -type f -print` @CREATE_COLLECTIONS_TRUE@ if test "$(FASTJAR)" != ""; then \ @CREATE_COLLECTIONS_TRUE@ $(FASTJAR) cf $@ $(COLLECTIONS_PREFIX); \ @CREATE_COLLECTIONS_TRUE@ else \ @@ -579,7 +595,7 @@ $(JAVA_DEPEND): genclasses # if FOUND_GCJ # ## When building with gcj, we do a recursive make. We split this rule -# ## out specially, rather than simply defining JAVAC, so that GNU make +# ## out specially, rather than simply defining JCOMPILER, so that GNU make # ## will see the recursive make invocation and still allow parallel # ## builds. # compile-classes: classes $(JAVA_SRCS) Makefile @@ -590,7 +606,7 @@ $(JAVA_DEPEND): genclasses # touch compile-classes # else compile-classes: classes $(JAVA_SRCS) Makefile -@JAVA_MAINTAINER_MODE_TRUE@ $(JAVAC) +@JAVA_MAINTAINER_MODE_TRUE@ $(JCOMPILER) touch compile-classes clean-local: diff --git a/libjava/classpath/lib/gnu/CORBA/CDR/gnuRuntime$1.class b/libjava/classpath/lib/gnu/CORBA/CDR/gnuRuntime$1.class index 5df83dc..93acd14 100644 Binary files a/libjava/classpath/lib/gnu/CORBA/CDR/gnuRuntime$1.class and b/libjava/classpath/lib/gnu/CORBA/CDR/gnuRuntime$1.class differ diff --git a/libjava/classpath/lib/gnu/CORBA/CDR/gnuRuntime$Redirection.class b/libjava/classpath/lib/gnu/CORBA/CDR/gnuRuntime$Redirection.class index c449d00..f8364f4 100644 Binary files a/libjava/classpath/lib/gnu/CORBA/CDR/gnuRuntime$Redirection.class and b/libjava/classpath/lib/gnu/CORBA/CDR/gnuRuntime$Redirection.class differ diff --git a/libjava/classpath/lib/gnu/CORBA/CDR/gnuRuntime.class b/libjava/classpath/lib/gnu/CORBA/CDR/gnuRuntime.class index 3744aa0..a985b18 100644 Binary files a/libjava/classpath/lib/gnu/CORBA/CDR/gnuRuntime.class and b/libjava/classpath/lib/gnu/CORBA/CDR/gnuRuntime.class differ diff --git a/libjava/classpath/lib/gnu/CORBA/CollocatedOrbs.class b/libjava/classpath/lib/gnu/CORBA/CollocatedOrbs.class index 87c0b3f..ede296b 100644 Binary files a/libjava/classpath/lib/gnu/CORBA/CollocatedOrbs.class and b/libjava/classpath/lib/gnu/CORBA/CollocatedOrbs.class differ diff --git a/libjava/classpath/lib/gnu/CORBA/Connected_objects.class b/libjava/classpath/lib/gnu/CORBA/Connected_objects.class index 4cbca85..f80ac15 100644 Binary files a/libjava/classpath/lib/gnu/CORBA/Connected_objects.class and b/libjava/classpath/lib/gnu/CORBA/Connected_objects.class differ diff --git a/libjava/classpath/lib/gnu/CORBA/DynAn/gnuDynValue.class b/libjava/classpath/lib/gnu/CORBA/DynAn/gnuDynValue.class index 7389fb9..ef735de 100644 Binary files a/libjava/classpath/lib/gnu/CORBA/DynAn/gnuDynValue.class and b/libjava/classpath/lib/gnu/CORBA/DynAn/gnuDynValue.class differ diff --git a/libjava/classpath/lib/gnu/CORBA/GIOP/CodeSetServiceContext.class b/libjava/classpath/lib/gnu/CORBA/GIOP/CodeSetServiceContext.class index b78c989..88201b7 100644 Binary files a/libjava/classpath/lib/gnu/CORBA/GIOP/CodeSetServiceContext.class and b/libjava/classpath/lib/gnu/CORBA/GIOP/CodeSetServiceContext.class differ diff --git a/libjava/classpath/lib/gnu/CORBA/GIOP/ErrorMessage.class b/libjava/classpath/lib/gnu/CORBA/GIOP/ErrorMessage.class index a30c1d8..785d6b2 100644 Binary files a/libjava/classpath/lib/gnu/CORBA/GIOP/ErrorMessage.class and b/libjava/classpath/lib/gnu/CORBA/GIOP/ErrorMessage.class differ diff --git a/libjava/classpath/lib/gnu/CORBA/HolderLocator.class b/libjava/classpath/lib/gnu/CORBA/HolderLocator.class index b9a3bc1..c698343 100644 Binary files a/libjava/classpath/lib/gnu/CORBA/HolderLocator.class and b/libjava/classpath/lib/gnu/CORBA/HolderLocator.class differ diff --git a/libjava/classpath/lib/gnu/CORBA/IOR$Internet_profile.class b/libjava/classpath/lib/gnu/CORBA/IOR$Internet_profile.class index d3fdd4a..ce08388 100644 Binary files a/libjava/classpath/lib/gnu/CORBA/IOR$Internet_profile.class and b/libjava/classpath/lib/gnu/CORBA/IOR$Internet_profile.class differ diff --git a/libjava/classpath/lib/gnu/CORBA/IOR.class b/libjava/classpath/lib/gnu/CORBA/IOR.class index b67542d..3f1774a 100644 Binary files a/libjava/classpath/lib/gnu/CORBA/IOR.class and b/libjava/classpath/lib/gnu/CORBA/IOR.class differ diff --git a/libjava/classpath/lib/gnu/CORBA/Interceptor/gnuIcCurrent.class b/libjava/classpath/lib/gnu/CORBA/Interceptor/gnuIcCurrent.class index e7664a3..2f8fa10 100644 Binary files a/libjava/classpath/lib/gnu/CORBA/Interceptor/gnuIcCurrent.class and b/libjava/classpath/lib/gnu/CORBA/Interceptor/gnuIcCurrent.class differ diff --git a/libjava/classpath/lib/gnu/CORBA/NamingService/NameParser.class b/libjava/classpath/lib/gnu/CORBA/NamingService/NameParser.class index 0cf077e..d778d55 100644 Binary files a/libjava/classpath/lib/gnu/CORBA/NamingService/NameParser.class and b/libjava/classpath/lib/gnu/CORBA/NamingService/NameParser.class differ diff --git a/libjava/classpath/lib/gnu/CORBA/NamingService/NamingMap.class b/libjava/classpath/lib/gnu/CORBA/NamingService/NamingMap.class index d82940a..0487d41 100644 Binary files a/libjava/classpath/lib/gnu/CORBA/NamingService/NamingMap.class and b/libjava/classpath/lib/gnu/CORBA/NamingService/NamingMap.class differ diff --git a/libjava/classpath/lib/gnu/CORBA/NamingService/NamingServiceTransient$1.class b/libjava/classpath/lib/gnu/CORBA/NamingService/NamingServiceTransient$1.class index 4694671..a896451 100644 Binary files a/libjava/classpath/lib/gnu/CORBA/NamingService/NamingServiceTransient$1.class and b/libjava/classpath/lib/gnu/CORBA/NamingService/NamingServiceTransient$1.class differ diff --git a/libjava/classpath/lib/gnu/CORBA/NamingService/NamingServiceTransient.class b/libjava/classpath/lib/gnu/CORBA/NamingService/NamingServiceTransient.class index 4037d10..60bff0a 100644 Binary files a/libjava/classpath/lib/gnu/CORBA/NamingService/NamingServiceTransient.class and b/libjava/classpath/lib/gnu/CORBA/NamingService/NamingServiceTransient.class differ diff --git a/libjava/classpath/lib/gnu/CORBA/NamingService/TransientContext.class b/libjava/classpath/lib/gnu/CORBA/NamingService/TransientContext.class index 1495c4a..eb47098 100644 Binary files a/libjava/classpath/lib/gnu/CORBA/NamingService/TransientContext.class and b/libjava/classpath/lib/gnu/CORBA/NamingService/TransientContext.class differ diff --git a/libjava/classpath/lib/gnu/CORBA/ObjectCreator.class b/libjava/classpath/lib/gnu/CORBA/ObjectCreator.class index 4e97ba9..173da28 100644 Binary files a/libjava/classpath/lib/gnu/CORBA/ObjectCreator.class and b/libjava/classpath/lib/gnu/CORBA/ObjectCreator.class differ diff --git a/libjava/classpath/lib/gnu/CORBA/OrbFocused.class b/libjava/classpath/lib/gnu/CORBA/OrbFocused.class index 153005b..57638d8 100644 Binary files a/libjava/classpath/lib/gnu/CORBA/OrbFocused.class and b/libjava/classpath/lib/gnu/CORBA/OrbFocused.class differ diff --git a/libjava/classpath/lib/gnu/CORBA/OrbFunctional$1.class b/libjava/classpath/lib/gnu/CORBA/OrbFunctional$1.class index 2b33d36..e72dc11 100644 Binary files a/libjava/classpath/lib/gnu/CORBA/OrbFunctional$1.class and b/libjava/classpath/lib/gnu/CORBA/OrbFunctional$1.class differ diff --git a/libjava/classpath/lib/gnu/CORBA/OrbFunctional$2.class b/libjava/classpath/lib/gnu/CORBA/OrbFunctional$2.class index bfe897d..6a3955a 100644 Binary files a/libjava/classpath/lib/gnu/CORBA/OrbFunctional$2.class and b/libjava/classpath/lib/gnu/CORBA/OrbFunctional$2.class differ diff --git a/libjava/classpath/lib/gnu/CORBA/OrbFunctional$sharedPortServer.class b/libjava/classpath/lib/gnu/CORBA/OrbFunctional$sharedPortServer.class index 73f76bd..0771771 100644 Binary files a/libjava/classpath/lib/gnu/CORBA/OrbFunctional$sharedPortServer.class and b/libjava/classpath/lib/gnu/CORBA/OrbFunctional$sharedPortServer.class differ diff --git a/libjava/classpath/lib/gnu/CORBA/OrbFunctional.class b/libjava/classpath/lib/gnu/CORBA/OrbFunctional.class index ce4038d..3a723da 100644 Binary files a/libjava/classpath/lib/gnu/CORBA/OrbFunctional.class and b/libjava/classpath/lib/gnu/CORBA/OrbFunctional.class differ diff --git a/libjava/classpath/lib/gnu/CORBA/OrbRestricted.class b/libjava/classpath/lib/gnu/CORBA/OrbRestricted.class index 0b91fe4d..b8b674a 100644 Binary files a/libjava/classpath/lib/gnu/CORBA/OrbRestricted.class and b/libjava/classpath/lib/gnu/CORBA/OrbRestricted.class differ diff --git a/libjava/classpath/lib/gnu/CORBA/Poa/AOM.class b/libjava/classpath/lib/gnu/CORBA/Poa/AOM.class index c361b7d..6da90a0 100644 Binary files a/libjava/classpath/lib/gnu/CORBA/Poa/AOM.class and b/libjava/classpath/lib/gnu/CORBA/Poa/AOM.class differ diff --git a/libjava/classpath/lib/gnu/CORBA/Poa/ForwardedServant.class b/libjava/classpath/lib/gnu/CORBA/Poa/ForwardedServant.class index c1a6154..774b199 100644 Binary files a/libjava/classpath/lib/gnu/CORBA/Poa/ForwardedServant.class and b/libjava/classpath/lib/gnu/CORBA/Poa/ForwardedServant.class differ diff --git a/libjava/classpath/lib/gnu/CORBA/Poa/LocalDelegate.class b/libjava/classpath/lib/gnu/CORBA/Poa/LocalDelegate.class index 23b1889..d52d701 100644 Binary files a/libjava/classpath/lib/gnu/CORBA/Poa/LocalDelegate.class and b/libjava/classpath/lib/gnu/CORBA/Poa/LocalDelegate.class differ diff --git a/libjava/classpath/lib/gnu/CORBA/Poa/LocalRequest.class b/libjava/classpath/lib/gnu/CORBA/Poa/LocalRequest.class index 5c46cd7..b7e86dd 100644 Binary files a/libjava/classpath/lib/gnu/CORBA/Poa/LocalRequest.class and b/libjava/classpath/lib/gnu/CORBA/Poa/LocalRequest.class differ diff --git a/libjava/classpath/lib/gnu/CORBA/Poa/ORB_1_4.class b/libjava/classpath/lib/gnu/CORBA/Poa/ORB_1_4.class index 380a391..be45550 100644 Binary files a/libjava/classpath/lib/gnu/CORBA/Poa/ORB_1_4.class and b/libjava/classpath/lib/gnu/CORBA/Poa/ORB_1_4.class differ diff --git a/libjava/classpath/lib/gnu/CORBA/Poa/ServantDelegateImpl.class b/libjava/classpath/lib/gnu/CORBA/Poa/ServantDelegateImpl.class index 0f99e14..7df69de 100644 Binary files a/libjava/classpath/lib/gnu/CORBA/Poa/ServantDelegateImpl.class and b/libjava/classpath/lib/gnu/CORBA/Poa/ServantDelegateImpl.class differ diff --git a/libjava/classpath/lib/gnu/CORBA/Poa/gnuPOA.class b/libjava/classpath/lib/gnu/CORBA/Poa/gnuPOA.class index 9a94dd3..997b427 100644 Binary files a/libjava/classpath/lib/gnu/CORBA/Poa/gnuPOA.class and b/libjava/classpath/lib/gnu/CORBA/Poa/gnuPOA.class differ diff --git a/libjava/classpath/lib/gnu/CORBA/Poa/gnuPoaCurrent.class b/libjava/classpath/lib/gnu/CORBA/Poa/gnuPoaCurrent.class index 8de62d0..3c68077 100644 Binary files a/libjava/classpath/lib/gnu/CORBA/Poa/gnuPoaCurrent.class and b/libjava/classpath/lib/gnu/CORBA/Poa/gnuPoaCurrent.class differ diff --git a/libjava/classpath/lib/gnu/CORBA/Poa/gnuServantObject.class b/libjava/classpath/lib/gnu/CORBA/Poa/gnuServantObject.class index 56b89a3..7274a87 100644 Binary files a/libjava/classpath/lib/gnu/CORBA/Poa/gnuServantObject.class and b/libjava/classpath/lib/gnu/CORBA/Poa/gnuServantObject.class differ diff --git a/libjava/classpath/lib/gnu/CORBA/SocketRepository.class b/libjava/classpath/lib/gnu/CORBA/SocketRepository.class index 81448b3..0abfa0d 100644 Binary files a/libjava/classpath/lib/gnu/CORBA/SocketRepository.class and b/libjava/classpath/lib/gnu/CORBA/SocketRepository.class differ diff --git a/libjava/classpath/lib/gnu/CORBA/TypeCodeHelper.class b/libjava/classpath/lib/gnu/CORBA/TypeCodeHelper.class index 091f541..64aaa07 100644 Binary files a/libjava/classpath/lib/gnu/CORBA/TypeCodeHelper.class and b/libjava/classpath/lib/gnu/CORBA/TypeCodeHelper.class differ diff --git a/libjava/classpath/lib/gnu/CORBA/gnuRequest$1.class b/libjava/classpath/lib/gnu/CORBA/gnuRequest$1.class index 59c9298..24fd691 100644 Binary files a/libjava/classpath/lib/gnu/CORBA/gnuRequest$1.class and b/libjava/classpath/lib/gnu/CORBA/gnuRequest$1.class differ diff --git a/libjava/classpath/lib/gnu/CORBA/gnuRequest$2.class b/libjava/classpath/lib/gnu/CORBA/gnuRequest$2.class index 81feb54..c40b180 100644 Binary files a/libjava/classpath/lib/gnu/CORBA/gnuRequest$2.class and b/libjava/classpath/lib/gnu/CORBA/gnuRequest$2.class differ diff --git a/libjava/classpath/lib/gnu/CORBA/gnuRequest.class b/libjava/classpath/lib/gnu/CORBA/gnuRequest.class index c192425..3333011 100644 Binary files a/libjava/classpath/lib/gnu/CORBA/gnuRequest.class and b/libjava/classpath/lib/gnu/CORBA/gnuRequest.class differ diff --git a/libjava/classpath/lib/gnu/awt/j2d/Graphics2DImpl.class b/libjava/classpath/lib/gnu/awt/j2d/Graphics2DImpl.class index 1e5afad..62e023c 100644 Binary files a/libjava/classpath/lib/gnu/awt/j2d/Graphics2DImpl.class and b/libjava/classpath/lib/gnu/awt/j2d/Graphics2DImpl.class differ diff --git a/libjava/classpath/lib/gnu/awt/xlib/XCanvasPeer.class b/libjava/classpath/lib/gnu/awt/xlib/XCanvasPeer.class index 33f2a59..5bd9bfd 100644 Binary files a/libjava/classpath/lib/gnu/awt/xlib/XCanvasPeer.class and b/libjava/classpath/lib/gnu/awt/xlib/XCanvasPeer.class differ diff --git a/libjava/classpath/lib/gnu/awt/xlib/XEventLoop.class b/libjava/classpath/lib/gnu/awt/xlib/XEventLoop.class index 08f76c6..97ade59 100644 Binary files a/libjava/classpath/lib/gnu/awt/xlib/XEventLoop.class and b/libjava/classpath/lib/gnu/awt/xlib/XEventLoop.class differ diff --git a/libjava/classpath/lib/gnu/awt/xlib/XOffScreenImage.class b/libjava/classpath/lib/gnu/awt/xlib/XOffScreenImage.class index 5b72ee1..22f627f 100644 Binary files a/libjava/classpath/lib/gnu/awt/xlib/XOffScreenImage.class and b/libjava/classpath/lib/gnu/awt/xlib/XOffScreenImage.class differ diff --git a/libjava/classpath/lib/gnu/classpath/Configuration.class b/libjava/classpath/lib/gnu/classpath/Configuration.class index b71a43a..752cc06 100644 Binary files a/libjava/classpath/lib/gnu/classpath/Configuration.class and b/libjava/classpath/lib/gnu/classpath/Configuration.class differ diff --git a/libjava/classpath/lib/gnu/classpath/Pair.class b/libjava/classpath/lib/gnu/classpath/Pair.class new file mode 100644 index 0000000..ff6d5da Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/Pair.class differ diff --git a/libjava/classpath/lib/gnu/classpath/ServiceFactory$ServiceIterator.class b/libjava/classpath/lib/gnu/classpath/ServiceFactory$ServiceIterator.class index cd38e30..01dff2d 100644 Binary files a/libjava/classpath/lib/gnu/classpath/ServiceFactory$ServiceIterator.class and b/libjava/classpath/lib/gnu/classpath/ServiceFactory$ServiceIterator.class differ diff --git a/libjava/classpath/lib/gnu/classpath/ServiceFactory.class b/libjava/classpath/lib/gnu/classpath/ServiceFactory.class index ea98d90..96ba626 100644 Binary files a/libjava/classpath/lib/gnu/classpath/ServiceFactory.class and b/libjava/classpath/lib/gnu/classpath/ServiceFactory.class differ diff --git a/libjava/classpath/lib/gnu/classpath/SystemProperties.class b/libjava/classpath/lib/gnu/classpath/SystemProperties.class index 4ed22f8..773ebac 100644 Binary files a/libjava/classpath/lib/gnu/classpath/SystemProperties.class and b/libjava/classpath/lib/gnu/classpath/SystemProperties.class differ diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/Jdwp$1.class b/libjava/classpath/lib/gnu/classpath/jdwp/Jdwp$1.class index 8cca330..e5196f9 100644 Binary files a/libjava/classpath/lib/gnu/classpath/jdwp/Jdwp$1.class and b/libjava/classpath/lib/gnu/classpath/jdwp/Jdwp$1.class differ diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/Jdwp.class b/libjava/classpath/lib/gnu/classpath/jdwp/Jdwp.class index b0f3dc2..f78b222 100644 Binary files a/libjava/classpath/lib/gnu/classpath/jdwp/Jdwp.class and b/libjava/classpath/lib/gnu/classpath/jdwp/Jdwp.class differ diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet.class b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet.class index a6228af..0e7c1e7 100644 Binary files a/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet.class and b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet.class differ diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants.class b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants.class index 6659ab9..f52c7d2 100644 Binary files a/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants.class and b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants.class differ diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/VMIdManager$IdFactory.class b/libjava/classpath/lib/gnu/classpath/jdwp/VMIdManager$IdFactory.class index 836eecd..5ad09c1 100644 Binary files a/libjava/classpath/lib/gnu/classpath/jdwp/VMIdManager$IdFactory.class and b/libjava/classpath/lib/gnu/classpath/jdwp/VMIdManager$IdFactory.class differ diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/event/EventManager.class b/libjava/classpath/lib/gnu/classpath/jdwp/event/EventManager.class index df7926f..f1be87d 100644 Binary files a/libjava/classpath/lib/gnu/classpath/jdwp/event/EventManager.class and b/libjava/classpath/lib/gnu/classpath/jdwp/event/EventManager.class differ diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/id/ClassObjectId.class b/libjava/classpath/lib/gnu/classpath/jdwp/id/ClassObjectId.class index 9170621..998a7e1 100644 Binary files a/libjava/classpath/lib/gnu/classpath/jdwp/id/ClassObjectId.class and b/libjava/classpath/lib/gnu/classpath/jdwp/id/ClassObjectId.class differ diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/id/ReferenceTypeId.class b/libjava/classpath/lib/gnu/classpath/jdwp/id/ReferenceTypeId.class index 65ee9ea..82d6e7a 100644 Binary files a/libjava/classpath/lib/gnu/classpath/jdwp/id/ReferenceTypeId.class and b/libjava/classpath/lib/gnu/classpath/jdwp/id/ReferenceTypeId.class differ diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/processor/ClassLoaderReferenceCommandSet.class b/libjava/classpath/lib/gnu/classpath/jdwp/processor/ClassLoaderReferenceCommandSet.class index 9902c52..b1ca793 100644 Binary files a/libjava/classpath/lib/gnu/classpath/jdwp/processor/ClassLoaderReferenceCommandSet.class and b/libjava/classpath/lib/gnu/classpath/jdwp/processor/ClassLoaderReferenceCommandSet.class differ diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/processor/VirtualMachineCommandSet.class b/libjava/classpath/lib/gnu/classpath/jdwp/processor/VirtualMachineCommandSet.class index eadc685..287db6b 100644 Binary files a/libjava/classpath/lib/gnu/classpath/jdwp/processor/VirtualMachineCommandSet.class and b/libjava/classpath/lib/gnu/classpath/jdwp/processor/VirtualMachineCommandSet.class differ diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/util/Value.class b/libjava/classpath/lib/gnu/classpath/jdwp/util/Value.class deleted file mode 100644 index 20293c1..0000000 Binary files a/libjava/classpath/lib/gnu/classpath/jdwp/util/Value.class and /dev/null differ diff --git a/libjava/classpath/lib/gnu/gcj/runtime/BootClassLoader.class b/libjava/classpath/lib/gnu/gcj/runtime/BootClassLoader.class index 717fb73..92aa7fa 100644 Binary files a/libjava/classpath/lib/gnu/gcj/runtime/BootClassLoader.class and b/libjava/classpath/lib/gnu/gcj/runtime/BootClassLoader.class differ diff --git a/libjava/classpath/lib/gnu/gcj/runtime/HelperClassLoader$1.class b/libjava/classpath/lib/gnu/gcj/runtime/HelperClassLoader$1.class index 0503a71..deb9d21 100644 Binary files a/libjava/classpath/lib/gnu/gcj/runtime/HelperClassLoader$1.class and b/libjava/classpath/lib/gnu/gcj/runtime/HelperClassLoader$1.class differ diff --git a/libjava/classpath/lib/gnu/gcj/runtime/HelperClassLoader.class b/libjava/classpath/lib/gnu/gcj/runtime/HelperClassLoader.class index 4aac103..e5768e2 100644 Binary files a/libjava/classpath/lib/gnu/gcj/runtime/HelperClassLoader.class and b/libjava/classpath/lib/gnu/gcj/runtime/HelperClassLoader.class differ diff --git a/libjava/classpath/lib/gnu/gcj/runtime/PersistentByteMap$AccessMode.class b/libjava/classpath/lib/gnu/gcj/runtime/PersistentByteMap$AccessMode.class index e5f77e9..17baff6 100644 Binary files a/libjava/classpath/lib/gnu/gcj/runtime/PersistentByteMap$AccessMode.class and b/libjava/classpath/lib/gnu/gcj/runtime/PersistentByteMap$AccessMode.class differ diff --git a/libjava/classpath/lib/gnu/gcj/runtime/PersistentByteMap$HashIterator.class b/libjava/classpath/lib/gnu/gcj/runtime/PersistentByteMap$HashIterator.class index d6a39d0..52b27c1 100644 Binary files a/libjava/classpath/lib/gnu/gcj/runtime/PersistentByteMap$HashIterator.class and b/libjava/classpath/lib/gnu/gcj/runtime/PersistentByteMap$HashIterator.class differ diff --git a/libjava/classpath/lib/gnu/gcj/runtime/PersistentByteMap.class b/libjava/classpath/lib/gnu/gcj/runtime/PersistentByteMap.class index ff84e01..ee2913e 100644 Binary files a/libjava/classpath/lib/gnu/gcj/runtime/PersistentByteMap.class and b/libjava/classpath/lib/gnu/gcj/runtime/PersistentByteMap.class differ diff --git a/libjava/classpath/lib/gnu/gcj/runtime/SharedLibHelper.class b/libjava/classpath/lib/gnu/gcj/runtime/SharedLibHelper.class index 6ed177b..6f6ee15 100644 Binary files a/libjava/classpath/lib/gnu/gcj/runtime/SharedLibHelper.class and b/libjava/classpath/lib/gnu/gcj/runtime/SharedLibHelper.class differ diff --git a/libjava/classpath/lib/gnu/gcj/tools/gcj_dbtool/Main.class b/libjava/classpath/lib/gnu/gcj/tools/gcj_dbtool/Main.class index f5cd283..1ff54ad 100644 Binary files a/libjava/classpath/lib/gnu/gcj/tools/gcj_dbtool/Main.class and b/libjava/classpath/lib/gnu/gcj/tools/gcj_dbtool/Main.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/AWTUtilities$VisibleComponentList$VisibleComponentIterator.class b/libjava/classpath/lib/gnu/java/awt/AWTUtilities$VisibleComponentList$VisibleComponentIterator.class index cbc0f6f..363cec1 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/AWTUtilities$VisibleComponentList$VisibleComponentIterator.class and b/libjava/classpath/lib/gnu/java/awt/AWTUtilities$VisibleComponentList$VisibleComponentIterator.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/AWTUtilities$VisibleComponentList.class b/libjava/classpath/lib/gnu/java/awt/AWTUtilities$VisibleComponentList.class index fb992fe..9b5283e 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/AWTUtilities$VisibleComponentList.class and b/libjava/classpath/lib/gnu/java/awt/AWTUtilities$VisibleComponentList.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/AWTUtilities.class b/libjava/classpath/lib/gnu/java/awt/AWTUtilities.class index acf2f1e..1bc367a 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/AWTUtilities.class and b/libjava/classpath/lib/gnu/java/awt/AWTUtilities.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/BitwiseXORComposite$IntContext.class b/libjava/classpath/lib/gnu/java/awt/BitwiseXORComposite$IntContext.class index aa889bd..31713d0 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/BitwiseXORComposite$IntContext.class and b/libjava/classpath/lib/gnu/java/awt/BitwiseXORComposite$IntContext.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/ClasspathGraphicsEnvironment.class b/libjava/classpath/lib/gnu/java/awt/ClasspathGraphicsEnvironment.class new file mode 100644 index 0000000..9236051 Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/ClasspathGraphicsEnvironment.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/ClasspathToolkit.class b/libjava/classpath/lib/gnu/java/awt/ClasspathToolkit.class index b0a5b14..4ddeff9 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/ClasspathToolkit.class and b/libjava/classpath/lib/gnu/java/awt/ClasspathToolkit.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/font/FontDelegate.class b/libjava/classpath/lib/gnu/java/awt/font/FontDelegate.class index d1a4f5c..dbfaf4b 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/font/FontDelegate.class and b/libjava/classpath/lib/gnu/java/awt/font/FontDelegate.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/font/GNUGlyphVector.class b/libjava/classpath/lib/gnu/java/awt/font/GNUGlyphVector.class index 15a63b4..9f70d72 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/font/GNUGlyphVector.class and b/libjava/classpath/lib/gnu/java/awt/font/GNUGlyphVector.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/font/autofit/AutoHinter.class b/libjava/classpath/lib/gnu/java/awt/font/autofit/AutoHinter.class new file mode 100644 index 0000000..0f917d5 Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/font/autofit/AutoHinter.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/font/autofit/AxisHints.class b/libjava/classpath/lib/gnu/java/awt/font/autofit/AxisHints.class index a9273d1..e9b1b71 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/font/autofit/AxisHints.class and b/libjava/classpath/lib/gnu/java/awt/font/autofit/AxisHints.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/font/autofit/Constants.class b/libjava/classpath/lib/gnu/java/awt/font/autofit/Constants.class index d3db2fd..bb755cf 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/font/autofit/Constants.class and b/libjava/classpath/lib/gnu/java/awt/font/autofit/Constants.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/font/autofit/Edge.class b/libjava/classpath/lib/gnu/java/awt/font/autofit/Edge.class new file mode 100644 index 0000000..967fc08 Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/font/autofit/Edge.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/font/autofit/GlyphHints.class b/libjava/classpath/lib/gnu/java/awt/font/autofit/GlyphHints.class index 5324ceb..0676165 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/font/autofit/GlyphHints.class and b/libjava/classpath/lib/gnu/java/awt/font/autofit/GlyphHints.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/font/autofit/HintScaler.class b/libjava/classpath/lib/gnu/java/awt/font/autofit/HintScaler.class new file mode 100644 index 0000000..c0261dc Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/font/autofit/HintScaler.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/font/autofit/Latin.class b/libjava/classpath/lib/gnu/java/awt/font/autofit/Latin.class index 01014fa..2b69297 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/font/autofit/Latin.class and b/libjava/classpath/lib/gnu/java/awt/font/autofit/Latin.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/font/autofit/LatinAxis.class b/libjava/classpath/lib/gnu/java/awt/font/autofit/LatinAxis.class index ba60a11..49f1c77 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/font/autofit/LatinAxis.class and b/libjava/classpath/lib/gnu/java/awt/font/autofit/LatinAxis.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/font/autofit/LatinBlue.class b/libjava/classpath/lib/gnu/java/awt/font/autofit/LatinBlue.class new file mode 100644 index 0000000..5ca5115 Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/font/autofit/LatinBlue.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/font/autofit/LatinMetrics.class b/libjava/classpath/lib/gnu/java/awt/font/autofit/LatinMetrics.class index 81c17e8..314cdff 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/font/autofit/LatinMetrics.class and b/libjava/classpath/lib/gnu/java/awt/font/autofit/LatinMetrics.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/font/autofit/Scaler.class b/libjava/classpath/lib/gnu/java/awt/font/autofit/Scaler.class deleted file mode 100644 index 96ffa84..0000000 Binary files a/libjava/classpath/lib/gnu/java/awt/font/autofit/Scaler.class and /dev/null differ diff --git a/libjava/classpath/lib/gnu/java/awt/font/autofit/Script.class b/libjava/classpath/lib/gnu/java/awt/font/autofit/Script.class index d909a15..dbca0a0 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/font/autofit/Script.class and b/libjava/classpath/lib/gnu/java/awt/font/autofit/Script.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/font/autofit/ScriptMetrics.class b/libjava/classpath/lib/gnu/java/awt/font/autofit/ScriptMetrics.class index 1e22288..499ad93 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/font/autofit/ScriptMetrics.class and b/libjava/classpath/lib/gnu/java/awt/font/autofit/ScriptMetrics.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/font/autofit/Segment.class b/libjava/classpath/lib/gnu/java/awt/font/autofit/Segment.class index a44b85c..5f4b472 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/font/autofit/Segment.class and b/libjava/classpath/lib/gnu/java/awt/font/autofit/Segment.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/font/autofit/Utils.class b/libjava/classpath/lib/gnu/java/awt/font/autofit/Utils.class new file mode 100644 index 0000000..69d7d4c Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/font/autofit/Utils.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/font/autofit/Width.class b/libjava/classpath/lib/gnu/java/awt/font/autofit/Width.class index 04a11d8..ca16b93 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/font/autofit/Width.class and b/libjava/classpath/lib/gnu/java/awt/font/autofit/Width.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/font/opentype/CharGlyphMap.class b/libjava/classpath/lib/gnu/java/awt/font/opentype/CharGlyphMap.class index a96ede9..87afca3 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/font/opentype/CharGlyphMap.class and b/libjava/classpath/lib/gnu/java/awt/font/opentype/CharGlyphMap.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/font/opentype/Hinter.class b/libjava/classpath/lib/gnu/java/awt/font/opentype/Hinter.class new file mode 100644 index 0000000..10947a2 Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/font/opentype/Hinter.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/font/opentype/OpenTypeFont.class b/libjava/classpath/lib/gnu/java/awt/font/opentype/OpenTypeFont.class index de0cffd..14a8ff0 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/font/opentype/OpenTypeFont.class and b/libjava/classpath/lib/gnu/java/awt/font/opentype/OpenTypeFont.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/font/opentype/OpenTypeFontFactory.class b/libjava/classpath/lib/gnu/java/awt/font/opentype/OpenTypeFontFactory.class index 6fe831d..c2acc47 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/font/opentype/OpenTypeFontFactory.class and b/libjava/classpath/lib/gnu/java/awt/font/opentype/OpenTypeFontFactory.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/font/opentype/Scaler.class b/libjava/classpath/lib/gnu/java/awt/font/opentype/Scaler.class index b5ce93d..d7c8657 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/font/opentype/Scaler.class and b/libjava/classpath/lib/gnu/java/awt/font/opentype/Scaler.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/Fixed.class b/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/Fixed.class index 5542217..74468fd 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/Fixed.class and b/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/Fixed.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/GlyphLoader.class b/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/GlyphLoader.class index 5528bd0..cfb8299 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/GlyphLoader.class and b/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/GlyphLoader.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/GlyphLocator.class b/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/GlyphLocator.class index 9315d0c..9a129ea 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/GlyphLocator.class and b/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/GlyphLocator.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/Point.class b/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/Point.class new file mode 100644 index 0000000..6b1e0dd Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/Point.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/TrueTypeScaler.class b/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/TrueTypeScaler.class index 933bf56..7b8f4c2 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/TrueTypeScaler.class and b/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/TrueTypeScaler.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/Zone.class b/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/Zone.class index d362cb1..11c98e0 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/Zone.class and b/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/Zone.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/ZonePathIterator.class b/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/ZonePathIterator.class index d3f857f..a9c5f96 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/ZonePathIterator.class and b/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/ZonePathIterator.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/java2d/AbstractGraphics2D.class b/libjava/classpath/lib/gnu/java/awt/java2d/AbstractGraphics2D.class index 25b1e1e..16e2c48 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/java2d/AbstractGraphics2D.class and b/libjava/classpath/lib/gnu/java/awt/java2d/AbstractGraphics2D.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/java2d/ActiveEdges.class b/libjava/classpath/lib/gnu/java/awt/java2d/ActiveEdges.class new file mode 100644 index 0000000..14be883 Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/java2d/ActiveEdges.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/java2d/CubicSegment.class b/libjava/classpath/lib/gnu/java/awt/java2d/CubicSegment.class index 94b625a..c65011d 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/java2d/CubicSegment.class and b/libjava/classpath/lib/gnu/java/awt/java2d/CubicSegment.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/java2d/LineSegment.class b/libjava/classpath/lib/gnu/java/awt/java2d/LineSegment.class index 378a9df..81e2065 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/java2d/LineSegment.class and b/libjava/classpath/lib/gnu/java/awt/java2d/LineSegment.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/java2d/PolyEdge.class b/libjava/classpath/lib/gnu/java/awt/java2d/PolyEdge.class index a41557a..e281673 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/java2d/PolyEdge.class and b/libjava/classpath/lib/gnu/java/awt/java2d/PolyEdge.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/java2d/PolyEdgeComparator.class b/libjava/classpath/lib/gnu/java/awt/java2d/PolyEdgeComparator.class index 772f42c..932a92b 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/java2d/PolyEdgeComparator.class and b/libjava/classpath/lib/gnu/java/awt/java2d/PolyEdgeComparator.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/java2d/QuadSegment.class b/libjava/classpath/lib/gnu/java/awt/java2d/QuadSegment.class index 1cdd0b4..f7549ac 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/java2d/QuadSegment.class and b/libjava/classpath/lib/gnu/java/awt/java2d/QuadSegment.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/java2d/Scanline.class b/libjava/classpath/lib/gnu/java/awt/java2d/Scanline.class new file mode 100644 index 0000000..790142c Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/java2d/Scanline.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/java2d/ScanlineConverter.class b/libjava/classpath/lib/gnu/java/awt/java2d/ScanlineConverter.class new file mode 100644 index 0000000..b27aa84 Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/java2d/ScanlineConverter.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/peer/ClasspathDesktopPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/ClasspathDesktopPeer.class new file mode 100644 index 0000000..99a6a2e Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/ClasspathDesktopPeer.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/peer/ClasspathFontPeer$LRUCache.class b/libjava/classpath/lib/gnu/java/awt/peer/ClasspathFontPeer$LRUCache.class new file mode 100644 index 0000000..55e4faa Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/ClasspathFontPeer$LRUCache.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/peer/ClasspathFontPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/ClasspathFontPeer.class index a0ed006..9dd1dff 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/peer/ClasspathFontPeer.class and b/libjava/classpath/lib/gnu/java/awt/peer/ClasspathFontPeer.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/peer/GLightweightPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/GLightweightPeer.class index ebb93ec..679f4e7 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/peer/GLightweightPeer.class and b/libjava/classpath/lib/gnu/java/awt/peer/GLightweightPeer.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/peer/GnomeDesktopPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/GnomeDesktopPeer.class new file mode 100644 index 0000000..7419929 Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/GnomeDesktopPeer.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/peer/KDEDesktopPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/KDEDesktopPeer.class new file mode 100644 index 0000000..6436a44 Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/KDEDesktopPeer.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/AsyncImage$NullImageSource.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/AsyncImage$NullImageSource.class index 33331c7..75176bc 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/peer/gtk/AsyncImage$NullImageSource.class and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/AsyncImage$NullImageSource.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/AsyncImage.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/AsyncImage.class index 8849575..a6357d7 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/peer/gtk/AsyncImage.class and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/AsyncImage.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/BufferedImageGraphics.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/BufferedImageGraphics.class index 26ac9f8..141d201 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/peer/gtk/BufferedImageGraphics.class and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/BufferedImageGraphics.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/CairoGraphics2D.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/CairoGraphics2D.class index 10383cb..9ff901c 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/peer/gtk/CairoGraphics2D.class and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/CairoGraphics2D.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/CairoSurface$CairoDataBuffer.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/CairoSurface$CairoDataBuffer.class deleted file mode 100644 index c80d33b..0000000 Binary files a/libjava/classpath/lib/gnu/java/awt/peer/gtk/CairoSurface$CairoDataBuffer.class and /dev/null differ diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/CairoSurface.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/CairoSurface.class index eb4bf17..f02fab3 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/peer/gtk/CairoSurface.class and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/CairoSurface.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/CairoSurfaceGraphics.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/CairoSurfaceGraphics.class index 326d435..411d27f 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/peer/gtk/CairoSurfaceGraphics.class and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/CairoSurfaceGraphics.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/ComponentGraphics.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/ComponentGraphics.class index c5d4d00..0770325 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/peer/gtk/ComponentGraphics.class and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/ComponentGraphics.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/FreetypeGlyphVector.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/FreetypeGlyphVector.class index a392395..284bb0d 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/peer/gtk/FreetypeGlyphVector.class and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/FreetypeGlyphVector.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GThreadMutex.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GThreadMutex.class deleted file mode 100644 index 6362e5c..0000000 Binary files a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GThreadMutex.class and /dev/null differ diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GThreadNativeMethodRunner.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GThreadNativeMethodRunner.class deleted file mode 100644 index f24f934..0000000 Binary files a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GThreadNativeMethodRunner.class and /dev/null differ diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkFontPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkFontPeer.class index 9069864..a8c30b2 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkFontPeer.class and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkFontPeer.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkGraphicsConfiguration.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkGraphicsConfiguration.class index fd44922..8582c9e 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkGraphicsConfiguration.class and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkGraphicsConfiguration.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.class index e62ee53..074b1b5 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.class and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufReader.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufReader.class index eb61d50..293db87 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufReader.class and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufReader.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufReaderSpi.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufReaderSpi.class index 7566b0b..0b18f33 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufReaderSpi.class and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufReaderSpi.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufWriter.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufWriter.class index 6328b15..cbfa62c 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufWriter.class and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufWriter.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufWriterSpi.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufWriterSpi.class index 54adeb7..0e6abdf 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufWriterSpi.class and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufWriterSpi.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkPixbufDecoder$ImageFormatSpec.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkPixbufDecoder$ImageFormatSpec.class index 86b9737..d831c63 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkPixbufDecoder$ImageFormatSpec.class and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkPixbufDecoder$ImageFormatSpec.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkPixbufDecoder.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkPixbufDecoder.class index 9b332f9..2968b39 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkPixbufDecoder.class and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkPixbufDecoder.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkScreenGraphicsDevice.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkScreenGraphicsDevice.class index 87481e7..69b4f87 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkScreenGraphicsDevice.class and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkScreenGraphicsDevice.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkCheckboxPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkCheckboxPeer.class index 511f60b..b0506e1 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkCheckboxPeer.class and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkCheckboxPeer.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkClipboard.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkClipboard.class index 863a174..65ad993 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkClipboard.class and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkClipboard.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkClipboardNotifier.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkClipboardNotifier.class index 0e92e5d..c7c0ab58 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkClipboardNotifier.class and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkClipboardNotifier.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkComponentPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkComponentPeer.class index 9768413..d702188 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkComponentPeer.class and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkComponentPeer.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkFileDialogPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkFileDialogPeer.class index c869a82..d2d391b 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkFileDialogPeer.class and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkFileDialogPeer.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkFramePeer.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkFramePeer.class index f22c732..e6de1c3 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkFramePeer.class and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkFramePeer.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkImage.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkImage.class index 07cfdeb..25e3ccf 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkImage.class and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkImage.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkImageConsumer.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkImageConsumer.class index 1879e9f..6311911 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkImageConsumer.class and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkImageConsumer.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkMainThread.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkMainThread.class index 88ae463..a8334f6 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkMainThread.class and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkMainThread.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkScrollPanePeer.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkScrollPanePeer.class index afcc4a7..9c24af9 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkScrollPanePeer.class and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkScrollPanePeer.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkSelection.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkSelection.class index a01a65b..9f4454e 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkSelection.class and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkSelection.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkToolkit$LRUCache.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkToolkit$LRUCache.class index 685bdaa..cf0105c 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkToolkit$LRUCache.class and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkToolkit$LRUCache.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkToolkit.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkToolkit.class index 1ccba58..131cdf7 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkToolkit.class and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkToolkit.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkWindowPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkWindowPeer.class index 4992639..53be22a 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkWindowPeer.class and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkWindowPeer.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/VolatileImageGraphics.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/VolatileImageGraphics.class index 76c143e..4a2fa1c 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/peer/gtk/VolatileImageGraphics.class and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/VolatileImageGraphics.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/peer/qt/QtComponentPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtComponentPeer.class index f41b6b1..6593dd6 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/peer/qt/QtComponentPeer.class and b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtComponentPeer.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/peer/qt/QtGraphics.class b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtGraphics.class index 922e710..b858296 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/peer/qt/QtGraphics.class and b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtGraphics.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/peer/qt/QtToolkit.class b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtToolkit.class index 4066929..d44cb31 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/peer/qt/QtToolkit.class and b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtToolkit.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/peer/qt/QtVolatileImage$1.class b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtVolatileImage$1.class index d290cfd..f5174e9 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/peer/qt/QtVolatileImage$1.class and b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtVolatileImage$1.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/peer/qt/QtVolatileImage.class b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtVolatileImage.class index d3c5a27e..f4f268b 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/peer/qt/QtVolatileImage.class and b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtVolatileImage.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingComponentPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingComponentPeer.class index 41c7972..d5df207 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingComponentPeer.class and b/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingComponentPeer.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingMenuBarPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingMenuBarPeer.class index 6fa417b..9a30ebc 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingMenuBarPeer.class and b/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingMenuBarPeer.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/print/JavaPrinterGraphics.class b/libjava/classpath/lib/gnu/java/awt/print/JavaPrinterGraphics.class index fc1d805..128ef33 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/print/JavaPrinterGraphics.class and b/libjava/classpath/lib/gnu/java/awt/print/JavaPrinterGraphics.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/print/JavaPrinterJob.class b/libjava/classpath/lib/gnu/java/awt/print/JavaPrinterJob.class index 823adb2..b945a30 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/print/JavaPrinterJob.class and b/libjava/classpath/lib/gnu/java/awt/print/JavaPrinterJob.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/print/PostScriptGraphics2D.class b/libjava/classpath/lib/gnu/java/awt/print/PostScriptGraphics2D.class index a19303c..3fd30fa 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/print/PostScriptGraphics2D.class and b/libjava/classpath/lib/gnu/java/awt/print/PostScriptGraphics2D.class differ diff --git a/libjava/classpath/lib/gnu/java/awt/print/SpooledDocument.class b/libjava/classpath/lib/gnu/java/awt/print/SpooledDocument.class index 3fcf170..49bbe1c 100644 Binary files a/libjava/classpath/lib/gnu/java/awt/print/SpooledDocument.class and b/libjava/classpath/lib/gnu/java/awt/print/SpooledDocument.class differ diff --git a/libjava/classpath/lib/gnu/java/beans/BeanInfoEmbryo.class b/libjava/classpath/lib/gnu/java/beans/BeanInfoEmbryo.class index c1d5b27..653ecb1 100644 Binary files a/libjava/classpath/lib/gnu/java/beans/BeanInfoEmbryo.class and b/libjava/classpath/lib/gnu/java/beans/BeanInfoEmbryo.class differ diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/ArrayHandler.class b/libjava/classpath/lib/gnu/java/beans/decoder/ArrayHandler.class index c463af0..62e5c9a 100644 Binary files a/libjava/classpath/lib/gnu/java/beans/decoder/ArrayHandler.class and b/libjava/classpath/lib/gnu/java/beans/decoder/ArrayHandler.class differ diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/MethodFinder.class b/libjava/classpath/lib/gnu/java/beans/decoder/MethodFinder.class index 8d04024..46b0283 100644 Binary files a/libjava/classpath/lib/gnu/java/beans/decoder/MethodFinder.class and b/libjava/classpath/lib/gnu/java/beans/decoder/MethodFinder.class differ diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$ArrayHandlerCreator.class b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$ArrayHandlerCreator.class index 60d8209..8613293 100644 Binary files a/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$ArrayHandlerCreator.class and b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$ArrayHandlerCreator.class differ diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$BooleanHandlerCreator.class b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$BooleanHandlerCreator.class index 172160f..e4e5fe7 100644 Binary files a/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$BooleanHandlerCreator.class and b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$BooleanHandlerCreator.class differ diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$ByteHandlerCreator.class b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$ByteHandlerCreator.class index 745f552..4f1e535 100644 Binary files a/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$ByteHandlerCreator.class and b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$ByteHandlerCreator.class differ diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$CharHandlerCreator.class b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$CharHandlerCreator.class index 40b14a4..371e383 100644 Binary files a/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$CharHandlerCreator.class and b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$CharHandlerCreator.class differ diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$ClassHandlerCreator.class b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$ClassHandlerCreator.class index 711db20..bf06c46 100644 Binary files a/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$ClassHandlerCreator.class and b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$ClassHandlerCreator.class differ diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$DoubleHandlerCreator.class b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$DoubleHandlerCreator.class index e07c444..baaeeec 100644 Binary files a/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$DoubleHandlerCreator.class and b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$DoubleHandlerCreator.class differ diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$FloatHandlerCreator.class b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$FloatHandlerCreator.class index 7498fb0..8c4bf8c 100644 Binary files a/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$FloatHandlerCreator.class and b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$FloatHandlerCreator.class differ diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$IntHandlerCreator.class b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$IntHandlerCreator.class index 4bf147b..940df74 100644 Binary files a/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$IntHandlerCreator.class and b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$IntHandlerCreator.class differ diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$JavaHandlerCreator.class b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$JavaHandlerCreator.class index 3bd67f5..51f3eb9 100644 Binary files a/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$JavaHandlerCreator.class and b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$JavaHandlerCreator.class differ diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$LongHandlerCreator.class b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$LongHandlerCreator.class index 0129d63..3bf0ba2 100644 Binary files a/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$LongHandlerCreator.class and b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$LongHandlerCreator.class differ diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$NullHandlerCreator.class b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$NullHandlerCreator.class index b1ed7ad..1431172 100644 Binary files a/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$NullHandlerCreator.class and b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$NullHandlerCreator.class differ diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$ObjectHandlerCreator.class b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$ObjectHandlerCreator.class index 4574efc..af5765c 100644 Binary files a/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$ObjectHandlerCreator.class and b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$ObjectHandlerCreator.class differ diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$ShortHandlerCreator.class b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$ShortHandlerCreator.class index ed04aa5..c78e722 100644 Binary files a/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$ShortHandlerCreator.class and b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$ShortHandlerCreator.class differ diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$StringHandlerCreator.class b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$StringHandlerCreator.class index 9f5b804..66ce458 100644 Binary files a/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$StringHandlerCreator.class and b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$StringHandlerCreator.class differ diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$VoidHandlerCreator.class b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$VoidHandlerCreator.class index 2368742..c596026 100644 Binary files a/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$VoidHandlerCreator.class and b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$VoidHandlerCreator.class differ diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser.class b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser.class index a6b6cc0..efb521a 100644 Binary files a/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser.class and b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser.class differ diff --git a/libjava/classpath/lib/gnu/java/io/Base64InputStream.class b/libjava/classpath/lib/gnu/java/io/Base64InputStream.class index a6c3079..b9476db 100644 Binary files a/libjava/classpath/lib/gnu/java/io/Base64InputStream.class and b/libjava/classpath/lib/gnu/java/io/Base64InputStream.class differ diff --git a/libjava/classpath/lib/gnu/java/lang/MainThread.class b/libjava/classpath/lib/gnu/java/lang/MainThread.class index 128ba4e..3b43fb5 100644 Binary files a/libjava/classpath/lib/gnu/java/lang/MainThread.class and b/libjava/classpath/lib/gnu/java/lang/MainThread.class differ diff --git a/libjava/classpath/lib/gnu/java/lang/management/BeanImpl.class b/libjava/classpath/lib/gnu/java/lang/management/BeanImpl.class index 2d188b25..ff63fd0 100644 Binary files a/libjava/classpath/lib/gnu/java/lang/management/BeanImpl.class and b/libjava/classpath/lib/gnu/java/lang/management/BeanImpl.class differ diff --git a/libjava/classpath/lib/gnu/java/lang/management/OperatingSystemMXBeanImpl.class b/libjava/classpath/lib/gnu/java/lang/management/OperatingSystemMXBeanImpl.class index 9442a8a..561e691 100644 Binary files a/libjava/classpath/lib/gnu/java/lang/management/OperatingSystemMXBeanImpl.class and b/libjava/classpath/lib/gnu/java/lang/management/OperatingSystemMXBeanImpl.class differ diff --git a/libjava/classpath/lib/gnu/java/lang/management/RuntimeMXBeanImpl.class b/libjava/classpath/lib/gnu/java/lang/management/RuntimeMXBeanImpl.class index 0a610d9..a438608 100644 Binary files a/libjava/classpath/lib/gnu/java/lang/management/RuntimeMXBeanImpl.class and b/libjava/classpath/lib/gnu/java/lang/management/RuntimeMXBeanImpl.class differ diff --git a/libjava/classpath/lib/gnu/java/lang/management/ThreadMXBeanImpl.class b/libjava/classpath/lib/gnu/java/lang/management/ThreadMXBeanImpl.class index 8d2f1b0..0c7535e 100644 Binary files a/libjava/classpath/lib/gnu/java/lang/management/ThreadMXBeanImpl.class and b/libjava/classpath/lib/gnu/java/lang/management/ThreadMXBeanImpl.class differ diff --git a/libjava/classpath/lib/gnu/java/lang/management/VMOperatingSystemMXBeanImpl.class b/libjava/classpath/lib/gnu/java/lang/management/VMOperatingSystemMXBeanImpl.class new file mode 100644 index 0000000..a81b737 Binary files /dev/null and b/libjava/classpath/lib/gnu/java/lang/management/VMOperatingSystemMXBeanImpl.class differ diff --git a/libjava/classpath/lib/gnu/java/lang/management/VMThreadMXBeanImpl.class b/libjava/classpath/lib/gnu/java/lang/management/VMThreadMXBeanImpl.class index a0589e0..01a0ff3 100644 Binary files a/libjava/classpath/lib/gnu/java/lang/management/VMThreadMXBeanImpl.class and b/libjava/classpath/lib/gnu/java/lang/management/VMThreadMXBeanImpl.class differ diff --git a/libjava/classpath/lib/gnu/java/lang/reflect/UnresolvedTypeVariable.class b/libjava/classpath/lib/gnu/java/lang/reflect/UnresolvedTypeVariable.class index 07d9a8d..8a717e3 100644 Binary files a/libjava/classpath/lib/gnu/java/lang/reflect/UnresolvedTypeVariable.class and b/libjava/classpath/lib/gnu/java/lang/reflect/UnresolvedTypeVariable.class differ diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleData.class b/libjava/classpath/lib/gnu/java/locale/LocaleData.class index 338cc8f..f2772bb 100644 Binary files a/libjava/classpath/lib/gnu/java/locale/LocaleData.class and b/libjava/classpath/lib/gnu/java/locale/LocaleData.class differ diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleHelper.class b/libjava/classpath/lib/gnu/java/locale/LocaleHelper.class index 101cf04..b2fa5f2 100644 Binary files a/libjava/classpath/lib/gnu/java/locale/LocaleHelper.class and b/libjava/classpath/lib/gnu/java/locale/LocaleHelper.class differ diff --git a/libjava/classpath/lib/gnu/java/math/Fixed.class b/libjava/classpath/lib/gnu/java/math/Fixed.class new file mode 100644 index 0000000..276a3c9 Binary files /dev/null and b/libjava/classpath/lib/gnu/java/math/Fixed.class differ diff --git a/libjava/classpath/lib/gnu/java/net/BASE64.class b/libjava/classpath/lib/gnu/java/net/BASE64.class deleted file mode 100644 index 45e8b67..0000000 Binary files a/libjava/classpath/lib/gnu/java/net/BASE64.class and /dev/null differ diff --git a/libjava/classpath/lib/gnu/java/net/DefaultContentHandlerFactory.class b/libjava/classpath/lib/gnu/java/net/DefaultContentHandlerFactory.class index c8df614..75764ad 100644 Binary files a/libjava/classpath/lib/gnu/java/net/DefaultContentHandlerFactory.class and b/libjava/classpath/lib/gnu/java/net/DefaultContentHandlerFactory.class differ diff --git a/libjava/classpath/lib/gnu/java/net/GetLocalHostAction.class b/libjava/classpath/lib/gnu/java/net/GetLocalHostAction.class index ff5b5a4..af27056 100644 Binary files a/libjava/classpath/lib/gnu/java/net/GetLocalHostAction.class and b/libjava/classpath/lib/gnu/java/net/GetLocalHostAction.class differ diff --git a/libjava/classpath/lib/gnu/java/net/HeaderFieldHelper.class b/libjava/classpath/lib/gnu/java/net/HeaderFieldHelper.class index 6f6b28a..f1563a9 100644 Binary files a/libjava/classpath/lib/gnu/java/net/HeaderFieldHelper.class and b/libjava/classpath/lib/gnu/java/net/HeaderFieldHelper.class differ diff --git a/libjava/classpath/lib/gnu/java/net/IndexListParser.class b/libjava/classpath/lib/gnu/java/net/IndexListParser.class index 8aa7b07..d812ed6 100644 Binary files a/libjava/classpath/lib/gnu/java/net/IndexListParser.class and b/libjava/classpath/lib/gnu/java/net/IndexListParser.class differ diff --git a/libjava/classpath/lib/gnu/java/net/loader/JarURLLoader.class b/libjava/classpath/lib/gnu/java/net/loader/JarURLLoader.class index 403e4e9..d5ab276 100644 Binary files a/libjava/classpath/lib/gnu/java/net/loader/JarURLLoader.class and b/libjava/classpath/lib/gnu/java/net/loader/JarURLLoader.class differ diff --git a/libjava/classpath/lib/gnu/java/net/loader/URLLoader.class b/libjava/classpath/lib/gnu/java/net/loader/URLLoader.class index f64dacb..ca35933 100644 Binary files a/libjava/classpath/lib/gnu/java/net/loader/URLLoader.class and b/libjava/classpath/lib/gnu/java/net/loader/URLLoader.class differ diff --git a/libjava/classpath/lib/gnu/java/net/loader/URLStreamHandlerCache.class b/libjava/classpath/lib/gnu/java/net/loader/URLStreamHandlerCache.class index a218ce9..736819f 100644 Binary files a/libjava/classpath/lib/gnu/java/net/loader/URLStreamHandlerCache.class and b/libjava/classpath/lib/gnu/java/net/loader/URLStreamHandlerCache.class differ diff --git a/libjava/classpath/lib/gnu/java/net/local/LocalServerSocket.class b/libjava/classpath/lib/gnu/java/net/local/LocalServerSocket.class index 546291d..7e27638 100644 Binary files a/libjava/classpath/lib/gnu/java/net/local/LocalServerSocket.class and b/libjava/classpath/lib/gnu/java/net/local/LocalServerSocket.class differ diff --git a/libjava/classpath/lib/gnu/java/net/local/LocalSocket.class b/libjava/classpath/lib/gnu/java/net/local/LocalSocket.class index 8a2707e..81eac6a 100644 Binary files a/libjava/classpath/lib/gnu/java/net/local/LocalSocket.class and b/libjava/classpath/lib/gnu/java/net/local/LocalSocket.class differ diff --git a/libjava/classpath/lib/gnu/java/net/protocol/ftp/FTPConnection.class b/libjava/classpath/lib/gnu/java/net/protocol/ftp/FTPConnection.class index bca990e..0732369 100644 Binary files a/libjava/classpath/lib/gnu/java/net/protocol/ftp/FTPConnection.class and b/libjava/classpath/lib/gnu/java/net/protocol/ftp/FTPConnection.class differ diff --git a/libjava/classpath/lib/gnu/java/net/protocol/ftp/FTPURLConnection$ClosingInputStream.class b/libjava/classpath/lib/gnu/java/net/protocol/ftp/FTPURLConnection$ClosingInputStream.class index 94df657..b9e0405 100644 Binary files a/libjava/classpath/lib/gnu/java/net/protocol/ftp/FTPURLConnection$ClosingInputStream.class and b/libjava/classpath/lib/gnu/java/net/protocol/ftp/FTPURLConnection$ClosingInputStream.class differ diff --git a/libjava/classpath/lib/gnu/java/net/protocol/ftp/FTPURLConnection$ClosingOutputStream.class b/libjava/classpath/lib/gnu/java/net/protocol/ftp/FTPURLConnection$ClosingOutputStream.class index bb6e74b..61953381 100644 Binary files a/libjava/classpath/lib/gnu/java/net/protocol/ftp/FTPURLConnection$ClosingOutputStream.class and b/libjava/classpath/lib/gnu/java/net/protocol/ftp/FTPURLConnection$ClosingOutputStream.class differ diff --git a/libjava/classpath/lib/gnu/java/net/protocol/ftp/FTPURLConnection.class b/libjava/classpath/lib/gnu/java/net/protocol/ftp/FTPURLConnection.class index 29c4761..2d2082c 100644 Binary files a/libjava/classpath/lib/gnu/java/net/protocol/ftp/FTPURLConnection.class and b/libjava/classpath/lib/gnu/java/net/protocol/ftp/FTPURLConnection.class differ diff --git a/libjava/classpath/lib/gnu/java/net/protocol/http/ChunkedInputStream.class b/libjava/classpath/lib/gnu/java/net/protocol/http/ChunkedInputStream.class index cfdd833..970facb 100644 Binary files a/libjava/classpath/lib/gnu/java/net/protocol/http/ChunkedInputStream.class and b/libjava/classpath/lib/gnu/java/net/protocol/http/ChunkedInputStream.class differ diff --git a/libjava/classpath/lib/gnu/java/net/protocol/http/HTTPConnection$Pool$Reaper.class b/libjava/classpath/lib/gnu/java/net/protocol/http/HTTPConnection$Pool$Reaper.class index b30005c..6cf9d36 100644 Binary files a/libjava/classpath/lib/gnu/java/net/protocol/http/HTTPConnection$Pool$Reaper.class and b/libjava/classpath/lib/gnu/java/net/protocol/http/HTTPConnection$Pool$Reaper.class differ diff --git a/libjava/classpath/lib/gnu/java/net/protocol/http/HTTPConnection$Pool.class b/libjava/classpath/lib/gnu/java/net/protocol/http/HTTPConnection$Pool.class index 6ca44ac..1e1abbd 100644 Binary files a/libjava/classpath/lib/gnu/java/net/protocol/http/HTTPConnection$Pool.class and b/libjava/classpath/lib/gnu/java/net/protocol/http/HTTPConnection$Pool.class differ diff --git a/libjava/classpath/lib/gnu/java/net/protocol/http/HTTPConnection.class b/libjava/classpath/lib/gnu/java/net/protocol/http/HTTPConnection.class index 6fd6262..eb765d1 100644 Binary files a/libjava/classpath/lib/gnu/java/net/protocol/http/HTTPConnection.class and b/libjava/classpath/lib/gnu/java/net/protocol/http/HTTPConnection.class differ diff --git a/libjava/classpath/lib/gnu/java/net/protocol/http/HTTPURLConnection$1.class b/libjava/classpath/lib/gnu/java/net/protocol/http/HTTPURLConnection$1.class index 0e0631d..4e44061 100644 Binary files a/libjava/classpath/lib/gnu/java/net/protocol/http/HTTPURLConnection$1.class and b/libjava/classpath/lib/gnu/java/net/protocol/http/HTTPURLConnection$1.class differ diff --git a/libjava/classpath/lib/gnu/java/net/protocol/http/HTTPURLConnection.class b/libjava/classpath/lib/gnu/java/net/protocol/http/HTTPURLConnection.class index 76f4e90..685c525 100644 Binary files a/libjava/classpath/lib/gnu/java/net/protocol/http/HTTPURLConnection.class and b/libjava/classpath/lib/gnu/java/net/protocol/http/HTTPURLConnection.class differ diff --git a/libjava/classpath/lib/gnu/java/net/protocol/http/Headers$HeaderElement.class b/libjava/classpath/lib/gnu/java/net/protocol/http/Headers$HeaderElement.class index f6c26f3..3de6ac4 100644 Binary files a/libjava/classpath/lib/gnu/java/net/protocol/http/Headers$HeaderElement.class and b/libjava/classpath/lib/gnu/java/net/protocol/http/Headers$HeaderElement.class differ diff --git a/libjava/classpath/lib/gnu/java/net/protocol/http/Headers.class b/libjava/classpath/lib/gnu/java/net/protocol/http/Headers.class index 97bf2ad..d34ca8e 100644 Binary files a/libjava/classpath/lib/gnu/java/net/protocol/http/Headers.class and b/libjava/classpath/lib/gnu/java/net/protocol/http/Headers.class differ diff --git a/libjava/classpath/lib/gnu/java/net/protocol/http/Request.class b/libjava/classpath/lib/gnu/java/net/protocol/http/Request.class index 67e4923..8f82102 100644 Binary files a/libjava/classpath/lib/gnu/java/net/protocol/http/Request.class and b/libjava/classpath/lib/gnu/java/net/protocol/http/Request.class differ diff --git a/libjava/classpath/lib/gnu/java/net/protocol/http/SimpleCookieManager.class b/libjava/classpath/lib/gnu/java/net/protocol/http/SimpleCookieManager.class index 00cafb1..a2dbe45 100644 Binary files a/libjava/classpath/lib/gnu/java/net/protocol/http/SimpleCookieManager.class and b/libjava/classpath/lib/gnu/java/net/protocol/http/SimpleCookieManager.class differ diff --git a/libjava/classpath/lib/gnu/java/net/protocol/jar/Connection$JarFileCache.class b/libjava/classpath/lib/gnu/java/net/protocol/jar/Connection$JarFileCache.class index 0efc688..f031d34 100644 Binary files a/libjava/classpath/lib/gnu/java/net/protocol/jar/Connection$JarFileCache.class and b/libjava/classpath/lib/gnu/java/net/protocol/jar/Connection$JarFileCache.class differ diff --git a/libjava/classpath/lib/gnu/java/net/protocol/jar/Connection.class b/libjava/classpath/lib/gnu/java/net/protocol/jar/Connection.class index d67ec4c..b8de14b 100644 Binary files a/libjava/classpath/lib/gnu/java/net/protocol/jar/Connection.class and b/libjava/classpath/lib/gnu/java/net/protocol/jar/Connection.class differ diff --git a/libjava/classpath/lib/gnu/java/net/protocol/jar/Handler.class b/libjava/classpath/lib/gnu/java/net/protocol/jar/Handler.class index 51ca4c3..b175969 100644 Binary files a/libjava/classpath/lib/gnu/java/net/protocol/jar/Handler.class and b/libjava/classpath/lib/gnu/java/net/protocol/jar/Handler.class differ diff --git a/libjava/classpath/lib/gnu/java/nio/ChannelInputStream.class b/libjava/classpath/lib/gnu/java/nio/ChannelInputStream.class index eb59e72..0f0724f 100644 Binary files a/libjava/classpath/lib/gnu/java/nio/ChannelInputStream.class and b/libjava/classpath/lib/gnu/java/nio/ChannelInputStream.class differ diff --git a/libjava/classpath/lib/gnu/java/nio/PipeImpl$SinkChannelImpl.class b/libjava/classpath/lib/gnu/java/nio/PipeImpl$SinkChannelImpl.class index 21dd064..450ea09 100644 Binary files a/libjava/classpath/lib/gnu/java/nio/PipeImpl$SinkChannelImpl.class and b/libjava/classpath/lib/gnu/java/nio/PipeImpl$SinkChannelImpl.class differ diff --git a/libjava/classpath/lib/gnu/java/nio/PipeImpl$SourceChannelImpl.class b/libjava/classpath/lib/gnu/java/nio/PipeImpl$SourceChannelImpl.class index e5dea7f..fa2e59e 100644 Binary files a/libjava/classpath/lib/gnu/java/nio/PipeImpl$SourceChannelImpl.class and b/libjava/classpath/lib/gnu/java/nio/PipeImpl$SourceChannelImpl.class differ diff --git a/libjava/classpath/lib/gnu/java/nio/PipeImpl.class b/libjava/classpath/lib/gnu/java/nio/PipeImpl.class index a0459a1..43c4f67 100644 Binary files a/libjava/classpath/lib/gnu/java/nio/PipeImpl.class and b/libjava/classpath/lib/gnu/java/nio/PipeImpl.class differ diff --git a/libjava/classpath/lib/gnu/java/nio/ServerSocketChannelImpl.class b/libjava/classpath/lib/gnu/java/nio/ServerSocketChannelImpl.class index 6188d79..c5c67e4 100644 Binary files a/libjava/classpath/lib/gnu/java/nio/ServerSocketChannelImpl.class and b/libjava/classpath/lib/gnu/java/nio/ServerSocketChannelImpl.class differ diff --git a/libjava/classpath/lib/gnu/java/nio/VMChannel.class b/libjava/classpath/lib/gnu/java/nio/VMChannel.class index 8ee7d1c..4cd76f5 100644 Binary files a/libjava/classpath/lib/gnu/java/nio/VMChannel.class and b/libjava/classpath/lib/gnu/java/nio/VMChannel.class differ diff --git a/libjava/classpath/lib/gnu/java/nio/channels/FileChannelImpl.class b/libjava/classpath/lib/gnu/java/nio/channels/FileChannelImpl.class index 817ba71..10c779e 100644 Binary files a/libjava/classpath/lib/gnu/java/nio/channels/FileChannelImpl.class and b/libjava/classpath/lib/gnu/java/nio/channels/FileChannelImpl.class differ diff --git a/libjava/classpath/lib/gnu/java/nio/charset/ByteCharset$Decoder.class b/libjava/classpath/lib/gnu/java/nio/charset/ByteCharset$Decoder.class index bb1dcbc..1662109 100644 Binary files a/libjava/classpath/lib/gnu/java/nio/charset/ByteCharset$Decoder.class and b/libjava/classpath/lib/gnu/java/nio/charset/ByteCharset$Decoder.class differ diff --git a/libjava/classpath/lib/gnu/java/nio/charset/ByteCharset$Encoder.class b/libjava/classpath/lib/gnu/java/nio/charset/ByteCharset$Encoder.class index d434b32..fed5aaf 100644 Binary files a/libjava/classpath/lib/gnu/java/nio/charset/ByteCharset$Encoder.class and b/libjava/classpath/lib/gnu/java/nio/charset/ByteCharset$Encoder.class differ diff --git a/libjava/classpath/lib/gnu/java/nio/charset/EncodingHelper.class b/libjava/classpath/lib/gnu/java/nio/charset/EncodingHelper.class index e64d2d57..4e81021 100644 Binary files a/libjava/classpath/lib/gnu/java/nio/charset/EncodingHelper.class and b/libjava/classpath/lib/gnu/java/nio/charset/EncodingHelper.class differ diff --git a/libjava/classpath/lib/gnu/java/nio/charset/Provider$1.class b/libjava/classpath/lib/gnu/java/nio/charset/Provider$1.class index 30aebba..ecc9fd0 100644 Binary files a/libjava/classpath/lib/gnu/java/nio/charset/Provider$1.class and b/libjava/classpath/lib/gnu/java/nio/charset/Provider$1.class differ diff --git a/libjava/classpath/lib/gnu/java/nio/charset/Provider.class b/libjava/classpath/lib/gnu/java/nio/charset/Provider.class index 33fb54b..52cd4e4 100644 Binary files a/libjava/classpath/lib/gnu/java/nio/charset/Provider.class and b/libjava/classpath/lib/gnu/java/nio/charset/Provider.class differ diff --git a/libjava/classpath/lib/gnu/java/nio/charset/UTF_16Decoder.class b/libjava/classpath/lib/gnu/java/nio/charset/UTF_16Decoder.class index ef6a674..12b3dae 100644 Binary files a/libjava/classpath/lib/gnu/java/nio/charset/UTF_16Decoder.class and b/libjava/classpath/lib/gnu/java/nio/charset/UTF_16Decoder.class differ diff --git a/libjava/classpath/lib/gnu/java/nio/charset/UTF_16Encoder.class b/libjava/classpath/lib/gnu/java/nio/charset/UTF_16Encoder.class index f411c93..038e566 100644 Binary files a/libjava/classpath/lib/gnu/java/nio/charset/UTF_16Encoder.class and b/libjava/classpath/lib/gnu/java/nio/charset/UTF_16Encoder.class differ diff --git a/libjava/classpath/lib/gnu/java/nio/charset/UTF_8$Decoder.class b/libjava/classpath/lib/gnu/java/nio/charset/UTF_8$Decoder.class index 4bd770b..72d6ced 100644 Binary files a/libjava/classpath/lib/gnu/java/nio/charset/UTF_8$Decoder.class and b/libjava/classpath/lib/gnu/java/nio/charset/UTF_8$Decoder.class differ diff --git a/libjava/classpath/lib/gnu/java/nio/charset/UTF_8$Encoder.class b/libjava/classpath/lib/gnu/java/nio/charset/UTF_8$Encoder.class index a4bcdf2..6d3d9fd 100644 Binary files a/libjava/classpath/lib/gnu/java/nio/charset/UTF_8$Encoder.class and b/libjava/classpath/lib/gnu/java/nio/charset/UTF_8$Encoder.class differ diff --git a/libjava/classpath/lib/gnu/java/rmi/dgc/DGCImpl_Stub.class b/libjava/classpath/lib/gnu/java/rmi/dgc/DGCImpl_Stub.class index af0f76e..8778ca1 100644 Binary files a/libjava/classpath/lib/gnu/java/rmi/dgc/DGCImpl_Stub.class and b/libjava/classpath/lib/gnu/java/rmi/dgc/DGCImpl_Stub.class differ diff --git a/libjava/classpath/lib/gnu/java/rmi/dgc/LeaseRenewingTask.class b/libjava/classpath/lib/gnu/java/rmi/dgc/LeaseRenewingTask.class index cab36a1..416f838 100644 Binary files a/libjava/classpath/lib/gnu/java/rmi/dgc/LeaseRenewingTask.class and b/libjava/classpath/lib/gnu/java/rmi/dgc/LeaseRenewingTask.class differ diff --git a/libjava/classpath/lib/gnu/java/rmi/registry/RegistryImpl_Stub.class b/libjava/classpath/lib/gnu/java/rmi/registry/RegistryImpl_Stub.class index 3c75c88..bff2b72 100644 Binary files a/libjava/classpath/lib/gnu/java/rmi/registry/RegistryImpl_Stub.class and b/libjava/classpath/lib/gnu/java/rmi/registry/RegistryImpl_Stub.class differ diff --git a/libjava/classpath/lib/gnu/java/rmi/server/RMIClassLoaderImpl.class b/libjava/classpath/lib/gnu/java/rmi/server/RMIClassLoaderImpl.class index b703c43..c39da5c 100644 Binary files a/libjava/classpath/lib/gnu/java/rmi/server/RMIClassLoaderImpl.class and b/libjava/classpath/lib/gnu/java/rmi/server/RMIClassLoaderImpl.class differ diff --git a/libjava/classpath/lib/gnu/java/rmi/server/UnicastConnectionManager$1.class b/libjava/classpath/lib/gnu/java/rmi/server/UnicastConnectionManager$1.class index 7d928f5..d1d7533 100644 Binary files a/libjava/classpath/lib/gnu/java/rmi/server/UnicastConnectionManager$1.class and b/libjava/classpath/lib/gnu/java/rmi/server/UnicastConnectionManager$1.class differ diff --git a/libjava/classpath/lib/gnu/java/rmi/server/UnicastConnectionManager.class b/libjava/classpath/lib/gnu/java/rmi/server/UnicastConnectionManager.class index 917dfc9..fcea7a0 100644 Binary files a/libjava/classpath/lib/gnu/java/rmi/server/UnicastConnectionManager.class and b/libjava/classpath/lib/gnu/java/rmi/server/UnicastConnectionManager.class differ diff --git a/libjava/classpath/lib/gnu/java/rmi/server/UnicastRemoteCall.class b/libjava/classpath/lib/gnu/java/rmi/server/UnicastRemoteCall.class index 2f25fef..d1fa989 100644 Binary files a/libjava/classpath/lib/gnu/java/rmi/server/UnicastRemoteCall.class and b/libjava/classpath/lib/gnu/java/rmi/server/UnicastRemoteCall.class differ diff --git a/libjava/classpath/lib/gnu/java/rmi/server/UnicastServer.class b/libjava/classpath/lib/gnu/java/rmi/server/UnicastServer.class index 1605746..f4cae67 100644 Binary files a/libjava/classpath/lib/gnu/java/rmi/server/UnicastServer.class and b/libjava/classpath/lib/gnu/java/rmi/server/UnicastServer.class differ diff --git a/libjava/classpath/lib/gnu/java/rmi/server/UnicastServerRef.class b/libjava/classpath/lib/gnu/java/rmi/server/UnicastServerRef.class index 9f20856..9c3fa0b 100644 Binary files a/libjava/classpath/lib/gnu/java/rmi/server/UnicastServerRef.class and b/libjava/classpath/lib/gnu/java/rmi/server/UnicastServerRef.class differ diff --git a/libjava/classpath/lib/gnu/java/security/PolicyFile$1.class b/libjava/classpath/lib/gnu/java/security/PolicyFile$1.class index c5168d4..99e4c99 100644 Binary files a/libjava/classpath/lib/gnu/java/security/PolicyFile$1.class and b/libjava/classpath/lib/gnu/java/security/PolicyFile$1.class differ diff --git a/libjava/classpath/lib/gnu/java/security/PolicyFile.class b/libjava/classpath/lib/gnu/java/security/PolicyFile.class index 9efb3e6..e544dbc 100644 Binary files a/libjava/classpath/lib/gnu/java/security/PolicyFile.class and b/libjava/classpath/lib/gnu/java/security/PolicyFile.class differ diff --git a/libjava/classpath/lib/gnu/java/security/Properties$1.class b/libjava/classpath/lib/gnu/java/security/Properties$1.class index 2664158..3702eeb 100644 Binary files a/libjava/classpath/lib/gnu/java/security/Properties$1.class and b/libjava/classpath/lib/gnu/java/security/Properties$1.class differ diff --git a/libjava/classpath/lib/gnu/java/security/Properties.class b/libjava/classpath/lib/gnu/java/security/Properties.class index aa0b0bb..7682442 100644 Binary files a/libjava/classpath/lib/gnu/java/security/Properties.class and b/libjava/classpath/lib/gnu/java/security/Properties.class differ diff --git a/libjava/classpath/lib/gnu/java/security/der/DERReader.class b/libjava/classpath/lib/gnu/java/security/der/DERReader.class index 20ebbdb..44bfc6f 100644 Binary files a/libjava/classpath/lib/gnu/java/security/der/DERReader.class and b/libjava/classpath/lib/gnu/java/security/der/DERReader.class differ diff --git a/libjava/classpath/lib/gnu/java/security/provider/Gnu$1.class b/libjava/classpath/lib/gnu/java/security/provider/Gnu$1.class index 2e949b0..2ac0ddf 100644 Binary files a/libjava/classpath/lib/gnu/java/security/provider/Gnu$1.class and b/libjava/classpath/lib/gnu/java/security/provider/Gnu$1.class differ diff --git a/libjava/classpath/lib/gnu/java/security/provider/Gnu.class b/libjava/classpath/lib/gnu/java/security/provider/Gnu.class index 642a24a..2081d33 100644 Binary files a/libjava/classpath/lib/gnu/java/security/provider/Gnu.class and b/libjava/classpath/lib/gnu/java/security/provider/Gnu.class differ diff --git a/libjava/classpath/lib/gnu/java/security/provider/PKIXCertPathValidatorImpl.class b/libjava/classpath/lib/gnu/java/security/provider/PKIXCertPathValidatorImpl.class index 4feb346..f38f294 100644 Binary files a/libjava/classpath/lib/gnu/java/security/provider/PKIXCertPathValidatorImpl.class and b/libjava/classpath/lib/gnu/java/security/provider/PKIXCertPathValidatorImpl.class differ diff --git a/libjava/classpath/lib/gnu/java/security/util/Base64.class b/libjava/classpath/lib/gnu/java/security/util/Base64.class deleted file mode 100644 index 75ad3c9..0000000 Binary files a/libjava/classpath/lib/gnu/java/security/util/Base64.class and /dev/null differ diff --git a/libjava/classpath/lib/gnu/java/security/util/IntegerUtil$1.class b/libjava/classpath/lib/gnu/java/security/util/IntegerUtil$1.class index 518fc64..2433f46 100644 Binary files a/libjava/classpath/lib/gnu/java/security/util/IntegerUtil$1.class and b/libjava/classpath/lib/gnu/java/security/util/IntegerUtil$1.class differ diff --git a/libjava/classpath/lib/gnu/java/security/util/IntegerUtil.class b/libjava/classpath/lib/gnu/java/security/util/IntegerUtil.class index e18daef..2fcb29f 100644 Binary files a/libjava/classpath/lib/gnu/java/security/util/IntegerUtil.class and b/libjava/classpath/lib/gnu/java/security/util/IntegerUtil.class differ diff --git a/libjava/classpath/lib/gnu/java/security/util/Util.class b/libjava/classpath/lib/gnu/java/security/util/Util.class index 896b4bf..8e14cae 100644 Binary files a/libjava/classpath/lib/gnu/java/security/util/Util.class and b/libjava/classpath/lib/gnu/java/security/util/Util.class differ diff --git a/libjava/classpath/lib/gnu/java/security/x509/X500DistinguishedName.class b/libjava/classpath/lib/gnu/java/security/x509/X500DistinguishedName.class index 8aba225..eeb8bced 100644 Binary files a/libjava/classpath/lib/gnu/java/security/x509/X500DistinguishedName.class and b/libjava/classpath/lib/gnu/java/security/x509/X500DistinguishedName.class differ diff --git a/libjava/classpath/lib/gnu/java/security/x509/X509CRL.class b/libjava/classpath/lib/gnu/java/security/x509/X509CRL.class index 5e2ce96..2648fa4 100644 Binary files a/libjava/classpath/lib/gnu/java/security/x509/X509CRL.class and b/libjava/classpath/lib/gnu/java/security/x509/X509CRL.class differ diff --git a/libjava/classpath/lib/gnu/java/security/x509/X509CRLEntry.class b/libjava/classpath/lib/gnu/java/security/x509/X509CRLEntry.class index 04aa144..dd67393c6 100644 Binary files a/libjava/classpath/lib/gnu/java/security/x509/X509CRLEntry.class and b/libjava/classpath/lib/gnu/java/security/x509/X509CRLEntry.class differ diff --git a/libjava/classpath/lib/gnu/java/security/x509/X509Certificate.class b/libjava/classpath/lib/gnu/java/security/x509/X509Certificate.class index 377554e..b04650d 100644 Binary files a/libjava/classpath/lib/gnu/java/security/x509/X509Certificate.class and b/libjava/classpath/lib/gnu/java/security/x509/X509Certificate.class differ diff --git a/libjava/classpath/lib/gnu/java/security/x509/ext/AuthorityKeyIdentifier.class b/libjava/classpath/lib/gnu/java/security/x509/ext/AuthorityKeyIdentifier.class index 73bc76c..435b1df 100644 Binary files a/libjava/classpath/lib/gnu/java/security/x509/ext/AuthorityKeyIdentifier.class and b/libjava/classpath/lib/gnu/java/security/x509/ext/AuthorityKeyIdentifier.class differ diff --git a/libjava/classpath/lib/gnu/java/security/x509/ext/BasicConstraints.class b/libjava/classpath/lib/gnu/java/security/x509/ext/BasicConstraints.class index 5880c34..31c3043 100644 Binary files a/libjava/classpath/lib/gnu/java/security/x509/ext/BasicConstraints.class and b/libjava/classpath/lib/gnu/java/security/x509/ext/BasicConstraints.class differ diff --git a/libjava/classpath/lib/gnu/java/security/x509/ext/CRLNumber.class b/libjava/classpath/lib/gnu/java/security/x509/ext/CRLNumber.class index 98b5b2f..c743dbc 100644 Binary files a/libjava/classpath/lib/gnu/java/security/x509/ext/CRLNumber.class and b/libjava/classpath/lib/gnu/java/security/x509/ext/CRLNumber.class differ diff --git a/libjava/classpath/lib/gnu/java/security/x509/ext/CertificatePolicies.class b/libjava/classpath/lib/gnu/java/security/x509/ext/CertificatePolicies.class index f562f35..0ee5039 100644 Binary files a/libjava/classpath/lib/gnu/java/security/x509/ext/CertificatePolicies.class and b/libjava/classpath/lib/gnu/java/security/x509/ext/CertificatePolicies.class differ diff --git a/libjava/classpath/lib/gnu/java/security/x509/ext/ExtendedKeyUsage.class b/libjava/classpath/lib/gnu/java/security/x509/ext/ExtendedKeyUsage.class index c4dcb1c..a3de317 100644 Binary files a/libjava/classpath/lib/gnu/java/security/x509/ext/ExtendedKeyUsage.class and b/libjava/classpath/lib/gnu/java/security/x509/ext/ExtendedKeyUsage.class differ diff --git a/libjava/classpath/lib/gnu/java/security/x509/ext/Extension$Value.class b/libjava/classpath/lib/gnu/java/security/x509/ext/Extension$Value.class index 5d8e832..ceb0473 100644 Binary files a/libjava/classpath/lib/gnu/java/security/x509/ext/Extension$Value.class and b/libjava/classpath/lib/gnu/java/security/x509/ext/Extension$Value.class differ diff --git a/libjava/classpath/lib/gnu/java/security/x509/ext/Extension.class b/libjava/classpath/lib/gnu/java/security/x509/ext/Extension.class index db1472d..5dc652b 100644 Binary files a/libjava/classpath/lib/gnu/java/security/x509/ext/Extension.class and b/libjava/classpath/lib/gnu/java/security/x509/ext/Extension.class differ diff --git a/libjava/classpath/lib/gnu/java/security/x509/ext/GeneralName$Kind.class b/libjava/classpath/lib/gnu/java/security/x509/ext/GeneralName$Kind.class new file mode 100644 index 0000000..2aa1acb Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/x509/ext/GeneralName$Kind.class differ diff --git a/libjava/classpath/lib/gnu/java/security/x509/ext/GeneralName.class b/libjava/classpath/lib/gnu/java/security/x509/ext/GeneralName.class new file mode 100644 index 0000000..c0418cf Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/x509/ext/GeneralName.class differ diff --git a/libjava/classpath/lib/gnu/java/security/x509/ext/GeneralNames.class b/libjava/classpath/lib/gnu/java/security/x509/ext/GeneralNames.class index 9fb83d0..c521942 100644 Binary files a/libjava/classpath/lib/gnu/java/security/x509/ext/GeneralNames.class and b/libjava/classpath/lib/gnu/java/security/x509/ext/GeneralNames.class differ diff --git a/libjava/classpath/lib/gnu/java/security/x509/ext/GeneralSubtree.class b/libjava/classpath/lib/gnu/java/security/x509/ext/GeneralSubtree.class new file mode 100644 index 0000000..27670f3 Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/x509/ext/GeneralSubtree.class differ diff --git a/libjava/classpath/lib/gnu/java/security/x509/ext/IssuerAlternativeNames.class b/libjava/classpath/lib/gnu/java/security/x509/ext/IssuerAlternativeNames.class index 15df554..49b0035 100644 Binary files a/libjava/classpath/lib/gnu/java/security/x509/ext/IssuerAlternativeNames.class and b/libjava/classpath/lib/gnu/java/security/x509/ext/IssuerAlternativeNames.class differ diff --git a/libjava/classpath/lib/gnu/java/security/x509/ext/KeyUsage.class b/libjava/classpath/lib/gnu/java/security/x509/ext/KeyUsage.class index ca69c62..961d879 100644 Binary files a/libjava/classpath/lib/gnu/java/security/x509/ext/KeyUsage.class and b/libjava/classpath/lib/gnu/java/security/x509/ext/KeyUsage.class differ diff --git a/libjava/classpath/lib/gnu/java/security/x509/ext/NameConstraints.class b/libjava/classpath/lib/gnu/java/security/x509/ext/NameConstraints.class new file mode 100644 index 0000000..778cb50 Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/x509/ext/NameConstraints.class differ diff --git a/libjava/classpath/lib/gnu/java/security/x509/ext/PolicyConstraint.class b/libjava/classpath/lib/gnu/java/security/x509/ext/PolicyConstraint.class index 79fe36c..db26f5a 100644 Binary files a/libjava/classpath/lib/gnu/java/security/x509/ext/PolicyConstraint.class and b/libjava/classpath/lib/gnu/java/security/x509/ext/PolicyConstraint.class differ diff --git a/libjava/classpath/lib/gnu/java/security/x509/ext/PolicyMappings.class b/libjava/classpath/lib/gnu/java/security/x509/ext/PolicyMappings.class index 5d1da68..6bc741c 100644 Binary files a/libjava/classpath/lib/gnu/java/security/x509/ext/PolicyMappings.class and b/libjava/classpath/lib/gnu/java/security/x509/ext/PolicyMappings.class differ diff --git a/libjava/classpath/lib/gnu/java/security/x509/ext/PrivateKeyUsagePeriod.class b/libjava/classpath/lib/gnu/java/security/x509/ext/PrivateKeyUsagePeriod.class index 483ce3e..dd0e638 100644 Binary files a/libjava/classpath/lib/gnu/java/security/x509/ext/PrivateKeyUsagePeriod.class and b/libjava/classpath/lib/gnu/java/security/x509/ext/PrivateKeyUsagePeriod.class differ diff --git a/libjava/classpath/lib/gnu/java/security/x509/ext/ReasonCode.class b/libjava/classpath/lib/gnu/java/security/x509/ext/ReasonCode.class index 2b5d160..b7b9bde 100644 Binary files a/libjava/classpath/lib/gnu/java/security/x509/ext/ReasonCode.class and b/libjava/classpath/lib/gnu/java/security/x509/ext/ReasonCode.class differ diff --git a/libjava/classpath/lib/gnu/java/security/x509/ext/SubjectAlternativeNames.class b/libjava/classpath/lib/gnu/java/security/x509/ext/SubjectAlternativeNames.class index 75f9738..a496b3d 100644 Binary files a/libjava/classpath/lib/gnu/java/security/x509/ext/SubjectAlternativeNames.class and b/libjava/classpath/lib/gnu/java/security/x509/ext/SubjectAlternativeNames.class differ diff --git a/libjava/classpath/lib/gnu/java/security/x509/ext/SubjectKeyIdentifier.class b/libjava/classpath/lib/gnu/java/security/x509/ext/SubjectKeyIdentifier.class index 2bb8d26..1a91cae 100644 Binary files a/libjava/classpath/lib/gnu/java/security/x509/ext/SubjectKeyIdentifier.class and b/libjava/classpath/lib/gnu/java/security/x509/ext/SubjectKeyIdentifier.class differ diff --git a/libjava/classpath/lib/gnu/java/text/AttributedFormatBuffer.class b/libjava/classpath/lib/gnu/java/text/AttributedFormatBuffer.class index 6d0fb15..265b893 100644 Binary files a/libjava/classpath/lib/gnu/java/text/AttributedFormatBuffer.class and b/libjava/classpath/lib/gnu/java/text/AttributedFormatBuffer.class differ diff --git a/libjava/classpath/lib/gnu/java/text/FormatBuffer.class b/libjava/classpath/lib/gnu/java/text/FormatBuffer.class index fa4394e..aefba44 100644 Binary files a/libjava/classpath/lib/gnu/java/text/FormatBuffer.class and b/libjava/classpath/lib/gnu/java/text/FormatBuffer.class differ diff --git a/libjava/classpath/lib/gnu/java/text/FormatCharacterIterator.class b/libjava/classpath/lib/gnu/java/text/FormatCharacterIterator.class index 0597d6e..5942a8b 100644 Binary files a/libjava/classpath/lib/gnu/java/text/FormatCharacterIterator.class and b/libjava/classpath/lib/gnu/java/text/FormatCharacterIterator.class differ diff --git a/libjava/classpath/lib/gnu/java/text/StringFormatBuffer.class b/libjava/classpath/lib/gnu/java/text/StringFormatBuffer.class index de6b9d9..d677e89 100644 Binary files a/libjava/classpath/lib/gnu/java/text/StringFormatBuffer.class and b/libjava/classpath/lib/gnu/java/text/StringFormatBuffer.class differ diff --git a/libjava/classpath/lib/gnu/java/util/Base64.class b/libjava/classpath/lib/gnu/java/util/Base64.class new file mode 100644 index 0000000..3c5f791 Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/Base64.class differ diff --git a/libjava/classpath/lib/gnu/java/util/WeakIdentityHashMap$1.class b/libjava/classpath/lib/gnu/java/util/WeakIdentityHashMap$1.class index eb7c64a..2abf645 100644 Binary files a/libjava/classpath/lib/gnu/java/util/WeakIdentityHashMap$1.class and b/libjava/classpath/lib/gnu/java/util/WeakIdentityHashMap$1.class differ diff --git a/libjava/classpath/lib/gnu/java/util/WeakIdentityHashMap$WeakBucket$WeakEntry.class b/libjava/classpath/lib/gnu/java/util/WeakIdentityHashMap$WeakBucket$WeakEntry.class index b7bf52c..8298bc0 100644 Binary files a/libjava/classpath/lib/gnu/java/util/WeakIdentityHashMap$WeakBucket$WeakEntry.class and b/libjava/classpath/lib/gnu/java/util/WeakIdentityHashMap$WeakBucket$WeakEntry.class differ diff --git a/libjava/classpath/lib/gnu/java/util/WeakIdentityHashMap$WeakEntrySet.class b/libjava/classpath/lib/gnu/java/util/WeakIdentityHashMap$WeakEntrySet.class index a889aae..9924618 100644 Binary files a/libjava/classpath/lib/gnu/java/util/WeakIdentityHashMap$WeakEntrySet.class and b/libjava/classpath/lib/gnu/java/util/WeakIdentityHashMap$WeakEntrySet.class differ diff --git a/libjava/classpath/lib/gnu/java/util/WeakIdentityHashMap.class b/libjava/classpath/lib/gnu/java/util/WeakIdentityHashMap.class index 0b205de..5ca0eef 100644 Binary files a/libjava/classpath/lib/gnu/java/util/WeakIdentityHashMap.class and b/libjava/classpath/lib/gnu/java/util/WeakIdentityHashMap.class differ diff --git a/libjava/classpath/lib/gnu/java/util/ZoneInfo.class b/libjava/classpath/lib/gnu/java/util/ZoneInfo.class index 9265e25..ffd7cd8 100644 Binary files a/libjava/classpath/lib/gnu/java/util/ZoneInfo.class and b/libjava/classpath/lib/gnu/java/util/ZoneInfo.class differ diff --git a/libjava/classpath/lib/gnu/java/util/jar/JarUtils.class b/libjava/classpath/lib/gnu/java/util/jar/JarUtils.class index b2c6b89..ebe9bf3 100644 Binary files a/libjava/classpath/lib/gnu/java/util/jar/JarUtils.class and b/libjava/classpath/lib/gnu/java/util/jar/JarUtils.class differ diff --git a/libjava/classpath/lib/gnu/java/util/prefs/EventDispatcher.class b/libjava/classpath/lib/gnu/java/util/prefs/EventDispatcher.class index 6f7ec17..932eb99 100644 Binary files a/libjava/classpath/lib/gnu/java/util/prefs/EventDispatcher.class and b/libjava/classpath/lib/gnu/java/util/prefs/EventDispatcher.class differ diff --git a/libjava/classpath/lib/gnu/java/util/prefs/FileBasedPreferences$1.class b/libjava/classpath/lib/gnu/java/util/prefs/FileBasedPreferences$1.class index d7082f4..cfc39c8 100644 Binary files a/libjava/classpath/lib/gnu/java/util/prefs/FileBasedPreferences$1.class and b/libjava/classpath/lib/gnu/java/util/prefs/FileBasedPreferences$1.class differ diff --git a/libjava/classpath/lib/gnu/java/util/prefs/FileBasedPreferences.class b/libjava/classpath/lib/gnu/java/util/prefs/FileBasedPreferences.class index 7cb1c96..4a7e177 100644 Binary files a/libjava/classpath/lib/gnu/java/util/prefs/FileBasedPreferences.class and b/libjava/classpath/lib/gnu/java/util/prefs/FileBasedPreferences.class differ diff --git a/libjava/classpath/lib/gnu/java/util/prefs/GConfBasedPreferences.class b/libjava/classpath/lib/gnu/java/util/prefs/GConfBasedPreferences.class index db5bd124..78bc0ca 100644 Binary files a/libjava/classpath/lib/gnu/java/util/prefs/GConfBasedPreferences.class and b/libjava/classpath/lib/gnu/java/util/prefs/GConfBasedPreferences.class differ diff --git a/libjava/classpath/lib/gnu/java/util/prefs/MemoryBasedPreferences.class b/libjava/classpath/lib/gnu/java/util/prefs/MemoryBasedPreferences.class index 9f25fa4..faeffbd 100644 Binary files a/libjava/classpath/lib/gnu/java/util/prefs/MemoryBasedPreferences.class and b/libjava/classpath/lib/gnu/java/util/prefs/MemoryBasedPreferences.class differ diff --git a/libjava/classpath/lib/gnu/java/util/prefs/gconf/GConfNativePeer.class b/libjava/classpath/lib/gnu/java/util/prefs/gconf/GConfNativePeer.class index 7a24d86..fb4d703 100644 Binary files a/libjava/classpath/lib/gnu/java/util/prefs/gconf/GConfNativePeer.class and b/libjava/classpath/lib/gnu/java/util/prefs/gconf/GConfNativePeer.class differ diff --git a/libjava/classpath/lib/gnu/java/util/regex/RE.class b/libjava/classpath/lib/gnu/java/util/regex/RE.class index d2b08da..9092caa 100644 Binary files a/libjava/classpath/lib/gnu/java/util/regex/RE.class and b/libjava/classpath/lib/gnu/java/util/regex/RE.class differ diff --git a/libjava/classpath/lib/gnu/java/util/regex/RETokenChar.class b/libjava/classpath/lib/gnu/java/util/regex/RETokenChar.class index 0d9a72a..f2804f0 100644 Binary files a/libjava/classpath/lib/gnu/java/util/regex/RETokenChar.class and b/libjava/classpath/lib/gnu/java/util/regex/RETokenChar.class differ diff --git a/libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty$1.class b/libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty$1.class index 1098513..45223b2 100644 Binary files a/libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty$1.class and b/libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty$1.class differ diff --git a/libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty$POSIXHandler.class b/libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty$POSIXHandler.class index 8ac5ab2..828a02e 100644 Binary files a/libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty$POSIXHandler.class and b/libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty$POSIXHandler.class differ diff --git a/libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty$UnicodeBlockHandler.class b/libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty$UnicodeBlockHandler.class index 5807ea3d..8b63c0b 100644 Binary files a/libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty$UnicodeBlockHandler.class and b/libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty$UnicodeBlockHandler.class differ diff --git a/libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty$UnicodeCategoriesHandler.class b/libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty$UnicodeCategoriesHandler.class index 9a0cdb5..b288615 100644 Binary files a/libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty$UnicodeCategoriesHandler.class and b/libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty$UnicodeCategoriesHandler.class differ diff --git a/libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty$UnicodeCategoryHandler.class b/libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty$UnicodeCategoryHandler.class index fb099b6..1c7997b 100644 Binary files a/libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty$UnicodeCategoryHandler.class and b/libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty$UnicodeCategoryHandler.class differ diff --git a/libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty.class b/libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty.class index c4e36ae..6232c7e 100644 Binary files a/libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty.class and b/libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty.class differ diff --git a/libjava/classpath/lib/gnu/java/util/regex/RETokenOneOf.class b/libjava/classpath/lib/gnu/java/util/regex/RETokenOneOf.class index 2606bd6..00c99bd 100644 Binary files a/libjava/classpath/lib/gnu/java/util/regex/RETokenOneOf.class and b/libjava/classpath/lib/gnu/java/util/regex/RETokenOneOf.class differ diff --git a/libjava/classpath/lib/gnu/java/util/regex/RETokenRepeated$DoablesFinder.class b/libjava/classpath/lib/gnu/java/util/regex/RETokenRepeated$DoablesFinder.class index 5fa7c5e..b265e51 100644 Binary files a/libjava/classpath/lib/gnu/java/util/regex/RETokenRepeated$DoablesFinder.class and b/libjava/classpath/lib/gnu/java/util/regex/RETokenRepeated$DoablesFinder.class differ diff --git a/libjava/classpath/lib/gnu/java/util/regex/RETokenRepeated$FindMatchControl.class b/libjava/classpath/lib/gnu/java/util/regex/RETokenRepeated$FindMatchControl.class index f73abcb..5deb76f 100644 Binary files a/libjava/classpath/lib/gnu/java/util/regex/RETokenRepeated$FindMatchControl.class and b/libjava/classpath/lib/gnu/java/util/regex/RETokenRepeated$FindMatchControl.class differ diff --git a/libjava/classpath/lib/gnu/java/util/regex/RETokenRepeated$FindMatchControlStack.class b/libjava/classpath/lib/gnu/java/util/regex/RETokenRepeated$FindMatchControlStack.class index b13752e..6e0260d 100644 Binary files a/libjava/classpath/lib/gnu/java/util/regex/RETokenRepeated$FindMatchControlStack.class and b/libjava/classpath/lib/gnu/java/util/regex/RETokenRepeated$FindMatchControlStack.class differ diff --git a/libjava/classpath/lib/gnu/java/util/regex/RETokenRepeated$StackedInfo.class b/libjava/classpath/lib/gnu/java/util/regex/RETokenRepeated$StackedInfo.class index cea6393..827bfe7 100644 Binary files a/libjava/classpath/lib/gnu/java/util/regex/RETokenRepeated$StackedInfo.class and b/libjava/classpath/lib/gnu/java/util/regex/RETokenRepeated$StackedInfo.class differ diff --git a/libjava/classpath/lib/gnu/java/util/regex/RETokenRepeated.class b/libjava/classpath/lib/gnu/java/util/regex/RETokenRepeated.class index b3570c1..40629db 100644 Binary files a/libjava/classpath/lib/gnu/java/util/regex/RETokenRepeated.class and b/libjava/classpath/lib/gnu/java/util/regex/RETokenRepeated.class differ diff --git a/libjava/classpath/lib/gnu/javax/crypto/assembly/Cascade.class b/libjava/classpath/lib/gnu/javax/crypto/assembly/Cascade.class index 171e508..af082cf 100644 Binary files a/libjava/classpath/lib/gnu/javax/crypto/assembly/Cascade.class and b/libjava/classpath/lib/gnu/javax/crypto/assembly/Cascade.class differ diff --git a/libjava/classpath/lib/gnu/javax/crypto/cipher/Blowfish.class b/libjava/classpath/lib/gnu/javax/crypto/cipher/Blowfish.class index ac56124..078d44e 100644 Binary files a/libjava/classpath/lib/gnu/javax/crypto/cipher/Blowfish.class and b/libjava/classpath/lib/gnu/javax/crypto/cipher/Blowfish.class differ diff --git a/libjava/classpath/lib/gnu/javax/crypto/cipher/TripleDES$Context.class b/libjava/classpath/lib/gnu/javax/crypto/cipher/TripleDES$Context.class index e1c47ab..a2938a6 100644 Binary files a/libjava/classpath/lib/gnu/javax/crypto/cipher/TripleDES$Context.class and b/libjava/classpath/lib/gnu/javax/crypto/cipher/TripleDES$Context.class differ diff --git a/libjava/classpath/lib/gnu/javax/crypto/cipher/TripleDES.class b/libjava/classpath/lib/gnu/javax/crypto/cipher/TripleDES.class index a92b962..3201225 100644 Binary files a/libjava/classpath/lib/gnu/javax/crypto/cipher/TripleDES.class and b/libjava/classpath/lib/gnu/javax/crypto/cipher/TripleDES.class differ diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/GnuCrypto$1.class b/libjava/classpath/lib/gnu/javax/crypto/jce/GnuCrypto$1.class index 13b01ac..077dc11 100644 Binary files a/libjava/classpath/lib/gnu/javax/crypto/jce/GnuCrypto$1.class and b/libjava/classpath/lib/gnu/javax/crypto/jce/GnuCrypto$1.class differ diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/GnuCrypto.class b/libjava/classpath/lib/gnu/javax/crypto/jce/GnuCrypto.class index 746da7b..fbc4313 100644 Binary files a/libjava/classpath/lib/gnu/javax/crypto/jce/GnuCrypto.class and b/libjava/classpath/lib/gnu/javax/crypto/jce/GnuCrypto.class differ diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/GnuSasl$1.class b/libjava/classpath/lib/gnu/javax/crypto/jce/GnuSasl$1.class index 039f92c..a677036 100644 Binary files a/libjava/classpath/lib/gnu/javax/crypto/jce/GnuSasl$1.class and b/libjava/classpath/lib/gnu/javax/crypto/jce/GnuSasl$1.class differ diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/GnuSasl.class b/libjava/classpath/lib/gnu/javax/crypto/jce/GnuSasl.class index cad5a40..4ccb221 100644 Binary files a/libjava/classpath/lib/gnu/javax/crypto/jce/GnuSasl.class and b/libjava/classpath/lib/gnu/javax/crypto/jce/GnuSasl.class differ diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2.class index f82f244..a10c0d6 100644 Binary files a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2.class and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2.class differ diff --git a/libjava/classpath/lib/gnu/javax/crypto/keyring/Properties.class b/libjava/classpath/lib/gnu/javax/crypto/keyring/Properties.class index 1a02d62..a335fb3 100644 Binary files a/libjava/classpath/lib/gnu/javax/crypto/keyring/Properties.class and b/libjava/classpath/lib/gnu/javax/crypto/keyring/Properties.class differ diff --git a/libjava/classpath/lib/gnu/javax/crypto/mac/UHash32$L1Hash32.class b/libjava/classpath/lib/gnu/javax/crypto/mac/UHash32$L1Hash32.class index f6276a8..8bab63b 100644 Binary files a/libjava/classpath/lib/gnu/javax/crypto/mac/UHash32$L1Hash32.class and b/libjava/classpath/lib/gnu/javax/crypto/mac/UHash32$L1Hash32.class differ diff --git a/libjava/classpath/lib/gnu/javax/crypto/prng/CSPRNG$1.class b/libjava/classpath/lib/gnu/javax/crypto/prng/CSPRNG$1.class index c7592d2..aac5628 100644 Binary files a/libjava/classpath/lib/gnu/javax/crypto/prng/CSPRNG$1.class and b/libjava/classpath/lib/gnu/javax/crypto/prng/CSPRNG$1.class differ diff --git a/libjava/classpath/lib/gnu/javax/crypto/prng/CSPRNG$Poller.class b/libjava/classpath/lib/gnu/javax/crypto/prng/CSPRNG$Poller.class index ebb8e4a..f143726 100644 Binary files a/libjava/classpath/lib/gnu/javax/crypto/prng/CSPRNG$Poller.class and b/libjava/classpath/lib/gnu/javax/crypto/prng/CSPRNG$Poller.class differ diff --git a/libjava/classpath/lib/gnu/javax/crypto/prng/CSPRNG.class b/libjava/classpath/lib/gnu/javax/crypto/prng/CSPRNG.class index 537fe2f..717cf01 100644 Binary files a/libjava/classpath/lib/gnu/javax/crypto/prng/CSPRNG.class and b/libjava/classpath/lib/gnu/javax/crypto/prng/CSPRNG.class differ diff --git a/libjava/classpath/lib/gnu/javax/crypto/sasl/srp/PasswordFile.class b/libjava/classpath/lib/gnu/javax/crypto/sasl/srp/PasswordFile.class index b92fe4f..e4dfabc 100644 Binary files a/libjava/classpath/lib/gnu/javax/crypto/sasl/srp/PasswordFile.class and b/libjava/classpath/lib/gnu/javax/crypto/sasl/srp/PasswordFile.class differ diff --git a/libjava/classpath/lib/gnu/javax/imageio/bmp/DecodeRLE4.class b/libjava/classpath/lib/gnu/javax/imageio/bmp/DecodeRLE4.class index 1fd12dd..980ecf2 100644 Binary files a/libjava/classpath/lib/gnu/javax/imageio/bmp/DecodeRLE4.class and b/libjava/classpath/lib/gnu/javax/imageio/bmp/DecodeRLE4.class differ diff --git a/libjava/classpath/lib/gnu/javax/imageio/bmp/DecodeRLE8.class b/libjava/classpath/lib/gnu/javax/imageio/bmp/DecodeRLE8.class index 3395c9d..01849c2 100644 Binary files a/libjava/classpath/lib/gnu/javax/imageio/bmp/DecodeRLE8.class and b/libjava/classpath/lib/gnu/javax/imageio/bmp/DecodeRLE8.class differ diff --git a/libjava/classpath/lib/gnu/javax/imageio/bmp/EncodeRLE4.class b/libjava/classpath/lib/gnu/javax/imageio/bmp/EncodeRLE4.class index bfe8f87..9d2f75c 100644 Binary files a/libjava/classpath/lib/gnu/javax/imageio/bmp/EncodeRLE4.class and b/libjava/classpath/lib/gnu/javax/imageio/bmp/EncodeRLE4.class differ diff --git a/libjava/classpath/lib/gnu/javax/imageio/bmp/EncodeRLE8.class b/libjava/classpath/lib/gnu/javax/imageio/bmp/EncodeRLE8.class index 78d8bea..485c8cc 100644 Binary files a/libjava/classpath/lib/gnu/javax/imageio/bmp/EncodeRLE8.class and b/libjava/classpath/lib/gnu/javax/imageio/bmp/EncodeRLE8.class differ diff --git a/libjava/classpath/lib/gnu/javax/imageio/gif/GIFImageReader.class b/libjava/classpath/lib/gnu/javax/imageio/gif/GIFImageReader.class index 28bc258..cffe66c 100644 Binary files a/libjava/classpath/lib/gnu/javax/imageio/gif/GIFImageReader.class and b/libjava/classpath/lib/gnu/javax/imageio/gif/GIFImageReader.class differ diff --git a/libjava/classpath/lib/gnu/javax/imageio/jpeg/JPEGDecoder.class b/libjava/classpath/lib/gnu/javax/imageio/jpeg/JPEGDecoder.class index f834155..5d11e33 100644 Binary files a/libjava/classpath/lib/gnu/javax/imageio/jpeg/JPEGDecoder.class and b/libjava/classpath/lib/gnu/javax/imageio/jpeg/JPEGDecoder.class differ diff --git a/libjava/classpath/lib/gnu/javax/imageio/png/PNGICCProfile.class b/libjava/classpath/lib/gnu/javax/imageio/png/PNGICCProfile.class index ea40386..4e2347f 100644 Binary files a/libjava/classpath/lib/gnu/javax/imageio/png/PNGICCProfile.class and b/libjava/classpath/lib/gnu/javax/imageio/png/PNGICCProfile.class differ diff --git a/libjava/classpath/lib/gnu/javax/management/Server.class b/libjava/classpath/lib/gnu/javax/management/Server.class index 386f48e..060f707 100644 Binary files a/libjava/classpath/lib/gnu/javax/management/Server.class and b/libjava/classpath/lib/gnu/javax/management/Server.class differ diff --git a/libjava/classpath/lib/gnu/javax/management/Translator.class b/libjava/classpath/lib/gnu/javax/management/Translator.class new file mode 100644 index 0000000..ea04b30 Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/management/Translator.class differ diff --git a/libjava/classpath/lib/gnu/javax/naming/giop/CorbalocParser.class b/libjava/classpath/lib/gnu/javax/naming/giop/CorbalocParser.class index e31b24f..77c8c4c 100644 Binary files a/libjava/classpath/lib/gnu/javax/naming/giop/CorbalocParser.class and b/libjava/classpath/lib/gnu/javax/naming/giop/CorbalocParser.class differ diff --git a/libjava/classpath/lib/gnu/javax/naming/giop/GiopNamingServiceFactory$1.class b/libjava/classpath/lib/gnu/javax/naming/giop/GiopNamingServiceFactory$1.class index 7120697..a264643 100644 Binary files a/libjava/classpath/lib/gnu/javax/naming/giop/GiopNamingServiceFactory$1.class and b/libjava/classpath/lib/gnu/javax/naming/giop/GiopNamingServiceFactory$1.class differ diff --git a/libjava/classpath/lib/gnu/javax/naming/giop/GiopNamingServiceFactory.class b/libjava/classpath/lib/gnu/javax/naming/giop/GiopNamingServiceFactory.class index 249ecb2..3a731ce 100644 Binary files a/libjava/classpath/lib/gnu/javax/naming/giop/GiopNamingServiceFactory.class and b/libjava/classpath/lib/gnu/javax/naming/giop/GiopNamingServiceFactory.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/Base64.class b/libjava/classpath/lib/gnu/javax/net/ssl/Base64.class deleted file mode 100644 index dbbea5b..0000000 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/Base64.class and /dev/null differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/PrivateCredentials.class b/libjava/classpath/lib/gnu/javax/net/ssl/PrivateCredentials.class index 78dc1ff..71ce1ad 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/PrivateCredentials.class and b/libjava/classpath/lib/gnu/javax/net/ssl/PrivateCredentials.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/AbstractHandshake$1.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/AbstractHandshake$1.class index 9e6a7d2..303fee3 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/AbstractHandshake$1.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/AbstractHandshake$1.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/AbstractHandshake$CertVerifier.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/AbstractHandshake$CertVerifier.class index 1b68307..c529a59 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/AbstractHandshake$CertVerifier.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/AbstractHandshake$CertVerifier.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/AbstractHandshake.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/AbstractHandshake.class index 063f2b2..fd275c0 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/AbstractHandshake.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/AbstractHandshake.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/Alert$Description.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Alert$Description.class index c8403e8..0357742 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/Alert$Description.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Alert$Description.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/Alert$Level.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Alert$Level.class index 6cdbb32..6eff4bf 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/Alert$Level.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Alert$Level.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/Alert.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Alert.class index 56c0619..65a6fac 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/Alert.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Alert.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/AlertException.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/AlertException.class index 153a8a2..b1cf6cd 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/AlertException.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/AlertException.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/Certificate.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Certificate.class index 46876c9..509efa9 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/Certificate.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Certificate.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateRequest$ClientCertificateType.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateRequest$ClientCertificateType.class index 29a529c..77e2814 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateRequest$ClientCertificateType.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateRequest$ClientCertificateType.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateRequest.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateRequest.class index 9423b74..f2b1622 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateRequest.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateRequest.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateRequestBuilder.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateRequestBuilder.class index 55e3648..3013049 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateRequestBuilder.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateRequestBuilder.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateStatusRequest$ResponderIdIterator.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateStatusRequest$ResponderIdIterator.class index a5b971d..6d459fb 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateStatusRequest$ResponderIdIterator.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateStatusRequest$ResponderIdIterator.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateStatusRequest.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateStatusRequest.class index 51fd521..ce7badb 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateStatusRequest.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateStatusRequest.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateURL$CertChainType.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateURL$CertChainType.class index a91b0f7..d012700 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateURL$CertChainType.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateURL$CertChainType.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateURL$Iterator.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateURL$Iterator.class index 5d6bd64..bf95171 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateURL$Iterator.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateURL$Iterator.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateURL.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateURL.class index 93c03fc..a2a9ed6 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateURL.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateURL.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateVerify.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateVerify.class index 256517c..781e33a 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateVerify.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateVerify.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/CipherSuiteList$Iterator.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CipherSuiteList$Iterator.class index 860010a..0878899 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/CipherSuiteList$Iterator.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CipherSuiteList$Iterator.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/CipherSuiteList.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CipherSuiteList.class index d3e12e1..cca3f70 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/CipherSuiteList.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CipherSuiteList.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientCertificateTypeList$Iterator.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientCertificateTypeList$Iterator.class index 5aa251e..c650723 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientCertificateTypeList$Iterator.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientCertificateTypeList$Iterator.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientCertificateTypeList.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientCertificateTypeList.class index 5c4c4e4..c32a902 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientCertificateTypeList.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientCertificateTypeList.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHandshake$ClientDHGen.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHandshake$ClientDHGen.class index 1e1a5c2..f4930c7 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHandshake$ClientDHGen.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHandshake$ClientDHGen.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHandshake$RSAGen.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHandshake$RSAGen.class index 6d99e3e..cdd388d 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHandshake$RSAGen.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHandshake$RSAGen.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHandshake$State.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHandshake$State.class index abdc3cc..5f1a5ab 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHandshake$State.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHandshake$State.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHandshake.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHandshake.class index a8a202e..e828c1d 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHandshake.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHandshake.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHello.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHello.class index 7e90349..5658c61 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHello.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHello.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientKeyExchange.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientKeyExchange.class index 13b5f4f..510a1f2 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientKeyExchange.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientKeyExchange.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/CompressionMethodList$Iterator.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CompressionMethodList$Iterator.class index 2b144ae..7ed73b4 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/CompressionMethodList$Iterator.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CompressionMethodList$Iterator.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/CompressionMethodList.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CompressionMethodList.class index a686a9d..a929539 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/CompressionMethodList.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CompressionMethodList.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/DelegatedTask.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/DelegatedTask.class index 8523bdd..73fdab6 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/DelegatedTask.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/DelegatedTask.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/Extension$Type.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Extension$Type.class index 6bd8fd9..e807076 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/Extension$Type.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Extension$Type.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ExtensionList$ExtensionsIterator.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ExtensionList$ExtensionsIterator.class index 1192103..7a15670 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ExtensionList$ExtensionsIterator.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ExtensionList$ExtensionsIterator.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ExtensionList.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ExtensionList.class index b63f291..3543b4a 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ExtensionList.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ExtensionList.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/Finished.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Finished.class index 50e67a2..2a12331 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/Finished.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Finished.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/Handshake$Type.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Handshake$Type.class index fb1af75..06559fc 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/Handshake$Type.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Handshake$Type.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/HelloRequest.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/HelloRequest.class index 4fd0428..8c915a6 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/HelloRequest.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/HelloRequest.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/Jessie$1.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Jessie$1.class index fdd8723..e73c655 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/Jessie$1.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Jessie$1.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/Jessie.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Jessie.class index fb217be..eb2497a 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/Jessie.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Jessie.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/MaxFragmentLength.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/MaxFragmentLength.class index b9341fa..b5c8884 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/MaxFragmentLength.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/MaxFragmentLength.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLEngineImpl$Mode.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLEngineImpl$Mode.class index 5a21dae..033eef7 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLEngineImpl$Mode.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLEngineImpl$Mode.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLEngineImpl.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLEngineImpl.class index 1080d19..3766f3e 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLEngineImpl.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLEngineImpl.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLRSASignatureImpl.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLRSASignatureImpl.class index c080983..604d7d2 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLRSASignatureImpl.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLRSASignatureImpl.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLSocketImpl$1.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLSocketImpl$1.class index ffeeabd..967eaa9 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLSocketImpl$1.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLSocketImpl$1.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLSocketImpl$SocketInputStream.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLSocketImpl$SocketInputStream.class index 807805c..a39ba19 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLSocketImpl$SocketInputStream.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLSocketImpl$SocketInputStream.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLSocketImpl$SocketOutputStream.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLSocketImpl$SocketOutputStream.class index 0df84a5..c2d05ba 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLSocketImpl$SocketOutputStream.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLSocketImpl$SocketOutputStream.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLSocketImpl.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLSocketImpl.class index e966b4d..dc39f09 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLSocketImpl.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLSocketImpl.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHandshake$State.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHandshake$State.class index 120d811..c27c052 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHandshake$State.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHandshake$State.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHandshake.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHandshake.class index 092029d..e251d29 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHandshake.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHandshake.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHello.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHello.class index 5f4bafb..f2f04fc 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHello.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHello.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHelloDone.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHelloDone.class index 8dfb260..d94d89a 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHelloDone.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHelloDone.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerKeyExchange.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerKeyExchange.class index ec0a6ae..3184f4b 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerKeyExchange.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerKeyExchange.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerNameList$Iterator.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerNameList$Iterator.class index 67f8df4..fcf7cad 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerNameList$Iterator.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerNameList$Iterator.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerNameList$NameType.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerNameList$NameType.class index 2fbaf34..862097a 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerNameList$NameType.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerNameList$NameType.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerNameList$ServerName.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerNameList$ServerName.class index 14aa39f..a7a0f5a 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerNameList$ServerName.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerNameList$ServerName.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerNameList.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerNameList.class index feed520..f06e881 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerNameList.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerNameList.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/SessionImpl.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SessionImpl.class index 106f9ce..0b4f9d6 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/SessionImpl.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SessionImpl.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/SimpleSessionContext$1.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SimpleSessionContext$1.class index 5e48767..bdf9a8f 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/SimpleSessionContext$1.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SimpleSessionContext$1.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/SimpleSessionContext.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SimpleSessionContext.class index 6dfd010..acfa963 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/SimpleSessionContext.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SimpleSessionContext.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/TruncatedHMAC.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/TruncatedHMAC.class index c270beb..11843a2 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/TruncatedHMAC.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/TruncatedHMAC.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/TrustedAuthorities$AuthoritiesIterator.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/TrustedAuthorities$AuthoritiesIterator.class index aee80a9..ce63025 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/TrustedAuthorities$AuthoritiesIterator.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/TrustedAuthorities$AuthoritiesIterator.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/TrustedAuthorities$IdentifierType.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/TrustedAuthorities$IdentifierType.class index 9295598..496741b 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/TrustedAuthorities$IdentifierType.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/TrustedAuthorities$IdentifierType.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/TrustedAuthorities$TrustedAuthority.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/TrustedAuthorities$TrustedAuthority.class index da386d6..c197231 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/TrustedAuthorities$TrustedAuthority.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/TrustedAuthorities$TrustedAuthority.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/TrustedAuthorities.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/TrustedAuthorities.class index 6fb5167..63ae2b0 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/TrustedAuthorities.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/TrustedAuthorities.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/UnresolvedExtensionValue.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/UnresolvedExtensionValue.class index e1fe208..c3c2546 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/UnresolvedExtensionValue.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/UnresolvedExtensionValue.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/Util$1.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Util$1.class index 7c58dce..9f0a629 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/Util$1.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Util$1.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/Util$2.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Util$2.class index e85173e..5368b25 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/Util$2.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Util$2.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/Util.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Util.class index f6142e3..678d148 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/Util.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Util.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/X500PrincipalList$Iterator.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/X500PrincipalList$Iterator.class index e5fa0f0..d0d5ce5 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/X500PrincipalList$Iterator.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/X500PrincipalList$Iterator.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/X500PrincipalList.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/X500PrincipalList.class index 5e7b6e9..074ef75 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/X500PrincipalList.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/X500PrincipalList.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/X509KeyManagerFactory$Manager.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/X509KeyManagerFactory$Manager.class index a8676d6..ce7c385 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/X509KeyManagerFactory$Manager.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/X509KeyManagerFactory$Manager.class differ diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/X509TrustManagerFactory$Manager.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/X509TrustManagerFactory$Manager.class index fcbf570..3861bbf 100644 Binary files a/libjava/classpath/lib/gnu/javax/net/ssl/provider/X509TrustManagerFactory$Manager.class and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/X509TrustManagerFactory$Manager.class differ diff --git a/libjava/classpath/lib/gnu/javax/print/CupsServer.class b/libjava/classpath/lib/gnu/javax/print/CupsServer.class index 06f6c23..47fa4f7 100644 Binary files a/libjava/classpath/lib/gnu/javax/print/CupsServer.class and b/libjava/classpath/lib/gnu/javax/print/CupsServer.class differ diff --git a/libjava/classpath/lib/gnu/javax/print/PrinterDialog$AppearancePanel.class b/libjava/classpath/lib/gnu/javax/print/PrinterDialog$AppearancePanel.class index d162466..f6eec02 100644 Binary files a/libjava/classpath/lib/gnu/javax/print/PrinterDialog$AppearancePanel.class and b/libjava/classpath/lib/gnu/javax/print/PrinterDialog$AppearancePanel.class differ diff --git a/libjava/classpath/lib/gnu/javax/print/PrinterDialog$PageSetupPanel.class b/libjava/classpath/lib/gnu/javax/print/PrinterDialog$PageSetupPanel.class index 73df993..c7e1a5f 100644 Binary files a/libjava/classpath/lib/gnu/javax/print/PrinterDialog$PageSetupPanel.class and b/libjava/classpath/lib/gnu/javax/print/PrinterDialog$PageSetupPanel.class differ diff --git a/libjava/classpath/lib/gnu/javax/print/PrinterDialog.class b/libjava/classpath/lib/gnu/javax/print/PrinterDialog.class index 9fc4db1..8496d9b 100644 Binary files a/libjava/classpath/lib/gnu/javax/print/PrinterDialog.class and b/libjava/classpath/lib/gnu/javax/print/PrinterDialog.class differ diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/DocPrintJobImpl.class b/libjava/classpath/lib/gnu/javax/print/ipp/DocPrintJobImpl.class index 07ffdab..974899f 100644 Binary files a/libjava/classpath/lib/gnu/javax/print/ipp/DocPrintJobImpl.class and b/libjava/classpath/lib/gnu/javax/print/ipp/DocPrintJobImpl.class differ diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/IppPrintService.class b/libjava/classpath/lib/gnu/javax/print/ipp/IppPrintService.class index ebaf409..c44e1cf 100644 Binary files a/libjava/classpath/lib/gnu/javax/print/ipp/IppPrintService.class and b/libjava/classpath/lib/gnu/javax/print/ipp/IppPrintService.class differ diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/IppResponse$ResponseReader.class b/libjava/classpath/lib/gnu/javax/print/ipp/IppResponse$ResponseReader.class index a6d3829..2d0d804 100644 Binary files a/libjava/classpath/lib/gnu/javax/print/ipp/IppResponse$ResponseReader.class and b/libjava/classpath/lib/gnu/javax/print/ipp/IppResponse$ResponseReader.class differ diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/IppUtilities.class b/libjava/classpath/lib/gnu/javax/print/ipp/IppUtilities.class index a98c3c3..9117509 100644 Binary files a/libjava/classpath/lib/gnu/javax/print/ipp/IppUtilities.class and b/libjava/classpath/lib/gnu/javax/print/ipp/IppUtilities.class differ diff --git a/libjava/classpath/lib/gnu/javax/rmi/CORBA/PortableRemoteObjectDelegateImpl.class b/libjava/classpath/lib/gnu/javax/rmi/CORBA/PortableRemoteObjectDelegateImpl.class index 01b7bb8..e199d76 100644 Binary files a/libjava/classpath/lib/gnu/javax/rmi/CORBA/PortableRemoteObjectDelegateImpl.class and b/libjava/classpath/lib/gnu/javax/rmi/CORBA/PortableRemoteObjectDelegateImpl.class differ diff --git a/libjava/classpath/lib/gnu/javax/rmi/CORBA/RmiUtilities$1.class b/libjava/classpath/lib/gnu/javax/rmi/CORBA/RmiUtilities$1.class index b431227..6971b3d 100644 Binary files a/libjava/classpath/lib/gnu/javax/rmi/CORBA/RmiUtilities$1.class and b/libjava/classpath/lib/gnu/javax/rmi/CORBA/RmiUtilities$1.class differ diff --git a/libjava/classpath/lib/gnu/javax/rmi/CORBA/RmiUtilities$2.class b/libjava/classpath/lib/gnu/javax/rmi/CORBA/RmiUtilities$2.class index dcedc9c..5389f3d 100644 Binary files a/libjava/classpath/lib/gnu/javax/rmi/CORBA/RmiUtilities$2.class and b/libjava/classpath/lib/gnu/javax/rmi/CORBA/RmiUtilities$2.class differ diff --git a/libjava/classpath/lib/gnu/javax/rmi/CORBA/RmiUtilities.class b/libjava/classpath/lib/gnu/javax/rmi/CORBA/RmiUtilities.class index 403b5e6..1e31584 100644 Binary files a/libjava/classpath/lib/gnu/javax/rmi/CORBA/RmiUtilities.class and b/libjava/classpath/lib/gnu/javax/rmi/CORBA/RmiUtilities.class differ diff --git a/libjava/classpath/lib/gnu/javax/rmi/CORBA/UtilDelegateImpl.class b/libjava/classpath/lib/gnu/javax/rmi/CORBA/UtilDelegateImpl.class index d2e50ba..4e4c802 100644 Binary files a/libjava/classpath/lib/gnu/javax/rmi/CORBA/UtilDelegateImpl.class and b/libjava/classpath/lib/gnu/javax/rmi/CORBA/UtilDelegateImpl.class differ diff --git a/libjava/classpath/lib/gnu/javax/security/auth/callback/GnuCallbacks$1.class b/libjava/classpath/lib/gnu/javax/security/auth/callback/GnuCallbacks$1.class index 8289534..2ba22d9 100644 Binary files a/libjava/classpath/lib/gnu/javax/security/auth/callback/GnuCallbacks$1.class and b/libjava/classpath/lib/gnu/javax/security/auth/callback/GnuCallbacks$1.class differ diff --git a/libjava/classpath/lib/gnu/javax/security/auth/callback/GnuCallbacks.class b/libjava/classpath/lib/gnu/javax/security/auth/callback/GnuCallbacks.class index 3485c08..1113b3d 100644 Binary files a/libjava/classpath/lib/gnu/javax/security/auth/callback/GnuCallbacks.class and b/libjava/classpath/lib/gnu/javax/security/auth/callback/GnuCallbacks.class differ diff --git a/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$1.class b/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$1.class index 54f8651..dcaffb1 100644 Binary files a/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$1.class and b/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$1.class differ diff --git a/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$2.class b/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$2.class index 764f624..e78394b 100644 Binary files a/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$2.class and b/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$2.class differ diff --git a/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$3.class b/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$3.class index 039dc83..1284c92 100644 Binary files a/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$3.class and b/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$3.class differ diff --git a/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$4.class b/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$4.class index 48b4773..5c91afa 100644 Binary files a/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$4.class and b/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$4.class differ diff --git a/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$5.class b/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$5.class index 9c232e8..ca29b3f 100644 Binary files a/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$5.class and b/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$5.class differ diff --git a/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$6.class b/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$6.class index 95590fe..dd5b31f 100644 Binary files a/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$6.class and b/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$6.class differ diff --git a/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$7.class b/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$7.class index 59ea0f7..9c2b741 100644 Binary files a/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$7.class and b/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$7.class differ diff --git a/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler.class b/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler.class index a8781c2..3b56080 100644 Binary files a/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler.class and b/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler.class differ diff --git a/libjava/classpath/lib/gnu/javax/security/auth/login/ConfigFileParser.class b/libjava/classpath/lib/gnu/javax/security/auth/login/ConfigFileParser.class index a631890..a985a49 100644 Binary files a/libjava/classpath/lib/gnu/javax/security/auth/login/ConfigFileParser.class and b/libjava/classpath/lib/gnu/javax/security/auth/login/ConfigFileParser.class differ diff --git a/libjava/classpath/lib/gnu/javax/security/auth/login/GnuConfiguration.class b/libjava/classpath/lib/gnu/javax/security/auth/login/GnuConfiguration.class index ca593c3..07154e3 100644 Binary files a/libjava/classpath/lib/gnu/javax/security/auth/login/GnuConfiguration.class and b/libjava/classpath/lib/gnu/javax/security/auth/login/GnuConfiguration.class differ diff --git a/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaInputPortDevice.class b/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaInputPortDevice.class index b684956..3ab73e2 100644 Binary files a/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaInputPortDevice.class and b/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaInputPortDevice.class differ diff --git a/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaInfo.class b/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaInfo.class index 1aca771..46ed4ba 100644 Binary files a/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaInfo.class and b/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaInfo.class differ diff --git a/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaInputPortInfo.class b/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaInputPortInfo.class index f618aff..a056a2d 100644 Binary files a/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaInputPortInfo.class and b/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaInputPortInfo.class differ diff --git a/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaOutputPortInfo.class b/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaOutputPortInfo.class index 967fbbd..ef883a6 100644 Binary files a/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaOutputPortInfo.class and b/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaOutputPortInfo.class differ diff --git a/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaPortInfo.class b/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaPortInfo.class index f84357f..364fd55 100644 Binary files a/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaPortInfo.class and b/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaPortInfo.class differ diff --git a/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaSequencerInfo.class b/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaSequencerInfo.class index 021a783..bb3646f 100644 Binary files a/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaSequencerInfo.class and b/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaSequencerInfo.class differ diff --git a/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider.class b/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider.class index e73ad93..22a90d1 100644 Binary files a/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider.class and b/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider.class differ diff --git a/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaMidiSequencerDevice.class b/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaMidiSequencerDevice.class index e321d8d..bff4bf7 100644 Binary files a/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaMidiSequencerDevice.class and b/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaMidiSequencerDevice.class differ diff --git a/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaOutputPortDevice.class b/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaOutputPortDevice.class index 09552ad..fc928e3 100644 Binary files a/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaOutputPortDevice.class and b/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaOutputPortDevice.class differ diff --git a/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaPortDevice$AlsaReceiver.class b/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaPortDevice$AlsaReceiver.class index df52c73..1b7d72c 100644 Binary files a/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaPortDevice$AlsaReceiver.class and b/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaPortDevice$AlsaReceiver.class differ diff --git a/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaPortDevice$AlsaTransmitter.class b/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaPortDevice$AlsaTransmitter.class index 1759a93..8a739b6 100644 Binary files a/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaPortDevice$AlsaTransmitter.class and b/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaPortDevice$AlsaTransmitter.class differ diff --git a/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaPortDevice.class b/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaPortDevice.class index 895d98f..0a4edda8 100644 Binary files a/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaPortDevice.class and b/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaPortDevice.class 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 c928dad..aff7264 100644 Binary files a/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$1.class and b/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$1.class 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 94e1a75..0ea0abe 100644 Binary files a/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$DSSIInfo.class and b/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$DSSIInfo.class 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 5c21bd4..f074048 100644 Binary files a/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider.class and b/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider.class differ diff --git a/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSIInstrument.class b/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSIInstrument.class index fba99b5..9a2f925 100644 Binary files a/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSIInstrument.class and b/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSIInstrument.class 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 6eafee5..0405bdd 100644 Binary files a/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSIMidiChannel.class and b/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSIMidiChannel.class 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 89d7fd6..e49d868 100644 Binary files a/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSIReceiver.class and b/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSIReceiver.class 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 2669da8..79fce7a 100644 Binary files a/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSISoundbank.class and b/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSISoundbank.class 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 fc8191c..0e098ae 100644 Binary files a/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer.class and b/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer.class differ diff --git a/libjava/classpath/lib/gnu/javax/sound/sampled/AU/AUReader$AUFormatType.class b/libjava/classpath/lib/gnu/javax/sound/sampled/AU/AUReader$AUFormatType.class index 5191a9d..7162632 100644 Binary files a/libjava/classpath/lib/gnu/javax/sound/sampled/AU/AUReader$AUFormatType.class and b/libjava/classpath/lib/gnu/javax/sound/sampled/AU/AUReader$AUFormatType.class differ diff --git a/libjava/classpath/lib/gnu/javax/sound/sampled/AU/AUReader$AUHeader.class b/libjava/classpath/lib/gnu/javax/sound/sampled/AU/AUReader$AUHeader.class index cc0736d..2358516 100644 Binary files a/libjava/classpath/lib/gnu/javax/sound/sampled/AU/AUReader$AUHeader.class and b/libjava/classpath/lib/gnu/javax/sound/sampled/AU/AUReader$AUHeader.class differ diff --git a/libjava/classpath/lib/gnu/javax/sound/sampled/AU/AUReader.class b/libjava/classpath/lib/gnu/javax/sound/sampled/AU/AUReader.class index b47ae8a..aa0b71e 100644 Binary files a/libjava/classpath/lib/gnu/javax/sound/sampled/AU/AUReader.class and b/libjava/classpath/lib/gnu/javax/sound/sampled/AU/AUReader.class differ diff --git a/libjava/classpath/lib/gnu/javax/sound/sampled/WAV/WAVReader.class b/libjava/classpath/lib/gnu/javax/sound/sampled/WAV/WAVReader.class index 9bf00f7..302430c 100644 Binary files a/libjava/classpath/lib/gnu/javax/sound/sampled/WAV/WAVReader.class and b/libjava/classpath/lib/gnu/javax/sound/sampled/WAV/WAVReader.class differ diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/CharacterAttributeTranslator.class b/libjava/classpath/lib/gnu/javax/swing/text/html/CharacterAttributeTranslator.class index 88aaece..493abed 100644 Binary files a/libjava/classpath/lib/gnu/javax/swing/text/html/CharacterAttributeTranslator.class and b/libjava/classpath/lib/gnu/javax/swing/text/html/CharacterAttributeTranslator.class differ diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/ImageViewIconFactory.class b/libjava/classpath/lib/gnu/javax/swing/text/html/ImageViewIconFactory.class index f97df57..a5c6c3a 100644 Binary files a/libjava/classpath/lib/gnu/javax/swing/text/html/ImageViewIconFactory.class and b/libjava/classpath/lib/gnu/javax/swing/text/html/ImageViewIconFactory.class differ diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/css/CSSParser$1.class b/libjava/classpath/lib/gnu/javax/swing/text/html/css/CSSParser$1.class index 40025b6..eae26f8 100644 Binary files a/libjava/classpath/lib/gnu/javax/swing/text/html/css/CSSParser$1.class and b/libjava/classpath/lib/gnu/javax/swing/text/html/css/CSSParser$1.class differ diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/css/CSSParser.class b/libjava/classpath/lib/gnu/javax/swing/text/html/css/CSSParser.class index fb05d08..58eae33 100644 Binary files a/libjava/classpath/lib/gnu/javax/swing/text/html/css/CSSParser.class and b/libjava/classpath/lib/gnu/javax/swing/text/html/css/CSSParser.class differ diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/GnuParserDelegator$gnuParser.class b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/GnuParserDelegator$gnuParser.class index 96638d6..5366383 100644 Binary files a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/GnuParserDelegator$gnuParser.class and b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/GnuParserDelegator$gnuParser.class differ diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/GnuParserDelegator.class b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/GnuParserDelegator.class index fa8aa3b..a3bc8ae 100644 Binary files a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/GnuParserDelegator.class and b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/GnuParserDelegator.class differ diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/SmallHtmlAttributeSet$1.class b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/SmallHtmlAttributeSet$1.class index 95b5278..5d6d786 100644 Binary files a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/SmallHtmlAttributeSet$1.class and b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/SmallHtmlAttributeSet$1.class differ diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/SmallHtmlAttributeSet.class b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/SmallHtmlAttributeSet.class index d2342a5..ba08feb 100644 Binary files a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/SmallHtmlAttributeSet.class and b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/SmallHtmlAttributeSet.class differ diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/gnuDTD.class b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/gnuDTD.class index e0c1915..e91982f 100644 Binary files a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/gnuDTD.class and b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/gnuDTD.class differ diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/htmlAttributeSet$1.class b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/htmlAttributeSet$1.class index 8517b19d4..58ec237 100644 Binary files a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/htmlAttributeSet$1.class and b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/htmlAttributeSet$1.class differ diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/htmlAttributeSet.class b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/htmlAttributeSet.class index d4f6a65..32842b08 100644 Binary files a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/htmlAttributeSet.class and b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/htmlAttributeSet.class differ diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/htmlValidator$hTag.class b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/htmlValidator$hTag.class index 2ed578a..5cad229 100644 Binary files a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/htmlValidator$hTag.class and b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/htmlValidator$hTag.class differ diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/htmlValidator.class b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/htmlValidator.class index 32a21a5..db70024 100644 Binary files a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/htmlValidator.class and b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/htmlValidator.class differ diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/Parser$1.class b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/Parser$1.class index 0db9a27..eb2767d 100644 Binary files a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/Parser$1.class and b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/Parser$1.class differ diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/Parser$2.class b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/Parser$2.class index 546fddc..e6f89ee 100644 Binary files a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/Parser$2.class and b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/Parser$2.class differ diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/Parser.class b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/Parser.class index 6c330e2..3847b7a 100644 Binary files a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/Parser.class and b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/Parser.class differ diff --git a/libjava/classpath/lib/gnu/xml/aelfred2/XmlParser$EntityInfo.class b/libjava/classpath/lib/gnu/xml/aelfred2/XmlParser$EntityInfo.class index 2a0779e..75be293 100644 Binary files a/libjava/classpath/lib/gnu/xml/aelfred2/XmlParser$EntityInfo.class and b/libjava/classpath/lib/gnu/xml/aelfred2/XmlParser$EntityInfo.class differ diff --git a/libjava/classpath/lib/gnu/xml/aelfred2/XmlParser.class b/libjava/classpath/lib/gnu/xml/aelfred2/XmlParser.class index fddb3e7..56a21d2 100644 Binary files a/libjava/classpath/lib/gnu/xml/aelfred2/XmlParser.class and b/libjava/classpath/lib/gnu/xml/aelfred2/XmlParser.class differ diff --git a/libjava/classpath/lib/gnu/xml/dom/Consumer$Backdoor.class b/libjava/classpath/lib/gnu/xml/dom/Consumer$Backdoor.class index 6b3c5ce..636cc1f 100644 Binary files a/libjava/classpath/lib/gnu/xml/dom/Consumer$Backdoor.class and b/libjava/classpath/lib/gnu/xml/dom/Consumer$Backdoor.class differ diff --git a/libjava/classpath/lib/gnu/xml/dom/Consumer.class b/libjava/classpath/lib/gnu/xml/dom/Consumer.class index b7dae3f..8ca1fc3 100644 Binary files a/libjava/classpath/lib/gnu/xml/dom/Consumer.class and b/libjava/classpath/lib/gnu/xml/dom/Consumer.class differ diff --git a/libjava/classpath/lib/gnu/xml/dom/DomAttr.class b/libjava/classpath/lib/gnu/xml/dom/DomAttr.class index 034639a..5a2a8e7 100644 Binary files a/libjava/classpath/lib/gnu/xml/dom/DomAttr.class and b/libjava/classpath/lib/gnu/xml/dom/DomAttr.class differ diff --git a/libjava/classpath/lib/gnu/xml/dom/DomDocument.class b/libjava/classpath/lib/gnu/xml/dom/DomDocument.class index 9ff8f0d..e513ecf 100644 Binary files a/libjava/classpath/lib/gnu/xml/dom/DomDocument.class and b/libjava/classpath/lib/gnu/xml/dom/DomDocument.class differ diff --git a/libjava/classpath/lib/gnu/xml/dom/DomDocumentBuilder.class b/libjava/classpath/lib/gnu/xml/dom/DomDocumentBuilder.class index 41f2981..4dd5883 100644 Binary files a/libjava/classpath/lib/gnu/xml/dom/DomDocumentBuilder.class and b/libjava/classpath/lib/gnu/xml/dom/DomDocumentBuilder.class differ diff --git a/libjava/classpath/lib/gnu/xml/dom/DomElement.class b/libjava/classpath/lib/gnu/xml/dom/DomElement.class index 0800405..76a244e 100644 Binary files a/libjava/classpath/lib/gnu/xml/dom/DomElement.class and b/libjava/classpath/lib/gnu/xml/dom/DomElement.class differ diff --git a/libjava/classpath/lib/gnu/xml/dom/DomNode$ShadowList.class b/libjava/classpath/lib/gnu/xml/dom/DomNode$ShadowList.class index b1006ce..be87f5c 100644 Binary files a/libjava/classpath/lib/gnu/xml/dom/DomNode$ShadowList.class and b/libjava/classpath/lib/gnu/xml/dom/DomNode$ShadowList.class differ diff --git a/libjava/classpath/lib/gnu/xml/dom/DomNode.class b/libjava/classpath/lib/gnu/xml/dom/DomNode.class index 6137809..f673df8 100644 Binary files a/libjava/classpath/lib/gnu/xml/dom/DomNode.class and b/libjava/classpath/lib/gnu/xml/dom/DomNode.class differ diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLDocument.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLDocument.class index 528c28d..e98e813 100644 Binary files a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLDocument.class and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLDocument.class differ diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLElement.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLElement.class index d47e495..4d940a2 100644 Binary files a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLElement.class and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLElement.class differ diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLParser.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLParser.class index 5a8f379..340066c 100644 Binary files a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLParser.class and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLParser.class differ diff --git a/libjava/classpath/lib/gnu/xml/dom/ls/DomLSParser.class b/libjava/classpath/lib/gnu/xml/dom/ls/DomLSParser.class index 1740fbb..1298baa 100644 Binary files a/libjava/classpath/lib/gnu/xml/dom/ls/DomLSParser.class and b/libjava/classpath/lib/gnu/xml/dom/ls/DomLSParser.class differ diff --git a/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeNode.class b/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeNode.class index 9a6a5c6..3f3b6f3 100644 Binary files a/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeNode.class and b/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeNode.class differ diff --git a/libjava/classpath/lib/gnu/xml/libxmlj/sax/Namespaces.class b/libjava/classpath/lib/gnu/xml/libxmlj/sax/Namespaces.class index 9cdd479..b3ea2e9 100644 Binary files a/libjava/classpath/lib/gnu/xml/libxmlj/sax/Namespaces.class and b/libjava/classpath/lib/gnu/xml/libxmlj/sax/Namespaces.class differ diff --git a/libjava/classpath/lib/gnu/xml/pipeline/PipelineFactory$Pipeline.class b/libjava/classpath/lib/gnu/xml/pipeline/PipelineFactory$Pipeline.class index 27c6977..cdfc65c 100644 Binary files a/libjava/classpath/lib/gnu/xml/pipeline/PipelineFactory$Pipeline.class and b/libjava/classpath/lib/gnu/xml/pipeline/PipelineFactory$Pipeline.class differ diff --git a/libjava/classpath/lib/gnu/xml/pipeline/PipelineFactory$Stage.class b/libjava/classpath/lib/gnu/xml/pipeline/PipelineFactory$Stage.class index 4f2b6b8..321a78d 100644 Binary files a/libjava/classpath/lib/gnu/xml/pipeline/PipelineFactory$Stage.class and b/libjava/classpath/lib/gnu/xml/pipeline/PipelineFactory$Stage.class differ diff --git a/libjava/classpath/lib/gnu/xml/pipeline/PipelineFactory.class b/libjava/classpath/lib/gnu/xml/pipeline/PipelineFactory.class index 0f8ee98..cd948a9 100644 Binary files a/libjava/classpath/lib/gnu/xml/pipeline/PipelineFactory.class and b/libjava/classpath/lib/gnu/xml/pipeline/PipelineFactory.class differ diff --git a/libjava/classpath/lib/gnu/xml/pipeline/ValidationConsumer$ChildrenRecognizer.class b/libjava/classpath/lib/gnu/xml/pipeline/ValidationConsumer$ChildrenRecognizer.class index 8e0d5e5..386507e 100644 Binary files a/libjava/classpath/lib/gnu/xml/pipeline/ValidationConsumer$ChildrenRecognizer.class and b/libjava/classpath/lib/gnu/xml/pipeline/ValidationConsumer$ChildrenRecognizer.class differ diff --git a/libjava/classpath/lib/gnu/xml/pipeline/ValidationConsumer$ElementInfo.class b/libjava/classpath/lib/gnu/xml/pipeline/ValidationConsumer$ElementInfo.class index e00c7ac..f5cb7e4 100644 Binary files a/libjava/classpath/lib/gnu/xml/pipeline/ValidationConsumer$ElementInfo.class and b/libjava/classpath/lib/gnu/xml/pipeline/ValidationConsumer$ElementInfo.class differ diff --git a/libjava/classpath/lib/gnu/xml/pipeline/ValidationConsumer$EmptyRecognizer.class b/libjava/classpath/lib/gnu/xml/pipeline/ValidationConsumer$EmptyRecognizer.class index 81e1374..cc5d62c 100644 Binary files a/libjava/classpath/lib/gnu/xml/pipeline/ValidationConsumer$EmptyRecognizer.class and b/libjava/classpath/lib/gnu/xml/pipeline/ValidationConsumer$EmptyRecognizer.class differ diff --git a/libjava/classpath/lib/gnu/xml/pipeline/ValidationConsumer$MixedRecognizer.class b/libjava/classpath/lib/gnu/xml/pipeline/ValidationConsumer$MixedRecognizer.class index 0f22507..f6481a0 100644 Binary files a/libjava/classpath/lib/gnu/xml/pipeline/ValidationConsumer$MixedRecognizer.class and b/libjava/classpath/lib/gnu/xml/pipeline/ValidationConsumer$MixedRecognizer.class differ diff --git a/libjava/classpath/lib/gnu/xml/pipeline/ValidationConsumer$Recognizer.class b/libjava/classpath/lib/gnu/xml/pipeline/ValidationConsumer$Recognizer.class index f2581c1..ae9d0da 100644 Binary files a/libjava/classpath/lib/gnu/xml/pipeline/ValidationConsumer$Recognizer.class and b/libjava/classpath/lib/gnu/xml/pipeline/ValidationConsumer$Recognizer.class differ diff --git a/libjava/classpath/lib/gnu/xml/pipeline/ValidationConsumer.class b/libjava/classpath/lib/gnu/xml/pipeline/ValidationConsumer.class index cfaa0fd..343a184 100644 Binary files a/libjava/classpath/lib/gnu/xml/pipeline/ValidationConsumer.class and b/libjava/classpath/lib/gnu/xml/pipeline/ValidationConsumer.class differ diff --git a/libjava/classpath/lib/gnu/xml/pipeline/XIncludeFilter.class b/libjava/classpath/lib/gnu/xml/pipeline/XIncludeFilter.class index 8e76a74..5e4f2b06 100644 Binary files a/libjava/classpath/lib/gnu/xml/pipeline/XIncludeFilter.class and b/libjava/classpath/lib/gnu/xml/pipeline/XIncludeFilter.class differ diff --git a/libjava/classpath/lib/gnu/xml/stream/SAXParser.class b/libjava/classpath/lib/gnu/xml/stream/SAXParser.class index 10d7f07..e3f889d 100644 Binary files a/libjava/classpath/lib/gnu/xml/stream/SAXParser.class and b/libjava/classpath/lib/gnu/xml/stream/SAXParser.class differ diff --git a/libjava/classpath/lib/gnu/xml/stream/SAXParserFactory.class b/libjava/classpath/lib/gnu/xml/stream/SAXParserFactory.class index 5013c5be..dcadec0 100644 Binary files a/libjava/classpath/lib/gnu/xml/stream/SAXParserFactory.class and b/libjava/classpath/lib/gnu/xml/stream/SAXParserFactory.class differ diff --git a/libjava/classpath/lib/gnu/xml/stream/XMLParser$AnyContentModel.class b/libjava/classpath/lib/gnu/xml/stream/XMLParser$AnyContentModel.class index 9be3b14..ebaf1ec 100644 Binary files a/libjava/classpath/lib/gnu/xml/stream/XMLParser$AnyContentModel.class and b/libjava/classpath/lib/gnu/xml/stream/XMLParser$AnyContentModel.class differ diff --git a/libjava/classpath/lib/gnu/xml/stream/XMLParser$Attribute.class b/libjava/classpath/lib/gnu/xml/stream/XMLParser$Attribute.class index a529f6d..0931e75 100644 Binary files a/libjava/classpath/lib/gnu/xml/stream/XMLParser$Attribute.class and b/libjava/classpath/lib/gnu/xml/stream/XMLParser$Attribute.class differ diff --git a/libjava/classpath/lib/gnu/xml/stream/XMLParser$AttributeDecl.class b/libjava/classpath/lib/gnu/xml/stream/XMLParser$AttributeDecl.class index 86380a6..f600870 100644 Binary files a/libjava/classpath/lib/gnu/xml/stream/XMLParser$AttributeDecl.class and b/libjava/classpath/lib/gnu/xml/stream/XMLParser$AttributeDecl.class differ diff --git a/libjava/classpath/lib/gnu/xml/stream/XMLParser$ContentModel.class b/libjava/classpath/lib/gnu/xml/stream/XMLParser$ContentModel.class index c8e3969..bf985d7 100644 Binary files a/libjava/classpath/lib/gnu/xml/stream/XMLParser$ContentModel.class and b/libjava/classpath/lib/gnu/xml/stream/XMLParser$ContentModel.class differ diff --git a/libjava/classpath/lib/gnu/xml/stream/XMLParser$ContentParticle.class b/libjava/classpath/lib/gnu/xml/stream/XMLParser$ContentParticle.class index 5341444..7c6c30c 100644 Binary files a/libjava/classpath/lib/gnu/xml/stream/XMLParser$ContentParticle.class and b/libjava/classpath/lib/gnu/xml/stream/XMLParser$ContentParticle.class differ diff --git a/libjava/classpath/lib/gnu/xml/stream/XMLParser$Doctype.class b/libjava/classpath/lib/gnu/xml/stream/XMLParser$Doctype.class index e935c74..547386e 100644 Binary files a/libjava/classpath/lib/gnu/xml/stream/XMLParser$Doctype.class and b/libjava/classpath/lib/gnu/xml/stream/XMLParser$Doctype.class differ diff --git a/libjava/classpath/lib/gnu/xml/stream/XMLParser$ElementContentModel.class b/libjava/classpath/lib/gnu/xml/stream/XMLParser$ElementContentModel.class index 71e6334..243ba76 100644 Binary files a/libjava/classpath/lib/gnu/xml/stream/XMLParser$ElementContentModel.class and b/libjava/classpath/lib/gnu/xml/stream/XMLParser$ElementContentModel.class differ diff --git a/libjava/classpath/lib/gnu/xml/stream/XMLParser$EmptyContentModel.class b/libjava/classpath/lib/gnu/xml/stream/XMLParser$EmptyContentModel.class index e74252e..4abfa1d 100644 Binary files a/libjava/classpath/lib/gnu/xml/stream/XMLParser$EmptyContentModel.class and b/libjava/classpath/lib/gnu/xml/stream/XMLParser$EmptyContentModel.class differ diff --git a/libjava/classpath/lib/gnu/xml/stream/XMLParser$ExternalIds.class b/libjava/classpath/lib/gnu/xml/stream/XMLParser$ExternalIds.class index 8a6def1..5918973 100644 Binary files a/libjava/classpath/lib/gnu/xml/stream/XMLParser$ExternalIds.class and b/libjava/classpath/lib/gnu/xml/stream/XMLParser$ExternalIds.class differ diff --git a/libjava/classpath/lib/gnu/xml/stream/XMLParser$Input.class b/libjava/classpath/lib/gnu/xml/stream/XMLParser$Input.class index 74a7e79..db3548b 100644 Binary files a/libjava/classpath/lib/gnu/xml/stream/XMLParser$Input.class and b/libjava/classpath/lib/gnu/xml/stream/XMLParser$Input.class differ diff --git a/libjava/classpath/lib/gnu/xml/stream/XMLParser$MixedContentModel.class b/libjava/classpath/lib/gnu/xml/stream/XMLParser$MixedContentModel.class index eded8c5..4d38e3e 100644 Binary files a/libjava/classpath/lib/gnu/xml/stream/XMLParser$MixedContentModel.class and b/libjava/classpath/lib/gnu/xml/stream/XMLParser$MixedContentModel.class differ diff --git a/libjava/classpath/lib/gnu/xml/stream/XMLParser.class b/libjava/classpath/lib/gnu/xml/stream/XMLParser.class index f125098..331704e 100644 Binary files a/libjava/classpath/lib/gnu/xml/stream/XMLParser.class and b/libjava/classpath/lib/gnu/xml/stream/XMLParser.class differ diff --git a/libjava/classpath/lib/gnu/xml/transform/Bindings.class b/libjava/classpath/lib/gnu/xml/transform/Bindings.class index bc75bd8..70aa63e 100644 Binary files a/libjava/classpath/lib/gnu/xml/transform/Bindings.class and b/libjava/classpath/lib/gnu/xml/transform/Bindings.class differ diff --git a/libjava/classpath/lib/gnu/xml/transform/GenerateIdFunction.class b/libjava/classpath/lib/gnu/xml/transform/GenerateIdFunction.class index d843772..c63f7db 100644 Binary files a/libjava/classpath/lib/gnu/xml/transform/GenerateIdFunction.class and b/libjava/classpath/lib/gnu/xml/transform/GenerateIdFunction.class differ diff --git a/libjava/classpath/lib/gnu/xml/transform/SAXSerializer.class b/libjava/classpath/lib/gnu/xml/transform/SAXSerializer.class index 46a6339..b5719ac 100644 Binary files a/libjava/classpath/lib/gnu/xml/transform/SAXSerializer.class and b/libjava/classpath/lib/gnu/xml/transform/SAXSerializer.class differ diff --git a/libjava/classpath/lib/gnu/xml/transform/StreamSerializer.class b/libjava/classpath/lib/gnu/xml/transform/StreamSerializer.class index cc3e5b8..e0c7d8f 100644 Binary files a/libjava/classpath/lib/gnu/xml/transform/StreamSerializer.class and b/libjava/classpath/lib/gnu/xml/transform/StreamSerializer.class differ diff --git a/libjava/classpath/lib/gnu/xml/transform/Stylesheet.class b/libjava/classpath/lib/gnu/xml/transform/Stylesheet.class index 595eccd..9f58517 100644 Binary files a/libjava/classpath/lib/gnu/xml/transform/Stylesheet.class and b/libjava/classpath/lib/gnu/xml/transform/Stylesheet.class differ diff --git a/libjava/classpath/lib/gnu/xml/transform/TransformerOutputProperties.class b/libjava/classpath/lib/gnu/xml/transform/TransformerOutputProperties.class index f8a20b8..b66ccf7 100644 Binary files a/libjava/classpath/lib/gnu/xml/transform/TransformerOutputProperties.class and b/libjava/classpath/lib/gnu/xml/transform/TransformerOutputProperties.class differ diff --git a/libjava/classpath/lib/gnu/xml/transform/XSLComparator.class b/libjava/classpath/lib/gnu/xml/transform/XSLComparator.class index 5544111..2eb3867 100644 Binary files a/libjava/classpath/lib/gnu/xml/transform/XSLComparator.class and b/libjava/classpath/lib/gnu/xml/transform/XSLComparator.class differ diff --git a/libjava/classpath/lib/gnu/xml/util/SAXNullTransformerFactory$DomHandler.class b/libjava/classpath/lib/gnu/xml/util/SAXNullTransformerFactory$DomHandler.class index 2d27b39..2e59843 100644 Binary files a/libjava/classpath/lib/gnu/xml/util/SAXNullTransformerFactory$DomHandler.class and b/libjava/classpath/lib/gnu/xml/util/SAXNullTransformerFactory$DomHandler.class differ diff --git a/libjava/classpath/lib/gnu/xml/util/SAXNullTransformerFactory$DomTerminus.class b/libjava/classpath/lib/gnu/xml/util/SAXNullTransformerFactory$DomTerminus.class index a1c13cc..5e75b7a 100644 Binary files a/libjava/classpath/lib/gnu/xml/util/SAXNullTransformerFactory$DomTerminus.class and b/libjava/classpath/lib/gnu/xml/util/SAXNullTransformerFactory$DomTerminus.class differ diff --git a/libjava/classpath/lib/gnu/xml/util/SAXNullTransformerFactory$ListenerAdapter.class b/libjava/classpath/lib/gnu/xml/util/SAXNullTransformerFactory$ListenerAdapter.class index 84517f3..0c545c2 100644 Binary files a/libjava/classpath/lib/gnu/xml/util/SAXNullTransformerFactory$ListenerAdapter.class and b/libjava/classpath/lib/gnu/xml/util/SAXNullTransformerFactory$ListenerAdapter.class differ diff --git a/libjava/classpath/lib/gnu/xml/util/SAXNullTransformerFactory$NullHandler.class b/libjava/classpath/lib/gnu/xml/util/SAXNullTransformerFactory$NullHandler.class index 9f46375..9a3282f 100644 Binary files a/libjava/classpath/lib/gnu/xml/util/SAXNullTransformerFactory$NullHandler.class and b/libjava/classpath/lib/gnu/xml/util/SAXNullTransformerFactory$NullHandler.class differ diff --git a/libjava/classpath/lib/gnu/xml/util/SAXNullTransformerFactory$NullTransformer.class b/libjava/classpath/lib/gnu/xml/util/SAXNullTransformerFactory$NullTransformer.class index 3f7845c..5131ba3 100644 Binary files a/libjava/classpath/lib/gnu/xml/util/SAXNullTransformerFactory$NullTransformer.class and b/libjava/classpath/lib/gnu/xml/util/SAXNullTransformerFactory$NullTransformer.class differ diff --git a/libjava/classpath/lib/gnu/xml/util/SAXNullTransformerFactory.class b/libjava/classpath/lib/gnu/xml/util/SAXNullTransformerFactory.class index 8e43b6c..1e5011e 100644 Binary files a/libjava/classpath/lib/gnu/xml/util/SAXNullTransformerFactory.class and b/libjava/classpath/lib/gnu/xml/util/SAXNullTransformerFactory.class differ diff --git a/libjava/classpath/lib/gnu/xml/util/XCat$Catalog.class b/libjava/classpath/lib/gnu/xml/util/XCat$Catalog.class index 6ffce36..efeb4cb 100644 Binary files a/libjava/classpath/lib/gnu/xml/util/XCat$Catalog.class and b/libjava/classpath/lib/gnu/xml/util/XCat$Catalog.class differ diff --git a/libjava/classpath/lib/gnu/xml/util/XCat$Loader.class b/libjava/classpath/lib/gnu/xml/util/XCat$Loader.class index 5c55575..a603a84 100644 Binary files a/libjava/classpath/lib/gnu/xml/util/XCat$Loader.class and b/libjava/classpath/lib/gnu/xml/util/XCat$Loader.class differ diff --git a/libjava/classpath/lib/gnu/xml/util/XCat.class b/libjava/classpath/lib/gnu/xml/util/XCat.class index 9e1af09a..b80b15b 100644 Binary files a/libjava/classpath/lib/gnu/xml/util/XCat.class and b/libjava/classpath/lib/gnu/xml/util/XCat.class differ diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/DateTimeType.class b/libjava/classpath/lib/gnu/xml/validation/datatype/DateTimeType.class index 8537c03..1c84637 100644 Binary files a/libjava/classpath/lib/gnu/xml/validation/datatype/DateTimeType.class and b/libjava/classpath/lib/gnu/xml/validation/datatype/DateTimeType.class differ diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/DateType.class b/libjava/classpath/lib/gnu/xml/validation/datatype/DateType.class index 8e2aba5..b8dad74 100644 Binary files a/libjava/classpath/lib/gnu/xml/validation/datatype/DateType.class and b/libjava/classpath/lib/gnu/xml/validation/datatype/DateType.class differ diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/TimeType.class b/libjava/classpath/lib/gnu/xml/validation/datatype/TimeType.class index 522aa1a..1451912 100644 Binary files a/libjava/classpath/lib/gnu/xml/validation/datatype/TimeType.class and b/libjava/classpath/lib/gnu/xml/validation/datatype/TimeType.class differ diff --git a/libjava/classpath/lib/gnu/xml/validation/relaxng/FullSyntaxBuilder.class b/libjava/classpath/lib/gnu/xml/validation/relaxng/FullSyntaxBuilder.class index 879ead3..97dc263 100644 Binary files a/libjava/classpath/lib/gnu/xml/validation/relaxng/FullSyntaxBuilder.class and b/libjava/classpath/lib/gnu/xml/validation/relaxng/FullSyntaxBuilder.class differ diff --git a/libjava/classpath/lib/gnu/xml/xpath/XPathImpl.class b/libjava/classpath/lib/gnu/xml/xpath/XPathImpl.class index 7da93cc..3d55ac8 100644 Binary files a/libjava/classpath/lib/gnu/xml/xpath/XPathImpl.class and b/libjava/classpath/lib/gnu/xml/xpath/XPathImpl.class differ diff --git a/libjava/classpath/lib/gnu/xml/xpath/XPathParser.class b/libjava/classpath/lib/gnu/xml/xpath/XPathParser.class index b93bf0a..b504a9a 100644 Binary files a/libjava/classpath/lib/gnu/xml/xpath/XPathParser.class and b/libjava/classpath/lib/gnu/xml/xpath/XPathParser.class differ diff --git a/libjava/classpath/lib/gnu/xml/xpath/XPathTokenizer.class b/libjava/classpath/lib/gnu/xml/xpath/XPathTokenizer.class index 1f6743c..14b23a3 100644 Binary files a/libjava/classpath/lib/gnu/xml/xpath/XPathTokenizer.class and b/libjava/classpath/lib/gnu/xml/xpath/XPathTokenizer.class differ diff --git a/libjava/classpath/lib/java/applet/Applet$AccessibleApplet.class b/libjava/classpath/lib/java/applet/Applet$AccessibleApplet.class index 941060f..1fcb6f2 100644 Binary files a/libjava/classpath/lib/java/applet/Applet$AccessibleApplet.class and b/libjava/classpath/lib/java/applet/Applet$AccessibleApplet.class differ diff --git a/libjava/classpath/lib/java/awt/AWTEvent.class b/libjava/classpath/lib/java/awt/AWTEvent.class index c48dbf1..c802bfd 100644 Binary files a/libjava/classpath/lib/java/awt/AWTEvent.class and b/libjava/classpath/lib/java/awt/AWTEvent.class differ diff --git a/libjava/classpath/lib/java/awt/AWTKeyStroke$1.class b/libjava/classpath/lib/java/awt/AWTKeyStroke$1.class index b82323a..4c0305a 100644 Binary files a/libjava/classpath/lib/java/awt/AWTKeyStroke$1.class and b/libjava/classpath/lib/java/awt/AWTKeyStroke$1.class differ diff --git a/libjava/classpath/lib/java/awt/AWTKeyStroke$2.class b/libjava/classpath/lib/java/awt/AWTKeyStroke$2.class index a23cf24..0208d25 100644 Binary files a/libjava/classpath/lib/java/awt/AWTKeyStroke$2.class and b/libjava/classpath/lib/java/awt/AWTKeyStroke$2.class differ diff --git a/libjava/classpath/lib/java/awt/AWTKeyStroke$3.class b/libjava/classpath/lib/java/awt/AWTKeyStroke$3.class index c6e6686..7351b46 100644 Binary files a/libjava/classpath/lib/java/awt/AWTKeyStroke$3.class and b/libjava/classpath/lib/java/awt/AWTKeyStroke$3.class differ diff --git a/libjava/classpath/lib/java/awt/AWTKeyStroke.class b/libjava/classpath/lib/java/awt/AWTKeyStroke.class index 5695cda..ac0f424 100644 Binary files a/libjava/classpath/lib/java/awt/AWTKeyStroke.class and b/libjava/classpath/lib/java/awt/AWTKeyStroke.class differ diff --git a/libjava/classpath/lib/java/awt/AlphaComposite$1.class b/libjava/classpath/lib/java/awt/AlphaComposite$1.class index 4587a17..15516f8 100644 Binary files a/libjava/classpath/lib/java/awt/AlphaComposite$1.class and b/libjava/classpath/lib/java/awt/AlphaComposite$1.class differ diff --git a/libjava/classpath/lib/java/awt/AlphaComposite.class b/libjava/classpath/lib/java/awt/AlphaComposite.class index 78eba38..9aa4fec 100644 Binary files a/libjava/classpath/lib/java/awt/AlphaComposite.class and b/libjava/classpath/lib/java/awt/AlphaComposite.class differ diff --git a/libjava/classpath/lib/java/awt/BasicStroke.class b/libjava/classpath/lib/java/awt/BasicStroke.class index 5606471..a26098b 100644 Binary files a/libjava/classpath/lib/java/awt/BasicStroke.class and b/libjava/classpath/lib/java/awt/BasicStroke.class differ diff --git a/libjava/classpath/lib/java/awt/Button$AccessibleAWTButton.class b/libjava/classpath/lib/java/awt/Button$AccessibleAWTButton.class index bba52b1..a7c773e 100644 Binary files a/libjava/classpath/lib/java/awt/Button$AccessibleAWTButton.class and b/libjava/classpath/lib/java/awt/Button$AccessibleAWTButton.class differ diff --git a/libjava/classpath/lib/java/awt/Canvas$AccessibleAWTCanvas.class b/libjava/classpath/lib/java/awt/Canvas$AccessibleAWTCanvas.class index 0a1b1b5..f9e2e79 100644 Binary files a/libjava/classpath/lib/java/awt/Canvas$AccessibleAWTCanvas.class and b/libjava/classpath/lib/java/awt/Canvas$AccessibleAWTCanvas.class differ diff --git a/libjava/classpath/lib/java/awt/Canvas$CanvasBltBufferStrategy.class b/libjava/classpath/lib/java/awt/Canvas$CanvasBltBufferStrategy.class index b253600..76fbc6e 100644 Binary files a/libjava/classpath/lib/java/awt/Canvas$CanvasBltBufferStrategy.class and b/libjava/classpath/lib/java/awt/Canvas$CanvasBltBufferStrategy.class differ diff --git a/libjava/classpath/lib/java/awt/Canvas$CanvasFlipBufferStrategy.class b/libjava/classpath/lib/java/awt/Canvas$CanvasFlipBufferStrategy.class index 122ed3a..4793064 100644 Binary files a/libjava/classpath/lib/java/awt/Canvas$CanvasFlipBufferStrategy.class and b/libjava/classpath/lib/java/awt/Canvas$CanvasFlipBufferStrategy.class differ diff --git a/libjava/classpath/lib/java/awt/Canvas.class b/libjava/classpath/lib/java/awt/Canvas.class index e10c2e8..961b898 100644 Binary files a/libjava/classpath/lib/java/awt/Canvas.class and b/libjava/classpath/lib/java/awt/Canvas.class differ diff --git a/libjava/classpath/lib/java/awt/CardLayout.class b/libjava/classpath/lib/java/awt/CardLayout.class index 15b2e95..178976f 100644 Binary files a/libjava/classpath/lib/java/awt/CardLayout.class and b/libjava/classpath/lib/java/awt/CardLayout.class differ diff --git a/libjava/classpath/lib/java/awt/Checkbox$AccessibleAWTCheckbox.class b/libjava/classpath/lib/java/awt/Checkbox$AccessibleAWTCheckbox.class index eaff0a1..6716afa 100644 Binary files a/libjava/classpath/lib/java/awt/Checkbox$AccessibleAWTCheckbox.class and b/libjava/classpath/lib/java/awt/Checkbox$AccessibleAWTCheckbox.class differ diff --git a/libjava/classpath/lib/java/awt/CheckboxMenuItem$AccessibleAWTCheckboxMenuItem.class b/libjava/classpath/lib/java/awt/CheckboxMenuItem$AccessibleAWTCheckboxMenuItem.class index b9249c1..f18d869 100644 Binary files a/libjava/classpath/lib/java/awt/CheckboxMenuItem$AccessibleAWTCheckboxMenuItem.class and b/libjava/classpath/lib/java/awt/CheckboxMenuItem$AccessibleAWTCheckboxMenuItem.class differ diff --git a/libjava/classpath/lib/java/awt/Choice$AccessibleAWTChoice.class b/libjava/classpath/lib/java/awt/Choice$AccessibleAWTChoice.class index fa4121a..ef751dc 100644 Binary files a/libjava/classpath/lib/java/awt/Choice$AccessibleAWTChoice.class and b/libjava/classpath/lib/java/awt/Choice$AccessibleAWTChoice.class differ diff --git a/libjava/classpath/lib/java/awt/Component$AccessibleAWTComponent$AccessibleAWTComponentHandler.class b/libjava/classpath/lib/java/awt/Component$AccessibleAWTComponent$AccessibleAWTComponentHandler.class index 938f39d..f48c922 100644 Binary files a/libjava/classpath/lib/java/awt/Component$AccessibleAWTComponent$AccessibleAWTComponentHandler.class and b/libjava/classpath/lib/java/awt/Component$AccessibleAWTComponent$AccessibleAWTComponentHandler.class differ diff --git a/libjava/classpath/lib/java/awt/Component$AccessibleAWTComponent$AccessibleAWTFocusHandler.class b/libjava/classpath/lib/java/awt/Component$AccessibleAWTComponent$AccessibleAWTFocusHandler.class index 530ca77..029692c 100644 Binary files a/libjava/classpath/lib/java/awt/Component$AccessibleAWTComponent$AccessibleAWTFocusHandler.class and b/libjava/classpath/lib/java/awt/Component$AccessibleAWTComponent$AccessibleAWTFocusHandler.class differ diff --git a/libjava/classpath/lib/java/awt/Component$AccessibleAWTComponent.class b/libjava/classpath/lib/java/awt/Component$AccessibleAWTComponent.class index 96ce979..010706e 100644 Binary files a/libjava/classpath/lib/java/awt/Component$AccessibleAWTComponent.class and b/libjava/classpath/lib/java/awt/Component$AccessibleAWTComponent.class differ diff --git a/libjava/classpath/lib/java/awt/Component$BltBufferStrategy.class b/libjava/classpath/lib/java/awt/Component$BltBufferStrategy.class index 2701fff..74be60b 100644 Binary files a/libjava/classpath/lib/java/awt/Component$BltBufferStrategy.class and b/libjava/classpath/lib/java/awt/Component$BltBufferStrategy.class differ diff --git a/libjava/classpath/lib/java/awt/Component$FlipBufferStrategy.class b/libjava/classpath/lib/java/awt/Component$FlipBufferStrategy.class index 0fefc21..16b0245 100644 Binary files a/libjava/classpath/lib/java/awt/Component$FlipBufferStrategy.class and b/libjava/classpath/lib/java/awt/Component$FlipBufferStrategy.class differ diff --git a/libjava/classpath/lib/java/awt/Component$HeavyweightInLightweightListener.class b/libjava/classpath/lib/java/awt/Component$HeavyweightInLightweightListener.class index 633d9af7..5ab9670 100644 Binary files a/libjava/classpath/lib/java/awt/Component$HeavyweightInLightweightListener.class and b/libjava/classpath/lib/java/awt/Component$HeavyweightInLightweightListener.class differ diff --git a/libjava/classpath/lib/java/awt/Component.class b/libjava/classpath/lib/java/awt/Component.class index 0533b9c..6adbf61 100644 Binary files a/libjava/classpath/lib/java/awt/Component.class and b/libjava/classpath/lib/java/awt/Component.class differ diff --git a/libjava/classpath/lib/java/awt/ComponentOrientation.class b/libjava/classpath/lib/java/awt/ComponentOrientation.class index 37defe8..4693275 100644 Binary files a/libjava/classpath/lib/java/awt/ComponentOrientation.class and b/libjava/classpath/lib/java/awt/ComponentOrientation.class differ diff --git a/libjava/classpath/lib/java/awt/Container$AccessibleAWTContainer.class b/libjava/classpath/lib/java/awt/Container$AccessibleAWTContainer.class index 1e8cf52..18f7901 100644 Binary files a/libjava/classpath/lib/java/awt/Container$AccessibleAWTContainer.class and b/libjava/classpath/lib/java/awt/Container$AccessibleAWTContainer.class differ diff --git a/libjava/classpath/lib/java/awt/Container$GfxPaintAllVisitor.class b/libjava/classpath/lib/java/awt/Container$GfxPaintAllVisitor.class index 0d36436..fea586b 100644 Binary files a/libjava/classpath/lib/java/awt/Container$GfxPaintAllVisitor.class and b/libjava/classpath/lib/java/awt/Container$GfxPaintAllVisitor.class differ diff --git a/libjava/classpath/lib/java/awt/Container$GfxPaintVisitor.class b/libjava/classpath/lib/java/awt/Container$GfxPaintVisitor.class index 1098464..e5a54f8 100644 Binary files a/libjava/classpath/lib/java/awt/Container$GfxPaintVisitor.class and b/libjava/classpath/lib/java/awt/Container$GfxPaintVisitor.class differ diff --git a/libjava/classpath/lib/java/awt/Container$GfxPrintAllVisitor.class b/libjava/classpath/lib/java/awt/Container$GfxPrintAllVisitor.class index 504e985..3c741e9 100644 Binary files a/libjava/classpath/lib/java/awt/Container$GfxPrintAllVisitor.class and b/libjava/classpath/lib/java/awt/Container$GfxPrintAllVisitor.class differ diff --git a/libjava/classpath/lib/java/awt/Container$GfxPrintVisitor.class b/libjava/classpath/lib/java/awt/Container$GfxPrintVisitor.class index d054e5e..fe7b326 100644 Binary files a/libjava/classpath/lib/java/awt/Container$GfxPrintVisitor.class and b/libjava/classpath/lib/java/awt/Container$GfxPrintVisitor.class differ diff --git a/libjava/classpath/lib/java/awt/Container.class b/libjava/classpath/lib/java/awt/Container.class index 12cc33e..1154af9 100644 Binary files a/libjava/classpath/lib/java/awt/Container.class and b/libjava/classpath/lib/java/awt/Container.class differ diff --git a/libjava/classpath/lib/java/awt/Desktop$Action.class b/libjava/classpath/lib/java/awt/Desktop$Action.class new file mode 100644 index 0000000..9dc618c Binary files /dev/null and b/libjava/classpath/lib/java/awt/Desktop$Action.class differ diff --git a/libjava/classpath/lib/java/awt/Desktop.class b/libjava/classpath/lib/java/awt/Desktop.class new file mode 100644 index 0000000..5807129 Binary files /dev/null and b/libjava/classpath/lib/java/awt/Desktop.class differ diff --git a/libjava/classpath/lib/java/awt/Dialog$AccessibleAWTDialog.class b/libjava/classpath/lib/java/awt/Dialog$AccessibleAWTDialog.class index fd49088..5c29aba 100644 Binary files a/libjava/classpath/lib/java/awt/Dialog$AccessibleAWTDialog.class and b/libjava/classpath/lib/java/awt/Dialog$AccessibleAWTDialog.class differ diff --git a/libjava/classpath/lib/java/awt/EventDispatchThread.class b/libjava/classpath/lib/java/awt/EventDispatchThread.class index 3b891f2..91bf32a 100644 Binary files a/libjava/classpath/lib/java/awt/EventDispatchThread.class and b/libjava/classpath/lib/java/awt/EventDispatchThread.class differ diff --git a/libjava/classpath/lib/java/awt/EventQueue.class b/libjava/classpath/lib/java/awt/EventQueue.class index 51a92c3..9f399d4 100644 Binary files a/libjava/classpath/lib/java/awt/EventQueue.class and b/libjava/classpath/lib/java/awt/EventQueue.class differ diff --git a/libjava/classpath/lib/java/awt/Font.class b/libjava/classpath/lib/java/awt/Font.class index c1f8b52..46763339 100644 Binary files a/libjava/classpath/lib/java/awt/Font.class and b/libjava/classpath/lib/java/awt/Font.class differ diff --git a/libjava/classpath/lib/java/awt/Frame$AccessibleAWTFrame.class b/libjava/classpath/lib/java/awt/Frame$AccessibleAWTFrame.class index 9401dc3..faf8fc0 100644 Binary files a/libjava/classpath/lib/java/awt/Frame$AccessibleAWTFrame.class and b/libjava/classpath/lib/java/awt/Frame$AccessibleAWTFrame.class differ diff --git a/libjava/classpath/lib/java/awt/Frame.class b/libjava/classpath/lib/java/awt/Frame.class index c01f91e..1708107 100644 Binary files a/libjava/classpath/lib/java/awt/Frame.class and b/libjava/classpath/lib/java/awt/Frame.class differ diff --git a/libjava/classpath/lib/java/awt/GradientPaint.class b/libjava/classpath/lib/java/awt/GradientPaint.class index eba1d11..5cee7cf 100644 Binary files a/libjava/classpath/lib/java/awt/GradientPaint.class and b/libjava/classpath/lib/java/awt/GradientPaint.class differ diff --git a/libjava/classpath/lib/java/awt/Graphics2D.class b/libjava/classpath/lib/java/awt/Graphics2D.class index 9dc5620..ceadf06 100644 Binary files a/libjava/classpath/lib/java/awt/Graphics2D.class and b/libjava/classpath/lib/java/awt/Graphics2D.class differ diff --git a/libjava/classpath/lib/java/awt/GraphicsConfiguration.class b/libjava/classpath/lib/java/awt/GraphicsConfiguration.class index 2887c1b..e3358e1 100644 Binary files a/libjava/classpath/lib/java/awt/GraphicsConfiguration.class and b/libjava/classpath/lib/java/awt/GraphicsConfiguration.class differ diff --git a/libjava/classpath/lib/java/awt/Label$AccessibleAWTLabel.class b/libjava/classpath/lib/java/awt/Label$AccessibleAWTLabel.class index 9a85795..c07df27 100644 Binary files a/libjava/classpath/lib/java/awt/Label$AccessibleAWTLabel.class and b/libjava/classpath/lib/java/awt/Label$AccessibleAWTLabel.class differ diff --git a/libjava/classpath/lib/java/awt/List$AccessibleAWTList$AccessibleAWTListChild.class b/libjava/classpath/lib/java/awt/List$AccessibleAWTList$AccessibleAWTListChild.class index e8079ba..d95f457 100644 Binary files a/libjava/classpath/lib/java/awt/List$AccessibleAWTList$AccessibleAWTListChild.class and b/libjava/classpath/lib/java/awt/List$AccessibleAWTList$AccessibleAWTListChild.class differ diff --git a/libjava/classpath/lib/java/awt/List$AccessibleAWTList.class b/libjava/classpath/lib/java/awt/List$AccessibleAWTList.class index 35fda74..6803bbb 100644 Binary files a/libjava/classpath/lib/java/awt/List$AccessibleAWTList.class and b/libjava/classpath/lib/java/awt/List$AccessibleAWTList.class differ diff --git a/libjava/classpath/lib/java/awt/Menu$AccessibleAWTMenu.class b/libjava/classpath/lib/java/awt/Menu$AccessibleAWTMenu.class index a337003..b4353c0 100644 Binary files a/libjava/classpath/lib/java/awt/Menu$AccessibleAWTMenu.class and b/libjava/classpath/lib/java/awt/Menu$AccessibleAWTMenu.class differ diff --git a/libjava/classpath/lib/java/awt/MenuBar$AccessibleAWTMenuBar.class b/libjava/classpath/lib/java/awt/MenuBar$AccessibleAWTMenuBar.class index 8b9fbbc..4feba3c 100644 Binary files a/libjava/classpath/lib/java/awt/MenuBar$AccessibleAWTMenuBar.class and b/libjava/classpath/lib/java/awt/MenuBar$AccessibleAWTMenuBar.class differ diff --git a/libjava/classpath/lib/java/awt/MenuItem$AccessibleAWTMenuItem.class b/libjava/classpath/lib/java/awt/MenuItem$AccessibleAWTMenuItem.class index d9014fe..3d3576b 100644 Binary files a/libjava/classpath/lib/java/awt/MenuItem$AccessibleAWTMenuItem.class and b/libjava/classpath/lib/java/awt/MenuItem$AccessibleAWTMenuItem.class differ diff --git a/libjava/classpath/lib/java/awt/Panel$AccessibleAWTPanel.class b/libjava/classpath/lib/java/awt/Panel$AccessibleAWTPanel.class index d5003c7..3c38dcb 100644 Binary files a/libjava/classpath/lib/java/awt/Panel$AccessibleAWTPanel.class and b/libjava/classpath/lib/java/awt/Panel$AccessibleAWTPanel.class differ diff --git a/libjava/classpath/lib/java/awt/Polygon$1.class b/libjava/classpath/lib/java/awt/Polygon$1.class index 06849f1..6bedd71 100644 Binary files a/libjava/classpath/lib/java/awt/Polygon$1.class and b/libjava/classpath/lib/java/awt/Polygon$1.class differ diff --git a/libjava/classpath/lib/java/awt/Polygon.class b/libjava/classpath/lib/java/awt/Polygon.class index 6425ac7..71a707a 100644 Binary files a/libjava/classpath/lib/java/awt/Polygon.class and b/libjava/classpath/lib/java/awt/Polygon.class differ diff --git a/libjava/classpath/lib/java/awt/PopupMenu$AccessibleAWTPopupMenu.class b/libjava/classpath/lib/java/awt/PopupMenu$AccessibleAWTPopupMenu.class index 64f469e..ee6f67b 100644 Binary files a/libjava/classpath/lib/java/awt/PopupMenu$AccessibleAWTPopupMenu.class and b/libjava/classpath/lib/java/awt/PopupMenu$AccessibleAWTPopupMenu.class differ diff --git a/libjava/classpath/lib/java/awt/RenderingHints$KeyImpl.class b/libjava/classpath/lib/java/awt/RenderingHints$KeyImpl.class index 84e5bdb..a3e15b6 100644 Binary files a/libjava/classpath/lib/java/awt/RenderingHints$KeyImpl.class and b/libjava/classpath/lib/java/awt/RenderingHints$KeyImpl.class differ diff --git a/libjava/classpath/lib/java/awt/RenderingHints.class b/libjava/classpath/lib/java/awt/RenderingHints.class index 7afce72..0f3cbe0 100644 Binary files a/libjava/classpath/lib/java/awt/RenderingHints.class and b/libjava/classpath/lib/java/awt/RenderingHints.class differ diff --git a/libjava/classpath/lib/java/awt/Robot$1.class b/libjava/classpath/lib/java/awt/Robot$1.class index 90fe05b..8814059af 100644 Binary files a/libjava/classpath/lib/java/awt/Robot$1.class and b/libjava/classpath/lib/java/awt/Robot$1.class differ diff --git a/libjava/classpath/lib/java/awt/Robot.class b/libjava/classpath/lib/java/awt/Robot.class index d237b3a..337a5fa 100644 Binary files a/libjava/classpath/lib/java/awt/Robot.class and b/libjava/classpath/lib/java/awt/Robot.class differ diff --git a/libjava/classpath/lib/java/awt/ScrollPane$AccessibleAWTScrollPane.class b/libjava/classpath/lib/java/awt/ScrollPane$AccessibleAWTScrollPane.class index 8028ed5..2d8cd6c 100644 Binary files a/libjava/classpath/lib/java/awt/ScrollPane$AccessibleAWTScrollPane.class and b/libjava/classpath/lib/java/awt/ScrollPane$AccessibleAWTScrollPane.class differ diff --git a/libjava/classpath/lib/java/awt/Scrollbar$AccessibleAWTScrollBar.class b/libjava/classpath/lib/java/awt/Scrollbar$AccessibleAWTScrollBar.class index 9816ac2..79455b4 100644 Binary files a/libjava/classpath/lib/java/awt/Scrollbar$AccessibleAWTScrollBar.class and b/libjava/classpath/lib/java/awt/Scrollbar$AccessibleAWTScrollBar.class differ diff --git a/libjava/classpath/lib/java/awt/TextArea$AccessibleAWTTextArea.class b/libjava/classpath/lib/java/awt/TextArea$AccessibleAWTTextArea.class index 73aee8f..82f720a 100644 Binary files a/libjava/classpath/lib/java/awt/TextArea$AccessibleAWTTextArea.class and b/libjava/classpath/lib/java/awt/TextArea$AccessibleAWTTextArea.class differ diff --git a/libjava/classpath/lib/java/awt/TextComponent$AccessibleAWTTextComponent.class b/libjava/classpath/lib/java/awt/TextComponent$AccessibleAWTTextComponent.class index 717c637..9d21eb3 100644 Binary files a/libjava/classpath/lib/java/awt/TextComponent$AccessibleAWTTextComponent.class and b/libjava/classpath/lib/java/awt/TextComponent$AccessibleAWTTextComponent.class differ diff --git a/libjava/classpath/lib/java/awt/TextField$AccessibleAWTTextField.class b/libjava/classpath/lib/java/awt/TextField$AccessibleAWTTextField.class index b73147d..359c126 100644 Binary files a/libjava/classpath/lib/java/awt/TextField$AccessibleAWTTextField.class and b/libjava/classpath/lib/java/awt/TextField$AccessibleAWTTextField.class differ diff --git a/libjava/classpath/lib/java/awt/Toolkit$1.class b/libjava/classpath/lib/java/awt/Toolkit$1.class index 74fdda0..7218fe9 100644 Binary files a/libjava/classpath/lib/java/awt/Toolkit$1.class and b/libjava/classpath/lib/java/awt/Toolkit$1.class differ diff --git a/libjava/classpath/lib/java/awt/Toolkit$2.class b/libjava/classpath/lib/java/awt/Toolkit$2.class index a6fd501..ec337be 100644 Binary files a/libjava/classpath/lib/java/awt/Toolkit$2.class and b/libjava/classpath/lib/java/awt/Toolkit$2.class differ diff --git a/libjava/classpath/lib/java/awt/Toolkit.class b/libjava/classpath/lib/java/awt/Toolkit.class index 1156a78..89a853a 100644 Binary files a/libjava/classpath/lib/java/awt/Toolkit.class and b/libjava/classpath/lib/java/awt/Toolkit.class differ diff --git a/libjava/classpath/lib/java/awt/Window$AccessibleAWTWindow.class b/libjava/classpath/lib/java/awt/Window$AccessibleAWTWindow.class index 0bc97fd..c924309 100644 Binary files a/libjava/classpath/lib/java/awt/Window$AccessibleAWTWindow.class and b/libjava/classpath/lib/java/awt/Window$AccessibleAWTWindow.class differ diff --git a/libjava/classpath/lib/java/awt/Window$WindowBltBufferStrategy.class b/libjava/classpath/lib/java/awt/Window$WindowBltBufferStrategy.class index 03433e9..96c062e 100644 Binary files a/libjava/classpath/lib/java/awt/Window$WindowBltBufferStrategy.class and b/libjava/classpath/lib/java/awt/Window$WindowBltBufferStrategy.class differ diff --git a/libjava/classpath/lib/java/awt/Window$WindowFlipBufferStrategy.class b/libjava/classpath/lib/java/awt/Window$WindowFlipBufferStrategy.class index 2f24d47..bd5d389 100644 Binary files a/libjava/classpath/lib/java/awt/Window$WindowFlipBufferStrategy.class and b/libjava/classpath/lib/java/awt/Window$WindowFlipBufferStrategy.class differ diff --git a/libjava/classpath/lib/java/awt/Window.class b/libjava/classpath/lib/java/awt/Window.class index dc4ba0d..69d9f18 100644 Binary files a/libjava/classpath/lib/java/awt/Window.class and b/libjava/classpath/lib/java/awt/Window.class differ diff --git a/libjava/classpath/lib/java/awt/datatransfer/MimeType.class b/libjava/classpath/lib/java/awt/datatransfer/MimeType.class index 28d1912..32f936a 100644 Binary files a/libjava/classpath/lib/java/awt/datatransfer/MimeType.class and b/libjava/classpath/lib/java/awt/datatransfer/MimeType.class differ diff --git a/libjava/classpath/lib/java/awt/datatransfer/SystemFlavorMap$1.class b/libjava/classpath/lib/java/awt/datatransfer/SystemFlavorMap$1.class new file mode 100644 index 0000000..2db9d62 Binary files /dev/null and b/libjava/classpath/lib/java/awt/datatransfer/SystemFlavorMap$1.class differ diff --git a/libjava/classpath/lib/java/awt/datatransfer/SystemFlavorMap.class b/libjava/classpath/lib/java/awt/datatransfer/SystemFlavorMap.class index cfd7e14..fd5798f 100644 Binary files a/libjava/classpath/lib/java/awt/datatransfer/SystemFlavorMap.class and b/libjava/classpath/lib/java/awt/datatransfer/SystemFlavorMap.class differ diff --git a/libjava/classpath/lib/java/awt/font/GraphicAttribute.class b/libjava/classpath/lib/java/awt/font/GraphicAttribute.class index 579a766..4668dd6 100644 Binary files a/libjava/classpath/lib/java/awt/font/GraphicAttribute.class and b/libjava/classpath/lib/java/awt/font/GraphicAttribute.class differ diff --git a/libjava/classpath/lib/java/awt/font/ImageGraphicAttribute.class b/libjava/classpath/lib/java/awt/font/ImageGraphicAttribute.class index 97af1d6..799c303 100644 Binary files a/libjava/classpath/lib/java/awt/font/ImageGraphicAttribute.class and b/libjava/classpath/lib/java/awt/font/ImageGraphicAttribute.class differ diff --git a/libjava/classpath/lib/java/awt/font/NumericShaper.class b/libjava/classpath/lib/java/awt/font/NumericShaper.class index 01bbc22..0631ac5 100644 Binary files a/libjava/classpath/lib/java/awt/font/NumericShaper.class and b/libjava/classpath/lib/java/awt/font/NumericShaper.class differ diff --git a/libjava/classpath/lib/java/awt/font/ShapeGraphicAttribute.class b/libjava/classpath/lib/java/awt/font/ShapeGraphicAttribute.class index 9442a74..5f72208 100644 Binary files a/libjava/classpath/lib/java/awt/font/ShapeGraphicAttribute.class and b/libjava/classpath/lib/java/awt/font/ShapeGraphicAttribute.class differ diff --git a/libjava/classpath/lib/java/awt/font/TextAttribute.class b/libjava/classpath/lib/java/awt/font/TextAttribute.class index ec4a9d2..4711a46 100644 Binary files a/libjava/classpath/lib/java/awt/font/TextAttribute.class and b/libjava/classpath/lib/java/awt/font/TextAttribute.class differ diff --git a/libjava/classpath/lib/java/awt/font/TextLayout.class b/libjava/classpath/lib/java/awt/font/TextLayout.class index bea832a..706bedb 100644 Binary files a/libjava/classpath/lib/java/awt/font/TextLayout.class and b/libjava/classpath/lib/java/awt/font/TextLayout.class differ diff --git a/libjava/classpath/lib/java/awt/geom/AffineTransform.class b/libjava/classpath/lib/java/awt/geom/AffineTransform.class index 2da5994..8d4339d 100644 Binary files a/libjava/classpath/lib/java/awt/geom/AffineTransform.class and b/libjava/classpath/lib/java/awt/geom/AffineTransform.class differ diff --git a/libjava/classpath/lib/java/awt/geom/Arc2D$Double.class b/libjava/classpath/lib/java/awt/geom/Arc2D$Double.class index 3777bf1..5667df5 100644 Binary files a/libjava/classpath/lib/java/awt/geom/Arc2D$Double.class and b/libjava/classpath/lib/java/awt/geom/Arc2D$Double.class differ diff --git a/libjava/classpath/lib/java/awt/geom/Arc2D$Float.class b/libjava/classpath/lib/java/awt/geom/Arc2D$Float.class index 74359a7..797fc66 100644 Binary files a/libjava/classpath/lib/java/awt/geom/Arc2D$Float.class and b/libjava/classpath/lib/java/awt/geom/Arc2D$Float.class differ diff --git a/libjava/classpath/lib/java/awt/geom/Arc2D.class b/libjava/classpath/lib/java/awt/geom/Arc2D.class index ff01a09..7c9c760 100644 Binary files a/libjava/classpath/lib/java/awt/geom/Arc2D.class and b/libjava/classpath/lib/java/awt/geom/Arc2D.class differ diff --git a/libjava/classpath/lib/java/awt/geom/Area$AreaIterator.class b/libjava/classpath/lib/java/awt/geom/Area$AreaIterator.class index c0510c7..334cb33 100644 Binary files a/libjava/classpath/lib/java/awt/geom/Area$AreaIterator.class and b/libjava/classpath/lib/java/awt/geom/Area$AreaIterator.class differ diff --git a/libjava/classpath/lib/java/awt/geom/Area$CubicSegment.class b/libjava/classpath/lib/java/awt/geom/Area$CubicSegment.class index 8425f44..94e29bf 100644 Binary files a/libjava/classpath/lib/java/awt/geom/Area$CubicSegment.class and b/libjava/classpath/lib/java/awt/geom/Area$CubicSegment.class differ diff --git a/libjava/classpath/lib/java/awt/geom/Area$Intersection.class b/libjava/classpath/lib/java/awt/geom/Area$Intersection.class index c940839..43db6c3 100644 Binary files a/libjava/classpath/lib/java/awt/geom/Area$Intersection.class and b/libjava/classpath/lib/java/awt/geom/Area$Intersection.class differ diff --git a/libjava/classpath/lib/java/awt/geom/Area$LineSegment.class b/libjava/classpath/lib/java/awt/geom/Area$LineSegment.class index c770e64..75ddff5 100644 Binary files a/libjava/classpath/lib/java/awt/geom/Area$LineSegment.class and b/libjava/classpath/lib/java/awt/geom/Area$LineSegment.class differ diff --git a/libjava/classpath/lib/java/awt/geom/Area$QuadSegment.class b/libjava/classpath/lib/java/awt/geom/Area$QuadSegment.class index f2f61d1..be05076 100644 Binary files a/libjava/classpath/lib/java/awt/geom/Area$QuadSegment.class and b/libjava/classpath/lib/java/awt/geom/Area$QuadSegment.class differ diff --git a/libjava/classpath/lib/java/awt/geom/Area$Segment.class b/libjava/classpath/lib/java/awt/geom/Area$Segment.class index b3a1e8b..8bf8673 100644 Binary files a/libjava/classpath/lib/java/awt/geom/Area$Segment.class and b/libjava/classpath/lib/java/awt/geom/Area$Segment.class differ diff --git a/libjava/classpath/lib/java/awt/geom/Area.class b/libjava/classpath/lib/java/awt/geom/Area.class index c8c40b4..33273fe 100644 Binary files a/libjava/classpath/lib/java/awt/geom/Area.class and b/libjava/classpath/lib/java/awt/geom/Area.class differ diff --git a/libjava/classpath/lib/java/awt/geom/CubicCurve2D$1.class b/libjava/classpath/lib/java/awt/geom/CubicCurve2D$1.class index 3aedc6b..97669d7 100644 Binary files a/libjava/classpath/lib/java/awt/geom/CubicCurve2D$1.class and b/libjava/classpath/lib/java/awt/geom/CubicCurve2D$1.class differ diff --git a/libjava/classpath/lib/java/awt/geom/CubicCurve2D$Double.class b/libjava/classpath/lib/java/awt/geom/CubicCurve2D$Double.class index 503543b..d690551 100644 Binary files a/libjava/classpath/lib/java/awt/geom/CubicCurve2D$Double.class and b/libjava/classpath/lib/java/awt/geom/CubicCurve2D$Double.class differ diff --git a/libjava/classpath/lib/java/awt/geom/CubicCurve2D$Float.class b/libjava/classpath/lib/java/awt/geom/CubicCurve2D$Float.class index b185581..1a45e58 100644 Binary files a/libjava/classpath/lib/java/awt/geom/CubicCurve2D$Float.class and b/libjava/classpath/lib/java/awt/geom/CubicCurve2D$Float.class differ diff --git a/libjava/classpath/lib/java/awt/geom/CubicCurve2D.class b/libjava/classpath/lib/java/awt/geom/CubicCurve2D.class index 1557091..e6d92dc 100644 Binary files a/libjava/classpath/lib/java/awt/geom/CubicCurve2D.class and b/libjava/classpath/lib/java/awt/geom/CubicCurve2D.class differ diff --git a/libjava/classpath/lib/java/awt/geom/Ellipse2D$Double.class b/libjava/classpath/lib/java/awt/geom/Ellipse2D$Double.class index b2e12a5..9b06db8 100644 Binary files a/libjava/classpath/lib/java/awt/geom/Ellipse2D$Double.class and b/libjava/classpath/lib/java/awt/geom/Ellipse2D$Double.class differ diff --git a/libjava/classpath/lib/java/awt/geom/Ellipse2D$Float.class b/libjava/classpath/lib/java/awt/geom/Ellipse2D$Float.class index b6ce49b..ac9841f 100644 Binary files a/libjava/classpath/lib/java/awt/geom/Ellipse2D$Float.class and b/libjava/classpath/lib/java/awt/geom/Ellipse2D$Float.class differ diff --git a/libjava/classpath/lib/java/awt/geom/Ellipse2D.class b/libjava/classpath/lib/java/awt/geom/Ellipse2D.class index 2a78233..502958d 100644 Binary files a/libjava/classpath/lib/java/awt/geom/Ellipse2D.class and b/libjava/classpath/lib/java/awt/geom/Ellipse2D.class differ diff --git a/libjava/classpath/lib/java/awt/geom/GeneralPath$GeneralPathIterator.class b/libjava/classpath/lib/java/awt/geom/GeneralPath$GeneralPathIterator.class index f71ffe5..eda1282 100644 Binary files a/libjava/classpath/lib/java/awt/geom/GeneralPath$GeneralPathIterator.class and b/libjava/classpath/lib/java/awt/geom/GeneralPath$GeneralPathIterator.class differ diff --git a/libjava/classpath/lib/java/awt/geom/GeneralPath.class b/libjava/classpath/lib/java/awt/geom/GeneralPath.class index 995e553..5b0e694 100644 Binary files a/libjava/classpath/lib/java/awt/geom/GeneralPath.class and b/libjava/classpath/lib/java/awt/geom/GeneralPath.class differ diff --git a/libjava/classpath/lib/java/awt/geom/Line2D$1.class b/libjava/classpath/lib/java/awt/geom/Line2D$1.class index 876a78d..0a3f6d7 100644 Binary files a/libjava/classpath/lib/java/awt/geom/Line2D$1.class and b/libjava/classpath/lib/java/awt/geom/Line2D$1.class differ diff --git a/libjava/classpath/lib/java/awt/geom/Line2D$Double.class b/libjava/classpath/lib/java/awt/geom/Line2D$Double.class index f1fdb8f..253af1a 100644 Binary files a/libjava/classpath/lib/java/awt/geom/Line2D$Double.class and b/libjava/classpath/lib/java/awt/geom/Line2D$Double.class differ diff --git a/libjava/classpath/lib/java/awt/geom/Line2D$Float.class b/libjava/classpath/lib/java/awt/geom/Line2D$Float.class index a022ae4..a5191d2 100644 Binary files a/libjava/classpath/lib/java/awt/geom/Line2D$Float.class and b/libjava/classpath/lib/java/awt/geom/Line2D$Float.class differ diff --git a/libjava/classpath/lib/java/awt/geom/Line2D.class b/libjava/classpath/lib/java/awt/geom/Line2D.class index 5845bb5..ab90535 100644 Binary files a/libjava/classpath/lib/java/awt/geom/Line2D.class and b/libjava/classpath/lib/java/awt/geom/Line2D.class differ diff --git a/libjava/classpath/lib/java/awt/geom/QuadCurve2D$1.class b/libjava/classpath/lib/java/awt/geom/QuadCurve2D$1.class index 93ba86a..a295615 100644 Binary files a/libjava/classpath/lib/java/awt/geom/QuadCurve2D$1.class and b/libjava/classpath/lib/java/awt/geom/QuadCurve2D$1.class differ diff --git a/libjava/classpath/lib/java/awt/geom/QuadCurve2D$Double.class b/libjava/classpath/lib/java/awt/geom/QuadCurve2D$Double.class index f0c92f7..3e2d7e6 100644 Binary files a/libjava/classpath/lib/java/awt/geom/QuadCurve2D$Double.class and b/libjava/classpath/lib/java/awt/geom/QuadCurve2D$Double.class differ diff --git a/libjava/classpath/lib/java/awt/geom/QuadCurve2D$Float.class b/libjava/classpath/lib/java/awt/geom/QuadCurve2D$Float.class index f6b42b0..175737c 100644 Binary files a/libjava/classpath/lib/java/awt/geom/QuadCurve2D$Float.class and b/libjava/classpath/lib/java/awt/geom/QuadCurve2D$Float.class differ diff --git a/libjava/classpath/lib/java/awt/geom/QuadCurve2D.class b/libjava/classpath/lib/java/awt/geom/QuadCurve2D.class index 8324a37..5dbff00 100644 Binary files a/libjava/classpath/lib/java/awt/geom/QuadCurve2D.class and b/libjava/classpath/lib/java/awt/geom/QuadCurve2D.class differ diff --git a/libjava/classpath/lib/java/awt/geom/Rectangle2D$1.class b/libjava/classpath/lib/java/awt/geom/Rectangle2D$1.class index 4b38908..4c2451e 100644 Binary files a/libjava/classpath/lib/java/awt/geom/Rectangle2D$1.class and b/libjava/classpath/lib/java/awt/geom/Rectangle2D$1.class differ diff --git a/libjava/classpath/lib/java/awt/geom/Rectangle2D.class b/libjava/classpath/lib/java/awt/geom/Rectangle2D.class index 628b608e..467095c 100644 Binary files a/libjava/classpath/lib/java/awt/geom/Rectangle2D.class and b/libjava/classpath/lib/java/awt/geom/Rectangle2D.class differ diff --git a/libjava/classpath/lib/java/awt/geom/RectangularShape.class b/libjava/classpath/lib/java/awt/geom/RectangularShape.class index 69458e3..ae2d01a 100644 Binary files a/libjava/classpath/lib/java/awt/geom/RectangularShape.class and b/libjava/classpath/lib/java/awt/geom/RectangularShape.class differ diff --git a/libjava/classpath/lib/java/awt/geom/RoundRectangle2D$1.class b/libjava/classpath/lib/java/awt/geom/RoundRectangle2D$1.class index de604f0..2b7175b 100644 Binary files a/libjava/classpath/lib/java/awt/geom/RoundRectangle2D$1.class and b/libjava/classpath/lib/java/awt/geom/RoundRectangle2D$1.class differ diff --git a/libjava/classpath/lib/java/awt/geom/RoundRectangle2D$Double.class b/libjava/classpath/lib/java/awt/geom/RoundRectangle2D$Double.class index 4b3a3f4..fa2813e 100644 Binary files a/libjava/classpath/lib/java/awt/geom/RoundRectangle2D$Double.class and b/libjava/classpath/lib/java/awt/geom/RoundRectangle2D$Double.class differ diff --git a/libjava/classpath/lib/java/awt/geom/RoundRectangle2D$Float.class b/libjava/classpath/lib/java/awt/geom/RoundRectangle2D$Float.class index c8ab25a..2b19bff 100644 Binary files a/libjava/classpath/lib/java/awt/geom/RoundRectangle2D$Float.class and b/libjava/classpath/lib/java/awt/geom/RoundRectangle2D$Float.class differ diff --git a/libjava/classpath/lib/java/awt/geom/RoundRectangle2D.class b/libjava/classpath/lib/java/awt/geom/RoundRectangle2D.class index ff0e1fa..3815317 100644 Binary files a/libjava/classpath/lib/java/awt/geom/RoundRectangle2D.class and b/libjava/classpath/lib/java/awt/geom/RoundRectangle2D.class differ diff --git a/libjava/classpath/lib/java/awt/im/InputContext.class b/libjava/classpath/lib/java/awt/im/InputContext.class index 84acbd2..a954db3 100644 Binary files a/libjava/classpath/lib/java/awt/im/InputContext.class and b/libjava/classpath/lib/java/awt/im/InputContext.class differ diff --git a/libjava/classpath/lib/java/awt/im/InputMethodRequests.class b/libjava/classpath/lib/java/awt/im/InputMethodRequests.class index 1e602d6..11057ee 100644 Binary files a/libjava/classpath/lib/java/awt/im/InputMethodRequests.class and b/libjava/classpath/lib/java/awt/im/InputMethodRequests.class differ diff --git a/libjava/classpath/lib/java/awt/im/InputSubset.class b/libjava/classpath/lib/java/awt/im/InputSubset.class index ad26f37..0591db7 100644 Binary files a/libjava/classpath/lib/java/awt/im/InputSubset.class and b/libjava/classpath/lib/java/awt/im/InputSubset.class differ diff --git a/libjava/classpath/lib/java/awt/im/spi/InputMethod.class b/libjava/classpath/lib/java/awt/im/spi/InputMethod.class index 9f74de8..f349228 100644 Binary files a/libjava/classpath/lib/java/awt/im/spi/InputMethod.class and b/libjava/classpath/lib/java/awt/im/spi/InputMethod.class differ diff --git a/libjava/classpath/lib/java/awt/image/AffineTransformOp.class b/libjava/classpath/lib/java/awt/image/AffineTransformOp.class index bc2eefe..4d3b78a 100644 Binary files a/libjava/classpath/lib/java/awt/image/AffineTransformOp.class and b/libjava/classpath/lib/java/awt/image/AffineTransformOp.class differ diff --git a/libjava/classpath/lib/java/awt/image/BufferedImage$1.class b/libjava/classpath/lib/java/awt/image/BufferedImage$1.class index 75e331e..5654d42 100644 Binary files a/libjava/classpath/lib/java/awt/image/BufferedImage$1.class and b/libjava/classpath/lib/java/awt/image/BufferedImage$1.class differ diff --git a/libjava/classpath/lib/java/awt/image/BufferedImage.class b/libjava/classpath/lib/java/awt/image/BufferedImage.class index c1156b6..d4eab3b5 100644 Binary files a/libjava/classpath/lib/java/awt/image/BufferedImage.class and b/libjava/classpath/lib/java/awt/image/BufferedImage.class differ diff --git a/libjava/classpath/lib/java/awt/image/ColorConvertOp.class b/libjava/classpath/lib/java/awt/image/ColorConvertOp.class index bc3fa08..5d75331 100644 Binary files a/libjava/classpath/lib/java/awt/image/ColorConvertOp.class and b/libjava/classpath/lib/java/awt/image/ColorConvertOp.class differ diff --git a/libjava/classpath/lib/java/awt/image/ComponentSampleModel.class b/libjava/classpath/lib/java/awt/image/ComponentSampleModel.class index 74ba60a..1b8eb2a 100644 Binary files a/libjava/classpath/lib/java/awt/image/ComponentSampleModel.class and b/libjava/classpath/lib/java/awt/image/ComponentSampleModel.class differ diff --git a/libjava/classpath/lib/java/awt/image/IndexColorModel.class b/libjava/classpath/lib/java/awt/image/IndexColorModel.class index c8f917f..f4d89fe 100644 Binary files a/libjava/classpath/lib/java/awt/image/IndexColorModel.class and b/libjava/classpath/lib/java/awt/image/IndexColorModel.class differ diff --git a/libjava/classpath/lib/java/awt/image/PixelGrabber$1.class b/libjava/classpath/lib/java/awt/image/PixelGrabber$1.class index f12bf8d..56229a9 100644 Binary files a/libjava/classpath/lib/java/awt/image/PixelGrabber$1.class and b/libjava/classpath/lib/java/awt/image/PixelGrabber$1.class differ diff --git a/libjava/classpath/lib/java/awt/image/PixelGrabber.class b/libjava/classpath/lib/java/awt/image/PixelGrabber.class index b4797bd..a2b8a65 100644 Binary files a/libjava/classpath/lib/java/awt/image/PixelGrabber.class and b/libjava/classpath/lib/java/awt/image/PixelGrabber.class differ diff --git a/libjava/classpath/lib/java/awt/image/SinglePixelPackedSampleModel.class b/libjava/classpath/lib/java/awt/image/SinglePixelPackedSampleModel.class index 52564fc..15bf99e 100644 Binary files a/libjava/classpath/lib/java/awt/image/SinglePixelPackedSampleModel.class and b/libjava/classpath/lib/java/awt/image/SinglePixelPackedSampleModel.class differ diff --git a/libjava/classpath/lib/java/awt/peer/ComponentPeer.class b/libjava/classpath/lib/java/awt/peer/ComponentPeer.class index 37cd47c..db106ff 100644 Binary files a/libjava/classpath/lib/java/awt/peer/ComponentPeer.class and b/libjava/classpath/lib/java/awt/peer/ComponentPeer.class differ diff --git a/libjava/classpath/lib/java/awt/peer/DesktopPeer.class b/libjava/classpath/lib/java/awt/peer/DesktopPeer.class new file mode 100644 index 0000000..de00341 Binary files /dev/null and b/libjava/classpath/lib/java/awt/peer/DesktopPeer.class differ diff --git a/libjava/classpath/lib/java/awt/print/PrinterJob.class b/libjava/classpath/lib/java/awt/print/PrinterJob.class index 2f31fd5..9db73c5 100644 Binary files a/libjava/classpath/lib/java/awt/print/PrinterJob.class and b/libjava/classpath/lib/java/awt/print/PrinterJob.class differ diff --git a/libjava/classpath/lib/java/beans/ConstructorProperties.class b/libjava/classpath/lib/java/beans/ConstructorProperties.class new file mode 100644 index 0000000..2fc438a Binary files /dev/null and b/libjava/classpath/lib/java/beans/ConstructorProperties.class differ diff --git a/libjava/classpath/lib/java/beans/Encoder$1.class b/libjava/classpath/lib/java/beans/Encoder$1.class index 6bb7946..7535afe 100644 Binary files a/libjava/classpath/lib/java/beans/Encoder$1.class and b/libjava/classpath/lib/java/beans/Encoder$1.class differ diff --git a/libjava/classpath/lib/java/beans/Encoder.class b/libjava/classpath/lib/java/beans/Encoder.class index 69a258f..cfaee80 100644 Binary files a/libjava/classpath/lib/java/beans/Encoder.class and b/libjava/classpath/lib/java/beans/Encoder.class differ diff --git a/libjava/classpath/lib/java/beans/PropertyChangeSupport.class b/libjava/classpath/lib/java/beans/PropertyChangeSupport.class index 030b81a..699186f 100644 Binary files a/libjava/classpath/lib/java/beans/PropertyChangeSupport.class and b/libjava/classpath/lib/java/beans/PropertyChangeSupport.class differ diff --git a/libjava/classpath/lib/java/beans/VetoableChangeSupport.class b/libjava/classpath/lib/java/beans/VetoableChangeSupport.class index bb27ac1..f48cabe 100644 Binary files a/libjava/classpath/lib/java/beans/VetoableChangeSupport.class and b/libjava/classpath/lib/java/beans/VetoableChangeSupport.class differ diff --git a/libjava/classpath/lib/java/beans/XMLEncoder.class b/libjava/classpath/lib/java/beans/XMLEncoder.class index 3abe27c..af6b30f 100644 Binary files a/libjava/classpath/lib/java/beans/XMLEncoder.class and b/libjava/classpath/lib/java/beans/XMLEncoder.class differ diff --git a/libjava/classpath/lib/java/beans/beancontext/BeanContextServicesSupport$BCSSChild.class b/libjava/classpath/lib/java/beans/beancontext/BeanContextServicesSupport$BCSSChild.class index e5f12c8..dd6ff06 100644 Binary files a/libjava/classpath/lib/java/beans/beancontext/BeanContextServicesSupport$BCSSChild.class and b/libjava/classpath/lib/java/beans/beancontext/BeanContextServicesSupport$BCSSChild.class differ diff --git a/libjava/classpath/lib/java/beans/beancontext/BeanContextServicesSupport$ServiceLease.class b/libjava/classpath/lib/java/beans/beancontext/BeanContextServicesSupport$ServiceLease.class index 9daefd6..6ea592d 100644 Binary files a/libjava/classpath/lib/java/beans/beancontext/BeanContextServicesSupport$ServiceLease.class and b/libjava/classpath/lib/java/beans/beancontext/BeanContextServicesSupport$ServiceLease.class differ diff --git a/libjava/classpath/lib/java/beans/beancontext/BeanContextServicesSupport$ServiceRequest.class b/libjava/classpath/lib/java/beans/beancontext/BeanContextServicesSupport$ServiceRequest.class index 3a18695..a973c82 100644 Binary files a/libjava/classpath/lib/java/beans/beancontext/BeanContextServicesSupport$ServiceRequest.class and b/libjava/classpath/lib/java/beans/beancontext/BeanContextServicesSupport$ServiceRequest.class differ diff --git a/libjava/classpath/lib/java/beans/beancontext/BeanContextServicesSupport.class b/libjava/classpath/lib/java/beans/beancontext/BeanContextServicesSupport.class index 5d0f1b8..eff8888 100644 Binary files a/libjava/classpath/lib/java/beans/beancontext/BeanContextServicesSupport.class and b/libjava/classpath/lib/java/beans/beancontext/BeanContextServicesSupport.class differ diff --git a/libjava/classpath/lib/java/io/DeleteFileHelper$1.class b/libjava/classpath/lib/java/io/DeleteFileHelper$1.class index c9ecae4..7ff45b2 100644 Binary files a/libjava/classpath/lib/java/io/DeleteFileHelper$1.class and b/libjava/classpath/lib/java/io/DeleteFileHelper$1.class differ diff --git a/libjava/classpath/lib/java/io/DeleteFileHelper.class b/libjava/classpath/lib/java/io/DeleteFileHelper.class index 14570bd..17b4310 100644 Binary files a/libjava/classpath/lib/java/io/DeleteFileHelper.class and b/libjava/classpath/lib/java/io/DeleteFileHelper.class differ diff --git a/libjava/classpath/lib/java/io/File.class b/libjava/classpath/lib/java/io/File.class index 06a7442..d4cf93d 100644 Binary files a/libjava/classpath/lib/java/io/File.class and b/libjava/classpath/lib/java/io/File.class differ diff --git a/libjava/classpath/lib/java/io/ObjectInputStream$1.class b/libjava/classpath/lib/java/io/ObjectInputStream$1.class index d800fe4..a871c05 100644 Binary files a/libjava/classpath/lib/java/io/ObjectInputStream$1.class and b/libjava/classpath/lib/java/io/ObjectInputStream$1.class differ diff --git a/libjava/classpath/lib/java/io/ObjectInputStream$2.class b/libjava/classpath/lib/java/io/ObjectInputStream$2.class index d723177..c854e07 100644 Binary files a/libjava/classpath/lib/java/io/ObjectInputStream$2.class and b/libjava/classpath/lib/java/io/ObjectInputStream$2.class differ diff --git a/libjava/classpath/lib/java/io/ObjectInputStream$GetField.class b/libjava/classpath/lib/java/io/ObjectInputStream$GetField.class index e93a330..ae17235 100644 Binary files a/libjava/classpath/lib/java/io/ObjectInputStream$GetField.class and b/libjava/classpath/lib/java/io/ObjectInputStream$GetField.class differ diff --git a/libjava/classpath/lib/java/io/ObjectInputStream$ValidatorAndPriority.class b/libjava/classpath/lib/java/io/ObjectInputStream$ValidatorAndPriority.class index 06cec26..a25dab6 100644 Binary files a/libjava/classpath/lib/java/io/ObjectInputStream$ValidatorAndPriority.class and b/libjava/classpath/lib/java/io/ObjectInputStream$ValidatorAndPriority.class differ diff --git a/libjava/classpath/lib/java/io/ObjectInputStream.class b/libjava/classpath/lib/java/io/ObjectInputStream.class index 2c61cc6..1840e3f 100644 Binary files a/libjava/classpath/lib/java/io/ObjectInputStream.class and b/libjava/classpath/lib/java/io/ObjectInputStream.class differ diff --git a/libjava/classpath/lib/java/io/ObjectOutputStream$1.class b/libjava/classpath/lib/java/io/ObjectOutputStream$1.class index 56e2f75..e1c5ee9 100644 Binary files a/libjava/classpath/lib/java/io/ObjectOutputStream$1.class and b/libjava/classpath/lib/java/io/ObjectOutputStream$1.class differ diff --git a/libjava/classpath/lib/java/io/ObjectOutputStream$PutField.class b/libjava/classpath/lib/java/io/ObjectOutputStream$PutField.class index 87df0f1..bd154ea 100644 Binary files a/libjava/classpath/lib/java/io/ObjectOutputStream$PutField.class and b/libjava/classpath/lib/java/io/ObjectOutputStream$PutField.class differ diff --git a/libjava/classpath/lib/java/io/ObjectOutputStream.class b/libjava/classpath/lib/java/io/ObjectOutputStream.class index 4720969..2b9d84e 100644 Binary files a/libjava/classpath/lib/java/io/ObjectOutputStream.class and b/libjava/classpath/lib/java/io/ObjectOutputStream.class differ diff --git a/libjava/classpath/lib/java/io/ObjectStreamClass$1.class b/libjava/classpath/lib/java/io/ObjectStreamClass$1.class index 8b3cbb0..78c96cb 100644 Binary files a/libjava/classpath/lib/java/io/ObjectStreamClass$1.class and b/libjava/classpath/lib/java/io/ObjectStreamClass$1.class differ diff --git a/libjava/classpath/lib/java/io/ObjectStreamClass$2.class b/libjava/classpath/lib/java/io/ObjectStreamClass$2.class index 18a1c61..d1c8dcc 100644 Binary files a/libjava/classpath/lib/java/io/ObjectStreamClass$2.class and b/libjava/classpath/lib/java/io/ObjectStreamClass$2.class differ diff --git a/libjava/classpath/lib/java/io/ObjectStreamClass.class b/libjava/classpath/lib/java/io/ObjectStreamClass.class index da622eb..66dc650 100644 Binary files a/libjava/classpath/lib/java/io/ObjectStreamClass.class and b/libjava/classpath/lib/java/io/ObjectStreamClass.class differ diff --git a/libjava/classpath/lib/java/io/ObjectStreamField$1.class b/libjava/classpath/lib/java/io/ObjectStreamField$1.class index bdc0407..2d561d5 100644 Binary files a/libjava/classpath/lib/java/io/ObjectStreamField$1.class and b/libjava/classpath/lib/java/io/ObjectStreamField$1.class differ diff --git a/libjava/classpath/lib/java/io/ObjectStreamField.class b/libjava/classpath/lib/java/io/ObjectStreamField.class index 7877ba8..53d3145b 100644 Binary files a/libjava/classpath/lib/java/io/ObjectStreamField.class and b/libjava/classpath/lib/java/io/ObjectStreamField.class differ diff --git a/libjava/classpath/lib/java/io/StreamTokenizer.class b/libjava/classpath/lib/java/io/StreamTokenizer.class index b9ee6f7..2afe400 100644 Binary files a/libjava/classpath/lib/java/io/StreamTokenizer.class and b/libjava/classpath/lib/java/io/StreamTokenizer.class differ diff --git a/libjava/classpath/lib/java/lang/Character$UnicodeBlock$NameType.class b/libjava/classpath/lib/java/lang/Character$UnicodeBlock$NameType.class index 3f341aa..5a0a5b7 100644 Binary files a/libjava/classpath/lib/java/lang/Character$UnicodeBlock$NameType.class and b/libjava/classpath/lib/java/lang/Character$UnicodeBlock$NameType.class differ diff --git a/libjava/classpath/lib/java/lang/Character$UnicodeBlock.class b/libjava/classpath/lib/java/lang/Character$UnicodeBlock.class index e339e2b..46d78f2 100644 Binary files a/libjava/classpath/lib/java/lang/Character$UnicodeBlock.class and b/libjava/classpath/lib/java/lang/Character$UnicodeBlock.class differ diff --git a/libjava/classpath/lib/java/lang/Character.class b/libjava/classpath/lib/java/lang/Character.class index 68f96fb..670b40c 100644 Binary files a/libjava/classpath/lib/java/lang/Character.class and b/libjava/classpath/lib/java/lang/Character.class differ diff --git a/libjava/classpath/lib/java/lang/Class$1.class b/libjava/classpath/lib/java/lang/Class$1.class new file mode 100644 index 0000000..51ef884 Binary files /dev/null and b/libjava/classpath/lib/java/lang/Class$1.class differ diff --git a/libjava/classpath/lib/java/lang/Class.class b/libjava/classpath/lib/java/lang/Class.class index 7dbfdce..78741b2 100644 Binary files a/libjava/classpath/lib/java/lang/Class.class and b/libjava/classpath/lib/java/lang/Class.class differ diff --git a/libjava/classpath/lib/java/lang/ClassLoader.class b/libjava/classpath/lib/java/lang/ClassLoader.class index c0961d1..ef012c2 100644 Binary files a/libjava/classpath/lib/java/lang/ClassLoader.class and b/libjava/classpath/lib/java/lang/ClassLoader.class differ diff --git a/libjava/classpath/lib/java/lang/Enum.class b/libjava/classpath/lib/java/lang/Enum.class index e7961262..82d2041 100644 Binary files a/libjava/classpath/lib/java/lang/Enum.class and b/libjava/classpath/lib/java/lang/Enum.class differ diff --git a/libjava/classpath/lib/java/lang/Package.class b/libjava/classpath/lib/java/lang/Package.class index e0b7323..d269e72 100644 Binary files a/libjava/classpath/lib/java/lang/Package.class and b/libjava/classpath/lib/java/lang/Package.class differ diff --git a/libjava/classpath/lib/java/lang/PosixProcess.class b/libjava/classpath/lib/java/lang/PosixProcess.class index 0241ae7..d6ae88b 100644 Binary files a/libjava/classpath/lib/java/lang/PosixProcess.class and b/libjava/classpath/lib/java/lang/PosixProcess.class differ diff --git a/libjava/classpath/lib/java/lang/ProcessBuilder.class b/libjava/classpath/lib/java/lang/ProcessBuilder.class index d83d708..a6df343 100644 Binary files a/libjava/classpath/lib/java/lang/ProcessBuilder.class and b/libjava/classpath/lib/java/lang/ProcessBuilder.class differ diff --git a/libjava/classpath/lib/java/lang/SecurityManager$1.class b/libjava/classpath/lib/java/lang/SecurityManager$1.class index 1a9b3c68..0c47c49 100644 Binary files a/libjava/classpath/lib/java/lang/SecurityManager$1.class and b/libjava/classpath/lib/java/lang/SecurityManager$1.class differ diff --git a/libjava/classpath/lib/java/lang/SecurityManager.class b/libjava/classpath/lib/java/lang/SecurityManager.class index 7f080b5..3e3cd69 100644 Binary files a/libjava/classpath/lib/java/lang/SecurityManager.class and b/libjava/classpath/lib/java/lang/SecurityManager.class differ diff --git a/libjava/classpath/lib/java/lang/StrictMath.class b/libjava/classpath/lib/java/lang/StrictMath.class index e56d067..0bdbf1d 100644 Binary files a/libjava/classpath/lib/java/lang/StrictMath.class and b/libjava/classpath/lib/java/lang/StrictMath.class differ diff --git a/libjava/classpath/lib/java/lang/String$CaseInsensitiveComparator.class b/libjava/classpath/lib/java/lang/String$CaseInsensitiveComparator.class index 3a0450c..9d2f6f4 100644 Binary files a/libjava/classpath/lib/java/lang/String$CaseInsensitiveComparator.class and b/libjava/classpath/lib/java/lang/String$CaseInsensitiveComparator.class differ diff --git a/libjava/classpath/lib/java/lang/String.class b/libjava/classpath/lib/java/lang/String.class index 27d3118..43cc87f 100644 Binary files a/libjava/classpath/lib/java/lang/String.class and b/libjava/classpath/lib/java/lang/String.class differ diff --git a/libjava/classpath/lib/java/lang/System$EnvironmentCollection.class b/libjava/classpath/lib/java/lang/System$EnvironmentCollection.class index 0bea0cc..1ef68e0 100644 Binary files a/libjava/classpath/lib/java/lang/System$EnvironmentCollection.class and b/libjava/classpath/lib/java/lang/System$EnvironmentCollection.class differ diff --git a/libjava/classpath/lib/java/lang/System$EnvironmentMap.class b/libjava/classpath/lib/java/lang/System$EnvironmentMap.class index 04ee59d..4add45e 100644 Binary files a/libjava/classpath/lib/java/lang/System$EnvironmentMap.class and b/libjava/classpath/lib/java/lang/System$EnvironmentMap.class differ diff --git a/libjava/classpath/lib/java/lang/System$EnvironmentSet.class b/libjava/classpath/lib/java/lang/System$EnvironmentSet.class index 3242787..82da563 100644 Binary files a/libjava/classpath/lib/java/lang/System$EnvironmentSet.class and b/libjava/classpath/lib/java/lang/System$EnvironmentSet.class differ diff --git a/libjava/classpath/lib/java/lang/System.class b/libjava/classpath/lib/java/lang/System.class index b370217..83d25d7 100644 Binary files a/libjava/classpath/lib/java/lang/System.class and b/libjava/classpath/lib/java/lang/System.class differ diff --git a/libjava/classpath/lib/java/lang/Thread$State.class b/libjava/classpath/lib/java/lang/Thread$State.class index 687bc9f..d3d92a8 100644 Binary files a/libjava/classpath/lib/java/lang/Thread$State.class and b/libjava/classpath/lib/java/lang/Thread$State.class differ diff --git a/libjava/classpath/lib/java/lang/Thread.class b/libjava/classpath/lib/java/lang/Thread.class index 25ff644..e164da7 100644 Binary files a/libjava/classpath/lib/java/lang/Thread.class and b/libjava/classpath/lib/java/lang/Thread.class differ diff --git a/libjava/classpath/lib/java/lang/ThreadGroup.class b/libjava/classpath/lib/java/lang/ThreadGroup.class index a9e5a1e..0837ab9 100644 Binary files a/libjava/classpath/lib/java/lang/ThreadGroup.class and b/libjava/classpath/lib/java/lang/ThreadGroup.class differ diff --git a/libjava/classpath/lib/java/lang/VMCompiler.class b/libjava/classpath/lib/java/lang/VMCompiler.class index 339a724..c621149 100644 Binary files a/libjava/classpath/lib/java/lang/VMCompiler.class and b/libjava/classpath/lib/java/lang/VMCompiler.class differ diff --git a/libjava/classpath/lib/java/lang/VMProcess.class b/libjava/classpath/lib/java/lang/VMProcess.class index 5a13c77..a4facce5 100644 Binary files a/libjava/classpath/lib/java/lang/VMProcess.class and b/libjava/classpath/lib/java/lang/VMProcess.class differ diff --git a/libjava/classpath/lib/java/lang/management/LockInfo.class b/libjava/classpath/lib/java/lang/management/LockInfo.class new file mode 100644 index 0000000..a1d1589 Binary files /dev/null and b/libjava/classpath/lib/java/lang/management/LockInfo.class differ diff --git a/libjava/classpath/lib/java/lang/management/ManagementFactory$ManagementInvocationHandler.class b/libjava/classpath/lib/java/lang/management/ManagementFactory$ManagementInvocationHandler.class new file mode 100644 index 0000000..d0a2045 Binary files /dev/null and b/libjava/classpath/lib/java/lang/management/ManagementFactory$ManagementInvocationHandler.class differ diff --git a/libjava/classpath/lib/java/lang/management/ManagementFactory.class b/libjava/classpath/lib/java/lang/management/ManagementFactory.class index 0d022ca4..413767d 100644 Binary files a/libjava/classpath/lib/java/lang/management/ManagementFactory.class and b/libjava/classpath/lib/java/lang/management/ManagementFactory.class differ diff --git a/libjava/classpath/lib/java/lang/management/MemoryUsage.class b/libjava/classpath/lib/java/lang/management/MemoryUsage.class index 401f08c..bbacd90 100644 Binary files a/libjava/classpath/lib/java/lang/management/MemoryUsage.class and b/libjava/classpath/lib/java/lang/management/MemoryUsage.class differ diff --git a/libjava/classpath/lib/java/lang/management/MonitorInfo.class b/libjava/classpath/lib/java/lang/management/MonitorInfo.class new file mode 100644 index 0000000..111bd4c Binary files /dev/null and b/libjava/classpath/lib/java/lang/management/MonitorInfo.class differ diff --git a/libjava/classpath/lib/java/lang/management/OperatingSystemMXBean.class b/libjava/classpath/lib/java/lang/management/OperatingSystemMXBean.class index b63966b..dcdd12d 100644 Binary files a/libjava/classpath/lib/java/lang/management/OperatingSystemMXBean.class and b/libjava/classpath/lib/java/lang/management/OperatingSystemMXBean.class differ diff --git a/libjava/classpath/lib/java/lang/management/ThreadInfo.class b/libjava/classpath/lib/java/lang/management/ThreadInfo.class index 4f87834..25e861f 100644 Binary files a/libjava/classpath/lib/java/lang/management/ThreadInfo.class and b/libjava/classpath/lib/java/lang/management/ThreadInfo.class differ diff --git a/libjava/classpath/lib/java/lang/management/ThreadMXBean.class b/libjava/classpath/lib/java/lang/management/ThreadMXBean.class index af295c3..df99afa 100644 Binary files a/libjava/classpath/lib/java/lang/management/ThreadMXBean.class and b/libjava/classpath/lib/java/lang/management/ThreadMXBean.class differ diff --git a/libjava/classpath/lib/java/lang/reflect/Proxy$ClassFactory.class b/libjava/classpath/lib/java/lang/reflect/Proxy$ClassFactory.class index 9914135..0c833b2 100644 Binary files a/libjava/classpath/lib/java/lang/reflect/Proxy$ClassFactory.class and b/libjava/classpath/lib/java/lang/reflect/Proxy$ClassFactory.class differ diff --git a/libjava/classpath/lib/java/lang/reflect/Proxy$ProxyData.class b/libjava/classpath/lib/java/lang/reflect/Proxy$ProxyData.class index e595c2a..3556b58 100644 Binary files a/libjava/classpath/lib/java/lang/reflect/Proxy$ProxyData.class and b/libjava/classpath/lib/java/lang/reflect/Proxy$ProxyData.class differ diff --git a/libjava/classpath/lib/java/lang/reflect/Proxy$ProxySignature.class b/libjava/classpath/lib/java/lang/reflect/Proxy$ProxySignature.class index 3df0e48..b31ea76 100644 Binary files a/libjava/classpath/lib/java/lang/reflect/Proxy$ProxySignature.class and b/libjava/classpath/lib/java/lang/reflect/Proxy$ProxySignature.class differ diff --git a/libjava/classpath/lib/java/lang/reflect/Proxy.class b/libjava/classpath/lib/java/lang/reflect/Proxy.class index ee41003..96b42f8b 100644 Binary files a/libjava/classpath/lib/java/lang/reflect/Proxy.class and b/libjava/classpath/lib/java/lang/reflect/Proxy.class differ diff --git a/libjava/classpath/lib/java/lang/reflect/VMProxy.class b/libjava/classpath/lib/java/lang/reflect/VMProxy.class index 69a3314..7451d6b 100644 Binary files a/libjava/classpath/lib/java/lang/reflect/VMProxy.class and b/libjava/classpath/lib/java/lang/reflect/VMProxy.class differ diff --git a/libjava/classpath/lib/java/math/BigInteger.class b/libjava/classpath/lib/java/math/BigInteger.class index 97bede6..15a85be 100644 Binary files a/libjava/classpath/lib/java/math/BigInteger.class and b/libjava/classpath/lib/java/math/BigInteger.class differ diff --git a/libjava/classpath/lib/java/net/DatagramSocket.class b/libjava/classpath/lib/java/net/DatagramSocket.class index d80af7d..d7e9440 100644 Binary files a/libjava/classpath/lib/java/net/DatagramSocket.class and b/libjava/classpath/lib/java/net/DatagramSocket.class differ diff --git a/libjava/classpath/lib/java/net/MimeTypeMapper.class b/libjava/classpath/lib/java/net/MimeTypeMapper.class index eb7f5b5..9de9db6 100644 Binary files a/libjava/classpath/lib/java/net/MimeTypeMapper.class and b/libjava/classpath/lib/java/net/MimeTypeMapper.class differ diff --git a/libjava/classpath/lib/java/net/MulticastSocket.class b/libjava/classpath/lib/java/net/MulticastSocket.class index f218e52..7e7d951c 100644 Binary files a/libjava/classpath/lib/java/net/MulticastSocket.class and b/libjava/classpath/lib/java/net/MulticastSocket.class differ diff --git a/libjava/classpath/lib/java/net/Proxy$Type.class b/libjava/classpath/lib/java/net/Proxy$Type.class index 7e0674a..7eb1026 100644 Binary files a/libjava/classpath/lib/java/net/Proxy$Type.class and b/libjava/classpath/lib/java/net/Proxy$Type.class differ diff --git a/libjava/classpath/lib/java/net/ResolverCache.class b/libjava/classpath/lib/java/net/ResolverCache.class index 3e8eec8..38b900a 100644 Binary files a/libjava/classpath/lib/java/net/ResolverCache.class and b/libjava/classpath/lib/java/net/ResolverCache.class differ diff --git a/libjava/classpath/lib/java/net/ServerSocket.class b/libjava/classpath/lib/java/net/ServerSocket.class index 51e1948..dd942a8 100644 Binary files a/libjava/classpath/lib/java/net/ServerSocket.class and b/libjava/classpath/lib/java/net/ServerSocket.class differ diff --git a/libjava/classpath/lib/java/net/Socket.class b/libjava/classpath/lib/java/net/Socket.class index b4bb5c0..75b3cd6 100644 Binary files a/libjava/classpath/lib/java/net/Socket.class and b/libjava/classpath/lib/java/net/Socket.class differ diff --git a/libjava/classpath/lib/java/net/URI.class b/libjava/classpath/lib/java/net/URI.class index 4d328f3..760c952 100644 Binary files a/libjava/classpath/lib/java/net/URI.class and b/libjava/classpath/lib/java/net/URI.class differ diff --git a/libjava/classpath/lib/java/net/URL$1.class b/libjava/classpath/lib/java/net/URL$1.class index b493220..a21bc16 100644 Binary files a/libjava/classpath/lib/java/net/URL$1.class and b/libjava/classpath/lib/java/net/URL$1.class differ diff --git a/libjava/classpath/lib/java/net/URL.class b/libjava/classpath/lib/java/net/URL.class index 8eb71fd..312f068 100644 Binary files a/libjava/classpath/lib/java/net/URL.class and b/libjava/classpath/lib/java/net/URL.class differ diff --git a/libjava/classpath/lib/java/net/URLClassLoader$1.class b/libjava/classpath/lib/java/net/URLClassLoader$1.class index 762625a..19d6d969 100644 Binary files a/libjava/classpath/lib/java/net/URLClassLoader$1.class and b/libjava/classpath/lib/java/net/URLClassLoader$1.class differ diff --git a/libjava/classpath/lib/java/net/URLClassLoader$2.class b/libjava/classpath/lib/java/net/URLClassLoader$2.class index 741aa3b..d1192b5 100644 Binary files a/libjava/classpath/lib/java/net/URLClassLoader$2.class and b/libjava/classpath/lib/java/net/URLClassLoader$2.class differ diff --git a/libjava/classpath/lib/java/net/URLClassLoader.class b/libjava/classpath/lib/java/net/URLClassLoader.class index ceb736b..fe9324f 100644 Binary files a/libjava/classpath/lib/java/net/URLClassLoader.class and b/libjava/classpath/lib/java/net/URLClassLoader.class differ diff --git a/libjava/classpath/lib/java/nio/ByteOrder.class b/libjava/classpath/lib/java/nio/ByteOrder.class index 23f94c4..7ddc9dc 100644 Binary files a/libjava/classpath/lib/java/nio/ByteOrder.class and b/libjava/classpath/lib/java/nio/ByteOrder.class differ diff --git a/libjava/classpath/lib/java/nio/MappedByteBufferImpl.class b/libjava/classpath/lib/java/nio/MappedByteBufferImpl.class index ad5846f..1c3c7d1 100644 Binary files a/libjava/classpath/lib/java/nio/MappedByteBufferImpl.class and b/libjava/classpath/lib/java/nio/MappedByteBufferImpl.class differ diff --git a/libjava/classpath/lib/java/nio/channels/spi/SelectorProvider.class b/libjava/classpath/lib/java/nio/channels/spi/SelectorProvider.class index cb10488..9e9f9e7 100644 Binary files a/libjava/classpath/lib/java/nio/channels/spi/SelectorProvider.class and b/libjava/classpath/lib/java/nio/channels/spi/SelectorProvider.class differ diff --git a/libjava/classpath/lib/java/nio/charset/CoderResult$1.class b/libjava/classpath/lib/java/nio/charset/CoderResult$1.class index 6872988..b783645 100644 Binary files a/libjava/classpath/lib/java/nio/charset/CoderResult$1.class and b/libjava/classpath/lib/java/nio/charset/CoderResult$1.class differ diff --git a/libjava/classpath/lib/java/nio/charset/CoderResult$2.class b/libjava/classpath/lib/java/nio/charset/CoderResult$2.class index 84d8dae..9fa5dd8 100644 Binary files a/libjava/classpath/lib/java/nio/charset/CoderResult$2.class and b/libjava/classpath/lib/java/nio/charset/CoderResult$2.class differ diff --git a/libjava/classpath/lib/java/nio/charset/CoderResult.class b/libjava/classpath/lib/java/nio/charset/CoderResult.class index f68fd67..766bb6f 100644 Binary files a/libjava/classpath/lib/java/nio/charset/CoderResult.class and b/libjava/classpath/lib/java/nio/charset/CoderResult.class differ diff --git a/libjava/classpath/lib/java/rmi/activation/ActivationGroup.class b/libjava/classpath/lib/java/rmi/activation/ActivationGroup.class index 26a0276..f07ac42 100644 Binary files a/libjava/classpath/lib/java/rmi/activation/ActivationGroup.class and b/libjava/classpath/lib/java/rmi/activation/ActivationGroup.class differ diff --git a/libjava/classpath/lib/java/rmi/server/UnicastRemoteObject.class b/libjava/classpath/lib/java/rmi/server/UnicastRemoteObject.class index 0798f72..a0771e0 100644 Binary files a/libjava/classpath/lib/java/rmi/server/UnicastRemoteObject.class and b/libjava/classpath/lib/java/rmi/server/UnicastRemoteObject.class differ diff --git a/libjava/classpath/lib/java/security/BasicPermission$BasicPermissionCollection.class b/libjava/classpath/lib/java/security/BasicPermission$BasicPermissionCollection.class index 23065c3..72885488 100644 Binary files a/libjava/classpath/lib/java/security/BasicPermission$BasicPermissionCollection.class and b/libjava/classpath/lib/java/security/BasicPermission$BasicPermissionCollection.class differ diff --git a/libjava/classpath/lib/java/security/BasicPermission.class b/libjava/classpath/lib/java/security/BasicPermission.class index 00b2d16..1ffd8ba 100644 Binary files a/libjava/classpath/lib/java/security/BasicPermission.class and b/libjava/classpath/lib/java/security/BasicPermission.class differ diff --git a/libjava/classpath/lib/java/security/Permission.class b/libjava/classpath/lib/java/security/Permission.class index d9db3fa..c2a3df6 100644 Binary files a/libjava/classpath/lib/java/security/Permission.class and b/libjava/classpath/lib/java/security/Permission.class differ diff --git a/libjava/classpath/lib/java/security/Permissions$1.class b/libjava/classpath/lib/java/security/Permissions$1.class index c118bb9..cea6854 100644 Binary files a/libjava/classpath/lib/java/security/Permissions$1.class and b/libjava/classpath/lib/java/security/Permissions$1.class differ diff --git a/libjava/classpath/lib/java/security/Permissions.class b/libjava/classpath/lib/java/security/Permissions.class index 17b6636..010cae74 100644 Binary files a/libjava/classpath/lib/java/security/Permissions.class and b/libjava/classpath/lib/java/security/Permissions.class differ diff --git a/libjava/classpath/lib/java/security/SecureClassLoader.class b/libjava/classpath/lib/java/security/SecureClassLoader.class index 62736c8..384d80e 100644 Binary files a/libjava/classpath/lib/java/security/SecureClassLoader.class and b/libjava/classpath/lib/java/security/SecureClassLoader.class differ diff --git a/libjava/classpath/lib/java/security/SignatureSpi.class b/libjava/classpath/lib/java/security/SignatureSpi.class index 426f987..972fc8b 100644 Binary files a/libjava/classpath/lib/java/security/SignatureSpi.class and b/libjava/classpath/lib/java/security/SignatureSpi.class differ diff --git a/libjava/classpath/lib/java/security/UnresolvedPermissionCollection$1.class b/libjava/classpath/lib/java/security/UnresolvedPermissionCollection$1.class index cded8e7..f9a8aee 100644 Binary files a/libjava/classpath/lib/java/security/UnresolvedPermissionCollection$1.class and b/libjava/classpath/lib/java/security/UnresolvedPermissionCollection$1.class differ diff --git a/libjava/classpath/lib/java/security/UnresolvedPermissionCollection.class b/libjava/classpath/lib/java/security/UnresolvedPermissionCollection.class index ab046ca..a704494 100644 Binary files a/libjava/classpath/lib/java/security/UnresolvedPermissionCollection.class and b/libjava/classpath/lib/java/security/UnresolvedPermissionCollection.class differ diff --git a/libjava/classpath/lib/java/security/cert/CertPathValidator$1.class b/libjava/classpath/lib/java/security/cert/CertPathValidator$1.class index 5d058c2..f160e28 100644 Binary files a/libjava/classpath/lib/java/security/cert/CertPathValidator$1.class and b/libjava/classpath/lib/java/security/cert/CertPathValidator$1.class differ diff --git a/libjava/classpath/lib/java/security/cert/CertPathValidator.class b/libjava/classpath/lib/java/security/cert/CertPathValidator.class index eb2b70d..3b607d2 100644 Binary files a/libjava/classpath/lib/java/security/cert/CertPathValidator.class and b/libjava/classpath/lib/java/security/cert/CertPathValidator.class differ diff --git a/libjava/classpath/lib/java/security/cert/CertStore$1.class b/libjava/classpath/lib/java/security/cert/CertStore$1.class index 19e537a..cad6ee2 100644 Binary files a/libjava/classpath/lib/java/security/cert/CertStore$1.class and b/libjava/classpath/lib/java/security/cert/CertStore$1.class differ diff --git a/libjava/classpath/lib/java/security/cert/CertStore.class b/libjava/classpath/lib/java/security/cert/CertStore.class index 7901487..1723402 100644 Binary files a/libjava/classpath/lib/java/security/cert/CertStore.class and b/libjava/classpath/lib/java/security/cert/CertStore.class differ diff --git a/libjava/classpath/lib/java/security/cert/X509CertSelector.class b/libjava/classpath/lib/java/security/cert/X509CertSelector.class index 0cad7da0..6235472 100644 Binary files a/libjava/classpath/lib/java/security/cert/X509CertSelector.class and b/libjava/classpath/lib/java/security/cert/X509CertSelector.class differ diff --git a/libjava/classpath/lib/java/text/AttributedString.class b/libjava/classpath/lib/java/text/AttributedString.class index 10bf0d7..89daccf 100644 Binary files a/libjava/classpath/lib/java/text/AttributedString.class and b/libjava/classpath/lib/java/text/AttributedString.class differ diff --git a/libjava/classpath/lib/java/text/AttributedStringIterator.class b/libjava/classpath/lib/java/text/AttributedStringIterator.class index 0d2a797..9768432 100644 Binary files a/libjava/classpath/lib/java/text/AttributedStringIterator.class and b/libjava/classpath/lib/java/text/AttributedStringIterator.class differ diff --git a/libjava/classpath/lib/java/text/Bidi.class b/libjava/classpath/lib/java/text/Bidi.class index 4e61cb8..a66d1b5 100644 Binary files a/libjava/classpath/lib/java/text/Bidi.class and b/libjava/classpath/lib/java/text/Bidi.class differ diff --git a/libjava/classpath/lib/java/text/BreakIterator.class b/libjava/classpath/lib/java/text/BreakIterator.class index c49e8f4..7b2538c 100644 Binary files a/libjava/classpath/lib/java/text/BreakIterator.class and b/libjava/classpath/lib/java/text/BreakIterator.class differ diff --git a/libjava/classpath/lib/java/text/CollationElementIterator.class b/libjava/classpath/lib/java/text/CollationElementIterator.class index 3c3176d..ba383a8 100644 Binary files a/libjava/classpath/lib/java/text/CollationElementIterator.class and b/libjava/classpath/lib/java/text/CollationElementIterator.class differ diff --git a/libjava/classpath/lib/java/text/Collator.class b/libjava/classpath/lib/java/text/Collator.class index 655c4fc..74894e3 100644 Binary files a/libjava/classpath/lib/java/text/Collator.class and b/libjava/classpath/lib/java/text/Collator.class differ diff --git a/libjava/classpath/lib/java/text/DateFormat$Field.class b/libjava/classpath/lib/java/text/DateFormat$Field.class index 0c68187..18d8e32 100644 Binary files a/libjava/classpath/lib/java/text/DateFormat$Field.class and b/libjava/classpath/lib/java/text/DateFormat$Field.class differ diff --git a/libjava/classpath/lib/java/text/DateFormat.class b/libjava/classpath/lib/java/text/DateFormat.class index ac98f50..d3e8fc8 100644 Binary files a/libjava/classpath/lib/java/text/DateFormat.class and b/libjava/classpath/lib/java/text/DateFormat.class differ diff --git a/libjava/classpath/lib/java/text/DateFormatSymbols.class b/libjava/classpath/lib/java/text/DateFormatSymbols.class index 72c3fdf..969dd8b 100644 Binary files a/libjava/classpath/lib/java/text/DateFormatSymbols.class and b/libjava/classpath/lib/java/text/DateFormatSymbols.class differ diff --git a/libjava/classpath/lib/java/text/DecimalFormat.class b/libjava/classpath/lib/java/text/DecimalFormat.class index 41efb16..17695da 100644 Binary files a/libjava/classpath/lib/java/text/DecimalFormat.class and b/libjava/classpath/lib/java/text/DecimalFormat.class differ diff --git a/libjava/classpath/lib/java/text/DecimalFormatSymbols.class b/libjava/classpath/lib/java/text/DecimalFormatSymbols.class index 253b14e..e9dbff9 100644 Binary files a/libjava/classpath/lib/java/text/DecimalFormatSymbols.class and b/libjava/classpath/lib/java/text/DecimalFormatSymbols.class differ diff --git a/libjava/classpath/lib/java/text/FieldPosition.class b/libjava/classpath/lib/java/text/FieldPosition.class index 5c8e962..bedb3e5 100644 Binary files a/libjava/classpath/lib/java/text/FieldPosition.class and b/libjava/classpath/lib/java/text/FieldPosition.class differ diff --git a/libjava/classpath/lib/java/text/Format$Field.class b/libjava/classpath/lib/java/text/Format$Field.class index 72c598b..4c8b518 100644 Binary files a/libjava/classpath/lib/java/text/Format$Field.class and b/libjava/classpath/lib/java/text/Format$Field.class differ diff --git a/libjava/classpath/lib/java/text/MessageFormat$Field.class b/libjava/classpath/lib/java/text/MessageFormat$Field.class index a020190..fe145c1 100644 Binary files a/libjava/classpath/lib/java/text/MessageFormat$Field.class and b/libjava/classpath/lib/java/text/MessageFormat$Field.class differ diff --git a/libjava/classpath/lib/java/text/MessageFormat$MessageFormatElement.class b/libjava/classpath/lib/java/text/MessageFormat$MessageFormatElement.class index 30579ea..48b67d1 100644 Binary files a/libjava/classpath/lib/java/text/MessageFormat$MessageFormatElement.class and b/libjava/classpath/lib/java/text/MessageFormat$MessageFormatElement.class differ diff --git a/libjava/classpath/lib/java/text/MessageFormat.class b/libjava/classpath/lib/java/text/MessageFormat.class index 9604145..12f9465 100644 Binary files a/libjava/classpath/lib/java/text/MessageFormat.class and b/libjava/classpath/lib/java/text/MessageFormat.class differ diff --git a/libjava/classpath/lib/java/text/NumberFormat$Field.class b/libjava/classpath/lib/java/text/NumberFormat$Field.class index bc2baf0..3f43075 100644 Binary files a/libjava/classpath/lib/java/text/NumberFormat$Field.class and b/libjava/classpath/lib/java/text/NumberFormat$Field.class differ diff --git a/libjava/classpath/lib/java/text/NumberFormat.class b/libjava/classpath/lib/java/text/NumberFormat.class index 937e291..4398582 100644 Binary files a/libjava/classpath/lib/java/text/NumberFormat.class and b/libjava/classpath/lib/java/text/NumberFormat.class differ diff --git a/libjava/classpath/lib/java/text/SimpleDateFormat.class b/libjava/classpath/lib/java/text/SimpleDateFormat.class index 7ddd8fa..08ac4f3 100644 Binary files a/libjava/classpath/lib/java/text/SimpleDateFormat.class and b/libjava/classpath/lib/java/text/SimpleDateFormat.class differ diff --git a/libjava/classpath/lib/java/text/spi/BreakIteratorProvider.class b/libjava/classpath/lib/java/text/spi/BreakIteratorProvider.class new file mode 100644 index 0000000..12d92a2 Binary files /dev/null and b/libjava/classpath/lib/java/text/spi/BreakIteratorProvider.class differ diff --git a/libjava/classpath/lib/java/text/spi/CollatorProvider.class b/libjava/classpath/lib/java/text/spi/CollatorProvider.class new file mode 100644 index 0000000..7965d1d Binary files /dev/null and b/libjava/classpath/lib/java/text/spi/CollatorProvider.class differ diff --git a/libjava/classpath/lib/java/text/spi/DateFormatProvider.class b/libjava/classpath/lib/java/text/spi/DateFormatProvider.class new file mode 100644 index 0000000..8d4d7ab Binary files /dev/null and b/libjava/classpath/lib/java/text/spi/DateFormatProvider.class differ diff --git a/libjava/classpath/lib/java/text/spi/DateFormatSymbolsProvider.class b/libjava/classpath/lib/java/text/spi/DateFormatSymbolsProvider.class new file mode 100644 index 0000000..826ac82 Binary files /dev/null and b/libjava/classpath/lib/java/text/spi/DateFormatSymbolsProvider.class differ diff --git a/libjava/classpath/lib/java/text/spi/DecimalFormatSymbolsProvider.class b/libjava/classpath/lib/java/text/spi/DecimalFormatSymbolsProvider.class new file mode 100644 index 0000000..7fef0b7 Binary files /dev/null and b/libjava/classpath/lib/java/text/spi/DecimalFormatSymbolsProvider.class differ diff --git a/libjava/classpath/lib/java/text/spi/NumberFormatProvider.class b/libjava/classpath/lib/java/text/spi/NumberFormatProvider.class new file mode 100644 index 0000000..7f357bf Binary files /dev/null and b/libjava/classpath/lib/java/text/spi/NumberFormatProvider.class differ diff --git a/libjava/classpath/lib/java/util/AbstractList$1.class b/libjava/classpath/lib/java/util/AbstractList$1.class index a3cc154..e8a336c 100644 Binary files a/libjava/classpath/lib/java/util/AbstractList$1.class and b/libjava/classpath/lib/java/util/AbstractList$1.class differ diff --git a/libjava/classpath/lib/java/util/AbstractList$2.class b/libjava/classpath/lib/java/util/AbstractList$2.class index 3f7f650..66e6cc5 100644 Binary files a/libjava/classpath/lib/java/util/AbstractList$2.class and b/libjava/classpath/lib/java/util/AbstractList$2.class differ diff --git a/libjava/classpath/lib/java/util/AbstractList$3.class b/libjava/classpath/lib/java/util/AbstractList$3.class index 063c146..43df491 100644 Binary files a/libjava/classpath/lib/java/util/AbstractList$3.class and b/libjava/classpath/lib/java/util/AbstractList$3.class differ diff --git a/libjava/classpath/lib/java/util/AbstractList$RandomAccessSubList.class b/libjava/classpath/lib/java/util/AbstractList$RandomAccessSubList.class index 138fade..4f5f5e9 100644 Binary files a/libjava/classpath/lib/java/util/AbstractList$RandomAccessSubList.class and b/libjava/classpath/lib/java/util/AbstractList$RandomAccessSubList.class differ diff --git a/libjava/classpath/lib/java/util/AbstractList$SubList.class b/libjava/classpath/lib/java/util/AbstractList$SubList.class index 532527f..2ac40c9 100644 Binary files a/libjava/classpath/lib/java/util/AbstractList$SubList.class and b/libjava/classpath/lib/java/util/AbstractList$SubList.class differ diff --git a/libjava/classpath/lib/java/util/AbstractList.class b/libjava/classpath/lib/java/util/AbstractList.class index 5632eeb..dde3964 100644 Binary files a/libjava/classpath/lib/java/util/AbstractList.class and b/libjava/classpath/lib/java/util/AbstractList.class differ diff --git a/libjava/classpath/lib/java/util/AbstractMap$1.class b/libjava/classpath/lib/java/util/AbstractMap$1.class index d851f1e..0bafa25 100644 Binary files a/libjava/classpath/lib/java/util/AbstractMap$1.class and b/libjava/classpath/lib/java/util/AbstractMap$1.class differ diff --git a/libjava/classpath/lib/java/util/AbstractMap$2.class b/libjava/classpath/lib/java/util/AbstractMap$2.class index 5f73e7a..8994649 100644 Binary files a/libjava/classpath/lib/java/util/AbstractMap$2.class and b/libjava/classpath/lib/java/util/AbstractMap$2.class differ diff --git a/libjava/classpath/lib/java/util/AbstractMap$3.class b/libjava/classpath/lib/java/util/AbstractMap$3.class index 2511aba..cfb86fc 100644 Binary files a/libjava/classpath/lib/java/util/AbstractMap$3.class and b/libjava/classpath/lib/java/util/AbstractMap$3.class differ diff --git a/libjava/classpath/lib/java/util/AbstractMap$4.class b/libjava/classpath/lib/java/util/AbstractMap$4.class index 973ec3e..4f0fb13 100644 Binary files a/libjava/classpath/lib/java/util/AbstractMap$4.class and b/libjava/classpath/lib/java/util/AbstractMap$4.class differ diff --git a/libjava/classpath/lib/java/util/AbstractMap$SimpleEntry.class b/libjava/classpath/lib/java/util/AbstractMap$SimpleEntry.class index edabfd8..2ba043a 100644 Binary files a/libjava/classpath/lib/java/util/AbstractMap$SimpleEntry.class and b/libjava/classpath/lib/java/util/AbstractMap$SimpleEntry.class differ diff --git a/libjava/classpath/lib/java/util/AbstractMap$SimpleImmutableEntry.class b/libjava/classpath/lib/java/util/AbstractMap$SimpleImmutableEntry.class index 92d54d7..313d8fd 100644 Binary files a/libjava/classpath/lib/java/util/AbstractMap$SimpleImmutableEntry.class and b/libjava/classpath/lib/java/util/AbstractMap$SimpleImmutableEntry.class differ diff --git a/libjava/classpath/lib/java/util/AbstractMap.class b/libjava/classpath/lib/java/util/AbstractMap.class index b81d99e..739ed73 100644 Binary files a/libjava/classpath/lib/java/util/AbstractMap.class and b/libjava/classpath/lib/java/util/AbstractMap.class differ diff --git a/libjava/classpath/lib/java/util/ArrayDeque$DeqIterator.class b/libjava/classpath/lib/java/util/ArrayDeque$DeqIterator.class index 7c3a8a8..5ab17f9 100644 Binary files a/libjava/classpath/lib/java/util/ArrayDeque$DeqIterator.class and b/libjava/classpath/lib/java/util/ArrayDeque$DeqIterator.class differ diff --git a/libjava/classpath/lib/java/util/ArrayDeque$DescendingIterator.class b/libjava/classpath/lib/java/util/ArrayDeque$DescendingIterator.class index a21477b..2b284b5 100644 Binary files a/libjava/classpath/lib/java/util/ArrayDeque$DescendingIterator.class and b/libjava/classpath/lib/java/util/ArrayDeque$DescendingIterator.class differ diff --git a/libjava/classpath/lib/java/util/ArrayDeque.class b/libjava/classpath/lib/java/util/ArrayDeque.class index bd164b5..9a62e6e 100644 Binary files a/libjava/classpath/lib/java/util/ArrayDeque.class and b/libjava/classpath/lib/java/util/ArrayDeque.class differ diff --git a/libjava/classpath/lib/java/util/Arrays$ArrayList.class b/libjava/classpath/lib/java/util/Arrays$ArrayList.class index bd2e14a..5d2b9d1 100644 Binary files a/libjava/classpath/lib/java/util/Arrays$ArrayList.class and b/libjava/classpath/lib/java/util/Arrays$ArrayList.class differ diff --git a/libjava/classpath/lib/java/util/Arrays.class b/libjava/classpath/lib/java/util/Arrays.class index 3f3359e7..0aabd2c 100644 Binary files a/libjava/classpath/lib/java/util/Arrays.class and b/libjava/classpath/lib/java/util/Arrays.class differ diff --git a/libjava/classpath/lib/java/util/Calendar.class b/libjava/classpath/lib/java/util/Calendar.class index 9ffbe34..cff0461 100644 Binary files a/libjava/classpath/lib/java/util/Calendar.class and b/libjava/classpath/lib/java/util/Calendar.class differ diff --git a/libjava/classpath/lib/java/util/Collections$1$SynchronizedMapEntry.class b/libjava/classpath/lib/java/util/Collections$1$SynchronizedMapEntry.class index a89df2e..7811885 100644 Binary files a/libjava/classpath/lib/java/util/Collections$1$SynchronizedMapEntry.class and b/libjava/classpath/lib/java/util/Collections$1$SynchronizedMapEntry.class differ diff --git a/libjava/classpath/lib/java/util/Collections$1.class b/libjava/classpath/lib/java/util/Collections$1.class index 05f7a9d..61eee08 100644 Binary files a/libjava/classpath/lib/java/util/Collections$1.class and b/libjava/classpath/lib/java/util/Collections$1.class differ diff --git a/libjava/classpath/lib/java/util/Collections$2.class b/libjava/classpath/lib/java/util/Collections$2.class index 250ef65..1901d11 100644 Binary files a/libjava/classpath/lib/java/util/Collections$2.class and b/libjava/classpath/lib/java/util/Collections$2.class differ diff --git a/libjava/classpath/lib/java/util/Collections$3.class b/libjava/classpath/lib/java/util/Collections$3.class index b4b4746..24c30fd 100644 Binary files a/libjava/classpath/lib/java/util/Collections$3.class and b/libjava/classpath/lib/java/util/Collections$3.class differ diff --git a/libjava/classpath/lib/java/util/Collections$4.class b/libjava/classpath/lib/java/util/Collections$4.class index da44428..7775957 100644 Binary files a/libjava/classpath/lib/java/util/Collections$4.class and b/libjava/classpath/lib/java/util/Collections$4.class differ diff --git a/libjava/classpath/lib/java/util/Collections$5.class b/libjava/classpath/lib/java/util/Collections$5.class index 8555537..49dfd26 100644 Binary files a/libjava/classpath/lib/java/util/Collections$5.class and b/libjava/classpath/lib/java/util/Collections$5.class differ diff --git a/libjava/classpath/lib/java/util/Collections$6.class b/libjava/classpath/lib/java/util/Collections$6.class index 054c911..cedadea 100644 Binary files a/libjava/classpath/lib/java/util/Collections$6.class and b/libjava/classpath/lib/java/util/Collections$6.class differ diff --git a/libjava/classpath/lib/java/util/Collections$7.class b/libjava/classpath/lib/java/util/Collections$7.class index 9085dd5..8f6f01d 100644 Binary files a/libjava/classpath/lib/java/util/Collections$7.class and b/libjava/classpath/lib/java/util/Collections$7.class differ diff --git a/libjava/classpath/lib/java/util/Collections$8.class b/libjava/classpath/lib/java/util/Collections$8.class index fb009cb..3bb01cb 100644 Binary files a/libjava/classpath/lib/java/util/Collections$8.class and b/libjava/classpath/lib/java/util/Collections$8.class differ diff --git a/libjava/classpath/lib/java/util/Collections$9.class b/libjava/classpath/lib/java/util/Collections$9.class index c1d9438..c9c26bc 100644 Binary files a/libjava/classpath/lib/java/util/Collections$9.class and b/libjava/classpath/lib/java/util/Collections$9.class differ diff --git a/libjava/classpath/lib/java/util/Collections$CheckedCollection.class b/libjava/classpath/lib/java/util/Collections$CheckedCollection.class index 466d1fd..5dbf53b 100644 Binary files a/libjava/classpath/lib/java/util/Collections$CheckedCollection.class and b/libjava/classpath/lib/java/util/Collections$CheckedCollection.class differ diff --git a/libjava/classpath/lib/java/util/Collections$CheckedIterator.class b/libjava/classpath/lib/java/util/Collections$CheckedIterator.class index e7b49bc..332c194 100644 Binary files a/libjava/classpath/lib/java/util/Collections$CheckedIterator.class and b/libjava/classpath/lib/java/util/Collections$CheckedIterator.class differ diff --git a/libjava/classpath/lib/java/util/Collections$CheckedList.class b/libjava/classpath/lib/java/util/Collections$CheckedList.class index c2ffb7c..51c9ab8 100644 Binary files a/libjava/classpath/lib/java/util/Collections$CheckedList.class and b/libjava/classpath/lib/java/util/Collections$CheckedList.class differ diff --git a/libjava/classpath/lib/java/util/Collections$CheckedListIterator.class b/libjava/classpath/lib/java/util/Collections$CheckedListIterator.class index ef7b490..d99fb14 100644 Binary files a/libjava/classpath/lib/java/util/Collections$CheckedListIterator.class and b/libjava/classpath/lib/java/util/Collections$CheckedListIterator.class differ diff --git a/libjava/classpath/lib/java/util/Collections$CheckedMap$CheckedEntrySet.class b/libjava/classpath/lib/java/util/Collections$CheckedMap$CheckedEntrySet.class index d402ad1..f5456d1 100644 Binary files a/libjava/classpath/lib/java/util/Collections$CheckedMap$CheckedEntrySet.class and b/libjava/classpath/lib/java/util/Collections$CheckedMap$CheckedEntrySet.class differ diff --git a/libjava/classpath/lib/java/util/Collections$CheckedMap.class b/libjava/classpath/lib/java/util/Collections$CheckedMap.class index 0a0dfd4..0072af4 100644 Binary files a/libjava/classpath/lib/java/util/Collections$CheckedMap.class and b/libjava/classpath/lib/java/util/Collections$CheckedMap.class differ diff --git a/libjava/classpath/lib/java/util/Collections$CheckedRandomAccessList.class b/libjava/classpath/lib/java/util/Collections$CheckedRandomAccessList.class index 205831a..872d031 100644 Binary files a/libjava/classpath/lib/java/util/Collections$CheckedRandomAccessList.class and b/libjava/classpath/lib/java/util/Collections$CheckedRandomAccessList.class differ diff --git a/libjava/classpath/lib/java/util/Collections$CheckedSet.class b/libjava/classpath/lib/java/util/Collections$CheckedSet.class index b30b3e6..dae4ce8 100644 Binary files a/libjava/classpath/lib/java/util/Collections$CheckedSet.class and b/libjava/classpath/lib/java/util/Collections$CheckedSet.class differ diff --git a/libjava/classpath/lib/java/util/Collections$CheckedSortedMap.class b/libjava/classpath/lib/java/util/Collections$CheckedSortedMap.class index abe198c..77936fa 100644 Binary files a/libjava/classpath/lib/java/util/Collections$CheckedSortedMap.class and b/libjava/classpath/lib/java/util/Collections$CheckedSortedMap.class differ diff --git a/libjava/classpath/lib/java/util/Collections$CheckedSortedSet.class b/libjava/classpath/lib/java/util/Collections$CheckedSortedSet.class index dc233e2..36e4a2f 100644 Binary files a/libjava/classpath/lib/java/util/Collections$CheckedSortedSet.class and b/libjava/classpath/lib/java/util/Collections$CheckedSortedSet.class differ diff --git a/libjava/classpath/lib/java/util/Collections$CopiesList.class b/libjava/classpath/lib/java/util/Collections$CopiesList.class index 237af59..80b4c83 100644 Binary files a/libjava/classpath/lib/java/util/Collections$CopiesList.class and b/libjava/classpath/lib/java/util/Collections$CopiesList.class differ diff --git a/libjava/classpath/lib/java/util/Collections$EmptyList.class b/libjava/classpath/lib/java/util/Collections$EmptyList.class index 5a72df5..b8fc748 100644 Binary files a/libjava/classpath/lib/java/util/Collections$EmptyList.class and b/libjava/classpath/lib/java/util/Collections$EmptyList.class differ diff --git a/libjava/classpath/lib/java/util/Collections$EmptyMap.class b/libjava/classpath/lib/java/util/Collections$EmptyMap.class index 2d727b7..2178607 100644 Binary files a/libjava/classpath/lib/java/util/Collections$EmptyMap.class and b/libjava/classpath/lib/java/util/Collections$EmptyMap.class differ diff --git a/libjava/classpath/lib/java/util/Collections$EmptySet.class b/libjava/classpath/lib/java/util/Collections$EmptySet.class index c993f15..96fa5c4 100644 Binary files a/libjava/classpath/lib/java/util/Collections$EmptySet.class and b/libjava/classpath/lib/java/util/Collections$EmptySet.class differ diff --git a/libjava/classpath/lib/java/util/Collections$LIFOQueue.class b/libjava/classpath/lib/java/util/Collections$LIFOQueue.class new file mode 100644 index 0000000..9f0806a Binary files /dev/null and b/libjava/classpath/lib/java/util/Collections$LIFOQueue.class differ diff --git a/libjava/classpath/lib/java/util/Collections$MapSet.class b/libjava/classpath/lib/java/util/Collections$MapSet.class new file mode 100644 index 0000000..59c4ade Binary files /dev/null and b/libjava/classpath/lib/java/util/Collections$MapSet.class differ diff --git a/libjava/classpath/lib/java/util/Collections$ReverseComparator.class b/libjava/classpath/lib/java/util/Collections$ReverseComparator.class index a043cf0..30450fc 100644 Binary files a/libjava/classpath/lib/java/util/Collections$ReverseComparator.class and b/libjava/classpath/lib/java/util/Collections$ReverseComparator.class differ diff --git a/libjava/classpath/lib/java/util/Collections$SingletonList.class b/libjava/classpath/lib/java/util/Collections$SingletonList.class index a0ea207..05b93b7 100644 Binary files a/libjava/classpath/lib/java/util/Collections$SingletonList.class and b/libjava/classpath/lib/java/util/Collections$SingletonList.class differ diff --git a/libjava/classpath/lib/java/util/Collections$SingletonMap.class b/libjava/classpath/lib/java/util/Collections$SingletonMap.class index 9cb211f..8025f0d 100644 Binary files a/libjava/classpath/lib/java/util/Collections$SingletonMap.class and b/libjava/classpath/lib/java/util/Collections$SingletonMap.class differ diff --git a/libjava/classpath/lib/java/util/Collections$SingletonSet.class b/libjava/classpath/lib/java/util/Collections$SingletonSet.class index a4892de..b5e5a22 100644 Binary files a/libjava/classpath/lib/java/util/Collections$SingletonSet.class and b/libjava/classpath/lib/java/util/Collections$SingletonSet.class differ diff --git a/libjava/classpath/lib/java/util/Collections$SynchronizedCollection.class b/libjava/classpath/lib/java/util/Collections$SynchronizedCollection.class index af78e3b..07665ab 100644 Binary files a/libjava/classpath/lib/java/util/Collections$SynchronizedCollection.class and b/libjava/classpath/lib/java/util/Collections$SynchronizedCollection.class differ diff --git a/libjava/classpath/lib/java/util/Collections$SynchronizedIterator.class b/libjava/classpath/lib/java/util/Collections$SynchronizedIterator.class index d5ae321..67c7dda 100644 Binary files a/libjava/classpath/lib/java/util/Collections$SynchronizedIterator.class and b/libjava/classpath/lib/java/util/Collections$SynchronizedIterator.class differ diff --git a/libjava/classpath/lib/java/util/Collections$SynchronizedList.class b/libjava/classpath/lib/java/util/Collections$SynchronizedList.class index 3ce19d4..977bda3 100644 Binary files a/libjava/classpath/lib/java/util/Collections$SynchronizedList.class and b/libjava/classpath/lib/java/util/Collections$SynchronizedList.class differ diff --git a/libjava/classpath/lib/java/util/Collections$SynchronizedListIterator.class b/libjava/classpath/lib/java/util/Collections$SynchronizedListIterator.class index c0e64a6..be11fef 100644 Binary files a/libjava/classpath/lib/java/util/Collections$SynchronizedListIterator.class and b/libjava/classpath/lib/java/util/Collections$SynchronizedListIterator.class differ diff --git a/libjava/classpath/lib/java/util/Collections$SynchronizedMap.class b/libjava/classpath/lib/java/util/Collections$SynchronizedMap.class index a50be83..ddcc5f8 100644 Binary files a/libjava/classpath/lib/java/util/Collections$SynchronizedMap.class and b/libjava/classpath/lib/java/util/Collections$SynchronizedMap.class differ diff --git a/libjava/classpath/lib/java/util/Collections$SynchronizedRandomAccessList.class b/libjava/classpath/lib/java/util/Collections$SynchronizedRandomAccessList.class index e3e4e1e..fa128a9 100644 Binary files a/libjava/classpath/lib/java/util/Collections$SynchronizedRandomAccessList.class and b/libjava/classpath/lib/java/util/Collections$SynchronizedRandomAccessList.class differ diff --git a/libjava/classpath/lib/java/util/Collections$SynchronizedSet.class b/libjava/classpath/lib/java/util/Collections$SynchronizedSet.class index fd1dd49..9bbf781 100644 Binary files a/libjava/classpath/lib/java/util/Collections$SynchronizedSet.class and b/libjava/classpath/lib/java/util/Collections$SynchronizedSet.class differ diff --git a/libjava/classpath/lib/java/util/Collections$SynchronizedSortedMap.class b/libjava/classpath/lib/java/util/Collections$SynchronizedSortedMap.class index 9e35d21..525a659 100644 Binary files a/libjava/classpath/lib/java/util/Collections$SynchronizedSortedMap.class and b/libjava/classpath/lib/java/util/Collections$SynchronizedSortedMap.class differ diff --git a/libjava/classpath/lib/java/util/Collections$SynchronizedSortedSet.class b/libjava/classpath/lib/java/util/Collections$SynchronizedSortedSet.class index e8b69fc..68a5cf6 100644 Binary files a/libjava/classpath/lib/java/util/Collections$SynchronizedSortedSet.class and b/libjava/classpath/lib/java/util/Collections$SynchronizedSortedSet.class differ diff --git a/libjava/classpath/lib/java/util/Collections$UnmodifiableCollection.class b/libjava/classpath/lib/java/util/Collections$UnmodifiableCollection.class index b6a9ec4..547d7b5 100644 Binary files a/libjava/classpath/lib/java/util/Collections$UnmodifiableCollection.class and b/libjava/classpath/lib/java/util/Collections$UnmodifiableCollection.class differ diff --git a/libjava/classpath/lib/java/util/Collections$UnmodifiableIterator.class b/libjava/classpath/lib/java/util/Collections$UnmodifiableIterator.class index 43eadba..aef79e3 100644 Binary files a/libjava/classpath/lib/java/util/Collections$UnmodifiableIterator.class and b/libjava/classpath/lib/java/util/Collections$UnmodifiableIterator.class differ diff --git a/libjava/classpath/lib/java/util/Collections$UnmodifiableList.class b/libjava/classpath/lib/java/util/Collections$UnmodifiableList.class index 5d76cd2..5cc5891 100644 Binary files a/libjava/classpath/lib/java/util/Collections$UnmodifiableList.class and b/libjava/classpath/lib/java/util/Collections$UnmodifiableList.class differ diff --git a/libjava/classpath/lib/java/util/Collections$UnmodifiableListIterator.class b/libjava/classpath/lib/java/util/Collections$UnmodifiableListIterator.class index 1795dcc..962d17e 100644 Binary files a/libjava/classpath/lib/java/util/Collections$UnmodifiableListIterator.class and b/libjava/classpath/lib/java/util/Collections$UnmodifiableListIterator.class 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 58db3db..6eb99a7 100644 Binary files a/libjava/classpath/lib/java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableMapEntry.class and b/libjava/classpath/lib/java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableMapEntry.class differ diff --git a/libjava/classpath/lib/java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet.class b/libjava/classpath/lib/java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet.class index 70357f7..74a6d46 100644 Binary files a/libjava/classpath/lib/java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet.class and b/libjava/classpath/lib/java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet.class differ diff --git a/libjava/classpath/lib/java/util/Collections$UnmodifiableMap.class b/libjava/classpath/lib/java/util/Collections$UnmodifiableMap.class index e6b6005..acd7c67 100644 Binary files a/libjava/classpath/lib/java/util/Collections$UnmodifiableMap.class and b/libjava/classpath/lib/java/util/Collections$UnmodifiableMap.class differ diff --git a/libjava/classpath/lib/java/util/Collections$UnmodifiableRandomAccessList.class b/libjava/classpath/lib/java/util/Collections$UnmodifiableRandomAccessList.class index 0563ff3..eb8b87d 100644 Binary files a/libjava/classpath/lib/java/util/Collections$UnmodifiableRandomAccessList.class and b/libjava/classpath/lib/java/util/Collections$UnmodifiableRandomAccessList.class differ diff --git a/libjava/classpath/lib/java/util/Collections$UnmodifiableSet.class b/libjava/classpath/lib/java/util/Collections$UnmodifiableSet.class index caf7d34..cb9ac56 100644 Binary files a/libjava/classpath/lib/java/util/Collections$UnmodifiableSet.class and b/libjava/classpath/lib/java/util/Collections$UnmodifiableSet.class differ diff --git a/libjava/classpath/lib/java/util/Collections$UnmodifiableSortedMap.class b/libjava/classpath/lib/java/util/Collections$UnmodifiableSortedMap.class index 75d4635..ee3e0f6 100644 Binary files a/libjava/classpath/lib/java/util/Collections$UnmodifiableSortedMap.class and b/libjava/classpath/lib/java/util/Collections$UnmodifiableSortedMap.class differ diff --git a/libjava/classpath/lib/java/util/Collections$UnmodifiableSortedSet.class b/libjava/classpath/lib/java/util/Collections$UnmodifiableSortedSet.class index d4c72da..aae09ac 100644 Binary files a/libjava/classpath/lib/java/util/Collections$UnmodifiableSortedSet.class and b/libjava/classpath/lib/java/util/Collections$UnmodifiableSortedSet.class differ diff --git a/libjava/classpath/lib/java/util/Collections.class b/libjava/classpath/lib/java/util/Collections.class index 9572ce5..afd16bb 100644 Binary files a/libjava/classpath/lib/java/util/Collections.class and b/libjava/classpath/lib/java/util/Collections.class differ diff --git a/libjava/classpath/lib/java/util/Date.class b/libjava/classpath/lib/java/util/Date.class index 9b2ccd2..4bdae06 100644 Binary files a/libjava/classpath/lib/java/util/Date.class and b/libjava/classpath/lib/java/util/Date.class differ diff --git a/libjava/classpath/lib/java/util/EnumMap$1.class b/libjava/classpath/lib/java/util/EnumMap$1.class index c544880..35221f8 100644 Binary files a/libjava/classpath/lib/java/util/EnumMap$1.class and b/libjava/classpath/lib/java/util/EnumMap$1.class differ diff --git a/libjava/classpath/lib/java/util/EnumMap$2.class b/libjava/classpath/lib/java/util/EnumMap$2.class index 048e6c3..c241a88 100644 Binary files a/libjava/classpath/lib/java/util/EnumMap$2.class and b/libjava/classpath/lib/java/util/EnumMap$2.class differ diff --git a/libjava/classpath/lib/java/util/EnumMap$3.class b/libjava/classpath/lib/java/util/EnumMap$3.class index d4b4b6f..0727486 100644 Binary files a/libjava/classpath/lib/java/util/EnumMap$3.class and b/libjava/classpath/lib/java/util/EnumMap$3.class differ diff --git a/libjava/classpath/lib/java/util/EnumMap$4.class b/libjava/classpath/lib/java/util/EnumMap$4.class index 01952a9..047c317 100644 Binary files a/libjava/classpath/lib/java/util/EnumMap$4.class and b/libjava/classpath/lib/java/util/EnumMap$4.class differ diff --git a/libjava/classpath/lib/java/util/EnumMap$5.class b/libjava/classpath/lib/java/util/EnumMap$5.class index 216c7a6..2d2c5f1 100644 Binary files a/libjava/classpath/lib/java/util/EnumMap$5.class and b/libjava/classpath/lib/java/util/EnumMap$5.class differ diff --git a/libjava/classpath/lib/java/util/EnumMap$6.class b/libjava/classpath/lib/java/util/EnumMap$6.class index a57a5d4..f91d2ff 100644 Binary files a/libjava/classpath/lib/java/util/EnumMap$6.class and b/libjava/classpath/lib/java/util/EnumMap$6.class differ diff --git a/libjava/classpath/lib/java/util/EnumMap$7.class b/libjava/classpath/lib/java/util/EnumMap$7.class index eaf8913..e04db4e 100644 Binary files a/libjava/classpath/lib/java/util/EnumMap$7.class and b/libjava/classpath/lib/java/util/EnumMap$7.class differ diff --git a/libjava/classpath/lib/java/util/EnumMap.class b/libjava/classpath/lib/java/util/EnumMap.class index d345b6b..994696b 100644 Binary files a/libjava/classpath/lib/java/util/EnumMap.class and b/libjava/classpath/lib/java/util/EnumMap.class differ diff --git a/libjava/classpath/lib/java/util/EnumSet$1.class b/libjava/classpath/lib/java/util/EnumSet$1.class index 750d720..fcf6362 100644 Binary files a/libjava/classpath/lib/java/util/EnumSet$1.class and b/libjava/classpath/lib/java/util/EnumSet$1.class differ diff --git a/libjava/classpath/lib/java/util/EnumSet.class b/libjava/classpath/lib/java/util/EnumSet.class index b3a728b..75d30d9 100644 Binary files a/libjava/classpath/lib/java/util/EnumSet.class and b/libjava/classpath/lib/java/util/EnumSet.class differ diff --git a/libjava/classpath/lib/java/util/Formatter$BigDecimalLayoutForm.class b/libjava/classpath/lib/java/util/Formatter$BigDecimalLayoutForm.class index d8cb581..a4449b5 100644 Binary files a/libjava/classpath/lib/java/util/Formatter$BigDecimalLayoutForm.class and b/libjava/classpath/lib/java/util/Formatter$BigDecimalLayoutForm.class differ diff --git a/libjava/classpath/lib/java/util/GregorianCalendar.class b/libjava/classpath/lib/java/util/GregorianCalendar.class index ceba020..c1e8be3 100644 Binary files a/libjava/classpath/lib/java/util/GregorianCalendar.class and b/libjava/classpath/lib/java/util/GregorianCalendar.class differ diff --git a/libjava/classpath/lib/java/util/HashMap$1.class b/libjava/classpath/lib/java/util/HashMap$1.class index cb5fe46..fb4750d 100644 Binary files a/libjava/classpath/lib/java/util/HashMap$1.class and b/libjava/classpath/lib/java/util/HashMap$1.class differ diff --git a/libjava/classpath/lib/java/util/HashMap$2.class b/libjava/classpath/lib/java/util/HashMap$2.class index 663a135..1aea610 100644 Binary files a/libjava/classpath/lib/java/util/HashMap$2.class and b/libjava/classpath/lib/java/util/HashMap$2.class differ diff --git a/libjava/classpath/lib/java/util/HashMap$3.class b/libjava/classpath/lib/java/util/HashMap$3.class index 9129a0c..4e74bcb 100644 Binary files a/libjava/classpath/lib/java/util/HashMap$3.class and b/libjava/classpath/lib/java/util/HashMap$3.class differ diff --git a/libjava/classpath/lib/java/util/HashMap$HashEntry.class b/libjava/classpath/lib/java/util/HashMap$HashEntry.class index 4890b63..28a0f2d 100644 Binary files a/libjava/classpath/lib/java/util/HashMap$HashEntry.class and b/libjava/classpath/lib/java/util/HashMap$HashEntry.class differ diff --git a/libjava/classpath/lib/java/util/HashMap$HashIterator.class b/libjava/classpath/lib/java/util/HashMap$HashIterator.class index 26b8b69..1121d03 100644 Binary files a/libjava/classpath/lib/java/util/HashMap$HashIterator.class and b/libjava/classpath/lib/java/util/HashMap$HashIterator.class differ diff --git a/libjava/classpath/lib/java/util/HashMap.class b/libjava/classpath/lib/java/util/HashMap.class index 9b0dd1c..25389c5 100644 Binary files a/libjava/classpath/lib/java/util/HashMap.class and b/libjava/classpath/lib/java/util/HashMap.class differ diff --git a/libjava/classpath/lib/java/util/HashSet.class b/libjava/classpath/lib/java/util/HashSet.class index dc57e60..1a2e233 100644 Binary files a/libjava/classpath/lib/java/util/HashSet.class and b/libjava/classpath/lib/java/util/HashSet.class differ diff --git a/libjava/classpath/lib/java/util/Hashtable$1.class b/libjava/classpath/lib/java/util/Hashtable$1.class index ba86088..0efaea7 100644 Binary files a/libjava/classpath/lib/java/util/Hashtable$1.class and b/libjava/classpath/lib/java/util/Hashtable$1.class differ diff --git a/libjava/classpath/lib/java/util/Hashtable$2.class b/libjava/classpath/lib/java/util/Hashtable$2.class index bc13170..61692f8 100644 Binary files a/libjava/classpath/lib/java/util/Hashtable$2.class and b/libjava/classpath/lib/java/util/Hashtable$2.class differ diff --git a/libjava/classpath/lib/java/util/Hashtable$3.class b/libjava/classpath/lib/java/util/Hashtable$3.class index d8eaac5..496c00b 100644 Binary files a/libjava/classpath/lib/java/util/Hashtable$3.class and b/libjava/classpath/lib/java/util/Hashtable$3.class differ diff --git a/libjava/classpath/lib/java/util/Hashtable$EntryEnumerator.class b/libjava/classpath/lib/java/util/Hashtable$EntryEnumerator.class index 2a725d7..3211b2b 100644 Binary files a/libjava/classpath/lib/java/util/Hashtable$EntryEnumerator.class and b/libjava/classpath/lib/java/util/Hashtable$EntryEnumerator.class differ diff --git a/libjava/classpath/lib/java/util/Hashtable$EntryIterator.class b/libjava/classpath/lib/java/util/Hashtable$EntryIterator.class index dc026b7..cf206db 100644 Binary files a/libjava/classpath/lib/java/util/Hashtable$EntryIterator.class and b/libjava/classpath/lib/java/util/Hashtable$EntryIterator.class differ diff --git a/libjava/classpath/lib/java/util/Hashtable$HashEntry.class b/libjava/classpath/lib/java/util/Hashtable$HashEntry.class index a189fc7..b70be33 100644 Binary files a/libjava/classpath/lib/java/util/Hashtable$HashEntry.class and b/libjava/classpath/lib/java/util/Hashtable$HashEntry.class differ diff --git a/libjava/classpath/lib/java/util/Hashtable$KeyEnumerator.class b/libjava/classpath/lib/java/util/Hashtable$KeyEnumerator.class index 06640f1..6ba870b 100644 Binary files a/libjava/classpath/lib/java/util/Hashtable$KeyEnumerator.class and b/libjava/classpath/lib/java/util/Hashtable$KeyEnumerator.class differ diff --git a/libjava/classpath/lib/java/util/Hashtable$KeyIterator.class b/libjava/classpath/lib/java/util/Hashtable$KeyIterator.class index eb6773b..3a9ed2c 100644 Binary files a/libjava/classpath/lib/java/util/Hashtable$KeyIterator.class and b/libjava/classpath/lib/java/util/Hashtable$KeyIterator.class differ diff --git a/libjava/classpath/lib/java/util/Hashtable$ValueEnumerator.class b/libjava/classpath/lib/java/util/Hashtable$ValueEnumerator.class index 053860b..8ba2ab9 100644 Binary files a/libjava/classpath/lib/java/util/Hashtable$ValueEnumerator.class and b/libjava/classpath/lib/java/util/Hashtable$ValueEnumerator.class differ diff --git a/libjava/classpath/lib/java/util/Hashtable$ValueIterator.class b/libjava/classpath/lib/java/util/Hashtable$ValueIterator.class index 234afd5..3b8332c 100644 Binary files a/libjava/classpath/lib/java/util/Hashtable$ValueIterator.class and b/libjava/classpath/lib/java/util/Hashtable$ValueIterator.class differ diff --git a/libjava/classpath/lib/java/util/Hashtable.class b/libjava/classpath/lib/java/util/Hashtable.class index 2bc8ff6..49850b0 100644 Binary files a/libjava/classpath/lib/java/util/Hashtable.class and b/libjava/classpath/lib/java/util/Hashtable.class differ diff --git a/libjava/classpath/lib/java/util/IdentityHashMap$1.class b/libjava/classpath/lib/java/util/IdentityHashMap$1.class index ce61a89..951d943 100644 Binary files a/libjava/classpath/lib/java/util/IdentityHashMap$1.class and b/libjava/classpath/lib/java/util/IdentityHashMap$1.class differ diff --git a/libjava/classpath/lib/java/util/IdentityHashMap$2.class b/libjava/classpath/lib/java/util/IdentityHashMap$2.class index 602c07c..ddfd86b 100644 Binary files a/libjava/classpath/lib/java/util/IdentityHashMap$2.class and b/libjava/classpath/lib/java/util/IdentityHashMap$2.class differ diff --git a/libjava/classpath/lib/java/util/IdentityHashMap$3.class b/libjava/classpath/lib/java/util/IdentityHashMap$3.class index bf96775..bfebd6b 100644 Binary files a/libjava/classpath/lib/java/util/IdentityHashMap$3.class and b/libjava/classpath/lib/java/util/IdentityHashMap$3.class differ diff --git a/libjava/classpath/lib/java/util/IdentityHashMap$IdentityEntry.class b/libjava/classpath/lib/java/util/IdentityHashMap$IdentityEntry.class index 55da9bb..bd6793d 100644 Binary files a/libjava/classpath/lib/java/util/IdentityHashMap$IdentityEntry.class and b/libjava/classpath/lib/java/util/IdentityHashMap$IdentityEntry.class differ diff --git a/libjava/classpath/lib/java/util/IdentityHashMap$IdentityIterator.class b/libjava/classpath/lib/java/util/IdentityHashMap$IdentityIterator.class index 94ce525..e683bb0 100644 Binary files a/libjava/classpath/lib/java/util/IdentityHashMap$IdentityIterator.class and b/libjava/classpath/lib/java/util/IdentityHashMap$IdentityIterator.class differ diff --git a/libjava/classpath/lib/java/util/IdentityHashMap.class b/libjava/classpath/lib/java/util/IdentityHashMap.class index cbcbfd8..d834b9a 100644 Binary files a/libjava/classpath/lib/java/util/IdentityHashMap.class and b/libjava/classpath/lib/java/util/IdentityHashMap.class differ diff --git a/libjava/classpath/lib/java/util/LinkedHashMap$1.class b/libjava/classpath/lib/java/util/LinkedHashMap$1.class index 4236600..5d5e34a 100644 Binary files a/libjava/classpath/lib/java/util/LinkedHashMap$1.class and b/libjava/classpath/lib/java/util/LinkedHashMap$1.class differ diff --git a/libjava/classpath/lib/java/util/LinkedHashMap$LinkedHashEntry.class b/libjava/classpath/lib/java/util/LinkedHashMap$LinkedHashEntry.class index 2cc9b02..929e6e9 100644 Binary files a/libjava/classpath/lib/java/util/LinkedHashMap$LinkedHashEntry.class and b/libjava/classpath/lib/java/util/LinkedHashMap$LinkedHashEntry.class differ diff --git a/libjava/classpath/lib/java/util/LinkedHashMap.class b/libjava/classpath/lib/java/util/LinkedHashMap.class index a0fa481..25f9334 100644 Binary files a/libjava/classpath/lib/java/util/LinkedHashMap.class and b/libjava/classpath/lib/java/util/LinkedHashMap.class differ diff --git a/libjava/classpath/lib/java/util/LinkedList$1.class b/libjava/classpath/lib/java/util/LinkedList$1.class new file mode 100644 index 0000000..eeb0c33 Binary files /dev/null and b/libjava/classpath/lib/java/util/LinkedList$1.class differ diff --git a/libjava/classpath/lib/java/util/LinkedList$Entry.class b/libjava/classpath/lib/java/util/LinkedList$Entry.class index 8ba88ea..b7867b0 100644 Binary files a/libjava/classpath/lib/java/util/LinkedList$Entry.class and b/libjava/classpath/lib/java/util/LinkedList$Entry.class differ diff --git a/libjava/classpath/lib/java/util/LinkedList$LinkedListItr.class b/libjava/classpath/lib/java/util/LinkedList$LinkedListItr.class index 2ae4fd4..9b6d44b 100644 Binary files a/libjava/classpath/lib/java/util/LinkedList$LinkedListItr.class and b/libjava/classpath/lib/java/util/LinkedList$LinkedListItr.class differ diff --git a/libjava/classpath/lib/java/util/LinkedList.class b/libjava/classpath/lib/java/util/LinkedList.class index cf4b687..dc0e11b 100644 Binary files a/libjava/classpath/lib/java/util/LinkedList.class and b/libjava/classpath/lib/java/util/LinkedList.class differ diff --git a/libjava/classpath/lib/java/util/Locale.class b/libjava/classpath/lib/java/util/Locale.class index a095ba8..32bc023 100644 Binary files a/libjava/classpath/lib/java/util/Locale.class and b/libjava/classpath/lib/java/util/Locale.class differ diff --git a/libjava/classpath/lib/java/util/Map$Entry.class b/libjava/classpath/lib/java/util/Map$Entry.class index c2abbac..76de1b5 100644 Binary files a/libjava/classpath/lib/java/util/Map$Entry.class and b/libjava/classpath/lib/java/util/Map$Entry.class differ diff --git a/libjava/classpath/lib/java/util/Map.class b/libjava/classpath/lib/java/util/Map.class index 27285a3..92004c5 100644 Binary files a/libjava/classpath/lib/java/util/Map.class and b/libjava/classpath/lib/java/util/Map.class differ diff --git a/libjava/classpath/lib/java/util/NavigableMap.class b/libjava/classpath/lib/java/util/NavigableMap.class index 68c6a26..ba406df 100644 Binary files a/libjava/classpath/lib/java/util/NavigableMap.class and b/libjava/classpath/lib/java/util/NavigableMap.class differ diff --git a/libjava/classpath/lib/java/util/PriorityQueue$1.class b/libjava/classpath/lib/java/util/PriorityQueue$1.class index 3fe7f98..b46ebad 100644 Binary files a/libjava/classpath/lib/java/util/PriorityQueue$1.class and b/libjava/classpath/lib/java/util/PriorityQueue$1.class differ diff --git a/libjava/classpath/lib/java/util/PriorityQueue.class b/libjava/classpath/lib/java/util/PriorityQueue.class index 7ec78c1..1e40b19 100644 Binary files a/libjava/classpath/lib/java/util/PriorityQueue.class and b/libjava/classpath/lib/java/util/PriorityQueue.class differ diff --git a/libjava/classpath/lib/java/util/Properties.class b/libjava/classpath/lib/java/util/Properties.class index 7089733..9b0ef59f 100644 Binary files a/libjava/classpath/lib/java/util/Properties.class and b/libjava/classpath/lib/java/util/Properties.class differ diff --git a/libjava/classpath/lib/java/util/PropertyPermission.class b/libjava/classpath/lib/java/util/PropertyPermission.class index ca56461..e842839 100644 Binary files a/libjava/classpath/lib/java/util/PropertyPermission.class and b/libjava/classpath/lib/java/util/PropertyPermission.class differ diff --git a/libjava/classpath/lib/java/util/ResourceBundle$1.class b/libjava/classpath/lib/java/util/ResourceBundle$1.class index 3dda2d7..32fecc7 100644 Binary files a/libjava/classpath/lib/java/util/ResourceBundle$1.class and b/libjava/classpath/lib/java/util/ResourceBundle$1.class differ diff --git a/libjava/classpath/lib/java/util/ResourceBundle.class b/libjava/classpath/lib/java/util/ResourceBundle.class index e78dd74..fdc59ab 100644 Binary files a/libjava/classpath/lib/java/util/ResourceBundle.class and b/libjava/classpath/lib/java/util/ResourceBundle.class differ diff --git a/libjava/classpath/lib/java/util/ServiceConfigurationError.class b/libjava/classpath/lib/java/util/ServiceConfigurationError.class new file mode 100644 index 0000000..b608237 Binary files /dev/null and b/libjava/classpath/lib/java/util/ServiceConfigurationError.class differ diff --git a/libjava/classpath/lib/java/util/ServiceLoader$1.class b/libjava/classpath/lib/java/util/ServiceLoader$1.class new file mode 100644 index 0000000..a6960f7 Binary files /dev/null and b/libjava/classpath/lib/java/util/ServiceLoader$1.class differ diff --git a/libjava/classpath/lib/java/util/ServiceLoader.class b/libjava/classpath/lib/java/util/ServiceLoader.class new file mode 100644 index 0000000..dfd7bfb Binary files /dev/null and b/libjava/classpath/lib/java/util/ServiceLoader.class differ diff --git a/libjava/classpath/lib/java/util/StringTokenizer.class b/libjava/classpath/lib/java/util/StringTokenizer.class index d68abe7..70cca95 100644 Binary files a/libjava/classpath/lib/java/util/StringTokenizer.class and b/libjava/classpath/lib/java/util/StringTokenizer.class differ diff --git a/libjava/classpath/lib/java/util/TimeZone$1.class b/libjava/classpath/lib/java/util/TimeZone$1.class index 3b3fbee..1d418d8 100644 Binary files a/libjava/classpath/lib/java/util/TimeZone$1.class and b/libjava/classpath/lib/java/util/TimeZone$1.class differ diff --git a/libjava/classpath/lib/java/util/TimeZone.class b/libjava/classpath/lib/java/util/TimeZone.class index f8550d3..53ecf9d 100644 Binary files a/libjava/classpath/lib/java/util/TimeZone.class and b/libjava/classpath/lib/java/util/TimeZone.class differ diff --git a/libjava/classpath/lib/java/util/Timer$Scheduler.class b/libjava/classpath/lib/java/util/Timer$Scheduler.class index 2a108b5..8792c05 100644 Binary files a/libjava/classpath/lib/java/util/Timer$Scheduler.class and b/libjava/classpath/lib/java/util/Timer$Scheduler.class differ diff --git a/libjava/classpath/lib/java/util/Timer.class b/libjava/classpath/lib/java/util/Timer.class index 00be67a..b8749f0 100644 Binary files a/libjava/classpath/lib/java/util/Timer.class and b/libjava/classpath/lib/java/util/Timer.class differ diff --git a/libjava/classpath/lib/java/util/TreeMap$1.class b/libjava/classpath/lib/java/util/TreeMap$1.class index 7b987c3..a17bbc9 100644 Binary files a/libjava/classpath/lib/java/util/TreeMap$1.class and b/libjava/classpath/lib/java/util/TreeMap$1.class differ diff --git a/libjava/classpath/lib/java/util/TreeMap$2.class b/libjava/classpath/lib/java/util/TreeMap$2.class index 33e2fe7..25cac02 100644 Binary files a/libjava/classpath/lib/java/util/TreeMap$2.class and b/libjava/classpath/lib/java/util/TreeMap$2.class differ diff --git a/libjava/classpath/lib/java/util/TreeMap$3.class b/libjava/classpath/lib/java/util/TreeMap$3.class index bb58f20..4c2a186 100644 Binary files a/libjava/classpath/lib/java/util/TreeMap$3.class and b/libjava/classpath/lib/java/util/TreeMap$3.class differ diff --git a/libjava/classpath/lib/java/util/TreeMap$4.class b/libjava/classpath/lib/java/util/TreeMap$4.class index eb51c9a..0fca5eb 100644 Binary files a/libjava/classpath/lib/java/util/TreeMap$4.class and b/libjava/classpath/lib/java/util/TreeMap$4.class differ diff --git a/libjava/classpath/lib/java/util/TreeMap$5.class b/libjava/classpath/lib/java/util/TreeMap$5.class index 6fb5ff2..22c5151 100644 Binary files a/libjava/classpath/lib/java/util/TreeMap$5.class and b/libjava/classpath/lib/java/util/TreeMap$5.class differ diff --git a/libjava/classpath/lib/java/util/TreeMap$6.class b/libjava/classpath/lib/java/util/TreeMap$6.class index 40db18b..0cfdc29 100644 Binary files a/libjava/classpath/lib/java/util/TreeMap$6.class and b/libjava/classpath/lib/java/util/TreeMap$6.class differ diff --git a/libjava/classpath/lib/java/util/TreeMap$7.class b/libjava/classpath/lib/java/util/TreeMap$7.class new file mode 100644 index 0000000..aac1ac1 Binary files /dev/null and b/libjava/classpath/lib/java/util/TreeMap$7.class differ diff --git a/libjava/classpath/lib/java/util/TreeMap$DescendingMap.class b/libjava/classpath/lib/java/util/TreeMap$DescendingMap.class new file mode 100644 index 0000000..f5675b6 Binary files /dev/null and b/libjava/classpath/lib/java/util/TreeMap$DescendingMap.class differ diff --git a/libjava/classpath/lib/java/util/TreeMap$DescendingSet.class b/libjava/classpath/lib/java/util/TreeMap$DescendingSet.class new file mode 100644 index 0000000..31497ba Binary files /dev/null and b/libjava/classpath/lib/java/util/TreeMap$DescendingSet.class differ diff --git a/libjava/classpath/lib/java/util/TreeMap$EntrySet.class b/libjava/classpath/lib/java/util/TreeMap$EntrySet.class new file mode 100644 index 0000000..f30a2c9 Binary files /dev/null and b/libjava/classpath/lib/java/util/TreeMap$EntrySet.class differ diff --git a/libjava/classpath/lib/java/util/TreeMap$KeySet.class b/libjava/classpath/lib/java/util/TreeMap$KeySet.class new file mode 100644 index 0000000..f03155c Binary files /dev/null and b/libjava/classpath/lib/java/util/TreeMap$KeySet.class differ diff --git a/libjava/classpath/lib/java/util/TreeMap$NavigableEntrySet.class b/libjava/classpath/lib/java/util/TreeMap$NavigableEntrySet.class new file mode 100644 index 0000000..3f156fa Binary files /dev/null and b/libjava/classpath/lib/java/util/TreeMap$NavigableEntrySet.class differ diff --git a/libjava/classpath/lib/java/util/TreeMap$NavigableKeySet.class b/libjava/classpath/lib/java/util/TreeMap$NavigableKeySet.class new file mode 100644 index 0000000..000e801 Binary files /dev/null and b/libjava/classpath/lib/java/util/TreeMap$NavigableKeySet.class differ diff --git a/libjava/classpath/lib/java/util/TreeMap$Node.class b/libjava/classpath/lib/java/util/TreeMap$Node.class index ac2641d..8f275d7 100644 Binary files a/libjava/classpath/lib/java/util/TreeMap$Node.class and b/libjava/classpath/lib/java/util/TreeMap$Node.class differ diff --git a/libjava/classpath/lib/java/util/TreeMap$SubMap$EntrySet.class b/libjava/classpath/lib/java/util/TreeMap$SubMap$EntrySet.class new file mode 100644 index 0000000..e3fe418 Binary files /dev/null and b/libjava/classpath/lib/java/util/TreeMap$SubMap$EntrySet.class differ diff --git a/libjava/classpath/lib/java/util/TreeMap$SubMap$KeySet.class b/libjava/classpath/lib/java/util/TreeMap$SubMap$KeySet.class new file mode 100644 index 0000000..50bce8e Binary files /dev/null and b/libjava/classpath/lib/java/util/TreeMap$SubMap$KeySet.class differ diff --git a/libjava/classpath/lib/java/util/TreeMap$SubMap$NavigableEntrySet.class b/libjava/classpath/lib/java/util/TreeMap$SubMap$NavigableEntrySet.class new file mode 100644 index 0000000..9924893 Binary files /dev/null and b/libjava/classpath/lib/java/util/TreeMap$SubMap$NavigableEntrySet.class differ diff --git a/libjava/classpath/lib/java/util/TreeMap$SubMap$NavigableKeySet.class b/libjava/classpath/lib/java/util/TreeMap$SubMap$NavigableKeySet.class new file mode 100644 index 0000000..2e6fe97 Binary files /dev/null and b/libjava/classpath/lib/java/util/TreeMap$SubMap$NavigableKeySet.class differ diff --git a/libjava/classpath/lib/java/util/TreeMap$SubMap.class b/libjava/classpath/lib/java/util/TreeMap$SubMap.class index a50e686..82573b2 100644 Binary files a/libjava/classpath/lib/java/util/TreeMap$SubMap.class and b/libjava/classpath/lib/java/util/TreeMap$SubMap.class differ diff --git a/libjava/classpath/lib/java/util/TreeMap$TreeIterator.class b/libjava/classpath/lib/java/util/TreeMap$TreeIterator.class index 34a4d39..eb6746c 100644 Binary files a/libjava/classpath/lib/java/util/TreeMap$TreeIterator.class and b/libjava/classpath/lib/java/util/TreeMap$TreeIterator.class differ diff --git a/libjava/classpath/lib/java/util/TreeMap.class b/libjava/classpath/lib/java/util/TreeMap.class index b720015..a8d0a1d 100644 Binary files a/libjava/classpath/lib/java/util/TreeMap.class and b/libjava/classpath/lib/java/util/TreeMap.class differ diff --git a/libjava/classpath/lib/java/util/TreeSet.class b/libjava/classpath/lib/java/util/TreeSet.class index 4ee139a..7e5eef3 100644 Binary files a/libjava/classpath/lib/java/util/TreeSet.class and b/libjava/classpath/lib/java/util/TreeSet.class differ diff --git a/libjava/classpath/lib/java/util/VMTimeZone.class b/libjava/classpath/lib/java/util/VMTimeZone.class index fa22ac6..1682a5e 100644 Binary files a/libjava/classpath/lib/java/util/VMTimeZone.class and b/libjava/classpath/lib/java/util/VMTimeZone.class differ diff --git a/libjava/classpath/lib/java/util/Vector$1.class b/libjava/classpath/lib/java/util/Vector$1.class index 28cbc58..42889b5 100644 Binary files a/libjava/classpath/lib/java/util/Vector$1.class and b/libjava/classpath/lib/java/util/Vector$1.class differ diff --git a/libjava/classpath/lib/java/util/Vector.class b/libjava/classpath/lib/java/util/Vector.class index 7fd06ae..9dd19b6 100644 Binary files a/libjava/classpath/lib/java/util/Vector.class and b/libjava/classpath/lib/java/util/Vector.class differ diff --git a/libjava/classpath/lib/java/util/WeakHashMap$1.class b/libjava/classpath/lib/java/util/WeakHashMap$1.class index cc3e25f..940a0e0 100644 Binary files a/libjava/classpath/lib/java/util/WeakHashMap$1.class and b/libjava/classpath/lib/java/util/WeakHashMap$1.class differ diff --git a/libjava/classpath/lib/java/util/WeakHashMap$2.class b/libjava/classpath/lib/java/util/WeakHashMap$2.class index 8690612..55db526 100644 Binary files a/libjava/classpath/lib/java/util/WeakHashMap$2.class and b/libjava/classpath/lib/java/util/WeakHashMap$2.class differ diff --git a/libjava/classpath/lib/java/util/WeakHashMap$WeakBucket$WeakEntry.class b/libjava/classpath/lib/java/util/WeakHashMap$WeakBucket$WeakEntry.class index 4d67646..52f786c 100644 Binary files a/libjava/classpath/lib/java/util/WeakHashMap$WeakBucket$WeakEntry.class and b/libjava/classpath/lib/java/util/WeakHashMap$WeakBucket$WeakEntry.class differ diff --git a/libjava/classpath/lib/java/util/WeakHashMap$WeakBucket.class b/libjava/classpath/lib/java/util/WeakHashMap$WeakBucket.class index fb4a59c..bafa843 100644 Binary files a/libjava/classpath/lib/java/util/WeakHashMap$WeakBucket.class and b/libjava/classpath/lib/java/util/WeakHashMap$WeakBucket.class differ diff --git a/libjava/classpath/lib/java/util/WeakHashMap$WeakEntrySet.class b/libjava/classpath/lib/java/util/WeakHashMap$WeakEntrySet.class index 8cc0ada..d06a288 100644 Binary files a/libjava/classpath/lib/java/util/WeakHashMap$WeakEntrySet.class and b/libjava/classpath/lib/java/util/WeakHashMap$WeakEntrySet.class differ diff --git a/libjava/classpath/lib/java/util/WeakHashMap.class b/libjava/classpath/lib/java/util/WeakHashMap.class index 5f7f75b..d47c24e 100644 Binary files a/libjava/classpath/lib/java/util/WeakHashMap.class and b/libjava/classpath/lib/java/util/WeakHashMap.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/AbstractExecutorService.class b/libjava/classpath/lib/java/util/concurrent/AbstractExecutorService.class index a69ed7f..2a88d80 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/AbstractExecutorService.class and b/libjava/classpath/lib/java/util/concurrent/AbstractExecutorService.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/ArrayBlockingQueue$Itr.class b/libjava/classpath/lib/java/util/concurrent/ArrayBlockingQueue$Itr.class index 34448ad..be9326a 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/ArrayBlockingQueue$Itr.class and b/libjava/classpath/lib/java/util/concurrent/ArrayBlockingQueue$Itr.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/ArrayBlockingQueue.class b/libjava/classpath/lib/java/util/concurrent/ArrayBlockingQueue.class index 4e9a1fc..9d5fe93 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/ArrayBlockingQueue.class and b/libjava/classpath/lib/java/util/concurrent/ArrayBlockingQueue.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$EntryIterator.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$EntryIterator.class index 94d83ba..9938eb9 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$EntryIterator.class and b/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$EntryIterator.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$EntrySet.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$EntrySet.class index f664cb3..362fb9b 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$EntrySet.class and b/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$EntrySet.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$HashEntry.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$HashEntry.class index 008edb9..d71cda4 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$HashEntry.class and b/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$HashEntry.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$HashIterator.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$HashIterator.class index f839fe1..2e212d7 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$HashIterator.class and b/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$HashIterator.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$KeyIterator.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$KeyIterator.class index 930b0c4..fbf002a 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$KeyIterator.class and b/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$KeyIterator.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$KeySet.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$KeySet.class index 48d0d95..f817be9 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$KeySet.class and b/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$KeySet.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$Segment.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$Segment.class index 72ce7d3..8b7dbe4 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$Segment.class and b/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$Segment.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$ValueIterator.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$ValueIterator.class index 9a1193b..b021046 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$ValueIterator.class and b/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$ValueIterator.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$Values.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$Values.class index 8342fe8..b4bd81d 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$Values.class and b/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$Values.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$WriteThroughEntry.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$WriteThroughEntry.class index f173a6a..8a8db71 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$WriteThroughEntry.class and b/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$WriteThroughEntry.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap.class index 4bae527..b3b5824 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap.class and b/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentLinkedQueue$Itr.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentLinkedQueue$Itr.class index 7bac7bf..517a8a2 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/ConcurrentLinkedQueue$Itr.class and b/libjava/classpath/lib/java/util/concurrent/ConcurrentLinkedQueue$Itr.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentLinkedQueue$Node.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentLinkedQueue$Node.class index 44fca27..1194630 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/ConcurrentLinkedQueue$Node.class and b/libjava/classpath/lib/java/util/concurrent/ConcurrentLinkedQueue$Node.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentLinkedQueue.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentLinkedQueue.class index 1333e0f..1754d5a 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/ConcurrentLinkedQueue.class and b/libjava/classpath/lib/java/util/concurrent/ConcurrentLinkedQueue.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$ComparableUsingComparator.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$ComparableUsingComparator.class index bd1678b..b7fbadd 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$ComparableUsingComparator.class and b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$ComparableUsingComparator.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$EntryIterator.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$EntryIterator.class index 127267c..f566db9 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$EntryIterator.class and b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$EntryIterator.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$EntrySet.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$EntrySet.class index ddd5e39..f70800a 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$EntrySet.class and b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$EntrySet.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$HeadIndex.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$HeadIndex.class index 6a7317f..be0ae85 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$HeadIndex.class and b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$HeadIndex.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$Index.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$Index.class index 131f152..66c6e47 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$Index.class and b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$Index.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$Iter.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$Iter.class index ff829b7..5dafbac 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$Iter.class and b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$Iter.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$KeyIterator.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$KeyIterator.class index 3a681f7..9cc54d8 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$KeyIterator.class and b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$KeyIterator.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$KeySet.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$KeySet.class index 45ec44c..45787aa 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$KeySet.class and b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$KeySet.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$Node.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$Node.class index 7932e01..62a4252 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$Node.class and b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$Node.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapEntryIterator.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapEntryIterator.class index d822acf..69db3d1 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapEntryIterator.class and b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapEntryIterator.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapIter.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapIter.class index f8029d1..cce9d1a 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapIter.class and b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapIter.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapKeyIterator.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapKeyIterator.class index 167f856..850731b 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapKeyIterator.class and b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapKeyIterator.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapValueIterator.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapValueIterator.class index 6f4fe85..9800a67 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapValueIterator.class and b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapValueIterator.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$SubMap.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$SubMap.class index 0df084c..b264fcd 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$SubMap.class and b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$SubMap.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$ValueIterator.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$ValueIterator.class index 090424a..ee8e168 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$ValueIterator.class and b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$ValueIterator.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$Values.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$Values.class index c41c136..9f3eff3 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$Values.class and b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$Values.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap.class index 0f97e2d..29fb15e 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap.class and b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListSet.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListSet.class index 0d0436c..8d12c6f 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListSet.class and b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListSet.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/CopyOnWriteArrayList.class b/libjava/classpath/lib/java/util/concurrent/CopyOnWriteArrayList.class index 872141f..151c514 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/CopyOnWriteArrayList.class and b/libjava/classpath/lib/java/util/concurrent/CopyOnWriteArrayList.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/CyclicBarrier.class b/libjava/classpath/lib/java/util/concurrent/CyclicBarrier.class index 1d696da..64aa7a1 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/CyclicBarrier.class and b/libjava/classpath/lib/java/util/concurrent/CyclicBarrier.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/DelayQueue$Itr.class b/libjava/classpath/lib/java/util/concurrent/DelayQueue$Itr.class index 69cc1be..4d96ba6 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/DelayQueue$Itr.class and b/libjava/classpath/lib/java/util/concurrent/DelayQueue$Itr.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/DelayQueue.class b/libjava/classpath/lib/java/util/concurrent/DelayQueue.class index 1cde5a1..0773684 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/DelayQueue.class and b/libjava/classpath/lib/java/util/concurrent/DelayQueue.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/Exchanger$Node.class b/libjava/classpath/lib/java/util/concurrent/Exchanger$Node.class index 9a09064..c777acf 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/Exchanger$Node.class and b/libjava/classpath/lib/java/util/concurrent/Exchanger$Node.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/Exchanger$Slot.class b/libjava/classpath/lib/java/util/concurrent/Exchanger$Slot.class index 3cad8cb..4f4c1cb 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/Exchanger$Slot.class and b/libjava/classpath/lib/java/util/concurrent/Exchanger$Slot.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/Exchanger.class b/libjava/classpath/lib/java/util/concurrent/Exchanger.class index b09da8f..bec4f30 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/Exchanger.class and b/libjava/classpath/lib/java/util/concurrent/Exchanger.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/ExecutorCompletionService$QueueingFuture.class b/libjava/classpath/lib/java/util/concurrent/ExecutorCompletionService$QueueingFuture.class index ff161bc..34bb28a 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/ExecutorCompletionService$QueueingFuture.class and b/libjava/classpath/lib/java/util/concurrent/ExecutorCompletionService$QueueingFuture.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/ExecutorCompletionService.class b/libjava/classpath/lib/java/util/concurrent/ExecutorCompletionService.class index 29a85f2..2e313e2 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/ExecutorCompletionService.class and b/libjava/classpath/lib/java/util/concurrent/ExecutorCompletionService.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/Executors$1.class b/libjava/classpath/lib/java/util/concurrent/Executors$1.class index 160a599..4976407 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/Executors$1.class and b/libjava/classpath/lib/java/util/concurrent/Executors$1.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/Executors$2.class b/libjava/classpath/lib/java/util/concurrent/Executors$2.class index 1ba9e05..810416e 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/Executors$2.class and b/libjava/classpath/lib/java/util/concurrent/Executors$2.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/Executors$3.class b/libjava/classpath/lib/java/util/concurrent/Executors$3.class index ac88394..e19541c 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/Executors$3.class and b/libjava/classpath/lib/java/util/concurrent/Executors$3.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/Executors$4.class b/libjava/classpath/lib/java/util/concurrent/Executors$4.class index 3710ff4..55c3edc 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/Executors$4.class and b/libjava/classpath/lib/java/util/concurrent/Executors$4.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/Executors$5.class b/libjava/classpath/lib/java/util/concurrent/Executors$5.class index 0e68c05..2dd94b7 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/Executors$5.class and b/libjava/classpath/lib/java/util/concurrent/Executors$5.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/Executors$6.class b/libjava/classpath/lib/java/util/concurrent/Executors$6.class index 513629e..dd04633 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/Executors$6.class and b/libjava/classpath/lib/java/util/concurrent/Executors$6.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/Executors$DelegatedScheduledExecutorService.class b/libjava/classpath/lib/java/util/concurrent/Executors$DelegatedScheduledExecutorService.class index df0646e..78018a8 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/Executors$DelegatedScheduledExecutorService.class and b/libjava/classpath/lib/java/util/concurrent/Executors$DelegatedScheduledExecutorService.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/Executors$FinalizableDelegatedExecutorService.class b/libjava/classpath/lib/java/util/concurrent/Executors$FinalizableDelegatedExecutorService.class index 25c9482..cf87d52 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/Executors$FinalizableDelegatedExecutorService.class and b/libjava/classpath/lib/java/util/concurrent/Executors$FinalizableDelegatedExecutorService.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/Executors$PrivilegedCallable.class b/libjava/classpath/lib/java/util/concurrent/Executors$PrivilegedCallable.class index 4493b43..10debe3 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/Executors$PrivilegedCallable.class and b/libjava/classpath/lib/java/util/concurrent/Executors$PrivilegedCallable.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/Executors$PrivilegedCallableUsingCurrentClassLoader.class b/libjava/classpath/lib/java/util/concurrent/Executors$PrivilegedCallableUsingCurrentClassLoader.class index 9fb1bee..30b1b4b 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/Executors$PrivilegedCallableUsingCurrentClassLoader.class and b/libjava/classpath/lib/java/util/concurrent/Executors$PrivilegedCallableUsingCurrentClassLoader.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/Executors$PrivilegedThreadFactory.class b/libjava/classpath/lib/java/util/concurrent/Executors$PrivilegedThreadFactory.class index 4b9d584..a87aa05 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/Executors$PrivilegedThreadFactory.class and b/libjava/classpath/lib/java/util/concurrent/Executors$PrivilegedThreadFactory.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/Executors$RunnableAdapter.class b/libjava/classpath/lib/java/util/concurrent/Executors$RunnableAdapter.class index 107b0de..5e69c9d 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/Executors$RunnableAdapter.class and b/libjava/classpath/lib/java/util/concurrent/Executors$RunnableAdapter.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/Executors.class b/libjava/classpath/lib/java/util/concurrent/Executors.class index d9fda78..ab8df30 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/Executors.class and b/libjava/classpath/lib/java/util/concurrent/Executors.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/FutureTask.class b/libjava/classpath/lib/java/util/concurrent/FutureTask.class index 17fe0cc..47ef470 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/FutureTask.class and b/libjava/classpath/lib/java/util/concurrent/FutureTask.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/LinkedBlockingDeque$AbstractItr.class b/libjava/classpath/lib/java/util/concurrent/LinkedBlockingDeque$AbstractItr.class index 58a7257..9c572da 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/LinkedBlockingDeque$AbstractItr.class and b/libjava/classpath/lib/java/util/concurrent/LinkedBlockingDeque$AbstractItr.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/LinkedBlockingDeque$DescendingItr.class b/libjava/classpath/lib/java/util/concurrent/LinkedBlockingDeque$DescendingItr.class index d6b8725..a577c22 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/LinkedBlockingDeque$DescendingItr.class and b/libjava/classpath/lib/java/util/concurrent/LinkedBlockingDeque$DescendingItr.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/LinkedBlockingDeque$Itr.class b/libjava/classpath/lib/java/util/concurrent/LinkedBlockingDeque$Itr.class index 3436e46..2fd4254 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/LinkedBlockingDeque$Itr.class and b/libjava/classpath/lib/java/util/concurrent/LinkedBlockingDeque$Itr.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/LinkedBlockingDeque$Node.class b/libjava/classpath/lib/java/util/concurrent/LinkedBlockingDeque$Node.class index a8cf193..42796b4 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/LinkedBlockingDeque$Node.class and b/libjava/classpath/lib/java/util/concurrent/LinkedBlockingDeque$Node.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/LinkedBlockingDeque.class b/libjava/classpath/lib/java/util/concurrent/LinkedBlockingDeque.class index cd8bb1c..d5d6c6f 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/LinkedBlockingDeque.class and b/libjava/classpath/lib/java/util/concurrent/LinkedBlockingDeque.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/LinkedBlockingQueue$Itr.class b/libjava/classpath/lib/java/util/concurrent/LinkedBlockingQueue$Itr.class index 4870d6a..84e6594 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/LinkedBlockingQueue$Itr.class and b/libjava/classpath/lib/java/util/concurrent/LinkedBlockingQueue$Itr.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/LinkedBlockingQueue$Node.class b/libjava/classpath/lib/java/util/concurrent/LinkedBlockingQueue$Node.class index 2d591b4..ea53caa 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/LinkedBlockingQueue$Node.class and b/libjava/classpath/lib/java/util/concurrent/LinkedBlockingQueue$Node.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/LinkedBlockingQueue.class b/libjava/classpath/lib/java/util/concurrent/LinkedBlockingQueue.class index bf0851c..d08cb7a 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/LinkedBlockingQueue.class and b/libjava/classpath/lib/java/util/concurrent/LinkedBlockingQueue.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/PriorityBlockingQueue$Itr.class b/libjava/classpath/lib/java/util/concurrent/PriorityBlockingQueue$Itr.class index 48da2c1..8c75378 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/PriorityBlockingQueue$Itr.class and b/libjava/classpath/lib/java/util/concurrent/PriorityBlockingQueue$Itr.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/PriorityBlockingQueue.class b/libjava/classpath/lib/java/util/concurrent/PriorityBlockingQueue.class index 5184f2c..b0db9d9 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/PriorityBlockingQueue.class and b/libjava/classpath/lib/java/util/concurrent/PriorityBlockingQueue.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/ScheduledThreadPoolExecutor$1.class b/libjava/classpath/lib/java/util/concurrent/ScheduledThreadPoolExecutor$1.class index 6aef91f..5c41074 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/ScheduledThreadPoolExecutor$1.class and b/libjava/classpath/lib/java/util/concurrent/ScheduledThreadPoolExecutor$1.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue.class b/libjava/classpath/lib/java/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue.class index 424908f..e5749c8 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue.class and b/libjava/classpath/lib/java/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/ScheduledThreadPoolExecutor$ScheduledFutureTask.class b/libjava/classpath/lib/java/util/concurrent/ScheduledThreadPoolExecutor$ScheduledFutureTask.class index 1870955..bcf0ca8 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/ScheduledThreadPoolExecutor$ScheduledFutureTask.class and b/libjava/classpath/lib/java/util/concurrent/ScheduledThreadPoolExecutor$ScheduledFutureTask.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/ScheduledThreadPoolExecutor.class b/libjava/classpath/lib/java/util/concurrent/ScheduledThreadPoolExecutor.class index af4be72..6caaf1a 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/ScheduledThreadPoolExecutor.class and b/libjava/classpath/lib/java/util/concurrent/ScheduledThreadPoolExecutor.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/Semaphore$FairSync.class b/libjava/classpath/lib/java/util/concurrent/Semaphore$FairSync.class index 8a21608..9a2b7f0 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/Semaphore$FairSync.class and b/libjava/classpath/lib/java/util/concurrent/Semaphore$FairSync.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/Semaphore$NonfairSync.class b/libjava/classpath/lib/java/util/concurrent/Semaphore$NonfairSync.class index 60b43e7..3af9f0b 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/Semaphore$NonfairSync.class and b/libjava/classpath/lib/java/util/concurrent/Semaphore$NonfairSync.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/Semaphore.class b/libjava/classpath/lib/java/util/concurrent/Semaphore.class index f8ede27..9582774 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/Semaphore.class and b/libjava/classpath/lib/java/util/concurrent/Semaphore.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$EmptyIterator.class b/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$EmptyIterator.class index 30927f1..512c600 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$EmptyIterator.class and b/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$EmptyIterator.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$FifoWaitQueue.class b/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$FifoWaitQueue.class index 017a009..2181039 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$FifoWaitQueue.class and b/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$FifoWaitQueue.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$LifoWaitQueue.class b/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$LifoWaitQueue.class index 65229c5..1bc719e 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$LifoWaitQueue.class and b/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$LifoWaitQueue.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$TransferQueue.class b/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$TransferQueue.class index ad5ce50..e2e857e 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$TransferQueue.class and b/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$TransferQueue.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$TransferStack.class b/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$TransferStack.class index 596ee4e..a319622 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$TransferStack.class and b/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$TransferStack.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/SynchronousQueue.class b/libjava/classpath/lib/java/util/concurrent/SynchronousQueue.class index e588a6a..15626fd 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/SynchronousQueue.class and b/libjava/classpath/lib/java/util/concurrent/SynchronousQueue.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/ThreadPoolExecutor.class b/libjava/classpath/lib/java/util/concurrent/ThreadPoolExecutor.class index f76017d..048d204 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/ThreadPoolExecutor.class and b/libjava/classpath/lib/java/util/concurrent/ThreadPoolExecutor.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/TimeUnit$1.class b/libjava/classpath/lib/java/util/concurrent/TimeUnit$1.class index 8218f26..98387d3 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/TimeUnit$1.class and b/libjava/classpath/lib/java/util/concurrent/TimeUnit$1.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/TimeUnit$2.class b/libjava/classpath/lib/java/util/concurrent/TimeUnit$2.class index 405fe63..3ff3ff4 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/TimeUnit$2.class and b/libjava/classpath/lib/java/util/concurrent/TimeUnit$2.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/TimeUnit$3.class b/libjava/classpath/lib/java/util/concurrent/TimeUnit$3.class index 6e94184..f1b17c6 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/TimeUnit$3.class and b/libjava/classpath/lib/java/util/concurrent/TimeUnit$3.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/TimeUnit$4.class b/libjava/classpath/lib/java/util/concurrent/TimeUnit$4.class index 079bfb0..e55c7b8 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/TimeUnit$4.class and b/libjava/classpath/lib/java/util/concurrent/TimeUnit$4.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/TimeUnit$5.class b/libjava/classpath/lib/java/util/concurrent/TimeUnit$5.class index 50d5a60..7a8b700 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/TimeUnit$5.class and b/libjava/classpath/lib/java/util/concurrent/TimeUnit$5.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/TimeUnit$6.class b/libjava/classpath/lib/java/util/concurrent/TimeUnit$6.class index a2232a5..dd3e0df 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/TimeUnit$6.class and b/libjava/classpath/lib/java/util/concurrent/TimeUnit$6.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/TimeUnit$7.class b/libjava/classpath/lib/java/util/concurrent/TimeUnit$7.class index 81d600f..8f4b664 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/TimeUnit$7.class and b/libjava/classpath/lib/java/util/concurrent/TimeUnit$7.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/TimeUnit.class b/libjava/classpath/lib/java/util/concurrent/TimeUnit.class index cd4b852..2bc1be5 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/TimeUnit.class and b/libjava/classpath/lib/java/util/concurrent/TimeUnit.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl.class b/libjava/classpath/lib/java/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl.class index 53e2016..63f1172 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl.class and b/libjava/classpath/lib/java/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.class b/libjava/classpath/lib/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.class index 8d308e6..3739666 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.class and b/libjava/classpath/lib/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/atomic/AtomicLongFieldUpdater$CASUpdater.class b/libjava/classpath/lib/java/util/concurrent/atomic/AtomicLongFieldUpdater$CASUpdater.class index d7a7474..411d716 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/atomic/AtomicLongFieldUpdater$CASUpdater.class and b/libjava/classpath/lib/java/util/concurrent/atomic/AtomicLongFieldUpdater$CASUpdater.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/atomic/AtomicLongFieldUpdater$LockedUpdater.class b/libjava/classpath/lib/java/util/concurrent/atomic/AtomicLongFieldUpdater$LockedUpdater.class index fcb0248..25a8bbb 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/atomic/AtomicLongFieldUpdater$LockedUpdater.class and b/libjava/classpath/lib/java/util/concurrent/atomic/AtomicLongFieldUpdater$LockedUpdater.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/atomic/AtomicLongFieldUpdater.class b/libjava/classpath/lib/java/util/concurrent/atomic/AtomicLongFieldUpdater.class index 210ad22..0da2e9c 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/atomic/AtomicLongFieldUpdater.class and b/libjava/classpath/lib/java/util/concurrent/atomic/AtomicLongFieldUpdater.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/atomic/AtomicMarkableReference$ReferenceBooleanPair.class b/libjava/classpath/lib/java/util/concurrent/atomic/AtomicMarkableReference$ReferenceBooleanPair.class index edbf9a9..a6d9e2e 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/atomic/AtomicMarkableReference$ReferenceBooleanPair.class and b/libjava/classpath/lib/java/util/concurrent/atomic/AtomicMarkableReference$ReferenceBooleanPair.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/atomic/AtomicMarkableReference.class b/libjava/classpath/lib/java/util/concurrent/atomic/AtomicMarkableReference.class index ec9b254..b1573f3 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/atomic/AtomicMarkableReference.class and b/libjava/classpath/lib/java/util/concurrent/atomic/AtomicMarkableReference.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl.class b/libjava/classpath/lib/java/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl.class index 8b08736..84fed57 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl.class and b/libjava/classpath/lib/java/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.class b/libjava/classpath/lib/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.class index 52637d0..648fdb3 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.class and b/libjava/classpath/lib/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/atomic/AtomicStampedReference$ReferenceIntegerPair.class b/libjava/classpath/lib/java/util/concurrent/atomic/AtomicStampedReference$ReferenceIntegerPair.class index 748d36d..99c632b 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/atomic/AtomicStampedReference$ReferenceIntegerPair.class and b/libjava/classpath/lib/java/util/concurrent/atomic/AtomicStampedReference$ReferenceIntegerPair.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/atomic/AtomicStampedReference.class b/libjava/classpath/lib/java/util/concurrent/atomic/AtomicStampedReference.class index 0976ccb..dbb2d7f 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/atomic/AtomicStampedReference.class and b/libjava/classpath/lib/java/util/concurrent/atomic/AtomicStampedReference.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/locks/AbstractQueuedLongSynchronizer$ConditionObject.class b/libjava/classpath/lib/java/util/concurrent/locks/AbstractQueuedLongSynchronizer$ConditionObject.class index 4154702..979d630 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/locks/AbstractQueuedLongSynchronizer$ConditionObject.class and b/libjava/classpath/lib/java/util/concurrent/locks/AbstractQueuedLongSynchronizer$ConditionObject.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/locks/AbstractQueuedLongSynchronizer.class b/libjava/classpath/lib/java/util/concurrent/locks/AbstractQueuedLongSynchronizer.class index 0bad6f5..68ecd0f 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/locks/AbstractQueuedLongSynchronizer.class and b/libjava/classpath/lib/java/util/concurrent/locks/AbstractQueuedLongSynchronizer.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.class b/libjava/classpath/lib/java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.class index 3d9ff37..87b4082 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.class and b/libjava/classpath/lib/java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/locks/AbstractQueuedSynchronizer.class b/libjava/classpath/lib/java/util/concurrent/locks/AbstractQueuedSynchronizer.class index f350fda..1bbbb37 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/locks/AbstractQueuedSynchronizer.class and b/libjava/classpath/lib/java/util/concurrent/locks/AbstractQueuedSynchronizer.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/locks/ReentrantLock$FairSync.class b/libjava/classpath/lib/java/util/concurrent/locks/ReentrantLock$FairSync.class index 981d4c0..8583dc6 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/locks/ReentrantLock$FairSync.class and b/libjava/classpath/lib/java/util/concurrent/locks/ReentrantLock$FairSync.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/locks/ReentrantLock$NonfairSync.class b/libjava/classpath/lib/java/util/concurrent/locks/ReentrantLock$NonfairSync.class index de58e12..842399e 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/locks/ReentrantLock$NonfairSync.class and b/libjava/classpath/lib/java/util/concurrent/locks/ReentrantLock$NonfairSync.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/locks/ReentrantLock$Sync.class b/libjava/classpath/lib/java/util/concurrent/locks/ReentrantLock$Sync.class index e2e8a06..0118d50 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/locks/ReentrantLock$Sync.class and b/libjava/classpath/lib/java/util/concurrent/locks/ReentrantLock$Sync.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/locks/ReentrantLock.class b/libjava/classpath/lib/java/util/concurrent/locks/ReentrantLock.class index 99eb817..b4813e7 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/locks/ReentrantLock.class and b/libjava/classpath/lib/java/util/concurrent/locks/ReentrantLock.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock$FairSync.class b/libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock$FairSync.class index 42bf02b2..e6e3c19 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock$FairSync.class and b/libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock$FairSync.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock$NonfairSync.class b/libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock$NonfairSync.class index 7ade70d..b32323c 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock$NonfairSync.class and b/libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock$NonfairSync.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock$ReadLock.class b/libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock$ReadLock.class index 902ae0f..a115bab 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock$ReadLock.class and b/libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock$ReadLock.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock$Sync$ThreadLocalHoldCounter.class b/libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock$Sync$ThreadLocalHoldCounter.class index 992969a..96dfd92 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock$Sync$ThreadLocalHoldCounter.class and b/libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock$Sync$ThreadLocalHoldCounter.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock$Sync.class b/libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock$Sync.class index dfec8fc..dc913fb 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock$Sync.class and b/libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock$Sync.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock$WriteLock.class b/libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock$WriteLock.class index 09b514b..b19c73b 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock$WriteLock.class and b/libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock$WriteLock.class differ diff --git a/libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock.class b/libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock.class index 221e709..d3174a1 100644 Binary files a/libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock.class and b/libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock.class differ diff --git a/libjava/classpath/lib/java/util/jar/Attributes.class b/libjava/classpath/lib/java/util/jar/Attributes.class index a7e7569..2fa91b0 100644 Binary files a/libjava/classpath/lib/java/util/jar/Attributes.class and b/libjava/classpath/lib/java/util/jar/Attributes.class differ diff --git a/libjava/classpath/lib/java/util/jar/JarEntry.class b/libjava/classpath/lib/java/util/jar/JarEntry.class index 0ae4b97..1807a8d 100644 Binary files a/libjava/classpath/lib/java/util/jar/JarEntry.class and b/libjava/classpath/lib/java/util/jar/JarEntry.class differ diff --git a/libjava/classpath/lib/java/util/jar/JarFile$EntryInputStream.class b/libjava/classpath/lib/java/util/jar/JarFile$EntryInputStream.class index 77805bd..9f3db31 100644 Binary files a/libjava/classpath/lib/java/util/jar/JarFile$EntryInputStream.class and b/libjava/classpath/lib/java/util/jar/JarFile$EntryInputStream.class differ diff --git a/libjava/classpath/lib/java/util/jar/JarFile$JarEnumeration.class b/libjava/classpath/lib/java/util/jar/JarFile$JarEnumeration.class index 871be67..2fa1fe8 100644 Binary files a/libjava/classpath/lib/java/util/jar/JarFile$JarEnumeration.class and b/libjava/classpath/lib/java/util/jar/JarFile$JarEnumeration.class differ diff --git a/libjava/classpath/lib/java/util/jar/JarFile.class b/libjava/classpath/lib/java/util/jar/JarFile.class index 0ab0c32..f677b90 100644 Binary files a/libjava/classpath/lib/java/util/jar/JarFile.class and b/libjava/classpath/lib/java/util/jar/JarFile.class differ diff --git a/libjava/classpath/lib/java/util/logging/LogManager$1.class b/libjava/classpath/lib/java/util/logging/LogManager$1.class index 737e5e6..c4c0444 100644 Binary files a/libjava/classpath/lib/java/util/logging/LogManager$1.class and b/libjava/classpath/lib/java/util/logging/LogManager$1.class differ diff --git a/libjava/classpath/lib/java/util/logging/LogManager.class b/libjava/classpath/lib/java/util/logging/LogManager.class index 2a4e0b0..77736d1 100644 Binary files a/libjava/classpath/lib/java/util/logging/LogManager.class and b/libjava/classpath/lib/java/util/logging/LogManager.class differ diff --git a/libjava/classpath/lib/java/util/logging/Logger$1.class b/libjava/classpath/lib/java/util/logging/Logger$1.class index 75e2200..daf0eba 100644 Binary files a/libjava/classpath/lib/java/util/logging/Logger$1.class and b/libjava/classpath/lib/java/util/logging/Logger$1.class differ diff --git a/libjava/classpath/lib/java/util/logging/Logger.class b/libjava/classpath/lib/java/util/logging/Logger.class index ab5acbc..ab638c3 100644 Binary files a/libjava/classpath/lib/java/util/logging/Logger.class and b/libjava/classpath/lib/java/util/logging/Logger.class differ diff --git a/libjava/classpath/lib/java/util/prefs/AbstractPreferences$1.class b/libjava/classpath/lib/java/util/prefs/AbstractPreferences$1.class index 0f2ec95..4f25a3d 100644 Binary files a/libjava/classpath/lib/java/util/prefs/AbstractPreferences$1.class and b/libjava/classpath/lib/java/util/prefs/AbstractPreferences$1.class differ diff --git a/libjava/classpath/lib/java/util/prefs/AbstractPreferences$2.class b/libjava/classpath/lib/java/util/prefs/AbstractPreferences$2.class index 596a22a..57cf97c 100644 Binary files a/libjava/classpath/lib/java/util/prefs/AbstractPreferences$2.class and b/libjava/classpath/lib/java/util/prefs/AbstractPreferences$2.class differ diff --git a/libjava/classpath/lib/java/util/prefs/AbstractPreferences.class b/libjava/classpath/lib/java/util/prefs/AbstractPreferences.class index b8537d1..3675ab8 100644 Binary files a/libjava/classpath/lib/java/util/prefs/AbstractPreferences.class and b/libjava/classpath/lib/java/util/prefs/AbstractPreferences.class differ diff --git a/libjava/classpath/lib/java/util/prefs/Preferences$1.class b/libjava/classpath/lib/java/util/prefs/Preferences$1.class index 00f0be1..86732e1 100644 Binary files a/libjava/classpath/lib/java/util/prefs/Preferences$1.class and b/libjava/classpath/lib/java/util/prefs/Preferences$1.class differ diff --git a/libjava/classpath/lib/java/util/prefs/Preferences.class b/libjava/classpath/lib/java/util/prefs/Preferences.class index bf687b0..2e02fb4 100644 Binary files a/libjava/classpath/lib/java/util/prefs/Preferences.class and b/libjava/classpath/lib/java/util/prefs/Preferences.class differ diff --git a/libjava/classpath/lib/java/util/regex/Pattern.class b/libjava/classpath/lib/java/util/regex/Pattern.class index 47e212b..fc3c65c 100644 Binary files a/libjava/classpath/lib/java/util/regex/Pattern.class and b/libjava/classpath/lib/java/util/regex/Pattern.class differ diff --git a/libjava/classpath/lib/java/util/spi/CurrencyNameProvider.class b/libjava/classpath/lib/java/util/spi/CurrencyNameProvider.class new file mode 100644 index 0000000..8448bda Binary files /dev/null and b/libjava/classpath/lib/java/util/spi/CurrencyNameProvider.class differ diff --git a/libjava/classpath/lib/java/util/spi/LocaleNameProvider.class b/libjava/classpath/lib/java/util/spi/LocaleNameProvider.class new file mode 100644 index 0000000..d3f7fee Binary files /dev/null and b/libjava/classpath/lib/java/util/spi/LocaleNameProvider.class differ diff --git a/libjava/classpath/lib/java/util/spi/LocaleServiceProvider.class b/libjava/classpath/lib/java/util/spi/LocaleServiceProvider.class new file mode 100644 index 0000000..50d2373 Binary files /dev/null and b/libjava/classpath/lib/java/util/spi/LocaleServiceProvider.class differ diff --git a/libjava/classpath/lib/java/util/spi/TimeZoneNameProvider.class b/libjava/classpath/lib/java/util/spi/TimeZoneNameProvider.class new file mode 100644 index 0000000..79db75e Binary files /dev/null and b/libjava/classpath/lib/java/util/spi/TimeZoneNameProvider.class differ diff --git a/libjava/classpath/lib/java/util/zip/ZipFile$1.class b/libjava/classpath/lib/java/util/zip/ZipFile$1.class index f37b498..5436a46 100644 Binary files a/libjava/classpath/lib/java/util/zip/ZipFile$1.class and b/libjava/classpath/lib/java/util/zip/ZipFile$1.class differ diff --git a/libjava/classpath/lib/java/util/zip/ZipFile$ZipEntryEnumeration.class b/libjava/classpath/lib/java/util/zip/ZipFile$ZipEntryEnumeration.class index 85c0837..eb72100 100644 Binary files a/libjava/classpath/lib/java/util/zip/ZipFile$ZipEntryEnumeration.class and b/libjava/classpath/lib/java/util/zip/ZipFile$ZipEntryEnumeration.class differ diff --git a/libjava/classpath/lib/java/util/zip/ZipFile.class b/libjava/classpath/lib/java/util/zip/ZipFile.class index c73ebec..2e43b08 100644 Binary files a/libjava/classpath/lib/java/util/zip/ZipFile.class and b/libjava/classpath/lib/java/util/zip/ZipFile.class differ diff --git a/libjava/classpath/lib/java/util/zip/ZipInputStream.class b/libjava/classpath/lib/java/util/zip/ZipInputStream.class index 3865420..93ae9a1 100644 Binary files a/libjava/classpath/lib/java/util/zip/ZipInputStream.class and b/libjava/classpath/lib/java/util/zip/ZipInputStream.class differ diff --git a/libjava/classpath/lib/javax/activity/ActivityCompletedException.class b/libjava/classpath/lib/javax/activity/ActivityCompletedException.class new file mode 100644 index 0000000..b0ccda3 Binary files /dev/null and b/libjava/classpath/lib/javax/activity/ActivityCompletedException.class differ diff --git a/libjava/classpath/lib/javax/activity/ActivityRequiredException.class b/libjava/classpath/lib/javax/activity/ActivityRequiredException.class new file mode 100644 index 0000000..244aaac Binary files /dev/null and b/libjava/classpath/lib/javax/activity/ActivityRequiredException.class differ diff --git a/libjava/classpath/lib/javax/activity/InvalidActivityException.class b/libjava/classpath/lib/javax/activity/InvalidActivityException.class new file mode 100644 index 0000000..fb9a876 Binary files /dev/null and b/libjava/classpath/lib/javax/activity/InvalidActivityException.class differ diff --git a/libjava/classpath/lib/javax/crypto/CipherOutputStream.class b/libjava/classpath/lib/javax/crypto/CipherOutputStream.class index d2d61e2..a389a7c 100644 Binary files a/libjava/classpath/lib/javax/crypto/CipherOutputStream.class and b/libjava/classpath/lib/javax/crypto/CipherOutputStream.class differ diff --git a/libjava/classpath/lib/javax/imageio/ImageIO$1.class b/libjava/classpath/lib/javax/imageio/ImageIO$1.class index aecb7d8..c503537 100644 Binary files a/libjava/classpath/lib/javax/imageio/ImageIO$1.class and b/libjava/classpath/lib/javax/imageio/ImageIO$1.class differ diff --git a/libjava/classpath/lib/javax/imageio/ImageIO$ImageReaderIterator.class b/libjava/classpath/lib/javax/imageio/ImageIO$ImageReaderIterator.class index 0f08910..52aa19d 100644 Binary files a/libjava/classpath/lib/javax/imageio/ImageIO$ImageReaderIterator.class and b/libjava/classpath/lib/javax/imageio/ImageIO$ImageReaderIterator.class differ diff --git a/libjava/classpath/lib/javax/imageio/ImageIO$ImageWriterIterator.class b/libjava/classpath/lib/javax/imageio/ImageIO$ImageWriterIterator.class index 1637f28..6b52dc6 100644 Binary files a/libjava/classpath/lib/javax/imageio/ImageIO$ImageWriterIterator.class and b/libjava/classpath/lib/javax/imageio/ImageIO$ImageWriterIterator.class differ diff --git a/libjava/classpath/lib/javax/imageio/ImageIO$ReaderFormatFilter.class b/libjava/classpath/lib/javax/imageio/ImageIO$ReaderFormatFilter.class index 5155bca..2d061ac 100644 Binary files a/libjava/classpath/lib/javax/imageio/ImageIO$ReaderFormatFilter.class and b/libjava/classpath/lib/javax/imageio/ImageIO$ReaderFormatFilter.class differ diff --git a/libjava/classpath/lib/javax/imageio/ImageIO$ReaderMIMETypeFilter.class b/libjava/classpath/lib/javax/imageio/ImageIO$ReaderMIMETypeFilter.class index aa88c00..3006b06 100644 Binary files a/libjava/classpath/lib/javax/imageio/ImageIO$ReaderMIMETypeFilter.class and b/libjava/classpath/lib/javax/imageio/ImageIO$ReaderMIMETypeFilter.class differ diff --git a/libjava/classpath/lib/javax/imageio/ImageIO$ReaderObjectFilter.class b/libjava/classpath/lib/javax/imageio/ImageIO$ReaderObjectFilter.class index 51b2f1e..c5755ba 100644 Binary files a/libjava/classpath/lib/javax/imageio/ImageIO$ReaderObjectFilter.class and b/libjava/classpath/lib/javax/imageio/ImageIO$ReaderObjectFilter.class differ diff --git a/libjava/classpath/lib/javax/imageio/ImageIO$ReaderSuffixFilter.class b/libjava/classpath/lib/javax/imageio/ImageIO$ReaderSuffixFilter.class index a4250bf..c4b6d8e 100644 Binary files a/libjava/classpath/lib/javax/imageio/ImageIO$ReaderSuffixFilter.class and b/libjava/classpath/lib/javax/imageio/ImageIO$ReaderSuffixFilter.class differ diff --git a/libjava/classpath/lib/javax/imageio/ImageIO$TranscoderFilter.class b/libjava/classpath/lib/javax/imageio/ImageIO$TranscoderFilter.class index 8e4fe3c..1e87ffe 100644 Binary files a/libjava/classpath/lib/javax/imageio/ImageIO$TranscoderFilter.class and b/libjava/classpath/lib/javax/imageio/ImageIO$TranscoderFilter.class differ diff --git a/libjava/classpath/lib/javax/imageio/ImageIO$WriterFormatFilter.class b/libjava/classpath/lib/javax/imageio/ImageIO$WriterFormatFilter.class index a1fcd80f..df40200 100644 Binary files a/libjava/classpath/lib/javax/imageio/ImageIO$WriterFormatFilter.class and b/libjava/classpath/lib/javax/imageio/ImageIO$WriterFormatFilter.class differ diff --git a/libjava/classpath/lib/javax/imageio/ImageIO$WriterMIMETypeFilter.class b/libjava/classpath/lib/javax/imageio/ImageIO$WriterMIMETypeFilter.class index 64f5bd4..37016b7 100644 Binary files a/libjava/classpath/lib/javax/imageio/ImageIO$WriterMIMETypeFilter.class and b/libjava/classpath/lib/javax/imageio/ImageIO$WriterMIMETypeFilter.class differ diff --git a/libjava/classpath/lib/javax/imageio/ImageIO$WriterObjectFilter.class b/libjava/classpath/lib/javax/imageio/ImageIO$WriterObjectFilter.class index 1304c7f..39abc56 100644 Binary files a/libjava/classpath/lib/javax/imageio/ImageIO$WriterObjectFilter.class and b/libjava/classpath/lib/javax/imageio/ImageIO$WriterObjectFilter.class differ diff --git a/libjava/classpath/lib/javax/imageio/ImageIO$WriterSuffixFilter.class b/libjava/classpath/lib/javax/imageio/ImageIO$WriterSuffixFilter.class index 9ff7d63..71f65c9 100644 Binary files a/libjava/classpath/lib/javax/imageio/ImageIO$WriterSuffixFilter.class and b/libjava/classpath/lib/javax/imageio/ImageIO$WriterSuffixFilter.class differ diff --git a/libjava/classpath/lib/javax/imageio/ImageIO.class b/libjava/classpath/lib/javax/imageio/ImageIO.class index 14c24cb..baa2ccc 100644 Binary files a/libjava/classpath/lib/javax/imageio/ImageIO.class and b/libjava/classpath/lib/javax/imageio/ImageIO.class differ diff --git a/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$1.class b/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$1.class index e6b3267..e425985 100644 Binary files a/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$1.class and b/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$1.class differ diff --git a/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$IIOMetadataNodeAttrBounded.class b/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$IIOMetadataNodeAttrBounded.class index f70d44e..b6111e2 100644 Binary files a/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$IIOMetadataNodeAttrBounded.class and b/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$IIOMetadataNodeAttrBounded.class differ diff --git a/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$IIOMetadataNodeAttrEnumerated.class b/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$IIOMetadataNodeAttrEnumerated.class index 6e9c99c..acadd96 100644 Binary files a/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$IIOMetadataNodeAttrEnumerated.class and b/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$IIOMetadataNodeAttrEnumerated.class differ diff --git a/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$IIOMetadataNodeAttrList.class b/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$IIOMetadataNodeAttrList.class index 3139d38..a488e10 100644 Binary files a/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$IIOMetadataNodeAttrList.class and b/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$IIOMetadataNodeAttrList.class differ diff --git a/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$NodeObjectArray.class b/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$NodeObjectArray.class index 507733c..44648d6 100644 Binary files a/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$NodeObjectArray.class and b/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$NodeObjectArray.class differ diff --git a/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$NodeObjectBounded.class b/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$NodeObjectBounded.class index b36a483..7acc42e 100644 Binary files a/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$NodeObjectBounded.class and b/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$NodeObjectBounded.class differ diff --git a/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$NodeObjectEnumerated.class b/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$NodeObjectEnumerated.class index 3b7e3b4..5421768 100644 Binary files a/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$NodeObjectEnumerated.class and b/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$NodeObjectEnumerated.class differ diff --git a/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl.class b/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl.class index eebc68b..7a9fdff 100644 Binary files a/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl.class and b/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl.class differ diff --git a/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataNode$IIONamedNodeMap.class b/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataNode$IIONamedNodeMap.class index a8e43ee..5a45d81 100644 Binary files a/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataNode$IIONamedNodeMap.class and b/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataNode$IIONamedNodeMap.class differ diff --git a/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataNode.class b/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataNode.class index 001f1ff..f36ac478 100644 Binary files a/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataNode.class and b/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataNode.class differ diff --git a/libjava/classpath/lib/javax/imageio/spi/IIORegistry.class b/libjava/classpath/lib/javax/imageio/spi/IIORegistry.class index 45073b1..3b97e6f 100644 Binary files a/libjava/classpath/lib/javax/imageio/spi/IIORegistry.class and b/libjava/classpath/lib/javax/imageio/spi/IIORegistry.class differ diff --git a/libjava/classpath/lib/javax/imageio/spi/ServiceRegistry$1.class b/libjava/classpath/lib/javax/imageio/spi/ServiceRegistry$1.class index 3cf058c..788a965 100644 Binary files a/libjava/classpath/lib/javax/imageio/spi/ServiceRegistry$1.class and b/libjava/classpath/lib/javax/imageio/spi/ServiceRegistry$1.class differ diff --git a/libjava/classpath/lib/javax/imageio/spi/ServiceRegistry$2.class b/libjava/classpath/lib/javax/imageio/spi/ServiceRegistry$2.class index bec3d35..bc8ac5b 100644 Binary files a/libjava/classpath/lib/javax/imageio/spi/ServiceRegistry$2.class and b/libjava/classpath/lib/javax/imageio/spi/ServiceRegistry$2.class differ diff --git a/libjava/classpath/lib/javax/imageio/spi/ServiceRegistry.class b/libjava/classpath/lib/javax/imageio/spi/ServiceRegistry.class index dddf6f4..4d71088 100644 Binary files a/libjava/classpath/lib/javax/imageio/spi/ServiceRegistry.class and b/libjava/classpath/lib/javax/imageio/spi/ServiceRegistry.class differ diff --git a/libjava/classpath/lib/javax/imageio/stream/FileCacheImageOutputStream.class b/libjava/classpath/lib/javax/imageio/stream/FileCacheImageOutputStream.class index 2bb32b78..ac26102 100644 Binary files a/libjava/classpath/lib/javax/imageio/stream/FileCacheImageOutputStream.class and b/libjava/classpath/lib/javax/imageio/stream/FileCacheImageOutputStream.class differ diff --git a/libjava/classpath/lib/javax/imageio/stream/ImageOutputStreamImpl.class b/libjava/classpath/lib/javax/imageio/stream/ImageOutputStreamImpl.class index dccf1f3..a8895aa 100644 Binary files a/libjava/classpath/lib/javax/imageio/stream/ImageOutputStreamImpl.class and b/libjava/classpath/lib/javax/imageio/stream/ImageOutputStreamImpl.class differ diff --git a/libjava/classpath/lib/javax/management/AttributeChangeNotification.class b/libjava/classpath/lib/javax/management/AttributeChangeNotification.class new file mode 100644 index 0000000..6ea97a1 Binary files /dev/null and b/libjava/classpath/lib/javax/management/AttributeChangeNotification.class differ diff --git a/libjava/classpath/lib/javax/management/AttributeChangeNotificationFilter.class b/libjava/classpath/lib/javax/management/AttributeChangeNotificationFilter.class new file mode 100644 index 0000000..9a50cee Binary files /dev/null and b/libjava/classpath/lib/javax/management/AttributeChangeNotificationFilter.class differ diff --git a/libjava/classpath/lib/javax/management/AttributeValueExp.class b/libjava/classpath/lib/javax/management/AttributeValueExp.class new file mode 100644 index 0000000..c3d6563 Binary files /dev/null and b/libjava/classpath/lib/javax/management/AttributeValueExp.class differ diff --git a/libjava/classpath/lib/javax/management/DefaultLoaderRepository.class b/libjava/classpath/lib/javax/management/DefaultLoaderRepository.class new file mode 100644 index 0000000..12a86e3 Binary files /dev/null and b/libjava/classpath/lib/javax/management/DefaultLoaderRepository.class differ diff --git a/libjava/classpath/lib/javax/management/Descriptor.class b/libjava/classpath/lib/javax/management/Descriptor.class new file mode 100644 index 0000000..31d4753 Binary files /dev/null and b/libjava/classpath/lib/javax/management/Descriptor.class differ diff --git a/libjava/classpath/lib/javax/management/DescriptorAccess.class b/libjava/classpath/lib/javax/management/DescriptorAccess.class new file mode 100644 index 0000000..759e172 Binary files /dev/null and b/libjava/classpath/lib/javax/management/DescriptorAccess.class differ diff --git a/libjava/classpath/lib/javax/management/DescriptorRead.class b/libjava/classpath/lib/javax/management/DescriptorRead.class new file mode 100644 index 0000000..ff60092 Binary files /dev/null and b/libjava/classpath/lib/javax/management/DescriptorRead.class differ diff --git a/libjava/classpath/lib/javax/management/JMX.class b/libjava/classpath/lib/javax/management/JMX.class new file mode 100644 index 0000000..e60830e Binary files /dev/null and b/libjava/classpath/lib/javax/management/JMX.class differ diff --git a/libjava/classpath/lib/javax/management/MBeanAttributeInfo.class b/libjava/classpath/lib/javax/management/MBeanAttributeInfo.class index a5626b8..58b61c6 100644 Binary files a/libjava/classpath/lib/javax/management/MBeanAttributeInfo.class and b/libjava/classpath/lib/javax/management/MBeanAttributeInfo.class differ diff --git a/libjava/classpath/lib/javax/management/MBeanFeatureInfo.class b/libjava/classpath/lib/javax/management/MBeanFeatureInfo.class index 2c240dc..4542db5 100644 Binary files a/libjava/classpath/lib/javax/management/MBeanFeatureInfo.class and b/libjava/classpath/lib/javax/management/MBeanFeatureInfo.class differ diff --git a/libjava/classpath/lib/javax/management/MBeanServerInvocationHandler.class b/libjava/classpath/lib/javax/management/MBeanServerInvocationHandler.class new file mode 100644 index 0000000..a54f833 Binary files /dev/null and b/libjava/classpath/lib/javax/management/MBeanServerInvocationHandler.class differ diff --git a/libjava/classpath/lib/javax/management/MXBean.class b/libjava/classpath/lib/javax/management/MXBean.class new file mode 100644 index 0000000..a4625c8 Binary files /dev/null and b/libjava/classpath/lib/javax/management/MXBean.class differ diff --git a/libjava/classpath/lib/javax/management/Notification.class b/libjava/classpath/lib/javax/management/Notification.class index 1518fdc..c1faa47 100644 Binary files a/libjava/classpath/lib/javax/management/Notification.class and b/libjava/classpath/lib/javax/management/Notification.class differ diff --git a/libjava/classpath/lib/javax/management/NotificationBroadcasterSupport$DispatchTask.class b/libjava/classpath/lib/javax/management/NotificationBroadcasterSupport$DispatchTask.class new file mode 100644 index 0000000..00ca402 Binary files /dev/null and b/libjava/classpath/lib/javax/management/NotificationBroadcasterSupport$DispatchTask.class differ diff --git a/libjava/classpath/lib/javax/management/NotificationBroadcasterSupport.class b/libjava/classpath/lib/javax/management/NotificationBroadcasterSupport.class new file mode 100644 index 0000000..8a18372 Binary files /dev/null and b/libjava/classpath/lib/javax/management/NotificationBroadcasterSupport.class differ diff --git a/libjava/classpath/lib/javax/management/NotificationFilterSupport.class b/libjava/classpath/lib/javax/management/NotificationFilterSupport.class new file mode 100644 index 0000000..2e46648 Binary files /dev/null and b/libjava/classpath/lib/javax/management/NotificationFilterSupport.class differ diff --git a/libjava/classpath/lib/javax/management/ObjectName.class b/libjava/classpath/lib/javax/management/ObjectName.class index 5bbfcff..fc2ed91 100644 Binary files a/libjava/classpath/lib/javax/management/ObjectName.class and b/libjava/classpath/lib/javax/management/ObjectName.class differ diff --git a/libjava/classpath/lib/javax/management/PersistentMBean.class b/libjava/classpath/lib/javax/management/PersistentMBean.class new file mode 100644 index 0000000..2cca21b Binary files /dev/null and b/libjava/classpath/lib/javax/management/PersistentMBean.class differ diff --git a/libjava/classpath/lib/javax/management/Query$AndQueryExp.class b/libjava/classpath/lib/javax/management/Query$AndQueryExp.class new file mode 100644 index 0000000..f9dbedf Binary files /dev/null and b/libjava/classpath/lib/javax/management/Query$AndQueryExp.class differ diff --git a/libjava/classpath/lib/javax/management/Query$BetweenQueryExp.class b/libjava/classpath/lib/javax/management/Query$BetweenQueryExp.class new file mode 100644 index 0000000..16ccac9 Binary files /dev/null and b/libjava/classpath/lib/javax/management/Query$BetweenQueryExp.class differ diff --git a/libjava/classpath/lib/javax/management/Query$BinaryOpValueExp.class b/libjava/classpath/lib/javax/management/Query$BinaryOpValueExp.class new file mode 100644 index 0000000..07e201e Binary files /dev/null and b/libjava/classpath/lib/javax/management/Query$BinaryOpValueExp.class differ diff --git a/libjava/classpath/lib/javax/management/Query$BinaryRelQueryExp.class b/libjava/classpath/lib/javax/management/Query$BinaryRelQueryExp.class new file mode 100644 index 0000000..bec6946 Binary files /dev/null and b/libjava/classpath/lib/javax/management/Query$BinaryRelQueryExp.class differ diff --git a/libjava/classpath/lib/javax/management/Query$BooleanValueExp.class b/libjava/classpath/lib/javax/management/Query$BooleanValueExp.class new file mode 100644 index 0000000..52e0cf7 Binary files /dev/null and b/libjava/classpath/lib/javax/management/Query$BooleanValueExp.class differ diff --git a/libjava/classpath/lib/javax/management/Query$ClassAttributeValueExp.class b/libjava/classpath/lib/javax/management/Query$ClassAttributeValueExp.class new file mode 100644 index 0000000..0bf35cf Binary files /dev/null and b/libjava/classpath/lib/javax/management/Query$ClassAttributeValueExp.class differ diff --git a/libjava/classpath/lib/javax/management/Query$InQueryExp.class b/libjava/classpath/lib/javax/management/Query$InQueryExp.class new file mode 100644 index 0000000..3c09e66 Binary files /dev/null and b/libjava/classpath/lib/javax/management/Query$InQueryExp.class differ diff --git a/libjava/classpath/lib/javax/management/Query$InstanceOfQueryExp.class b/libjava/classpath/lib/javax/management/Query$InstanceOfQueryExp.class new file mode 100644 index 0000000..b5a8aee Binary files /dev/null and b/libjava/classpath/lib/javax/management/Query$InstanceOfQueryExp.class differ diff --git a/libjava/classpath/lib/javax/management/Query$MatchQueryExp.class b/libjava/classpath/lib/javax/management/Query$MatchQueryExp.class new file mode 100644 index 0000000..b22ffd2 Binary files /dev/null and b/libjava/classpath/lib/javax/management/Query$MatchQueryExp.class differ diff --git a/libjava/classpath/lib/javax/management/Query$NotQueryExp.class b/libjava/classpath/lib/javax/management/Query$NotQueryExp.class new file mode 100644 index 0000000..be84f14 Binary files /dev/null and b/libjava/classpath/lib/javax/management/Query$NotQueryExp.class differ diff --git a/libjava/classpath/lib/javax/management/Query$NumericValueExp.class b/libjava/classpath/lib/javax/management/Query$NumericValueExp.class new file mode 100644 index 0000000..ee820c7 Binary files /dev/null and b/libjava/classpath/lib/javax/management/Query$NumericValueExp.class differ diff --git a/libjava/classpath/lib/javax/management/Query$OrQueryExp.class b/libjava/classpath/lib/javax/management/Query$OrQueryExp.class new file mode 100644 index 0000000..adb8e1e Binary files /dev/null and b/libjava/classpath/lib/javax/management/Query$OrQueryExp.class differ diff --git a/libjava/classpath/lib/javax/management/Query$QualifiedAttributeValueExp.class b/libjava/classpath/lib/javax/management/Query$QualifiedAttributeValueExp.class new file mode 100644 index 0000000..f811b4e Binary files /dev/null and b/libjava/classpath/lib/javax/management/Query$QualifiedAttributeValueExp.class differ diff --git a/libjava/classpath/lib/javax/management/Query.class b/libjava/classpath/lib/javax/management/Query.class new file mode 100644 index 0000000..d5f06db Binary files /dev/null and b/libjava/classpath/lib/javax/management/Query.class differ diff --git a/libjava/classpath/lib/javax/management/QueryEval.class b/libjava/classpath/lib/javax/management/QueryEval.class new file mode 100644 index 0000000..a5dc2cd Binary files /dev/null and b/libjava/classpath/lib/javax/management/QueryEval.class differ diff --git a/libjava/classpath/lib/javax/management/StandardMBean.class b/libjava/classpath/lib/javax/management/StandardMBean.class index be54235..ca59e8f 100644 Binary files a/libjava/classpath/lib/javax/management/StandardMBean.class and b/libjava/classpath/lib/javax/management/StandardMBean.class differ diff --git a/libjava/classpath/lib/javax/management/StringValueExp.class b/libjava/classpath/lib/javax/management/StringValueExp.class new file mode 100644 index 0000000..c0fdc80 Binary files /dev/null and b/libjava/classpath/lib/javax/management/StringValueExp.class differ diff --git a/libjava/classpath/lib/javax/management/loading/ClassLoaderRepository.class b/libjava/classpath/lib/javax/management/loading/ClassLoaderRepository.class index 493e9d2..9ee5537 100644 Binary files a/libjava/classpath/lib/javax/management/loading/ClassLoaderRepository.class and b/libjava/classpath/lib/javax/management/loading/ClassLoaderRepository.class differ diff --git a/libjava/classpath/lib/javax/management/openmbean/ArrayType.class b/libjava/classpath/lib/javax/management/openmbean/ArrayType.class index 888874a..112ba8b 100644 Binary files a/libjava/classpath/lib/javax/management/openmbean/ArrayType.class and b/libjava/classpath/lib/javax/management/openmbean/ArrayType.class differ diff --git a/libjava/classpath/lib/javax/management/openmbean/CompositeData.class b/libjava/classpath/lib/javax/management/openmbean/CompositeData.class index 8cd4c3c..94cf24e 100644 Binary files a/libjava/classpath/lib/javax/management/openmbean/CompositeData.class and b/libjava/classpath/lib/javax/management/openmbean/CompositeData.class differ diff --git a/libjava/classpath/lib/javax/management/openmbean/CompositeDataInvocationHandler.class b/libjava/classpath/lib/javax/management/openmbean/CompositeDataInvocationHandler.class new file mode 100644 index 0000000..3531ed5 Binary files /dev/null and b/libjava/classpath/lib/javax/management/openmbean/CompositeDataInvocationHandler.class differ diff --git a/libjava/classpath/lib/javax/management/openmbean/CompositeDataSupport.class b/libjava/classpath/lib/javax/management/openmbean/CompositeDataSupport.class index c5e4d5f..a35581e 100644 Binary files a/libjava/classpath/lib/javax/management/openmbean/CompositeDataSupport.class and b/libjava/classpath/lib/javax/management/openmbean/CompositeDataSupport.class differ diff --git a/libjava/classpath/lib/javax/management/openmbean/CompositeType.class b/libjava/classpath/lib/javax/management/openmbean/CompositeType.class index 3ed4d99..9daeaed 100644 Binary files a/libjava/classpath/lib/javax/management/openmbean/CompositeType.class and b/libjava/classpath/lib/javax/management/openmbean/CompositeType.class differ diff --git a/libjava/classpath/lib/javax/management/openmbean/OpenMBeanAttributeInfoSupport.class b/libjava/classpath/lib/javax/management/openmbean/OpenMBeanAttributeInfoSupport.class index 8aec049..c7833f8 100644 Binary files a/libjava/classpath/lib/javax/management/openmbean/OpenMBeanAttributeInfoSupport.class and b/libjava/classpath/lib/javax/management/openmbean/OpenMBeanAttributeInfoSupport.class differ diff --git a/libjava/classpath/lib/javax/management/openmbean/OpenMBeanOperationInfo.class b/libjava/classpath/lib/javax/management/openmbean/OpenMBeanOperationInfo.class index 5e6fd06..3dc9e0a 100644 Binary files a/libjava/classpath/lib/javax/management/openmbean/OpenMBeanOperationInfo.class and b/libjava/classpath/lib/javax/management/openmbean/OpenMBeanOperationInfo.class differ diff --git a/libjava/classpath/lib/javax/management/openmbean/OpenMBeanOperationInfoSupport.class b/libjava/classpath/lib/javax/management/openmbean/OpenMBeanOperationInfoSupport.class index 93ed400..5e88cbe 100644 Binary files a/libjava/classpath/lib/javax/management/openmbean/OpenMBeanOperationInfoSupport.class and b/libjava/classpath/lib/javax/management/openmbean/OpenMBeanOperationInfoSupport.class differ diff --git a/libjava/classpath/lib/javax/management/openmbean/OpenMBeanParameterInfo.class b/libjava/classpath/lib/javax/management/openmbean/OpenMBeanParameterInfo.class index b360ed8..3046126 100644 Binary files a/libjava/classpath/lib/javax/management/openmbean/OpenMBeanParameterInfo.class and b/libjava/classpath/lib/javax/management/openmbean/OpenMBeanParameterInfo.class differ diff --git a/libjava/classpath/lib/javax/management/openmbean/OpenMBeanParameterInfoSupport.class b/libjava/classpath/lib/javax/management/openmbean/OpenMBeanParameterInfoSupport.class index 59ef037..4f20e69 100644 Binary files a/libjava/classpath/lib/javax/management/openmbean/OpenMBeanParameterInfoSupport.class and b/libjava/classpath/lib/javax/management/openmbean/OpenMBeanParameterInfoSupport.class differ diff --git a/libjava/classpath/lib/javax/management/openmbean/OpenType.class b/libjava/classpath/lib/javax/management/openmbean/OpenType.class index 689f1cc..2415271 100644 Binary files a/libjava/classpath/lib/javax/management/openmbean/OpenType.class and b/libjava/classpath/lib/javax/management/openmbean/OpenType.class differ diff --git a/libjava/classpath/lib/javax/management/openmbean/SimpleType.class b/libjava/classpath/lib/javax/management/openmbean/SimpleType.class index c33e908..7c16993 100644 Binary files a/libjava/classpath/lib/javax/management/openmbean/SimpleType.class and b/libjava/classpath/lib/javax/management/openmbean/SimpleType.class differ diff --git a/libjava/classpath/lib/javax/management/openmbean/TabularData.class b/libjava/classpath/lib/javax/management/openmbean/TabularData.class index c6a70ea..3526546 100644 Binary files a/libjava/classpath/lib/javax/management/openmbean/TabularData.class and b/libjava/classpath/lib/javax/management/openmbean/TabularData.class differ diff --git a/libjava/classpath/lib/javax/management/openmbean/TabularDataSupport.class b/libjava/classpath/lib/javax/management/openmbean/TabularDataSupport.class index c940083..80fded3 100644 Binary files a/libjava/classpath/lib/javax/management/openmbean/TabularDataSupport.class and b/libjava/classpath/lib/javax/management/openmbean/TabularDataSupport.class differ diff --git a/libjava/classpath/lib/javax/management/openmbean/TabularType.class b/libjava/classpath/lib/javax/management/openmbean/TabularType.class index c287c12..d2eb8a9 100644 Binary files a/libjava/classpath/lib/javax/management/openmbean/TabularType.class and b/libjava/classpath/lib/javax/management/openmbean/TabularType.class differ diff --git a/libjava/classpath/lib/javax/naming/CompositeName.class b/libjava/classpath/lib/javax/naming/CompositeName.class index 2a19869..ad737e6 100644 Binary files a/libjava/classpath/lib/javax/naming/CompositeName.class and b/libjava/classpath/lib/javax/naming/CompositeName.class differ diff --git a/libjava/classpath/lib/javax/naming/CompoundName.class b/libjava/classpath/lib/javax/naming/CompoundName.class index 39592b0..9ce16da 100644 Binary files a/libjava/classpath/lib/javax/naming/CompoundName.class and b/libjava/classpath/lib/javax/naming/CompoundName.class differ diff --git a/libjava/classpath/lib/javax/naming/InitialContext.class b/libjava/classpath/lib/javax/naming/InitialContext.class index a21349c..2f84be5 100644 Binary files a/libjava/classpath/lib/javax/naming/InitialContext.class and b/libjava/classpath/lib/javax/naming/InitialContext.class differ diff --git a/libjava/classpath/lib/javax/naming/directory/BasicAttributes$1.class b/libjava/classpath/lib/javax/naming/directory/BasicAttributes$1.class new file mode 100644 index 0000000..24a92b2 Binary files /dev/null and b/libjava/classpath/lib/javax/naming/directory/BasicAttributes$1.class differ diff --git a/libjava/classpath/lib/javax/naming/directory/BasicAttributes$BasicAttributesEnumeration.class b/libjava/classpath/lib/javax/naming/directory/BasicAttributes$BasicAttributesEnumeration.class index 5886467..d3c8711 100644 Binary files a/libjava/classpath/lib/javax/naming/directory/BasicAttributes$BasicAttributesEnumeration.class and b/libjava/classpath/lib/javax/naming/directory/BasicAttributes$BasicAttributesEnumeration.class differ diff --git a/libjava/classpath/lib/javax/naming/directory/BasicAttributes.class b/libjava/classpath/lib/javax/naming/directory/BasicAttributes.class index 20e9428..38d1343 100644 Binary files a/libjava/classpath/lib/javax/naming/directory/BasicAttributes.class and b/libjava/classpath/lib/javax/naming/directory/BasicAttributes.class differ diff --git a/libjava/classpath/lib/javax/naming/ldap/InitialLdapContext.class b/libjava/classpath/lib/javax/naming/ldap/InitialLdapContext.class index 4132452..bef3074 100644 Binary files a/libjava/classpath/lib/javax/naming/ldap/InitialLdapContext.class and b/libjava/classpath/lib/javax/naming/ldap/InitialLdapContext.class differ diff --git a/libjava/classpath/lib/javax/naming/spi/DirectoryManager.class b/libjava/classpath/lib/javax/naming/spi/DirectoryManager.class index 2269042..c21583c 100644 Binary files a/libjava/classpath/lib/javax/naming/spi/DirectoryManager.class and b/libjava/classpath/lib/javax/naming/spi/DirectoryManager.class differ diff --git a/libjava/classpath/lib/javax/net/ssl/KeyManagerFactory$1.class b/libjava/classpath/lib/javax/net/ssl/KeyManagerFactory$1.class index e67cc75..a2cdc28 100644 Binary files a/libjava/classpath/lib/javax/net/ssl/KeyManagerFactory$1.class and b/libjava/classpath/lib/javax/net/ssl/KeyManagerFactory$1.class differ diff --git a/libjava/classpath/lib/javax/net/ssl/KeyManagerFactory.class b/libjava/classpath/lib/javax/net/ssl/KeyManagerFactory.class index 7eb16a2..579d243 100644 Binary files a/libjava/classpath/lib/javax/net/ssl/KeyManagerFactory.class and b/libjava/classpath/lib/javax/net/ssl/KeyManagerFactory.class differ diff --git a/libjava/classpath/lib/javax/net/ssl/SSLEngine.class b/libjava/classpath/lib/javax/net/ssl/SSLEngine.class index 6ffe9e8..52739db 100644 Binary files a/libjava/classpath/lib/javax/net/ssl/SSLEngine.class and b/libjava/classpath/lib/javax/net/ssl/SSLEngine.class differ diff --git a/libjava/classpath/lib/javax/net/ssl/SSLEngineResult$HandshakeStatus.class b/libjava/classpath/lib/javax/net/ssl/SSLEngineResult$HandshakeStatus.class index 7b64db7..83b9b3b 100644 Binary files a/libjava/classpath/lib/javax/net/ssl/SSLEngineResult$HandshakeStatus.class and b/libjava/classpath/lib/javax/net/ssl/SSLEngineResult$HandshakeStatus.class differ diff --git a/libjava/classpath/lib/javax/net/ssl/SSLEngineResult$Status.class b/libjava/classpath/lib/javax/net/ssl/SSLEngineResult$Status.class index 312b098..6d23885 100644 Binary files a/libjava/classpath/lib/javax/net/ssl/SSLEngineResult$Status.class and b/libjava/classpath/lib/javax/net/ssl/SSLEngineResult$Status.class differ diff --git a/libjava/classpath/lib/javax/net/ssl/SSLEngineResult.class b/libjava/classpath/lib/javax/net/ssl/SSLEngineResult.class index d905e82..4fef4d7 100644 Binary files a/libjava/classpath/lib/javax/net/ssl/SSLEngineResult.class and b/libjava/classpath/lib/javax/net/ssl/SSLEngineResult.class differ diff --git a/libjava/classpath/lib/javax/net/ssl/SSLServerSocketFactory$ErrorServerSocketFactory.class b/libjava/classpath/lib/javax/net/ssl/SSLServerSocketFactory$ErrorServerSocketFactory.class new file mode 100644 index 0000000..d822ef2 Binary files /dev/null and b/libjava/classpath/lib/javax/net/ssl/SSLServerSocketFactory$ErrorServerSocketFactory.class differ diff --git a/libjava/classpath/lib/javax/net/ssl/SSLServerSocketFactory.class b/libjava/classpath/lib/javax/net/ssl/SSLServerSocketFactory.class index 4db450a..0e67fb6 100644 Binary files a/libjava/classpath/lib/javax/net/ssl/SSLServerSocketFactory.class and b/libjava/classpath/lib/javax/net/ssl/SSLServerSocketFactory.class differ diff --git a/libjava/classpath/lib/javax/net/ssl/SSLSocketFactory$ErrorSocketFactory.class b/libjava/classpath/lib/javax/net/ssl/SSLSocketFactory$ErrorSocketFactory.class new file mode 100644 index 0000000..40605ef Binary files /dev/null and b/libjava/classpath/lib/javax/net/ssl/SSLSocketFactory$ErrorSocketFactory.class differ diff --git a/libjava/classpath/lib/javax/net/ssl/SSLSocketFactory.class b/libjava/classpath/lib/javax/net/ssl/SSLSocketFactory.class index ef49a99..bf1c007 100644 Binary files a/libjava/classpath/lib/javax/net/ssl/SSLSocketFactory.class and b/libjava/classpath/lib/javax/net/ssl/SSLSocketFactory.class differ diff --git a/libjava/classpath/lib/javax/net/ssl/TrustManagerFactory$1.class b/libjava/classpath/lib/javax/net/ssl/TrustManagerFactory$1.class index 023245c..e87db7a 100644 Binary files a/libjava/classpath/lib/javax/net/ssl/TrustManagerFactory$1.class and b/libjava/classpath/lib/javax/net/ssl/TrustManagerFactory$1.class differ diff --git a/libjava/classpath/lib/javax/net/ssl/TrustManagerFactory.class b/libjava/classpath/lib/javax/net/ssl/TrustManagerFactory.class index f7cf269..7dc6142 100644 Binary files a/libjava/classpath/lib/javax/net/ssl/TrustManagerFactory.class and b/libjava/classpath/lib/javax/net/ssl/TrustManagerFactory.class differ diff --git a/libjava/classpath/lib/javax/print/DocFlavor.class b/libjava/classpath/lib/javax/print/DocFlavor.class index 4edf510..d887fc0 100644 Binary files a/libjava/classpath/lib/javax/print/DocFlavor.class and b/libjava/classpath/lib/javax/print/DocFlavor.class differ diff --git a/libjava/classpath/lib/javax/print/SimpleDoc.class b/libjava/classpath/lib/javax/print/SimpleDoc.class index 2f0976e..e93477e 100644 Binary files a/libjava/classpath/lib/javax/print/SimpleDoc.class and b/libjava/classpath/lib/javax/print/SimpleDoc.class differ diff --git a/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$SynchronizedDocAttributeSet.class b/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$SynchronizedDocAttributeSet.class index 95e4530..e400620 100644 Binary files a/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$SynchronizedDocAttributeSet.class and b/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$SynchronizedDocAttributeSet.class differ diff --git a/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$SynchronizedPrintJobAttributeSet.class b/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$SynchronizedPrintJobAttributeSet.class index fab5c6f..4573362 100644 Binary files a/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$SynchronizedPrintJobAttributeSet.class and b/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$SynchronizedPrintJobAttributeSet.class differ diff --git a/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$SynchronizedPrintRequestAttributeSet.class b/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$SynchronizedPrintRequestAttributeSet.class index 37ebb16..e9fd53c 100644 Binary files a/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$SynchronizedPrintRequestAttributeSet.class and b/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$SynchronizedPrintRequestAttributeSet.class differ diff --git a/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$SynchronizedPrintServiceAttributeSet.class b/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$SynchronizedPrintServiceAttributeSet.class index 4cc539d..a99045a 100644 Binary files a/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$SynchronizedPrintServiceAttributeSet.class and b/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$SynchronizedPrintServiceAttributeSet.class differ diff --git a/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$UnmodifiableDocAttributeSet.class b/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$UnmodifiableDocAttributeSet.class index 6e83f7e..9545f6e 100644 Binary files a/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$UnmodifiableDocAttributeSet.class and b/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$UnmodifiableDocAttributeSet.class differ diff --git a/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$UnmodifiablePrintJobAttributeSet.class b/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$UnmodifiablePrintJobAttributeSet.class index 0f973e1..42e31d0 100644 Binary files a/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$UnmodifiablePrintJobAttributeSet.class and b/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$UnmodifiablePrintJobAttributeSet.class differ diff --git a/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$UnmodifiablePrintRequestAttributeSet.class b/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$UnmodifiablePrintRequestAttributeSet.class index 5bfa550..31f20cb 100644 Binary files a/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$UnmodifiablePrintRequestAttributeSet.class and b/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$UnmodifiablePrintRequestAttributeSet.class differ diff --git a/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$UnmodifiablePrintServiceAttributeSet.class b/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$UnmodifiablePrintServiceAttributeSet.class index 43c2682..de7107b 100644 Binary files a/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$UnmodifiablePrintServiceAttributeSet.class and b/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$UnmodifiablePrintServiceAttributeSet.class differ diff --git a/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities.class b/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities.class index 6ee0b8f..20363f8 100644 Binary files a/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities.class and b/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities.class differ diff --git a/libjava/classpath/lib/javax/print/attribute/SetOfIntegerSyntax$1.class b/libjava/classpath/lib/javax/print/attribute/SetOfIntegerSyntax$1.class index 9dde407..f13d211 100644 Binary files a/libjava/classpath/lib/javax/print/attribute/SetOfIntegerSyntax$1.class and b/libjava/classpath/lib/javax/print/attribute/SetOfIntegerSyntax$1.class differ diff --git a/libjava/classpath/lib/javax/print/attribute/SetOfIntegerSyntax.class b/libjava/classpath/lib/javax/print/attribute/SetOfIntegerSyntax.class index f25096b..0d39adf 100644 Binary files a/libjava/classpath/lib/javax/print/attribute/SetOfIntegerSyntax.class and b/libjava/classpath/lib/javax/print/attribute/SetOfIntegerSyntax.class differ diff --git a/libjava/classpath/lib/javax/print/attribute/standard/MediaSize.class b/libjava/classpath/lib/javax/print/attribute/standard/MediaSize.class index 7e1f36f..e897aa9 100644 Binary files a/libjava/classpath/lib/javax/print/attribute/standard/MediaSize.class and b/libjava/classpath/lib/javax/print/attribute/standard/MediaSize.class differ diff --git a/libjava/classpath/lib/javax/print/attribute/standard/PrinterStateReasons.class b/libjava/classpath/lib/javax/print/attribute/standard/PrinterStateReasons.class index 2b2bbdd..910bae2 100644 Binary files a/libjava/classpath/lib/javax/print/attribute/standard/PrinterStateReasons.class and b/libjava/classpath/lib/javax/print/attribute/standard/PrinterStateReasons.class differ diff --git a/libjava/classpath/lib/javax/security/auth/kerberos/DelegationPermission$1.class b/libjava/classpath/lib/javax/security/auth/kerberos/DelegationPermission$1.class index 17b73dd..4faebdf 100644 Binary files a/libjava/classpath/lib/javax/security/auth/kerberos/DelegationPermission$1.class and b/libjava/classpath/lib/javax/security/auth/kerberos/DelegationPermission$1.class differ diff --git a/libjava/classpath/lib/javax/security/auth/kerberos/DelegationPermission.class b/libjava/classpath/lib/javax/security/auth/kerberos/DelegationPermission.class index a5a555a..424188a 100644 Binary files a/libjava/classpath/lib/javax/security/auth/kerberos/DelegationPermission.class and b/libjava/classpath/lib/javax/security/auth/kerberos/DelegationPermission.class differ diff --git a/libjava/classpath/lib/javax/security/auth/kerberos/ServicePermission$1.class b/libjava/classpath/lib/javax/security/auth/kerberos/ServicePermission$1.class index f8d7e1e..36248ce 100644 Binary files a/libjava/classpath/lib/javax/security/auth/kerberos/ServicePermission$1.class and b/libjava/classpath/lib/javax/security/auth/kerberos/ServicePermission$1.class differ diff --git a/libjava/classpath/lib/javax/security/auth/kerberos/ServicePermission.class b/libjava/classpath/lib/javax/security/auth/kerberos/ServicePermission.class index 567a1dd..c55550f 100644 Binary files a/libjava/classpath/lib/javax/security/auth/kerberos/ServicePermission.class and b/libjava/classpath/lib/javax/security/auth/kerberos/ServicePermission.class differ diff --git a/libjava/classpath/lib/javax/security/auth/login/Configuration$1.class b/libjava/classpath/lib/javax/security/auth/login/Configuration$1.class index cfbe1ee..f08f198 100644 Binary files a/libjava/classpath/lib/javax/security/auth/login/Configuration$1.class and b/libjava/classpath/lib/javax/security/auth/login/Configuration$1.class differ diff --git a/libjava/classpath/lib/javax/security/auth/login/Configuration.class b/libjava/classpath/lib/javax/security/auth/login/Configuration.class index bd233be..d7c2eb5 100644 Binary files a/libjava/classpath/lib/javax/security/auth/login/Configuration.class and b/libjava/classpath/lib/javax/security/auth/login/Configuration.class differ diff --git a/libjava/classpath/lib/javax/security/auth/login/LoginContext.class b/libjava/classpath/lib/javax/security/auth/login/LoginContext.class index 72a220c..9a8f678 100644 Binary files a/libjava/classpath/lib/javax/security/auth/login/LoginContext.class and b/libjava/classpath/lib/javax/security/auth/login/LoginContext.class differ diff --git a/libjava/classpath/lib/javax/security/auth/x500/X500Principal.class b/libjava/classpath/lib/javax/security/auth/x500/X500Principal.class index 8b8b10b..e2a1287 100644 Binary files a/libjava/classpath/lib/javax/security/auth/x500/X500Principal.class and b/libjava/classpath/lib/javax/security/auth/x500/X500Principal.class differ diff --git a/libjava/classpath/lib/javax/sound/midi/MidiSystem.class b/libjava/classpath/lib/javax/sound/midi/MidiSystem.class index b25a832..96da633 100644 Binary files a/libjava/classpath/lib/javax/sound/midi/MidiSystem.class and b/libjava/classpath/lib/javax/sound/midi/MidiSystem.class differ diff --git a/libjava/classpath/lib/javax/sound/midi/spi/MidiDeviceProvider.class b/libjava/classpath/lib/javax/sound/midi/spi/MidiDeviceProvider.class index 9bd4b0c..def585f 100644 Binary files a/libjava/classpath/lib/javax/sound/midi/spi/MidiDeviceProvider.class and b/libjava/classpath/lib/javax/sound/midi/spi/MidiDeviceProvider.class differ diff --git a/libjava/classpath/lib/javax/sound/sampled/AudioFileFormat.class b/libjava/classpath/lib/javax/sound/sampled/AudioFileFormat.class index 9080a54..a89c81d 100644 Binary files a/libjava/classpath/lib/javax/sound/sampled/AudioFileFormat.class and b/libjava/classpath/lib/javax/sound/sampled/AudioFileFormat.class differ diff --git a/libjava/classpath/lib/javax/sound/sampled/AudioFormat.class b/libjava/classpath/lib/javax/sound/sampled/AudioFormat.class index 2d7d4ec..e2d846d 100644 Binary files a/libjava/classpath/lib/javax/sound/sampled/AudioFormat.class and b/libjava/classpath/lib/javax/sound/sampled/AudioFormat.class differ diff --git a/libjava/classpath/lib/javax/sound/sampled/AudioSystem.class b/libjava/classpath/lib/javax/sound/sampled/AudioSystem.class index d2f9df9..81dc2ac 100644 Binary files a/libjava/classpath/lib/javax/sound/sampled/AudioSystem.class and b/libjava/classpath/lib/javax/sound/sampled/AudioSystem.class differ diff --git a/libjava/classpath/lib/javax/sound/sampled/BooleanControl$Type.class b/libjava/classpath/lib/javax/sound/sampled/BooleanControl$Type.class index 2b34f32..ac0abdd 100644 Binary files a/libjava/classpath/lib/javax/sound/sampled/BooleanControl$Type.class and b/libjava/classpath/lib/javax/sound/sampled/BooleanControl$Type.class differ diff --git a/libjava/classpath/lib/javax/sound/sampled/BooleanControl.class b/libjava/classpath/lib/javax/sound/sampled/BooleanControl.class index 66638a9..c556849 100644 Binary files a/libjava/classpath/lib/javax/sound/sampled/BooleanControl.class and b/libjava/classpath/lib/javax/sound/sampled/BooleanControl.class differ diff --git a/libjava/classpath/lib/javax/sound/sampled/CompoundControl$Type.class b/libjava/classpath/lib/javax/sound/sampled/CompoundControl$Type.class index e3cd87c..cabba7d 100644 Binary files a/libjava/classpath/lib/javax/sound/sampled/CompoundControl$Type.class and b/libjava/classpath/lib/javax/sound/sampled/CompoundControl$Type.class differ diff --git a/libjava/classpath/lib/javax/sound/sampled/CompoundControl.class b/libjava/classpath/lib/javax/sound/sampled/CompoundControl.class index b7257a2..4334b13 100644 Binary files a/libjava/classpath/lib/javax/sound/sampled/CompoundControl.class and b/libjava/classpath/lib/javax/sound/sampled/CompoundControl.class differ diff --git a/libjava/classpath/lib/javax/sound/sampled/DataLine$Info.class b/libjava/classpath/lib/javax/sound/sampled/DataLine$Info.class index fd9cc41..7d626c0 100644 Binary files a/libjava/classpath/lib/javax/sound/sampled/DataLine$Info.class and b/libjava/classpath/lib/javax/sound/sampled/DataLine$Info.class differ diff --git a/libjava/classpath/lib/javax/sound/sampled/EnumControl$Type.class b/libjava/classpath/lib/javax/sound/sampled/EnumControl$Type.class index a3c7e7c..ef8afcb 100644 Binary files a/libjava/classpath/lib/javax/sound/sampled/EnumControl$Type.class and b/libjava/classpath/lib/javax/sound/sampled/EnumControl$Type.class differ diff --git a/libjava/classpath/lib/javax/sound/sampled/EnumControl.class b/libjava/classpath/lib/javax/sound/sampled/EnumControl.class index 9a14b3b..d7774db 100644 Binary files a/libjava/classpath/lib/javax/sound/sampled/EnumControl.class and b/libjava/classpath/lib/javax/sound/sampled/EnumControl.class differ diff --git a/libjava/classpath/lib/javax/sound/sampled/FloatControl$Type.class b/libjava/classpath/lib/javax/sound/sampled/FloatControl$Type.class index 31ab679..a0360b2 100644 Binary files a/libjava/classpath/lib/javax/sound/sampled/FloatControl$Type.class and b/libjava/classpath/lib/javax/sound/sampled/FloatControl$Type.class differ diff --git a/libjava/classpath/lib/javax/sound/sampled/FloatControl.class b/libjava/classpath/lib/javax/sound/sampled/FloatControl.class index 342f907f..5cd6285 100644 Binary files a/libjava/classpath/lib/javax/sound/sampled/FloatControl.class and b/libjava/classpath/lib/javax/sound/sampled/FloatControl.class differ diff --git a/libjava/classpath/lib/javax/sound/sampled/Line.class b/libjava/classpath/lib/javax/sound/sampled/Line.class index 61cf116..40270c1 100644 Binary files a/libjava/classpath/lib/javax/sound/sampled/Line.class and b/libjava/classpath/lib/javax/sound/sampled/Line.class differ diff --git a/libjava/classpath/lib/javax/sound/sampled/Mixer.class b/libjava/classpath/lib/javax/sound/sampled/Mixer.class index a079741..fe7d304 100644 Binary files a/libjava/classpath/lib/javax/sound/sampled/Mixer.class and b/libjava/classpath/lib/javax/sound/sampled/Mixer.class differ diff --git a/libjava/classpath/lib/javax/sound/sampled/Port$Info.class b/libjava/classpath/lib/javax/sound/sampled/Port$Info.class index e8a1cdd..11f5cad 100644 Binary files a/libjava/classpath/lib/javax/sound/sampled/Port$Info.class and b/libjava/classpath/lib/javax/sound/sampled/Port$Info.class differ diff --git a/libjava/classpath/lib/javax/sound/sampled/spi/AudioFileWriter.class b/libjava/classpath/lib/javax/sound/sampled/spi/AudioFileWriter.class index cf5d8e4..07e42ce 100644 Binary files a/libjava/classpath/lib/javax/sound/sampled/spi/AudioFileWriter.class and b/libjava/classpath/lib/javax/sound/sampled/spi/AudioFileWriter.class differ diff --git a/libjava/classpath/lib/javax/sound/sampled/spi/FormatConversionProvider.class b/libjava/classpath/lib/javax/sound/sampled/spi/FormatConversionProvider.class index 6ecb440..84a3f52 100644 Binary files a/libjava/classpath/lib/javax/sound/sampled/spi/FormatConversionProvider.class and b/libjava/classpath/lib/javax/sound/sampled/spi/FormatConversionProvider.class differ diff --git a/libjava/classpath/lib/javax/sound/sampled/spi/MixerProvider.class b/libjava/classpath/lib/javax/sound/sampled/spi/MixerProvider.class index aee3094..7ef683f 100644 Binary files a/libjava/classpath/lib/javax/sound/sampled/spi/MixerProvider.class and b/libjava/classpath/lib/javax/sound/sampled/spi/MixerProvider.class differ diff --git a/libjava/classpath/lib/javax/swing/AbstractButton$1.class b/libjava/classpath/lib/javax/swing/AbstractButton$1.class index 1d5de118..95948d6 100644 Binary files a/libjava/classpath/lib/javax/swing/AbstractButton$1.class and b/libjava/classpath/lib/javax/swing/AbstractButton$1.class differ diff --git a/libjava/classpath/lib/javax/swing/AbstractButton$AccessibleAbstractButton.class b/libjava/classpath/lib/javax/swing/AbstractButton$AccessibleAbstractButton.class index 8e07d37..b17256a 100644 Binary files a/libjava/classpath/lib/javax/swing/AbstractButton$AccessibleAbstractButton.class and b/libjava/classpath/lib/javax/swing/AbstractButton$AccessibleAbstractButton.class differ diff --git a/libjava/classpath/lib/javax/swing/AbstractButton$ButtonChangeListener.class b/libjava/classpath/lib/javax/swing/AbstractButton$ButtonChangeListener.class index 540f011..e8fce21 100644 Binary files a/libjava/classpath/lib/javax/swing/AbstractButton$ButtonChangeListener.class and b/libjava/classpath/lib/javax/swing/AbstractButton$ButtonChangeListener.class differ diff --git a/libjava/classpath/lib/javax/swing/AbstractButton.class b/libjava/classpath/lib/javax/swing/AbstractButton.class index cfbd15b..d02ab05 100644 Binary files a/libjava/classpath/lib/javax/swing/AbstractButton.class and b/libjava/classpath/lib/javax/swing/AbstractButton.class differ diff --git a/libjava/classpath/lib/javax/swing/Box$AccessibleBox.class b/libjava/classpath/lib/javax/swing/Box$AccessibleBox.class index ad22919..ee3bbdf 100644 Binary files a/libjava/classpath/lib/javax/swing/Box$AccessibleBox.class and b/libjava/classpath/lib/javax/swing/Box$AccessibleBox.class differ diff --git a/libjava/classpath/lib/javax/swing/Box$Filler$AccessibleBoxFiller.class b/libjava/classpath/lib/javax/swing/Box$Filler$AccessibleBoxFiller.class index a45d6ff..5d967f9 100644 Binary files a/libjava/classpath/lib/javax/swing/Box$Filler$AccessibleBoxFiller.class and b/libjava/classpath/lib/javax/swing/Box$Filler$AccessibleBoxFiller.class differ diff --git a/libjava/classpath/lib/javax/swing/CellRendererPane$AccessibleCellRendererPane.class b/libjava/classpath/lib/javax/swing/CellRendererPane$AccessibleCellRendererPane.class index 2896e8d..fdf4594 100644 Binary files a/libjava/classpath/lib/javax/swing/CellRendererPane$AccessibleCellRendererPane.class and b/libjava/classpath/lib/javax/swing/CellRendererPane$AccessibleCellRendererPane.class differ diff --git a/libjava/classpath/lib/javax/swing/DefaultCellEditor$JCheckBoxDelegate.class b/libjava/classpath/lib/javax/swing/DefaultCellEditor$JCheckBoxDelegate.class index db05a1f..1f05403 100644 Binary files a/libjava/classpath/lib/javax/swing/DefaultCellEditor$JCheckBoxDelegate.class and b/libjava/classpath/lib/javax/swing/DefaultCellEditor$JCheckBoxDelegate.class differ diff --git a/libjava/classpath/lib/javax/swing/DefaultCellEditor$JComboBoxDelegate.class b/libjava/classpath/lib/javax/swing/DefaultCellEditor$JComboBoxDelegate.class index db5727c..1c02371 100644 Binary files a/libjava/classpath/lib/javax/swing/DefaultCellEditor$JComboBoxDelegate.class and b/libjava/classpath/lib/javax/swing/DefaultCellEditor$JComboBoxDelegate.class differ diff --git a/libjava/classpath/lib/javax/swing/DefaultCellEditor$JTextFieldDelegate.class b/libjava/classpath/lib/javax/swing/DefaultCellEditor$JTextFieldDelegate.class index 55ba840..9a887bf 100644 Binary files a/libjava/classpath/lib/javax/swing/DefaultCellEditor$JTextFieldDelegate.class and b/libjava/classpath/lib/javax/swing/DefaultCellEditor$JTextFieldDelegate.class differ diff --git a/libjava/classpath/lib/javax/swing/DefaultCellEditor.class b/libjava/classpath/lib/javax/swing/DefaultCellEditor.class index 3c842bc..325b2d5 100644 Binary files a/libjava/classpath/lib/javax/swing/DefaultCellEditor.class and b/libjava/classpath/lib/javax/swing/DefaultCellEditor.class differ diff --git a/libjava/classpath/lib/javax/swing/DefaultDesktopManager.class b/libjava/classpath/lib/javax/swing/DefaultDesktopManager.class index c5202be..b2db68e 100644 Binary files a/libjava/classpath/lib/javax/swing/DefaultDesktopManager.class and b/libjava/classpath/lib/javax/swing/DefaultDesktopManager.class differ diff --git a/libjava/classpath/lib/javax/swing/ImageIcon$1.class b/libjava/classpath/lib/javax/swing/ImageIcon$1.class index 96518d9..e5864d5 100644 Binary files a/libjava/classpath/lib/javax/swing/ImageIcon$1.class and b/libjava/classpath/lib/javax/swing/ImageIcon$1.class differ diff --git a/libjava/classpath/lib/javax/swing/ImageIcon.class b/libjava/classpath/lib/javax/swing/ImageIcon.class index 337e404..34c2f93 100644 Binary files a/libjava/classpath/lib/javax/swing/ImageIcon.class and b/libjava/classpath/lib/javax/swing/ImageIcon.class differ diff --git a/libjava/classpath/lib/javax/swing/JApplet$AccessibleJApplet.class b/libjava/classpath/lib/javax/swing/JApplet$AccessibleJApplet.class index cce1a78..18da4c9 100644 Binary files a/libjava/classpath/lib/javax/swing/JApplet$AccessibleJApplet.class and b/libjava/classpath/lib/javax/swing/JApplet$AccessibleJApplet.class differ diff --git a/libjava/classpath/lib/javax/swing/JButton$AccessibleJButton.class b/libjava/classpath/lib/javax/swing/JButton$AccessibleJButton.class index 1a4d39e..a4fe87b 100644 Binary files a/libjava/classpath/lib/javax/swing/JButton$AccessibleJButton.class and b/libjava/classpath/lib/javax/swing/JButton$AccessibleJButton.class differ diff --git a/libjava/classpath/lib/javax/swing/JCheckBox$AccessibleJCheckBox.class b/libjava/classpath/lib/javax/swing/JCheckBox$AccessibleJCheckBox.class index 12a30d9..c20ffbd 100644 Binary files a/libjava/classpath/lib/javax/swing/JCheckBox$AccessibleJCheckBox.class and b/libjava/classpath/lib/javax/swing/JCheckBox$AccessibleJCheckBox.class differ diff --git a/libjava/classpath/lib/javax/swing/JCheckBoxMenuItem$AccessibleJCheckBoxMenuItem.class b/libjava/classpath/lib/javax/swing/JCheckBoxMenuItem$AccessibleJCheckBoxMenuItem.class index cff8ca2..e9598b3 100644 Binary files a/libjava/classpath/lib/javax/swing/JCheckBoxMenuItem$AccessibleJCheckBoxMenuItem.class and b/libjava/classpath/lib/javax/swing/JCheckBoxMenuItem$AccessibleJCheckBoxMenuItem.class differ diff --git a/libjava/classpath/lib/javax/swing/JCheckBoxMenuItem.class b/libjava/classpath/lib/javax/swing/JCheckBoxMenuItem.class index 61aa5da..ef36b1b 100644 Binary files a/libjava/classpath/lib/javax/swing/JCheckBoxMenuItem.class and b/libjava/classpath/lib/javax/swing/JCheckBoxMenuItem.class differ diff --git a/libjava/classpath/lib/javax/swing/JColorChooser$AccessibleJColorChooser.class b/libjava/classpath/lib/javax/swing/JColorChooser$AccessibleJColorChooser.class index f99ba98..5457da3 100644 Binary files a/libjava/classpath/lib/javax/swing/JColorChooser$AccessibleJColorChooser.class and b/libjava/classpath/lib/javax/swing/JColorChooser$AccessibleJColorChooser.class differ diff --git a/libjava/classpath/lib/javax/swing/JComboBox$1.class b/libjava/classpath/lib/javax/swing/JComboBox$1.class index bf89068..0988e4d 100644 Binary files a/libjava/classpath/lib/javax/swing/JComboBox$1.class and b/libjava/classpath/lib/javax/swing/JComboBox$1.class differ diff --git a/libjava/classpath/lib/javax/swing/JComboBox$AccessibleJComboBox.class b/libjava/classpath/lib/javax/swing/JComboBox$AccessibleJComboBox.class index a5dadd9..456a832 100644 Binary files a/libjava/classpath/lib/javax/swing/JComboBox$AccessibleJComboBox.class and b/libjava/classpath/lib/javax/swing/JComboBox$AccessibleJComboBox.class differ diff --git a/libjava/classpath/lib/javax/swing/JComboBox$DefaultKeySelectionManager.class b/libjava/classpath/lib/javax/swing/JComboBox$DefaultKeySelectionManager.class index 6e3691d..3d9fdca 100644 Binary files a/libjava/classpath/lib/javax/swing/JComboBox$DefaultKeySelectionManager.class and b/libjava/classpath/lib/javax/swing/JComboBox$DefaultKeySelectionManager.class differ diff --git a/libjava/classpath/lib/javax/swing/JComboBox.class b/libjava/classpath/lib/javax/swing/JComboBox.class index 503032e..6b4ed6c 100644 Binary files a/libjava/classpath/lib/javax/swing/JComboBox.class and b/libjava/classpath/lib/javax/swing/JComboBox.class differ diff --git a/libjava/classpath/lib/javax/swing/JComponent$1.class b/libjava/classpath/lib/javax/swing/JComponent$1.class index 93aa102..b07824f 100644 Binary files a/libjava/classpath/lib/javax/swing/JComponent$1.class and b/libjava/classpath/lib/javax/swing/JComponent$1.class differ diff --git a/libjava/classpath/lib/javax/swing/JComponent$AccessibleJComponent.class b/libjava/classpath/lib/javax/swing/JComponent$AccessibleJComponent.class index 3369abd..43abf64 100644 Binary files a/libjava/classpath/lib/javax/swing/JComponent$AccessibleJComponent.class and b/libjava/classpath/lib/javax/swing/JComponent$AccessibleJComponent.class differ diff --git a/libjava/classpath/lib/javax/swing/JComponent$ActionListenerProxy.class b/libjava/classpath/lib/javax/swing/JComponent$ActionListenerProxy.class index de03869..c9939ea 100644 Binary files a/libjava/classpath/lib/javax/swing/JComponent$ActionListenerProxy.class and b/libjava/classpath/lib/javax/swing/JComponent$ActionListenerProxy.class differ diff --git a/libjava/classpath/lib/javax/swing/JComponent.class b/libjava/classpath/lib/javax/swing/JComponent.class index 38faa58..5e3051a 100644 Binary files a/libjava/classpath/lib/javax/swing/JComponent.class and b/libjava/classpath/lib/javax/swing/JComponent.class differ diff --git a/libjava/classpath/lib/javax/swing/JDesktopPane$AccessibleJDesktopPane.class b/libjava/classpath/lib/javax/swing/JDesktopPane$AccessibleJDesktopPane.class index 1e391c9..db9bf95 100644 Binary files a/libjava/classpath/lib/javax/swing/JDesktopPane$AccessibleJDesktopPane.class and b/libjava/classpath/lib/javax/swing/JDesktopPane$AccessibleJDesktopPane.class differ diff --git a/libjava/classpath/lib/javax/swing/JDialog$AccessibleJDialog.class b/libjava/classpath/lib/javax/swing/JDialog$AccessibleJDialog.class index ff7f96f..87350d8 100644 Binary files a/libjava/classpath/lib/javax/swing/JDialog$AccessibleJDialog.class and b/libjava/classpath/lib/javax/swing/JDialog$AccessibleJDialog.class differ diff --git a/libjava/classpath/lib/javax/swing/JEditorPane$1.class b/libjava/classpath/lib/javax/swing/JEditorPane$1.class index f4e5ada..fca4ffa 100644 Binary files a/libjava/classpath/lib/javax/swing/JEditorPane$1.class and b/libjava/classpath/lib/javax/swing/JEditorPane$1.class differ diff --git a/libjava/classpath/lib/javax/swing/JEditorPane$2.class b/libjava/classpath/lib/javax/swing/JEditorPane$2.class index 6e31c32..4d4624f 100644 Binary files a/libjava/classpath/lib/javax/swing/JEditorPane$2.class and b/libjava/classpath/lib/javax/swing/JEditorPane$2.class differ diff --git a/libjava/classpath/lib/javax/swing/JEditorPane$AccessibleJEditorPane.class b/libjava/classpath/lib/javax/swing/JEditorPane$AccessibleJEditorPane.class index 9136bf0..67df47f 100644 Binary files a/libjava/classpath/lib/javax/swing/JEditorPane$AccessibleJEditorPane.class and b/libjava/classpath/lib/javax/swing/JEditorPane$AccessibleJEditorPane.class differ diff --git a/libjava/classpath/lib/javax/swing/JEditorPane$AccessibleJEditorPaneHTML.class b/libjava/classpath/lib/javax/swing/JEditorPane$AccessibleJEditorPaneHTML.class index bad4a42..3973d60 100644 Binary files a/libjava/classpath/lib/javax/swing/JEditorPane$AccessibleJEditorPaneHTML.class and b/libjava/classpath/lib/javax/swing/JEditorPane$AccessibleJEditorPaneHTML.class differ diff --git a/libjava/classpath/lib/javax/swing/JEditorPane$JEditorPaneAccessibleHypertextSupport$HTMLLink.class b/libjava/classpath/lib/javax/swing/JEditorPane$JEditorPaneAccessibleHypertextSupport$HTMLLink.class index 92dbe6c6..73aa530 100644 Binary files a/libjava/classpath/lib/javax/swing/JEditorPane$JEditorPaneAccessibleHypertextSupport$HTMLLink.class and b/libjava/classpath/lib/javax/swing/JEditorPane$JEditorPaneAccessibleHypertextSupport$HTMLLink.class differ diff --git a/libjava/classpath/lib/javax/swing/JEditorPane$JEditorPaneAccessibleHypertextSupport.class b/libjava/classpath/lib/javax/swing/JEditorPane$JEditorPaneAccessibleHypertextSupport.class index d1fdba2..f763a1e 100644 Binary files a/libjava/classpath/lib/javax/swing/JEditorPane$JEditorPaneAccessibleHypertextSupport.class and b/libjava/classpath/lib/javax/swing/JEditorPane$JEditorPaneAccessibleHypertextSupport.class differ diff --git a/libjava/classpath/lib/javax/swing/JEditorPane$PageLoader.class b/libjava/classpath/lib/javax/swing/JEditorPane$PageLoader.class index 46e86e0..510fd58 100644 Binary files a/libjava/classpath/lib/javax/swing/JEditorPane$PageLoader.class and b/libjava/classpath/lib/javax/swing/JEditorPane$PageLoader.class differ diff --git a/libjava/classpath/lib/javax/swing/JEditorPane$PlainEditorKit.class b/libjava/classpath/lib/javax/swing/JEditorPane$PlainEditorKit.class index 52a08bd..97a98bd 100644 Binary files a/libjava/classpath/lib/javax/swing/JEditorPane$PlainEditorKit.class and b/libjava/classpath/lib/javax/swing/JEditorPane$PlainEditorKit.class differ diff --git a/libjava/classpath/lib/javax/swing/JEditorPane.class b/libjava/classpath/lib/javax/swing/JEditorPane.class index 3bb05c8..473d732 100644 Binary files a/libjava/classpath/lib/javax/swing/JEditorPane.class and b/libjava/classpath/lib/javax/swing/JEditorPane.class differ diff --git a/libjava/classpath/lib/javax/swing/JFileChooser$1.class b/libjava/classpath/lib/javax/swing/JFileChooser$1.class index c603523..079bcd0 100644 Binary files a/libjava/classpath/lib/javax/swing/JFileChooser$1.class and b/libjava/classpath/lib/javax/swing/JFileChooser$1.class differ diff --git a/libjava/classpath/lib/javax/swing/JFileChooser$AccessibleJFileChooser.class b/libjava/classpath/lib/javax/swing/JFileChooser$AccessibleJFileChooser.class index 8c821aa..06cee8e 100644 Binary files a/libjava/classpath/lib/javax/swing/JFileChooser$AccessibleJFileChooser.class and b/libjava/classpath/lib/javax/swing/JFileChooser$AccessibleJFileChooser.class differ diff --git a/libjava/classpath/lib/javax/swing/JFileChooser.class b/libjava/classpath/lib/javax/swing/JFileChooser.class index 4725b19..7ffc00e 100644 Binary files a/libjava/classpath/lib/javax/swing/JFileChooser.class and b/libjava/classpath/lib/javax/swing/JFileChooser.class differ diff --git a/libjava/classpath/lib/javax/swing/JFormattedTextField$AbstractFormatterFactory.class b/libjava/classpath/lib/javax/swing/JFormattedTextField$AbstractFormatterFactory.class index 8dc1d25..cdbfff3 100644 Binary files a/libjava/classpath/lib/javax/swing/JFormattedTextField$AbstractFormatterFactory.class and b/libjava/classpath/lib/javax/swing/JFormattedTextField$AbstractFormatterFactory.class differ diff --git a/libjava/classpath/lib/javax/swing/JFrame$AccessibleJFrame.class b/libjava/classpath/lib/javax/swing/JFrame$AccessibleJFrame.class index cc23e67..6a5f1c8 100644 Binary files a/libjava/classpath/lib/javax/swing/JFrame$AccessibleJFrame.class and b/libjava/classpath/lib/javax/swing/JFrame$AccessibleJFrame.class differ diff --git a/libjava/classpath/lib/javax/swing/JInternalFrame$AccessibleJInternalFrame.class b/libjava/classpath/lib/javax/swing/JInternalFrame$AccessibleJInternalFrame.class index ca22355..b2f24a2 100644 Binary files a/libjava/classpath/lib/javax/swing/JInternalFrame$AccessibleJInternalFrame.class and b/libjava/classpath/lib/javax/swing/JInternalFrame$AccessibleJInternalFrame.class differ diff --git a/libjava/classpath/lib/javax/swing/JInternalFrame$JDesktopIcon$AccessibleJDesktopIcon.class b/libjava/classpath/lib/javax/swing/JInternalFrame$JDesktopIcon$AccessibleJDesktopIcon.class index b449e93..3faa435 100644 Binary files a/libjava/classpath/lib/javax/swing/JInternalFrame$JDesktopIcon$AccessibleJDesktopIcon.class and b/libjava/classpath/lib/javax/swing/JInternalFrame$JDesktopIcon$AccessibleJDesktopIcon.class differ diff --git a/libjava/classpath/lib/javax/swing/JLabel$AccessibleJLabel.class b/libjava/classpath/lib/javax/swing/JLabel$AccessibleJLabel.class index 8946b03..5273083 100644 Binary files a/libjava/classpath/lib/javax/swing/JLabel$AccessibleJLabel.class and b/libjava/classpath/lib/javax/swing/JLabel$AccessibleJLabel.class differ diff --git a/libjava/classpath/lib/javax/swing/JLayeredPane$AccessibleJLayeredPane.class b/libjava/classpath/lib/javax/swing/JLayeredPane$AccessibleJLayeredPane.class index 1e46eb0..dc17b1a 100644 Binary files a/libjava/classpath/lib/javax/swing/JLayeredPane$AccessibleJLayeredPane.class and b/libjava/classpath/lib/javax/swing/JLayeredPane$AccessibleJLayeredPane.class differ diff --git a/libjava/classpath/lib/javax/swing/JList$1.class b/libjava/classpath/lib/javax/swing/JList$1.class index 42fb0c5..ddfc6e0 100644 Binary files a/libjava/classpath/lib/javax/swing/JList$1.class and b/libjava/classpath/lib/javax/swing/JList$1.class differ diff --git a/libjava/classpath/lib/javax/swing/JList$2.class b/libjava/classpath/lib/javax/swing/JList$2.class index ab9936f..8d05ac0 100644 Binary files a/libjava/classpath/lib/javax/swing/JList$2.class and b/libjava/classpath/lib/javax/swing/JList$2.class differ diff --git a/libjava/classpath/lib/javax/swing/JList$3.class b/libjava/classpath/lib/javax/swing/JList$3.class index 26127d1..83935ae 100644 Binary files a/libjava/classpath/lib/javax/swing/JList$3.class and b/libjava/classpath/lib/javax/swing/JList$3.class differ diff --git a/libjava/classpath/lib/javax/swing/JList$AccessibleJList.class b/libjava/classpath/lib/javax/swing/JList$AccessibleJList.class index c59bd51..1d08b8e 100644 Binary files a/libjava/classpath/lib/javax/swing/JList$AccessibleJList.class and b/libjava/classpath/lib/javax/swing/JList$AccessibleJList.class differ diff --git a/libjava/classpath/lib/javax/swing/JList.class b/libjava/classpath/lib/javax/swing/JList.class index c2bfb22..c573c27 100644 Binary files a/libjava/classpath/lib/javax/swing/JList.class and b/libjava/classpath/lib/javax/swing/JList.class differ diff --git a/libjava/classpath/lib/javax/swing/JMenu$AccessibleJMenu.class b/libjava/classpath/lib/javax/swing/JMenu$AccessibleJMenu.class index ed7ce85..6692531 100644 Binary files a/libjava/classpath/lib/javax/swing/JMenu$AccessibleJMenu.class and b/libjava/classpath/lib/javax/swing/JMenu$AccessibleJMenu.class differ diff --git a/libjava/classpath/lib/javax/swing/JMenu.class b/libjava/classpath/lib/javax/swing/JMenu.class index a9048b4..81c2b4d 100644 Binary files a/libjava/classpath/lib/javax/swing/JMenu.class and b/libjava/classpath/lib/javax/swing/JMenu.class differ diff --git a/libjava/classpath/lib/javax/swing/JMenuBar$AccessibleJMenuBar.class b/libjava/classpath/lib/javax/swing/JMenuBar$AccessibleJMenuBar.class index e18ea98..1cd34fe 100644 Binary files a/libjava/classpath/lib/javax/swing/JMenuBar$AccessibleJMenuBar.class and b/libjava/classpath/lib/javax/swing/JMenuBar$AccessibleJMenuBar.class differ diff --git a/libjava/classpath/lib/javax/swing/JMenuItem$1.class b/libjava/classpath/lib/javax/swing/JMenuItem$1.class index bdbf019..a8ee6a5 100644 Binary files a/libjava/classpath/lib/javax/swing/JMenuItem$1.class and b/libjava/classpath/lib/javax/swing/JMenuItem$1.class differ diff --git a/libjava/classpath/lib/javax/swing/JMenuItem$AccessibleJMenuItem.class b/libjava/classpath/lib/javax/swing/JMenuItem$AccessibleJMenuItem.class index 53d942c..34664e5 100644 Binary files a/libjava/classpath/lib/javax/swing/JMenuItem$AccessibleJMenuItem.class and b/libjava/classpath/lib/javax/swing/JMenuItem$AccessibleJMenuItem.class differ diff --git a/libjava/classpath/lib/javax/swing/JMenuItem.class b/libjava/classpath/lib/javax/swing/JMenuItem.class index 40ea604..3d0438b 100644 Binary files a/libjava/classpath/lib/javax/swing/JMenuItem.class and b/libjava/classpath/lib/javax/swing/JMenuItem.class differ diff --git a/libjava/classpath/lib/javax/swing/JOptionPane$1.class b/libjava/classpath/lib/javax/swing/JOptionPane$1.class index ab08113..413026f 100644 Binary files a/libjava/classpath/lib/javax/swing/JOptionPane$1.class and b/libjava/classpath/lib/javax/swing/JOptionPane$1.class differ diff --git a/libjava/classpath/lib/javax/swing/JOptionPane$2.class b/libjava/classpath/lib/javax/swing/JOptionPane$2.class index 0e91f40..9abdacd 100644 Binary files a/libjava/classpath/lib/javax/swing/JOptionPane$2.class and b/libjava/classpath/lib/javax/swing/JOptionPane$2.class differ diff --git a/libjava/classpath/lib/javax/swing/JOptionPane$AccessibleJOptionPane.class b/libjava/classpath/lib/javax/swing/JOptionPane$AccessibleJOptionPane.class index 8624606..1df0d0b 100644 Binary files a/libjava/classpath/lib/javax/swing/JOptionPane$AccessibleJOptionPane.class and b/libjava/classpath/lib/javax/swing/JOptionPane$AccessibleJOptionPane.class differ diff --git a/libjava/classpath/lib/javax/swing/JOptionPane.class b/libjava/classpath/lib/javax/swing/JOptionPane.class index 1361ece..0376b81 100644 Binary files a/libjava/classpath/lib/javax/swing/JOptionPane.class and b/libjava/classpath/lib/javax/swing/JOptionPane.class differ diff --git a/libjava/classpath/lib/javax/swing/JPanel$AccessibleJPanel.class b/libjava/classpath/lib/javax/swing/JPanel$AccessibleJPanel.class index bf15065..fb9fc4d 100644 Binary files a/libjava/classpath/lib/javax/swing/JPanel$AccessibleJPanel.class and b/libjava/classpath/lib/javax/swing/JPanel$AccessibleJPanel.class differ diff --git a/libjava/classpath/lib/javax/swing/JPasswordField$AccessibleJPasswordField.class b/libjava/classpath/lib/javax/swing/JPasswordField$AccessibleJPasswordField.class index ed73312..8ab639c 100644 Binary files a/libjava/classpath/lib/javax/swing/JPasswordField$AccessibleJPasswordField.class and b/libjava/classpath/lib/javax/swing/JPasswordField$AccessibleJPasswordField.class differ diff --git a/libjava/classpath/lib/javax/swing/JPopupMenu$1.class b/libjava/classpath/lib/javax/swing/JPopupMenu$1.class index f1856f1..bdcf1ed 100644 Binary files a/libjava/classpath/lib/javax/swing/JPopupMenu$1.class and b/libjava/classpath/lib/javax/swing/JPopupMenu$1.class differ diff --git a/libjava/classpath/lib/javax/swing/JPopupMenu$2.class b/libjava/classpath/lib/javax/swing/JPopupMenu$2.class index 4aae7a1..7bf24f6 100644 Binary files a/libjava/classpath/lib/javax/swing/JPopupMenu$2.class and b/libjava/classpath/lib/javax/swing/JPopupMenu$2.class differ diff --git a/libjava/classpath/lib/javax/swing/JPopupMenu$AccessibleJPopupMenu.class b/libjava/classpath/lib/javax/swing/JPopupMenu$AccessibleJPopupMenu.class index c54d3c7..2faa79d 100644 Binary files a/libjava/classpath/lib/javax/swing/JPopupMenu$AccessibleJPopupMenu.class and b/libjava/classpath/lib/javax/swing/JPopupMenu$AccessibleJPopupMenu.class differ diff --git a/libjava/classpath/lib/javax/swing/JPopupMenu.class b/libjava/classpath/lib/javax/swing/JPopupMenu.class index 37103a5..5f6d0f5 100644 Binary files a/libjava/classpath/lib/javax/swing/JPopupMenu.class and b/libjava/classpath/lib/javax/swing/JPopupMenu.class differ diff --git a/libjava/classpath/lib/javax/swing/JProgressBar$1.class b/libjava/classpath/lib/javax/swing/JProgressBar$1.class index cb2dd14..724d927 100644 Binary files a/libjava/classpath/lib/javax/swing/JProgressBar$1.class and b/libjava/classpath/lib/javax/swing/JProgressBar$1.class differ diff --git a/libjava/classpath/lib/javax/swing/JProgressBar$AccessibleJProgressBar.class b/libjava/classpath/lib/javax/swing/JProgressBar$AccessibleJProgressBar.class index f6b14bd..7c891a5 100644 Binary files a/libjava/classpath/lib/javax/swing/JProgressBar$AccessibleJProgressBar.class and b/libjava/classpath/lib/javax/swing/JProgressBar$AccessibleJProgressBar.class differ diff --git a/libjava/classpath/lib/javax/swing/JProgressBar.class b/libjava/classpath/lib/javax/swing/JProgressBar.class index 2ccf5e6..c626ad4 100644 Binary files a/libjava/classpath/lib/javax/swing/JProgressBar.class and b/libjava/classpath/lib/javax/swing/JProgressBar.class differ diff --git a/libjava/classpath/lib/javax/swing/JRadioButton$AccessibleJRadioButton.class b/libjava/classpath/lib/javax/swing/JRadioButton$AccessibleJRadioButton.class index 00524ec..03cc838 100644 Binary files a/libjava/classpath/lib/javax/swing/JRadioButton$AccessibleJRadioButton.class and b/libjava/classpath/lib/javax/swing/JRadioButton$AccessibleJRadioButton.class differ diff --git a/libjava/classpath/lib/javax/swing/JRadioButtonMenuItem$AccessibleJRadioButtonMenuItem.class b/libjava/classpath/lib/javax/swing/JRadioButtonMenuItem$AccessibleJRadioButtonMenuItem.class index ff2f31e..c988539 100644 Binary files a/libjava/classpath/lib/javax/swing/JRadioButtonMenuItem$AccessibleJRadioButtonMenuItem.class and b/libjava/classpath/lib/javax/swing/JRadioButtonMenuItem$AccessibleJRadioButtonMenuItem.class differ diff --git a/libjava/classpath/lib/javax/swing/JRadioButtonMenuItem.class b/libjava/classpath/lib/javax/swing/JRadioButtonMenuItem.class index db31f62..a1a162a 100644 Binary files a/libjava/classpath/lib/javax/swing/JRadioButtonMenuItem.class and b/libjava/classpath/lib/javax/swing/JRadioButtonMenuItem.class differ diff --git a/libjava/classpath/lib/javax/swing/JRootPane$AccessibleJRootPane.class b/libjava/classpath/lib/javax/swing/JRootPane$AccessibleJRootPane.class index d6aec0e..4da6302 100644 Binary files a/libjava/classpath/lib/javax/swing/JRootPane$AccessibleJRootPane.class and b/libjava/classpath/lib/javax/swing/JRootPane$AccessibleJRootPane.class differ diff --git a/libjava/classpath/lib/javax/swing/JScrollBar$AccessibleJScrollBar.class b/libjava/classpath/lib/javax/swing/JScrollBar$AccessibleJScrollBar.class index c5d0e55..bb29b1c 100644 Binary files a/libjava/classpath/lib/javax/swing/JScrollBar$AccessibleJScrollBar.class and b/libjava/classpath/lib/javax/swing/JScrollBar$AccessibleJScrollBar.class differ diff --git a/libjava/classpath/lib/javax/swing/JScrollBar.class b/libjava/classpath/lib/javax/swing/JScrollBar.class index 050a5d2..6b208ed 100644 Binary files a/libjava/classpath/lib/javax/swing/JScrollBar.class and b/libjava/classpath/lib/javax/swing/JScrollBar.class differ diff --git a/libjava/classpath/lib/javax/swing/JScrollPane$AccessibleJScrollPane.class b/libjava/classpath/lib/javax/swing/JScrollPane$AccessibleJScrollPane.class index 98f6a30..2e8fc89 100644 Binary files a/libjava/classpath/lib/javax/swing/JScrollPane$AccessibleJScrollPane.class and b/libjava/classpath/lib/javax/swing/JScrollPane$AccessibleJScrollPane.class differ diff --git a/libjava/classpath/lib/javax/swing/JSeparator$AccessibleJSeparator.class b/libjava/classpath/lib/javax/swing/JSeparator$AccessibleJSeparator.class index a1cf17f..7ab3ef0 100644 Binary files a/libjava/classpath/lib/javax/swing/JSeparator$AccessibleJSeparator.class and b/libjava/classpath/lib/javax/swing/JSeparator$AccessibleJSeparator.class differ diff --git a/libjava/classpath/lib/javax/swing/JSlider$1.class b/libjava/classpath/lib/javax/swing/JSlider$1.class index 18fdf59..c819820 100644 Binary files a/libjava/classpath/lib/javax/swing/JSlider$1.class and b/libjava/classpath/lib/javax/swing/JSlider$1.class differ diff --git a/libjava/classpath/lib/javax/swing/JSlider$AccessibleJSlider.class b/libjava/classpath/lib/javax/swing/JSlider$AccessibleJSlider.class index fe64eba..76cb9d0 100644 Binary files a/libjava/classpath/lib/javax/swing/JSlider$AccessibleJSlider.class and b/libjava/classpath/lib/javax/swing/JSlider$AccessibleJSlider.class differ diff --git a/libjava/classpath/lib/javax/swing/JSlider.class b/libjava/classpath/lib/javax/swing/JSlider.class index 81904b2..bbb3334 100644 Binary files a/libjava/classpath/lib/javax/swing/JSlider.class and b/libjava/classpath/lib/javax/swing/JSlider.class differ diff --git a/libjava/classpath/lib/javax/swing/JSpinner$DateEditor.class b/libjava/classpath/lib/javax/swing/JSpinner$DateEditor.class index f0f5617..8019475 100644 Binary files a/libjava/classpath/lib/javax/swing/JSpinner$DateEditor.class and b/libjava/classpath/lib/javax/swing/JSpinner$DateEditor.class differ diff --git a/libjava/classpath/lib/javax/swing/JSpinner$ListEditor.class b/libjava/classpath/lib/javax/swing/JSpinner$ListEditor.class index 677b39c..f53fa59 100644 Binary files a/libjava/classpath/lib/javax/swing/JSpinner$ListEditor.class and b/libjava/classpath/lib/javax/swing/JSpinner$ListEditor.class differ diff --git a/libjava/classpath/lib/javax/swing/JSpinner$NumberEditor.class b/libjava/classpath/lib/javax/swing/JSpinner$NumberEditor.class index 4d9733f..607c9d4 100644 Binary files a/libjava/classpath/lib/javax/swing/JSpinner$NumberEditor.class and b/libjava/classpath/lib/javax/swing/JSpinner$NumberEditor.class differ diff --git a/libjava/classpath/lib/javax/swing/JSpinner.class b/libjava/classpath/lib/javax/swing/JSpinner.class index ac2ecb6..8ee59fe 100644 Binary files a/libjava/classpath/lib/javax/swing/JSpinner.class and b/libjava/classpath/lib/javax/swing/JSpinner.class differ diff --git a/libjava/classpath/lib/javax/swing/JSplitPane$AccessibleJSplitPane.class b/libjava/classpath/lib/javax/swing/JSplitPane$AccessibleJSplitPane.class index 3e37bf6..05f9b3e 100644 Binary files a/libjava/classpath/lib/javax/swing/JSplitPane$AccessibleJSplitPane.class and b/libjava/classpath/lib/javax/swing/JSplitPane$AccessibleJSplitPane.class differ diff --git a/libjava/classpath/lib/javax/swing/JTabbedPane$AccessibleJTabbedPane.class b/libjava/classpath/lib/javax/swing/JTabbedPane$AccessibleJTabbedPane.class index 4ea0de1..958e838 100644 Binary files a/libjava/classpath/lib/javax/swing/JTabbedPane$AccessibleJTabbedPane.class and b/libjava/classpath/lib/javax/swing/JTabbedPane$AccessibleJTabbedPane.class differ diff --git a/libjava/classpath/lib/javax/swing/JTable$AccessibleJTable$AccessibleTableHeader.class b/libjava/classpath/lib/javax/swing/JTable$AccessibleJTable$AccessibleTableHeader.class index 7448b71..c3b8d28 100644 Binary files a/libjava/classpath/lib/javax/swing/JTable$AccessibleJTable$AccessibleTableHeader.class and b/libjava/classpath/lib/javax/swing/JTable$AccessibleJTable$AccessibleTableHeader.class differ diff --git a/libjava/classpath/lib/javax/swing/JTable$AccessibleJTable.class b/libjava/classpath/lib/javax/swing/JTable$AccessibleJTable.class index 399752f..c01b610 100644 Binary files a/libjava/classpath/lib/javax/swing/JTable$AccessibleJTable.class and b/libjava/classpath/lib/javax/swing/JTable$AccessibleJTable.class differ diff --git a/libjava/classpath/lib/javax/swing/JTable.class b/libjava/classpath/lib/javax/swing/JTable.class index 315e368..f3c5c56 100644 Binary files a/libjava/classpath/lib/javax/swing/JTable.class and b/libjava/classpath/lib/javax/swing/JTable.class differ diff --git a/libjava/classpath/lib/javax/swing/JTextArea$AccessibleJTextArea.class b/libjava/classpath/lib/javax/swing/JTextArea$AccessibleJTextArea.class index eb2cea2..c974379 100644 Binary files a/libjava/classpath/lib/javax/swing/JTextArea$AccessibleJTextArea.class and b/libjava/classpath/lib/javax/swing/JTextArea$AccessibleJTextArea.class differ diff --git a/libjava/classpath/lib/javax/swing/JTextField$1.class b/libjava/classpath/lib/javax/swing/JTextField$1.class index e1779a1..c8ab470 100644 Binary files a/libjava/classpath/lib/javax/swing/JTextField$1.class and b/libjava/classpath/lib/javax/swing/JTextField$1.class differ diff --git a/libjava/classpath/lib/javax/swing/JTextField$2.class b/libjava/classpath/lib/javax/swing/JTextField$2.class index cc4895b..51791f1 100644 Binary files a/libjava/classpath/lib/javax/swing/JTextField$2.class and b/libjava/classpath/lib/javax/swing/JTextField$2.class differ diff --git a/libjava/classpath/lib/javax/swing/JTextField$AccessibleJTextField.class b/libjava/classpath/lib/javax/swing/JTextField$AccessibleJTextField.class index 82f6f68..aa34b8b 100644 Binary files a/libjava/classpath/lib/javax/swing/JTextField$AccessibleJTextField.class and b/libjava/classpath/lib/javax/swing/JTextField$AccessibleJTextField.class differ diff --git a/libjava/classpath/lib/javax/swing/JTextField.class b/libjava/classpath/lib/javax/swing/JTextField.class index 70f42e6..407ea3b 100644 Binary files a/libjava/classpath/lib/javax/swing/JTextField.class and b/libjava/classpath/lib/javax/swing/JTextField.class differ diff --git a/libjava/classpath/lib/javax/swing/JToggleButton$AccessibleJToggleButton.class b/libjava/classpath/lib/javax/swing/JToggleButton$AccessibleJToggleButton.class index 481d5bd..d12203d 100644 Binary files a/libjava/classpath/lib/javax/swing/JToggleButton$AccessibleJToggleButton.class and b/libjava/classpath/lib/javax/swing/JToggleButton$AccessibleJToggleButton.class differ diff --git a/libjava/classpath/lib/javax/swing/JToolBar$AccessibleJToolBar.class b/libjava/classpath/lib/javax/swing/JToolBar$AccessibleJToolBar.class index 774d464..2956636 100644 Binary files a/libjava/classpath/lib/javax/swing/JToolBar$AccessibleJToolBar.class and b/libjava/classpath/lib/javax/swing/JToolBar$AccessibleJToolBar.class differ diff --git a/libjava/classpath/lib/javax/swing/JToolTip$AccessibleJToolTip.class b/libjava/classpath/lib/javax/swing/JToolTip$AccessibleJToolTip.class index 95de6b2..246aa68 100644 Binary files a/libjava/classpath/lib/javax/swing/JToolTip$AccessibleJToolTip.class and b/libjava/classpath/lib/javax/swing/JToolTip$AccessibleJToolTip.class differ diff --git a/libjava/classpath/lib/javax/swing/JToolTip.class b/libjava/classpath/lib/javax/swing/JToolTip.class index 116ed28..8980fc1 100644 Binary files a/libjava/classpath/lib/javax/swing/JToolTip.class and b/libjava/classpath/lib/javax/swing/JToolTip.class differ diff --git a/libjava/classpath/lib/javax/swing/JTree$AccessibleJTree.class b/libjava/classpath/lib/javax/swing/JTree$AccessibleJTree.class index 3422e49..0417546 100644 Binary files a/libjava/classpath/lib/javax/swing/JTree$AccessibleJTree.class and b/libjava/classpath/lib/javax/swing/JTree$AccessibleJTree.class differ diff --git a/libjava/classpath/lib/javax/swing/JTree.class b/libjava/classpath/lib/javax/swing/JTree.class index 2570745..24ff34d 100644 Binary files a/libjava/classpath/lib/javax/swing/JTree.class and b/libjava/classpath/lib/javax/swing/JTree.class differ diff --git a/libjava/classpath/lib/javax/swing/JViewport$AccessibleJViewport.class b/libjava/classpath/lib/javax/swing/JViewport$AccessibleJViewport.class index 0a8b537..ac0b73c 100644 Binary files a/libjava/classpath/lib/javax/swing/JViewport$AccessibleJViewport.class and b/libjava/classpath/lib/javax/swing/JViewport$AccessibleJViewport.class differ diff --git a/libjava/classpath/lib/javax/swing/JViewport.class b/libjava/classpath/lib/javax/swing/JViewport.class index 9d7a62b..4fee86e 100644 Binary files a/libjava/classpath/lib/javax/swing/JViewport.class and b/libjava/classpath/lib/javax/swing/JViewport.class differ diff --git a/libjava/classpath/lib/javax/swing/JWindow$AccessibleJWindow.class b/libjava/classpath/lib/javax/swing/JWindow$AccessibleJWindow.class index 02c1613..863b20f 100644 Binary files a/libjava/classpath/lib/javax/swing/JWindow$AccessibleJWindow.class and b/libjava/classpath/lib/javax/swing/JWindow$AccessibleJWindow.class differ diff --git a/libjava/classpath/lib/javax/swing/KeyboardManager.class b/libjava/classpath/lib/javax/swing/KeyboardManager.class index c760502..7ab5261 100644 Binary files a/libjava/classpath/lib/javax/swing/KeyboardManager.class and b/libjava/classpath/lib/javax/swing/KeyboardManager.class differ diff --git a/libjava/classpath/lib/javax/swing/LookAndFeel$1.class b/libjava/classpath/lib/javax/swing/LookAndFeel$1.class index ea75ce9..563f17d 100644 Binary files a/libjava/classpath/lib/javax/swing/LookAndFeel$1.class and b/libjava/classpath/lib/javax/swing/LookAndFeel$1.class differ diff --git a/libjava/classpath/lib/javax/swing/LookAndFeel.class b/libjava/classpath/lib/javax/swing/LookAndFeel.class index a6324bd..f9ca7e1 100644 Binary files a/libjava/classpath/lib/javax/swing/LookAndFeel.class and b/libjava/classpath/lib/javax/swing/LookAndFeel.class differ diff --git a/libjava/classpath/lib/javax/swing/PopupFactory.class b/libjava/classpath/lib/javax/swing/PopupFactory.class index 9058ada..305b375 100644 Binary files a/libjava/classpath/lib/javax/swing/PopupFactory.class and b/libjava/classpath/lib/javax/swing/PopupFactory.class differ diff --git a/libjava/classpath/lib/javax/swing/ProgressMonitor$1.class b/libjava/classpath/lib/javax/swing/ProgressMonitor$1.class index 555ce79..9af08b7 100644 Binary files a/libjava/classpath/lib/javax/swing/ProgressMonitor$1.class and b/libjava/classpath/lib/javax/swing/ProgressMonitor$1.class differ diff --git a/libjava/classpath/lib/javax/swing/ProgressMonitor.class b/libjava/classpath/lib/javax/swing/ProgressMonitor.class index 391ae29..9d32642 100644 Binary files a/libjava/classpath/lib/javax/swing/ProgressMonitor.class and b/libjava/classpath/lib/javax/swing/ProgressMonitor.class differ diff --git a/libjava/classpath/lib/javax/swing/RepaintManager.class b/libjava/classpath/lib/javax/swing/RepaintManager.class index d9925f3..3e2ff61 100644 Binary files a/libjava/classpath/lib/javax/swing/RepaintManager.class and b/libjava/classpath/lib/javax/swing/RepaintManager.class differ diff --git a/libjava/classpath/lib/javax/swing/Spring$1.class b/libjava/classpath/lib/javax/swing/Spring$1.class index ad8aedc..27592e8 100644 Binary files a/libjava/classpath/lib/javax/swing/Spring$1.class and b/libjava/classpath/lib/javax/swing/Spring$1.class differ diff --git a/libjava/classpath/lib/javax/swing/Spring$2.class b/libjava/classpath/lib/javax/swing/Spring$2.class index f15a83d..9bc38de 100644 Binary files a/libjava/classpath/lib/javax/swing/Spring$2.class and b/libjava/classpath/lib/javax/swing/Spring$2.class differ diff --git a/libjava/classpath/lib/javax/swing/Spring$3.class b/libjava/classpath/lib/javax/swing/Spring$3.class index 4dd892a..1e0db65 100644 Binary files a/libjava/classpath/lib/javax/swing/Spring$3.class and b/libjava/classpath/lib/javax/swing/Spring$3.class differ diff --git a/libjava/classpath/lib/javax/swing/Spring.class b/libjava/classpath/lib/javax/swing/Spring.class index 14b09ee..4484bef 100644 Binary files a/libjava/classpath/lib/javax/swing/Spring.class and b/libjava/classpath/lib/javax/swing/Spring.class differ diff --git a/libjava/classpath/lib/javax/swing/SpringLayout$DeferredHeight.class b/libjava/classpath/lib/javax/swing/SpringLayout$DeferredHeight.class index 1a1ce92..7ba9ba7 100644 Binary files a/libjava/classpath/lib/javax/swing/SpringLayout$DeferredHeight.class and b/libjava/classpath/lib/javax/swing/SpringLayout$DeferredHeight.class differ diff --git a/libjava/classpath/lib/javax/swing/SpringLayout$DeferredSpring.class b/libjava/classpath/lib/javax/swing/SpringLayout$DeferredSpring.class index 8828685..ed40ec2 100644 Binary files a/libjava/classpath/lib/javax/swing/SpringLayout$DeferredSpring.class and b/libjava/classpath/lib/javax/swing/SpringLayout$DeferredSpring.class differ diff --git a/libjava/classpath/lib/javax/swing/SpringLayout$DeferredWidth.class b/libjava/classpath/lib/javax/swing/SpringLayout$DeferredWidth.class index 7aa03db..f188a07 100644 Binary files a/libjava/classpath/lib/javax/swing/SpringLayout$DeferredWidth.class and b/libjava/classpath/lib/javax/swing/SpringLayout$DeferredWidth.class differ diff --git a/libjava/classpath/lib/javax/swing/SpringLayout.class b/libjava/classpath/lib/javax/swing/SpringLayout.class index 0a6b988..91d35df 100644 Binary files a/libjava/classpath/lib/javax/swing/SpringLayout.class and b/libjava/classpath/lib/javax/swing/SpringLayout.class differ diff --git a/libjava/classpath/lib/javax/swing/SwingUtilities.class b/libjava/classpath/lib/javax/swing/SwingUtilities.class index 756f001..abfffe9 100644 Binary files a/libjava/classpath/lib/javax/swing/SwingUtilities.class and b/libjava/classpath/lib/javax/swing/SwingUtilities.class differ diff --git a/libjava/classpath/lib/javax/swing/Timer$1.class b/libjava/classpath/lib/javax/swing/Timer$1.class index e72b779..2969701 100644 Binary files a/libjava/classpath/lib/javax/swing/Timer$1.class and b/libjava/classpath/lib/javax/swing/Timer$1.class differ diff --git a/libjava/classpath/lib/javax/swing/Timer.class b/libjava/classpath/lib/javax/swing/Timer.class index 60201c6..300533b 100644 Binary files a/libjava/classpath/lib/javax/swing/Timer.class and b/libjava/classpath/lib/javax/swing/Timer.class differ diff --git a/libjava/classpath/lib/javax/swing/ToolTipManager.class b/libjava/classpath/lib/javax/swing/ToolTipManager.class index 1f1ee99..eeaaaa7 100644 Binary files a/libjava/classpath/lib/javax/swing/ToolTipManager.class and b/libjava/classpath/lib/javax/swing/ToolTipManager.class differ diff --git a/libjava/classpath/lib/javax/swing/TransferHandler$PropertyTransferable.class b/libjava/classpath/lib/javax/swing/TransferHandler$PropertyTransferable.class index 358f741..9dee2f3 100644 Binary files a/libjava/classpath/lib/javax/swing/TransferHandler$PropertyTransferable.class and b/libjava/classpath/lib/javax/swing/TransferHandler$PropertyTransferable.class differ diff --git a/libjava/classpath/lib/javax/swing/TransferHandler$SwingDragGestureRecognizer.class b/libjava/classpath/lib/javax/swing/TransferHandler$SwingDragGestureRecognizer.class new file mode 100644 index 0000000..7e8d35d Binary files /dev/null and b/libjava/classpath/lib/javax/swing/TransferHandler$SwingDragGestureRecognizer.class differ diff --git a/libjava/classpath/lib/javax/swing/TransferHandler$SwingDragHandler.class b/libjava/classpath/lib/javax/swing/TransferHandler$SwingDragHandler.class new file mode 100644 index 0000000..5fbbbe9 Binary files /dev/null and b/libjava/classpath/lib/javax/swing/TransferHandler$SwingDragHandler.class differ diff --git a/libjava/classpath/lib/javax/swing/TransferHandler$TransferAction.class b/libjava/classpath/lib/javax/swing/TransferHandler$TransferAction.class index 74cf8d1..7688a9e 100644 Binary files a/libjava/classpath/lib/javax/swing/TransferHandler$TransferAction.class and b/libjava/classpath/lib/javax/swing/TransferHandler$TransferAction.class differ diff --git a/libjava/classpath/lib/javax/swing/TransferHandler.class b/libjava/classpath/lib/javax/swing/TransferHandler.class index edfe4de..aaa930b 100644 Binary files a/libjava/classpath/lib/javax/swing/TransferHandler.class and b/libjava/classpath/lib/javax/swing/TransferHandler.class differ diff --git a/libjava/classpath/lib/javax/swing/UIDefaults$1.class b/libjava/classpath/lib/javax/swing/UIDefaults$1.class index 32dea19..eb6a087 100644 Binary files a/libjava/classpath/lib/javax/swing/UIDefaults$1.class and b/libjava/classpath/lib/javax/swing/UIDefaults$1.class differ diff --git a/libjava/classpath/lib/javax/swing/UIDefaults$2.class b/libjava/classpath/lib/javax/swing/UIDefaults$2.class index 9b29d3d..e74dc47 100644 Binary files a/libjava/classpath/lib/javax/swing/UIDefaults$2.class and b/libjava/classpath/lib/javax/swing/UIDefaults$2.class differ diff --git a/libjava/classpath/lib/javax/swing/UIDefaults$3.class b/libjava/classpath/lib/javax/swing/UIDefaults$3.class index 1179015..fc82433 100644 Binary files a/libjava/classpath/lib/javax/swing/UIDefaults$3.class and b/libjava/classpath/lib/javax/swing/UIDefaults$3.class differ diff --git a/libjava/classpath/lib/javax/swing/UIDefaults$4.class b/libjava/classpath/lib/javax/swing/UIDefaults$4.class index 6d6462f..dac96b6 100644 Binary files a/libjava/classpath/lib/javax/swing/UIDefaults$4.class and b/libjava/classpath/lib/javax/swing/UIDefaults$4.class differ diff --git a/libjava/classpath/lib/javax/swing/UIDefaults$LazyInputMap.class b/libjava/classpath/lib/javax/swing/UIDefaults$LazyInputMap.class index 53000f2..d89ac93 100644 Binary files a/libjava/classpath/lib/javax/swing/UIDefaults$LazyInputMap.class and b/libjava/classpath/lib/javax/swing/UIDefaults$LazyInputMap.class differ diff --git a/libjava/classpath/lib/javax/swing/UIDefaults$ProxyLazyValue.class b/libjava/classpath/lib/javax/swing/UIDefaults$ProxyLazyValue.class index 2a054b6..fd02403 100644 Binary files a/libjava/classpath/lib/javax/swing/UIDefaults$ProxyLazyValue.class and b/libjava/classpath/lib/javax/swing/UIDefaults$ProxyLazyValue.class differ diff --git a/libjava/classpath/lib/javax/swing/UIDefaults.class b/libjava/classpath/lib/javax/swing/UIDefaults.class index e98ebb0..895b9e1 100644 Binary files a/libjava/classpath/lib/javax/swing/UIDefaults.class and b/libjava/classpath/lib/javax/swing/UIDefaults.class differ diff --git a/libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel$1.class b/libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel$1.class index 573204b..45fa064 100644 Binary files a/libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel$1.class and b/libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel$1.class differ diff --git a/libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel$2.class b/libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel$2.class index 9c3a41f..83a0a4e 100644 Binary files a/libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel$2.class and b/libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel$2.class differ diff --git a/libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel.class b/libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel.class index 98f5b2a..8f11c7c 100644 Binary files a/libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel.class and b/libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel.class differ diff --git a/libjava/classpath/lib/javax/swing/colorchooser/DefaultSwatchChooserPanel$MainSwatchPanel.class b/libjava/classpath/lib/javax/swing/colorchooser/DefaultSwatchChooserPanel$MainSwatchPanel.class index 717173e..205ed23 100644 Binary files a/libjava/classpath/lib/javax/swing/colorchooser/DefaultSwatchChooserPanel$MainSwatchPanel.class and b/libjava/classpath/lib/javax/swing/colorchooser/DefaultSwatchChooserPanel$MainSwatchPanel.class differ diff --git a/libjava/classpath/lib/javax/swing/colorchooser/DefaultSwatchChooserPanel$MouseHandler.class b/libjava/classpath/lib/javax/swing/colorchooser/DefaultSwatchChooserPanel$MouseHandler.class index 4572018..0807642 100644 Binary files a/libjava/classpath/lib/javax/swing/colorchooser/DefaultSwatchChooserPanel$MouseHandler.class and b/libjava/classpath/lib/javax/swing/colorchooser/DefaultSwatchChooserPanel$MouseHandler.class differ diff --git a/libjava/classpath/lib/javax/swing/colorchooser/DefaultSwatchChooserPanel$RecentSwatchPanel.class b/libjava/classpath/lib/javax/swing/colorchooser/DefaultSwatchChooserPanel$RecentSwatchPanel.class index 313df8e..7a682ec 100644 Binary files a/libjava/classpath/lib/javax/swing/colorchooser/DefaultSwatchChooserPanel$RecentSwatchPanel.class and b/libjava/classpath/lib/javax/swing/colorchooser/DefaultSwatchChooserPanel$RecentSwatchPanel.class differ diff --git a/libjava/classpath/lib/javax/swing/colorchooser/DefaultSwatchChooserPanel.class b/libjava/classpath/lib/javax/swing/colorchooser/DefaultSwatchChooserPanel.class index 3b0537d..4b2d2c5 100644 Binary files a/libjava/classpath/lib/javax/swing/colorchooser/DefaultSwatchChooserPanel.class and b/libjava/classpath/lib/javax/swing/colorchooser/DefaultSwatchChooserPanel.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/TextUI.class b/libjava/classpath/lib/javax/swing/plaf/TextUI.class index 637fa12..cf072c1 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/TextUI.class and b/libjava/classpath/lib/javax/swing/plaf/TextUI.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders$RadioButtonBorder.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders$RadioButtonBorder.class index dc76747..fb81e8f 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders$RadioButtonBorder.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders$RadioButtonBorder.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders$RolloverButtonBorder.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders$RolloverButtonBorder.class index 27b85ba..9f79f67 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders$RolloverButtonBorder.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders$RolloverButtonBorder.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders$SplitPaneDividerBorder.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders$SplitPaneDividerBorder.class index 94ac0ef..91c9a1e 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders$SplitPaneDividerBorder.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders$SplitPaneDividerBorder.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders$ToggleButtonBorder.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders$ToggleButtonBorder.class index 8ae464a..94217df 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders$ToggleButtonBorder.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders$ToggleButtonBorder.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders.class index 1e76161..b7e027b 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicButtonListener$1.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicButtonListener$1.class index 012492b..063b042 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicButtonListener$1.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicButtonListener$1.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicButtonListener$2.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicButtonListener$2.class index 348f244..bb49579 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicButtonListener$2.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicButtonListener$2.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicButtonListener.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicButtonListener.class index a736218..3625d51 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicButtonListener.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicButtonListener.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicColorChooserUI$1.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicColorChooserUI$1.class index a7c88e5..b5b0b92 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicColorChooserUI$1.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicColorChooserUI$1.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicColorChooserUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicColorChooserUI.class index d1e89b6..091fe13 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicColorChooserUI.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicColorChooserUI.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxUI$ComboBoxLayoutManager.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxUI$ComboBoxLayoutManager.class index 5af949d..da51ea4 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxUI$ComboBoxLayoutManager.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxUI$ComboBoxLayoutManager.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxUI$FocusHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxUI$FocusHandler.class index 9d34b16..b10b1d1 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxUI$FocusHandler.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxUI$FocusHandler.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxUI$ItemHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxUI$ItemHandler.class index 5a2febd..8d7108f 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxUI$ItemHandler.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxUI$ItemHandler.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxUI$KeyHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxUI$KeyHandler.class index a72e567..77e0121 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxUI$KeyHandler.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxUI$KeyHandler.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxUI$ListDataHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxUI$ListDataHandler.class index 0938566..57f8cf1 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxUI$ListDataHandler.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxUI$ListDataHandler.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxUI$PropertyChangeHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxUI$PropertyChangeHandler.class index 645929d..2afd74c 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxUI$PropertyChangeHandler.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxUI$PropertyChangeHandler.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxUI.class index eac5c88..08755b6 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxUI.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxUI.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$InvocationKeyHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$InvocationKeyHandler.class index d1f23b8..61ab6da 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$InvocationKeyHandler.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$InvocationKeyHandler.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$InvocationMouseHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$InvocationMouseHandler.class index 4d063ab..2c37c24 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$InvocationMouseHandler.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$InvocationMouseHandler.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$InvocationMouseMotionHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$InvocationMouseMotionHandler.class index 25c3f53..4a34848 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$InvocationMouseMotionHandler.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$InvocationMouseMotionHandler.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$ItemHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$ItemHandler.class index e19deb9..381c592 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$ItemHandler.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$ItemHandler.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$ListDataHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$ListDataHandler.class index 0ac8de0..465fd45 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$ListDataHandler.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$ListDataHandler.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$ListMouseHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$ListMouseHandler.class index 2580330..3509055 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$ListMouseHandler.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$ListMouseHandler.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$ListMouseMotionHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$ListMouseMotionHandler.class index f84670f..939035c 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$ListMouseMotionHandler.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$ListMouseMotionHandler.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$ListSelectionHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$ListSelectionHandler.class index ef53713..6990383 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$ListSelectionHandler.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$ListSelectionHandler.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$PropertyChangeHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$PropertyChangeHandler.class index 77991f8..9337b0f 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$PropertyChangeHandler.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$PropertyChangeHandler.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup.class index eb13f2e..41708aa 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopIconUI$1.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopIconUI$1.class index 1009fe7..1c03fe3 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopIconUI$1.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopIconUI$1.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopIconUI$2.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopIconUI$2.class index 8c76fe2..9d85f15 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopIconUI$2.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopIconUI$2.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopIconUI$BoundButton.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopIconUI$BoundButton.class index 49922ae..a9b621e 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopIconUI$BoundButton.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopIconUI$BoundButton.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopIconUI$MouseInputHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopIconUI$MouseInputHandler.class index fec723e..9067382 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopIconUI$MouseInputHandler.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopIconUI$MouseInputHandler.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopIconUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopIconUI.class index 368c162..afbc6d0 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopIconUI.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopIconUI.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicDirectoryModel$1.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDirectoryModel$1.class index 55cc400..a4d80b5 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicDirectoryModel$1.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDirectoryModel$1.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicDirectoryModel.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDirectoryModel.class index 39ad875..df8c3d5 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicDirectoryModel.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDirectoryModel.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicFileChooserUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicFileChooserUI.class index 3b622d5..a1b88613 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicFileChooserUI.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicFileChooserUI.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicGraphicsUtils.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicGraphicsUtils.class index 5c66a8c..ae608e0 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicGraphicsUtils.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicGraphicsUtils.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicHTML$HTMLRootView.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicHTML$HTMLRootView.class index 2db9cf4..5fdade4 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicHTML$HTMLRootView.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicHTML$HTMLRootView.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicIconFactory$1.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicIconFactory$1.class index 289de2f..4b0ddb2 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicIconFactory$1.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicIconFactory$1.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicIconFactory$2.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicIconFactory$2.class index 2e6833a..4ae4f3b 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicIconFactory$2.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicIconFactory$2.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicIconFactory.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicIconFactory.class index 2c53736..4e55d62 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicIconFactory.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicIconFactory.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameTitlePane.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameTitlePane.class index 24863c25..1454538 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameTitlePane.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameTitlePane.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameUI.class index 50427df..06590cb 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameUI.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameUI.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicLabelUI$1.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLabelUI$1.class index 7d7f093..3f7f649 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicLabelUI$1.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLabelUI$1.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicLabelUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLabelUI.class index 442a8dc..877860b 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicLabelUI.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLabelUI.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicListUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicListUI.class index 3b01beb..204f930 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicListUI.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicListUI.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$1.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$1.class index 5d65f47..26b0c44 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$1.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$1.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$2.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$2.class index f1e8364..f6370833 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$2.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$2.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$3.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$3.class index c33c131..88c667c 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$3.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$3.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$4.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$4.class index 4b0ee92..b4c8d1d 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$4.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$4.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$5.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$5.class index 8fee22c..d4a43d6 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$5.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$5.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$6.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$6.class index bc464c0..92640b2 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$6.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$6.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$7.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$7.class index 118d59b..148f771 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$7.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$7.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel.class index 9a866a5..bfbd5e8 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuBarUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuBarUI.class index 631dbab..cd35ab0 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuBarUI.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuBarUI.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuItemUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuItemUI.class index 80809fd..8dfc3cb 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuItemUI.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuItemUI.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuUI.class index 4ebf02b..0a83acc 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuUI.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuUI.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$1.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$1.class index e2fdfbf..b0814ac 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$1.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$1.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$2.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$2.class index b829634..c4bdae0 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$2.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$2.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$3.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$3.class index 739bf32..74725bf 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$3.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$3.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$4.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$4.class index 004c250..a765670 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$4.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$4.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI.class index 3cccaa7..4efb908 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicPopupMenuSeparatorUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicPopupMenuSeparatorUI.class index db1675d..7864673 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicPopupMenuSeparatorUI.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicPopupMenuSeparatorUI.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicPopupMenuUI$PopupMenuHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicPopupMenuUI$PopupMenuHandler.class index a1f6381..afa5655 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicPopupMenuUI$PopupMenuHandler.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicPopupMenuUI$PopupMenuHandler.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicPopupMenuUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicPopupMenuUI.class index 9487aef..c3fb4e8 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicPopupMenuUI.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicPopupMenuUI.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicProgressBarUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicProgressBarUI.class index f428c5e..34b6cf6 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicProgressBarUI.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicProgressBarUI.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicRadioButtonUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicRadioButtonUI.class index eb5d3d1..0137554 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicRadioButtonUI.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicRadioButtonUI.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$1.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$1.class index 9a5b36b..2027c35 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$1.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$1.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$2.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$2.class index c2dbcbf..47a09a1 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$2.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$2.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$3.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$3.class index 90e07e7..eeec844 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$3.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$3.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$4.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$4.class index 8ce627d..36bf14d 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$4.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$4.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$5.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$5.class index a0646f3..efe501b 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$5.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$5.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$6.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$6.class index af7dd32..084aea8 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$6.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$6.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$ArrowButtonListener.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$ArrowButtonListener.class index 7081759..ee42340 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$ArrowButtonListener.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$ArrowButtonListener.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$PropertyChangeHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$PropertyChangeHandler.class index f1466a6..00e1ada 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$PropertyChangeHandler.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$PropertyChangeHandler.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$ScrollListener.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$ScrollListener.class index 6416310..68bc44b 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$ScrollListener.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$ScrollListener.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$TrackListener.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$TrackListener.class index 3b4d8ae..5277a18 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$TrackListener.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$TrackListener.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI.class index f0ec5c4..603c624 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$1.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$1.class index 9d2c615..55b2a7b 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$1.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$1.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$10.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$10.class index 58ad205..2c218d9 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$10.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$10.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$2.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$2.class index e7eb368..e59399e 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$2.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$2.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$3.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$3.class index 82159ae..218fa84 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$3.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$3.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$4.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$4.class index 74544cd..15fbed7 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$4.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$4.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$5.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$5.class index 5399920..1521583 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$5.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$5.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$6.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$6.class index 6bfadf2..a5cdfe9 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$6.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$6.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$7.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$7.class index 750471e..0104d25 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$7.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$7.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$8.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$8.class index 5bf0bed..745bf12 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$8.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$8.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$9.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$9.class index f5156ae..c01ac68 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$9.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$9.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI.class index 35c71e2..b3fbdec 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$1.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$1.class index 27bb9f6..42bfb29 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$1.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$1.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$2.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$2.class index b0941f4..f5d1de5 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$2.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$2.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$3.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$3.class index 0a9d63b..5685591 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$3.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$3.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$4.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$4.class index 1bcdb96..ee74a2a 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$4.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$4.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$5.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$5.class index 4de2aee..160578f 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$5.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$5.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$6.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$6.class index 4724dfc..d14475f 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$6.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$6.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$ScrollListener.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$ScrollListener.class index 4d868f9..1543d4d 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$ScrollListener.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$ScrollListener.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI.class index 93fef65..a536957 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$1.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$1.class index a81f390..1a47d99 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$1.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$1.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$2.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$2.class index 8dae834..9b88486 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$2.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$2.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$3.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$3.class index 2a822f9..57dcbcd 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$3.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$3.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$4.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$4.class index 8a681f1..882ea18 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$4.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$4.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$5.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$5.class index b79ee53..b19a055 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$5.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$5.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI.class index fa01bce..21edb72 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneDivider$MouseHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneDivider$MouseHandler.class index f3574e0..78abf2b 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneDivider$MouseHandler.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneDivider$MouseHandler.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneDivider$VerticalDragController.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneDivider$VerticalDragController.class index e60a5d9..2c6ef94 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneDivider$VerticalDragController.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneDivider$VerticalDragController.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneDivider.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneDivider.class index f4ae068..9288f19 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneDivider.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneDivider.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$1.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$1.class index 7cda0e0..eb3057b 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$1.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$1.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$2.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$2.class index 42a1f70..23f3a15 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$2.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$2.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$3.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$3.class index ab26c83..fe58e56 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$3.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$3.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$4.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$4.class index aa0fd72..261aeea 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$4.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$4.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$5.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$5.class index 6169811..5e6cf68 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$5.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$5.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$6.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$6.class index 3c771c1..6bdb357 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$6.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$6.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$7.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$7.class index df61f28..c9d7228 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$7.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$7.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$8.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$8.class index 8cb8c2a..148d8f2 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$8.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$8.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$BasicVerticalLayoutManager.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$BasicVerticalLayoutManager.class index 7bfafb4..3d547ff 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$BasicVerticalLayoutManager.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$BasicVerticalLayoutManager.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$PropertyHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$PropertyHandler.class index 7b2c429..d32008e 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$PropertyHandler.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$PropertyHandler.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI.class index 1b365ff..8d9d4d8 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$FocusHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$FocusHandler.class index fb13c4f..6324633 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$FocusHandler.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$FocusHandler.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$MouseHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$MouseHandler.class index 71d6174..3324f03 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$MouseHandler.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$MouseHandler.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$PropertyChangeHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$PropertyChangeHandler.class index 67a9404..37e3daf 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$PropertyChangeHandler.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$PropertyChangeHandler.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneScrollLayout.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneScrollLayout.class index 85a4b91..50712d7 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneScrollLayout.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneScrollLayout.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI.class index f4a5e76..d774f4b 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTableHeaderUI$1.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTableHeaderUI$1.class index db96992..0c153b3 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTableHeaderUI$1.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTableHeaderUI$1.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTableHeaderUI$MouseInputHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTableHeaderUI$MouseInputHandler.class index 3ec79a6..df927f6 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTableHeaderUI$MouseInputHandler.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTableHeaderUI$MouseInputHandler.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTableUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTableUI.class index b0822d6..8b82acf 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTableUI.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTableUI.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTextUI$Handler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTextUI$Handler.class index d574a96..7acc774 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTextUI$Handler.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTextUI$Handler.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTextUI$RootView.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTextUI$RootView.class index 3b2834c..554beb8 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTextUI$RootView.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTextUI$RootView.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTextUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTextUI.class index d2a6452..f1d90be 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTextUI.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTextUI.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicToolBarUI$DockingListener.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicToolBarUI$DockingListener.class index c0c73a6..092d717 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicToolBarUI$DockingListener.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicToolBarUI$DockingListener.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicToolBarUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicToolBarUI.class index 4eefae5..447a7d1 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicToolBarUI.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicToolBarUI.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$1.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$1.class index 0c9f340..d7cb6ce 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$1.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$1.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$CellEditorHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$CellEditorHandler.class index a396b4a..b98d9dc 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$CellEditorHandler.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$CellEditorHandler.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$ComponentHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$ComponentHandler.class index ea7b7f4..ea9d267 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$ComponentHandler.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$ComponentHandler.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$FocusHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$FocusHandler.class index 78ea5ad..988cfd3 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$FocusHandler.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$FocusHandler.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$KeyHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$KeyHandler.class index 8ff4e3b..ee2d885 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$KeyHandler.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$KeyHandler.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$MouseHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$MouseHandler.class index c3a396a..8fd02ee 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$MouseHandler.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$MouseHandler.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$MouseInputHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$MouseInputHandler.class index ee78f86..3958c1a 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$MouseInputHandler.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$MouseInputHandler.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$NodeDimensionsHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$NodeDimensionsHandler.class index 782d887..3357831 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$NodeDimensionsHandler.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$NodeDimensionsHandler.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$PropertyChangeHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$PropertyChangeHandler.class index 16cb402..b631da1 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$PropertyChangeHandler.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$PropertyChangeHandler.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$SelectionModelPropertyChangeHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$SelectionModelPropertyChangeHandler.class index 18e4350..e99e408 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$SelectionModelPropertyChangeHandler.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$SelectionModelPropertyChangeHandler.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeCancelEditingAction.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeCancelEditingAction.class index 92170ea..6f1e98c 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeCancelEditingAction.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeCancelEditingAction.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeExpansionHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeExpansionHandler.class index 7f06636..0ad38c4 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeExpansionHandler.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeExpansionHandler.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeHomeAction.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeHomeAction.class index dd367b5..d344803 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeHomeAction.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeHomeAction.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeIncrementAction.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeIncrementAction.class index a5af1b9..bc92c59 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeIncrementAction.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeIncrementAction.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeModelHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeModelHandler.class index 91c4283..94a4001 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeModelHandler.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeModelHandler.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreePageAction.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreePageAction.class index 5c71ab6..1dc563f 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreePageAction.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreePageAction.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeSelectionHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeSelectionHandler.class index f714a62..897ff79 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeSelectionHandler.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeSelectionHandler.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeStartEditingAction.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeStartEditingAction.class index 19b3d14..5584392 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeStartEditingAction.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeStartEditingAction.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeToggleAction.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeToggleAction.class index 19530ef..fbf43c4d 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeToggleAction.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeToggleAction.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeTraverseAction.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeTraverseAction.class index f9de62e..1d3be17 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeTraverseAction.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeTraverseAction.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI.class index 6ca853b..a32d1dc 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI.class and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$RolloverButtonBorder.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$RolloverButtonBorder.class index b9836bb4..5ba67f1 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$RolloverButtonBorder.class and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$RolloverButtonBorder.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$TextFieldBorder.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$TextFieldBorder.class index e5758fc..aae0662 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$TextFieldBorder.class and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$TextFieldBorder.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$ToggleButtonBorder.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$ToggleButtonBorder.class index 9a73598..ee16e08 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$ToggleButtonBorder.class and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$ToggleButtonBorder.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders.class index 355eb06..3dce758 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders.class and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalButtonUI.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalButtonUI.class index aa93c28..c88ae73 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/metal/MetalButtonUI.class and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalButtonUI.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalCheckBoxIcon.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalCheckBoxIcon.class index 86d2844..50dda39 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/metal/MetalCheckBoxIcon.class and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalCheckBoxIcon.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxEditor.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxEditor.class index 1ddca3b..d25ae80 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxEditor.class and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxEditor.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxUI$MetalComboBoxLayoutManager.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxUI$MetalComboBoxLayoutManager.class index 61720f7..4451c6a 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxUI$MetalComboBoxLayoutManager.class and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxUI$MetalComboBoxLayoutManager.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxUI$MetalComboPopup.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxUI$MetalComboPopup.class index db870fa..47ce42c 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxUI$MetalComboPopup.class and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxUI$MetalComboPopup.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxUI$MetalPropertyChangeListener.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxUI$MetalPropertyChangeListener.class index a6ff5bd..1b91d6c 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxUI$MetalPropertyChangeListener.class and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxUI$MetalPropertyChangeListener.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxUI.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxUI.class index d14dcb6..5678ed5 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxUI.class and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxUI.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$DirectoryComboBoxAction.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$DirectoryComboBoxAction.class index 9762645..d33d6d5 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$DirectoryComboBoxAction.class and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$DirectoryComboBoxAction.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$DirectoryComboBoxRenderer.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$DirectoryComboBoxRenderer.class index cfc4c7d..f8c4ff0 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$DirectoryComboBoxRenderer.class and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$DirectoryComboBoxRenderer.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$MetalFileChooserPropertyChangeListener.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$MetalFileChooserPropertyChangeListener.class index fd71ac5..9e11c11 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$MetalFileChooserPropertyChangeListener.class and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$MetalFileChooserPropertyChangeListener.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI.class index 22634c7..ae445a0 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI.class and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$1.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$1.class index c90fcec..994f6b8 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$1.class and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$1.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$2.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$2.class index 764ee53..7f6b240 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$2.class and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$2.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$3.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$3.class index 28a0385..d179227 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$3.class and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$3.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$FileChooserUpFolderIcon.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$FileChooserUpFolderIcon.class index 4c2dfb5..d6d880c 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$FileChooserUpFolderIcon.class and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$FileChooserUpFolderIcon.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$TreeFolderIcon.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$TreeFolderIcon.class index 520a438..45c22e1 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$TreeFolderIcon.class and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$TreeFolderIcon.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$TreeLeafIcon.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$TreeLeafIcon.class index 27aabe6..9e0047c 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$TreeLeafIcon.class and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$TreeLeafIcon.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory.class index fdbcad0..92bbbfb 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory.class and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalInternalFrameTitlePane$MetalInternalFrameTitlePanePropertyChangeHandler.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalInternalFrameTitlePane$MetalInternalFrameTitlePanePropertyChangeHandler.class index f966b66..10c450b 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/metal/MetalInternalFrameTitlePane$MetalInternalFrameTitlePanePropertyChangeHandler.class and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalInternalFrameTitlePane$MetalInternalFrameTitlePanePropertyChangeHandler.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalInternalFrameUI$1.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalInternalFrameUI$1.class index 7c916d3..9a4a38f 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/metal/MetalInternalFrameUI$1.class and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalInternalFrameUI$1.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalInternalFrameUI.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalInternalFrameUI.class index c518ed5..fab3cc2 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/metal/MetalInternalFrameUI.class and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalInternalFrameUI.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalLookAndFeel$1.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalLookAndFeel$1.class index 89b00a2..25859a6 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/metal/MetalLookAndFeel$1.class and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalLookAndFeel$1.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalLookAndFeel.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalLookAndFeel.class index 86e1c06..d4bb516 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/metal/MetalLookAndFeel.class and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalLookAndFeel.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalMenuBarUI.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalMenuBarUI.class index 6e39160..209220c 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/metal/MetalMenuBarUI.class and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalMenuBarUI.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalRootPaneUI$MetalRootLayout.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalRootPaneUI$MetalRootLayout.class index 355f39d..ad4ddbc 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/metal/MetalRootPaneUI$MetalRootLayout.class and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalRootPaneUI$MetalRootLayout.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane$CloseAction.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane$CloseAction.class index 08e5c94..aefc365 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane$CloseAction.class and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane$CloseAction.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane.class index 20022fa..25893d7 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane.class and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalRootPaneUI.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalRootPaneUI.class index cfe2e72..d3951a7 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/metal/MetalRootPaneUI.class and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalRootPaneUI.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalScrollBarUI$MetalScrollBarPropertyChangeHandler.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalScrollBarUI$MetalScrollBarPropertyChangeHandler.class index 6efbdc4..34abad2 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/metal/MetalScrollBarUI$MetalScrollBarPropertyChangeHandler.class and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalScrollBarUI$MetalScrollBarPropertyChangeHandler.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalSliderUI$MetalPropertyListener.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalSliderUI$MetalPropertyListener.class index eec02eb..3a55f0b 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/metal/MetalSliderUI$MetalPropertyListener.class and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalSliderUI$MetalPropertyListener.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalTabbedPaneUI$TabbedPaneLayout.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalTabbedPaneUI$TabbedPaneLayout.class index 5fb3e4a..87c0d2a 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/metal/MetalTabbedPaneUI$TabbedPaneLayout.class and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalTabbedPaneUI$TabbedPaneLayout.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalToolBarUI$MetalContainerListener.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalToolBarUI$MetalContainerListener.class index bb84912..e2393f8 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/metal/MetalToolBarUI$MetalContainerListener.class and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalToolBarUI$MetalContainerListener.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalToolBarUI$MetalDockingListener.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalToolBarUI$MetalDockingListener.class index 20c56d2..8a2a089 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/metal/MetalToolBarUI$MetalDockingListener.class and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalToolBarUI$MetalDockingListener.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalToolBarUI$MetalRolloverListener.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalToolBarUI$MetalRolloverListener.class index bea84a8..9a1f4f3 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/metal/MetalToolBarUI$MetalRolloverListener.class and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalToolBarUI$MetalRolloverListener.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalToolBarUI.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalToolBarUI.class index 9ca5216..e095712 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/metal/MetalToolBarUI.class and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalToolBarUI.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalUtils.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalUtils.class index 0d1dcf9..1d1557f 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/metal/MetalUtils.class and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalUtils.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/OceanTheme.class b/libjava/classpath/lib/javax/swing/plaf/metal/OceanTheme.class index c596b1f..b8d608a 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/metal/OceanTheme.class and b/libjava/classpath/lib/javax/swing/plaf/metal/OceanTheme.class differ diff --git a/libjava/classpath/lib/javax/swing/plaf/multi/MultiTextUI.class b/libjava/classpath/lib/javax/swing/plaf/multi/MultiTextUI.class index 5ffcf8b..0a24024 100644 Binary files a/libjava/classpath/lib/javax/swing/plaf/multi/MultiTextUI.class and b/libjava/classpath/lib/javax/swing/plaf/multi/MultiTextUI.class differ diff --git a/libjava/classpath/lib/javax/swing/table/DefaultTableModel.class b/libjava/classpath/lib/javax/swing/table/DefaultTableModel.class index bc27c59..48bbf08 100644 Binary files a/libjava/classpath/lib/javax/swing/table/DefaultTableModel.class and b/libjava/classpath/lib/javax/swing/table/DefaultTableModel.class differ diff --git a/libjava/classpath/lib/javax/swing/table/JTableHeader$AccessibleJTableHeader.class b/libjava/classpath/lib/javax/swing/table/JTableHeader$AccessibleJTableHeader.class index caa7f10..fd3e257 100644 Binary files a/libjava/classpath/lib/javax/swing/table/JTableHeader$AccessibleJTableHeader.class and b/libjava/classpath/lib/javax/swing/table/JTableHeader$AccessibleJTableHeader.class differ diff --git a/libjava/classpath/lib/javax/swing/text/AbstractDocument$AbstractElement.class b/libjava/classpath/lib/javax/swing/text/AbstractDocument$AbstractElement.class index 8085237..c7cde32 100644 Binary files a/libjava/classpath/lib/javax/swing/text/AbstractDocument$AbstractElement.class and b/libjava/classpath/lib/javax/swing/text/AbstractDocument$AbstractElement.class differ diff --git a/libjava/classpath/lib/javax/swing/text/AbstractDocument$BidiElement.class b/libjava/classpath/lib/javax/swing/text/AbstractDocument$BidiElement.class index ce3b3c7..5b86329 100644 Binary files a/libjava/classpath/lib/javax/swing/text/AbstractDocument$BidiElement.class and b/libjava/classpath/lib/javax/swing/text/AbstractDocument$BidiElement.class differ diff --git a/libjava/classpath/lib/javax/swing/text/AbstractDocument$BidiRootElement.class b/libjava/classpath/lib/javax/swing/text/AbstractDocument$BidiRootElement.class index 02beb2f..75bbf7f 100644 Binary files a/libjava/classpath/lib/javax/swing/text/AbstractDocument$BidiRootElement.class and b/libjava/classpath/lib/javax/swing/text/AbstractDocument$BidiRootElement.class differ diff --git a/libjava/classpath/lib/javax/swing/text/AbstractDocument$BranchElement.class b/libjava/classpath/lib/javax/swing/text/AbstractDocument$BranchElement.class index 0f3938e..110449a 100644 Binary files a/libjava/classpath/lib/javax/swing/text/AbstractDocument$BranchElement.class and b/libjava/classpath/lib/javax/swing/text/AbstractDocument$BranchElement.class differ diff --git a/libjava/classpath/lib/javax/swing/text/AbstractDocument$Bypass.class b/libjava/classpath/lib/javax/swing/text/AbstractDocument$Bypass.class index 7ab8a20..9dae382 100644 Binary files a/libjava/classpath/lib/javax/swing/text/AbstractDocument$Bypass.class and b/libjava/classpath/lib/javax/swing/text/AbstractDocument$Bypass.class differ diff --git a/libjava/classpath/lib/javax/swing/text/AbstractDocument$DefaultDocumentEvent.class b/libjava/classpath/lib/javax/swing/text/AbstractDocument$DefaultDocumentEvent.class index ba8f724..49c7efb 100644 Binary files a/libjava/classpath/lib/javax/swing/text/AbstractDocument$DefaultDocumentEvent.class and b/libjava/classpath/lib/javax/swing/text/AbstractDocument$DefaultDocumentEvent.class differ diff --git a/libjava/classpath/lib/javax/swing/text/AbstractDocument$ElementEdit.class b/libjava/classpath/lib/javax/swing/text/AbstractDocument$ElementEdit.class index e11f6c6..271079b 100644 Binary files a/libjava/classpath/lib/javax/swing/text/AbstractDocument$ElementEdit.class and b/libjava/classpath/lib/javax/swing/text/AbstractDocument$ElementEdit.class differ diff --git a/libjava/classpath/lib/javax/swing/text/AbstractDocument$LeafElement.class b/libjava/classpath/lib/javax/swing/text/AbstractDocument$LeafElement.class index 0f13f86..cc08b69 100644 Binary files a/libjava/classpath/lib/javax/swing/text/AbstractDocument$LeafElement.class and b/libjava/classpath/lib/javax/swing/text/AbstractDocument$LeafElement.class differ diff --git a/libjava/classpath/lib/javax/swing/text/AbstractDocument.class b/libjava/classpath/lib/javax/swing/text/AbstractDocument.class index a3ae0b5..3aef595 100644 Binary files a/libjava/classpath/lib/javax/swing/text/AbstractDocument.class and b/libjava/classpath/lib/javax/swing/text/AbstractDocument.class differ diff --git a/libjava/classpath/lib/javax/swing/text/AsyncBoxView$ChildLocator.class b/libjava/classpath/lib/javax/swing/text/AsyncBoxView$ChildLocator.class index 19b477f..55c84b6 100644 Binary files a/libjava/classpath/lib/javax/swing/text/AsyncBoxView$ChildLocator.class and b/libjava/classpath/lib/javax/swing/text/AsyncBoxView$ChildLocator.class differ diff --git a/libjava/classpath/lib/javax/swing/text/AsyncBoxView$ChildState.class b/libjava/classpath/lib/javax/swing/text/AsyncBoxView$ChildState.class index 34bbdd5..ee9c5cb 100644 Binary files a/libjava/classpath/lib/javax/swing/text/AsyncBoxView$ChildState.class and b/libjava/classpath/lib/javax/swing/text/AsyncBoxView$ChildState.class differ diff --git a/libjava/classpath/lib/javax/swing/text/AsyncBoxView$FlushTask.class b/libjava/classpath/lib/javax/swing/text/AsyncBoxView$FlushTask.class index 21bbf80..32a7a78 100644 Binary files a/libjava/classpath/lib/javax/swing/text/AsyncBoxView$FlushTask.class and b/libjava/classpath/lib/javax/swing/text/AsyncBoxView$FlushTask.class differ diff --git a/libjava/classpath/lib/javax/swing/text/AsyncBoxView.class b/libjava/classpath/lib/javax/swing/text/AsyncBoxView.class index 66149c4..3f23f4c 100644 Binary files a/libjava/classpath/lib/javax/swing/text/AsyncBoxView.class and b/libjava/classpath/lib/javax/swing/text/AsyncBoxView.class differ diff --git a/libjava/classpath/lib/javax/swing/text/BoxView.class b/libjava/classpath/lib/javax/swing/text/BoxView.class index 7a80c96..72e66c0 100644 Binary files a/libjava/classpath/lib/javax/swing/text/BoxView.class and b/libjava/classpath/lib/javax/swing/text/BoxView.class differ diff --git a/libjava/classpath/lib/javax/swing/text/ComponentView$1.class b/libjava/classpath/lib/javax/swing/text/ComponentView$1.class index 33102d9a..053d2a2 100644 Binary files a/libjava/classpath/lib/javax/swing/text/ComponentView$1.class and b/libjava/classpath/lib/javax/swing/text/ComponentView$1.class differ diff --git a/libjava/classpath/lib/javax/swing/text/ComponentView.class b/libjava/classpath/lib/javax/swing/text/ComponentView.class index 734e7cb..dddd329 100644 Binary files a/libjava/classpath/lib/javax/swing/text/ComponentView.class and b/libjava/classpath/lib/javax/swing/text/ComponentView.class differ diff --git a/libjava/classpath/lib/javax/swing/text/CompositeView.class b/libjava/classpath/lib/javax/swing/text/CompositeView.class index 9f503c7..51ee592 100644 Binary files a/libjava/classpath/lib/javax/swing/text/CompositeView.class and b/libjava/classpath/lib/javax/swing/text/CompositeView.class differ diff --git a/libjava/classpath/lib/javax/swing/text/DefaultCaret$Bypass.class b/libjava/classpath/lib/javax/swing/text/DefaultCaret$Bypass.class index bea4c5c..09b1d05 100644 Binary files a/libjava/classpath/lib/javax/swing/text/DefaultCaret$Bypass.class and b/libjava/classpath/lib/javax/swing/text/DefaultCaret$Bypass.class differ diff --git a/libjava/classpath/lib/javax/swing/text/DefaultCaret.class b/libjava/classpath/lib/javax/swing/text/DefaultCaret.class index 89e12fd..b64eaa4 100644 Binary files a/libjava/classpath/lib/javax/swing/text/DefaultCaret.class and b/libjava/classpath/lib/javax/swing/text/DefaultCaret.class differ diff --git a/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$BackwardAction.class b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$BackwardAction.class index 03db232..0042d05 100644 Binary files a/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$BackwardAction.class and b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$BackwardAction.class differ diff --git a/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$DownAction.class b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$DownAction.class index 5594f37..26b7bf4 100644 Binary files a/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$DownAction.class and b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$DownAction.class differ diff --git a/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$ForwardAction.class b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$ForwardAction.class index 7ab3f6f..bf189a9 100644 Binary files a/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$ForwardAction.class and b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$ForwardAction.class differ diff --git a/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionBackwardAction.class b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionBackwardAction.class index f80454d..5b0695fa 100644 Binary files a/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionBackwardAction.class and b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionBackwardAction.class differ diff --git a/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionDownAction.class b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionDownAction.class index 354f776..33c351b 100644 Binary files a/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionDownAction.class and b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionDownAction.class differ diff --git a/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionForwardAction.class b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionForwardAction.class index 8970a9a..162a436 100644 Binary files a/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionForwardAction.class and b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionForwardAction.class differ diff --git a/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionUpAction.class b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionUpAction.class index f17bba8..0c5926f 100644 Binary files a/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionUpAction.class and b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionUpAction.class differ diff --git a/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$UpAction.class b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$UpAction.class index 41abccf..41609d3 100644 Binary files a/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$UpAction.class and b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$UpAction.class differ diff --git a/libjava/classpath/lib/javax/swing/text/DefaultEditorKit.class b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit.class index 36d462b..dd9e724 100644 Binary files a/libjava/classpath/lib/javax/swing/text/DefaultEditorKit.class and b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit.class differ diff --git a/libjava/classpath/lib/javax/swing/text/DefaultFormatter$FormatterDocumentFilter.class b/libjava/classpath/lib/javax/swing/text/DefaultFormatter$FormatterDocumentFilter.class index f2eb6cc..94de991 100644 Binary files a/libjava/classpath/lib/javax/swing/text/DefaultFormatter$FormatterDocumentFilter.class and b/libjava/classpath/lib/javax/swing/text/DefaultFormatter$FormatterDocumentFilter.class differ diff --git a/libjava/classpath/lib/javax/swing/text/DefaultFormatter.class b/libjava/classpath/lib/javax/swing/text/DefaultFormatter.class index 34f31b2..beea046 100644 Binary files a/libjava/classpath/lib/javax/swing/text/DefaultFormatter.class and b/libjava/classpath/lib/javax/swing/text/DefaultFormatter.class differ diff --git a/libjava/classpath/lib/javax/swing/text/DefaultFormatterFactory.class b/libjava/classpath/lib/javax/swing/text/DefaultFormatterFactory.class index cd6c220..9aebed4 100644 Binary files a/libjava/classpath/lib/javax/swing/text/DefaultFormatterFactory.class and b/libjava/classpath/lib/javax/swing/text/DefaultFormatterFactory.class differ diff --git a/libjava/classpath/lib/javax/swing/text/DefaultHighlighter$DefaultHighlightPainter.class b/libjava/classpath/lib/javax/swing/text/DefaultHighlighter$DefaultHighlightPainter.class index 12a44c2..ba42dc5 100644 Binary files a/libjava/classpath/lib/javax/swing/text/DefaultHighlighter$DefaultHighlightPainter.class and b/libjava/classpath/lib/javax/swing/text/DefaultHighlighter$DefaultHighlightPainter.class differ diff --git a/libjava/classpath/lib/javax/swing/text/DefaultHighlighter$HighlightEntry.class b/libjava/classpath/lib/javax/swing/text/DefaultHighlighter$HighlightEntry.class index b5a07ad..10d53e6 100644 Binary files a/libjava/classpath/lib/javax/swing/text/DefaultHighlighter$HighlightEntry.class and b/libjava/classpath/lib/javax/swing/text/DefaultHighlighter$HighlightEntry.class differ diff --git a/libjava/classpath/lib/javax/swing/text/DefaultHighlighter$LayerHighlightEntry.class b/libjava/classpath/lib/javax/swing/text/DefaultHighlighter$LayerHighlightEntry.class index 6be9b03..da53a57 100644 Binary files a/libjava/classpath/lib/javax/swing/text/DefaultHighlighter$LayerHighlightEntry.class and b/libjava/classpath/lib/javax/swing/text/DefaultHighlighter$LayerHighlightEntry.class differ diff --git a/libjava/classpath/lib/javax/swing/text/DefaultHighlighter.class b/libjava/classpath/lib/javax/swing/text/DefaultHighlighter.class index cc105ee..6f52f39 100644 Binary files a/libjava/classpath/lib/javax/swing/text/DefaultHighlighter.class and b/libjava/classpath/lib/javax/swing/text/DefaultHighlighter.class differ diff --git a/libjava/classpath/lib/javax/swing/text/DefaultStyledDocument$ElementBuffer.class b/libjava/classpath/lib/javax/swing/text/DefaultStyledDocument$ElementBuffer.class index d9bd130..ea3f5a5 100644 Binary files a/libjava/classpath/lib/javax/swing/text/DefaultStyledDocument$ElementBuffer.class and b/libjava/classpath/lib/javax/swing/text/DefaultStyledDocument$ElementBuffer.class differ diff --git a/libjava/classpath/lib/javax/swing/text/DefaultStyledDocument$SectionElement.class b/libjava/classpath/lib/javax/swing/text/DefaultStyledDocument$SectionElement.class index 277c1a8..e934781 100644 Binary files a/libjava/classpath/lib/javax/swing/text/DefaultStyledDocument$SectionElement.class and b/libjava/classpath/lib/javax/swing/text/DefaultStyledDocument$SectionElement.class differ diff --git a/libjava/classpath/lib/javax/swing/text/DefaultStyledDocument$StyleChangeListener.class b/libjava/classpath/lib/javax/swing/text/DefaultStyledDocument$StyleChangeListener.class index bfbd3b8..0c12f0c 100644 Binary files a/libjava/classpath/lib/javax/swing/text/DefaultStyledDocument$StyleChangeListener.class and b/libjava/classpath/lib/javax/swing/text/DefaultStyledDocument$StyleChangeListener.class differ diff --git a/libjava/classpath/lib/javax/swing/text/DefaultStyledDocument.class b/libjava/classpath/lib/javax/swing/text/DefaultStyledDocument.class index 7b337be..defb925 100644 Binary files a/libjava/classpath/lib/javax/swing/text/DefaultStyledDocument.class and b/libjava/classpath/lib/javax/swing/text/DefaultStyledDocument.class differ diff --git a/libjava/classpath/lib/javax/swing/text/EmptyAttributeSet$1.class b/libjava/classpath/lib/javax/swing/text/EmptyAttributeSet$1.class index 3d7afc6..0dcbcdd 100644 Binary files a/libjava/classpath/lib/javax/swing/text/EmptyAttributeSet$1.class and b/libjava/classpath/lib/javax/swing/text/EmptyAttributeSet$1.class differ diff --git a/libjava/classpath/lib/javax/swing/text/EmptyAttributeSet.class b/libjava/classpath/lib/javax/swing/text/EmptyAttributeSet.class index d55c939..7c81e42 100644 Binary files a/libjava/classpath/lib/javax/swing/text/EmptyAttributeSet.class and b/libjava/classpath/lib/javax/swing/text/EmptyAttributeSet.class differ diff --git a/libjava/classpath/lib/javax/swing/text/FieldView$1.class b/libjava/classpath/lib/javax/swing/text/FieldView$1.class index efb6ff4..1a6d959 100644 Binary files a/libjava/classpath/lib/javax/swing/text/FieldView$1.class and b/libjava/classpath/lib/javax/swing/text/FieldView$1.class differ diff --git a/libjava/classpath/lib/javax/swing/text/FieldView.class b/libjava/classpath/lib/javax/swing/text/FieldView.class index 9d41826..eada9fe 100644 Binary files a/libjava/classpath/lib/javax/swing/text/FieldView.class and b/libjava/classpath/lib/javax/swing/text/FieldView.class differ diff --git a/libjava/classpath/lib/javax/swing/text/FlowView$FlowStrategy.class b/libjava/classpath/lib/javax/swing/text/FlowView$FlowStrategy.class index a0935b8..578fec8 100644 Binary files a/libjava/classpath/lib/javax/swing/text/FlowView$FlowStrategy.class and b/libjava/classpath/lib/javax/swing/text/FlowView$FlowStrategy.class differ diff --git a/libjava/classpath/lib/javax/swing/text/GapContent$GapContentPosition.class b/libjava/classpath/lib/javax/swing/text/GapContent$GapContentPosition.class index 30f5260..33ff89e 100644 Binary files a/libjava/classpath/lib/javax/swing/text/GapContent$GapContentPosition.class and b/libjava/classpath/lib/javax/swing/text/GapContent$GapContentPosition.class differ diff --git a/libjava/classpath/lib/javax/swing/text/GapContent$Mark.class b/libjava/classpath/lib/javax/swing/text/GapContent$Mark.class index be06f26..a31f4a7 100644 Binary files a/libjava/classpath/lib/javax/swing/text/GapContent$Mark.class and b/libjava/classpath/lib/javax/swing/text/GapContent$Mark.class differ diff --git a/libjava/classpath/lib/javax/swing/text/GapContent$UndoPosRef.class b/libjava/classpath/lib/javax/swing/text/GapContent$UndoPosRef.class index 8e149e7..033693c 100644 Binary files a/libjava/classpath/lib/javax/swing/text/GapContent$UndoPosRef.class and b/libjava/classpath/lib/javax/swing/text/GapContent$UndoPosRef.class differ diff --git a/libjava/classpath/lib/javax/swing/text/GapContent.class b/libjava/classpath/lib/javax/swing/text/GapContent.class index e7049f2..0eded1a 100644 Binary files a/libjava/classpath/lib/javax/swing/text/GapContent.class and b/libjava/classpath/lib/javax/swing/text/GapContent.class differ diff --git a/libjava/classpath/lib/javax/swing/text/GlyphView$DefaultGlyphPainter.class b/libjava/classpath/lib/javax/swing/text/GlyphView$DefaultGlyphPainter.class index 0d82c97..e654f46 100644 Binary files a/libjava/classpath/lib/javax/swing/text/GlyphView$DefaultGlyphPainter.class and b/libjava/classpath/lib/javax/swing/text/GlyphView$DefaultGlyphPainter.class differ diff --git a/libjava/classpath/lib/javax/swing/text/GlyphView$GlyphPainter.class b/libjava/classpath/lib/javax/swing/text/GlyphView$GlyphPainter.class index 99cc4f7..007d678 100644 Binary files a/libjava/classpath/lib/javax/swing/text/GlyphView$GlyphPainter.class and b/libjava/classpath/lib/javax/swing/text/GlyphView$GlyphPainter.class differ diff --git a/libjava/classpath/lib/javax/swing/text/GlyphView$J2DGlyphPainter.class b/libjava/classpath/lib/javax/swing/text/GlyphView$J2DGlyphPainter.class index 4942527..9286bf23 100644 Binary files a/libjava/classpath/lib/javax/swing/text/GlyphView$J2DGlyphPainter.class and b/libjava/classpath/lib/javax/swing/text/GlyphView$J2DGlyphPainter.class differ diff --git a/libjava/classpath/lib/javax/swing/text/GlyphView.class b/libjava/classpath/lib/javax/swing/text/GlyphView.class index 7beb2ba..0581bde 100644 Binary files a/libjava/classpath/lib/javax/swing/text/GlyphView.class and b/libjava/classpath/lib/javax/swing/text/GlyphView.class differ diff --git a/libjava/classpath/lib/javax/swing/text/Highlighter$Highlight.class b/libjava/classpath/lib/javax/swing/text/Highlighter$Highlight.class index e3a6714..70a12c2 100644 Binary files a/libjava/classpath/lib/javax/swing/text/Highlighter$Highlight.class and b/libjava/classpath/lib/javax/swing/text/Highlighter$Highlight.class differ diff --git a/libjava/classpath/lib/javax/swing/text/IconView.class b/libjava/classpath/lib/javax/swing/text/IconView.class index b260391..5e2fb0e 100644 Binary files a/libjava/classpath/lib/javax/swing/text/IconView.class and b/libjava/classpath/lib/javax/swing/text/IconView.class differ diff --git a/libjava/classpath/lib/javax/swing/text/InternationalFormatter.class b/libjava/classpath/lib/javax/swing/text/InternationalFormatter.class index dbf0382..5003e6c 100644 Binary files a/libjava/classpath/lib/javax/swing/text/InternationalFormatter.class and b/libjava/classpath/lib/javax/swing/text/InternationalFormatter.class differ diff --git a/libjava/classpath/lib/javax/swing/text/JTextComponent$AccessibleJTextComponent.class b/libjava/classpath/lib/javax/swing/text/JTextComponent$AccessibleJTextComponent.class index e1d0af2..e6fda06 100644 Binary files a/libjava/classpath/lib/javax/swing/text/JTextComponent$AccessibleJTextComponent.class and b/libjava/classpath/lib/javax/swing/text/JTextComponent$AccessibleJTextComponent.class differ diff --git a/libjava/classpath/lib/javax/swing/text/JTextComponent.class b/libjava/classpath/lib/javax/swing/text/JTextComponent.class index f09c72a..8e04d60 100644 Binary files a/libjava/classpath/lib/javax/swing/text/JTextComponent.class and b/libjava/classpath/lib/javax/swing/text/JTextComponent.class differ diff --git a/libjava/classpath/lib/javax/swing/text/LayeredHighlighter$LayerPainter.class b/libjava/classpath/lib/javax/swing/text/LayeredHighlighter$LayerPainter.class index 6a0619f..6a45bc3 100644 Binary files a/libjava/classpath/lib/javax/swing/text/LayeredHighlighter$LayerPainter.class and b/libjava/classpath/lib/javax/swing/text/LayeredHighlighter$LayerPainter.class differ diff --git a/libjava/classpath/lib/javax/swing/text/NavigationFilter$FilterBypass.class b/libjava/classpath/lib/javax/swing/text/NavigationFilter$FilterBypass.class index 1ce6a3c..73c3801 100644 Binary files a/libjava/classpath/lib/javax/swing/text/NavigationFilter$FilterBypass.class and b/libjava/classpath/lib/javax/swing/text/NavigationFilter$FilterBypass.class differ diff --git a/libjava/classpath/lib/javax/swing/text/NavigationFilter.class b/libjava/classpath/lib/javax/swing/text/NavigationFilter.class index 6fec1f4..570f40e 100644 Binary files a/libjava/classpath/lib/javax/swing/text/NavigationFilter.class and b/libjava/classpath/lib/javax/swing/text/NavigationFilter.class differ diff --git a/libjava/classpath/lib/javax/swing/text/ParagraphView.class b/libjava/classpath/lib/javax/swing/text/ParagraphView.class index 5787f0d..6a3391e 100644 Binary files a/libjava/classpath/lib/javax/swing/text/ParagraphView.class and b/libjava/classpath/lib/javax/swing/text/ParagraphView.class differ diff --git a/libjava/classpath/lib/javax/swing/text/PasswordView.class b/libjava/classpath/lib/javax/swing/text/PasswordView.class index 565d012..6086982 100644 Binary files a/libjava/classpath/lib/javax/swing/text/PasswordView.class and b/libjava/classpath/lib/javax/swing/text/PasswordView.class differ diff --git a/libjava/classpath/lib/javax/swing/text/PlainDocument.class b/libjava/classpath/lib/javax/swing/text/PlainDocument.class index d368e00..7ebdfc5 100644 Binary files a/libjava/classpath/lib/javax/swing/text/PlainDocument.class and b/libjava/classpath/lib/javax/swing/text/PlainDocument.class differ diff --git a/libjava/classpath/lib/javax/swing/text/PlainView.class b/libjava/classpath/lib/javax/swing/text/PlainView.class index abfdc19..26d8662 100644 Binary files a/libjava/classpath/lib/javax/swing/text/PlainView.class and b/libjava/classpath/lib/javax/swing/text/PlainView.class differ diff --git a/libjava/classpath/lib/javax/swing/text/StringContent$StickyPosition.class b/libjava/classpath/lib/javax/swing/text/StringContent$StickyPosition.class index 6059d22..fe3ffdc 100644 Binary files a/libjava/classpath/lib/javax/swing/text/StringContent$StickyPosition.class and b/libjava/classpath/lib/javax/swing/text/StringContent$StickyPosition.class differ diff --git a/libjava/classpath/lib/javax/swing/text/StringContent$UndoPosRef.class b/libjava/classpath/lib/javax/swing/text/StringContent$UndoPosRef.class index 7e2c2d4..421c79c 100644 Binary files a/libjava/classpath/lib/javax/swing/text/StringContent$UndoPosRef.class and b/libjava/classpath/lib/javax/swing/text/StringContent$UndoPosRef.class differ diff --git a/libjava/classpath/lib/javax/swing/text/StringContent.class b/libjava/classpath/lib/javax/swing/text/StringContent.class index 702d514..0fdb06f 100644 Binary files a/libjava/classpath/lib/javax/swing/text/StringContent.class and b/libjava/classpath/lib/javax/swing/text/StringContent.class differ diff --git a/libjava/classpath/lib/javax/swing/text/StyleConstants$CharacterConstants.class b/libjava/classpath/lib/javax/swing/text/StyleConstants$CharacterConstants.class index fc27c45..88c5223 100644 Binary files a/libjava/classpath/lib/javax/swing/text/StyleConstants$CharacterConstants.class and b/libjava/classpath/lib/javax/swing/text/StyleConstants$CharacterConstants.class differ diff --git a/libjava/classpath/lib/javax/swing/text/StyleConstants$ColorConstants.class b/libjava/classpath/lib/javax/swing/text/StyleConstants$ColorConstants.class index 7708186..a610b25 100644 Binary files a/libjava/classpath/lib/javax/swing/text/StyleConstants$ColorConstants.class and b/libjava/classpath/lib/javax/swing/text/StyleConstants$ColorConstants.class differ diff --git a/libjava/classpath/lib/javax/swing/text/StyleConstants$FontConstants.class b/libjava/classpath/lib/javax/swing/text/StyleConstants$FontConstants.class index 7fd6ac1..7baa9ef 100644 Binary files a/libjava/classpath/lib/javax/swing/text/StyleConstants$FontConstants.class and b/libjava/classpath/lib/javax/swing/text/StyleConstants$FontConstants.class differ diff --git a/libjava/classpath/lib/javax/swing/text/StyleConstants$ParagraphConstants.class b/libjava/classpath/lib/javax/swing/text/StyleConstants$ParagraphConstants.class index 86b02b7..6543607 100644 Binary files a/libjava/classpath/lib/javax/swing/text/StyleConstants$ParagraphConstants.class and b/libjava/classpath/lib/javax/swing/text/StyleConstants$ParagraphConstants.class differ diff --git a/libjava/classpath/lib/javax/swing/text/StyleContext$1.class b/libjava/classpath/lib/javax/swing/text/StyleContext$1.class index 4cd8a5c..29299de 100644 Binary files a/libjava/classpath/lib/javax/swing/text/StyleContext$1.class and b/libjava/classpath/lib/javax/swing/text/StyleContext$1.class differ diff --git a/libjava/classpath/lib/javax/swing/text/StyleContext$SmallAttributeSet.class b/libjava/classpath/lib/javax/swing/text/StyleContext$SmallAttributeSet.class index a4926f9..1de39b5 100644 Binary files a/libjava/classpath/lib/javax/swing/text/StyleContext$SmallAttributeSet.class and b/libjava/classpath/lib/javax/swing/text/StyleContext$SmallAttributeSet.class differ diff --git a/libjava/classpath/lib/javax/swing/text/StyleContext.class b/libjava/classpath/lib/javax/swing/text/StyleContext.class index 0940ded..b98f5ae 100644 Binary files a/libjava/classpath/lib/javax/swing/text/StyleContext.class and b/libjava/classpath/lib/javax/swing/text/StyleContext.class differ diff --git a/libjava/classpath/lib/javax/swing/text/StyledEditorKit$AlignmentAction.class b/libjava/classpath/lib/javax/swing/text/StyledEditorKit$AlignmentAction.class index b07b5f9..121a7e9 100644 Binary files a/libjava/classpath/lib/javax/swing/text/StyledEditorKit$AlignmentAction.class and b/libjava/classpath/lib/javax/swing/text/StyledEditorKit$AlignmentAction.class differ diff --git a/libjava/classpath/lib/javax/swing/text/StyledEditorKit$BoldAction.class b/libjava/classpath/lib/javax/swing/text/StyledEditorKit$BoldAction.class index 26c3dd8..0f54f6f 100644 Binary files a/libjava/classpath/lib/javax/swing/text/StyledEditorKit$BoldAction.class and b/libjava/classpath/lib/javax/swing/text/StyledEditorKit$BoldAction.class differ diff --git a/libjava/classpath/lib/javax/swing/text/StyledEditorKit$FontFamilyAction.class b/libjava/classpath/lib/javax/swing/text/StyledEditorKit$FontFamilyAction.class index 3af0af3..fa0fd71 100644 Binary files a/libjava/classpath/lib/javax/swing/text/StyledEditorKit$FontFamilyAction.class and b/libjava/classpath/lib/javax/swing/text/StyledEditorKit$FontFamilyAction.class differ diff --git a/libjava/classpath/lib/javax/swing/text/StyledEditorKit$FontSizeAction.class b/libjava/classpath/lib/javax/swing/text/StyledEditorKit$FontSizeAction.class index f0040b9..06ca542 100644 Binary files a/libjava/classpath/lib/javax/swing/text/StyledEditorKit$FontSizeAction.class and b/libjava/classpath/lib/javax/swing/text/StyledEditorKit$FontSizeAction.class differ diff --git a/libjava/classpath/lib/javax/swing/text/StyledEditorKit$ForegroundAction.class b/libjava/classpath/lib/javax/swing/text/StyledEditorKit$ForegroundAction.class index c558c73..c91980d 100644 Binary files a/libjava/classpath/lib/javax/swing/text/StyledEditorKit$ForegroundAction.class and b/libjava/classpath/lib/javax/swing/text/StyledEditorKit$ForegroundAction.class differ diff --git a/libjava/classpath/lib/javax/swing/text/StyledEditorKit$ItalicAction.class b/libjava/classpath/lib/javax/swing/text/StyledEditorKit$ItalicAction.class index 1ba3c95..9ec4d89 100644 Binary files a/libjava/classpath/lib/javax/swing/text/StyledEditorKit$ItalicAction.class and b/libjava/classpath/lib/javax/swing/text/StyledEditorKit$ItalicAction.class differ diff --git a/libjava/classpath/lib/javax/swing/text/StyledEditorKit$UnderlineAction.class b/libjava/classpath/lib/javax/swing/text/StyledEditorKit$UnderlineAction.class index 094bd86..a949e49 100644 Binary files a/libjava/classpath/lib/javax/swing/text/StyledEditorKit$UnderlineAction.class and b/libjava/classpath/lib/javax/swing/text/StyledEditorKit$UnderlineAction.class differ diff --git a/libjava/classpath/lib/javax/swing/text/StyledEditorKit.class b/libjava/classpath/lib/javax/swing/text/StyledEditorKit.class index de57fff..d5c218d 100644 Binary files a/libjava/classpath/lib/javax/swing/text/StyledEditorKit.class and b/libjava/classpath/lib/javax/swing/text/StyledEditorKit.class differ diff --git a/libjava/classpath/lib/javax/swing/text/TabStop.class b/libjava/classpath/lib/javax/swing/text/TabStop.class index 8c1ae34..b7b4e06 100644 Binary files a/libjava/classpath/lib/javax/swing/text/TabStop.class and b/libjava/classpath/lib/javax/swing/text/TabStop.class differ diff --git a/libjava/classpath/lib/javax/swing/text/TableView.class b/libjava/classpath/lib/javax/swing/text/TableView.class index b847e01..f07977d 100644 Binary files a/libjava/classpath/lib/javax/swing/text/TableView.class and b/libjava/classpath/lib/javax/swing/text/TableView.class differ diff --git a/libjava/classpath/lib/javax/swing/text/Utilities.class b/libjava/classpath/lib/javax/swing/text/Utilities.class index 2163464..eb2d47a 100644 Binary files a/libjava/classpath/lib/javax/swing/text/Utilities.class and b/libjava/classpath/lib/javax/swing/text/Utilities.class differ diff --git a/libjava/classpath/lib/javax/swing/text/View.class b/libjava/classpath/lib/javax/swing/text/View.class index 5eaa2fc..b44111a 100644 Binary files a/libjava/classpath/lib/javax/swing/text/View.class and b/libjava/classpath/lib/javax/swing/text/View.class differ diff --git a/libjava/classpath/lib/javax/swing/text/WrappedPlainView$WrappedLine.class b/libjava/classpath/lib/javax/swing/text/WrappedPlainView$WrappedLine.class index 71d3cf0..387b6b7 100644 Binary files a/libjava/classpath/lib/javax/swing/text/WrappedPlainView$WrappedLine.class and b/libjava/classpath/lib/javax/swing/text/WrappedPlainView$WrappedLine.class differ diff --git a/libjava/classpath/lib/javax/swing/text/WrappedPlainView$WrappedLineCreator.class b/libjava/classpath/lib/javax/swing/text/WrappedPlainView$WrappedLineCreator.class index 4584e77..5340b83f 100644 Binary files a/libjava/classpath/lib/javax/swing/text/WrappedPlainView$WrappedLineCreator.class and b/libjava/classpath/lib/javax/swing/text/WrappedPlainView$WrappedLineCreator.class differ diff --git a/libjava/classpath/lib/javax/swing/text/WrappedPlainView.class b/libjava/classpath/lib/javax/swing/text/WrappedPlainView.class index ee618df..8e60a64 100644 Binary files a/libjava/classpath/lib/javax/swing/text/WrappedPlainView.class and b/libjava/classpath/lib/javax/swing/text/WrappedPlainView.class differ diff --git a/libjava/classpath/lib/javax/swing/text/ZoneView.class b/libjava/classpath/lib/javax/swing/text/ZoneView.class index 875dce6..c47b29bf 100644 Binary files a/libjava/classpath/lib/javax/swing/text/ZoneView.class and b/libjava/classpath/lib/javax/swing/text/ZoneView.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/BlockView.class b/libjava/classpath/lib/javax/swing/text/html/BlockView.class index 3fd6a86..d4e3fce 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/BlockView.class and b/libjava/classpath/lib/javax/swing/text/html/BlockView.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/CSSBorder.class b/libjava/classpath/lib/javax/swing/text/html/CSSBorder.class index 35a0c37..828b514 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/CSSBorder.class and b/libjava/classpath/lib/javax/swing/text/html/CSSBorder.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/CSSParser.class b/libjava/classpath/lib/javax/swing/text/html/CSSParser.class index 6d5c4bf..a828807 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/CSSParser.class and b/libjava/classpath/lib/javax/swing/text/html/CSSParser.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/FormSubmitEvent.class b/libjava/classpath/lib/javax/swing/text/html/FormSubmitEvent.class index 8d88b68..7210b8c 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/FormSubmitEvent.class and b/libjava/classpath/lib/javax/swing/text/html/FormSubmitEvent.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/FormView$1.class b/libjava/classpath/lib/javax/swing/text/html/FormView$1.class index e7150e5..a6d6c75 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/FormView$1.class and b/libjava/classpath/lib/javax/swing/text/html/FormView$1.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/FormView$SubmitThread.class b/libjava/classpath/lib/javax/swing/text/html/FormView$SubmitThread.class index 0d165d5..7c66be4 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/FormView$SubmitThread.class and b/libjava/classpath/lib/javax/swing/text/html/FormView$SubmitThread.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/FormView.class b/libjava/classpath/lib/javax/swing/text/html/FormView.class index 7106e67..3a8d17a 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/FormView.class and b/libjava/classpath/lib/javax/swing/text/html/FormView.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/FrameSetView.class b/libjava/classpath/lib/javax/swing/text/html/FrameSetView.class index 9456315..1f0ef5d 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/FrameSetView.class and b/libjava/classpath/lib/javax/swing/text/html/FrameSetView.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/FrameView.class b/libjava/classpath/lib/javax/swing/text/html/FrameView.class index 3647ada..977a10b 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/FrameView.class and b/libjava/classpath/lib/javax/swing/text/html/FrameView.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/HTML$Tag.class b/libjava/classpath/lib/javax/swing/text/html/HTML$Tag.class index 2682132..98dc1b58 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/HTML$Tag.class and b/libjava/classpath/lib/javax/swing/text/html/HTML$Tag.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/HTML$UnknownTag.class b/libjava/classpath/lib/javax/swing/text/html/HTML$UnknownTag.class index ed60956..b0830a7 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/HTML$UnknownTag.class and b/libjava/classpath/lib/javax/swing/text/html/HTML$UnknownTag.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$1.class b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$1.class index 3d384fc..67b1b7e 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$1.class and b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$1.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$BlockElement.class b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$BlockElement.class index f6983d2..7eb2c09 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$BlockElement.class and b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$BlockElement.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$AreaAction.class b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$AreaAction.class index 17a861a..7ff8b85 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$AreaAction.class and b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$AreaAction.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$BaseAction.class b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$BaseAction.class index cfcdfed..5f6cc18 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$BaseAction.class and b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$BaseAction.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$BlockAction.class b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$BlockAction.class index 3a80c00..bc8a73f 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$BlockAction.class and b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$BlockAction.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$CharacterAction.class b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$CharacterAction.class index eac8191..3513927 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$CharacterAction.class and b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$CharacterAction.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$ConvertAction.class b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$ConvertAction.class index 3bd220b..c7929e1 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$ConvertAction.class and b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$ConvertAction.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$FormAction.class b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$FormAction.class index 9038189..fa11ca9 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$FormAction.class and b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$FormAction.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$FormTagAction.class b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$FormTagAction.class index 6d96515..327ddc7 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$FormTagAction.class and b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$FormTagAction.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$HeadAction.class b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$HeadAction.class index 3041c70..56fff75 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$HeadAction.class and b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$HeadAction.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$HiddenAction.class b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$HiddenAction.class index 17488d8..4e2e7c4 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$HiddenAction.class and b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$HiddenAction.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$IsindexAction.class b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$IsindexAction.class index e203cc5..09d7432 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$IsindexAction.class and b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$IsindexAction.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$LinkAction.class b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$LinkAction.class index 13c0d25..0386362 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$LinkAction.class and b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$LinkAction.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$MapAction.class b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$MapAction.class index 81ac765..9ee0972 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$MapAction.class and b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$MapAction.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$MetaAction.class b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$MetaAction.class index dddcb3a..126a39b 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$MetaAction.class and b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$MetaAction.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$ParagraphAction.class b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$ParagraphAction.class index 1d59925..b227eba 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$ParagraphAction.class and b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$ParagraphAction.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$PreAction.class b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$PreAction.class index d7e98e8..99a94f5 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$PreAction.class and b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$PreAction.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$SpecialAction.class b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$SpecialAction.class index a89dee3..d6674c1 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$SpecialAction.class and b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$SpecialAction.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$StyleAction.class b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$StyleAction.class index f8b2c59..168bcb4 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$StyleAction.class and b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$StyleAction.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$TagAction.class b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$TagAction.class index aa62c08..5492e94 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$TagAction.class and b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$TagAction.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$TitleAction.class b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$TitleAction.class index 67d7bd7..2e920207 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$TitleAction.class and b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$TitleAction.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader.class b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader.class index c44c2b4..6b6cd5b 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader.class and b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$Iterator.class b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$Iterator.class index 69a2c5f..cc0dc8d 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$Iterator.class and b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$Iterator.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$LeafIterator.class b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$LeafIterator.class index 352cfc6..cf26c0a 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$LeafIterator.class and b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$LeafIterator.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$RunElement.class b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$RunElement.class index 0ce0da0..173f91b 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$RunElement.class and b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$RunElement.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument.class b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument.class index ff4b449..1afc1c6 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument.class and b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLEditorKit$HTMLFactory.class b/libjava/classpath/lib/javax/swing/text/html/HTMLEditorKit$HTMLFactory.class index b4fb846..4f6a499 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/HTMLEditorKit$HTMLFactory.class and b/libjava/classpath/lib/javax/swing/text/html/HTMLEditorKit$HTMLFactory.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLEditorKit$HTMLTextAction.class b/libjava/classpath/lib/javax/swing/text/html/HTMLEditorKit$HTMLTextAction.class index fb0a05c..5d6c19b 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/HTMLEditorKit$HTMLTextAction.class and b/libjava/classpath/lib/javax/swing/text/html/HTMLEditorKit$HTMLTextAction.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLEditorKit$InsertHTMLTextAction.class b/libjava/classpath/lib/javax/swing/text/html/HTMLEditorKit$InsertHTMLTextAction.class index 8663774..c8db34a 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/HTMLEditorKit$InsertHTMLTextAction.class and b/libjava/classpath/lib/javax/swing/text/html/HTMLEditorKit$InsertHTMLTextAction.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLEditorKit$LinkController.class b/libjava/classpath/lib/javax/swing/text/html/HTMLEditorKit$LinkController.class index 8d94d0e..505b917 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/HTMLEditorKit$LinkController.class and b/libjava/classpath/lib/javax/swing/text/html/HTMLEditorKit$LinkController.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLEditorKit$Parser.class b/libjava/classpath/lib/javax/swing/text/html/HTMLEditorKit$Parser.class index 0024d89..d71751b 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/HTMLEditorKit$Parser.class and b/libjava/classpath/lib/javax/swing/text/html/HTMLEditorKit$Parser.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLEditorKit$ParserCallback.class b/libjava/classpath/lib/javax/swing/text/html/HTMLEditorKit$ParserCallback.class index 881a997..c022975 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/HTMLEditorKit$ParserCallback.class and b/libjava/classpath/lib/javax/swing/text/html/HTMLEditorKit$ParserCallback.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLEditorKit.class b/libjava/classpath/lib/javax/swing/text/html/HTMLEditorKit.class index 06a0122..ba5209e 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/HTMLEditorKit.class and b/libjava/classpath/lib/javax/swing/text/html/HTMLEditorKit.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLFrameHyperlinkEvent.class b/libjava/classpath/lib/javax/swing/text/html/HTMLFrameHyperlinkEvent.class index f5bf05f..d374e9a 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/HTMLFrameHyperlinkEvent.class and b/libjava/classpath/lib/javax/swing/text/html/HTMLFrameHyperlinkEvent.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLWriter.class b/libjava/classpath/lib/javax/swing/text/html/HTMLWriter.class index 25f8193..d390a80 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/HTMLWriter.class and b/libjava/classpath/lib/javax/swing/text/html/HTMLWriter.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/ImageView$1.class b/libjava/classpath/lib/javax/swing/text/html/ImageView$1.class index 1785831..ae9ab40 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/ImageView$1.class and b/libjava/classpath/lib/javax/swing/text/html/ImageView$1.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/ImageView.class b/libjava/classpath/lib/javax/swing/text/html/ImageView.class index dfd7164..d3bc2f3 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/ImageView.class and b/libjava/classpath/lib/javax/swing/text/html/ImageView.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/InlineView.class b/libjava/classpath/lib/javax/swing/text/html/InlineView.class index b29d69c..c604f04 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/InlineView.class and b/libjava/classpath/lib/javax/swing/text/html/InlineView.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/ListView.class b/libjava/classpath/lib/javax/swing/text/html/ListView.class index cb6c120..b919bce 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/ListView.class and b/libjava/classpath/lib/javax/swing/text/html/ListView.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/NullView.class b/libjava/classpath/lib/javax/swing/text/html/NullView.class index 9974854..c547e32 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/NullView.class and b/libjava/classpath/lib/javax/swing/text/html/NullView.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/Option.class b/libjava/classpath/lib/javax/swing/text/html/Option.class index ea2adad..875e60d 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/Option.class and b/libjava/classpath/lib/javax/swing/text/html/Option.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/ParagraphView.class b/libjava/classpath/lib/javax/swing/text/html/ParagraphView.class index 6666ae9..930f30a 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/ParagraphView.class and b/libjava/classpath/lib/javax/swing/text/html/ParagraphView.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/ResetableToggleButtonModel.class b/libjava/classpath/lib/javax/swing/text/html/ResetableToggleButtonModel.class index 1d21f8b..8b838bb 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/ResetableToggleButtonModel.class and b/libjava/classpath/lib/javax/swing/text/html/ResetableToggleButtonModel.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/StyleSheet$BoxPainter.class b/libjava/classpath/lib/javax/swing/text/html/StyleSheet$BoxPainter.class index 6541ceb..d358e47 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/StyleSheet$BoxPainter.class and b/libjava/classpath/lib/javax/swing/text/html/StyleSheet$BoxPainter.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/StyleSheet$CSSStyleSheetParserCallback.class b/libjava/classpath/lib/javax/swing/text/html/StyleSheet$CSSStyleSheetParserCallback.class index fdac195..effc181 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/StyleSheet$CSSStyleSheetParserCallback.class and b/libjava/classpath/lib/javax/swing/text/html/StyleSheet$CSSStyleSheetParserCallback.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/StyleSheet$ListPainter.class b/libjava/classpath/lib/javax/swing/text/html/StyleSheet$ListPainter.class index fa48de6..f94d394 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/StyleSheet$ListPainter.class and b/libjava/classpath/lib/javax/swing/text/html/StyleSheet$ListPainter.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/StyleSheet.class b/libjava/classpath/lib/javax/swing/text/html/StyleSheet.class index 10297ec..7e6f42c 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/StyleSheet.class and b/libjava/classpath/lib/javax/swing/text/html/StyleSheet.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/TableView$CellView.class b/libjava/classpath/lib/javax/swing/text/html/TableView$CellView.class index 13eb086..92c9880 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/TableView$CellView.class and b/libjava/classpath/lib/javax/swing/text/html/TableView$CellView.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/TableView$RowView.class b/libjava/classpath/lib/javax/swing/text/html/TableView$RowView.class index b16dedc..e217b0d 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/TableView$RowView.class and b/libjava/classpath/lib/javax/swing/text/html/TableView$RowView.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/TableView.class b/libjava/classpath/lib/javax/swing/text/html/TableView.class index 0dfa3ef..d6c13f9 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/TableView.class and b/libjava/classpath/lib/javax/swing/text/html/TableView.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/ViewAttributeSet.class b/libjava/classpath/lib/javax/swing/text/html/ViewAttributeSet.class index 9f6957e..c52ba99 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/ViewAttributeSet.class and b/libjava/classpath/lib/javax/swing/text/html/ViewAttributeSet.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/parser/AttributeList$1.class b/libjava/classpath/lib/javax/swing/text/html/parser/AttributeList$1.class index ad5c071..0b0744a 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/parser/AttributeList$1.class and b/libjava/classpath/lib/javax/swing/text/html/parser/AttributeList$1.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/parser/AttributeList.class b/libjava/classpath/lib/javax/swing/text/html/parser/AttributeList.class index 2029119..ecfd94a 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/parser/AttributeList.class and b/libjava/classpath/lib/javax/swing/text/html/parser/AttributeList.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/parser/DocumentParser$gnuParser.class b/libjava/classpath/lib/javax/swing/text/html/parser/DocumentParser$gnuParser.class index 92d8752..9e912bb 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/parser/DocumentParser$gnuParser.class and b/libjava/classpath/lib/javax/swing/text/html/parser/DocumentParser$gnuParser.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/parser/DocumentParser.class b/libjava/classpath/lib/javax/swing/text/html/parser/DocumentParser.class index 6a70fbd..6d9d84d 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/parser/DocumentParser.class and b/libjava/classpath/lib/javax/swing/text/html/parser/DocumentParser.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/parser/Element$1.class b/libjava/classpath/lib/javax/swing/text/html/parser/Element$1.class index d3f745d..639e858 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/parser/Element$1.class and b/libjava/classpath/lib/javax/swing/text/html/parser/Element$1.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/parser/Element.class b/libjava/classpath/lib/javax/swing/text/html/parser/Element.class index a068f25..0c39184 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/parser/Element.class and b/libjava/classpath/lib/javax/swing/text/html/parser/Element.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/parser/Entity$1.class b/libjava/classpath/lib/javax/swing/text/html/parser/Entity$1.class index 6eeb20c..1e7467e 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/parser/Entity$1.class and b/libjava/classpath/lib/javax/swing/text/html/parser/Entity$1.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/parser/Entity.class b/libjava/classpath/lib/javax/swing/text/html/parser/Entity.class index 9c880cf..ae8e13f 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/parser/Entity.class and b/libjava/classpath/lib/javax/swing/text/html/parser/Entity.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/parser/Parser$1.class b/libjava/classpath/lib/javax/swing/text/html/parser/Parser$1.class index 85e12ba..fd8c757 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/parser/Parser$1.class and b/libjava/classpath/lib/javax/swing/text/html/parser/Parser$1.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/parser/Parser.class b/libjava/classpath/lib/javax/swing/text/html/parser/Parser.class index 724947d..cad2a24 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/parser/Parser.class and b/libjava/classpath/lib/javax/swing/text/html/parser/Parser.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/parser/ParserDelegator$gnuParser.class b/libjava/classpath/lib/javax/swing/text/html/parser/ParserDelegator$gnuParser.class index 004c1b2..139989a 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/parser/ParserDelegator$gnuParser.class and b/libjava/classpath/lib/javax/swing/text/html/parser/ParserDelegator$gnuParser.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/parser/ParserDelegator.class b/libjava/classpath/lib/javax/swing/text/html/parser/ParserDelegator.class index ab5aa69..eb715de 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/parser/ParserDelegator.class and b/libjava/classpath/lib/javax/swing/text/html/parser/ParserDelegator.class differ diff --git a/libjava/classpath/lib/javax/swing/text/html/parser/TagElement.class b/libjava/classpath/lib/javax/swing/text/html/parser/TagElement.class index 68799b2..c42f8d7 100644 Binary files a/libjava/classpath/lib/javax/swing/text/html/parser/TagElement.class and b/libjava/classpath/lib/javax/swing/text/html/parser/TagElement.class differ diff --git a/libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$PostorderEnumeration.class b/libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$PostorderEnumeration.class index 1d27efa..5f645d6 100644 Binary files a/libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$PostorderEnumeration.class and b/libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$PostorderEnumeration.class differ diff --git a/libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$PreorderEnumeration.class b/libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$PreorderEnumeration.class index 08e011a..2f343c8 100644 Binary files a/libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$PreorderEnumeration.class and b/libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$PreorderEnumeration.class differ diff --git a/libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode.class b/libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode.class index 77d6492..b35ed22 100644 Binary files a/libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode.class and b/libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode.class differ diff --git a/libjava/classpath/lib/javax/swing/tree/DefaultTreeCellEditor.class b/libjava/classpath/lib/javax/swing/tree/DefaultTreeCellEditor.class index 39c241a..2ea56b2 100644 Binary files a/libjava/classpath/lib/javax/swing/tree/DefaultTreeCellEditor.class and b/libjava/classpath/lib/javax/swing/tree/DefaultTreeCellEditor.class differ diff --git a/libjava/classpath/lib/javax/swing/tree/VariableHeightLayoutCache.class b/libjava/classpath/lib/javax/swing/tree/VariableHeightLayoutCache.class index dae7a86..3976309 100644 Binary files a/libjava/classpath/lib/javax/swing/tree/VariableHeightLayoutCache.class and b/libjava/classpath/lib/javax/swing/tree/VariableHeightLayoutCache.class differ diff --git a/libjava/classpath/lib/javax/xml/datatype/Duration.class b/libjava/classpath/lib/javax/xml/datatype/Duration.class index 2e89ae6..903d894 100644 Binary files a/libjava/classpath/lib/javax/xml/datatype/Duration.class and b/libjava/classpath/lib/javax/xml/datatype/Duration.class differ diff --git a/libjava/classpath/lib/javax/xml/validation/SchemaFactory.class b/libjava/classpath/lib/javax/xml/validation/SchemaFactory.class index 3e8f620..74de654 100644 Binary files a/libjava/classpath/lib/javax/xml/validation/SchemaFactory.class and b/libjava/classpath/lib/javax/xml/validation/SchemaFactory.class differ diff --git a/libjava/classpath/lib/jazzlib/index.html b/libjava/classpath/lib/jazzlib/index.html deleted file mode 100644 index 72ac816..0000000 --- a/libjava/classpath/lib/jazzlib/index.html +++ /dev/null @@ -1,47 +0,0 @@ - - -A pure java implementation of java.util.zip library - - -

      A pure java implementation of the java.util.zip library

      - -This project provides an implementation of the java.util.zip classes. -

      -The code is pure java (no native code is used), and we aim to be compatible with existing java.util.zip implementations. Some code was borrowed from libgcj, almost all the rest was written by Jochen Hoenicke. -

      -There is very similar project at http://www.jcraft.com/jzlib/index.html.
      -Another project to implement bzip2 is at http://www.aftexsw.com/aftex/products/java/bzip/. -

      -For the latest source, see the classpath CVS repository. On this page you'll find source and binary releases of the code in both the net.sf.jazzlib and java.util.zip namespaces. -

      -The net.sf.jazzlib namespace is useful for situations where native code isn't allowed (such as in applets) and you need to use zip files. Builds in the java.util.zip namespace have a -juz suffix. -
      -

      License

      -This code is released under the GPL license with a special exception: -
      -As a special exception, if you link this library with other files to
      -produce an executable, this library does not by itself cause the
      -resulting executable to be covered by the GNU General Public License.
      -This exception does not however invalidate any other reasons why the
      -executable file might be covered by the GNU General Public License. 
      -
      -

      Latest release is 0.07

      -Download source or binary packages for all releases here. -

      -There is a md5sums file in each release that you can use to check the integrity of the files. The md5sums is also signed with my public key (finger jewel at debian.org), the signature is in md5sums.asc. -

      -

      Contact information and bug notification

      -You should post a message to the jazzlib-developers list (subscribe, archives) to report a bug or contact the developers. - -
      -The CVS repository for this project is part of the classpath project. -

      -The files in the SourceForge CVS repository should be considered to be of historical interest only. -

      -John Leuner (jewel at pixie.co.za)
      -13 May 2004 - -


      - SourceForge Logo - - \ No newline at end of file diff --git a/libjava/classpath/lib/jazzlib/makeJazzlibDist.sh b/libjava/classpath/lib/jazzlib/makeJazzlibDist.sh deleted file mode 100755 index 5c75960..0000000 --- a/libjava/classpath/lib/jazzlib/makeJazzlibDist.sh +++ /dev/null @@ -1,121 +0,0 @@ -#!/bin/zsh - -echo "----- Run this from the classpath/java/util/zip directory -----" -echo "----- -----" -echo "----- Options: -----" -echo "----- -----" -echo "----- juz -- build .tar.gz and .zip archives in java.util.zip namespace" -echo "----- jar -- build .jar file in java.util.zip and java.util.jar namespaces" -echo "----- -- build .tar.gz. and .zip archive for net.sf.jazzlib namespace" -echo "----- -----" -echo "----- Edit this script to change the release number -----" -echo "----- Do rm -rf dist when you're finished -----" -echo "----- 30 May 2002 John Leuner -----" - -RELEASE_NUMBER=07 - -# $1 is the archive command, eg "tar czvf" or "zip" or "jar cf" -# $2 is the archive suffix, eg ".zip" or ".tar.gz" -# $3 is the "-binary" flag, which may be empty -# $4 is the "-juz" suffix, which may be empty -# $5 is the set of files that need to be md5-summed -# $6 is the set of files in addition to $5 that are to be archived - -function create_archive { - md5sum ${=5} > md5sums - gpg --clearsign md5sums - ${=1} jazzlib${3}-0.$RELEASE_NUMBER${4}${2} ${=5} ${=6} - rm -f md5sums - rm -f md5sums.asc -} - -# $1 is the package name, ie java.util.zip or net.sf.jazzlib - -function make_javadoc { - rm -rf javadoc - mkdir javadoc - javadoc -sourcepath . -d javadoc/ $1 -} - -case "$1" in - juz) - mkdir -p dist/java/util/zip - - #make source archive - cp *.java dist/java/util/zip - pushd dist - - make_javadoc java.util.zip - - cp ../../../../COPYING . - - foo=(java/util/zip/*.java) - create_archive "tar czvf" ".tar.gz" "" "-juz" "$foo" "javadoc md5sums md5sums.asc COPYING" - create_archive "zip" ".zip" "" "-juz" "$foo" "javadoc md5sums md5sums.asc COPYING" - - popd - - #make binary distro second - cp ../../../lib/java/util/zip/*.class dist/java/util/zip - pushd dist - - foo=(java/util/zip/*.class) - create_archive "tar czvf" ".tar.gz" "-binary" "-juz" "$foo" "javadoc md5sums md5sums.asc COPYING" - create_archive "zip" ".zip" "-binary" "-juz" "$foo" "javadoc md5sums md5sums.asc COPYING" - - popd - ;; - jar) - mkdir -p dist/java/util/zip - mkdir -p dist/java/util/jar - - #make binary distro second - cp ../../../lib/java/util/zip/*.class dist/java/util/zip - cp ../../../lib/java/util/zip/../jar/*.class dist/java/util/jar - pushd dist - - cp ../../../../COPYING . - foo=(java/util/zip/*.class) - foo=($foo java/util/jar/*.class) - - create_archive "fastjar cf" ".jar" "-binary" "-juz" "$foo" "md5sums md5sums.asc COPYING" - - popd - ;; - *) - #copy files to dist directory and make net.sf.jazzlib the package name - - mkdir -p dist/net/sf/jazzlib - cp *.java dist/net/sf/jazzlib - for i in dist/net/sf/jazzlib/*.java ; do - sed -e "s/java\.util\.zip/net.sf.jazzlib/" < $i > $i.tmp ; - mv $i.tmp $i; - done - - pushd dist - - make_javadoc "net.sf.jazzlib" - - cp ../../../../COPYING . - - foo=(net/sf/jazzlib/*.java) - create_archive "tar czvf" ".tar.gz" "" "" "$foo" "javadoc md5sums md5sums.asc COPYING" - create_archive "zip" ".zip" "" "" "$foo" "javadoc md5sums md5sums.asc COPYING" - - #compile the source - javac net/sf/jazzlib/*.java - - foo=(net/sf/jazzlib/*.class) - create_archive "tar czvf" ".tar.gz" "-binary" "" "$foo" "javadoc md5sums md5sums.asc COPYING" - create_archive "zip" ".zip" "-binary" "" "$foo" "javadoc md5sums md5sums.asc COPYING" - - #back to dir - popd - - ;; -esac -ls -la dist/{*.tar.gz,*.jar,*.zip} - - - - diff --git a/libjava/classpath/lib/mkcollections.pl.in b/libjava/classpath/lib/mkcollections.pl.in index 3d2d3c7..2c80aa1 100755 --- a/libjava/classpath/lib/mkcollections.pl.in +++ b/libjava/classpath/lib/mkcollections.pl.in @@ -55,6 +55,12 @@ my @javautilclasses=qw(AbstractCollection TreeMap TreeSet Vector); +my @externalclasses=qw(AbstractQueue + ArrayDeque + Deque + NavigableMap + NavigableSet + Queue); my $destPkg = $destpath; $destPkg =~ s!/!.!g; @@ -109,6 +115,9 @@ EOF for $clazz (@javautilclasses) { $_ =~ s/java.util.$clazz/$clazz/g; } + for $clazz (@externalclasses) { + $_ =~ s/java.util.$clazz/$clazz/g; + } $_ =~ s/abstract (interface)/$1/g; @@ -139,3 +148,11 @@ for $file (@javautilclasses) { print "$outfile\n"; convert ($file, $infile, $outfile); } + +for $file (@externalclasses) { + my $infile = "$classpath/external/jsr166/java/util/$file.java"; + my $outfile = "$destpath/$file.java"; + print "$outfile\n"; + convert ($file, $infile, $outfile); +} + diff --git a/libjava/classpath/lib/mkdep.pl.in b/libjava/classpath/lib/mkdep.pl.in deleted file mode 100755 index b30fd7a..0000000 --- a/libjava/classpath/lib/mkdep.pl.in +++ /dev/null @@ -1,336 +0,0 @@ -#!@PERL@ -# -# Create a dependency file for use with make that will -# a) not have duplicate entries -# b) not include the source of a file as a dependency to separate file, -# just the class of the file -# c) use jikes .u files -# d) includes classes which need native compilation via simple parsing -# to find native methods requiring use of javah - -use strict; - -my ( $dir, $dep ) = ""; -my @dirs = ( 'java', 'javax', 'gnu' ); -my ( $depout ) = "makefile.dep"; -my ( $classout ) = "classes.dep"; -my ( $headerout ) = "headers.dep"; -my ( $javaout ) = "java.dep"; -my @deps = (); -my @natives = (); -use vars qw ( $classout $headerout @dirs @deps @natives $dir $dep $depout ); - -# main -{ - if ($#ARGV == 0) - { - if ($ARGV[0] =~ /^-h/) - { - findNativeFiles(); - writeNativeFile(); - } - elsif ($ARGV[0] =~ /^-d/) - { - foreach $dir (@dirs) - { - # find all .u files recursively and parse'm - findDepFiles($dir); - } - writeDepFile(); - } - elsif ($ARGV[0] =~ /^-c/) - { - findClassFiles(); - writeClassFile(); - } - elsif ($ARGV[0] =~ /^-j/) - { - findJavaFiles(); - writeJavaFile(); - } - } - else - { - print "Usage:\n"; - print "mkdep.pl -h \tfor header files\n"; - print "mkdep.pl -c \tfor a list of classes\n"; - print "mkdep.pl -j \tfor a list of java files\n"; - print "mkdep.pl -d \tfor dependency generation from jikes .u files\n"; - } -} - -sub writeNativeFile -{ - my ($i, $j, $k, $l) = ""; - my $top_srcdir = "../"; - if (defined $ENV{'top_srcdir'}) { - $top_srcdir = $ENV{'top_srcdir'}; - } - my $top_srcdir_regex = $top_srcdir; - if ($top_srcdir_regex !~ /.*\/$/) { - $top_srcdir_regex .= '/'; - } - $top_srcdir_regex =~ s/\./\\\./g; # replace . with \. - $top_srcdir_regex =~ s/\//\\\//g; # replace / with \/ -# print "regex is $top_srcdir_regex\n"; - open(MAKEDEP, ">$headerout") || die "Could not open file ", $headerout; - - # the HEADERS = ... stuff - if ($#natives > -1) - { - print MAKEDEP "CP_HEADERS = \\", "\n"; - foreach $i (0 .. $#natives-1) - { - $j = $natives[$i]; - $j =~ s/^$top_srcdir_regex//; # remove ../ or similar - $j =~ s/^(\.\.\/)+//g; # remove all preceding ../ - $j =~ s/^vm\/reference\///; # remove vm/reference/ - $j =~ s/\//_/g; # replace / with _ - $j =~ s/\.java$/\.h/; # replace .java with .h - print MAKEDEP " \$(top_builddir)/include/", $j, " \\", "\n"; - } - $j = $natives[$#natives]; - $j =~ s/^$top_srcdir_regex//; # remove ../ - $j =~ s/^(\.\.\/)+//g; # remove all preceding ../ - $j =~ s/^vm\/reference\///; # remove vm/reference/ - $j =~ s/\//_/g; # replace / with _ - $j =~ s/\.java/\.h/; # replace .java with .h - print MAKEDEP " \$(top_builddir)/include/", $j, "\n\n"; - - # print rules to make .h files - # y/x.h : z/x.class - # y/x.h : ../z/x.java - # javah -jni z.x - # mv y_x.h $(top_srcdir)/include - - # j = y/x.h - # k = z/x.class - # k = ../z/x.java - # l = z.x - foreach $i (0 .. $#natives-1) - { - $j = $natives[$i]; - $j =~ s/^$top_srcdir_regex//; # remove ../ - $j =~ s/^(\.\.\/)+//g; # remove all preceding ../ - $j =~ s/^vm\/reference\///; # remove vm/reference/ -# $k = $l = $j; - $l = $j; - $j =~ s/\//_/g; # replace / with _ - $j =~ s/\.java$/\.h/; # replace .java with .h - - $k = $natives[$i]; # the original .java file -# $k =~ s/\.java$/\.class/; # replace .java with .class - - $l =~ s/\.java$//; # remove .class - $l =~ s/\//\./g; # replace / with . - - print MAKEDEP "\$(top_builddir)/include/", $j, " : ", $k, "\n"; - print MAKEDEP "\t\$(JAVAH) ", $l, "\n"; - print MAKEDEP "\tmv ", $j, " \$(top_builddir)/include\n\n"; - } - $j = $natives[$#natives]; - $j =~ s/^$top_srcdir_regex//; # remove ../ - $j =~ s/^(\.\.\/)+//g; # remove all preceding ../ - $j =~ s/^vm\/reference\///; # remove vm/reference/ -# $k = $l = $j; - $l = $j; - $j =~ s/\//_/g; # replace / with _ - $j =~ s/\.java/\.h/; # replace .java with .h - - $k = $natives[$#natives]; # the original .java file -# $k =~ s/\.java$/\.class/; # replace .java with .class - - $l =~ s/\.java$//; # remove .class - $l =~ s/\//\./g; # replace / with . - - print MAKEDEP "\$(top_builddir)/include/", $j, " : ", $k, "\n"; - print MAKEDEP "\t\$(JAVAH) ", $l, "\n"; - print MAKEDEP "\tmv ", $j, " \$(top_builddir)/include\n\n"; - } - close(MAKEDEP); -} - -sub writeJavaFile -{ - my ($i, $j, $class, $depend, $source, $depend_source) = ""; - - open(MAKEDEP, ">$javaout") || die "Could not open file ", $classout; - - # the JAVA_SRCS = ... stuff - if ($#natives > -1) - { - print MAKEDEP "JAVA_SRCS = \\", "\n"; - foreach $i (0 .. $#natives-1) - { - $j = $natives[$i]; - print MAKEDEP " ", $j, " \\", "\n"; - } - $j = $natives[$#natives]; - print MAKEDEP " ", $j, "\n\n"; - } - close(MAKEDEP); -} - -sub writeClassFile -{ - my ($i, $j, $class, $depend, $source, $depend_source) = ""; - - open(MAKEDEP, ">$classout") || die "Could not open file ", $classout; - - # the CLASSES = ... stuff - if ($#natives > -1) - { - print MAKEDEP "CLASSES = \\", "\n"; - foreach $i (0 .. $#natives-1) - { - $j = $natives[$i]; - $j =~ s/\.java$/\.class/; - print MAKEDEP " ", $j, " \\", "\n"; - } - $j = $natives[$#natives]; - $j =~ s/\.java$/\.class/; - print MAKEDEP " ", $j, "\n\n"; - } - close(MAKEDEP); -} - -sub writeDepFile -{ - my ($i, $j, $class, $depend, $source, $depend_source) = ""; - - open(MAKEDEP, ">$depout") || die "Could not open file ", $depout; - - # the class dependencies - foreach $i (@deps) - { - open(FILE, "<$i") || die "Could not open file ", $i, "\n"; - while() - { - chop; - ($class, $depend) = /(.+) : (.+)$/; - $source = $class; - $source =~ s/\.class$/\.java/; - if (($source eq $depend) || ($depend !~ /\.java$/)) - { - if ($depend =~ /^\.\.\/.+\.class$/) - { - $depend =~ s/^\.\.\///; - } - if (($depend =~ /\.java$/) && ($depend !~ /^\.\.\//)) - { - $depend = "../" . $depend; - } - print MAKEDEP $class, " : ", $depend, "\n"; - } - } - print MAKEDEP "\n"; - close(FILE); - } - close(MAKEDEP); -} - -sub findJavaFiles -{ - my ($file) = ""; - open(CLASSES, ") - { - chop; - $file = $_; - push @natives, $file; - } - close(CLASSES); -} - -sub findClassFiles -{ - my ($file) = ""; - open(CLASSES, ") - { - chop; - $file = $_; - $file =~ s/^\.\.\///; - push @natives, $file; - } - close(CLASSES); -} - -sub findNativeFiles -{ - my ($file) = ""; - open(CLASSES, ") - { - chop; - $file = $_; - if (hasNativeMethod($file)) - { - push @natives, $file; - } - - } - close(CLASSES); -} - -sub hasNativeMethod -{ - my ($file) = @_; - my ($line, $one, $two) = ""; - open(FILE, "<$file") || die "Could not open file ", $file, "\n"; - while() - { - chop; - $one = $two; - $two = $_; - - $line = $one . " " . $two; - if ( ($line =~ /^\s*public\s.*native\s+\S+\s+\S+\s*\(/) || - ($line =~ /^\s*public\s.*native\s+\S+\s+\S+\s+\S+\s*\(/) || - ($line =~ /^\s*protected\s.*native\s+\S+\s+\S+\s*\(/) || - ($line =~ /^\s*protected\s.*native\s+\S+\s+\S+\s+\S+\s*\(/) || - ($line =~ /^\s*private\s.*native\s+\S+\s+\S+\s*\(/) || - ($line =~ /^\s*private\s.*native\s+\S+\s+\S+\s+\S+\s*\(/) || - ($line =~ /^\s*abstract\s.*native\s+\S+\s+\S+\s*\(/) || - ($line =~ /^\s*final\s.*native\s+\S+\s+\S+\s*\(/) || - ($line =~ /^\s*synchronized\s.*native\s+\S+\s+\S+\s*\(/) || - ($line =~ /^\s*native\s.*/) ) - { - close(FILE); - return 1; - } - } - close(FILE); - return 0; -} - -sub findDepFiles -{ - - my ($dir) = @_; - my (@dirs) = (); - my (@local_deps) = (); - my (@entries) = (); - my ($i, $local_dep) = ""; - if (opendir(DIR, $dir)) - { - @entries = grep(-d "$dir/$_" && !/^\.\.?$/, readdir(DIR)); - foreach $i (@entries) - { - push @dirs, "$dir/$i"; - } - rewinddir(DIR); - @entries= grep(/\.u$/, readdir(DIR)); - closedir(DIR); - foreach $i (@entries) - { - push @local_deps, "$dir/$i"; - } - push @deps, @local_deps; - foreach $i (@dirs) - { - findDepFiles($i); - } - } -} - diff --git a/libjava/classpath/lib/org/omg/CORBA/DynAny.class b/libjava/classpath/lib/org/omg/CORBA/DynAny.class index aec6c14..2642517 100644 Binary files a/libjava/classpath/lib/org/omg/CORBA/DynAny.class and b/libjava/classpath/lib/org/omg/CORBA/DynAny.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/DynArray.class b/libjava/classpath/lib/org/omg/CORBA/DynArray.class index 6ed14fb..8ddeb48 100644 Binary files a/libjava/classpath/lib/org/omg/CORBA/DynArray.class and b/libjava/classpath/lib/org/omg/CORBA/DynArray.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/DynEnum.class b/libjava/classpath/lib/org/omg/CORBA/DynEnum.class index fc31a3e..eb9b267 100644 Binary files a/libjava/classpath/lib/org/omg/CORBA/DynEnum.class and b/libjava/classpath/lib/org/omg/CORBA/DynEnum.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/DynFixed.class b/libjava/classpath/lib/org/omg/CORBA/DynFixed.class index 4e07360..d99146f 100644 Binary files a/libjava/classpath/lib/org/omg/CORBA/DynFixed.class and b/libjava/classpath/lib/org/omg/CORBA/DynFixed.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/DynSequence.class b/libjava/classpath/lib/org/omg/CORBA/DynSequence.class index 9f78322..06347bf 100644 Binary files a/libjava/classpath/lib/org/omg/CORBA/DynSequence.class and b/libjava/classpath/lib/org/omg/CORBA/DynSequence.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/DynStruct.class b/libjava/classpath/lib/org/omg/CORBA/DynStruct.class index db555c3..2293104 100644 Binary files a/libjava/classpath/lib/org/omg/CORBA/DynStruct.class and b/libjava/classpath/lib/org/omg/CORBA/DynStruct.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/DynUnion.class b/libjava/classpath/lib/org/omg/CORBA/DynUnion.class index 0d7705f..5fa83ca 100644 Binary files a/libjava/classpath/lib/org/omg/CORBA/DynUnion.class and b/libjava/classpath/lib/org/omg/CORBA/DynUnion.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/DynValue.class b/libjava/classpath/lib/org/omg/CORBA/DynValue.class index b88d8c9..e5584e3 100644 Binary files a/libjava/classpath/lib/org/omg/CORBA/DynValue.class and b/libjava/classpath/lib/org/omg/CORBA/DynValue.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/ORB.class b/libjava/classpath/lib/org/omg/CORBA/ORB.class index 4dfd853..4baf0f9 100644 Binary files a/libjava/classpath/lib/org/omg/CORBA/ORB.class and b/libjava/classpath/lib/org/omg/CORBA/ORB.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/_IDLTypeStub.class b/libjava/classpath/lib/org/omg/CORBA/_IDLTypeStub.class index 1089845..9ec4c33 100644 Binary files a/libjava/classpath/lib/org/omg/CORBA/_IDLTypeStub.class and b/libjava/classpath/lib/org/omg/CORBA/_IDLTypeStub.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/_PolicyStub.class b/libjava/classpath/lib/org/omg/CORBA/_PolicyStub.class index 5e9267a..51e1f2d 100644 Binary files a/libjava/classpath/lib/org/omg/CORBA/_PolicyStub.class and b/libjava/classpath/lib/org/omg/CORBA/_PolicyStub.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/_BindingIteratorStub.class b/libjava/classpath/lib/org/omg/CosNaming/_BindingIteratorStub.class index d631bf3..022f973 100644 Binary files a/libjava/classpath/lib/org/omg/CosNaming/_BindingIteratorStub.class and b/libjava/classpath/lib/org/omg/CosNaming/_BindingIteratorStub.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/_NamingContextExtStub.class b/libjava/classpath/lib/org/omg/CosNaming/_NamingContextExtStub.class index 00551d8..0a26bcd 100644 Binary files a/libjava/classpath/lib/org/omg/CosNaming/_NamingContextExtStub.class and b/libjava/classpath/lib/org/omg/CosNaming/_NamingContextExtStub.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/_NamingContextStub.class b/libjava/classpath/lib/org/omg/CosNaming/_NamingContextStub.class index 043b6f7..6491305 100644 Binary files a/libjava/classpath/lib/org/omg/CosNaming/_NamingContextStub.class and b/libjava/classpath/lib/org/omg/CosNaming/_NamingContextStub.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/_IORInterceptor_3_0Stub.class b/libjava/classpath/lib/org/omg/PortableInterceptor/_IORInterceptor_3_0Stub.class index c7d97cb..8486e4d 100644 Binary files a/libjava/classpath/lib/org/omg/PortableInterceptor/_IORInterceptor_3_0Stub.class and b/libjava/classpath/lib/org/omg/PortableInterceptor/_IORInterceptor_3_0Stub.class differ diff --git a/libjava/classpath/lib/org/relaxng/datatype/helpers/DatatypeLibraryLoader$Service$Loader.class b/libjava/classpath/lib/org/relaxng/datatype/helpers/DatatypeLibraryLoader$Service$Loader.class index 20f833b..07b60f6 100644 Binary files a/libjava/classpath/lib/org/relaxng/datatype/helpers/DatatypeLibraryLoader$Service$Loader.class and b/libjava/classpath/lib/org/relaxng/datatype/helpers/DatatypeLibraryLoader$Service$Loader.class differ diff --git a/libjava/classpath/lib/org/relaxng/datatype/helpers/DatatypeLibraryLoader$Service$Loader2.class b/libjava/classpath/lib/org/relaxng/datatype/helpers/DatatypeLibraryLoader$Service$Loader2.class index 08e660a..0991ee0 100644 Binary files a/libjava/classpath/lib/org/relaxng/datatype/helpers/DatatypeLibraryLoader$Service$Loader2.class and b/libjava/classpath/lib/org/relaxng/datatype/helpers/DatatypeLibraryLoader$Service$Loader2.class differ diff --git a/libjava/classpath/lib/org/relaxng/datatype/helpers/DatatypeLibraryLoader$Service.class b/libjava/classpath/lib/org/relaxng/datatype/helpers/DatatypeLibraryLoader$Service.class index 72fbfc3..8316221 100644 Binary files a/libjava/classpath/lib/org/relaxng/datatype/helpers/DatatypeLibraryLoader$Service.class and b/libjava/classpath/lib/org/relaxng/datatype/helpers/DatatypeLibraryLoader$Service.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry$1.class b/libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry$1.class index c6cc336..8a9301d 100644 Binary files a/libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry$1.class and b/libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry$1.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry$2.class b/libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry$2.class index 6b7def7..7c50f9a 100644 Binary files a/libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry$2.class and b/libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry$2.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry$3.class b/libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry$3.class index d367625..78e7a73 100644 Binary files a/libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry$3.class and b/libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry$3.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry$4.class b/libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry$4.class index 4e6b46f..73de1d7 100644 Binary files a/libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry$4.class and b/libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry$4.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry.class b/libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry.class index 8c24a81..1ed3399 100644 Binary files a/libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry.class and b/libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry.class differ diff --git a/libjava/classpath/lib/sun/reflect/annotation/AnnotationInvocationHandler.class b/libjava/classpath/lib/sun/reflect/annotation/AnnotationInvocationHandler.class index 2e30363..dfadd87 100644 Binary files a/libjava/classpath/lib/sun/reflect/annotation/AnnotationInvocationHandler.class and b/libjava/classpath/lib/sun/reflect/annotation/AnnotationInvocationHandler.class differ diff --git a/libjava/classpath/ltconfig b/libjava/classpath/ltconfig index b00e0ef..cfbfda8 100755 --- a/libjava/classpath/ltconfig +++ b/libjava/classpath/ltconfig @@ -626,7 +626,7 @@ old_postuninstall_cmds= if test -n "$RANLIB"; then old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" - old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds" + old_postinstall_cmds="~$old_postinstall_cmds~\$RANLIB \$oldlib" fi # Source the script associated with the $tagname tag configuration. @@ -1133,7 +1133,7 @@ freebsd1*) ;; freebsd*) - objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` + objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo elf` version_type=freebsd-$objformat case $version_type in freebsd-elf*) diff --git a/libjava/classpath/ltmain.sh b/libjava/classpath/ltmain.sh index 219823f..a3c55f9 100644 --- a/libjava/classpath/ltmain.sh +++ b/libjava/classpath/ltmain.sh @@ -3839,7 +3839,13 @@ extern \"C\" { fi # Try sorting and uniquifying the output. - if grep -v "^: " < "$nlist" | sort +2 | uniq > "$nlist"S; then + if grep -v "^: " < "$nlist" | + if sort -k 3 /dev/null 2>&1; then + sort -k 3 + else + sort +2 + fi | + uniq > "$nlist"S; then : else grep -v "^: " < "$nlist" > "$nlist"S diff --git a/libjava/classpath/m4/acinclude.m4 b/libjava/classpath/m4/acinclude.m4 index ca1af92..4133327 100644 --- a/libjava/classpath/m4/acinclude.m4 +++ b/libjava/classpath/m4/acinclude.m4 @@ -8,23 +8,25 @@ AC_DEFUN([CLASSPATH_FIND_JAVAC], CLASSPATH_WITH_GCJ CLASSPATH_WITH_JIKES CLASSPATH_WITH_KJC - CLASSPATH_WITH_GCJX CLASSPATH_WITH_ECJ + CLASSPATH_WITH_JAVAC if test "x${user_specified_javac}" = x; then AM_CONDITIONAL(FOUND_GCJ, test "x${GCJ}" != x) AM_CONDITIONAL(FOUND_JIKES, test "x${JIKES}" != x) AM_CONDITIONAL(FOUND_ECJ, test "x${ECJ}" != x) + AM_CONDITIONAL(FOUND_JAVAC, test "x${JAVAC}" != x) else AM_CONDITIONAL(FOUND_GCJ, test "x${user_specified_javac}" = xgcj) AM_CONDITIONAL(FOUND_JIKES, test "x${user_specified_javac}" = xjikes) AM_CONDITIONAL(FOUND_ECJ, test "x${user_specified_javac}" = xecj) + AM_CONDITIONAL(FOUND_JAVAC, test "x${user_specified_javac}" = xjavac) fi AM_CONDITIONAL(FOUND_KJC, test "x${user_specified_javac}" = xkjc) - AM_CONDITIONAL(FOUND_GCJX, test "x${user_specified_javac}" = xgcjx) - if test "x${GCJ}" = x && test "x${JIKES}" = x && test "x${user_specified_javac}" != xkjc && test "x${user_specified_javac}" != xgcjx && test "x${user_specified_javac}" != xecj; then - AC_MSG_ERROR([cannot find javac, try --with-gcj, --with-jikes, --with-kjc, --with-ecj, or --with-gcjx]) +dnl if test "x${GCJ}" = x && test "x${JIKES}" = x && test "x${user_specified_javac}" != xkjc; then + if test "x${ECJ}" = x && test "x${JAVAC}" = x && test "x${user_specified_javac}" != xecj; then + AC_MSG_ERROR([cannot find javac, try --with-ecj]) fi ]) @@ -184,41 +186,6 @@ AC_DEFUN([CLASSPATH_CHECK_KJC], ]) dnl ----------------------------------------------------------- -AC_DEFUN([CLASSPATH_WITH_GCJX], -[ - AC_ARG_WITH([gcjx], - [AS_HELP_STRING(--with-gcjx,bytecode compilation with gcjx)], - [ - if test "x${withval}" != x && test "x${withval}" != xyes && test "x${withval}" != xno; then - CLASSPATH_CHECK_GCJX(${withval}) - else - if test "x${withval}" != xno; then - CLASSPATH_CHECK_GCJX - fi - fi - user_specified_javac=gcjx - ], - [ - CLASSPATH_CHECK_GCJX - ]) - AC_SUBST(GCJX) -]) - -dnl ----------------------------------------------------------- -AC_DEFUN([CLASSPATH_CHECK_GCJX], -[ - if test "x$1" != x; then - if test -f "$1"; then - GCJX="$1" - else - AC_PATH_PROG(GCJX, "$1") - fi - else - AC_PATH_PROG(GCJX, "gcjx") - fi -]) - -dnl ----------------------------------------------------------- AC_DEFUN([CLASSPATH_WITH_JAVAH], [ AC_ARG_WITH([javah], @@ -471,3 +438,38 @@ AC_DEFUN([CLASSPATH_TOOLEXECLIBDIR], esac AC_SUBST(toolexeclibdir) ]) + +dnl ----------------------------------------------------------- +AC_DEFUN([CLASSPATH_WITH_JAVAC], +[ + AC_ARG_WITH([javac], + [AS_HELP_STRING(--with-javac,bytecode compilation with javac)], + [ + if test "x${withval}" != x && test "x${withval}" != xyes && test "x${withval}" != xno; then + CLASSPATH_CHECK_JAVAC(${withval}) + else + if test "x${withval}" != xno; then + CLASSPATH_CHECK_JAVAC + fi + fi + user_specified_javac=javac + ], + [ + CLASSPATH_CHECK_JAVAC + ]) + AC_SUBST(JAVAC) +]) + +dnl ----------------------------------------------------------- +AC_DEFUN([CLASSPATH_CHECK_JAVAC], +[ + if test "x$1" != x; then + if test -f "$1"; then + JAVAC="$1" + else + AC_PATH_PROG(JAVAC, "$1") + fi + else + AC_PATH_PROG(JAVAC, "javac") + fi +]) diff --git a/libjava/classpath/m4/ax_func_which_gethostbyname_r.m4 b/libjava/classpath/m4/ax_func_which_gethostbyname_r.m4 new file mode 100644 index 0000000..d1811ef --- /dev/null +++ b/libjava/classpath/m4/ax_func_which_gethostbyname_r.m4 @@ -0,0 +1,165 @@ +# m4/ax_func_which_gethostbyname_r.m4 + +# Copyright © 2005 Caolan McNamara +# Copyright © 2005 Daniel Richard G. + +# 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 +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. + +# This program 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 this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# As a special exception, the respective Autoconf Macro's copyright +# owner gives unlimited permission to copy, distribute and modify the +# configure scripts that are the output of Autoconf when processing +# the Macro. You need not follow the terms of the GNU General Public +# License when using or distributing such scripts, even though +# portions of the text of the Macro appear in them. The GNU General +# Public License (GPL) does govern all other use of the material that +# constitutes the Autoconf Macro. + +# This special exception to the GPL applies to versions of the +# Autoconf Macro released by the Autoconf Macro Archive. When you make +# and distribute a modified version of the Autoconf Macro, you may +# extend this special exception to the GPL to apply to your modified +# version as well. + + +AC_DEFUN([AX_FUNC_WHICH_GETHOSTBYNAME_R], [ + + AC_LANG_PUSH(C) + AC_MSG_CHECKING([how many arguments gethostbyname_r() takes]) + + AC_CACHE_VAL(ac_cv_func_which_gethostbyname_r, [ + +################################################################ + +ac_cv_func_which_gethostbyname_r=unknown + +# +# ONE ARGUMENT (sanity check) +# + +# This should fail, as there is no variant of gethostbyname_r() that takes +# a single argument. If it actually compiles, then we can assume that +# netdb.h is not declaring the function, and the compiler is thereby +# assuming an implicit prototype. In which case, we're out of luck. +# +AC_COMPILE_IFELSE( + AC_LANG_PROGRAM( + [[#include ]], + [[ + char *name = "www.gnu.org"; + (void)gethostbyname_r(name) /* ; */ + ]]), + ac_cv_func_which_gethostbyname_r=no) + +# +# SIX ARGUMENTS +# (e.g. Linux) +# + +if test "$ac_cv_func_which_gethostbyname_r" = "unknown"; then + +AC_COMPILE_IFELSE( + AC_LANG_PROGRAM( + [[#include ]], + [[ + char *name = "www.gnu.org"; + struct hostent ret, *retp; + char buf@<:@1024@:>@; + int buflen = 1024; + int my_h_errno; + (void)gethostbyname_r(name, &ret, buf, buflen, &retp, &my_h_errno) /* ; */ + ]]), + ac_cv_func_which_gethostbyname_r=six) + +fi + +# +# FIVE ARGUMENTS +# (e.g. Solaris) +# + +if test "$ac_cv_func_which_gethostbyname_r" = "unknown"; then + +AC_COMPILE_IFELSE( + AC_LANG_PROGRAM( + [[#include ]], + [[ + char *name = "www.gnu.org"; + struct hostent ret; + char buf@<:@1024@:>@; + int buflen = 1024; + int my_h_errno; + (void)gethostbyname_r(name, &ret, buf, buflen, &my_h_errno) /* ; */ + ]]), + ac_cv_func_which_gethostbyname_r=five) + +fi + +# +# THREE ARGUMENTS +# (e.g. AIX, HP-UX, Tru64) +# + +if test "$ac_cv_func_which_gethostbyname_r" = "unknown"; then + +AC_COMPILE_IFELSE( + AC_LANG_PROGRAM( + [[#include ]], + [[ + char *name = "www.gnu.org"; + struct hostent ret; + struct hostent_data data; + (void)gethostbyname_r(name, &ret, &data) /* ; */ + ]]), + ac_cv_func_which_gethostbyname_r=three) + +fi + +################################################################ + +]) dnl end AC_CACHE_VAL + +case "$ac_cv_func_which_gethostbyname_r" in + three) + AC_MSG_RESULT([three]) + AC_DEFINE([HAVE_FUNC_GETHOSTBYNAME_R_3], 1, [three-argument gethostbyname_r]) + ;; + + five) + AC_MSG_RESULT([five]) + AC_DEFINE([HAVE_FUNC_GETHOSTBYNAME_R_5], 1, [five-argument gethostbyname_r]) + ;; + + six) + AC_MSG_RESULT([six]) + AC_DEFINE([HAVE_FUNC_GETHOSTBYNAME_R_6], 1, [six-argument gethostbyname_r]) + ;; + + no) + AC_MSG_RESULT([cannot find function declaration in netdb.h]) + ;; + + unknown) + AC_MSG_RESULT([can't tell]) + ;; + + *) + AC_MSG_ERROR([internal error]) + ;; +esac + +AC_LANG_POP(C) + +]) dnl end AC_DEFUN diff --git a/libjava/classpath/missing b/libjava/classpath/missing index 2c025eb..1c8ff70 100755 --- a/libjava/classpath/missing +++ b/libjava/classpath/missing @@ -1,6 +1,10 @@ #! /bin/sh # Common stub for a few missing GNU programs while installing. -# Copyright (C) 1996, 1997, 1999, 2000, 2002 Free Software Foundation, Inc. + +scriptversion=2006-05-10.23 + +# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006 +# Free Software Foundation, Inc. # Originally by Fran,cois Pinard , 1996. # This program is free software; you can redistribute it and/or modify @@ -29,6 +33,8 @@ if test $# -eq 0; then fi run=: +sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p' +sed_minuso='s/.* -o \([^ ]*\).*/\1/p' # In the cases where this matters, `missing' is being run in the # srcdir already. @@ -38,18 +44,24 @@ else configure_ac=configure.in fi -case "$1" in +msg="missing on your system" + +case $1 in --run) # Try to run requested program, and just exit if it succeeds. run= shift "$@" && exit 0 + # Exit code 63 means version mismatch. This often happens + # when the user try to use an ancient version of a tool on + # a file that requires a minimum version. In this case we + # we should proceed has if the program had been absent, or + # if --run hadn't been passed. + if test $? = 63; then + run=: + msg="probably too old" + fi ;; -esac - -# If it does not exist, or fails to run (possibly an outdated version), -# try to emulate it. -case "$1" in -h|--h|--he|--hel|--help) echo "\ @@ -67,6 +79,7 @@ Supported PROGRAM values: aclocal touch file \`aclocal.m4' autoconf touch file \`configure' autoheader touch file \`config.h.in' + autom4te touch the output file, or create a stub one automake touch all \`Makefile.in' files bison create \`y.tab.[ch]', if possible, from existing .[ch] flex create \`lex.yy.c', if possible, from existing .c @@ -74,11 +87,15 @@ Supported PROGRAM values: 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]" + yacc create \`y.tab.[ch]', if possible, from existing .[ch] + +Send bug reports to ." + exit $? ;; -v|--v|--ve|--ver|--vers|--versi|--versio|--version) - echo "missing 0.4 - GNU automake" + echo "missing $scriptversion (GNU Automake)" + exit $? ;; -*) @@ -87,14 +104,44 @@ Supported PROGRAM values: exit 1 ;; - aclocal*) +esac + +# Now exit if we have it, but it failed. Also exit now if we +# don't have it and --version was passed (most likely to detect +# the program). +case $1 in + lex|yacc) + # 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. exit 1 + elif test "x$2" = "x--version" || test "x$2" = "x--help"; then + # Could not run --version or --help. This is probably someone + # running `$TOOL --version' or `$TOOL --help' to check whether + # $TOOL exists and not knowing $TOOL uses missing. + exit 1 fi + ;; +esac +# If it does not exist, or fails to run (possibly an outdated version), +# try to emulate it. +case $1 in + aclocal*) echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if +WARNING: \`$1' is $msg. You should only need it if you modified \`acinclude.m4' or \`${configure_ac}'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." @@ -102,13 +149,8 @@ WARNING: \`$1' is missing on your system. You should only need it if ;; autoconf) - if test -z "$run" && ($1 --version) > /dev/null 2>&1; then - # We have it, but it failed. - exit 1 - fi - echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if +WARNING: \`$1' is $msg. You should only need it if you modified \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." @@ -116,13 +158,8 @@ WARNING: \`$1' is missing on your system. You should only need it if ;; autoheader) - if test -z "$run" && ($1 --version) > /dev/null 2>&1; then - # We have it, but it failed. - exit 1 - fi - echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if +WARNING: \`$1' is $msg. You should only need it if you modified \`acconfig.h' or \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." @@ -130,7 +167,7 @@ WARNING: \`$1' is missing on your system. You should only need it if test -z "$files" && files="config.h" touch_files= for f in $files; do - case "$f" in + case $f in *:*) touch_files="$touch_files "`echo "$f" | sed -e 's/^[^:]*://' -e 's/:.*//'`;; *) touch_files="$touch_files $f.in";; @@ -140,13 +177,8 @@ WARNING: \`$1' is missing on your system. You should only need it if ;; automake*) - if test -z "$run" && ($1 --version) > /dev/null 2>&1; then - # We have it, but it failed. - exit 1 - fi - echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if +WARNING: \`$1' is $msg. You should only need it if you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." @@ -156,20 +188,15 @@ WARNING: \`$1' is missing on your system. You should only need it if ;; autom4te) - if test -z "$run" && ($1 --version) > /dev/null 2>&1; then - # We have it, but it failed. - exit 1 - fi - echo 1>&2 "\ -WARNING: \`$1' is needed, and you do not seem to have it handy on your - system. You might have modified some files without having the +WARNING: \`$1' is needed, but is $msg. + You might have modified some files without having the proper tools for further handling them. - You can get \`$1Help2man' as part of \`Autoconf' from any GNU + You can get \`$1' as part of \`Autoconf' from any GNU archive site." - file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'` - test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'` + file=`echo "$*" | sed -n "$sed_output"` + test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -f "$file"; then touch $file else @@ -185,74 +212,67 @@ WARNING: \`$1' is needed, and you do not seem to have it handy on your bison|yacc) echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if +WARNING: \`$1' $msg. You should only need it if you modified a \`.y' file. You may need the \`Bison' package in order for those modifications to take effect. You can get \`Bison' from any GNU archive site." rm -f y.tab.c y.tab.h - if [ $# -ne 1 ]; then + if test $# -ne 1; then eval LASTARG="\${$#}" - case "$LASTARG" in + case $LASTARG in *.y) SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` - if [ -f "$SRCFILE" ]; then + if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.c fi SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` - if [ -f "$SRCFILE" ]; then + if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.h fi ;; esac fi - if [ ! -f y.tab.h ]; then + if test ! -f y.tab.h; then echo >y.tab.h fi - if [ ! -f y.tab.c ]; then + if test ! -f y.tab.c; then echo 'main() { return 0; }' >y.tab.c fi ;; lex|flex) echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if +WARNING: \`$1' is $msg. You should only need it if you modified a \`.l' file. You may need the \`Flex' package in order for those modifications to take effect. You can get \`Flex' from any GNU archive site." rm -f lex.yy.c - if [ $# -ne 1 ]; then + if test $# -ne 1; then eval LASTARG="\${$#}" - case "$LASTARG" in + case $LASTARG in *.l) SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` - if [ -f "$SRCFILE" ]; then + if test -f "$SRCFILE"; then cp "$SRCFILE" lex.yy.c fi ;; esac fi - if [ ! -f lex.yy.c ]; then + if test ! -f lex.yy.c; then echo 'main() { return 0; }' >lex.yy.c fi ;; help2man) - if test -z "$run" && ($1 --version) > /dev/null 2>&1; then - # We have it, but it failed. - exit 1 - fi - echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if +WARNING: \`$1' is $msg. You should only need it if you modified a dependency of a manual page. You may need the \`Help2man' package in order for those modifications to take effect. You can get \`Help2man' from any GNU archive site." - file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` - if test -z "$file"; then - file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'` - fi - if [ -f "$file" ]; then + file=`echo "$*" | sed -n "$sed_output"` + test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` + if test -f "$file"; then touch $file else test -z "$file" || exec >$file @@ -262,32 +282,36 @@ WARNING: \`$1' is missing on your system. You should only need it if ;; makeinfo) - if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then - # We have makeinfo, but it failed. - exit 1 - fi - echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if +WARNING: \`$1' is $msg. You should only need it if you modified a \`.texi' or \`.texinfo' file, or any other file indirectly affecting the aspect of the manual. The spurious call might also be the consequence of using a buggy \`make' (AIX, DU, IRIX). You might want to install the \`Texinfo' package or the \`GNU make' package. Grab either from any GNU archive site." - file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` + # The file to touch is that specified with -o ... + file=`echo "$*" | sed -n "$sed_output"` + test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -z "$file"; then - file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` - file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file` + # ... or it is the one specified with @setfilename ... + infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` + file=`sed -n ' + /^@setfilename/{ + s/.* \([^ ]*\) *$/\1/ + p + q + }' $infile` + # ... or it is derived from the source name (dir/f.texi becomes f.info) + test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info fi + # If the file does not exist, the user really needs makeinfo; + # let's fail without touching anything. + test -f $file || exit 1 touch $file ;; tar) shift - if test -n "$run"; then - echo 1>&2 "ERROR: \`tar' requires --run" - exit 1 - fi # We have already tried tar in the generic part. # Look for gnutar/gtar before invocation to avoid ugly error @@ -300,13 +324,13 @@ WARNING: \`$1' is missing on your system. You should only need it if fi firstarg="$1" if shift; then - case "$firstarg" in + case $firstarg in *o*) firstarg=`echo "$firstarg" | sed s/o//` tar "$firstarg" "$@" && exit 0 ;; esac - case "$firstarg" in + case $firstarg in *h*) firstarg=`echo "$firstarg" | sed s/h//` tar "$firstarg" "$@" && exit 0 @@ -323,10 +347,10 @@ WARNING: I can't seem to be able to run \`tar' with the given arguments. *) echo 1>&2 "\ -WARNING: \`$1' is needed, and you do not seem to have it handy on your - system. You might have modified some files without having the +WARNING: \`$1' is needed, and is $msg. + You might have modified some files without having the proper tools for further handling them. Check the \`README' file, - it often tells you about the needed prerequirements for installing + it often tells you about the needed prerequisites for installing this package. You may also peek at any GNU archive site, in case some other package would contain this missing \`$1' program." exit 1 @@ -334,3 +358,10 @@ WARNING: \`$1' is needed, and you do not seem to have it handy on your esac exit 0 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/libjava/classpath/native/Makefile.in b/libjava/classpath/native/Makefile.in index be7f830..75ab244 100644 --- a/libjava/classpath/native/Makefile.in +++ b/libjava/classpath/native/Makefile.in @@ -43,16 +43,21 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ - $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ - $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ + $(top_srcdir)/../../libtool.m4 \ + $(top_srcdir)/../../ltoptions.m4 \ + $(top_srcdir)/../../ltsugar.m4 \ + $(top_srcdir)/../../ltversion.m4 \ + $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \ + $(top_srcdir)/m4/acinclude.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/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 +mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs CONFIG_HEADER = $(top_builddir)/include/config.h CONFIG_CLEAN_FILES = SOURCES = @@ -70,12 +75,15 @@ ACLOCAL = @ACLOCAL@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ +AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@ BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -121,6 +129,7 @@ DATE = @DATE@ DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ @@ -133,15 +142,16 @@ ERROR_CFLAGS = @ERROR_CFLAGS@ EXAMPLESDIR = @EXAMPLESDIR@ EXEEXT = @EXEEXT@ FASTJAR = @FASTJAR@ +FGREP = @FGREP@ FIND = @FIND@ FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@ FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@ FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@ FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@ -FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@ -FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@ FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@ FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@ +FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@ +FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@ FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@ FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@ FOUND_KJC_FALSE = @FOUND_KJC_FALSE@ @@ -149,7 +159,6 @@ FOUND_KJC_TRUE = @FOUND_KJC_TRUE@ FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@ FREETYPE2_LIBS = @FREETYPE2_LIBS@ GCJ = @GCJ@ -GCJX = @GCJX@ GCONF_CFLAGS = @GCONF_CFLAGS@ GCONF_LIBS = @GCONF_LIBS@ GDK_CFLAGS = @GDK_CFLAGS@ @@ -159,6 +168,7 @@ GENINSRC_TRUE = @GENINSRC_TRUE@ GJDOC = @GJDOC@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ +GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@ @@ -170,6 +180,7 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +JAVAC = @JAVAC@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ @@ -179,6 +190,7 @@ JIKES = @JIKES@ JIKESENCODING = @JIKESENCODING@ JIKESWARNINGS = @JIKESWARNINGS@ KJC = @KJC@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBDEBUG = @LIBDEBUG@ LIBICONV = @LIBICONV@ @@ -198,6 +210,7 @@ MKDIR = @MKDIR@ MOC = @MOC@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ +NM = @NM@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ @@ -219,6 +232,7 @@ RANLIB = @RANLIB@ REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@ REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@ REMOVE = @REMOVE@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@ @@ -246,8 +260,10 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ X_PRE_LIBS = @X_PRE_LIBS@ ZIP = @ZIP@ +ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_STRIP = @ac_ct_STRIP@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ @@ -280,6 +296,7 @@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ multi_basedir = @multi_basedir@ diff --git a/libjava/classpath/native/fdlibm/Makefile.in b/libjava/classpath/native/fdlibm/Makefile.in index 6289268..ffbb7bc 100644 --- a/libjava/classpath/native/fdlibm/Makefile.in +++ b/libjava/classpath/native/fdlibm/Makefile.in @@ -44,16 +44,21 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ - $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ - $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ + $(top_srcdir)/../../libtool.m4 \ + $(top_srcdir)/../../ltoptions.m4 \ + $(top_srcdir)/../../ltsugar.m4 \ + $(top_srcdir)/../../ltversion.m4 \ + $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \ + $(top_srcdir)/m4/acinclude.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/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 +mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs CONFIG_HEADER = $(top_builddir)/include/config.h CONFIG_CLEAN_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) @@ -70,15 +75,15 @@ am_libfdlibm_la_OBJECTS = dtoa.lo e_acos.lo e_asin.lo e_atan2.lo \ w_remainder.lo w_sinh.lo w_sqrt.lo libfdlibm_la_OBJECTS = $(am_libfdlibm_la_OBJECTS) DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include -depcomp = $(SHELL) $(top_srcdir)/depcomp +depcomp = $(SHELL) $(top_srcdir)/../../depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \ +LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) -LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ +LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ SOURCES = $(libfdlibm_la_SOURCES) DIST_SOURCES = $(libfdlibm_la_SOURCES) @@ -89,12 +94,15 @@ ACLOCAL = @ACLOCAL@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ +AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@ BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -140,6 +148,7 @@ DATE = @DATE@ DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ @@ -152,15 +161,16 @@ ERROR_CFLAGS = @ERROR_CFLAGS@ EXAMPLESDIR = @EXAMPLESDIR@ EXEEXT = @EXEEXT@ FASTJAR = @FASTJAR@ +FGREP = @FGREP@ FIND = @FIND@ FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@ FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@ FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@ FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@ -FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@ -FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@ FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@ FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@ +FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@ +FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@ FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@ FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@ FOUND_KJC_FALSE = @FOUND_KJC_FALSE@ @@ -168,7 +178,6 @@ FOUND_KJC_TRUE = @FOUND_KJC_TRUE@ FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@ FREETYPE2_LIBS = @FREETYPE2_LIBS@ GCJ = @GCJ@ -GCJX = @GCJX@ GCONF_CFLAGS = @GCONF_CFLAGS@ GCONF_LIBS = @GCONF_LIBS@ GDK_CFLAGS = @GDK_CFLAGS@ @@ -178,6 +187,7 @@ GENINSRC_TRUE = @GENINSRC_TRUE@ GJDOC = @GJDOC@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ +GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@ @@ -189,6 +199,7 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +JAVAC = @JAVAC@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ @@ -198,6 +209,7 @@ JIKES = @JIKES@ JIKESENCODING = @JIKESENCODING@ JIKESWARNINGS = @JIKESWARNINGS@ KJC = @KJC@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBDEBUG = @LIBDEBUG@ LIBICONV = @LIBICONV@ @@ -217,6 +229,7 @@ MKDIR = @MKDIR@ MOC = @MOC@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ +NM = @NM@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ @@ -238,6 +251,7 @@ RANLIB = @RANLIB@ REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@ REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@ REMOVE = @REMOVE@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@ @@ -265,8 +279,10 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ X_PRE_LIBS = @X_PRE_LIBS@ ZIP = @ZIP@ +ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_STRIP = @ac_ct_STRIP@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ @@ -299,6 +315,7 @@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ multi_basedir = @multi_basedir@ diff --git a/libjava/classpath/native/jawt/Makefile.am b/libjava/classpath/native/jawt/Makefile.am index c81e754..87dcc9b 100644 --- a/libjava/classpath/native/jawt/Makefile.am +++ b/libjava/classpath/native/jawt/Makefile.am @@ -2,7 +2,7 @@ nativeexeclib_LTLIBRARIES = libjawt.la libjawt_la_SOURCES = jawt.c libjawt_la_LIBADD = $(top_builddir)/native/jni/gtk-peer/libgtkpeer.la -libjawt_la_LDFLAGS = -avoid-version +libjawt_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version AM_LDFLAGS = @CLASSPATH_MODULE@ @GTK_LIBS@ @PANGOFT2_LIBS@ @X_LIBS@ @XTEST_LIBS@ AM_CPPFLAGS = @CLASSPATH_INCLUDES@ diff --git a/libjava/classpath/native/jawt/Makefile.in b/libjava/classpath/native/jawt/Makefile.in index 13993aa..2fb6bb4 100644 --- a/libjava/classpath/native/jawt/Makefile.in +++ b/libjava/classpath/native/jawt/Makefile.in @@ -44,16 +44,21 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ - $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ - $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ + $(top_srcdir)/../../libtool.m4 \ + $(top_srcdir)/../../ltoptions.m4 \ + $(top_srcdir)/../../ltsugar.m4 \ + $(top_srcdir)/../../ltversion.m4 \ + $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \ + $(top_srcdir)/m4/acinclude.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/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 +mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs CONFIG_HEADER = $(top_builddir)/include/config.h CONFIG_CLEAN_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; @@ -70,15 +75,15 @@ libjawt_la_DEPENDENCIES = \ am_libjawt_la_OBJECTS = jawt.lo libjawt_la_OBJECTS = $(am_libjawt_la_OBJECTS) DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include -depcomp = $(SHELL) $(top_srcdir)/depcomp +depcomp = $(SHELL) $(top_srcdir)/../../depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \ +LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) -LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ +LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ SOURCES = $(libjawt_la_SOURCES) DIST_SOURCES = $(libjawt_la_SOURCES) @@ -89,12 +94,15 @@ ACLOCAL = @ACLOCAL@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ +AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@ BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -140,6 +148,7 @@ DATE = @DATE@ DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ @@ -152,15 +161,16 @@ ERROR_CFLAGS = @ERROR_CFLAGS@ EXAMPLESDIR = @EXAMPLESDIR@ EXEEXT = @EXEEXT@ FASTJAR = @FASTJAR@ +FGREP = @FGREP@ FIND = @FIND@ FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@ FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@ FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@ FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@ -FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@ -FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@ FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@ FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@ +FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@ +FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@ FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@ FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@ FOUND_KJC_FALSE = @FOUND_KJC_FALSE@ @@ -168,7 +178,6 @@ FOUND_KJC_TRUE = @FOUND_KJC_TRUE@ FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@ FREETYPE2_LIBS = @FREETYPE2_LIBS@ GCJ = @GCJ@ -GCJX = @GCJX@ GCONF_CFLAGS = @GCONF_CFLAGS@ GCONF_LIBS = @GCONF_LIBS@ GDK_CFLAGS = @GDK_CFLAGS@ @@ -178,6 +187,7 @@ GENINSRC_TRUE = @GENINSRC_TRUE@ GJDOC = @GJDOC@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ +GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@ @@ -189,6 +199,7 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +JAVAC = @JAVAC@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ @@ -198,6 +209,7 @@ JIKES = @JIKES@ JIKESENCODING = @JIKESENCODING@ JIKESWARNINGS = @JIKESWARNINGS@ KJC = @KJC@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBDEBUG = @LIBDEBUG@ LIBICONV = @LIBICONV@ @@ -217,6 +229,7 @@ MKDIR = @MKDIR@ MOC = @MOC@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ +NM = @NM@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ @@ -238,6 +251,7 @@ RANLIB = @RANLIB@ REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@ REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@ REMOVE = @REMOVE@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@ @@ -265,8 +279,10 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ X_PRE_LIBS = @X_PRE_LIBS@ ZIP = @ZIP@ +ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_STRIP = @ac_ct_STRIP@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ @@ -299,6 +315,7 @@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ multi_basedir = @multi_basedir@ @@ -319,7 +336,7 @@ vm_classes = @vm_classes@ nativeexeclib_LTLIBRARIES = libjawt.la libjawt_la_SOURCES = jawt.c libjawt_la_LIBADD = $(top_builddir)/native/jni/gtk-peer/libgtkpeer.la -libjawt_la_LDFLAGS = -avoid-version +libjawt_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version AM_LDFLAGS = @CLASSPATH_MODULE@ @GTK_LIBS@ @PANGOFT2_LIBS@ @X_LIBS@ @XTEST_LIBS@ AM_CPPFLAGS = @CLASSPATH_INCLUDES@ diff --git a/libjava/classpath/native/jni/Makefile.in b/libjava/classpath/native/jni/Makefile.in index 6241af2..d4ad33b 100644 --- a/libjava/classpath/native/jni/Makefile.in +++ b/libjava/classpath/native/jni/Makefile.in @@ -43,16 +43,21 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ - $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ - $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ + $(top_srcdir)/../../libtool.m4 \ + $(top_srcdir)/../../ltoptions.m4 \ + $(top_srcdir)/../../ltsugar.m4 \ + $(top_srcdir)/../../ltversion.m4 \ + $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \ + $(top_srcdir)/m4/acinclude.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/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 +mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs CONFIG_HEADER = $(top_builddir)/include/config.h CONFIG_CLEAN_FILES = SOURCES = @@ -70,12 +75,15 @@ ACLOCAL = @ACLOCAL@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ +AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@ BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -121,6 +129,7 @@ DATE = @DATE@ DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ @@ -133,15 +142,16 @@ ERROR_CFLAGS = @ERROR_CFLAGS@ EXAMPLESDIR = @EXAMPLESDIR@ EXEEXT = @EXEEXT@ FASTJAR = @FASTJAR@ +FGREP = @FGREP@ FIND = @FIND@ FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@ FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@ FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@ FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@ -FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@ -FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@ FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@ FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@ +FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@ +FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@ FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@ FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@ FOUND_KJC_FALSE = @FOUND_KJC_FALSE@ @@ -149,7 +159,6 @@ FOUND_KJC_TRUE = @FOUND_KJC_TRUE@ FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@ FREETYPE2_LIBS = @FREETYPE2_LIBS@ GCJ = @GCJ@ -GCJX = @GCJX@ GCONF_CFLAGS = @GCONF_CFLAGS@ GCONF_LIBS = @GCONF_LIBS@ GDK_CFLAGS = @GDK_CFLAGS@ @@ -159,6 +168,7 @@ GENINSRC_TRUE = @GENINSRC_TRUE@ GJDOC = @GJDOC@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ +GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@ @@ -170,6 +180,7 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +JAVAC = @JAVAC@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ @@ -179,6 +190,7 @@ JIKES = @JIKES@ JIKESENCODING = @JIKESENCODING@ JIKESWARNINGS = @JIKESWARNINGS@ KJC = @KJC@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBDEBUG = @LIBDEBUG@ LIBICONV = @LIBICONV@ @@ -198,6 +210,7 @@ MKDIR = @MKDIR@ MOC = @MOC@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ +NM = @NM@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ @@ -219,6 +232,7 @@ RANLIB = @RANLIB@ REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@ REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@ REMOVE = @REMOVE@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@ @@ -246,8 +260,10 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ X_PRE_LIBS = @X_PRE_LIBS@ ZIP = @ZIP@ +ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_STRIP = @ac_ct_STRIP@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ @@ -280,6 +296,7 @@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ multi_basedir = @multi_basedir@ diff --git a/libjava/classpath/native/jni/classpath/Makefile.in b/libjava/classpath/native/jni/classpath/Makefile.in index da4577a..f942857 100644 --- a/libjava/classpath/native/jni/classpath/Makefile.in +++ b/libjava/classpath/native/jni/classpath/Makefile.in @@ -44,16 +44,21 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ - $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ - $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ + $(top_srcdir)/../../libtool.m4 \ + $(top_srcdir)/../../ltoptions.m4 \ + $(top_srcdir)/../../ltsugar.m4 \ + $(top_srcdir)/../../ltversion.m4 \ + $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \ + $(top_srcdir)/m4/acinclude.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/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 +mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs CONFIG_HEADER = $(top_builddir)/include/config.h CONFIG_CLEAN_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) @@ -61,15 +66,15 @@ libclasspath_la_LIBADD = am_libclasspath_la_OBJECTS = jcl.lo jnilink.lo native_state.lo libclasspath_la_OBJECTS = $(am_libclasspath_la_OBJECTS) DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include -depcomp = $(SHELL) $(top_srcdir)/depcomp +depcomp = $(SHELL) $(top_srcdir)/../../depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \ +LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) -LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ +LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ SOURCES = $(libclasspath_la_SOURCES) DIST_SOURCES = $(libclasspath_la_SOURCES) @@ -80,12 +85,15 @@ ACLOCAL = @ACLOCAL@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ +AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@ BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -131,6 +139,7 @@ DATE = @DATE@ DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ @@ -143,15 +152,16 @@ ERROR_CFLAGS = @ERROR_CFLAGS@ EXAMPLESDIR = @EXAMPLESDIR@ EXEEXT = @EXEEXT@ FASTJAR = @FASTJAR@ +FGREP = @FGREP@ FIND = @FIND@ FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@ FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@ FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@ FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@ -FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@ -FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@ FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@ FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@ +FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@ +FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@ FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@ FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@ FOUND_KJC_FALSE = @FOUND_KJC_FALSE@ @@ -159,7 +169,6 @@ FOUND_KJC_TRUE = @FOUND_KJC_TRUE@ FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@ FREETYPE2_LIBS = @FREETYPE2_LIBS@ GCJ = @GCJ@ -GCJX = @GCJX@ GCONF_CFLAGS = @GCONF_CFLAGS@ GCONF_LIBS = @GCONF_LIBS@ GDK_CFLAGS = @GDK_CFLAGS@ @@ -169,6 +178,7 @@ GENINSRC_TRUE = @GENINSRC_TRUE@ GJDOC = @GJDOC@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ +GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@ @@ -180,6 +190,7 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +JAVAC = @JAVAC@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ @@ -189,6 +200,7 @@ JIKES = @JIKES@ JIKESENCODING = @JIKESENCODING@ JIKESWARNINGS = @JIKESWARNINGS@ KJC = @KJC@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBDEBUG = @LIBDEBUG@ LIBICONV = @LIBICONV@ @@ -208,6 +220,7 @@ MKDIR = @MKDIR@ MOC = @MOC@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ +NM = @NM@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ @@ -229,6 +242,7 @@ RANLIB = @RANLIB@ REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@ REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@ REMOVE = @REMOVE@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@ @@ -256,8 +270,10 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ X_PRE_LIBS = @X_PRE_LIBS@ ZIP = @ZIP@ +ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_STRIP = @ac_ct_STRIP@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ @@ -290,6 +306,7 @@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ multi_basedir = @multi_basedir@ diff --git a/libjava/classpath/native/jni/gconf-peer/Makefile.am b/libjava/classpath/native/jni/gconf-peer/Makefile.am index 1c8c4a1..3008b3d 100644 --- a/libjava/classpath/native/jni/gconf-peer/Makefile.am +++ b/libjava/classpath/native/jni/gconf-peer/Makefile.am @@ -5,7 +5,7 @@ libgconfpeer_la_SOURCES = GConfNativePeer.c libgconfpeer_la_LIBADD = $(top_builddir)/native/jni/classpath/native_state.lo \ $(top_builddir)/native/jni/classpath/jcl.lo -libgconfpeer_la_LDFLAGS = -avoid-version +libgconfpeer_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version AM_LDFLAGS = @CLASSPATH_MODULE@ @GCONF_LIBS@ @GDK_LIBS@ diff --git a/libjava/classpath/native/jni/gconf-peer/Makefile.in b/libjava/classpath/native/jni/gconf-peer/Makefile.in index 0bc0b25..109df48 100644 --- a/libjava/classpath/native/jni/gconf-peer/Makefile.in +++ b/libjava/classpath/native/jni/gconf-peer/Makefile.in @@ -44,16 +44,21 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ - $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ - $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ + $(top_srcdir)/../../libtool.m4 \ + $(top_srcdir)/../../ltoptions.m4 \ + $(top_srcdir)/../../ltsugar.m4 \ + $(top_srcdir)/../../ltversion.m4 \ + $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \ + $(top_srcdir)/m4/acinclude.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/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 +mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs CONFIG_HEADER = $(top_builddir)/include/config.h CONFIG_CLEAN_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; @@ -71,15 +76,15 @@ libgconfpeer_la_DEPENDENCIES = \ am_libgconfpeer_la_OBJECTS = GConfNativePeer.lo libgconfpeer_la_OBJECTS = $(am_libgconfpeer_la_OBJECTS) DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include -depcomp = $(SHELL) $(top_srcdir)/depcomp +depcomp = $(SHELL) $(top_srcdir)/../../depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \ +LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) -LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ +LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ SOURCES = $(libgconfpeer_la_SOURCES) DIST_SOURCES = $(libgconfpeer_la_SOURCES) @@ -90,12 +95,15 @@ ACLOCAL = @ACLOCAL@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ +AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@ BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -141,6 +149,7 @@ DATE = @DATE@ DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ @@ -153,15 +162,16 @@ ERROR_CFLAGS = @ERROR_CFLAGS@ EXAMPLESDIR = @EXAMPLESDIR@ EXEEXT = @EXEEXT@ FASTJAR = @FASTJAR@ +FGREP = @FGREP@ FIND = @FIND@ FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@ FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@ FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@ FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@ -FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@ -FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@ FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@ FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@ +FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@ +FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@ FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@ FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@ FOUND_KJC_FALSE = @FOUND_KJC_FALSE@ @@ -169,7 +179,6 @@ FOUND_KJC_TRUE = @FOUND_KJC_TRUE@ FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@ FREETYPE2_LIBS = @FREETYPE2_LIBS@ GCJ = @GCJ@ -GCJX = @GCJX@ GCONF_CFLAGS = @GCONF_CFLAGS@ GCONF_LIBS = @GCONF_LIBS@ GDK_CFLAGS = @GDK_CFLAGS@ @@ -179,6 +188,7 @@ GENINSRC_TRUE = @GENINSRC_TRUE@ GJDOC = @GJDOC@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ +GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@ @@ -190,6 +200,7 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +JAVAC = @JAVAC@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ @@ -199,6 +210,7 @@ JIKES = @JIKES@ JIKESENCODING = @JIKESENCODING@ JIKESWARNINGS = @JIKESWARNINGS@ KJC = @KJC@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBDEBUG = @LIBDEBUG@ LIBICONV = @LIBICONV@ @@ -218,6 +230,7 @@ MKDIR = @MKDIR@ MOC = @MOC@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ +NM = @NM@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ @@ -239,6 +252,7 @@ RANLIB = @RANLIB@ REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@ REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@ REMOVE = @REMOVE@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@ @@ -266,8 +280,10 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ X_PRE_LIBS = @X_PRE_LIBS@ ZIP = @ZIP@ +ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_STRIP = @ac_ct_STRIP@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ @@ -300,6 +316,7 @@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ multi_basedir = @multi_basedir@ @@ -322,7 +339,7 @@ libgconfpeer_la_SOURCES = GConfNativePeer.c libgconfpeer_la_LIBADD = $(top_builddir)/native/jni/classpath/native_state.lo \ $(top_builddir)/native/jni/classpath/jcl.lo -libgconfpeer_la_LDFLAGS = -avoid-version +libgconfpeer_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version AM_LDFLAGS = @CLASSPATH_MODULE@ @GCONF_LIBS@ @GDK_LIBS@ AM_CPPFLAGS = @CLASSPATH_INCLUDES@ AM_CFLAGS = @WARNING_CFLAGS@ @ERROR_CFLAGS@ @GCONF_CFLAGS@ @GDK_CFLAGS@ diff --git a/libjava/classpath/native/jni/gtk-peer/Makefile.am b/libjava/classpath/native/jni/gtk-peer/Makefile.am index b7e8414..15f865d 100644 --- a/libjava/classpath/native/jni/gtk-peer/Makefile.am +++ b/libjava/classpath/native/jni/gtk-peer/Makefile.am @@ -6,7 +6,6 @@ libgtkpeer_la_SOURCES = gnu_java_awt_peer_gtk_CairoSurface.c \ gnu_java_awt_peer_gtk_ComponentGraphics.c \ gnu_java_awt_peer_gtk_ComponentGraphicsCopy.c \ gnu_java_awt_peer_gtk_FreetypeGlyphVector.c \ - gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.c \ gnu_java_awt_peer_gtk_GdkFontPeer.c \ gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.c \ gnu_java_awt_peer_gtk_GdkPixbufDecoder.c \ @@ -42,16 +41,14 @@ libgtkpeer_la_SOURCES = gnu_java_awt_peer_gtk_CairoSurface.c \ gnu_java_awt_peer_gtk_GtkVolatileImage.c \ GtkDragSourceContextPeer.c \ cairographics2d.h \ - gthread-jni.c \ gdkdisplay.h \ gdkfont.h \ - gthread-jni.h \ gtk_jawt.c \ gtkpeer.h libgtkpeer_la_LIBADD = $(top_builddir)/native/jni/classpath/native_state.lo \ $(top_builddir)/native/jni/classpath/jcl.lo -libgtkpeer_la_LDFLAGS = -avoid-version +libgtkpeer_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version AM_LDFLAGS = @CLASSPATH_MODULE@ @GTK_LIBS@ @FREETYPE2_LIBS@ \ @PANGOFT2_LIBS@ @X_PRE_LIBS@ @X_LIBS@ @X_EXTRA_LIBS@ @XTEST_LIBS@ diff --git a/libjava/classpath/native/jni/gtk-peer/Makefile.in b/libjava/classpath/native/jni/gtk-peer/Makefile.in index 4f4ce7b..c12ee60 100644 --- a/libjava/classpath/native/jni/gtk-peer/Makefile.in +++ b/libjava/classpath/native/jni/gtk-peer/Makefile.in @@ -44,16 +44,21 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ - $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ - $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ + $(top_srcdir)/../../libtool.m4 \ + $(top_srcdir)/../../ltoptions.m4 \ + $(top_srcdir)/../../ltsugar.m4 \ + $(top_srcdir)/../../ltversion.m4 \ + $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \ + $(top_srcdir)/m4/acinclude.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/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 +mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs CONFIG_HEADER = $(top_builddir)/include/config.h CONFIG_CLEAN_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; @@ -73,7 +78,6 @@ am_libgtkpeer_la_OBJECTS = gnu_java_awt_peer_gtk_CairoSurface.lo \ gnu_java_awt_peer_gtk_ComponentGraphics.lo \ gnu_java_awt_peer_gtk_ComponentGraphicsCopy.lo \ gnu_java_awt_peer_gtk_FreetypeGlyphVector.lo \ - gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.lo \ gnu_java_awt_peer_gtk_GdkFontPeer.lo \ gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.lo \ gnu_java_awt_peer_gtk_GdkPixbufDecoder.lo \ @@ -107,18 +111,18 @@ am_libgtkpeer_la_OBJECTS = gnu_java_awt_peer_gtk_CairoSurface.lo \ gnu_java_awt_peer_gtk_GtkToolkit.lo \ gnu_java_awt_peer_gtk_GtkWindowPeer.lo \ gnu_java_awt_peer_gtk_GtkVolatileImage.lo \ - GtkDragSourceContextPeer.lo gthread-jni.lo gtk_jawt.lo + GtkDragSourceContextPeer.lo gtk_jawt.lo libgtkpeer_la_OBJECTS = $(am_libgtkpeer_la_OBJECTS) DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include -depcomp = $(SHELL) $(top_srcdir)/depcomp +depcomp = $(SHELL) $(top_srcdir)/../../depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \ +LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) -LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ +LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ SOURCES = $(libgtkpeer_la_SOURCES) DIST_SOURCES = $(libgtkpeer_la_SOURCES) @@ -129,12 +133,15 @@ ACLOCAL = @ACLOCAL@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ +AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@ BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -180,6 +187,7 @@ DATE = @DATE@ DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ @@ -192,15 +200,16 @@ ERROR_CFLAGS = @ERROR_CFLAGS@ EXAMPLESDIR = @EXAMPLESDIR@ EXEEXT = @EXEEXT@ FASTJAR = @FASTJAR@ +FGREP = @FGREP@ FIND = @FIND@ FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@ FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@ FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@ FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@ -FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@ -FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@ FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@ FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@ +FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@ +FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@ FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@ FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@ FOUND_KJC_FALSE = @FOUND_KJC_FALSE@ @@ -208,7 +217,6 @@ FOUND_KJC_TRUE = @FOUND_KJC_TRUE@ FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@ FREETYPE2_LIBS = @FREETYPE2_LIBS@ GCJ = @GCJ@ -GCJX = @GCJX@ GCONF_CFLAGS = @GCONF_CFLAGS@ GCONF_LIBS = @GCONF_LIBS@ GDK_CFLAGS = @GDK_CFLAGS@ @@ -218,6 +226,7 @@ GENINSRC_TRUE = @GENINSRC_TRUE@ GJDOC = @GJDOC@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ +GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@ @@ -229,6 +238,7 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +JAVAC = @JAVAC@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ @@ -238,6 +248,7 @@ JIKES = @JIKES@ JIKESENCODING = @JIKESENCODING@ JIKESWARNINGS = @JIKESWARNINGS@ KJC = @KJC@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBDEBUG = @LIBDEBUG@ LIBICONV = @LIBICONV@ @@ -257,6 +268,7 @@ MKDIR = @MKDIR@ MOC = @MOC@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ +NM = @NM@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ @@ -278,6 +290,7 @@ RANLIB = @RANLIB@ REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@ REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@ REMOVE = @REMOVE@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@ @@ -305,8 +318,10 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ X_PRE_LIBS = @X_PRE_LIBS@ ZIP = @ZIP@ +ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_STRIP = @ac_ct_STRIP@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ @@ -339,6 +354,7 @@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ multi_basedir = @multi_basedir@ @@ -364,7 +380,6 @@ libgtkpeer_la_SOURCES = gnu_java_awt_peer_gtk_CairoSurface.c \ gnu_java_awt_peer_gtk_ComponentGraphics.c \ gnu_java_awt_peer_gtk_ComponentGraphicsCopy.c \ gnu_java_awt_peer_gtk_FreetypeGlyphVector.c \ - gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.c \ gnu_java_awt_peer_gtk_GdkFontPeer.c \ gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.c \ gnu_java_awt_peer_gtk_GdkPixbufDecoder.c \ @@ -400,17 +415,15 @@ libgtkpeer_la_SOURCES = gnu_java_awt_peer_gtk_CairoSurface.c \ gnu_java_awt_peer_gtk_GtkVolatileImage.c \ GtkDragSourceContextPeer.c \ cairographics2d.h \ - gthread-jni.c \ gdkdisplay.h \ gdkfont.h \ - gthread-jni.h \ gtk_jawt.c \ gtkpeer.h libgtkpeer_la_LIBADD = $(top_builddir)/native/jni/classpath/native_state.lo \ $(top_builddir)/native/jni/classpath/jcl.lo -libgtkpeer_la_LDFLAGS = -avoid-version +libgtkpeer_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version AM_LDFLAGS = @CLASSPATH_MODULE@ @GTK_LIBS@ @FREETYPE2_LIBS@ \ @PANGOFT2_LIBS@ @X_PRE_LIBS@ @X_LIBS@ @X_EXTRA_LIBS@ @XTEST_LIBS@ @@ -497,7 +510,6 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnu_java_awt_peer_gtk_ComponentGraphics.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnu_java_awt_peer_gtk_ComponentGraphicsCopy.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnu_java_awt_peer_gtk_FreetypeGlyphVector.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnu_java_awt_peer_gtk_GdkFontPeer.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnu_java_awt_peer_gtk_GdkPixbufDecoder.Plo@am__quote@ @@ -531,7 +543,6 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnu_java_awt_peer_gtk_GtkToolkit.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnu_java_awt_peer_gtk_GtkVolatileImage.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnu_java_awt_peer_gtk_GtkWindowPeer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gthread-jni.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtk_jawt.Plo@am__quote@ .c.o: diff --git a/libjava/classpath/native/jni/gtk-peer/gdkfont.h b/libjava/classpath/native/jni/gtk-peer/gdkfont.h index 5545bcc..20b8e42 100644 --- a/libjava/classpath/native/jni/gtk-peer/gdkfont.h +++ b/libjava/classpath/native/jni/gtk-peer/gdkfont.h @@ -40,6 +40,7 @@ #include "gtkpeer.h" +#define PANGO_ENABLE_ENGINE #include #include #include @@ -123,6 +124,7 @@ extern struct state_table *cp_gtk_native_text_layout_state_table; struct peerfont { PangoFont *font; + PangoFontset *set; PangoFontDescription *desc; PangoContext *ctx; PangoLayout *layout; diff --git a/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c b/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c index 2da68e0..40ddeedf 100644 --- a/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c +++ b/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c @@ -312,9 +312,8 @@ Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoDrawGlyphVector jobject font, jfloat x, jfloat y, jint n, jintArray java_codes, - jfloatArray java_positions) + jfloatArray java_positions, jlongArray java_fontset) { - struct cairographics2d *gr = NULL; struct peerfont *pfont = NULL; cairo_glyph_t *glyphs = NULL; @@ -337,6 +336,7 @@ Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoDrawGlyphVector native_codes = (*env)->GetIntArrayElements (env, java_codes, NULL); native_positions = (*env)->GetFloatArrayElements (env, java_positions, NULL); + /* Set up glyphs and layout */ for (i = 0; i < n; ++i) { glyphs[i].index = native_codes[i]; @@ -347,12 +347,34 @@ Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoDrawGlyphVector (*env)->ReleaseFloatArrayElements (env, java_positions, native_positions, 0); (*env)->ReleaseIntArrayElements (env, java_codes, native_codes, 0); - gdk_threads_enter (); - pango_fc_font_lock_face( (PangoFcFont *)pfont->font ); - cairo_show_glyphs (gr->cr, glyphs, n); - pango_fc_font_unlock_face( (PangoFcFont *)pfont->font ); + /* Iterate through glyphs and draw */ + jlong* fonts = (*env)->GetLongArrayElements (env, java_fontset, NULL); + gdk_threads_enter(); + for (i = 0; i < n; i++) + { + PangoFcFont *font = JLONG_TO_PTR(PangoFcFont, fonts[i]); gdk_threads_leave (); + /* Draw as many glyphs as possible with the current font */ + int length = 0; + while (i < n-1 && fonts[i] == fonts[i+1]) + { + length++; + i++; + } + + FT_Face face = pango_fc_font_lock_face( font ); + cairo_font_face_t *ft = cairo_ft_font_face_create_for_ft_face (face, 0); + g_assert (ft != NULL); + + cairo_set_font_face (gr->cr, ft); + cairo_show_glyphs (gr->cr, &glyphs[i-length], length+1); + + cairo_font_face_destroy (ft); + pango_fc_font_unlock_face(font); + } + gdk_threads_leave(); + g_free(glyphs); } @@ -700,6 +722,20 @@ Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoResetClip cairo_reset_clip( gr->cr ); } +JNIEXPORT void JNICALL +Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoSetAntialias +(JNIEnv *env __attribute__ ((unused)), jobject obj __attribute__ ((unused)), + jlong pointer, jboolean aa) +{ + struct cairographics2d *gr = JLONG_TO_PTR(struct cairographics2d, pointer); + g_assert (gr != NULL); + + if (aa) + cairo_set_antialias(gr->cr, CAIRO_ANTIALIAS_GRAY); + else + cairo_set_antialias(gr->cr, CAIRO_ANTIALIAS_NONE); +} + static void update_pattern_transform (struct cairographics2d *gr) { diff --git a/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c b/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c index 350cd34..839153a 100644 --- a/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c +++ b/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c @@ -47,7 +47,7 @@ exception statement from your version. */ * Field names in CairoSurface.java */ #define SURFACE "surfacePointer" -#define BUFFER "bufferPointer" +#define SHARED "sharedBuffer" /* prototypes */ static void setNativeObject( JNIEnv *env, jobject obj, void *ptr, const char *pointer ); @@ -56,13 +56,33 @@ static void setNativeObject( JNIEnv *env, jobject obj, void *ptr, const char *po * Creates a cairo surface, ARGB32, native ordering, premultiplied alpha. */ JNIEXPORT void JNICALL -Java_gnu_java_awt_peer_gtk_CairoSurface_create (JNIEnv *env, jobject obj, jint width, jint height, jint stride) +Java_gnu_java_awt_peer_gtk_CairoSurface_create +(JNIEnv *env, jobject obj, jint width, jint height, jint stride, + jintArray buf ) { cairo_surface_t* surface; - void *data = g_malloc(stride * height * 4); - memset(data, 0, stride * height * 4); - setNativeObject(env, obj, data, BUFFER); + jboolean isCopy; + /* Retrieve java-created data array */ + void *data = (*env)->GetIntArrayElements (env, buf, &isCopy); + + /* Set sharedBuffer variable */ + jclass cls = (*env)->GetObjectClass (env, obj); + jfieldID field = (*env)->GetFieldID (env, cls, SHARED, "Z"); + g_assert (field != 0); + + if (isCopy == JNI_TRUE) + { + (*env)->SetBooleanField (env, obj, field, JNI_FALSE); + void* temp = g_malloc(stride * height * 4); + memcpy(temp, data, stride * height * 4); + (*env)->ReleaseIntArrayElements (env, buf, data, 0); + data = temp; + } + else + (*env)->SetBooleanField (env, obj, field, JNI_TRUE); + + /* Create the cairo surface and set the java pointer */ surface = cairo_image_surface_create_for_data (data, CAIRO_FORMAT_ARGB32, width, height, stride * 4); @@ -75,107 +95,26 @@ Java_gnu_java_awt_peer_gtk_CairoSurface_create (JNIEnv *env, jobject obj, jint w JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoSurface_destroy (JNIEnv *env __attribute__((unused)), jobject obj __attribute__((unused)), - jlong surfacePointer, jlong bufferPointer) + jlong surfacePointer, jintArray buf) { - void *buffer; cairo_surface_t* surface = JLONG_TO_PTR(void, surfacePointer); + void *data = cairo_image_surface_get_data(surface); if( surface != NULL ) + { + /* Release or free the data buffer as appropriate */ + jclass cls = (*env)->GetObjectClass (env, obj); + jfieldID field = (*env)->GetFieldID (env, cls, SHARED, "Z"); + g_assert (field != 0); + jboolean sharedBuffer = (*env)->GetBooleanField (env, obj, field); + + if (sharedBuffer == JNI_TRUE) + (*env)->ReleaseIntArrayElements (env, buf, data, 0); + else + g_free(data); + + /* Destroy the cairo surface itself */ cairo_surface_destroy(surface); - - buffer = JLONG_TO_PTR(void, bufferPointer); - if( buffer != NULL ) - g_free(buffer); -} - -/** - * Gets a pixel - */ -JNIEXPORT jint JNICALL -Java_gnu_java_awt_peer_gtk_CairoSurface_nativeGetElem -(JNIEnv *env __attribute__((unused)), jobject obj __attribute__((unused)), - jlong bufferPointer, jint i) -{ - jint *pixeldata = JLONG_TO_PTR(void, bufferPointer); - - if( pixeldata == NULL ) - return 0; - - return pixeldata[i]; -} - -/** - * Sets a pixel - */ -JNIEXPORT void JNICALL -Java_gnu_java_awt_peer_gtk_CairoSurface_nativeSetElem -(JNIEnv *env __attribute__((unused)), jobject obj __attribute__((unused)), - jlong bufferPointer, jint i, jint val) -{ - jint *pixeldata = JLONG_TO_PTR(void, bufferPointer); - - if( pixeldata == NULL ) - return; - - pixeldata[i] = val; -} - -/** - * Gets all pixels in an array - */ -JNIEXPORT jintArray JNICALL -Java_gnu_java_awt_peer_gtk_CairoSurface_nativeGetPixels -(JNIEnv *env __attribute((unused)), jobject obj __attribute((unused)), - jlong bufferPointer, int size) -{ - jint *pixeldata, *jpixdata; - jintArray jpixels; - - pixeldata = JLONG_TO_PTR(void, bufferPointer); - g_assert(pixeldata != NULL); - - jpixels = (*env)->NewIntArray (env, size); - jpixdata = (*env)->GetIntArrayElements (env, jpixels, NULL); - memcpy (jpixdata, pixeldata, size * sizeof( jint )); - - (*env)->ReleaseIntArrayElements (env, jpixels, jpixdata, 0); - return jpixels; -} - -/** - * Sets all pixels by an array. - */ -JNIEXPORT void JNICALL -Java_gnu_java_awt_peer_gtk_CairoSurface_nativeSetPixels -(JNIEnv *env, jobject obj, jlong bufferPointer, jintArray jpixels) -{ - jint *pixeldata, *jpixdata; - int size; - int width, height; - jclass cls; - jfieldID field; - - if( jpixels == NULL ) - return; - - cls = (*env)->GetObjectClass (env, obj); - field = (*env)->GetFieldID (env, cls, "width", "I"); - g_assert (field != 0); - width = (*env)->GetIntField (env, obj, field); - - field = (*env)->GetFieldID (env, cls, "height", "I"); - g_assert (field != 0); - height = (*env)->GetIntField (env, obj, field); - - pixeldata = JLONG_TO_PTR(void, bufferPointer); - g_assert(pixeldata != NULL); - - jpixdata = (*env)->GetIntArrayElements (env, jpixels, NULL); - size = (*env)->GetArrayLength( env, jpixels ); - if( size > width * height ) size = width * height; /* stop overflows. */ - - memcpy (pixeldata, jpixdata, size * sizeof( jint )); - - (*env)->ReleaseIntArrayElements (env, jpixels, jpixdata, 0); + } } JNIEXPORT void JNICALL @@ -243,17 +182,35 @@ Java_gnu_java_awt_peer_gtk_CairoSurface_nativeDrawSurface JNIEXPORT jlong JNICALL Java_gnu_java_awt_peer_gtk_CairoSurface_getFlippedBuffer (JNIEnv *env __attribute__((unused)), jobject obj __attribute__((unused)), - jlong bufferPointer, jint size) + jlong surfacePointer) { + cairo_surface_t* surface; + jint *src; jint *dst; - jint *src = JLONG_TO_PTR(void, bufferPointer); - int i; - int t; + int i, t, width, height; + jclass cls; + jfieldID field; + /* Retrieve pointer to cairo data buffer */ + surface = JLONG_TO_PTR(void, surfacePointer); + src = (jint*)cairo_image_surface_get_data(surface); + + /* Retrieve dimensions of surface, from java fields */ + cls = (*env)->GetObjectClass (env, obj); + field = (*env)->GetFieldID (env, cls, "width", "I"); + g_assert (field != 0); + width = (*env)->GetIntField (env, obj, field); + + field = (*env)->GetFieldID (env, cls, "height", "I"); + g_assert (field != 0); + height = (*env)->GetIntField (env, obj, field); + + /* Create destination array */ g_assert( src != NULL ); - dst = g_malloc( size * sizeof( jint ) ); + dst = g_malloc( width * height * sizeof( jint ) ); - for(i = 0; i < size; i++ ) + /* Copy data into destination array, reversing sample order of each pixel */ + for(i = 0; i < (height * width); i++ ) { t = (src[i] & 0x0000FF) << 16; dst[i] = (src[i] & 0x00FF0000) >> 16; @@ -287,24 +244,30 @@ Java_gnu_java_awt_peer_gtk_CairoSurface_nativeNewCairoContext JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoSurface_copyAreaNative2 (JNIEnv *env __attribute__((unused)), jobject obj __attribute__((unused)), - jlong bufferPointer, + jlong surfacePointer, jint x, jint y, jint w, jint h, jint dx, jint dy, jint stride) { int row; int srcOffset, dstOffset; jint *temp; - jint *pixeldata = JLONG_TO_PTR(jint, bufferPointer); + + /* Retrieve pointer to cairo data buffer */ + cairo_surface_t* surface = JLONG_TO_PTR(void, surfacePointer); + jint *pixeldata = (jint*)cairo_image_surface_get_data(surface); g_assert( pixeldata != NULL ); + /* Create temporary buffer and calculate offsets */ temp = g_malloc( h * w * 4 ); g_assert( temp != NULL ); srcOffset = x + (y * stride); dstOffset = (x + dx) + ((y + dy) * stride); + /* Copy desired region into temporary buffer */ for( row = 0; row < h; row++ ) memcpy( temp + (w * row), pixeldata + srcOffset + (stride * row), w * 4 ); + /* Copy out of buffer and to destination */ for( row = 0; row < h; row++ ) memcpy( pixeldata + dstOffset + (stride * row), temp + (w * row), w * 4 ); @@ -312,6 +275,50 @@ Java_gnu_java_awt_peer_gtk_CairoSurface_copyAreaNative2 } /* + * Synchronizes the java and native data buffers, copying any changes made in + * the java array into the native array. + * This method should only be called if (sharedBuffer == false). + */ +JNIEXPORT void JNICALL +Java_gnu_java_awt_peer_gtk_CairoSurface_syncJavaToNative +(JNIEnv *env __attribute__((unused)), jobject obj __attribute__((unused)), + jlong surfacePointer, jintArray buffer) +{ + /* Get size of java array */ + int size = (*env)->GetArrayLength(env, buffer); + + /* Get native data buffer */ + cairo_surface_t* surface = JLONG_TO_PTR(void, surfacePointer); + g_assert(surface != NULL); + void* nativeBuffer = cairo_image_surface_get_data(surface); + + /* Sync buffers */ + (*env)->GetIntArrayRegion(env, buffer, 0, size, nativeBuffer); +} + +/* + * Synchronizes the java and native data buffers, copying any changes made in + * the native array into the java array. + * This method should only be called if (sharedBuffer == false). + */ +JNIEXPORT void JNICALL +Java_gnu_java_awt_peer_gtk_CairoSurface_syncNativeToJava +(JNIEnv *env __attribute__((unused)), jobject obj __attribute__((unused)), + jlong surfacePointer, jintArray buffer) +{ + /* Get size of java array */ + int size = (*env)->GetArrayLength(env, buffer); + + /* Get native data buffer */ + cairo_surface_t* surface = JLONG_TO_PTR(void, surfacePointer); + g_assert(surface != NULL); + void* nativeBuffer = cairo_image_surface_get_data(surface); + + /* Sync buffers */ + (*env)->SetIntArrayRegion(env, buffer, 0, size, nativeBuffer); +} + +/* * Sets the native object field. */ static void diff --git a/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c b/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c index c8b74d2..1a2d2a0 100644 --- a/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c +++ b/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c @@ -35,6 +35,7 @@ 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. */ +#define PANGO_ENABLE_ENGINE #include #include #include @@ -43,6 +44,7 @@ exception statement from your version. */ #include #include #include +#include "jcl.h" #include "native_state.h" #include "gdkfont.h" #include "gnu_java_awt_peer_gtk_FreetypeGlyphVector.h" @@ -81,42 +83,96 @@ getFont(JNIEnv *env, jobject obj) return (PangoFcFont *)pfont->font; } -JNIEXPORT jintArray JNICALL +static PangoFontset * +getFontSet(JNIEnv *env, jobject obj) +{ + jfieldID fid; + jobject data; + jclass cls; + struct peerfont *pfont; + + cls = (*env)->GetObjectClass (env, obj); + fid = (*env)->GetFieldID (env, cls, "peer", + "Lgnu/java/awt/peer/gtk/GdkFontPeer;"); + g_assert (fid != 0); + + data = (*env)->GetObjectField (env, obj, fid); + g_assert (data != NULL); + + pfont = (struct peerfont *)NSA_GET_FONT_PTR (env, data); + g_assert (pfont != NULL); + g_assert (pfont->font != NULL); + + return (PangoFontset *)pfont->set; +} + +JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_getGlyphs - (JNIEnv *env, jobject obj, jintArray codepoints) + (JNIEnv *env, jobject obj, jintArray codepoints, jintArray glyphs, + jlongArray fonts) { - FT_Face ft_face; - jintArray retArray; - PangoFcFont *font; - jint *values, *cpvals; + PangoFcFont *default_font, *current_font; + PangoFontset *pfs; + jint *cpvals; jint length; int i; - font = getFont(env, obj); - - ft_face = pango_fc_font_lock_face( font ); - g_assert (ft_face != NULL); + /* Set up default font and fontset */ + default_font = getFont(env, obj); + current_font = default_font; + pfs = getFontSet(env, obj); + /* Retrieve string information */ length = (*env)->GetArrayLength (env, codepoints); cpvals = (*env)->GetIntArrayElements (env, codepoints, NULL); + + jint *glyphArray = (*env)->GetIntArrayElements (env, glyphs, NULL); + jlong *fontArray = (*env)->GetLongArrayElements (env, fonts, NULL); - retArray = (*env)->NewIntArray (env, length); - values = (*env)->GetIntArrayElements (env, retArray, NULL); + /* A design goal of Pango is to be threadsafe, but it's admitted that it is + * not actually threadsafe at the moment. Using gdk locking here to be safe, + * but I don't know if if actually helps at all... */ + gdk_threads_enter(); for( i = 0; i < length; i++ ) - values[i] = FT_Get_Char_Index( ft_face, cpvals[i] ); + { + /* Ensure the current font has the requested character; if it doesn't, + * try the default font before pulling a new font out of the fontset. + * Once chosen, a font will be used until a character not in the font is + * encountered. */ + if (!pango_fc_font_has_char(current_font, cpvals[i])) + { + if (pango_fc_font_has_char(default_font, cpvals[i])) + { + current_font = default_font; + g_object_ref(current_font); + } + else + { + current_font = (PangoFcFont*)pango_fontset_get_font(pfs, cpvals[i]); + } + } + else + { + g_object_ref(current_font); + } + + /* Get glyph, and store both glyph and pointer to font */ + glyphArray[i] = (int)pango_fc_font_get_glyph(current_font, + (gunichar)cpvals[i]); + fontArray[i] = PTR_TO_JLONG(current_font); + } + + gdk_threads_leave(); - (*env)->ReleaseIntArrayElements (env, retArray, values, 0); + (*env)->ReleaseIntArrayElements (env, glyphs, glyphArray, 0); (*env)->ReleaseIntArrayElements (env, codepoints, cpvals, 0); - - pango_fc_font_unlock_face (font); - - return retArray; + (*env)->ReleaseLongArrayElements (env, fonts, fontArray, 0); } JNIEXPORT jobject JNICALL Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_getKerning -(JNIEnv *env, jobject obj, jint rightGlyph, jint leftGlyph) +(JNIEnv *env, jobject obj __attribute__((unused)), jint rightGlyph, jint leftGlyph, jlong fnt) { FT_Face ft_face; FT_Vector kern; @@ -125,7 +181,7 @@ Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_getKerning jvalue values[2]; PangoFcFont *font; - font = getFont(env, obj); + font = JLONG_TO_PTR(PangoFcFont, fnt); ft_face = pango_fc_font_lock_face( font ); g_assert (ft_face != NULL); FT_Get_Kerning( ft_face, rightGlyph, leftGlyph, FT_KERNING_DEFAULT, &kern ); @@ -142,14 +198,14 @@ Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_getKerning JNIEXPORT jdoubleArray JNICALL Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_getMetricsNative -(JNIEnv *env, jobject obj, jint glyphIndex ) +(JNIEnv *env, jobject obj __attribute__((unused)), jint glyphIndex, jlong fnt) { FT_Face ft_face; jdouble *values; jdoubleArray retArray = NULL; PangoFcFont *font; - font = getFont(env, obj); + font = JLONG_TO_PTR(PangoFcFont, fnt); ft_face = pango_fc_font_lock_face( font ); g_assert (ft_face != NULL); @@ -285,7 +341,7 @@ static int _curveTo( const FT_Vector* cp1, JNIEXPORT jobject JNICALL Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_getGlyphOutlineNative - (JNIEnv *env, jobject obj, jint glyphIndex) + (JNIEnv *env, jobject obj __attribute__((unused)), jint glyphIndex, jlong fnt) { generalpath *path; jobject gp; @@ -302,7 +358,7 @@ Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_getGlyphOutlineNative FT_Face ft_face; FT_Glyph glyph; - font = getFont(env, obj); + font = JLONG_TO_PTR(PangoFcFont, fnt); ft_face = pango_fc_font_lock_face( font ); g_assert (ft_face != NULL); @@ -345,4 +401,39 @@ Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_getGlyphOutlineNative return gp; } +JNIEXPORT void JNICALL +Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_dispose + (JNIEnv *env, jobject obj __attribute__((unused)), jlongArray fontset) +{ + PangoFcFont *font; + jlong *fontArray; + int i, length; + length = (*env)->GetArrayLength (env, fontset); + fontArray = (*env)->GetLongArrayElements (env, fontset, NULL); + + gdk_threads_enter(); + + for( i = 0; i < length; i++ ) + { + font = JLONG_TO_PTR(PangoFcFont, fontArray[i]); + g_object_unref(font); + } + + gdk_threads_leave(); + + (*env)->ReleaseLongArrayElements (env, fontset, fontArray, 0); +} + +JNIEXPORT jlong JNICALL +Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_getNativeFontPointer + (JNIEnv *env, jobject obj, jint n) +{ + int i; + PangoFcFont *font = getFont(env, obj); + + for (i = 0; i < n; i++) + g_object_ref(font); + + return PTR_TO_JLONG(font); +} diff --git a/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.c b/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.c deleted file mode 100644 index 595c1a2..0000000 --- a/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.c +++ /dev/null @@ -1,70 +0,0 @@ -/* Native implementation of functions in GThreadNativeMethodRunner - Copyright (C) 2004 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. */ - - -#include "gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.h" -#include "gthread-jni.h" - -/* - * Class: GThreadNativeMethodRunner - * Method: nativeRun - * Signature: (J)V - * - * Purpose: Run the C function whose function pointer is - * - */ -JNIEXPORT void JNICALL -Java_gnu_java_awt_peer_gtk_GThreadNativeMethodRunner_nativeRun - (JNIEnv *env __attribute__((unused)), - jobject lcl_obj __attribute__((unused)), - jlong funcAddr, jlong funcArg) -{ - /* Convert the function's address back into a pointer to a C function. */ - void *(*funcPtr)(void *) = (void *(*)(void *)) (size_t)funcAddr; - - /* We do not need to worry about the return value from funcPtr(); it's - just thrown away. That is part of the g_threads spec, so no reason - to worry about returning it. */ - (void) funcPtr((void *) (size_t)funcArg); - /* Fall off the end and terminate the thread of control. */ -} - -/* Local Variables: */ -/* c-file-style: "gnu" */ -/* End: */ - - 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 0837ee1..022edee 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 @@ -35,6 +35,7 @@ obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ +#define PANGO_ENABLE_ENGINE #include #include #include @@ -97,6 +98,8 @@ Java_gnu_java_awt_peer_gtk_GdkFontPeer_dispose g_object_unref (pfont->layout); if (pfont->font != NULL) g_object_unref (pfont->font); + if (pfont->set != NULL) + g_object_unref (pfont->set); if (pfont->ctx != NULL) g_object_unref (pfont->ctx); if (pfont->desc != NULL) @@ -166,6 +169,8 @@ Java_gnu_java_awt_peer_gtk_GdkFontPeer_getFontMetrics face->underline_position / factory; native_metrics[FONT_METRICS_UNDERLINE_THICKNESS] = face->underline_thickness / factory; + + pango_fc_font_unlock_face((PangoFcFont *)pfont->font); (*env)->ReleaseDoubleArrayElements (env, java_metrics, @@ -253,13 +258,17 @@ Java_gnu_java_awt_peer_gtk_GdkFontPeer_setFont pfont = (struct peerfont *)NSA_GET_FONT_PTR (env, self); g_assert (pfont != NULL); + /* Clear old font information */ if (pfont->ctx != NULL) g_object_unref (pfont->ctx); if (pfont->font != NULL) g_object_unref (pfont->font); + if (pfont->set != NULL) + g_object_unref (pfont->set); if (pfont->desc != NULL) pango_font_description_free (pfont->desc); + /* Set new description information */ pfont->desc = pango_font_description_new (); g_assert (pfont->desc != NULL); @@ -268,7 +277,6 @@ Java_gnu_java_awt_peer_gtk_GdkFontPeer_setFont pango_font_description_set_family (pfont->desc, family_name); (*env)->ReleaseStringUTFChars(env, family_name_str, family_name); - if (style & java_awt_font_BOLD) pango_font_description_set_weight (pfont->desc, PANGO_WEIGHT_BOLD); @@ -276,22 +284,19 @@ Java_gnu_java_awt_peer_gtk_GdkFontPeer_setFont pango_font_description_set_style (pfont->desc, PANGO_STYLE_ITALIC); pango_font_description_set_size (pfont->desc, size * PANGO_SCALE); - if (pfont->ctx == NULL) - { - ft2_map = PANGO_FT2_FONT_MAP(pango_ft2_font_map_for_display ()); - pfont->ctx = pango_ft2_font_map_create_context (ft2_map); - } - - g_assert (pfont->ctx != NULL); - if (pfont->font != NULL) - { - g_object_unref (pfont->font); - pfont->font = NULL; - } + /* Create new context */ + ft2_map = PANGO_FT2_FONT_MAP(pango_ft2_font_map_new()); + pfont->ctx = pango_ft2_font_map_create_context (ft2_map); + g_object_unref(ft2_map); + g_assert (pfont->ctx != NULL); pango_context_set_font_description (pfont->ctx, pfont->desc); pango_context_set_language (pfont->ctx, gtk_get_default_language()); + + /* Create new fontset and default font */ + pfont->set = pango_context_load_fontset(pfont->ctx, pfont->desc, + gtk_get_default_language()); pfont->font = pango_context_load_font (pfont->ctx, pfont->desc); g_assert (pfont->font != NULL); 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 8805ae7..ae7027e 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 @@ -1,5 +1,5 @@ /* gtkimage.c - Copyright (C) 2005, 2006 Free Software Foundation, Inc. + Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -368,6 +368,9 @@ GdkPixbuf *cp_gtk_image_get_pixbuf (JNIEnv *env, jobject obj) g_assert (data_fid != 0); data = (*env)->GetObjectField (env, obj, data_fid); + if (data == NULL) + return NULL; + return (GdkPixbuf *)JCL_GetRawData (env, data); } diff --git a/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c b/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c index 0f868ea..d2a4b0e 100644 --- a/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c +++ b/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c @@ -1,5 +1,6 @@ + /* gtktoolkit.c -- Native portion of GtkToolkit - Copyright (C) 1998, 1999, 2005 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2005, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -38,7 +39,6 @@ exception statement from your version. */ #include "gtkpeer.h" #include "gnu_java_awt_peer_gtk_GtkToolkit.h" -#include "gthread-jni.h" #include "jcl.h" #include @@ -73,6 +73,12 @@ exception statement from your version. */ #define AWT_INFO_TEXT 25 #define AWT_NUM_COLORS 26 +#define VK_SHIFT 16 +#define VK_CONTROL 17 +#define VK_ALT 18 +#define VK_CAPS_LOCK 20 +#define VK_META 157 + struct state_table *cp_gtk_native_state_table; struct state_table *cp_gtk_native_global_ref_table; @@ -82,6 +88,11 @@ static JavaVM *java_vm; static jmethodID printCurrentThreadID; static jmethodID setRunningID; +/** + * The global AWT lock object. + */ +static jobject global_lock; + union env_union { void *void_env; @@ -100,7 +111,9 @@ cp_gtk_gdk_env() GtkWindowGroup *cp_gtk_global_window_group; double cp_gtk_dpi_conversion_factor; -static void init_glib_threads(JNIEnv *, jint); +static void jni_lock_cb(); +static void jni_unlock_cb(); +static void init_glib_threads(JNIEnv*, jint, jobject); static gboolean post_set_running_flag (gpointer); static gboolean set_running_flag (gpointer); static gboolean clear_running_flag (gpointer); @@ -131,7 +144,8 @@ static void glog_func (const gchar *log_domain, JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkToolkit_gtkInit (JNIEnv *env, jclass clazz __attribute__((unused)), - jint portableNativeSync) + jint portableNativeSync, + jobject lock) { int argc = 1; char **argv; @@ -154,8 +168,8 @@ Java_gnu_java_awt_peer_gtk_GtkToolkit_gtkInit (JNIEnv *env, argv[0] = (char *) g_malloc(1); argv[0][0] = '\0'; argv[1] = NULL; - - init_glib_threads(env, portableNativeSync); + + init_glib_threads(env, portableNativeSync, lock); /* From GDK 2.0 onwards we have to explicitly call gdk_threads_init */ gdk_threads_init(); @@ -209,6 +223,32 @@ Java_gnu_java_awt_peer_gtk_GtkToolkit_gtkInit (JNIEnv *env, "setRunning", "(Z)V"); } +/** + * A callback function that implements gdk_threads_enter(). This is + * implemented to wrap the JNI MonitorEnter() function. + */ +static void jni_lock_cb() +{ + JNIEnv * env = cp_gtk_gdk_env(); + if ((*env)->MonitorEnter(env, global_lock) != JNI_OK) + { + printf("failure while entering GTK monitor\n"); + } +} + +/** + * A callback function that implements gdk_threads_leave(). This is + * implemented to wrap the JNI MonitorExit() function. + */ +static void jni_unlock_cb() +{ + + JNIEnv * env = cp_gtk_gdk_env(); + if ((*env)->MonitorExit(env, global_lock)) + { + printf("failure while exiting GTK monitor\n"); + } +} /** Initialize GLIB's threads properly, based on the value of the gnu.classpath.awt.gtk.portable.native.sync Java system property. If @@ -216,7 +256,7 @@ Java_gnu_java_awt_peer_gtk_GtkToolkit_gtkInit (JNIEnv *env, In some release following 0.10, that config.h macro will go away.) */ static void -init_glib_threads(JNIEnv *env, jint portableNativeSync) +init_glib_threads(JNIEnv *env, jint portableNativeSync, jobject lock) { if (portableNativeSync < 0) { @@ -228,13 +268,14 @@ init_glib_threads(JNIEnv *env, jint portableNativeSync) #endif } - (*env)->GetJavaVM( env, &cp_gtk_the_vm ); if (!g_thread_supported ()) { if (portableNativeSync) - g_thread_init ( &cp_gtk_portable_native_sync_jni_functions ); - else - g_thread_init ( NULL ); + { + global_lock = (*env)->NewGlobalRef(env, lock); + gdk_threads_set_lock_functions(&jni_lock_cb, &jni_unlock_cb); + } + g_thread_init(NULL); } else { @@ -330,14 +371,14 @@ JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkToolkit_gtkMain (JNIEnv *env __attribute__((unused)), jobject obj __attribute__((unused))) { - gdk_threads_enter (); + gdk_threads_enter(); gtk_init_add (post_set_running_flag, NULL); gtk_quit_add (gtk_main_level (), clear_running_flag, NULL); gtk_main (); - gdk_threads_leave (); + gdk_threads_leave(); } JNIEXPORT void JNICALL @@ -514,6 +555,53 @@ gdk_color_to_java_color (GdkColor gdk_color) return (jint) (0xff000000 | (red << 16) | (green << 8) | blue); } +JNIEXPORT jint JNICALL +Java_gnu_java_awt_peer_gtk_GtkToolkit_getLockState + (JNIEnv *env __attribute__((unused)), jobject obj __attribute__((unused)), + jint key) +{ + gint coord; + GdkModifierType state, mask; + GdkWindow *root_window; + + gdk_threads_enter (); + + root_window = gdk_get_default_root_window (); + gdk_window_get_pointer (root_window, &coord, &coord, &state); + + switch (key) + { + case VK_SHIFT: + mask = GDK_SHIFT_MASK; + break; + case VK_CONTROL: + mask = GDK_CONTROL_MASK; + break; + case VK_ALT: + /* This is dubious, since MOD1 could have been mapped to something + other than ALT. */ + mask = GDK_MOD1_MASK; + break; +#if GTK_CHECK_VERSION(2, 10, 0) + case VK_META: + mask = GDK_META_MASK; + break; +#endif + case VK_CAPS_LOCK: + mask = GDK_LOCK_MASK; + break; + default: + mask = 0; + } + + gdk_threads_leave (); + + if (mask == 0) + return -1; + + return state & mask ? 1 : 0; +} + static gboolean post_set_running_flag (gpointer data __attribute__((unused))) { @@ -538,3 +626,4 @@ clear_running_flag (gpointer data __attribute__((unused))) setRunningID, FALSE); return FALSE; } + diff --git a/libjava/classpath/native/jni/gtk-peer/gthread-jni.c b/libjava/classpath/native/jni/gtk-peer/gthread-jni.c deleted file mode 100644 index 384ad0d..0000000 --- a/libjava/classpath/native/jni/gtk-peer/gthread-jni.c +++ /dev/null @@ -1,2592 +0,0 @@ -/* gthread-jni.c -- JNI threading routines for GLIB - Copyright (C) 1998, 2004 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. */ - -/************************************************************************/ -/* Header */ -/************************************************************************/ - -/* - * @author Julian Dolby (dolby@us.ibm.com) - * @date February 7, 2003 implemented for GLIB v.1 - * - * - * @author Steven Augart - * , - * @date April 30, 2004 -- May 10 2004: Support new functions for Glib v.2, - * fix cond_wait to free and re-acquire the mutex, - * replaced trylock stub implementation with a full one. - * - * This code implements the GThreadFunctions interface for GLIB using - * Java threading primitives. All of the locking and conditional variable - * functionality required by GThreadFunctions is implemented using the - * monitor and wait/notify functionality of Java objects. The thread- - * local functionality uses the java.lang.ThreadLocal class. - * - * Classpath's AWT support uses GTK+ peers. GTK+ uses GLIB. GLIB by default - * uses the platform's native threading model -- pthreads in most cases. If - * the Java runtime doesn't use the native threading model, then it needs this - * code in order to use Classpath's (GTK+-based) AWT routines. - * - * This code should be portable; I believe it makes no assumptions - * about the underlying VM beyond that it implements the JNI functionality - * that this code uses. - * - * Currently, use of this code is governed by the configuration option - * --enable-portable-native-sync. We will soon add a VM hook so the VM can - * select which threading model it wants to use at run time; at that point, - * the configuration option will go away. - * - * The code in this file uses only JNI 1.1, except for one JNI 1.2 function: - * GetEnv, in the JNI Invocation API. (There seems to be no way around using - * GetEnv). - * - * ACKNOWLEDGEMENT: - * - * I would like to thank Mark Wielaard for his kindness in spending at least - * six hours of his own time in reviewing this code and correcting my GNU - * coding and commenting style. --Steve Augart - * - * - * NOTES: - * - * This code has been tested with Jikes RVM and with Kaffe. - * - * This code should have proper automated unit tests. I manually tested it - * by running an application that uses AWT. --Steven Augart - * - * MINOR NIT: - * - * - Using a jboolean in the arglist to "throw()" and "rethrow()" - * triggers many warnings from GCC's -Wconversion operation, because that - * is not the same as the conversion (upcast to an int) that would occur in - * the absence of a prototype. - * - * It would be very slightly more efficient to just pass the jboolean, but - * is not worth the clutter of messages. The right solution would be to - * turn off the -Wconversion warning for just this file, *except* that - * -Wconversion also warns you against constructs such as: - * unsigned u = -1; - * and that is a useful warning. So I went from a "jboolean" to a - * "gboolean" (-Wconversion is not enabled by default for GNU Classpath, - * but it is in my own CFLAGS, which, for gcc 3.3.3, read: -pipe -ggdb3 -W - * -Wall -Wbad-function-cast -Wcast-align -Wpointer-arith -Wcast-qual - * -Wshadow -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations - * -fkeep-static-consts -fkeep-inline-functions -Wundef -Wwrite-strings - * -Wno-aggregate-return -Wmissing-noreturn -Wnested-externs -Wtrigraphs - * -Wconversion -Wsign-compare -Wno-float-equal -Wmissing-format-attribute - * -Wno-unreachable-code -Wdisabled-optimization ) - */ - -#include - -/************************************************************************/ -/* Configuration */ -/************************************************************************/ - -/** Tracing and Reporting **/ -#define TRACE_API_CALLS 0 /* announce entry and exit into each method, - by printing to stderr. */ - -#define TRACE_MONITORS 0 /* Every enterMonitor() and exitMonitor() goes - to stderr. */ - -/** Trouble handling. There is a discussion below of this. **/ -#define EXPLAIN_TROUBLE 1 /* Describe any unexpected trouble that - happens. This is a superset - of EXPLAIN_BROKEN, and if set trumps an - unset EXPLAIN_BROKEN. It is not a strict - superset, since at the moment there is no - TROUBLE that is not also BROKEN. - - Use criticalMsg() to describe the problem. - */ - -#define EXPLAIN_BROKEN 1 /* Describe trouble that is serious enough to - be BROKEN. (Right now all trouble is at - least BROKEN.) */ - -/* There is no EXPLAIN_BADLY_BROKEN definition. We always explain - BADLY_BROKEN trouble, since there is no other way to report it. */ - - -/** Error Handling **/ -#define DIE_IF_BROKEN 1 /* Dies if serious trouble happens. There is - really no non-serious trouble, except - possibly problems that arise during - pthread_create, which are reported by a - GError. - - If you do not set DIE_IF_BROKEN, then - trouble will raise a Java RuntimeException. - We probably do want to die right away, - since anything that's BROKEN really - indicates a programming error or a - system-wide error, and that's what the glib - documentation says you should do in case of - that kind of error in a glib-style - function. But it does work to turn this - off. */ - -#if DIE_IF_BROKEN -#define DIE_IF_BADLY_BROKEN 1 /* DIE_IF_BROKEN implies DIE_IF_BADLY_BROKEN */ -#else -#define DIE_IF_BADLY_BROKEN 1 /* Die if the system is badly broken -- - that is, if we have further trouble while - attempting to throw an exception - upwards, or if we are unable to generate - one of the classes we'll need in order to - throw wrapped exceptions upward. - - If unset, we will print a warning message, - and limp along anyway. Not that the system - is likely to work. */ -#endif - -/** Performance tuning parameters **/ - -#define ENABLE_EXPENSIVE_ASSERTIONS 0 /* Enable expensive assertions? */ - -#define DELETE_LOCAL_REFS 1 /* Whether to delete local references. - - JNI only guarantees that there wil be 16 - available. (Jikes RVM provides an number - only limited by VM memory.) - - Jikes RVM will probably perform faster if - this is turned off, but other VMs may need - this to be turned on in order to perform at - all, or might need it if things change. - - Remember, we don't know how many of those - local refs might have already been used up - by higher layers of JNI code that end up - calling g_thread_self(), - g_thread_set_private(), and so on. - - We set this to 1 for GNU Classpath, since - one of our principles is "always go for the - most robust implementation" */ - -#define HAVE_JNI_VERSION_1_2 0 /* Assume we don't. We could - dynamically check for this. We will - assume JNI 1.2 in later versions of - Classpath. - - As it stands, the code in this file - already needs one JNI 1.2 function: - GetEnv, in the JNI Invocation API. - - TODO This code hasn't been tested yet. - And really hasn't been implemented yet. - */ - -/************************************************************************/ -/* Global data */ -/************************************************************************/ - -#if defined HAVE_STDINT_H -#include /* provides intptr_t */ -#elif defined HAVE_INTTYPES_H -#include -#endif -#include /* va_list */ -#include -#include "gthread-jni.h" -#include /* assert() */ - -/* For Java thread priority constants. */ -#include - -/* Since not all JNI header generators actually define constants we - define them here explicitly. */ -#ifndef gnu_java_awt_peer_gtk_GThreadNativeMethodRunner_MIN_PRIORITY -#define gnu_java_awt_peer_gtk_GThreadNativeMethodRunner_MIN_PRIORITY 1 -#endif -#ifndef gnu_java_awt_peer_gtk_GThreadNativeMethodRunner_NORM_PRIORITY -#define gnu_java_awt_peer_gtk_GThreadNativeMethodRunner_NORM_PRIORITY 5 -#endif -#ifndef gnu_java_awt_peer_gtk_GThreadNativeMethodRunner_MAX_PRIORITY -#define gnu_java_awt_peer_gtk_GThreadNativeMethodRunner_MAX_PRIORITY 10 -#endif - -/* The VM handle. This is set in - Java_gnu_java_awt_peer_gtk_GtkMainThread_gtkInit */ -JavaVM *cp_gtk_the_vm; - -/* Unions used for type punning. */ -union env_union -{ - void **void_env; - JNIEnv **jni_env; -}; - -union func_union -{ - void *void_func; - GThreadFunc g_func; -}; - -/* Forward Declarations for Functions */ -static int threadObj_set_priority (JNIEnv * env, jobject threadObj, - GThreadPriority gpriority); -static void fatalMsg (const char fmt[], ...) - __attribute__ ((format (printf, 1, 2))) - __attribute__ ((noreturn)); - -static void criticalMsg (const char fmt[], ...) - __attribute__ ((format (printf, 1, 2))); - -static void tracing (const char fmt[], ...) - __attribute__ ((format (printf, 1, 2))); - -static jint javaPriorityLevel (GThreadPriority priority) - __attribute__ ((const)); - -/************************************************************************/ -/* Trouble-handling, including utilities to reflect exceptions */ -/* back to the VM. Also some status reporting. */ -/************************************************************************/ - -/* How are we going to handle problems? - - There are several approaches: - - 1) Report them with the GError mechanism. - - (*thread_create)() is the only one of these functions that takes a - GError pointer. And the only G_THREAD error defined maps onto EAGAIN. - We don't have any errors in our (*thread_create)() implementation that - can be mapped to EAGAIN. So this idea is a non-starter. - - 2) Reflect the exception back to the VM, wrapped in a RuntimeException. - This will fail sometimes, if we're so broken (BADLY_BROKEN) that we - fail to throw the exception. - - 3) Abort execution. This is what the glib functions themselves do for - errors that they can't report via GError. - - Enable DIE_IF_BROKEN and/or DIE_IF_BADLY_BROKEN to - make this the default for BROKEN and/or BADLY_BROKEN trouble. - - 4) Display messages to stderr. We always do this for BADLY_BROKEN - trouble. The glib functions do that for errors they can't report via - GError. - - There are some complications. - - When I attempted to report a problem in g_thread_self() using g_critical (a - macro around g_log(), I found that g_log in turn looks for thread-private - data and calls g_thread_self() again. - - We got a segfault, probably due to stack overflow. So, this code doesn't - use the g_critical() and g_error() functions any more. Nor do we use - g_assert(); we use the C library's assert() instead. -*/ - - -#define WHERE __FILE__ ":" G_STRINGIFY(__LINE__) ": " - -/* This is portable to older compilers that lack variable-argument macros. - This used to be just g_critical(), but then we ran into the error reporting - problem discussed above. -*/ -static void -fatalMsg (const char fmt[], ...) -{ - va_list ap; - va_start (ap, fmt); - vfprintf (stderr, fmt, ap); - va_end (ap); - fputs ("\nAborting execution\n", stderr); - abort (); -} - - -static void -criticalMsg (const char fmt[], ...) -{ - va_list ap; - va_start (ap, fmt); - vfprintf (stderr, fmt, ap); - va_end (ap); - putc ('\n', stderr); -} - -/* Unlike the other two, this one does not append a newline. This is only - used if one of the TRACE_ macros is defined. */ -static void -tracing (const char fmt[], ...) -{ - va_list ap; - va_start (ap, fmt); - vfprintf (stderr, fmt, ap); - va_end (ap); -} - -#define assert_not_reached() \ - do \ - { \ - fputs(WHERE "You should never get here. Aborting execution.\n", \ - stderr); \ - abort(); \ - } \ - while(0) - - -#if DIE_IF_BADLY_BROKEN -#define BADLY_BROKEN fatalMsg -#else -#define BADLY_BROKEN criticalMsg -/* So, the user may still attempt to recover, even though we do not advise - this. */ -#endif - -/* I find it so depressing to have to use C without varargs macros. */ -#define BADLY_BROKEN_MSG WHERE "Something fundamental" \ - " to GNU Classpath's AWT JNI broke while we were trying to pass up a Java error message" - -#define BADLY_BROKEN0() \ - BADLY_BROKEN(BADLY_BROKEN_MSG); -#define BADLY_BROKEN1(msg) \ - BADLY_BROKEN(BADLY_BROKEN_MSG ": " msg) -#define BADLY_BROKEN2(msg, arg) \ - BADLY_BROKEN(BADLY_BROKEN_MSG ": " msg, arg) -#define BADLY_BROKEN3(msg, arg, arg2) \ - BADLY_BROKEN(BADLY_BROKEN_MSG ": " msg, arg1, arg2) -#define BADLY_BROKEN4(msg, arg, arg2, arg3) \ - BADLY_BROKEN(BADLY_BROKEN_MSG ": " msg, arg1, arg2, arg3) - -#define DELETE_LOCAL_REF(env, ref) \ - do \ - { \ - if ( DELETE_LOCAL_REFS ) \ - { \ - (*env)->DeleteLocalRef (env, ref); \ - (ref) = NULL; \ - } \ - } \ - while(0) - -/* Cached info for Exception-wrapping */ - -static jclass runtimeException_class; /* java.lang.RuntimeException */ -static jmethodID runtimeException_ctor; /* constructor for it */ - - -/* Throw a new RuntimeException. It may wrap around an existing exception. - 1 if we did rethrow, -1 if we had trouble while rethrowing. - isBroken is always true in this case. */ -static int -throw (JNIEnv * env, jthrowable cause, const char *message, - gboolean isBroken, const char *file, int line) -{ - jstring jmessage; - gboolean describedException = FALSE; /* Did we already describe the - exception to stderr or the - equivalent? */ - jthrowable wrapper; - - /* allocate local message in Java */ - const char fmt[] = "In AWT JNI, %s (at %s:%d)"; - size_t len = strlen (message) + strlen (file) + sizeof fmt + 25; - char *buf; - - if (EXPLAIN_TROUBLE || (isBroken && EXPLAIN_BROKEN)) - { - criticalMsg ("%s:%d: AWT JNI failure%s: %s\n", file, line, - isBroken ? " (BROKEN)" : "", message); - if (cause) - { - jthrowable currentException = (*env)->ExceptionOccurred (env); - - if (cause == currentException) - { - criticalMsg ("Description follows to System.err:"); - (*env)->ExceptionDescribe (env); - /* ExceptionDescribe has the side-effect of clearing the pending - exception; relaunch it. */ - describedException = TRUE; - - if ((*env)->Throw (env, cause)) - { - BADLY_BROKEN1 - ("Relaunching an exception with Throw failed."); - return -1; - } - } - else - { - DELETE_LOCAL_REF (env, currentException); - criticalMsg (WHERE - "currentException != cause; something else happened" - " while handling an exception."); - } - } - } /* if (EXPLAIN_TROUBLE) */ - - if (isBroken && DIE_IF_BROKEN) - fatalMsg ("%s:%d: Aborting execution; BROKEN: %s\n", file, line, message); - - if ((buf = malloc (len))) - { - memset (buf, 0, len); - g_snprintf (buf, len, fmt, message, file, line); - jmessage = (*env)->NewStringUTF (env, buf); - free (buf); - } - else - { - jmessage = NULL; - } - - /* Create the RuntimeException wrapper object and throw it. It is OK for - CAUSE to be NULL. */ - wrapper = (jthrowable) (*env)->NewObject - (env, runtimeException_class, runtimeException_ctor, jmessage, cause); - DELETE_LOCAL_REF (env, jmessage); - - if (!wrapper) - { - /* I think this should only happen: - - if there are bugs in my JNI code, or - - if the VM is broken, or - - if we run out of memory. - */ - if (EXPLAIN_TROUBLE) - { - criticalMsg (WHERE "GNU Classpath: JNI NewObject() could not create" - " a new java.lang.RuntimeException."); - criticalMsg ("We were trying to warn about the following" - " previous failure:"); - criticalMsg ("%s:%d: %s", file, line, message); - criticalMsg ("The latest (NewObject()) exception's description" - " follows, to System.err:"); - (*env)->ExceptionDescribe (env); - } - BADLY_BROKEN1 ("Failure of JNI NewObject()" - " to make a java.lang.RuntimeException"); - return -1; - } - - - /* throw it */ - if ((*env)->Throw (env, wrapper)) - { - /* Throw() should just never fail, unless we're in such severe trouble - that we might as well die. */ - BADLY_BROKEN1 - ("GNU Classpath: Failure of JNI Throw to report an Exception"); - return -1; - } - - DELETE_LOCAL_REF (env, wrapper); - return 1; -} - - - -/* Rethrow an exception we received, wrapping it with a RuntimeException. 1 - if we did rethrow, -1 if we had trouble while rethrowing. - CAUSE should be identical to the most recent exception that happened, so - that ExceptionDescribe will work. (Otherwise nix.) */ -static int -rethrow (JNIEnv * env, jthrowable cause, const char *message, - gboolean isBroken, const char *file, int line) -{ - assert (cause); - return throw (env, cause, message, isBroken, file, line); -} - - -/* This function checks for a pending exception, and rethrows it with - * a wrapper RuntimeException to deal with possible type problems (in - * case some calling piece of code does not expect the exception being - * thrown) and to include the given extra message. - * - * Returns 0 if no problems found (so no exception thrown), 1 if we rethrew an - * exception. Returns -1 on failure. - */ -static int -maybe_rethrow (JNIEnv * env, const char *message, gboolean isBroken, - const char *file, int line) -{ - jthrowable cause = (*env)->ExceptionOccurred (env); - int ret = 0; - - /* rethrow if an exception happened */ - if (cause) - { - ret = rethrow (env, cause, message, isBroken, file, line); - DELETE_LOCAL_REF (env, cause); - } - - return 0; -} - -/* MAYBE_TROUBLE() is used to include a source location in the exception - message. Once we have run maybe_rethrow, if there WAS trouble, - return TRUE, else FALSE. - - MAYBE_TROUBLE() is actually never used; all problems that throw exceptions - are BROKEN, at least. Nothing is recoverable :(. See the discussion of - possible errors at thread_create_jni_impl(). */ -#define MAYBE_TROUBLE(_env, _message) \ - maybe_rethrow(_env, _message, FALSE, __FILE__, __LINE__) - -/* MAYBE_TROUBLE(), but something would be BROKEN if it were true. */ -#define MAYBE_BROKEN(_env, _message) \ - maybe_rethrow(_env, _message, TRUE, __FILE__, __LINE__) - -/* Like MAYBE_TROUBLE(), TROUBLE() is never used. */ -#define TROUBLE(_env, _message) \ - rethrow(_env, (*env)->ExceptionOccurred (env), _message, FALSE, \ - __FILE__, __LINE__) - -#define BROKEN(_env, _message) \ - rethrow (_env, (*env)->ExceptionOccurred (env), _message, TRUE, \ - __FILE__, __LINE__) - -/* Like MAYBE_TROUBLE(), NEW_TROUBLE() is never used. */ -#define NEW_TROUBLE(_env, _message) \ - throw (_env, NULL, _message, FALSE, __FILE__, __LINE__) - -#define NEW_BROKEN(_env, _message) \ - throw (_env, NULL, _message, TRUE, __FILE__, __LINE__) - -/* Like MAYBE_TROUBLE(), RETHROW_CAUSE() is never used. */ -#define RETHROW_CAUSE(_env, _cause, _message) \ - rethrow (_env, _cause, _message, FALSE, __FILE__, __LINE__) - -#define BROKEN_CAUSE(_env, _cause, _message) \ - rethrow (_env, _cause, _message, TRUE, __FILE__, __LINE__) - -/* Macros to handle the possibility that someone might have called one of the - GThreadFunctions API functions with a Java exception pending. It is - generally discouraged to continue to use JNI after a Java exception has - been raised. Sun's JNI book advises that one trap JNI errors immediately - and not continue with an exception pending. - - These are #if'd out for these reasons: - - 1) They do not work in the C '89 subset that Classpath is currently - (2004 May 10) sticking to; HIDE_OLD_TROUBLE() includes a declaration - that should be in scope for the rest of the function, so it needs a - language version that lets you mix declarations and statements. (This - could be worked around if it were important.) - - 2) They chew up more time and resources. - - 3) There does not ever seem to be old trouble -- the assertion in - HIDE_OLD_TROUBLE never goes off. - - You will want to re-enable them if this code needs to be used in a context - where old exceptions might be pending when the GThread functions are - called. - - The implementations in this file are responsible for skipping around calls - to SHOW_OLD_TROUBLE() if they've raised exceptions during the call. So, if - we reach SHOW_OLD_TROUBLE, we are guaranteed that there are no exceptions - pending. */ -#if 1 -#define HIDE_OLD_TROUBLE(env) \ - assert ( NULL == (*env)->ExceptionOccurred (env) ) - -#define SHOW_OLD_TROUBLE() \ - assert ( NULL == (*env)->ExceptionOccurred (env) ) -#else /* 0 */ -#define HIDE_OLD_TROUBLE(env) \ - jthrowable savedTrouble = (*env)->ExceptionOccurred (env); \ - (*env)->ExceptionClear (env); - -#define SHOW_OLD_TROUBLE() do \ -{ \ - assert ( NULL == (*env)->ExceptionOccurred (env) ) \ - if (savedTrouble) \ - { \ - if ((*env)->Throw (env, savedTrouble)) \ - BADLY_BROKEN ("ReThrowing the savedTrouble failed"); \ - } \ - DELETE_LOCAL_REF (env, savedTrouble); \ -} while(0) - -#endif /* 0 */ - -/* Set up the cache of jclass and jmethodID primitives we need - in order to throw new exceptions and rethrow exceptions. We do this - independently of the other caching. We need to have this cache set up - first, so that we can then report errors properly. - - If any errors while setting up the error cache, the world is BADLY_BROKEN. - - May be called more than once. - - Returns -1 if the cache was not initialized properly, 1 if it was. -*/ -static int -setup_exception_cache (JNIEnv * env) -{ - static int exception_cache_initialized = 0; /* -1 for trouble, 1 for proper - init. */ - - jclass lcl_class; /* a class used for local refs */ - - if (exception_cache_initialized) - return exception_cache_initialized; - lcl_class = (*env)->FindClass (env, "java/lang/RuntimeException"); - if ( ! lcl_class ) - { - BADLY_BROKEN1 ("Broken Class library or VM?" - " Couldn't find java/lang/RuntimeException"); - return exception_cache_initialized = -1; - } - /* Pin it down. */ - runtimeException_class = (jclass) (*env)->NewGlobalRef (env, lcl_class); - DELETE_LOCAL_REF (env, lcl_class); - if (!runtimeException_class) - { - BADLY_BROKEN1 ("Serious trouble: could not turn" - " java.lang.RuntimeException into a global reference"); - return exception_cache_initialized = -1; - } - - runtimeException_ctor = - (*env)->GetMethodID (env, runtimeException_class, "", - "(Ljava/lang/String;Ljava/lang/Throwable;)V"); - if ( ! runtimeException_ctor ) - { - BADLY_BROKEN1 ("Serious trouble: classpath couldn't find a" - " two-arg constructor for java/lang/RuntimeException"); - return exception_cache_initialized = -1; - } - - return exception_cache_initialized = 1; -} - - -/**********************************************************/ -/***** The main cache *************************************/ -/**********************************************************/ - -/** This is a cache of all classes, methods, and field IDs that we use during - the run. We maintain a permanent global reference to each of the classes - we cache, since otherwise the (local) jclass that refers to that class - would go out of scope and possibly be reused in further calls. - - The permanent global reference also achieves the secondary goal of - protecting the validity of the methods and field IDs in case the classes - were otherwise unloaded and then later loaded again. Obviously, this will - never happen to classes such as java.lang.Thread and java.lang.Object, but - the primary reason for maintaining permanent global refs is sitll valid. - - The code in jnilink.c has a similar objective. TODO: Consider using that - code instead. - - --Steven Augart -*/ - -/* All of these are cached classes and method IDs: */ -/* java.lang.Object */ -static jclass obj_class; /* java.lang.Object */ -static jmethodID obj_ctor; /* no-arg Constructor for java.lang.Object */ -static jmethodID obj_notify_mth; /* java.lang.Object.notify() */ -static jmethodID obj_notifyall_mth; /* java.lang.Object.notifyall() */ -static jmethodID obj_wait_mth; /* java.lang.Object.wait() */ -static jmethodID obj_wait_nanotime_mth; /* java.lang.Object.wait(JI) */ - -/* GThreadMutex and its methods */ -static jclass mutex_class; -static jmethodID mutex_ctor; -static jfieldID mutex_lockForPotentialLockers_fld; -static jfieldID mutex_potentialLockers_fld; - -/* java.lang.Thread and its methods*/ -static jclass thread_class; /* java.lang.Thread */ -static jmethodID thread_current_mth; /* Thread.currentThread() */ -static jmethodID thread_equals_mth; /* Thread.equals() */ -static jmethodID thread_join_mth; /* Thread.join() */ -static jmethodID thread_setPriority_mth; /* Thread.setPriority() */ -static jmethodID thread_stop_mth; /* Thread.stop() */ -static jmethodID thread_yield_mth; /* Thread.yield() */ - -/* java.lang.ThreadLocal and its methods */ -static jclass threadlocal_class; /* java.lang.ThreadLocal */ -static jmethodID threadlocal_ctor; /* Its constructor */ -static jmethodID threadlocal_set_mth; /* ThreadLocal.set() */ -static jmethodID threadlocal_get_mth; /* ThreadLocal.get() */ - -/* java.lang.Long and its methods */ -static jclass long_class; /* java.lang.Long */ -static jmethodID long_ctor; /* constructor for it: (J) */ -static jmethodID long_longValue_mth; /* longValue()J */ - - -/* GThreadNativeMethodRunner */ -static jclass runner_class; -static jmethodID runner_ctor; -static jmethodID runner_threadToThreadID_mth; -static jmethodID runner_threadIDToThread_mth; -static jmethodID runner_deRegisterJoinable_mth; -static jmethodID runner_start_mth; /* Inherited Thread.start() */ - - -/* java.lang.InterruptedException */ -static jclass interrupted_exception_class; - - - - -/* Returns a negative value if there was trouble during initialization. - Returns a positive value of the cache was initialized correctly. - Never returns zero. */ -static int -setup_cache (JNIEnv * env) -{ - jclass lcl_class; - static int initialized = 0; /* 1 means initialized, 0 means uninitialized, - -1 means mis-initialized */ - - if (initialized) - return initialized; - - /* make sure we can report on trouble */ - if (setup_exception_cache (env) < 0) - return initialized = -1; - -#ifdef JNI_VERSION_1_2 - if (HAVE_JNI_VERSION_1_2) - assert ( ! (*env)->ExceptionCheck (env)); - else -#endif - assert ( ! (*env)->ExceptionOccurred (env)); - - /* java.lang.Object and its methods */ - lcl_class = (*env)->FindClass (env, "java/lang/Object"); - if (!lcl_class) - { - BROKEN (env, "cannot find java.lang.Object"); - return initialized = -1; - } - - /* Pin it down. */ - obj_class = (jclass) (*env)->NewGlobalRef (env, lcl_class); - DELETE_LOCAL_REF (env, lcl_class); - if (!obj_class) - { - BROKEN (env, "Cannot get a global reference to java.lang.Object"); - return initialized = -1; - } - - obj_ctor = (*env)->GetMethodID (env, obj_class, "", "()V"); - if (!obj_ctor) - { - BROKEN (env, "cannot find constructor for java.lang.Object"); - return initialized = -1; - } - - obj_notify_mth = (*env)->GetMethodID (env, obj_class, "notify", "()V"); - if ( ! obj_notify_mth ) - { - BROKEN (env, "cannot find java.lang.Object.notify()V"); - return initialized = -1; - } - - obj_notifyall_mth = - (*env)->GetMethodID (env, obj_class, "notifyAll", "()V"); - if ( ! obj_notifyall_mth) - { - BROKEN (env, "cannot find java.lang.Object.notifyall()V"); - return initialized = -1; - } - - obj_wait_mth = (*env)->GetMethodID (env, obj_class, "wait", "()V"); - if ( ! obj_wait_mth ) - { - BROKEN (env, "cannot find Object."); - return initialized = -1; - } - - obj_wait_nanotime_mth = - (*env)->GetMethodID (env, obj_class, "wait", "(JI)V"); - if ( ! obj_wait_nanotime_mth ) - { - BROKEN (env, "cannot find Object."); - return initialized = -1; - } - - /* GThreadMutex and its methods */ - lcl_class = (*env)->FindClass (env, "gnu/java/awt/peer/gtk/GThreadMutex"); - if ( ! lcl_class) - { - BROKEN (env, "cannot find gnu.java.awt.peer.gtk.GThreadMutex"); - return initialized = -1; - } - /* Pin it down. */ - mutex_class = (jclass) (*env)->NewGlobalRef (env, lcl_class); - DELETE_LOCAL_REF (env, lcl_class); - if ( ! mutex_class) - { - BROKEN (env, "Cannot get a global reference to GThreadMutex"); - return initialized = -1; - } - - mutex_ctor = (*env)->GetMethodID (env, mutex_class, "", "()V"); - if ( ! mutex_ctor) - { - BROKEN (env, "cannot find zero-arg constructor for GThreadMutex"); - return initialized = -1; - } - - mutex_potentialLockers_fld = (*env)->GetFieldID - (env, mutex_class, "potentialLockers", "I"); - if ( ! mutex_class ) - { - BROKEN (env, "cannot find GThreadMutex.potentialLockers"); - return initialized = -1; - } - - if (! (mutex_lockForPotentialLockers_fld = (*env)->GetFieldID - (env, mutex_class, "lockForPotentialLockers", "Ljava/lang/Object;"))) - { - BROKEN (env, "cannot find GThreadMutex.lockForPotentialLockers"); - return initialized = -1; - } - - - /* java.lang.Thread */ - if (! (lcl_class = (*env)->FindClass (env, "java/lang/Thread"))) - { - BROKEN (env, "cannot find java.lang.Thread"); - return initialized = -1; - } - - /* Pin it down. */ - thread_class = (jclass) (*env)->NewGlobalRef (env, lcl_class); - DELETE_LOCAL_REF (env, lcl_class); - if (!thread_class) - { - BROKEN (env, "Cannot get a global reference to java.lang.Thread"); - return initialized = -1; - } - - thread_current_mth = - (*env)->GetStaticMethodID (env, thread_class, "currentThread", - "()Ljava/lang/Thread;"); - if (!thread_current_mth) - { - BROKEN (env, "cannot find Thread.currentThread() method"); - return initialized = -1; - } - - thread_equals_mth = - (*env)->GetMethodID (env, thread_class, "equals", "(Ljava/lang/Object;)Z"); - if (!thread_equals_mth) - { - BROKEN (env, "cannot find Thread.equals() method"); - return initialized = -1; - } - - thread_join_mth = (*env)->GetMethodID (env, thread_class, "join", "()V"); - if (!thread_join_mth) - { - BROKEN (env, "cannot find Thread.join() method"); - return initialized = -1; - } - - thread_stop_mth = (*env)->GetMethodID (env, thread_class, "stop", "()V"); - if ( ! thread_stop_mth ) - { - BROKEN (env, "cannot find Thread.stop() method"); - return initialized = -1; - } - - thread_setPriority_mth = - (*env)->GetMethodID (env, thread_class, "setPriority", "(I)V"); - if ( ! thread_setPriority_mth ) - { - BROKEN (env, "cannot find Thread.setPriority() method"); - return initialized = -1; - } - - thread_yield_mth = - (*env)->GetStaticMethodID (env, thread_class, "yield", "()V"); - if ( ! thread_yield_mth ) - { - BROKEN (env, "cannot find Thread.yield() method"); - return initialized = -1; - } - - /* java.lang.ThreadLocal */ - lcl_class = (*env)->FindClass (env, "java/lang/ThreadLocal"); - if ( ! lcl_class ) - { - BROKEN (env, "cannot find class java.lang.ThreadLocal"); - return initialized = -1; - } - - /* Pin it down. */ - threadlocal_class = (jclass) (*env)->NewGlobalRef (env, lcl_class); - DELETE_LOCAL_REF (env, lcl_class); - if ( ! threadlocal_class ) - { - BROKEN (env, "Cannot get a global reference to java.lang.ThreadLocal"); - return initialized = -1; - } - - threadlocal_ctor = (*env)->GetMethodID (env, threadlocal_class, - "", "()V"); - if ( ! threadlocal_ctor ) - { - BROKEN (env, "cannot find ThreadLocal.()V"); - return initialized = -1; - } - - threadlocal_get_mth = (*env)->GetMethodID (env, threadlocal_class, - "get", "()Ljava/lang/Object;"); - if ( ! threadlocal_get_mth ) - { - BROKEN (env, "cannot find java.lang.ThreadLocal.get()Object"); - return initialized = -1; - } - - threadlocal_set_mth = (*env)->GetMethodID (env, threadlocal_class, - "set", "(Ljava/lang/Object;)V"); - if ( ! threadlocal_set_mth ) - { - BROKEN (env, "cannot find ThreadLocal.set(Object)V"); - return initialized = -1; - } - - /* java.lang.Long */ - lcl_class = (*env)->FindClass (env, "java/lang/Long"); - if ( ! lcl_class ) - { - BROKEN (env, "cannot find class java.lang.Long"); - return initialized = -1; - } - - /* Pin it down. */ - long_class = (jclass) (*env)->NewGlobalRef (env, lcl_class); - DELETE_LOCAL_REF (env, lcl_class); - if (!long_class) - { - BROKEN (env, "Cannot get a global reference to java.lang.Long"); - return initialized = -1; - } - - long_ctor = (*env)->GetMethodID (env, long_class, "", "(J)V"); - if (!long_ctor) - { - BROKEN (env, "cannot find method java.lang.Long.(J)V"); - return initialized = -1; - } - - long_longValue_mth = - (*env)->GetMethodID (env, long_class, "longValue", "()J"); - if (!long_longValue_mth) - { - BROKEN (env, "cannot find method java.lang.Long.longValue()J"); - return initialized = -1; - } - - - /* GThreadNativeMethodRunner */ - lcl_class = - (*env)->FindClass (env, - "gnu/java/awt/peer/gtk/GThreadNativeMethodRunner"); - if ( ! lcl_class ) - { - BROKEN (env, - "cannot find gnu.java.awt.peer.gtk.GThreadNativeMethodRunner"); - return initialized = -1; - } - - /* Pin it down. */ - runner_class = (jclass) (*env)->NewGlobalRef (env, lcl_class); - DELETE_LOCAL_REF (env, lcl_class); - if (!runner_class) - { - BROKEN (env, - "Cannot get a global reference to the class GThreadNativeMethodRunner"); - return initialized = -1; - } - - runner_ctor = (*env)->GetMethodID (env, runner_class, "", "(JJZ)V"); - if ( ! runner_ctor ) - { - BROKEN (env, - "cannot find method GThreadNativeMethodRunner.(JJZ)"); - return initialized = -1; - } - - runner_start_mth = (*env)->GetMethodID (env, runner_class, "start", "()V"); - if ( ! runner_start_mth ) - { - BROKEN (env, "cannot find method GThreadNativeMethodRunner.start()V"); - return initialized = -1; - } - - - runner_threadToThreadID_mth = - (*env)->GetStaticMethodID (env, runner_class, - "threadToThreadID", "(Ljava/lang/Thread;)I"); - if ( ! runner_threadToThreadID_mth ) - { - BROKEN (env, - "cannot find method GThreadNativeMethodRunner.threadToThreadID(java.lang.Thread)I"); - return initialized = -1; - } - - - runner_threadIDToThread_mth = - (*env)->GetStaticMethodID (env, runner_class, - "threadIDToThread", "(I)Ljava/lang/Thread;"); - if ( ! runner_threadIDToThread_mth ) - { - BROKEN (env, - "cannot find method GThreadNativeMethodRunner.threadIDToThread(I)java.lang.Thread"); - return initialized = -1; - } - - - runner_deRegisterJoinable_mth = - (*env)->GetStaticMethodID (env, runner_class, "deRegisterJoinable", - "(Ljava/lang/Thread;)V"); - if (!runner_deRegisterJoinable_mth) - { - BROKEN (env, - "cannot find method GThreadNativeMethodRunner.deRegisterJoinable(java.lang.Thread)V"); - return initialized = -1; - } - - - /* java.lang.InterruptedException */ - lcl_class = (*env)->FindClass (env, "java/lang/InterruptedException"); - if ( ! lcl_class ) - { - BROKEN (env, "cannot find class java.lang.InterruptedException"); - return initialized = -1; - } - - /* Pin it down. */ - interrupted_exception_class = (jclass) (*env)->NewGlobalRef (env, lcl_class); - DELETE_LOCAL_REF (env, lcl_class); - if (!interrupted_exception_class) - { - BROKEN (env, "Cannot make a global reference" - " to java.lang.InterruptedException"); - return initialized = -1; - } - -#ifdef JNI_VERSION_1_2 - if (HAVE_JNI_VERSION_1_2) - assert ( ! (*env)->ExceptionCheck (env)); - else -#endif - assert ( ! (*env)->ExceptionOccurred (env)); - - - return initialized = 1; -} - - - - - -/************************************************************************/ -/* Utilities to allocate and free java.lang.Objects */ -/************************************************************************/ - -/* The condition variables are java.lang.Object objects, - * which this method allocates and returns a global ref. Note that global - * refs must be explicitly freed (isn't C fun?). - */ -static jobject -allocatePlainObject (JNIEnv * env) -{ - jobject lcl_obj, global_obj; - - lcl_obj = (*env)->NewObject (env, obj_class, obj_ctor); - if (!lcl_obj) - { - BROKEN (env, "cannot allocate object"); - return NULL; - } - - global_obj = (*env)->NewGlobalRef (env, lcl_obj); - DELETE_LOCAL_REF (env, lcl_obj); - if (!global_obj) - { - NEW_BROKEN (env, "cannot make global ref for a new plain Java object"); - /* Deliberate fall-through */ - } - - return global_obj; -} - -/* Frees any Java object given a global ref (isn't C fun?) */ -static void -freeObject (JNIEnv * env, jobject obj) -{ - if (obj) - { - (*env)->DeleteGlobalRef (env, obj); - /* DeleteGlobalRef can never fail */ - } -} - - -/************************************************************************/ -/* Utilities to allocate and free Java mutexes */ -/************************************************************************/ - -/* The mutexes are gnu.java.awt.peer.gtk.GThreadMutex objects, - * which this method allocates and returns a global ref. Note that global - * refs must be explicitly freed (isn't C fun?). - * - * Free this with freeObject() - */ -static jobject -allocateMutexObject (JNIEnv * env) -{ - jobject lcl_obj, global_obj; - - lcl_obj = (*env)->NewObject (env, mutex_class, mutex_ctor); - if (!lcl_obj) - { - BROKEN (env, "cannot allocate a GThreadMutex"); - return NULL; - } - - global_obj = (*env)->NewGlobalRef (env, lcl_obj); - DELETE_LOCAL_REF (env, lcl_obj); - if (!global_obj) - { - NEW_BROKEN (env, "cannot make global ref"); - /* Deliberate fallthrough */ - } - - return global_obj; -} - - -/************************************************************************/ -/* Locking code */ -/************************************************************************/ - -/* Lock a Java object */ -#define ENTER_MONITOR(env, m) \ - enterMonitor(env, m, G_STRINGIFY(m)) - -/* Return -1 on failure, 0 on success. */ -static int -enterMonitor (JNIEnv * env, jobject monitorObj, const char monName[]) -{ - if (TRACE_MONITORS) - tracing (" ", monName); - assert (monitorObj); - if ((*env)->MonitorEnter (env, monitorObj) < 0) - { - BROKEN (env, "cannot enter monitor"); - return -1; - } - return 0; -} - - -/* Unlock a Java object */ -#define EXIT_MONITOR(env, m) \ - exitMonitor(env, m, G_STRINGIFY(m)) - -static int -exitMonitor (JNIEnv * env, jobject mutexObj, const char monName[]) -{ - if (TRACE_MONITORS) - tracing (" ", monName); - assert (mutexObj); - if ((*env)->MonitorExit (env, mutexObj) < 0) - { - BROKEN (env, "cannot exit monitor "); - return -1; - } - return 0; -} - - -/************************************************************************/ -/* Miscellaneous utilities */ -/************************************************************************/ - -/* Get the Java Thread object that corresponds to a particular thread ID. - A negative thread Id gives us a null object. - - Returns a local reference. -*/ -static jobject -getThreadFromThreadID (JNIEnv * env, gpointer gThreadID) -{ - jint threadNum = GPOINTER_TO_INT(gThreadID); - jobject thread; - - if (threadNum < 0) - { - NEW_BROKEN (env, "getThreadFromThreadID asked to look up" - " a negative thread index"); - return NULL; - } - - thread = (*env)->CallStaticObjectMethod - (env, runner_class, runner_threadIDToThread_mth, threadNum); - - if (MAYBE_BROKEN (env, "cannot get Thread for threadID ")) - return NULL; - - return thread; -} - -/** Return the unique threadID of THREAD. - - Error handling: Return (gpointer) -1 on all failures, - and propagate an exception. -*/ -static gpointer -getThreadIDFromThread (JNIEnv * env, jobject thread) -{ - jint threadNum; - - if (ENABLE_EXPENSIVE_ASSERTIONS) - assert ((*env)->IsInstanceOf (env, thread, thread_class)); - - HIDE_OLD_TROUBLE (env); - - threadNum = (*env)->CallStaticIntMethod - (env, runner_class, runner_threadToThreadID_mth, thread); - - if (MAYBE_BROKEN (env, "cannot get ThreadID for a Thread ")) - { - threadNum = -1; - goto done; - } - - - SHOW_OLD_TROUBLE (); - -done: - return GINT_TO_POINTER(threadNum); -} - - -/************************************************************************/ -/* The Actual JNI functions that we pass to the function vector. */ -/************************************************************************/ - - -/************************************************************************/ -/* Mutex Functions */ -/************************************************************************/ - -/*** Mutex Utilities ****/ -struct mutexObj_cache -{ - jobject lockForPotentialLockersObj; /* Lock for the potentialLockers - field. Local reference. */ - jobject lockObj; /* The real lock we use. This is a GLOBAL - reference and must not be freed. */ -}; - -/* Initialize the cache of sub-locks for a particular mutex object. - - -1 on error, 0 on success. The caller is not responsible for freeing the - partially-populated cache in case of failure (but in practice does anyway) - (This actually never fails, though, since GetObjectField allegedly never - fails.) - - Guaranteed to leave all fields of the cache initialized, even if only to - zero. -*/ -static int -populate_mutexObj_cache (JNIEnv * env, jobject mutexObj, - struct mutexObj_cache *mcache) -{ - mcache->lockObj = mutexObj; /* the mutexObj is its own lock. */ - assert (mcache->lockObj); - - mcache->lockForPotentialLockersObj = (*env)->GetObjectField - (env, mutexObj, mutex_lockForPotentialLockers_fld); - /* GetObjectField can never fail. */ - - /* Retrieving a NULL object could only happen if we somehow got a - a mutex object that was not properly intialized. */ - assert (mcache->lockForPotentialLockersObj); - - return 0; -} - - -/* Clean out the mutexObj_cache, even if it was never populated. */ -static void -clean_mutexObj_cache (JNIEnv * env, struct mutexObj_cache *mcache) -{ - /* OK to pass NULL refs to DELETE_LOCAL_REF */ - DELETE_LOCAL_REF (env, mcache->lockForPotentialLockersObj); - /* mcache->lockObj is a GLOBAL reference. */ - mcache->lockObj = NULL; -} - -/* -1 on failure, 0 on success. - The mutexObj_cache is already populated for this particular object. */ -static int -mutexObj_lock (JNIEnv * env, jobject mutexObj, struct mutexObj_cache *mcache) -{ - jint potentialLockers; - - if (ENTER_MONITOR (env, mcache->lockForPotentialLockersObj)) - return -1; - - assert(mutexObj); - potentialLockers = - (*env)->GetIntField (env, mutexObj, mutex_potentialLockers_fld); - /* GetIntField() never fails. */ - - ++potentialLockers; - - (*env)->SetIntField - (env, mutexObj, mutex_potentialLockers_fld, potentialLockers); - - if (EXIT_MONITOR (env, mcache->lockForPotentialLockersObj)) - return -1; - - if (ENTER_MONITOR (env, mcache->lockObj)) - return -1; - - SHOW_OLD_TROUBLE (); - - return 0; -} - -/* Unlock a GMutex, once we're already in JNI and have already gotten the - mutexObj for it. This skips the messages that TRACE_API_CALLS would - print. - - Returns -1 on error, 0 on success. */ -static int -mutexObj_unlock (JNIEnv * env, jobject mutexObj, - struct mutexObj_cache *mcache) -{ - jint potentialLockers; - int ret = -1; /* assume failure until we suceed. */ - - /* Free the lock first, so that someone waiting for the lock can get it - ASAP. */ - /* This is guaranteed not to block. */ - if (EXIT_MONITOR (env, mcache->lockObj) < 0) - goto done; - - /* Kick down potentialLockers by one. We do this AFTER we free the lock, so - that we hold it no longer than necessary. */ - if (ENTER_MONITOR (env, mcache->lockForPotentialLockersObj) < 0) - goto done; - - potentialLockers = (*env)->GetIntField - (env, mutexObj, mutex_potentialLockers_fld); - /* GetIntField never fails */ - - assert (potentialLockers >= 1); - --potentialLockers; - - (*env)->SetIntField - (env, mutexObj, mutex_potentialLockers_fld, potentialLockers); - /* Never fails, so the JNI book says. */ - - /* Clean up. */ - if (EXIT_MONITOR (env, mcache->lockForPotentialLockersObj) < 0) - goto done; - ret = 0; - -done: - return ret; -} - -/*** Mutex Implementations ****/ - -/* Create a mutex, which is a java.lang.Object for us. - In case of failure, we'll return NULL. Which will implicitly - cause future calls to fail. */ -static GMutex * -mutex_new_jni_impl (void) -{ - jobject mutexObj; - JNIEnv *env; - union env_union e; - - if (TRACE_API_CALLS) - tracing ("mutex_new_jni_impl()"); - - e.jni_env = &env; - (*cp_gtk_the_vm)->GetEnv (cp_gtk_the_vm, e.void_env, JNI_VERSION_1_1); - - if (setup_cache (env) < 0) - { - mutexObj = NULL; - goto done; - } - - mutexObj = allocateMutexObject (env); - -done: - if (TRACE_API_CALLS) - tracing (" ==> %p \n", mutexObj); - - return (GMutex *) mutexObj; - -} - -/* Lock a mutex. */ -static void -mutex_lock_jni_impl (GMutex * mutex) -{ - struct mutexObj_cache mcache; - jobject mutexObj = (jobject) mutex; - JNIEnv *env; - union env_union e; - - if (TRACE_API_CALLS) - tracing ("mutex_lock_jni_impl( mutexObj = %p )", mutexObj); - - assert (mutexObj); - e.jni_env = &env; - (*cp_gtk_the_vm)->GetEnv (cp_gtk_the_vm, e.void_env, JNI_VERSION_1_1); - - if (setup_cache (env) < 0) - goto done; - - HIDE_OLD_TROUBLE (env); - - if (populate_mutexObj_cache (env, mutexObj, &mcache) < 0) - goto done; - - mutexObj_lock (env, mutexObj, &mcache); - /* No need to error check; we've already reported it in any case. */ - -done: - clean_mutexObj_cache (env, &mcache); - if (TRACE_API_CALLS) - tracing (" ==> VOID \n"); -} - - -/* Try to lock a mutex. Return TRUE if we succeed, FALSE if we fail. - FALSE on error. */ -static gboolean -mutex_trylock_jni_impl (GMutex * gmutex) -{ - jobject mutexObj = (jobject) gmutex; - jint potentialLockers; - gboolean ret = FALSE; - JNIEnv *env; - union env_union e; - struct mutexObj_cache mcache; - - if (TRACE_API_CALLS) - tracing ("mutex_trylock_jni_impl(mutexObj=%p)", mutexObj); - - assert (mutexObj); - - e.jni_env = &env; - (*cp_gtk_the_vm)->GetEnv (cp_gtk_the_vm, e.void_env, JNI_VERSION_1_1); - if (setup_cache (env) < 0) - goto done; - HIDE_OLD_TROUBLE (env); - - if (populate_mutexObj_cache (env, mutexObj, &mcache) < 0) - goto done; - - if (ENTER_MONITOR (env, mcache.lockForPotentialLockersObj)) - goto done; - - potentialLockers = (*env)->GetIntField - (env, mutexObj, mutex_potentialLockers_fld); - - assert (potentialLockers >= 0); - - if (potentialLockers) - { - /* Already locked. Clean up and leave. */ - EXIT_MONITOR (env, mcache.lockForPotentialLockersObj); - /* Ignore any error code from EXIT_MONITOR; there's nothing we could do - at this level, in any case. */ - goto done; - } - - /* Guaranteed not to block. */ - if (ENTER_MONITOR (env, mcache.lockObj)) - { - /* Clean up the existing lock. */ - EXIT_MONITOR (env, mcache.lockForPotentialLockersObj); - /* Ignore any error code from EXIT_MONITOR; there's nothing we could do - at this level, in any case. */ - goto done; - } - - - /* We have the monitor. Record that fact. */ - potentialLockers = 1; - (*env)->SetIntField - (env, mutexObj, mutex_potentialLockers_fld, potentialLockers); - /* Set*Field() never fails */ - - ret = TRUE; /* We have the lock. */ - - /* Clean up. */ - if (EXIT_MONITOR (env, mcache.lockForPotentialLockersObj)) - goto done; /* If we fail at this point, still keep the - main lock. */ - - SHOW_OLD_TROUBLE (); -done: - clean_mutexObj_cache (env, &mcache); - if (TRACE_API_CALLS) - tracing (" ==> %s\n", ret ? "TRUE" : "FALSE"); - return ret; -} - - -/* Unlock a mutex. */ -static void -mutex_unlock_jni_impl (GMutex * gmutex) -{ - jobject mutexObj = (jobject) gmutex; - struct mutexObj_cache mcache; - JNIEnv *env; - union env_union e; - - if (TRACE_API_CALLS) - tracing ("mutex_unlock_jni_impl(mutexObj=%p)", mutexObj); - - e.jni_env = &env; - (*cp_gtk_the_vm)->GetEnv (cp_gtk_the_vm, e.void_env, JNI_VERSION_1_1); - if (setup_cache (env) < 0) - goto done; - HIDE_OLD_TROUBLE (env); - - assert (mutexObj); - - if ( populate_mutexObj_cache (env, mutexObj, &mcache) < 0) - goto done; - - (void) mutexObj_unlock (env, mutexObj, &mcache); - - SHOW_OLD_TROUBLE (); - -done: - clean_mutexObj_cache (env, &mcache); - if (TRACE_API_CALLS) - tracing (" ==> VOID\n"); -} - - - -/* Free a mutex (isn't C fun?). OK this time for it to be NULL. - No failure conditions, for a change. */ -static void -mutex_free_jni_impl (GMutex * mutex) -{ - jobject mutexObj = (jobject) mutex; - JNIEnv *env; - union env_union e; - - e.jni_env = &env; - (*cp_gtk_the_vm)->GetEnv (cp_gtk_the_vm, e.void_env, JNI_VERSION_1_1); - - if (TRACE_API_CALLS) - tracing ("mutex_free_jni_impl(%p)", mutexObj); - - freeObject (env, mutexObj); - - if (TRACE_API_CALLS) - tracing (" ==> VOID\n"); -} - - - - -/************************************************************************/ -/* Condition variable code */ -/************************************************************************/ - -/* Create a new condition variable. This is a java.lang.Object for us. */ -static GCond * -cond_new_jni_impl (void) -{ - jobject condObj; - JNIEnv *env; - union env_union e; - - if (TRACE_API_CALLS) - tracing ("mutex_free_jni_impl()"); - - e.jni_env = &env; - (*cp_gtk_the_vm)->GetEnv (cp_gtk_the_vm, e.void_env, JNI_VERSION_1_1); - - condObj = allocatePlainObject (env); - - if (TRACE_API_CALLS) - tracing (" ==> %p\n", condObj); - - return (GCond *) condObj; -} - -/* Signal on a condition variable. This is simply calling Object.notify - * for us. - */ -static void -cond_signal_jni_impl (GCond * gcond) -{ - JNIEnv *env; - union env_union e; - jobject condObj = (jobject) gcond; - - if (TRACE_API_CALLS) - tracing ("cond_signal_jni_impl(condObj = %p)", condObj); - - e.jni_env = &env; - (*cp_gtk_the_vm)->GetEnv (cp_gtk_the_vm, e.void_env, JNI_VERSION_1_1); - if (setup_cache (env) < 0) - goto done; - HIDE_OLD_TROUBLE (env); - - assert (condObj); - - /* Must have locked an object to call notify */ - if (ENTER_MONITOR (env, condObj)) - goto done; - - (*env)->CallVoidMethod (env, condObj, obj_notify_mth); - if (MAYBE_BROKEN (env, "cannot signal mutex with Object.notify()")) - { - if (EXIT_MONITOR (env, condObj)) - BADLY_BROKEN1 ("Failed to unlock a monitor; the VM may deadlock."); - goto done; - } - - EXIT_MONITOR (env, condObj); - - SHOW_OLD_TROUBLE (); - -done: - if (TRACE_API_CALLS) - tracing (" ==> VOID\n"); -} - -/* Broadcast to all waiting on a condition variable. This is simply - * calling Object.notifyAll for us. - */ -static void -cond_broadcast_jni_impl (GCond * gcond) -{ - jobject condObj = (jobject) gcond; - JNIEnv *env; - union env_union e; - - if (TRACE_API_CALLS) - tracing ("cond_broadcast_jni_impl(condObj=%p)", condObj); - - e.jni_env = &env; - (*cp_gtk_the_vm)->GetEnv (cp_gtk_the_vm, e.void_env, JNI_VERSION_1_1); - if (setup_cache (env) < 0) - goto done; - HIDE_OLD_TROUBLE (env); - - assert (condObj); - /* Must have locked an object to call notifyAll */ - if (ENTER_MONITOR (env, condObj)) - goto done; - - (*env)->CallVoidMethod (env, condObj, obj_notifyall_mth); - if (MAYBE_BROKEN (env, "cannot broadcast to mutex with Object.notify()")) - { - EXIT_MONITOR (env, condObj); - goto done; - } - - EXIT_MONITOR (env, condObj); - - SHOW_OLD_TROUBLE (); - -done: - if (TRACE_API_CALLS) - tracing (" ==> VOID\n"); -} - - -/* Wait on a condition variable. For us, this simply means calling - * Object.wait. - * - * Throws a Java exception on trouble; may leave the mutexes set arbitrarily. - * XXX TODO: Further improve error recovery. - */ -static void -cond_wait_jni_impl (GCond * gcond, GMutex * gmutex) -{ - struct mutexObj_cache cache; - jobject condObj = (jobject) gcond; - jobject mutexObj = (jobject) gmutex; - JNIEnv *env; - union env_union e; - - if (TRACE_API_CALLS) - tracing ("cond_wait_jni_impl(condObj=%p, mutexObj=%p)", - condObj, mutexObj); - - e.jni_env = &env; - (*cp_gtk_the_vm)->GetEnv (cp_gtk_the_vm, e.void_env, JNI_VERSION_1_1); - if (setup_cache (env) < 0) - goto done; - HIDE_OLD_TROUBLE (env); - - assert (condObj); - assert (mutexObj); - /* Must have locked a Java object to call wait on it */ - if (ENTER_MONITOR (env, condObj) < 0) - goto done; - - /* Our atomicity is now guaranteed; we're protected by the Java monitor on - condObj. Unlock the GMutex. */ - if (mutexObj_unlock (env, mutexObj, &cache)) - goto done; - - (*env)->CallVoidMethod (env, condObj, obj_wait_mth); - if (MAYBE_BROKEN (env, "cannot wait on condObj")) - { - EXIT_MONITOR (env, condObj); /* ignore err checking */ - goto done; - } - - /* Re-acquire the lock on the GMutex. Do this while we're protected by the - Java monitor on condObj. */ - if (mutexObj_lock (env, mutexObj, &cache)) - goto done; - - EXIT_MONITOR (env, condObj); - - SHOW_OLD_TROUBLE (); - -done: - if (TRACE_API_CALLS) - tracing (" ==> VOID\n"); -} - - -/** Wait on a condition variable until a timeout. This is a little tricky - * for us. We first call Object.wait(J) giving it the appropriate timeout - * value. On return, we check whether an InterruptedException happened. If - * so, that is Java-speak for wait timing out. - * - * We return FALSE if we timed out. Return TRUE if the condition was - * signalled first, before we timed out. - * - * In case of trouble we throw a Java exception. Whether we return FALSE or - * TRUE depends upon whether the condition was raised before the trouble - * happened. - * - * I believe that this function goes to the proper lengths to try to unlock - * all of the locked mutexes and monitors, as appropriate, and that it further - * tries to make sure that the thrown exception is the current one, not any - * future cascaded one from something like a failure to unlock the monitors. - */ -static gboolean -cond_timed_wait_jni_impl (GCond * gcond, GMutex * gmutex, GTimeVal * end_time) -{ - JNIEnv *env; - union env_union e; - jlong time_millisec; - jint time_nanosec; - jthrowable cause; - jobject condObj = (jobject) gcond; - jobject mutexObj = (jobject) gmutex; - gboolean condRaised = FALSE; /* Condition has not been raised yet. */ - struct mutexObj_cache cache; - gboolean interrupted; - - if (TRACE_API_CALLS) - { - tracing ("cond_timed_wait_jni_impl(cond=%p, mutex=%p," - " end_time=< sec=%lu, usec=%lu >)", condObj, mutexObj, - (unsigned long) end_time->tv_sec, - (unsigned long) end_time->tv_usec); - } - - - e.jni_env = &env; - (*cp_gtk_the_vm)->GetEnv (cp_gtk_the_vm, e.void_env, JNI_VERSION_1_1); - if (setup_cache (env) < 0) - goto done; - HIDE_OLD_TROUBLE (env); - - time_millisec = end_time->tv_sec * 1000 + end_time->tv_usec / 1000; - time_nanosec = 1000 * (end_time->tv_usec % 1000); - - /* Must have locked an object to call wait */ - if (ENTER_MONITOR (env, condObj) < 0) - goto done; - - if (mutexObj_unlock (env, mutexObj, &cache) < 0) - { - if (EXIT_MONITOR (env, condObj) < 0) - criticalMsg - ("Unable to unlock an existing lock on a condition; your proram may deadlock"); - goto done; - } - - - (*env)->CallVoidMethod (env, condObj, obj_wait_nanotime_mth, - time_millisec, time_nanosec); - - /* If there was trouble, save that fact, and the reason for the trouble. We - want to respond to this condition as fast as possible. */ - cause = (*env)->ExceptionOccurred (env); - - if ( ! cause ) - { - condRaised = TRUE; /* condition was signalled */ - } - else if ((*env)->IsInstanceOf (env, cause, interrupted_exception_class)) - { - condRaised = FALSE; /* Condition was not raised before timeout. - (This is redundant with the initialization - of condRaised above) */ - (*env)->ExceptionClear (env); /* Clear the InterruptedException. */ - cause = NULL; /* no pending cause now. */ - } - else - { - interrupted = FALSE; /* Trouble, but not because of - InterruptedException. Assume the condition - was not raised. */ - /* Leave condRaised set to FALSE */ - } - - /* Irrespective of whether there is a pending problem to report, go ahead - and try to clean up. This may end up throwing an exception that is - different from the one that was thrown by the call to Object.wait(). - So we will override it with the first exception (don't want to have - cascading problems). */ - if (mutexObj_lock (env, mutexObj, &cache) && !cause) - { - cause = (*env)->ExceptionOccurred (env); - assert (cause); - } - - if (EXIT_MONITOR (env, condObj) && !cause) - { - cause = (*env)->ExceptionOccurred (env); - assert (cause); - } - - if (cause) /* Raise the first cause. */ - { - BROKEN_CAUSE (env, cause, "error in timed wait or during its cleanup"); - goto done; - } - - SHOW_OLD_TROUBLE (); - -done: - if (TRACE_API_CALLS) - tracing (" ==> condRaised = %s\n", condRaised ? "TRUE" : "FALSE"); - return condRaised; -} - - -/* Free a condition variable. (isn't C fun?). Can not fail. */ -static void -cond_free_jni_impl (GCond * cond) -{ - jobject condObj = (jobject) cond; - JNIEnv *env; - union env_union e; - - if (TRACE_API_CALLS) - tracing ("cond_free_jni_impl(condObj = %p)", condObj); - e.jni_env = &env; - (*cp_gtk_the_vm)->GetEnv (cp_gtk_the_vm, e.void_env, JNI_VERSION_1_1); - - freeObject (env, condObj); - - if (TRACE_API_CALLS) - tracing (" ==> VOID\n"); -} - - -/************************************************************************/ -/* Thread-local data code */ -/************************************************************************/ - -/* Create a new thread-local key. We use java.lang.ThreadLocal objects - * for this. This returns the pointer representation of a Java global - * reference. - * - * We will throw a Java exception and return NULL in case of failure. - */ -static GPrivate * -private_new_jni_impl (GDestroyNotify notify __attribute__ ((unused))) -{ - JNIEnv *env; - union env_union e; - jobject lcl_key; - jobject global_key; - GPrivate *gkey = NULL; /* Error return code */ - - if (TRACE_API_CALLS) - tracing ("private_new_jni_impl()"); - - e.jni_env = &env; - (*cp_gtk_the_vm)->GetEnv (cp_gtk_the_vm, e.void_env, JNI_VERSION_1_1); - if (setup_cache (env) < 0) - goto done; - HIDE_OLD_TROUBLE (env); - - lcl_key = (*env)->NewObject (env, threadlocal_class, threadlocal_ctor); - if ( ! lcl_key ) - { - BROKEN (env, "cannot allocate a ThreadLocal"); - goto done; - } - - global_key = ((*env)->NewGlobalRef (env, lcl_key)); - DELETE_LOCAL_REF (env, lcl_key); - if ( ! global_key) - { - NEW_BROKEN (env, "cannot create a GlobalRef to a new ThreadLocal"); - goto done; - } - - gkey = (GPrivate *) global_key; - SHOW_OLD_TROUBLE (); - -done: - if (TRACE_API_CALLS) - tracing (" ==> %p\n", (void *) gkey); - - return gkey; -} - -/* Get this thread's value for a thread-local key. This is simply - * ThreadLocal.get for us. Return NULL if no value. (I can't think of - * anything else to do.) - */ -static gpointer -private_get_jni_impl (GPrivate * gkey) -{ - JNIEnv *env; - union env_union e; - jobject val_wrapper; - jobject keyObj = (jobject) gkey; - gpointer thread_specific_data = NULL; /* Init to the error-return value */ - - jlong val; - - if (TRACE_API_CALLS) - tracing ("private_get_jni_impl(keyObj=%p)", keyObj); - - e.jni_env = &env; - (*cp_gtk_the_vm)->GetEnv (cp_gtk_the_vm, e.void_env, JNI_VERSION_1_1); - if (setup_cache (env) < 0) - goto done; - HIDE_OLD_TROUBLE (env); - - val_wrapper = (*env)->CallObjectMethod (env, keyObj, threadlocal_get_mth); - if (MAYBE_BROKEN (env, "cannot find thread-local object")) - goto done; - - if (! val_wrapper ) - { - /* It's Java's "null" object. No ref found. This is OK; we must never - have set a value in this thread. Note that this next statement is - not necessary, strictly speaking, since we're already initialized to - NULL. A good optimizing C compiler will detect that and optimize out - this statement. */ - thread_specific_data = NULL; - goto done; - } - - val = (*env)->CallLongMethod (env, val_wrapper, long_longValue_mth); - - if (MAYBE_BROKEN (env, "cannot get thread local value")) - goto done; - - thread_specific_data = (gpointer) (intptr_t) val; - - /* Only re-raise the old pending exception if a new one hasn't come along to - supersede it. */ - SHOW_OLD_TROUBLE (); - -done: - - if (TRACE_API_CALLS) - tracing (" ==> %p\n", thread_specific_data); - - return thread_specific_data; -} - -/* Set this thread's value for a thread-local key. This is simply - * ThreadLocal.set() for us. - */ -static void -private_set_jni_impl (GPrivate * gkey, gpointer thread_specific_data) -{ - JNIEnv *env; - union env_union e; - jobject val_wrapper; - jobject keyObj = (jobject) gkey; - - - if (TRACE_API_CALLS) - tracing ("private_set_jni_impl(keyObj=%p, thread_specific_data=%p)", - keyObj, thread_specific_data); - - e.jni_env = &env; - (*cp_gtk_the_vm)->GetEnv (cp_gtk_the_vm, e.void_env, JNI_VERSION_1_1); - if (setup_cache (env) < 0) - goto done; - HIDE_OLD_TROUBLE (env); - - /* We are just going to always use a Java long to represent a C pointer. - Otherwise all of the code would end up being conditionalized for various - pointer sizes, and that seems like too much of a hassle, in order to save - a paltry few bytes, especially given the horrendous overhead of JNI in - any case. - */ - - val_wrapper = (*env)->NewObject (env, long_class, long_ctor, - (jlong) (intptr_t) thread_specific_data); - if ( ! val_wrapper ) - { - BROKEN (env, "cannot create a java.lang.Long"); - goto done; - } - - /* At this point, we now have set lcl_obj as a numeric class that wraps - around the thread-specific data we were given. */ - (*env)->CallVoidMethod (env, keyObj, threadlocal_set_mth, val_wrapper); - if (MAYBE_BROKEN (env, "cannot set thread local value")) - goto done; - - SHOW_OLD_TROUBLE (); -done: - if (TRACE_API_CALLS) - tracing (" ==> VOID\n"); -} - - -/** Create an object of type gnu.java.awt.peer.gtk.GThreadNativeMethodRunner. - Run it. - - We need to create joinable threads. We handle the notion of a joinable - thread by determining whether or not we are going to maintain a permanent - hard reference to it until it croaks. - - Posix does not appear to have a Java-like concept of daemon threads, where - the JVM will exit when there are only daemon threads running. - - Error handling: - - To quote from the glib guide: - "GError should only be used to report recoverable runtime errors, never - to report programming errors." - - So how do we consider the failure to create a thread? Well, each of the - failure cases in this function are discussed, and none of them are really - recoverable. - - The glib library is really designed so that you should fail - catastrophically in case of "programming errors". The only error defined - for the GThread functions is G_THREAD_ERROR_AGAIN, and that for - thread_create. - - Most of these GThread functions could fail if we run out of memory, for - example, but the only one capable of reporting that fact is - thread_create. */ -static void -thread_create_jni_impl (GThreadFunc func, - gpointer data, - gulong stack_size __attribute__((unused)), - gboolean joinable, - gboolean bound __attribute__((unused)), - GThreadPriority gpriority, - /* This prototype is horrible. threadIDp is actually - a gpointer to the thread's thread-ID. Which is, - of course, itself a gpointer-typed value. Ouch. */ - gpointer threadIDp, - /* Do not touch the GError stuff unless you have - RECOVERABLE trouble. There is no recoverable - trouble in this implementation. */ - GError **errorp __attribute__((unused))) -{ - JNIEnv *env; - union env_union e; - union func_union f; - jboolean jjoinable = joinable; - jobject newThreadObj; - gpointer threadID; /* to be filled in */ - - if (TRACE_API_CALLS) - { - f.g_func = func; - tracing ("thread_create_jni_impl(func=%p, data=%p, joinable=%s," - " threadIDp=%p, *(int *) threadIDp = %d)", - f.void_func, data, joinable ? "TRUE" : "FALSE", - threadIDp, *(int *) threadIDp); - } - - e.jni_env = &env; - (*cp_gtk_the_vm)->GetEnv (cp_gtk_the_vm, e.void_env, JNI_VERSION_1_1); - if (setup_cache (env) < 0) - { - /* The failed call to setup the cache is certainly not recoverable; - not appropriate for G_THREAD_ERROR_AGAIN. */ - *(gpointer *) threadIDp = NULL; - goto done; - } - HIDE_OLD_TROUBLE (env); - - /* If a thread is joinable, then notify its constructor. The constructor - will enter a hard reference for it, and the hard ref. won't go away until - the thread has been joined. */ - newThreadObj = - (*env)->NewObject (env, runner_class, runner_ctor, - (jlong) (intptr_t) func, (jlong) (intptr_t) data, - jjoinable); - if ( ! newThreadObj ) - { - BROKEN (env, "creating a new thread failed in the constructor"); - *(gpointer *) threadIDp = NULL; - /* The failed call to the constructor does not throw any errors such - that G_THREAD_ERROR_AGAIN is appropriate. No other recoverable - errors defined. Once again, we go back to the VM. */ - goto done; - } - - if (threadObj_set_priority (env, newThreadObj, gpriority) < 0) - { - *(gpointer *) threadIDp = NULL; - /* None of these possible exceptions from Thread.setPriority() are - recoverable, so they are not appropriate for EAGAIN. So we should - fail. */ - goto done; - } - - (*env)->CallVoidMethod (env, runner_class, runner_start_mth); - - if (MAYBE_BROKEN (env, "starting a new thread failed")) - { - *(gpointer *) threadIDp = NULL; - /* The only exception Thread.start() throws is - IllegalStateException. And that would indicate a programming error. - - So there are no situations such that G_THREAD_ERROR_AGAIN would be - OK. - - So, we don't use g_set_error() here to perform any error reporting. - */ - goto done; - } - - threadID = getThreadIDFromThread (env, newThreadObj); - - *(gpointer *) threadIDp = threadID; - SHOW_OLD_TROUBLE (); - -done: - if (TRACE_API_CALLS) - tracing (" ==> (threadID = %p) \n", threadID); -} - - -/* Wraps a call to g_thread_yield. */ -static void -thread_yield_jni_impl (void) -{ - JNIEnv *env; - union env_union e; - - if (TRACE_API_CALLS) - tracing ("thread_yield_jni_impl()"); - - e.jni_env = &env; - (*cp_gtk_the_vm)->GetEnv (cp_gtk_the_vm, e.void_env, JNI_VERSION_1_1); - if (setup_cache (env) < 0) - goto done; - HIDE_OLD_TROUBLE (env); - - (*env)->CallStaticVoidMethod (env, thread_class, thread_yield_mth); - if (MAYBE_BROKEN (env, "Thread.yield() failed")) - goto done; - - SHOW_OLD_TROUBLE (); - -done: - if (TRACE_API_CALLS) - tracing (" ==> VOID\n"); -} - - -static void -thread_join_jni_impl (gpointer threadID) -{ - JNIEnv *env; - union env_union e; - jobject threadObj = NULL; - - if ( TRACE_API_CALLS ) - tracing ("thread_join_jni_impl(threadID=%p) ", threadID); - - e.jni_env = &env; - (*cp_gtk_the_vm)->GetEnv (cp_gtk_the_vm, e.void_env, JNI_VERSION_1_1); - if (setup_cache (env) < 0) - goto done; - HIDE_OLD_TROUBLE (env); - - threadObj = getThreadFromThreadID (env, threadID); - if ( ! threadObj ) /* Already reported with BROKEN */ - goto done; - - (*env)->CallVoidMethod (env, threadObj, thread_join_mth); - if (MAYBE_BROKEN (env, "Thread.join() failed")) - goto done; - - - (*env)->CallStaticVoidMethod - (env, runner_class, runner_deRegisterJoinable_mth, threadObj); - if (MAYBE_BROKEN (env, "Thread.deRegisterJoinableThread() failed")) - goto done; - - SHOW_OLD_TROUBLE (); - -done: - DELETE_LOCAL_REF (env, threadObj); - if (TRACE_API_CALLS) - tracing (" ==> VOID \n"); -} - -/* Terminate the current thread. Unlike pthread_exit(), here we do not need - to bother with a return value or exit value for the thread which is about - to croak. (The gthreads abstraction doesn't use it.) However, we *do* - need to bail immediately. We handle this with Thread.stop(), which is - a deprecated method. - - It's deprecated since we might leave objects protected by monitors in - half-constructed states on the way out -- Thread.stop() throws a - ThreadDeath exception, which is usually unchecked. There is no good - solution that I can see. */ -static void -thread_exit_jni_impl (void) -{ - JNIEnv *env; - union env_union e; - jobject this_thread; - - if (TRACE_API_CALLS) - tracing ("thread_exit_jni_impl() "); - - e.jni_env = &env; - (*cp_gtk_the_vm)->GetEnv (cp_gtk_the_vm, e.void_env, JNI_VERSION_1_1); - if (setup_cache (env) < 0) - goto done; - - HIDE_OLD_TROUBLE (env); - - this_thread = (*env)-> - CallStaticObjectMethod (env, thread_class, thread_current_mth); - - if ( ! this_thread ) - { - BROKEN (env, "cannot get current thread"); - goto done; - } - - (*env)->CallVoidMethod (env, this_thread, thread_stop_mth); - if (MAYBE_BROKEN (env, "cannot call Thread.stop() on current thread")) - goto done; - - SHOW_OLD_TROUBLE (); - -done: - if (TRACE_API_CALLS) - tracing (" ==> VOID \n"); -} - - -/* Translate a GThreadPriority to a Java priority level. */ -static jint -javaPriorityLevel (GThreadPriority priority) -{ - /* We have these fields in java.lang.Thread to play with: - - static int MIN_PRIORITY The minimum priority that a thread can have. - static int NORM_PRIORITY The default priority that is assigned to a - thread. - static int MAX_PRIORITY The maximum priority that a thread can have. - - We get these from the header file generated by javah, even though they're - documented as being 1, 5, and 10. - */ - static const jint minJPri = - gnu_java_awt_peer_gtk_GThreadNativeMethodRunner_MIN_PRIORITY; - static const jint normJPri = - gnu_java_awt_peer_gtk_GThreadNativeMethodRunner_NORM_PRIORITY; - static const jint maxJPri = - gnu_java_awt_peer_gtk_GThreadNativeMethodRunner_MAX_PRIORITY; - - switch (priority) - { - case G_THREAD_PRIORITY_LOW: - return minJPri; - break; - - default: - assert_not_reached (); - /* Deliberate fall-through if assertions are turned off; also shuts up - GCC warnings if they're turned on. */ - case G_THREAD_PRIORITY_NORMAL: - return normJPri; - break; - - case G_THREAD_PRIORITY_HIGH: - return (normJPri + maxJPri) / 2; - break; - - case G_THREAD_PRIORITY_URGENT: - return maxJPri; - break; - } -} - - -/** It would be safe not to implement this, according to the JNI docs, since - not all platforms do thread priorities. However, we might as well - provide the hint for those who want it. -*/ -static void -thread_set_priority_jni_impl (gpointer gThreadID, GThreadPriority gpriority) -{ - jobject threadObj = NULL; - JNIEnv *env; - union env_union e; - - if (TRACE_API_CALLS) - tracing ("thread_set_priority_jni_impl(gThreadID=%p, gpriority = %u) ", - gThreadID, gpriority); - - e.jni_env = &env; - (*cp_gtk_the_vm)->GetEnv (cp_gtk_the_vm, e.void_env, JNI_VERSION_1_1); - - if (setup_cache (env) < 0) - goto done; - - HIDE_OLD_TROUBLE (env); - - - threadObj = getThreadFromThreadID (env, gThreadID); - if ( ! threadObj) /* Reported with BROKEN already. */ - goto done; - - if (threadObj_set_priority (env, threadObj, gpriority)) - goto done; - - SHOW_OLD_TROUBLE (); - -done: - DELETE_LOCAL_REF (env, threadObj); - - if (TRACE_API_CALLS) - tracing (" ==> VOID\n"); -} - - -/** It would be safe not to implement this, according to the JNI docs, since - not all platforms do thread priorities. However, we might as well - provide the hint for those who want it. - - -1 on failure, 0 on success. */ -static int -threadObj_set_priority (JNIEnv * env, jobject threadObj, - GThreadPriority gpriority) -{ - jint javaPriority = javaPriorityLevel (gpriority); - (*env)->CallVoidMethod (env, threadObj, thread_setPriority_mth, - javaPriority); - return MAYBE_BROKEN (env, "Thread.setPriority() failed"); -} - - -/** Return the result of Thread.currentThread(), a static method. */ -static void -thread_self_jni_impl (/* Another confusing glib prototype. This is - actually a gpointer to the thread's thread-ID. - Which is, of course, a gpointer. */ - gpointer my_thread_IDp) -{ - JNIEnv *env; - union env_union e; - jobject this_thread; - gpointer my_threadID; - - if (TRACE_API_CALLS) - tracing ("thread_self_jni_impl(my_thread_IDp=%p)", my_thread_IDp); - - e.jni_env = &env; - (*cp_gtk_the_vm)->GetEnv (cp_gtk_the_vm, e.void_env, JNI_VERSION_1_1); - - if (setup_cache (env) < 0) - return; - - HIDE_OLD_TROUBLE (env); - - this_thread = (*env)-> - CallStaticObjectMethod (env, thread_class, thread_current_mth); - if (! this_thread ) - { - BROKEN (env, "cannot get current thread"); - my_threadID = NULL; - goto done; - } - - my_threadID = getThreadIDFromThread (env, this_thread); - SHOW_OLD_TROUBLE (); - -done: - if (TRACE_API_CALLS) - tracing (" ==> (my_threadID = %p) \n", my_threadID); - - *(gpointer *) my_thread_IDp = my_threadID; -} - - -static gboolean -thread_equal_jni_impl (gpointer thread1, gpointer thread2) -{ - JNIEnv *env; - union env_union e; - - gpointer threadID1 = *(gpointer *) thread1; - gpointer threadID2 = *(gpointer *) thread2; - - jobject thread1_obj = NULL; - jobject thread2_obj = NULL; - gboolean ret; - - if (TRACE_API_CALLS) - tracing ("thread_equal_jni_impl(threadID1=%p, threadID2=%p)", - threadID1, threadID2); - - e.jni_env = &env; - (*cp_gtk_the_vm)->GetEnv (cp_gtk_the_vm, e.void_env, JNI_VERSION_1_1); - if (setup_cache (env) < 0) - { - ret = FALSE; /* what is safer? We really don't ever want - to return from here. */ - goto done; - } - - HIDE_OLD_TROUBLE (env); - thread1_obj = getThreadFromThreadID (env, threadID1); - thread2_obj = getThreadFromThreadID (env, threadID2); - - ret = (*env)->CallBooleanMethod (env, thread1_obj, - thread_equals_mth, thread2_obj); - - if (MAYBE_BROKEN (env, "Thread.equals() failed")) - { - ret = FALSE; - goto done; - } - - SHOW_OLD_TROUBLE (); - - -done: - DELETE_LOCAL_REF (env, thread1_obj); - DELETE_LOCAL_REF (env, thread2_obj); - - if (TRACE_API_CALLS) - tracing (" ==> %s\n", ret ? "TRUE" : "FALSE"); - - return ret; -} - - - - -/************************************************************************/ -/* GLIB interface */ -/************************************************************************/ - -/* set of function pointers to give to glib. */ -GThreadFunctions cp_gtk_portable_native_sync_jni_functions = { - mutex_new_jni_impl, /* mutex_new */ - mutex_lock_jni_impl, /* mutex_lock */ - mutex_trylock_jni_impl, /* mutex_trylock */ - mutex_unlock_jni_impl, /* mutex_unlock */ - mutex_free_jni_impl, /* mutex_free */ - cond_new_jni_impl, /* cond_new */ - cond_signal_jni_impl, /* cond_signal */ - cond_broadcast_jni_impl, /* cond_broadcast */ - cond_wait_jni_impl, /* cond_wait */ - cond_timed_wait_jni_impl, /* cond_timed_wait */ - cond_free_jni_impl, /* cond_free */ - private_new_jni_impl, /* private_new */ - private_get_jni_impl, /* private_get */ - private_set_jni_impl, /* private_set */ - thread_create_jni_impl, /* thread_create */ - thread_yield_jni_impl, /* thread_yield */ - thread_join_jni_impl, /* thread_join */ - thread_exit_jni_impl, /* thread_exit */ - thread_set_priority_jni_impl, /* thread_set_priority */ - thread_self_jni_impl, /* thread_self */ - thread_equal_jni_impl, /* thread_equal */ -}; - - -/* Keep c-font-lock-extra-types in alphabetical order. */ -/* Local Variables: */ -/* c-file-style: "gnu" */ -/* c-font-lock-extra-types: ("\\sw+_t" "gboolean" "GError" "gpointer" - "GPrivate" "GThreadFunc" "GThreadFunctions" "GThreadPriority" - "gulong" - "JNIEnv" - "jboolean" "jclass" "jfieldID" "jint" "jlong" "jmethodID" "jobject" "jstring" "jthrowable" ) */ -/* End: */ diff --git a/libjava/classpath/native/jni/gtk-peer/gthread-jni.h b/libjava/classpath/native/jni/gtk-peer/gthread-jni.h deleted file mode 100644 index 3d052dc..0000000 --- a/libjava/classpath/native/jni/gtk-peer/gthread-jni.h +++ /dev/null @@ -1,48 +0,0 @@ -/* gthread-jni.h - Copyright (C) 1998, 2002 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. */ - -#ifndef __GTHREADJNI_H__ -#define __GTHREADJNI_H__ - -#include -#include -#include "gtkpeer.h" - -extern GThreadFunctions cp_gtk_portable_native_sync_jni_functions; -extern JavaVM *cp_gtk_the_vm; - -#endif /* __GTHREADJNI_H__ */ diff --git a/libjava/classpath/native/jni/java-io/Makefile.in b/libjava/classpath/native/jni/java-io/Makefile.in index 91977d5..a3c3982 100644 --- a/libjava/classpath/native/jni/java-io/Makefile.in +++ b/libjava/classpath/native/jni/java-io/Makefile.in @@ -44,16 +44,21 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ - $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ - $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ + $(top_srcdir)/../../libtool.m4 \ + $(top_srcdir)/../../ltoptions.m4 \ + $(top_srcdir)/../../ltsugar.m4 \ + $(top_srcdir)/../../ltversion.m4 \ + $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \ + $(top_srcdir)/m4/acinclude.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/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 +mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs CONFIG_HEADER = $(top_builddir)/include/config.h CONFIG_CLEAN_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; @@ -72,15 +77,15 @@ am_libjavaio_la_OBJECTS = java_io_VMFile.lo \ java_io_VMObjectInputStream.lo java_io_VMObjectStreamClass.lo libjavaio_la_OBJECTS = $(am_libjavaio_la_OBJECTS) DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include -depcomp = $(SHELL) $(top_srcdir)/depcomp +depcomp = $(SHELL) $(top_srcdir)/../../depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \ +LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) -LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ +LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ SOURCES = $(libjavaio_la_SOURCES) DIST_SOURCES = $(libjavaio_la_SOURCES) @@ -91,12 +96,15 @@ ACLOCAL = @ACLOCAL@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ +AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@ BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -142,6 +150,7 @@ DATE = @DATE@ DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ @@ -154,15 +163,16 @@ ERROR_CFLAGS = @ERROR_CFLAGS@ EXAMPLESDIR = @EXAMPLESDIR@ EXEEXT = @EXEEXT@ FASTJAR = @FASTJAR@ +FGREP = @FGREP@ FIND = @FIND@ FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@ FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@ FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@ FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@ -FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@ -FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@ FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@ FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@ +FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@ +FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@ FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@ FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@ FOUND_KJC_FALSE = @FOUND_KJC_FALSE@ @@ -170,7 +180,6 @@ FOUND_KJC_TRUE = @FOUND_KJC_TRUE@ FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@ FREETYPE2_LIBS = @FREETYPE2_LIBS@ GCJ = @GCJ@ -GCJX = @GCJX@ GCONF_CFLAGS = @GCONF_CFLAGS@ GCONF_LIBS = @GCONF_LIBS@ GDK_CFLAGS = @GDK_CFLAGS@ @@ -180,6 +189,7 @@ GENINSRC_TRUE = @GENINSRC_TRUE@ GJDOC = @GJDOC@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ +GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@ @@ -191,6 +201,7 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +JAVAC = @JAVAC@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ @@ -200,6 +211,7 @@ JIKES = @JIKES@ JIKESENCODING = @JIKESENCODING@ JIKESWARNINGS = @JIKESWARNINGS@ KJC = @KJC@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBDEBUG = @LIBDEBUG@ LIBICONV = @LIBICONV@ @@ -219,6 +231,7 @@ MKDIR = @MKDIR@ MOC = @MOC@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ +NM = @NM@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ @@ -240,6 +253,7 @@ RANLIB = @RANLIB@ REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@ REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@ REMOVE = @REMOVE@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@ @@ -267,8 +281,10 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ X_PRE_LIBS = @X_PRE_LIBS@ ZIP = @ZIP@ +ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_STRIP = @ac_ct_STRIP@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ @@ -301,6 +317,7 @@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ multi_basedir = @multi_basedir@ diff --git a/libjava/classpath/native/jni/java-io/java_io_VMFile.c b/libjava/classpath/native/jni/java-io/java_io_VMFile.c index de1320b..2882075 100644 --- a/libjava/classpath/native/jni/java-io/java_io_VMFile.c +++ b/libjava/classpath/native/jni/java-io/java_io_VMFile.c @@ -55,6 +55,18 @@ exception statement from your version. */ #include "java_io_VMFile.h" +/* ***** PRIVATE FUNCTIONS DELCARATION ***** */ + +/** + * Enables of disables the passed permission bit of a file. + */ +static jboolean set_file_permissions (JNIEnv *env, jstring name, + jboolean enable, + jboolean ownerOnly, + int permissions); + +/* ***** END: PRIVATE FUNCTIONS DELCARATION ***** */ + /*************************************************************************/ /* @@ -189,6 +201,46 @@ Java_java_io_VMFile_canWrite (JNIEnv * env, /*************************************************************************/ /* + * This method checks to see if we have execute permission on a file. + * + * Class: java_io_VMFile + * Method: canExecute + * Signature: (Ljava/lang/String;)Z + */ + +JNIEXPORT jboolean JNICALL +Java_java_io_VMFile_canExecute (JNIEnv * env, + jclass clazz __attribute__ ((__unused__)), + jstring name) +{ +#ifndef WITHOUT_FILESYSTEM + const char *filename; + int result; + + /* Don't use the JCL convert function because it throws an exception + on failure */ + filename = (*env)->GetStringUTFChars (env, name, 0); + if (filename == NULL) + { + return JNI_FALSE; + } + + result = cpio_checkAccess (filename, CPFILE_FLAG_EXEC); + + (*env)->ReleaseStringUTFChars (env, name, filename); + if (result != CPNATIVE_OK) + return JNI_FALSE; + + return JNI_TRUE; +#else /* not WITHOUT_FILESYSTEM */ + return JNI_FALSE; +#endif /* not WITHOUT_FILESYSTEM */ +} + + +/*************************************************************************/ + +/* * This method makes a file read only. * * Class: java_io_VMFile @@ -225,6 +277,66 @@ Java_java_io_VMFile_setReadOnly (JNIEnv * env, /*************************************************************************/ /* + * This method changes the read permission bit of a file. + * + * Class: java_io_VMFile + * Method: setReadable + * Signature: (Ljava/lang/String;ZZ)Z + */ +JNIEXPORT jboolean JNICALL +Java_java_io_VMFile_setReadable (JNIEnv *env, + jclass clazz __attribute__ ((__unused__)), + jstring name, + jboolean readable, + jboolean ownerOnly) +{ + return set_file_permissions (env, name, readable, ownerOnly, + CPFILE_FLAG_READ); +} + + +/*************************************************************************/ + +/* + * This method changes the write permission bit of a file. + * + * Class: java_io_VMFile + * Method: setWritable + * Signature: (Ljava/lang/String;ZZ)Z + */ +JNIEXPORT jboolean JNICALL +Java_java_io_VMFile_setWritable (JNIEnv *env, + jclass clazz __attribute__ ((__unused__)), + jstring name, + jboolean writable, + jboolean ownerOnly) +{ + return set_file_permissions (env, name, writable, ownerOnly, + CPFILE_FLAG_WRITE); +} + +/*************************************************************************/ + +/* + * This method changes the execute permission bit of a file. + * + * Class: java_io_VMFile + * Method: setExecutable + * Signature: (Ljava/lang/String;ZZ)Z + */ +JNIEXPORT jboolean JNICALL +Java_java_io_VMFile_setExecutable (JNIEnv *env, + jclass clazz __attribute__ ((__unused__)), + jstring name, + jboolean executable, + jboolean ownerOnly) +{ + return set_file_permissions (env, name, executable, ownerOnly, + CPFILE_FLAG_EXEC); +} +/*************************************************************************/ + +/* * This method checks to see if a file exists. * * Class: java_io_VMFile @@ -967,3 +1079,44 @@ Java_java_io_VMFile_toCanonicalForm (JNIEnv *env, return NULL; #endif /* not WITHOUT_FILESYSTEM */ } + +/*************************************************************************/ + +/* ***** PRIVATE FUNCTIONS IMPLEMENTATION ***** */ + +static jboolean set_file_permissions (JNIEnv *env, jstring name, + jboolean enable, + jboolean ownerOnly, + int permissions) +{ +#ifndef WITHOUT_FILESYSTEM + const char *filename; + int result = JNI_FALSE; + + /* Don't use the JCL convert function because it throws an exception + on failure */ + filename = (*env)->GetStringUTFChars (env, name, 0); + if (filename == NULL) + { + return JNI_FALSE; + } + + if (ownerOnly) + { + permissions |= CPFILE_FLAG_USR; + } + + if (!enable) + { + permissions |= CPFILE_FLAG_OFF; + } + + result = cpio_chmod (filename, permissions); + (*env)->ReleaseStringUTFChars (env, name, filename); + + return result == CPNATIVE_OK ? JNI_TRUE : JNI_FALSE; + +#else /* not WITHOUT_FILESYSTEM */ + return JNI_FALSE; +#endif /* not WITHOUT_FILESYSTEM */ +} diff --git a/libjava/classpath/native/jni/java-lang/Makefile.am b/libjava/classpath/native/jni/java-lang/Makefile.am index 366d72e..aea9ded 100644 --- a/libjava/classpath/native/jni/java-lang/Makefile.am +++ b/libjava/classpath/native/jni/java-lang/Makefile.am @@ -1,4 +1,4 @@ -nativeexeclib_LTLIBRARIES = libjavalang.la libjavalangreflect.la +nativeexeclib_LTLIBRARIES = libjavalang.la libjavalangreflect.la libjavalangmanagement.la libjavalang_la_SOURCES = java_lang_VMSystem.c \ java_lang_VMFloat.c \ @@ -6,12 +6,14 @@ libjavalang_la_SOURCES = java_lang_VMSystem.c \ java_lang_VMMath.c \ java_lang_VMProcess.c -libjavalang_la_LIBADD = $(wildcard $(top_builddir)/native/fdlibm/*.lo) \ +libjavalang_la_LIBADD = $(top_builddir)/native/fdlibm/libfdlibm.la \ $(top_builddir)/native/jni/classpath/jcl.lo \ $(top_builddir)/native/jni/native-lib/libclasspathnative.la libjavalangreflect_la_SOURCES = java_lang_reflect_VMArray.c +libjavalangmanagement_la_SOURCES = gnu_java_lang_management_VMOperatingSystemMXBeanImpl.c + AM_LDFLAGS = @CLASSPATH_MODULE@ AM_CPPFLAGS = @CLASSPATH_INCLUDES@ -I$(top_srcdir)/native/fdlibm AM_CFLAGS = @WARNING_CFLAGS@ @STRICT_WARNING_CFLAGS@ @ERROR_CFLAGS@ diff --git a/libjava/classpath/native/jni/java-lang/Makefile.in b/libjava/classpath/native/jni/java-lang/Makefile.in index 7393d91..3c87804 100644 --- a/libjava/classpath/native/jni/java-lang/Makefile.in +++ b/libjava/classpath/native/jni/java-lang/Makefile.in @@ -44,16 +44,21 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ - $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ - $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ + $(top_srcdir)/../../libtool.m4 \ + $(top_srcdir)/../../ltoptions.m4 \ + $(top_srcdir)/../../ltsugar.m4 \ + $(top_srcdir)/../../ltversion.m4 \ + $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \ + $(top_srcdir)/m4/acinclude.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/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 +mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs CONFIG_HEADER = $(top_builddir)/include/config.h CONFIG_CLEAN_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; @@ -65,30 +70,38 @@ am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(nativeexeclibdir)" nativeexeclibLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(nativeexeclib_LTLIBRARIES) -libjavalang_la_DEPENDENCIES = $(wildcard \ - $(top_builddir)/native/fdlibm/*.lo) \ +libjavalang_la_DEPENDENCIES = \ + $(top_builddir)/native/fdlibm/libfdlibm.la \ $(top_builddir)/native/jni/classpath/jcl.lo \ $(top_builddir)/native/jni/native-lib/libclasspathnative.la am_libjavalang_la_OBJECTS = java_lang_VMSystem.lo java_lang_VMFloat.lo \ java_lang_VMDouble.lo java_lang_VMMath.lo \ java_lang_VMProcess.lo libjavalang_la_OBJECTS = $(am_libjavalang_la_OBJECTS) +libjavalangmanagement_la_LIBADD = +am_libjavalangmanagement_la_OBJECTS = \ + gnu_java_lang_management_VMOperatingSystemMXBeanImpl.lo +libjavalangmanagement_la_OBJECTS = \ + $(am_libjavalangmanagement_la_OBJECTS) libjavalangreflect_la_LIBADD = am_libjavalangreflect_la_OBJECTS = java_lang_reflect_VMArray.lo libjavalangreflect_la_OBJECTS = $(am_libjavalangreflect_la_OBJECTS) DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include -depcomp = $(SHELL) $(top_srcdir)/depcomp +depcomp = $(SHELL) $(top_srcdir)/../../depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \ +LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) -LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ +LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ -SOURCES = $(libjavalang_la_SOURCES) $(libjavalangreflect_la_SOURCES) +SOURCES = $(libjavalang_la_SOURCES) \ + $(libjavalangmanagement_la_SOURCES) \ + $(libjavalangreflect_la_SOURCES) DIST_SOURCES = $(libjavalang_la_SOURCES) \ + $(libjavalangmanagement_la_SOURCES) \ $(libjavalangreflect_la_SOURCES) ETAGS = etags CTAGS = ctags @@ -97,12 +110,15 @@ ACLOCAL = @ACLOCAL@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ +AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@ BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -148,6 +164,7 @@ DATE = @DATE@ DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ @@ -160,15 +177,16 @@ ERROR_CFLAGS = @ERROR_CFLAGS@ EXAMPLESDIR = @EXAMPLESDIR@ EXEEXT = @EXEEXT@ FASTJAR = @FASTJAR@ +FGREP = @FGREP@ FIND = @FIND@ FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@ FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@ FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@ FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@ -FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@ -FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@ FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@ FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@ +FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@ +FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@ FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@ FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@ FOUND_KJC_FALSE = @FOUND_KJC_FALSE@ @@ -176,7 +194,6 @@ FOUND_KJC_TRUE = @FOUND_KJC_TRUE@ FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@ FREETYPE2_LIBS = @FREETYPE2_LIBS@ GCJ = @GCJ@ -GCJX = @GCJX@ GCONF_CFLAGS = @GCONF_CFLAGS@ GCONF_LIBS = @GCONF_LIBS@ GDK_CFLAGS = @GDK_CFLAGS@ @@ -186,6 +203,7 @@ GENINSRC_TRUE = @GENINSRC_TRUE@ GJDOC = @GJDOC@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ +GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@ @@ -197,6 +215,7 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +JAVAC = @JAVAC@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ @@ -206,6 +225,7 @@ JIKES = @JIKES@ JIKESENCODING = @JIKESENCODING@ JIKESWARNINGS = @JIKESWARNINGS@ KJC = @KJC@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBDEBUG = @LIBDEBUG@ LIBICONV = @LIBICONV@ @@ -225,6 +245,7 @@ MKDIR = @MKDIR@ MOC = @MOC@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ +NM = @NM@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ @@ -246,6 +267,7 @@ RANLIB = @RANLIB@ REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@ REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@ REMOVE = @REMOVE@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@ @@ -273,8 +295,10 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ X_PRE_LIBS = @X_PRE_LIBS@ ZIP = @ZIP@ +ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_STRIP = @ac_ct_STRIP@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ @@ -307,6 +331,7 @@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ multi_basedir = @multi_basedir@ @@ -324,18 +349,19 @@ target_os = @target_os@ target_vendor = @target_vendor@ toolexeclibdir = @toolexeclibdir@ vm_classes = @vm_classes@ -nativeexeclib_LTLIBRARIES = libjavalang.la libjavalangreflect.la +nativeexeclib_LTLIBRARIES = libjavalang.la libjavalangreflect.la libjavalangmanagement.la libjavalang_la_SOURCES = java_lang_VMSystem.c \ java_lang_VMFloat.c \ java_lang_VMDouble.c \ java_lang_VMMath.c \ java_lang_VMProcess.c -libjavalang_la_LIBADD = $(wildcard $(top_builddir)/native/fdlibm/*.lo) \ +libjavalang_la_LIBADD = $(top_builddir)/native/fdlibm/libfdlibm.la \ $(top_builddir)/native/jni/classpath/jcl.lo \ $(top_builddir)/native/jni/native-lib/libclasspathnative.la libjavalangreflect_la_SOURCES = java_lang_reflect_VMArray.c +libjavalangmanagement_la_SOURCES = gnu_java_lang_management_VMOperatingSystemMXBeanImpl.c AM_LDFLAGS = @CLASSPATH_MODULE@ AM_CPPFLAGS = @CLASSPATH_INCLUDES@ -I$(top_srcdir)/native/fdlibm AM_CFLAGS = @WARNING_CFLAGS@ @STRICT_WARNING_CFLAGS@ @ERROR_CFLAGS@ @@ -401,6 +427,8 @@ clean-nativeexeclibLTLIBRARIES: done libjavalang.la: $(libjavalang_la_OBJECTS) $(libjavalang_la_DEPENDENCIES) $(LINK) -rpath $(nativeexeclibdir) $(libjavalang_la_LDFLAGS) $(libjavalang_la_OBJECTS) $(libjavalang_la_LIBADD) $(LIBS) +libjavalangmanagement.la: $(libjavalangmanagement_la_OBJECTS) $(libjavalangmanagement_la_DEPENDENCIES) + $(LINK) -rpath $(nativeexeclibdir) $(libjavalangmanagement_la_LDFLAGS) $(libjavalangmanagement_la_OBJECTS) $(libjavalangmanagement_la_LIBADD) $(LIBS) libjavalangreflect.la: $(libjavalangreflect_la_OBJECTS) $(libjavalangreflect_la_DEPENDENCIES) $(LINK) -rpath $(nativeexeclibdir) $(libjavalangreflect_la_LDFLAGS) $(libjavalangreflect_la_OBJECTS) $(libjavalangreflect_la_LIBADD) $(LIBS) @@ -410,6 +438,7 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnu_java_lang_management_VMOperatingSystemMXBeanImpl.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/java_lang_VMDouble.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/java_lang_VMFloat.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/java_lang_VMMath.Plo@am__quote@ diff --git a/libjava/classpath/native/jni/java-lang/gnu_java_lang_management_VMOperatingSystemMXBeanImpl.c b/libjava/classpath/native/jni/java-lang/gnu_java_lang_management_VMOperatingSystemMXBeanImpl.c new file mode 100644 index 0000000..68e89b3 --- /dev/null +++ b/libjava/classpath/native/jni/java-lang/gnu_java_lang_management_VMOperatingSystemMXBeanImpl.c @@ -0,0 +1,60 @@ +/* VMOperatingSystemMXBeanImpl.c - gnu.java.lang.management native functions + Copyright (C) 2006 + 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. */ + +#include +#include + +#include "gnu_java_lang_management_VMOperatingSystemMXBeanImpl.h" + +/* + * Class: gnu_java_lang_management_VMOperatingSystemMXBeanImpl + * Method: getSystemLoadAverage + * Signature: ()D + */ +JNIEXPORT jdouble JNICALL +Java_gnu_java_lang_management_VMOperatingSystemMXBeanImpl_getSystemLoadAverage (JNIEnv * env __attribute__ ((__unused__)), jclass cls __attribute__ ((__unused__))) +{ +#ifdef HAVE_GETLOADAVG + double avg[1]; + int nos = getloadavg(avg, 1); + if (nos == 1) + return avg[0]; + else +#endif + return -1; +} diff --git a/libjava/classpath/native/jni/java-lang/java_lang_VMDouble.c b/libjava/classpath/native/jni/java-lang/java_lang_VMDouble.c index 2ee1f31..723f090 100644 --- a/libjava/classpath/native/jni/java-lang/java_lang_VMDouble.c +++ b/libjava/classpath/native/jni/java-lang/java_lang_VMDouble.c @@ -1,5 +1,5 @@ /* VMDouble.c - java.lang.VMDouble native functions - Copyright (C) 1998, 1999, 2001, 2003, 2004, 2005, 2006 + Copyright (C) 1998, 1999, 2001, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -125,6 +125,16 @@ Java_java_lang_VMDouble_doubleToLongBits val.d = doubleValue; +#if defined(__IEEE_BYTES_LITTLE_ENDIAN) + /* On little endian ARM processors when using FPA, word order of + doubles is still big endian. So take that into account here. When + using VFP, word order of doubles follows byte order. */ + +#define SWAP_DOUBLE(a) (((a) << 32) | (((a) >> 32) & 0x00000000ffffffff)) + + val.j = SWAP_DOUBLE(val.j); +#endif + e = val.j & 0x7ff0000000000000LL; f = val.j & 0x000fffffffffffffLL; @@ -148,6 +158,10 @@ Java_java_lang_VMDouble_doubleToRawLongBits val.d = doubleValue; +#if defined(__IEEE_BYTES_LITTLE_ENDIAN) + val.j = SWAP_DOUBLE(val.j); +#endif + return val.j; } @@ -165,6 +179,10 @@ Java_java_lang_VMDouble_longBitsToDouble val.j = longValue; +#if defined(__IEEE_BYTES_LITTLE_ENDIAN) + val.j = SWAP_DOUBLE(val.j); +#endif + return val.d; } @@ -236,7 +254,7 @@ parseDoubleFromChars(JNIEnv * env, const char * buf) #ifdef DEBUG fprintf (stderr, "java.lang.VMDouble.parseDouble val = %g\n", val); - fprintf (stderr, "java.lang.VMDouble.parseDouble %i != %i ???\n", + fprintf (stderr, "java.lang.VMDouble.parseDouble %p != %p ???\n", endptr, last_non_ws); #endif if (endptr != last_non_ws) diff --git a/libjava/classpath/native/jni/java-net/Makefile.in b/libjava/classpath/native/jni/java-net/Makefile.in index a87b1c5..b2f7efc 100644 --- a/libjava/classpath/native/jni/java-net/Makefile.in +++ b/libjava/classpath/native/jni/java-net/Makefile.in @@ -44,16 +44,21 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ - $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ - $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ + $(top_srcdir)/../../libtool.m4 \ + $(top_srcdir)/../../ltoptions.m4 \ + $(top_srcdir)/../../ltsugar.m4 \ + $(top_srcdir)/../../ltversion.m4 \ + $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \ + $(top_srcdir)/m4/acinclude.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/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 +mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs CONFIG_HEADER = $(top_builddir)/include/config.h CONFIG_CLEAN_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; @@ -82,15 +87,15 @@ am_libjavanet_la_OBJECTS = javanet.lo java_net_VMInetAddress.lo \ gnu_java_net_VMPlainSocketImpl.lo $(am__objects_1) libjavanet_la_OBJECTS = $(am_libjavanet_la_OBJECTS) DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include -depcomp = $(SHELL) $(top_srcdir)/depcomp +depcomp = $(SHELL) $(top_srcdir)/../../depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \ +LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) -LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ +LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ SOURCES = $(libjavanet_la_SOURCES) DIST_SOURCES = $(am__libjavanet_la_SOURCES_DIST) @@ -101,12 +106,15 @@ ACLOCAL = @ACLOCAL@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ +AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@ BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -152,6 +160,7 @@ DATE = @DATE@ DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ @@ -164,15 +173,16 @@ ERROR_CFLAGS = @ERROR_CFLAGS@ EXAMPLESDIR = @EXAMPLESDIR@ EXEEXT = @EXEEXT@ FASTJAR = @FASTJAR@ +FGREP = @FGREP@ FIND = @FIND@ FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@ FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@ FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@ FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@ -FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@ -FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@ FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@ FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@ +FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@ +FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@ FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@ FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@ FOUND_KJC_FALSE = @FOUND_KJC_FALSE@ @@ -180,7 +190,6 @@ FOUND_KJC_TRUE = @FOUND_KJC_TRUE@ FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@ FREETYPE2_LIBS = @FREETYPE2_LIBS@ GCJ = @GCJ@ -GCJX = @GCJX@ GCONF_CFLAGS = @GCONF_CFLAGS@ GCONF_LIBS = @GCONF_LIBS@ GDK_CFLAGS = @GDK_CFLAGS@ @@ -190,6 +199,7 @@ GENINSRC_TRUE = @GENINSRC_TRUE@ GJDOC = @GJDOC@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ +GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@ @@ -201,6 +211,7 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +JAVAC = @JAVAC@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ @@ -210,6 +221,7 @@ JIKES = @JIKES@ JIKESENCODING = @JIKESENCODING@ JIKESWARNINGS = @JIKESWARNINGS@ KJC = @KJC@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBDEBUG = @LIBDEBUG@ LIBICONV = @LIBICONV@ @@ -229,6 +241,7 @@ MKDIR = @MKDIR@ MOC = @MOC@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ +NM = @NM@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ @@ -250,6 +263,7 @@ RANLIB = @RANLIB@ REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@ REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@ REMOVE = @REMOVE@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@ @@ -277,8 +291,10 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ X_PRE_LIBS = @X_PRE_LIBS@ ZIP = @ZIP@ +ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_STRIP = @ac_ct_STRIP@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ @@ -311,6 +327,7 @@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ multi_basedir = @multi_basedir@ diff --git a/libjava/classpath/native/jni/java-net/java_net_VMNetworkInterface.c b/libjava/classpath/native/jni/java-net/java_net_VMNetworkInterface.c index b51bf68..73da5ee 100644 --- a/libjava/classpath/native/jni/java-net/java_net_VMNetworkInterface.c +++ b/libjava/classpath/native/jni/java-net/java_net_VMNetworkInterface.c @@ -96,6 +96,7 @@ struct netif_entry struct netif_entry *next; }; +#if defined (HAVE_IFADDRS_H) && defined (HAVE_GETIFADDRS) static void free_netif_list (JNIEnv *env, struct netif_entry *list) { @@ -106,12 +107,14 @@ free_netif_list (JNIEnv *env, struct netif_entry *list) list = e; } } +#endif /* * Returns all local network interfaces as an array. */ JNIEXPORT jobjectArray JNICALL -Java_java_net_VMNetworkInterface_getVMInterfaces (JNIEnv * env, jclass clazz) +Java_java_net_VMNetworkInterface_getVMInterfaces (JNIEnv * env, + jclass clazz UNUSED) { #if defined (HAVE_IFADDRS_H) && defined (HAVE_GETIFADDRS) struct ifaddrs *ifaddrs, *i; @@ -245,7 +248,7 @@ Java_java_net_VMNetworkInterface_getVMInterfaces (JNIEnv * env, jclass clazz) #else JCL_ThrowException (env, "java/net/SocketException", "getifaddrs not supported"); return NULL; -#endif /* HAVE_GETIFADDRS */ +#endif /* HAVE_IFADDRS_H && HAVE_GETIFADDRS */ } /* end of file */ diff --git a/libjava/classpath/native/jni/java-net/local.c b/libjava/classpath/native/jni/java-net/local.c index c8ca91c..b7ec6f2 100644 --- a/libjava/classpath/native/jni/java-net/local.c +++ b/libjava/classpath/native/jni/java-net/local.c @@ -45,13 +45,20 @@ exception statement from your version. */ #include #include #include -#include #include #include #include #include +#if defined(HAVE_SYS_IOCTL_H) +#define BSD_COMP /* Get FIONREAD on Solaris2 */ +#include +#endif +#if defined(HAVE_SYS_FILIO_H) /* Get FIONREAD on Solaris 2.5 */ +#include +#endif + #include "local.h" const char * diff --git a/libjava/classpath/native/jni/java-nio/Makefile.in b/libjava/classpath/native/jni/java-nio/Makefile.in index 1fd639f..bf6243e 100644 --- a/libjava/classpath/native/jni/java-nio/Makefile.in +++ b/libjava/classpath/native/jni/java-nio/Makefile.in @@ -44,16 +44,21 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ - $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ - $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ + $(top_srcdir)/../../libtool.m4 \ + $(top_srcdir)/../../ltoptions.m4 \ + $(top_srcdir)/../../ltsugar.m4 \ + $(top_srcdir)/../../ltversion.m4 \ + $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \ + $(top_srcdir)/m4/acinclude.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/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 +mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs CONFIG_HEADER = $(top_builddir)/include/config.h CONFIG_CLEAN_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; @@ -80,15 +85,15 @@ am_libjavanio_la_OBJECTS = gnu_java_nio_VMPipe.lo \ gnu_java_nio_KqueueSelectorImpl.lo libjavanio_la_OBJECTS = $(am_libjavanio_la_OBJECTS) DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include -depcomp = $(SHELL) $(top_srcdir)/depcomp +depcomp = $(SHELL) $(top_srcdir)/../../depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \ +LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) -LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ +LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ SOURCES = $(libjavanio_la_SOURCES) DIST_SOURCES = $(libjavanio_la_SOURCES) @@ -99,12 +104,15 @@ ACLOCAL = @ACLOCAL@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ +AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@ BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -150,6 +158,7 @@ DATE = @DATE@ DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ @@ -162,15 +171,16 @@ ERROR_CFLAGS = @ERROR_CFLAGS@ EXAMPLESDIR = @EXAMPLESDIR@ EXEEXT = @EXEEXT@ FASTJAR = @FASTJAR@ +FGREP = @FGREP@ FIND = @FIND@ FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@ FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@ FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@ FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@ -FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@ -FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@ FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@ FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@ +FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@ +FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@ FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@ FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@ FOUND_KJC_FALSE = @FOUND_KJC_FALSE@ @@ -178,7 +188,6 @@ FOUND_KJC_TRUE = @FOUND_KJC_TRUE@ FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@ FREETYPE2_LIBS = @FREETYPE2_LIBS@ GCJ = @GCJ@ -GCJX = @GCJX@ GCONF_CFLAGS = @GCONF_CFLAGS@ GCONF_LIBS = @GCONF_LIBS@ GDK_CFLAGS = @GDK_CFLAGS@ @@ -188,6 +197,7 @@ GENINSRC_TRUE = @GENINSRC_TRUE@ GJDOC = @GJDOC@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ +GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@ @@ -199,6 +209,7 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +JAVAC = @JAVAC@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ @@ -208,6 +219,7 @@ JIKES = @JIKES@ JIKESENCODING = @JIKESENCODING@ JIKESWARNINGS = @JIKESWARNINGS@ KJC = @KJC@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBDEBUG = @LIBDEBUG@ LIBICONV = @LIBICONV@ @@ -227,6 +239,7 @@ MKDIR = @MKDIR@ MOC = @MOC@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ +NM = @NM@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ @@ -248,6 +261,7 @@ RANLIB = @RANLIB@ REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@ REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@ REMOVE = @REMOVE@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@ @@ -275,8 +289,10 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ X_PRE_LIBS = @X_PRE_LIBS@ ZIP = @ZIP@ +ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_STRIP = @ac_ct_STRIP@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ @@ -309,6 +325,7 @@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ multi_basedir = @multi_basedir@ diff --git a/libjava/classpath/native/jni/java-nio/gnu_java_nio_VMChannel.c b/libjava/classpath/native/jni/java-nio/gnu_java_nio_VMChannel.c index 97eb386..c8df841 100644 --- a/libjava/classpath/native/jni/java-nio/gnu_java_nio_VMChannel.c +++ b/libjava/classpath/native/jni/java-nio/gnu_java_nio_VMChannel.c @@ -1,5 +1,5 @@ /* gnu_java_nio_VMChannel.c - - Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. + Copyright (C) 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -43,7 +43,6 @@ exception statement from your version. */ #include #include -#include #include #include #include @@ -67,6 +66,14 @@ exception statement from your version. */ #include #endif /* HAVE_FCNTL_H */ +#if defined(HAVE_SYS_IOCTL_H) +#define BSD_COMP /* Get FIONREAD on Solaris2 */ +#include +#endif +#if defined(HAVE_SYS_FILIO_H) /* Get FIONREAD on Solaris 2.5 */ +#include +#endif + #define CONNECT_EXCEPTION "java/net/ConnectException" #define IO_EXCEPTION "java/io/IOException" #define SOCKET_EXCEPTION "java/net/SocketException" @@ -1501,6 +1508,10 @@ Java_gnu_java_nio_VMChannel_accept (JNIEnv *env, case EWOULDBLOCK: #endif case EAGAIN: + if (!is_non_blocking_fd(fd)) + { + JCL_ThrowException(env, SOCKET_TIMEOUT_EXCEPTION, "Accept timed out"); + } /* Socket in non-blocking mode and no pending connection. */ return -1; default: @@ -1605,8 +1616,6 @@ Java_gnu_java_nio_VMChannel_open (JNIEnv *env, int nmode = 0; int ret; const char *npath; - mode_t mask = umask (0); - umask (mask); if ((mode & CPNIO_READ) && (mode & CPNIO_WRITE)) nmode = O_RDWR; @@ -1626,7 +1635,7 @@ Java_gnu_java_nio_VMChannel_open (JNIEnv *env, /* NIODBG("path: %s; mode: %x", npath, nmode); */ - ret = open (npath, nmode, 0777 & ~mask); + ret = open (npath, nmode, 0666); /* NIODBG("ret: %d\n", ret); */ diff --git a/libjava/classpath/native/jni/java-nio/gnu_java_nio_charset_iconv_IconvDecoder.c b/libjava/classpath/native/jni/java-nio/gnu_java_nio_charset_iconv_IconvDecoder.c index b82cd2d..248a948 100644 --- a/libjava/classpath/native/jni/java-nio/gnu_java_nio_charset_iconv_IconvDecoder.c +++ b/libjava/classpath/native/jni/java-nio/gnu_java_nio_charset_iconv_IconvDecoder.c @@ -48,11 +48,13 @@ exception statement from your version. */ #include "gnu_java_nio_charset_iconv_IconvDecoder.h" +#if defined(HAVE_ICONV) static void createRawData (JNIEnv * env, jobject obj, void *ptr); static void *getData (JNIEnv * env, jobject obj); static jfieldID infid = NULL; static jfieldID outfid = NULL; +#endif /* Union used for type punning. */ union char_union @@ -63,9 +65,9 @@ union char_union }; JNIEXPORT void JNICALL -Java_gnu_java_nio_charset_iconv_IconvDecoder_openIconv (JNIEnv * env, - jobject obj, - jstring jname) +Java_gnu_java_nio_charset_iconv_IconvDecoder_openIconv (JNIEnv * env UNUSED, + jobject obj UNUSED, + jstring jname UNUSED) { #if defined(HAVE_ICONV) iconv_t iconv_object; @@ -107,12 +109,14 @@ Java_gnu_java_nio_charset_iconv_IconvDecoder_openIconv (JNIEnv * env, } JNIEXPORT jint JNICALL -Java_gnu_java_nio_charset_iconv_IconvDecoder_decode (JNIEnv * env, - jobject obj, - jbyteArray inArr, - jcharArray outArr, - jint posIn, jint remIn, - jint posOut, jint remOut) +Java_gnu_java_nio_charset_iconv_IconvDecoder_decode (JNIEnv * env UNUSED, + jobject obj UNUSED, + jbyteArray inArr UNUSED, + jcharArray outArr UNUSED, + jint posIn UNUSED, + jint remIn UNUSED, + jint posOut UNUSED, + jint remOut UNUSED) { #if defined(HAVE_ICONV) iconv_t iconv_object = getData (env, obj); @@ -158,8 +162,8 @@ Java_gnu_java_nio_charset_iconv_IconvDecoder_decode (JNIEnv * env, } JNIEXPORT void JNICALL -Java_gnu_java_nio_charset_iconv_IconvDecoder_closeIconv (JNIEnv * env, - jobject obj) +Java_gnu_java_nio_charset_iconv_IconvDecoder_closeIconv (JNIEnv * env UNUSED, + jobject obj UNUSED) { #if defined(HAVE_ICONV) iconv_t iconv_object; @@ -169,6 +173,7 @@ Java_gnu_java_nio_charset_iconv_IconvDecoder_closeIconv (JNIEnv * env, } +#if defined(HAVE_ICONV) static void createRawData (JNIEnv * env, jobject obj, void *ptr) { @@ -199,3 +204,5 @@ getData (JNIEnv * env, jobject obj) return JCL_GetRawData(env, data); } +#endif + diff --git a/libjava/classpath/native/jni/java-nio/gnu_java_nio_charset_iconv_IconvEncoder.c b/libjava/classpath/native/jni/java-nio/gnu_java_nio_charset_iconv_IconvEncoder.c index 7a98e7e..54fd172 100644 --- a/libjava/classpath/native/jni/java-nio/gnu_java_nio_charset_iconv_IconvEncoder.c +++ b/libjava/classpath/native/jni/java-nio/gnu_java_nio_charset_iconv_IconvEncoder.c @@ -48,11 +48,14 @@ exception statement from your version. */ #include "gnu_java_nio_charset_iconv_IconvEncoder.h" + +#if defined(HAVE_ICONV) static void createRawData (JNIEnv * env, jobject obj, void *ptr); static void *getData (JNIEnv * env, jobject obj); static jfieldID infid = NULL; static jfieldID outfid = NULL; +#endif /* Union used for type punning. */ union char_union @@ -63,9 +66,9 @@ union char_union }; JNIEXPORT void JNICALL -Java_gnu_java_nio_charset_iconv_IconvEncoder_openIconv (JNIEnv * env, - jobject obj, - jstring jname) +Java_gnu_java_nio_charset_iconv_IconvEncoder_openIconv (JNIEnv * env UNUSED, + jobject obj UNUSED, + jstring jname UNUSED) { #if defined(HAVE_ICONV) iconv_t iconv_object; @@ -107,12 +110,14 @@ Java_gnu_java_nio_charset_iconv_IconvEncoder_openIconv (JNIEnv * env, } JNIEXPORT jint JNICALL -Java_gnu_java_nio_charset_iconv_IconvEncoder_encode (JNIEnv * env, - jobject obj, - jcharArray inArr, - jbyteArray outArr, - jint posIn, jint remIn, - jint posOut, jint remOut) +Java_gnu_java_nio_charset_iconv_IconvEncoder_encode (JNIEnv * env UNUSED, + jobject obj UNUSED, + jcharArray inArr UNUSED, + jbyteArray outArr UNUSED, + jint posIn UNUSED, + jint remIn UNUSED, + jint posOut UNUSED, + jint remOut UNUSED) { #if defined(HAVE_ICONV) iconv_t iconv_object = getData (env, obj); @@ -158,8 +163,8 @@ Java_gnu_java_nio_charset_iconv_IconvEncoder_encode (JNIEnv * env, } JNIEXPORT void JNICALL -Java_gnu_java_nio_charset_iconv_IconvEncoder_closeIconv (JNIEnv * env, - jobject obj) +Java_gnu_java_nio_charset_iconv_IconvEncoder_closeIconv (JNIEnv * env UNUSED, + jobject obj UNUSED) { #if defined(HAVE_ICONV) iconv_t iconv_object; @@ -169,6 +174,7 @@ Java_gnu_java_nio_charset_iconv_IconvEncoder_closeIconv (JNIEnv * env, } +#if defined(HAVE_ICONV) static void createRawData (JNIEnv * env, jobject obj, void *ptr) { @@ -199,3 +205,4 @@ getData (JNIEnv * env, jobject obj) return JCL_GetRawData(env, data); } +#endif diff --git a/libjava/classpath/native/jni/java-nio/javanio.c b/libjava/classpath/native/jni/java-nio/javanio.c index d9e4d4f..09806f8 100644 --- a/libjava/classpath/native/jni/java-nio/javanio.c +++ b/libjava/classpath/native/jni/java-nio/javanio.c @@ -41,11 +41,12 @@ exception statement from your version. */ * we include this file in the header, and do not compile it. */ +#include +#include #include -#include #include +#include #include -#include CPNIO_EXPORT ssize_t cpnio_read (int fd, void *buf, size_t nbytes) @@ -86,6 +87,25 @@ cpnio_connect (int fd, const struct sockaddr *addr, socklen_t addrlen) CPNIO_EXPORT int cpnio_accept (int fd, struct sockaddr *addr, socklen_t *addrlen) { + fd_set rset; + struct timeval tv; + socklen_t tvlen = sizeof(tv); + int ret; + + tv.tv_sec = 0; + tv.tv_usec = 0; + getsockopt (fd, SOL_SOCKET, SO_RCVTIMEO, &tv, &tvlen); + if (tv.tv_sec > 0 || tv.tv_usec > 0) + { + FD_ZERO(&rset); + FD_SET(fd,&rset); + ret = select (fd+1,&rset,NULL,NULL,&tv); + if (ret == 0) + { + errno = EAGAIN; + return -1; + } + } return accept (fd, addr, addrlen); } diff --git a/libjava/classpath/native/jni/java-util/Makefile.in b/libjava/classpath/native/jni/java-util/Makefile.in index cd5f807..389de4e 100644 --- a/libjava/classpath/native/jni/java-util/Makefile.in +++ b/libjava/classpath/native/jni/java-util/Makefile.in @@ -44,16 +44,21 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ - $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ - $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ + $(top_srcdir)/../../libtool.m4 \ + $(top_srcdir)/../../ltoptions.m4 \ + $(top_srcdir)/../../ltsugar.m4 \ + $(top_srcdir)/../../ltversion.m4 \ + $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \ + $(top_srcdir)/m4/acinclude.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/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 +mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs CONFIG_HEADER = $(top_builddir)/include/config.h CONFIG_CLEAN_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; @@ -69,15 +74,15 @@ libjavautil_la_LIBADD = am_libjavautil_la_OBJECTS = java_util_VMTimeZone.lo libjavautil_la_OBJECTS = $(am_libjavautil_la_OBJECTS) DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include -depcomp = $(SHELL) $(top_srcdir)/depcomp +depcomp = $(SHELL) $(top_srcdir)/../../depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \ +LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) -LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ +LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ SOURCES = $(libjavautil_la_SOURCES) DIST_SOURCES = $(libjavautil_la_SOURCES) @@ -88,12 +93,15 @@ ACLOCAL = @ACLOCAL@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ +AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@ BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -139,6 +147,7 @@ DATE = @DATE@ DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ @@ -151,15 +160,16 @@ ERROR_CFLAGS = @ERROR_CFLAGS@ EXAMPLESDIR = @EXAMPLESDIR@ EXEEXT = @EXEEXT@ FASTJAR = @FASTJAR@ +FGREP = @FGREP@ FIND = @FIND@ FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@ FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@ FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@ FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@ -FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@ -FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@ FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@ FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@ +FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@ +FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@ FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@ FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@ FOUND_KJC_FALSE = @FOUND_KJC_FALSE@ @@ -167,7 +177,6 @@ FOUND_KJC_TRUE = @FOUND_KJC_TRUE@ FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@ FREETYPE2_LIBS = @FREETYPE2_LIBS@ GCJ = @GCJ@ -GCJX = @GCJX@ GCONF_CFLAGS = @GCONF_CFLAGS@ GCONF_LIBS = @GCONF_LIBS@ GDK_CFLAGS = @GDK_CFLAGS@ @@ -177,6 +186,7 @@ GENINSRC_TRUE = @GENINSRC_TRUE@ GJDOC = @GJDOC@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ +GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@ @@ -188,6 +198,7 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +JAVAC = @JAVAC@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ @@ -197,6 +208,7 @@ JIKES = @JIKES@ JIKESENCODING = @JIKESENCODING@ JIKESWARNINGS = @JIKESWARNINGS@ KJC = @KJC@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBDEBUG = @LIBDEBUG@ LIBICONV = @LIBICONV@ @@ -216,6 +228,7 @@ MKDIR = @MKDIR@ MOC = @MOC@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ +NM = @NM@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ @@ -237,6 +250,7 @@ RANLIB = @RANLIB@ REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@ REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@ REMOVE = @REMOVE@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@ @@ -264,8 +278,10 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ X_PRE_LIBS = @X_PRE_LIBS@ ZIP = @ZIP@ +ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_STRIP = @ac_ct_STRIP@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ @@ -298,6 +314,7 @@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ multi_basedir = @multi_basedir@ diff --git a/libjava/classpath/native/jni/midi-alsa/Makefile.am b/libjava/classpath/native/jni/midi-alsa/Makefile.am index 4a9c484..60c7a5a 100644 --- a/libjava/classpath/native/jni/midi-alsa/Makefile.am +++ b/libjava/classpath/native/jni/midi-alsa/Makefile.am @@ -5,7 +5,7 @@ gnu_javax_sound_midi_alsa_AlsaPortDevice.c \ gnu_javax_sound_midi_alsa_AlsaMidiDeviceProvider.c libgjsmalsa_la_LIBADD = -lasound -libgjsmalsa_la_LDFLAGS = -avoid-version +libgjsmalsa_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version AM_LDFLAGS = @CLASSPATH_MODULE@ AM_CPPFLAGS = @CLASSPATH_INCLUDES@ `pkg-config --cflags-only-I alsa` diff --git a/libjava/classpath/native/jni/midi-alsa/Makefile.in b/libjava/classpath/native/jni/midi-alsa/Makefile.in index b02562fa..6028c58 100644 --- a/libjava/classpath/native/jni/midi-alsa/Makefile.in +++ b/libjava/classpath/native/jni/midi-alsa/Makefile.in @@ -44,16 +44,21 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ - $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ - $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ + $(top_srcdir)/../../libtool.m4 \ + $(top_srcdir)/../../ltoptions.m4 \ + $(top_srcdir)/../../ltsugar.m4 \ + $(top_srcdir)/../../ltversion.m4 \ + $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \ + $(top_srcdir)/m4/acinclude.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/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 +mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs CONFIG_HEADER = $(top_builddir)/include/config.h CONFIG_CLEAN_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; @@ -72,15 +77,15 @@ am_libgjsmalsa_la_OBJECTS = \ gnu_javax_sound_midi_alsa_AlsaMidiDeviceProvider.lo libgjsmalsa_la_OBJECTS = $(am_libgjsmalsa_la_OBJECTS) DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include -depcomp = $(SHELL) $(top_srcdir)/depcomp +depcomp = $(SHELL) $(top_srcdir)/../../depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \ +LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) -LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ +LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ SOURCES = $(libgjsmalsa_la_SOURCES) DIST_SOURCES = $(libgjsmalsa_la_SOURCES) @@ -91,12 +96,15 @@ ACLOCAL = @ACLOCAL@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ +AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@ BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -142,6 +150,7 @@ DATE = @DATE@ DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ @@ -154,15 +163,16 @@ ERROR_CFLAGS = @ERROR_CFLAGS@ EXAMPLESDIR = @EXAMPLESDIR@ EXEEXT = @EXEEXT@ FASTJAR = @FASTJAR@ +FGREP = @FGREP@ FIND = @FIND@ FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@ FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@ FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@ FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@ -FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@ -FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@ FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@ FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@ +FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@ +FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@ FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@ FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@ FOUND_KJC_FALSE = @FOUND_KJC_FALSE@ @@ -170,7 +180,6 @@ FOUND_KJC_TRUE = @FOUND_KJC_TRUE@ FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@ FREETYPE2_LIBS = @FREETYPE2_LIBS@ GCJ = @GCJ@ -GCJX = @GCJX@ GCONF_CFLAGS = @GCONF_CFLAGS@ GCONF_LIBS = @GCONF_LIBS@ GDK_CFLAGS = @GDK_CFLAGS@ @@ -180,6 +189,7 @@ GENINSRC_TRUE = @GENINSRC_TRUE@ GJDOC = @GJDOC@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ +GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@ @@ -191,6 +201,7 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +JAVAC = @JAVAC@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ @@ -200,6 +211,7 @@ JIKES = @JIKES@ JIKESENCODING = @JIKESENCODING@ JIKESWARNINGS = @JIKESWARNINGS@ KJC = @KJC@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBDEBUG = @LIBDEBUG@ LIBICONV = @LIBICONV@ @@ -219,6 +231,7 @@ MKDIR = @MKDIR@ MOC = @MOC@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ +NM = @NM@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ @@ -240,6 +253,7 @@ RANLIB = @RANLIB@ REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@ REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@ REMOVE = @REMOVE@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@ @@ -267,8 +281,10 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ X_PRE_LIBS = @X_PRE_LIBS@ ZIP = @ZIP@ +ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_STRIP = @ac_ct_STRIP@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ @@ -301,6 +317,7 @@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ multi_basedir = @multi_basedir@ @@ -324,7 +341,7 @@ gnu_javax_sound_midi_alsa_AlsaPortDevice.c \ gnu_javax_sound_midi_alsa_AlsaMidiDeviceProvider.c libgjsmalsa_la_LIBADD = -lasound -libgjsmalsa_la_LDFLAGS = -avoid-version +libgjsmalsa_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version AM_LDFLAGS = @CLASSPATH_MODULE@ AM_CPPFLAGS = @CLASSPATH_INCLUDES@ `pkg-config --cflags-only-I alsa` AM_CFLAGS = @WARNING_CFLAGS@ @STRICT_WARNING_CFLAGS@ @ERROR_CFLAGS@ `pkg-config --cflags-only-other alsa` diff --git a/libjava/classpath/native/jni/midi-dssi/Makefile.am b/libjava/classpath/native/jni/midi-dssi/Makefile.am index 692579d..2006494 100644 --- a/libjava/classpath/native/jni/midi-dssi/Makefile.am +++ b/libjava/classpath/native/jni/midi-dssi/Makefile.am @@ -5,7 +5,7 @@ libgjsmdssi_la_SOURCES = gnu_javax_sound_midi_dssi_DSSIMidiDeviceProvider.c \ dssi_data.h libgjsmdssi_la_LIBADD = $(top_builddir)/native/jni/classpath/jcl.lo -ljack -libgjsmdssi_la_LDFLAGS = -avoid-version +libgjsmdssi_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version AM_LDFLAGS = @CLASSPATH_MODULE@ AM_CPPFLAGS = @CLASSPATH_INCLUDES@ diff --git a/libjava/classpath/native/jni/midi-dssi/Makefile.in b/libjava/classpath/native/jni/midi-dssi/Makefile.in index 2c3b06c..711eba8 100644 --- a/libjava/classpath/native/jni/midi-dssi/Makefile.in +++ b/libjava/classpath/native/jni/midi-dssi/Makefile.in @@ -44,16 +44,21 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ - $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ - $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ + $(top_srcdir)/../../libtool.m4 \ + $(top_srcdir)/../../ltoptions.m4 \ + $(top_srcdir)/../../ltsugar.m4 \ + $(top_srcdir)/../../ltversion.m4 \ + $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \ + $(top_srcdir)/m4/acinclude.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/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 +mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs CONFIG_HEADER = $(top_builddir)/include/config.h CONFIG_CLEAN_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; @@ -72,15 +77,15 @@ am_libgjsmdssi_la_OBJECTS = \ gnu_javax_sound_midi_dssi_DSSISynthesizer.lo libgjsmdssi_la_OBJECTS = $(am_libgjsmdssi_la_OBJECTS) DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include -depcomp = $(SHELL) $(top_srcdir)/depcomp +depcomp = $(SHELL) $(top_srcdir)/../../depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \ +LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) -LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ +LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ SOURCES = $(libgjsmdssi_la_SOURCES) DIST_SOURCES = $(libgjsmdssi_la_SOURCES) @@ -91,12 +96,15 @@ ACLOCAL = @ACLOCAL@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ +AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@ BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -142,6 +150,7 @@ DATE = @DATE@ DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ @@ -154,15 +163,16 @@ ERROR_CFLAGS = @ERROR_CFLAGS@ EXAMPLESDIR = @EXAMPLESDIR@ EXEEXT = @EXEEXT@ FASTJAR = @FASTJAR@ +FGREP = @FGREP@ FIND = @FIND@ FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@ FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@ FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@ FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@ -FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@ -FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@ FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@ FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@ +FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@ +FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@ FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@ FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@ FOUND_KJC_FALSE = @FOUND_KJC_FALSE@ @@ -170,7 +180,6 @@ FOUND_KJC_TRUE = @FOUND_KJC_TRUE@ FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@ FREETYPE2_LIBS = @FREETYPE2_LIBS@ GCJ = @GCJ@ -GCJX = @GCJX@ GCONF_CFLAGS = @GCONF_CFLAGS@ GCONF_LIBS = @GCONF_LIBS@ GDK_CFLAGS = @GDK_CFLAGS@ @@ -180,6 +189,7 @@ GENINSRC_TRUE = @GENINSRC_TRUE@ GJDOC = @GJDOC@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ +GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@ @@ -191,6 +201,7 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +JAVAC = @JAVAC@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ @@ -200,6 +211,7 @@ JIKES = @JIKES@ JIKESENCODING = @JIKESENCODING@ JIKESWARNINGS = @JIKESWARNINGS@ KJC = @KJC@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBDEBUG = @LIBDEBUG@ LIBICONV = @LIBICONV@ @@ -219,6 +231,7 @@ MKDIR = @MKDIR@ MOC = @MOC@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ +NM = @NM@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ @@ -240,6 +253,7 @@ RANLIB = @RANLIB@ REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@ REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@ REMOVE = @REMOVE@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@ @@ -267,8 +281,10 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ X_PRE_LIBS = @X_PRE_LIBS@ ZIP = @ZIP@ +ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_STRIP = @ac_ct_STRIP@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ @@ -301,6 +317,7 @@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ multi_basedir = @multi_basedir@ @@ -324,7 +341,7 @@ libgjsmdssi_la_SOURCES = gnu_javax_sound_midi_dssi_DSSIMidiDeviceProvider.c \ dssi_data.h libgjsmdssi_la_LIBADD = $(top_builddir)/native/jni/classpath/jcl.lo -ljack -libgjsmdssi_la_LDFLAGS = -avoid-version +libgjsmdssi_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version AM_LDFLAGS = @CLASSPATH_MODULE@ AM_CPPFLAGS = @CLASSPATH_INCLUDES@ # No STRICT_WARNING_CFLAGS here as we use dlsym to load the address of diff --git a/libjava/classpath/native/jni/native-lib/Makefile.in b/libjava/classpath/native/jni/native-lib/Makefile.in index 4b89973..bc87d78 100644 --- a/libjava/classpath/native/jni/native-lib/Makefile.in +++ b/libjava/classpath/native/jni/native-lib/Makefile.in @@ -44,16 +44,21 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ - $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ - $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ + $(top_srcdir)/../../libtool.m4 \ + $(top_srcdir)/../../ltoptions.m4 \ + $(top_srcdir)/../../ltsugar.m4 \ + $(top_srcdir)/../../ltversion.m4 \ + $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \ + $(top_srcdir)/m4/acinclude.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/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 +mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs CONFIG_HEADER = $(top_builddir)/include/config.h CONFIG_CLEAN_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) @@ -61,15 +66,15 @@ libclasspathnative_la_LIBADD = am_libclasspathnative_la_OBJECTS = cpnet.lo cpio.lo cpproc.lo libclasspathnative_la_OBJECTS = $(am_libclasspathnative_la_OBJECTS) DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include -depcomp = $(SHELL) $(top_srcdir)/depcomp +depcomp = $(SHELL) $(top_srcdir)/../../depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \ +LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) -LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ +LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ SOURCES = $(libclasspathnative_la_SOURCES) DIST_SOURCES = $(libclasspathnative_la_SOURCES) @@ -80,12 +85,15 @@ ACLOCAL = @ACLOCAL@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ +AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@ BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -131,6 +139,7 @@ DATE = @DATE@ DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ @@ -143,15 +152,16 @@ ERROR_CFLAGS = @ERROR_CFLAGS@ EXAMPLESDIR = @EXAMPLESDIR@ EXEEXT = @EXEEXT@ FASTJAR = @FASTJAR@ +FGREP = @FGREP@ FIND = @FIND@ FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@ FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@ FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@ FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@ -FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@ -FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@ FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@ FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@ +FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@ +FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@ FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@ FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@ FOUND_KJC_FALSE = @FOUND_KJC_FALSE@ @@ -159,7 +169,6 @@ FOUND_KJC_TRUE = @FOUND_KJC_TRUE@ FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@ FREETYPE2_LIBS = @FREETYPE2_LIBS@ GCJ = @GCJ@ -GCJX = @GCJX@ GCONF_CFLAGS = @GCONF_CFLAGS@ GCONF_LIBS = @GCONF_LIBS@ GDK_CFLAGS = @GDK_CFLAGS@ @@ -169,6 +178,7 @@ GENINSRC_TRUE = @GENINSRC_TRUE@ GJDOC = @GJDOC@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ +GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@ @@ -180,6 +190,7 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +JAVAC = @JAVAC@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ @@ -189,6 +200,7 @@ JIKES = @JIKES@ JIKESENCODING = @JIKESENCODING@ JIKESWARNINGS = @JIKESWARNINGS@ KJC = @KJC@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBDEBUG = @LIBDEBUG@ LIBICONV = @LIBICONV@ @@ -208,6 +220,7 @@ MKDIR = @MKDIR@ MOC = @MOC@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ +NM = @NM@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ @@ -229,6 +242,7 @@ RANLIB = @RANLIB@ REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@ REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@ REMOVE = @REMOVE@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@ @@ -256,8 +270,10 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ X_PRE_LIBS = @X_PRE_LIBS@ ZIP = @ZIP@ +ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_STRIP = @ac_ct_STRIP@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ @@ -290,6 +306,7 @@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ multi_basedir = @multi_basedir@ diff --git a/libjava/classpath/native/jni/native-lib/cpio.c b/libjava/classpath/native/jni/native-lib/cpio.c index 2777a31..ac3c0b5 100644 --- a/libjava/classpath/native/jni/native-lib/cpio.c +++ b/libjava/classpath/native/jni/native-lib/cpio.c @@ -352,6 +352,76 @@ int cpio_setFileReadonly (const char *filename) return 0; } +int cpio_chmod (const char *filename, int permissions) +{ + struct stat statbuf; + int perms = 0; + + if (stat(filename, &statbuf) < 0) + return errno; + + /* check for permission flags */ + if (permissions & CPFILE_FLAG_USR) + { + if (permissions & CPFILE_FLAG_READ) + perms |= S_IRUSR; + + if (permissions & CPFILE_FLAG_WRITE) + perms |= S_IWUSR; + + if (permissions & CPFILE_FLAG_EXEC) + perms |= S_IXUSR; + } + else + { + if (permissions & CPFILE_FLAG_READ) + perms |= (S_IRUSR | S_IRGRP | S_IROTH); + + if (permissions & CPFILE_FLAG_WRITE) + perms |= (S_IWUSR | S_IWGRP | S_IWOTH); + + if (permissions & CPFILE_FLAG_EXEC) + perms |= (S_IXUSR | S_IXGRP | S_IXOTH); + } + + if (permissions & CPFILE_FLAG_OFF) + perms = statbuf.st_mode & ~perms; + else + perms = statbuf.st_mode | perms; + + if (chmod(filename, perms) < 0) + return errno; + + return 0; +} + +int cpio_checkAccess (const char *filename, unsigned int flag) +{ + struct stat statbuf; + unsigned int perms = 0; + + if (stat(filename, &statbuf) < 0) + return errno; + + switch (flag) + { + case CPFILE_FLAG_READ: + perms = R_OK; + break; + + case CPFILE_FLAG_WRITE: + perms = W_OK; + break; + + case CPFILE_FLAG_EXEC: + default: + perms = X_OK; + break; + } + + return (access (filename, perms)); +} + int cpio_isFileExists (const char *filename) { struct stat statbuf; diff --git a/libjava/classpath/native/jni/native-lib/cpio.h b/libjava/classpath/native/jni/native-lib/cpio.h index b388b5b..259fc62 100644 --- a/libjava/classpath/native/jni/native-lib/cpio.h +++ b/libjava/classpath/native/jni/native-lib/cpio.h @@ -48,6 +48,9 @@ exception statement from your version. */ #define CPFILE_FLAG_BINARY 0x0020 #define CPFILE_FLAG_READ 0x0040 #define CPFILE_FLAG_WRITE 0x0080 +#define CPFILE_FLAG_EXEC 0x0100 +#define CPFILE_FLAG_USR 0x0400 +#define CPFILE_FLAG_OFF 0x0800 #define CPFILE_PERMISSION_NORMAL 1 @@ -70,6 +73,8 @@ JNIEXPORT int cpio_closeOnExec(int fd); #define CPFILE_DIRECTORY 1 JNIEXPORT int cpio_setFileReadonly (const char *filename); +JNIEXPORT int cpio_chmod (const char *filename, int permissions); +JNIEXPORT int cpio_checkAccess (const char *filename, unsigned int flag); JNIEXPORT int cpio_isFileExists (const char *filename); JNIEXPORT int cpio_checkType (const char *filename, jint *entryType); JNIEXPORT int cpio_getModificationTime (const char *filename, jlong *mtime); diff --git a/libjava/classpath/native/jni/native-lib/cpnet.c b/libjava/classpath/native/jni/native-lib/cpnet.c index 85c4640..22ce69e 100644 --- a/libjava/classpath/native/jni/native-lib/cpnet.c +++ b/libjava/classpath/native/jni/native-lib/cpnet.c @@ -46,23 +46,22 @@ exception statement from your version. */ #include #include #include -#include #include #include #include +#if defined(HAVE_SYS_IOCTL_H) +#define BSD_COMP /* Get FIONREAD on Solaris2 */ +#include +#endif +#if defined(HAVE_SYS_FILIO_H) /* Get FIONREAD on Solaris 2.5 */ +#include +#endif + #include "cpnet.h" #define SOCKET_DEFAULT_TIMEOUT -1 /* milliseconds */ -#if defined (HAVE_MSG_NOSIGNAL) -#define SOCKET_NOSIGNAL MSG_NOSIGNAL -#elif defined (HAVE_SO_NOSIGPIPE) -#define SOCKET_NOSIGNAL SO_NOSIGPIPE -#else -#error "No suitable flag found to ommit a SIGPIPE on signal errors with send()." -#endif - static int socketTimeouts[FD_SETSIZE]; static jint waitForWritable(jint fd) @@ -249,6 +248,15 @@ jint cpnet_setBroadcast(JNIEnv *env UNUSED, jint fd, jint flag) return 0; } +#if defined (HAVE_MSG_NOSIGNAL) +#elif defined (HAVE_SO_NOSIGPIPE) +static int setsockopt_NOSIGPIPE (int fd) +{ + int setToTrue = 1; + return setsockopt(fd, SOL_SOCKET, SO_NOSIGPIPE, &setToTrue, sizeof(setToTrue)); +} +#endif + jint cpnet_send (JNIEnv *env UNUSED, jint fd, jbyte *data, jint len, jint *bytes_sent) { ssize_t ret; @@ -256,7 +264,17 @@ jint cpnet_send (JNIEnv *env UNUSED, jint fd, jbyte *data, jint len, jint *bytes if (waitForWritable(fd) < 0) return ETIMEDOUT; - ret = send(fd, data, len, SOCKET_NOSIGNAL); +#if defined (HAVE_MSG_NOSIGNAL) + ret = send(fd, data, len, MSG_NOSIGNAL); +#elif defined (HAVE_SO_NOSIGPIPE) + ret = setsockopt_NOSIGPIPE(fd); + if (ret == 0) ret = send(fd, data, len, 0); +#else + /* We want SIGPIPE to be omitted. But this configuration does not have an + * option for that. + */ + ret = send(fd, data, len, 0); +#endif if (ret < 0) return errno; @@ -272,8 +290,24 @@ jint cpnet_sendTo (JNIEnv *env UNUSED, jint fd, jbyte *data, jint len, cpnet_add if (waitForWritable(fd) < 0) return ETIMEDOUT; - ret = sendto(fd, data, len, SOCKET_NOSIGNAL, (struct sockaddr *)addr->data, +#if defined (HAVE_MSG_NOSIGNAL) + ret = sendto(fd, data, len, MSG_NOSIGNAL, (struct sockaddr *)addr->data, addr->len); +#elif defined (HAVE_SO_NOSIGPIPE) + ret = setsockopt_NOSIGPIPE(fd); + if (ret == 0) + { + ret = sendto(fd, data, len, 0, (struct sockaddr *)addr->data, + addr->len); + } +#else + /* We want SIGPIPE to be omitted. But this configuration does not have an + * option for that. + */ + ret = sendto(fd, data, len, 0, (struct sockaddr *)addr->data, + addr->len); +#endif + if (ret < 0) return errno; @@ -608,8 +642,17 @@ jint cpnet_getHostByName (JNIEnv *env, const char *hostname, cpnet_address ***ad do { buf = (char *)JCL_malloc(env, buflen); + #ifdef HAVE_GETHOSTBYNAME_R +# if defined(HAVE_FUNC_GETHOSTBYNAME_R_6) ret = gethostbyname_r (hostname, &hret, buf, buflen, &result, &herr); +# elif defined(HAVE_FUNC_GETHOSTBYNAME_R_5) + result = gethostbyname_r(hostname, &hret, buf, buflen, &herr); +# elif defined(HAVE_FUNC_GETHOSTBYNAME_R_3) +# error IMPLEMENT ME! +# else +# error unknown number of arguments for gethostbyname_r +# endif #else hret.h_addr_list = NULL; hret.h_addrtype = 0; diff --git a/libjava/classpath/native/jni/native-lib/cpnet.h b/libjava/classpath/native/jni/native-lib/cpnet.h index 3705c76..1096326 100644 --- a/libjava/classpath/native/jni/native-lib/cpnet.h +++ b/libjava/classpath/native/jni/native-lib/cpnet.h @@ -42,7 +42,9 @@ exception statement from your version. */ #include #include +#include #include +#include #include #include diff --git a/libjava/classpath/native/jni/native-lib/cpproc.c b/libjava/classpath/native/jni/native-lib/cpproc.c index b6e9030..bb34f6d 100644 --- a/libjava/classpath/native/jni/native-lib/cpproc.c +++ b/libjava/classpath/native/jni/native-lib/cpproc.c @@ -114,6 +114,10 @@ int cpproc_forkAndExec (char * const *commandLine, char * const * newEnviron, *out_pid = pid; return 0; } + + /* keep compiler happy */ + + return 0; } int cpproc_waitpid (pid_t pid, int *status, pid_t *outpid, int options) diff --git a/libjava/classpath/native/jni/qt-peer/Makefile.am b/libjava/classpath/native/jni/qt-peer/Makefile.am index 1728b6b5..03dcd96 100644 --- a/libjava/classpath/native/jni/qt-peer/Makefile.am +++ b/libjava/classpath/native/jni/qt-peer/Makefile.am @@ -7,7 +7,12 @@ noinst_LTLIBRARIES = libqtpeer.la AM_LDFLAGS = @CLASSPATH_MODULE@ @QT_LIBS@ AM_CPPFLAGS = @CLASSPATH_INCLUDES@ -AM_CXXFLAGS = @QT_CFLAGS@ +## GCJ LOCAL: add libstdc++-v3 include directories +AM_CXXFLAGS = @QT_CFLAGS@ \ + -I$(top_builddir)/../../libstdc++-v3/include/$(target_alias) \ + -I$(top_builddir)/../../libstdc++-v3/include \ + -I$(top_srcdir)/../../libstdc++-v3/include \ + -I$(top_srcdir)/../../libstdc++-v3/libsupc++ libqtpeer_la_MOC = \ slotcallbacks.moc.h @@ -73,7 +78,7 @@ libqtpeer_la_SOURCES = \ qtwindowpeer.cpp \ slotcallbacks.cpp \ slotcallbacks.h -libqtpeer_la_LDFLAGS = -avoid-version +libqtpeer_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version BUILT_SOURCES = $(libqtpeer_la_MOC) diff --git a/libjava/classpath/native/jni/qt-peer/Makefile.in b/libjava/classpath/native/jni/qt-peer/Makefile.in index 9446577..8d26816 100644 --- a/libjava/classpath/native/jni/qt-peer/Makefile.in +++ b/libjava/classpath/native/jni/qt-peer/Makefile.in @@ -47,16 +47,21 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ - $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ - $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ + $(top_srcdir)/../../libtool.m4 \ + $(top_srcdir)/../../ltoptions.m4 \ + $(top_srcdir)/../../ltsugar.m4 \ + $(top_srcdir)/../../ltversion.m4 \ + $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \ + $(top_srcdir)/m4/acinclude.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/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 +mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs CONFIG_HEADER = $(top_builddir)/include/config.h CONFIG_CLEAN_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) @@ -79,23 +84,23 @@ nodist_libqtpeer_la_OBJECTS = $(am__objects_1) libqtpeer_la_OBJECTS = $(am_libqtpeer_la_OBJECTS) \ $(nodist_libqtpeer_la_OBJECTS) DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include -depcomp = $(SHELL) $(top_srcdir)/depcomp +depcomp = $(SHELL) $(top_srcdir)/../../depcomp am__depfiles_maybe = depfiles CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) \ +LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) -CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ +CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \ +LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) -LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ +LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ SOURCES = $(libqtpeer_la_SOURCES) $(nodist_libqtpeer_la_SOURCES) DIST_SOURCES = $(libqtpeer_la_SOURCES) @@ -106,12 +111,15 @@ ACLOCAL = @ACLOCAL@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ +AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@ BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -157,6 +165,7 @@ DATE = @DATE@ DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ @@ -169,15 +178,16 @@ ERROR_CFLAGS = @ERROR_CFLAGS@ EXAMPLESDIR = @EXAMPLESDIR@ EXEEXT = @EXEEXT@ FASTJAR = @FASTJAR@ +FGREP = @FGREP@ FIND = @FIND@ FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@ FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@ FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@ FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@ -FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@ -FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@ FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@ FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@ +FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@ +FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@ FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@ FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@ FOUND_KJC_FALSE = @FOUND_KJC_FALSE@ @@ -185,7 +195,6 @@ FOUND_KJC_TRUE = @FOUND_KJC_TRUE@ FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@ FREETYPE2_LIBS = @FREETYPE2_LIBS@ GCJ = @GCJ@ -GCJX = @GCJX@ GCONF_CFLAGS = @GCONF_CFLAGS@ GCONF_LIBS = @GCONF_LIBS@ GDK_CFLAGS = @GDK_CFLAGS@ @@ -195,6 +204,7 @@ GENINSRC_TRUE = @GENINSRC_TRUE@ GJDOC = @GJDOC@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ +GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@ @@ -206,6 +216,7 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +JAVAC = @JAVAC@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ @@ -215,6 +226,7 @@ JIKES = @JIKES@ JIKESENCODING = @JIKESENCODING@ JIKESWARNINGS = @JIKESWARNINGS@ KJC = @KJC@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBDEBUG = @LIBDEBUG@ LIBICONV = @LIBICONV@ @@ -234,6 +246,7 @@ MKDIR = @MKDIR@ MOC = @MOC@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ +NM = @NM@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ @@ -255,6 +268,7 @@ RANLIB = @RANLIB@ REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@ REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@ REMOVE = @REMOVE@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@ @@ -282,8 +296,10 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ X_PRE_LIBS = @X_PRE_LIBS@ ZIP = @ZIP@ +ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_STRIP = @ac_ct_STRIP@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ @@ -316,6 +332,7 @@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ multi_basedir = @multi_basedir@ @@ -336,7 +353,12 @@ vm_classes = @vm_classes@ noinst_LTLIBRARIES = libqtpeer.la AM_LDFLAGS = @CLASSPATH_MODULE@ @QT_LIBS@ AM_CPPFLAGS = @CLASSPATH_INCLUDES@ -AM_CXXFLAGS = @QT_CFLAGS@ +AM_CXXFLAGS = @QT_CFLAGS@ \ + -I$(top_builddir)/../../libstdc++-v3/include/$(target_alias) \ + -I$(top_builddir)/../../libstdc++-v3/include \ + -I$(top_srcdir)/../../libstdc++-v3/include \ + -I$(top_srcdir)/../../libstdc++-v3/libsupc++ + libqtpeer_la_MOC = \ slotcallbacks.moc.h @@ -399,7 +421,7 @@ libqtpeer_la_SOURCES = \ slotcallbacks.cpp \ slotcallbacks.h -libqtpeer_la_LDFLAGS = -avoid-version +libqtpeer_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version BUILT_SOURCES = $(libqtpeer_la_MOC) CLEANFILES = so_locations $(BUILT_SOURCES) all: $(BUILT_SOURCES) diff --git a/libjava/classpath/native/jni/xmlj/Makefile.in b/libjava/classpath/native/jni/xmlj/Makefile.in index ef94612..079f7f4 100644 --- a/libjava/classpath/native/jni/xmlj/Makefile.in +++ b/libjava/classpath/native/jni/xmlj/Makefile.in @@ -44,16 +44,21 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ - $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ - $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ + $(top_srcdir)/../../libtool.m4 \ + $(top_srcdir)/../../ltoptions.m4 \ + $(top_srcdir)/../../ltsugar.m4 \ + $(top_srcdir)/../../ltversion.m4 \ + $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \ + $(top_srcdir)/m4/acinclude.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/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 +mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs CONFIG_HEADER = $(top_builddir)/include/config.h CONFIG_CLEAN_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; @@ -71,15 +76,15 @@ am_libxmlj_la_OBJECTS = xmlj_dom.lo xmlj_error.lo xmlj_io.lo \ xmlj_xpath.lo libxmlj_la_OBJECTS = $(am_libxmlj_la_OBJECTS) DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include -depcomp = $(SHELL) $(top_srcdir)/depcomp +depcomp = $(SHELL) $(top_srcdir)/../../depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \ +LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) -LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ +LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ SOURCES = $(libxmlj_la_SOURCES) DIST_SOURCES = $(libxmlj_la_SOURCES) @@ -90,12 +95,15 @@ ACLOCAL = @ACLOCAL@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ +AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@ BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -141,6 +149,7 @@ DATE = @DATE@ DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ @@ -153,15 +162,16 @@ ERROR_CFLAGS = @ERROR_CFLAGS@ EXAMPLESDIR = @EXAMPLESDIR@ EXEEXT = @EXEEXT@ FASTJAR = @FASTJAR@ +FGREP = @FGREP@ FIND = @FIND@ FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@ FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@ FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@ FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@ -FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@ -FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@ FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@ FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@ +FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@ +FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@ FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@ FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@ FOUND_KJC_FALSE = @FOUND_KJC_FALSE@ @@ -169,7 +179,6 @@ FOUND_KJC_TRUE = @FOUND_KJC_TRUE@ FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@ FREETYPE2_LIBS = @FREETYPE2_LIBS@ GCJ = @GCJ@ -GCJX = @GCJX@ GCONF_CFLAGS = @GCONF_CFLAGS@ GCONF_LIBS = @GCONF_LIBS@ GDK_CFLAGS = @GDK_CFLAGS@ @@ -179,6 +188,7 @@ GENINSRC_TRUE = @GENINSRC_TRUE@ GJDOC = @GJDOC@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ +GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@ @@ -190,6 +200,7 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +JAVAC = @JAVAC@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ @@ -199,6 +210,7 @@ JIKES = @JIKES@ JIKESENCODING = @JIKESENCODING@ JIKESWARNINGS = @JIKESWARNINGS@ KJC = @KJC@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBDEBUG = @LIBDEBUG@ LIBICONV = @LIBICONV@ @@ -218,6 +230,7 @@ MKDIR = @MKDIR@ MOC = @MOC@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ +NM = @NM@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ @@ -239,6 +252,7 @@ RANLIB = @RANLIB@ REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@ REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@ REMOVE = @REMOVE@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@ @@ -266,8 +280,10 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ X_PRE_LIBS = @X_PRE_LIBS@ ZIP = @ZIP@ +ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_STRIP = @ac_ct_STRIP@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ @@ -300,6 +316,7 @@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ multi_basedir = @multi_basedir@ diff --git a/libjava/classpath/native/plugin/Makefile.am b/libjava/classpath/native/plugin/Makefile.am index db94bb4..28268bf 100644 --- a/libjava/classpath/native/plugin/Makefile.am +++ b/libjava/classpath/native/plugin/Makefile.am @@ -8,7 +8,7 @@ libgcjwebplugin_la_CXXFLAGS = \ libgcjwebplugin_la_LDFLAGS = -avoid-version \ $(GLIB_LIBS) $(GTK_LIBS) \ - -lstdc++ + -lstdc++ $(AM_LDFLAGS) install-plugin: $(nativeexeclib_LTLIBRARIES) $(INSTALL) -d -m0755 $(DESTDIR)$(PLUGIN_DIR) diff --git a/libjava/classpath/native/plugin/Makefile.in b/libjava/classpath/native/plugin/Makefile.in index ed53fb6..c57aa77 100644 --- a/libjava/classpath/native/plugin/Makefile.in +++ b/libjava/classpath/native/plugin/Makefile.in @@ -44,16 +44,21 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ - $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ - $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ + $(top_srcdir)/../../libtool.m4 \ + $(top_srcdir)/../../ltoptions.m4 \ + $(top_srcdir)/../../ltsugar.m4 \ + $(top_srcdir)/../../ltversion.m4 \ + $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \ + $(top_srcdir)/m4/acinclude.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/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 +mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs CONFIG_HEADER = $(top_builddir)/include/config.h CONFIG_CLEAN_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; @@ -69,16 +74,16 @@ libgcjwebplugin_la_LIBADD = am_libgcjwebplugin_la_OBJECTS = libgcjwebplugin_la-gcjwebplugin.lo libgcjwebplugin_la_OBJECTS = $(am_libgcjwebplugin_la_OBJECTS) DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include -depcomp = $(SHELL) $(top_srcdir)/depcomp +depcomp = $(SHELL) $(top_srcdir)/../../depcomp am__depfiles_maybe = depfiles CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) \ +LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) -CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ +CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ SOURCES = $(libgcjwebplugin_la_SOURCES) DIST_SOURCES = $(libgcjwebplugin_la_SOURCES) ETAGS = etags @@ -88,12 +93,15 @@ ACLOCAL = @ACLOCAL@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ +AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@ BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -139,6 +147,7 @@ DATE = @DATE@ DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ @@ -151,15 +160,16 @@ ERROR_CFLAGS = @ERROR_CFLAGS@ EXAMPLESDIR = @EXAMPLESDIR@ EXEEXT = @EXEEXT@ FASTJAR = @FASTJAR@ +FGREP = @FGREP@ FIND = @FIND@ FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@ FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@ FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@ FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@ -FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@ -FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@ FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@ FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@ +FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@ +FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@ FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@ FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@ FOUND_KJC_FALSE = @FOUND_KJC_FALSE@ @@ -167,7 +177,6 @@ FOUND_KJC_TRUE = @FOUND_KJC_TRUE@ FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@ FREETYPE2_LIBS = @FREETYPE2_LIBS@ GCJ = @GCJ@ -GCJX = @GCJX@ GCONF_CFLAGS = @GCONF_CFLAGS@ GCONF_LIBS = @GCONF_LIBS@ GDK_CFLAGS = @GDK_CFLAGS@ @@ -177,6 +186,7 @@ GENINSRC_TRUE = @GENINSRC_TRUE@ GJDOC = @GJDOC@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ +GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@ @@ -188,6 +198,7 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +JAVAC = @JAVAC@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ @@ -197,6 +208,7 @@ JIKES = @JIKES@ JIKESENCODING = @JIKESENCODING@ JIKESWARNINGS = @JIKESWARNINGS@ KJC = @KJC@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBDEBUG = @LIBDEBUG@ LIBICONV = @LIBICONV@ @@ -216,6 +228,7 @@ MKDIR = @MKDIR@ MOC = @MOC@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ +NM = @NM@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ @@ -237,6 +250,7 @@ RANLIB = @RANLIB@ REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@ REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@ REMOVE = @REMOVE@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@ @@ -264,8 +278,10 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ X_PRE_LIBS = @X_PRE_LIBS@ ZIP = @ZIP@ +ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_STRIP = @ac_ct_STRIP@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ @@ -298,6 +314,7 @@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ multi_basedir = @multi_basedir@ @@ -323,7 +340,7 @@ libgcjwebplugin_la_CXXFLAGS = \ libgcjwebplugin_la_LDFLAGS = -avoid-version \ $(GLIB_LIBS) $(GTK_LIBS) \ - -lstdc++ + -lstdc++ $(AM_LDFLAGS) all: all-am @@ -418,11 +435,11 @@ distclean-compile: @am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< libgcjwebplugin_la-gcjwebplugin.lo: gcjwebplugin.cc -@am__fastdepCXX_TRUE@ if $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgcjwebplugin_la_CXXFLAGS) $(CXXFLAGS) -MT libgcjwebplugin_la-gcjwebplugin.lo -MD -MP -MF "$(DEPDIR)/libgcjwebplugin_la-gcjwebplugin.Tpo" -c -o libgcjwebplugin_la-gcjwebplugin.lo `test -f 'gcjwebplugin.cc' || echo '$(srcdir)/'`gcjwebplugin.cc; \ +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgcjwebplugin_la_CXXFLAGS) $(CXXFLAGS) -MT libgcjwebplugin_la-gcjwebplugin.lo -MD -MP -MF "$(DEPDIR)/libgcjwebplugin_la-gcjwebplugin.Tpo" -c -o libgcjwebplugin_la-gcjwebplugin.lo `test -f 'gcjwebplugin.cc' || echo '$(srcdir)/'`gcjwebplugin.cc; \ @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libgcjwebplugin_la-gcjwebplugin.Tpo" "$(DEPDIR)/libgcjwebplugin_la-gcjwebplugin.Plo"; else rm -f "$(DEPDIR)/libgcjwebplugin_la-gcjwebplugin.Tpo"; exit 1; fi @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='gcjwebplugin.cc' object='libgcjwebplugin_la-gcjwebplugin.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgcjwebplugin_la_CXXFLAGS) $(CXXFLAGS) -c -o libgcjwebplugin_la-gcjwebplugin.lo `test -f 'gcjwebplugin.cc' || echo '$(srcdir)/'`gcjwebplugin.cc +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgcjwebplugin_la_CXXFLAGS) $(CXXFLAGS) -c -o libgcjwebplugin_la-gcjwebplugin.lo `test -f 'gcjwebplugin.cc' || echo '$(srcdir)/'`gcjwebplugin.cc mostlyclean-libtool: -rm -f *.lo diff --git a/libjava/classpath/org/omg/CORBA/DynAny.java b/libjava/classpath/org/omg/CORBA/DynAny.java index edafe43..a49e6c0 100644 --- a/libjava/classpath/org/omg/CORBA/DynAny.java +++ b/libjava/classpath/org/omg/CORBA/DynAny.java @@ -1,5 +1,5 @@ /* DynAny.java -- - Copyright (C) 2005, 2006 Free Software Foundation, Inc. + Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -54,6 +54,8 @@ import java.io.Serializable; * knowing the exact type at the run time. The returned members are also * wrapped into DynAny objects, allowing them to be the nested structures. * + * @deprecated by {@link org.omg.DynamicAny.DynAny} + * * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) */ public interface DynAny diff --git a/libjava/classpath/org/omg/CORBA/DynArray.java b/libjava/classpath/org/omg/CORBA/DynArray.java index 4e831ad..59901c2 100644 --- a/libjava/classpath/org/omg/CORBA/DynArray.java +++ b/libjava/classpath/org/omg/CORBA/DynArray.java @@ -1,5 +1,5 @@ /* DynArray.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -44,6 +44,8 @@ import org.omg.CORBA.DynAnyPackage.InvalidSeq; /** * Represents the {@link DynAny}, holding an array. * + * @deprecated by {@link org.omg.DynamicAny.DynArray} + * * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) */ public interface DynArray diff --git a/libjava/classpath/org/omg/CORBA/DynEnum.java b/libjava/classpath/org/omg/CORBA/DynEnum.java index e17534d..e082d3e 100644 --- a/libjava/classpath/org/omg/CORBA/DynEnum.java +++ b/libjava/classpath/org/omg/CORBA/DynEnum.java @@ -1,5 +1,5 @@ /* DynEnum.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -44,6 +44,8 @@ package org.omg.CORBA; * name or by position in the enumeration list. The CORBA enumeration * can obtain one of the named values from the specified enumeration list. * + * @deprecated by {@link org.omg.DynamicAny.DynEnum} + * * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) */ public interface DynEnum diff --git a/libjava/classpath/org/omg/CORBA/DynFixed.java b/libjava/classpath/org/omg/CORBA/DynFixed.java index e7daa9a..0faded9 100644 --- a/libjava/classpath/org/omg/CORBA/DynFixed.java +++ b/libjava/classpath/org/omg/CORBA/DynFixed.java @@ -1,5 +1,5 @@ /* DynFixed.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -54,6 +54,8 @@ import org.omg.CORBA.DynAnyPackage.InvalidValue; * * @see gnu.CORBA.BigDecimalHelper * + * @deprecated by {@link org.omg.DynamicAny.DynFixed} + * * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) */ public interface DynFixed diff --git a/libjava/classpath/org/omg/CORBA/DynSequence.java b/libjava/classpath/org/omg/CORBA/DynSequence.java index 6a5c77c..addaac8 100644 --- a/libjava/classpath/org/omg/CORBA/DynSequence.java +++ b/libjava/classpath/org/omg/CORBA/DynSequence.java @@ -1,5 +1,5 @@ /* DynSequence.java -- - Copyright (C) 2005, 2006 Free Software Foundation, Inc. + Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -44,6 +44,8 @@ import org.omg.CORBA.DynAnyPackage.InvalidSeq; * Represents the {@link DynAny}, holding the CORBA sequence * (an array with the flexible length). * + * @deprecated by {@link org.omg.DynamicAny.DynSequence} + * * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) */ public interface DynSequence diff --git a/libjava/classpath/org/omg/CORBA/DynStruct.java b/libjava/classpath/org/omg/CORBA/DynStruct.java index d119442..e292e99 100644 --- a/libjava/classpath/org/omg/CORBA/DynStruct.java +++ b/libjava/classpath/org/omg/CORBA/DynStruct.java @@ -1,5 +1,5 @@ /* DynStruct.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -46,6 +46,8 @@ import org.omg.CORBA.DynAnyPackage.InvalidSeq; * {@link DynAny#current_component()}, iterates over the fields of the * structure. * + * @deprecated by {@link org.omg.DynamicAny.DynStruct} + * * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) */ public interface DynStruct diff --git a/libjava/classpath/org/omg/CORBA/DynUnion.java b/libjava/classpath/org/omg/CORBA/DynUnion.java index 115ac17..2712cc8 100644 --- a/libjava/classpath/org/omg/CORBA/DynUnion.java +++ b/libjava/classpath/org/omg/CORBA/DynUnion.java @@ -1,5 +1,5 @@ /* DynUnion.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -46,6 +46,8 @@ package org.omg.CORBA; * member, stored in the union. The union always holds only one member; * which one, depends from the value of the discriminator. * + * @deprecated by {@link org.omg.DynamicAny.DynUnion} + * * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) */ public interface DynUnion diff --git a/libjava/classpath/org/omg/CORBA/DynValue.java b/libjava/classpath/org/omg/CORBA/DynValue.java index 5c67ffb..a23cd1a 100644 --- a/libjava/classpath/org/omg/CORBA/DynValue.java +++ b/libjava/classpath/org/omg/CORBA/DynValue.java @@ -1,5 +1,5 @@ /* DynValue.java -- - Copyright (C) 2005, 2006 Free Software Foundation, Inc. + Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -51,6 +51,8 @@ import org.omg.CORBA.DynAnyPackage.InvalidSeq; * The value types can have both public and private members. They support * inheritance. Value types can also be abstract. * + * @deprecated by {@link org.omg.DynamicAny.DynValue} + * * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) */ public interface DynValue @@ -85,4 +87,4 @@ public interface DynValue */ void set_members(NameValuePair[] value) throws InvalidSeq; -} \ No newline at end of file +} diff --git a/libjava/classpath/org/omg/CORBA/ORB.java b/libjava/classpath/org/omg/CORBA/ORB.java index 89bc537..71e63d4 100644 --- a/libjava/classpath/org/omg/CORBA/ORB.java +++ b/libjava/classpath/org/omg/CORBA/ORB.java @@ -273,6 +273,8 @@ public abstract class ORB * Since v1.4 this stil missing implementation was replaced * by the new DynamicAny package. * + * @deprecated Use {@link org.omg.DynamicAny.DynAnyFactory} + * * @throws NO_IMPLEMENT, always. */ public DynAny create_basic_dyn_any(org.omg.CORBA.TypeCode t) @@ -280,8 +282,7 @@ public abstract class ORB { throw new NO_IMPLEMENT(); } - ; - + /** * The support for {@link DynAny} and derived interfaces * has never been implemented in Sun's java releases, @@ -290,13 +291,14 @@ public abstract class ORB * Since v1.4 this stil missing implementation was replaced * by the new DynamicAny package. * + * @deprecated Use {@link org.omg.DynamicAny.DynAnyFactory} + * * @throws NO_IMPLEMENT, always. */ public DynAny create_dyn_any(org.omg.CORBA.Any a) { throw new NO_IMPLEMENT(); } - ; /** * The support for {@link DynArray} @@ -306,6 +308,8 @@ public abstract class ORB * Since v1.4 this stil missing implementation was replaced * by the new DynamicAny package. * + * @deprecated Use {@link org.omg.DynamicAny.DynAnyFactory} + * * @throws NO_IMPLEMENT, always. */ public DynArray create_dyn_array(org.omg.CORBA.TypeCode t) @@ -313,7 +317,6 @@ public abstract class ORB { throw new NO_IMPLEMENT(); } - ; /** * The support for {@link DynEnum} @@ -323,6 +326,8 @@ public abstract class ORB * Since v1.4 this stil missing implementation was replaced * by the new DynamicAny package. * + * @deprecated Use {@link org.omg.DynamicAny.DynAnyFactory} + * * @throws NO_IMPLEMENT, always. */ public DynEnum create_dyn_enum(org.omg.CORBA.TypeCode t) @@ -330,7 +335,6 @@ public abstract class ORB { throw new NO_IMPLEMENT(); } - ; /** * The support for {@link DynSequence} @@ -340,6 +344,8 @@ public abstract class ORB * Since v1.4 this stil missing implementation was replaced * by the new DynamicAny package. * + * @deprecated Use {@link org.omg.DynamicAny.DynAnyFactory} + * * @throws NO_IMPLEMENT, always. */ public DynSequence create_dyn_sequence(org.omg.CORBA.TypeCode t) @@ -347,7 +353,6 @@ public abstract class ORB { throw new NO_IMPLEMENT(); } - ; /** * The support for {@link DynStruct} and derived interfaces @@ -357,6 +362,8 @@ public abstract class ORB * Since v1.4 this stil missing implementation was replaced * by the new DynamicAny package. * + * @deprecated Use {@link org.omg.DynamicAny.DynAnyFactory} + * * @throws NO_IMPLEMENT, always. */ public DynStruct create_dyn_struct(org.omg.CORBA.TypeCode t) @@ -364,8 +371,7 @@ public abstract class ORB { throw new NO_IMPLEMENT(); } - ; - + /** * The support for {@link DynUnion} and derived interfaces * has never been implemented in Sun's java releases, @@ -374,6 +380,8 @@ public abstract class ORB * Since v1.4 this stil missing implementation was replaced * by the new DynamicAny package. * + * @deprecated Use {@link org.omg.DynamicAny.DynAnyFactory} + * * @throws NO_IMPLEMENT, always. */ public DynUnion create_dyn_union(org.omg.CORBA.TypeCode t) @@ -381,7 +389,6 @@ public abstract class ORB { throw new NO_IMPLEMENT(); } - ; /** * Create a typecode, defining the given enumeration. diff --git a/libjava/classpath/resource/META-INF/services/java.util.prefs.PreferencesFactory b/libjava/classpath/resource/META-INF/services/java.util.prefs.PreferencesFactory new file mode 100644 index 0000000..8d05bb1 --- /dev/null +++ b/libjava/classpath/resource/META-INF/services/java.util.prefs.PreferencesFactory @@ -0,0 +1 @@ +gnu.java.util.prefs.GConfBasedFactory diff --git a/libjava/classpath/resource/META-INF/services/javax.xml.parsers.DocumentBuilderFactory b/libjava/classpath/resource/META-INF/services/javax.xml.parsers.DocumentBuilderFactory deleted file mode 100644 index 7a7c04c..0000000 --- a/libjava/classpath/resource/META-INF/services/javax.xml.parsers.DocumentBuilderFactory +++ /dev/null @@ -1 +0,0 @@ -gnu.xml.dom.DomDocumentBuilderFactory diff --git a/libjava/classpath/resource/META-INF/services/javax.xml.parsers.SAXParserFactory b/libjava/classpath/resource/META-INF/services/javax.xml.parsers.SAXParserFactory deleted file mode 100644 index 9b2964c..0000000 --- a/libjava/classpath/resource/META-INF/services/javax.xml.parsers.SAXParserFactory +++ /dev/null @@ -1 +0,0 @@ -gnu.xml.stream.SAXParserFactory diff --git a/libjava/classpath/resource/META-INF/services/javax.xml.parsers.TransformerFactory b/libjava/classpath/resource/META-INF/services/javax.xml.parsers.TransformerFactory deleted file mode 100644 index 8dc85e0..0000000 --- a/libjava/classpath/resource/META-INF/services/javax.xml.parsers.TransformerFactory +++ /dev/null @@ -1 +0,0 @@ -gnu.xml.transform.TransformerFactoryImpl diff --git a/libjava/classpath/resource/META-INF/services/org.relaxng.datatype.DatatypeLibraryFactory b/libjava/classpath/resource/META-INF/services/org.relaxng.datatype.DatatypeLibraryFactory deleted file mode 100644 index 6fc0b4b..0000000 --- a/libjava/classpath/resource/META-INF/services/org.relaxng.datatype.DatatypeLibraryFactory +++ /dev/null @@ -1 +0,0 @@ -gnu.xml.validation.datatype.TypeLibraryFactory diff --git a/libjava/classpath/resource/META-INF/services/org.xml.sax.driver b/libjava/classpath/resource/META-INF/services/org.xml.sax.driver deleted file mode 100644 index d88b13d..0000000 --- a/libjava/classpath/resource/META-INF/services/org.xml.sax.driver +++ /dev/null @@ -1 +0,0 @@ -gnu.xml.stream.SAXParser diff --git a/libjava/classpath/resource/Makefile.in b/libjava/classpath/resource/Makefile.in index 413dcc9..af9b55a 100644 --- a/libjava/classpath/resource/Makefile.in +++ b/libjava/classpath/resource/Makefile.in @@ -44,16 +44,21 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ - $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ - $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ + $(top_srcdir)/../../libtool.m4 \ + $(top_srcdir)/../../ltoptions.m4 \ + $(top_srcdir)/../../ltsugar.m4 \ + $(top_srcdir)/../../ltversion.m4 \ + $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \ + $(top_srcdir)/m4/acinclude.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/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 +mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs CONFIG_HEADER = $(top_builddir)/include/config.h CONFIG_CLEAN_FILES = SOURCES = @@ -73,12 +78,15 @@ ACLOCAL = @ACLOCAL@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ +AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@ BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -124,6 +132,7 @@ DATE = @DATE@ DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ @@ -136,15 +145,16 @@ ERROR_CFLAGS = @ERROR_CFLAGS@ EXAMPLESDIR = @EXAMPLESDIR@ EXEEXT = @EXEEXT@ FASTJAR = @FASTJAR@ +FGREP = @FGREP@ FIND = @FIND@ FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@ FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@ FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@ FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@ -FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@ -FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@ FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@ FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@ +FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@ +FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@ FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@ FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@ FOUND_KJC_FALSE = @FOUND_KJC_FALSE@ @@ -152,7 +162,6 @@ FOUND_KJC_TRUE = @FOUND_KJC_TRUE@ FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@ FREETYPE2_LIBS = @FREETYPE2_LIBS@ GCJ = @GCJ@ -GCJX = @GCJX@ GCONF_CFLAGS = @GCONF_CFLAGS@ GCONF_LIBS = @GCONF_LIBS@ GDK_CFLAGS = @GDK_CFLAGS@ @@ -162,6 +171,7 @@ GENINSRC_TRUE = @GENINSRC_TRUE@ GJDOC = @GJDOC@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ +GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@ @@ -173,6 +183,7 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +JAVAC = @JAVAC@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ @@ -182,6 +193,7 @@ JIKES = @JIKES@ JIKESENCODING = @JIKESENCODING@ JIKESWARNINGS = @JIKESWARNINGS@ KJC = @KJC@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBDEBUG = @LIBDEBUG@ LIBICONV = @LIBICONV@ @@ -201,6 +213,7 @@ MKDIR = @MKDIR@ MOC = @MOC@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ +NM = @NM@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ @@ -222,6 +235,7 @@ RANLIB = @RANLIB@ REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@ REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@ REMOVE = @REMOVE@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@ @@ -249,8 +263,10 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ X_PRE_LIBS = @X_PRE_LIBS@ ZIP = @ZIP@ +ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_STRIP = @ac_ct_STRIP@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ @@ -283,6 +299,7 @@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ multi_basedir = @multi_basedir@ diff --git a/libjava/classpath/scripts/Makefile.in b/libjava/classpath/scripts/Makefile.in index 19f892d..9e43770 100644 --- a/libjava/classpath/scripts/Makefile.in +++ b/libjava/classpath/scripts/Makefile.in @@ -44,16 +44,21 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ - $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ - $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ + $(top_srcdir)/../../libtool.m4 \ + $(top_srcdir)/../../ltoptions.m4 \ + $(top_srcdir)/../../ltsugar.m4 \ + $(top_srcdir)/../../ltversion.m4 \ + $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \ + $(top_srcdir)/m4/acinclude.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/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 +mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs CONFIG_HEADER = $(top_builddir)/include/config.h CONFIG_CLEAN_FILES = classpath.spec SOURCES = @@ -63,12 +68,15 @@ ACLOCAL = @ACLOCAL@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ +AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@ BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -114,6 +122,7 @@ DATE = @DATE@ DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ @@ -126,15 +135,16 @@ ERROR_CFLAGS = @ERROR_CFLAGS@ EXAMPLESDIR = @EXAMPLESDIR@ EXEEXT = @EXEEXT@ FASTJAR = @FASTJAR@ +FGREP = @FGREP@ FIND = @FIND@ FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@ FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@ FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@ FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@ -FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@ -FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@ FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@ FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@ +FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@ +FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@ FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@ FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@ FOUND_KJC_FALSE = @FOUND_KJC_FALSE@ @@ -142,7 +152,6 @@ FOUND_KJC_TRUE = @FOUND_KJC_TRUE@ FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@ FREETYPE2_LIBS = @FREETYPE2_LIBS@ GCJ = @GCJ@ -GCJX = @GCJX@ GCONF_CFLAGS = @GCONF_CFLAGS@ GCONF_LIBS = @GCONF_LIBS@ GDK_CFLAGS = @GDK_CFLAGS@ @@ -152,6 +161,7 @@ GENINSRC_TRUE = @GENINSRC_TRUE@ GJDOC = @GJDOC@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ +GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@ @@ -163,6 +173,7 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +JAVAC = @JAVAC@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ @@ -172,6 +183,7 @@ JIKES = @JIKES@ JIKESENCODING = @JIKESENCODING@ JIKESWARNINGS = @JIKESWARNINGS@ KJC = @KJC@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBDEBUG = @LIBDEBUG@ LIBICONV = @LIBICONV@ @@ -191,6 +203,7 @@ MKDIR = @MKDIR@ MOC = @MOC@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ +NM = @NM@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ @@ -212,6 +225,7 @@ RANLIB = @RANLIB@ REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@ REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@ REMOVE = @REMOVE@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@ @@ -239,8 +253,10 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ X_PRE_LIBS = @X_PRE_LIBS@ ZIP = @ZIP@ +ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_STRIP = @ac_ct_STRIP@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ @@ -273,6 +289,7 @@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ multi_basedir = @multi_basedir@ diff --git a/libjava/classpath/scripts/build_mathnamespace b/libjava/classpath/scripts/build_mathnamespace deleted file mode 100644 index a2e53a3..0000000 --- a/libjava/classpath/scripts/build_mathnamespace +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh - -echo "/* Warning ! This is a generated file. Use build_mathnamespace to regenerate it */" -while read fun;do - echo "#define ${fun} ClasspathMath_${fun}" -done diff --git a/libjava/classpath/scripts/checkstyle-config.xml b/libjava/classpath/scripts/checkstyle-config.xml deleted file mode 100644 index 498e7fa..0000000 --- a/libjava/classpath/scripts/checkstyle-config.xml +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/libjava/classpath/scripts/checkstyle-header.regex b/libjava/classpath/scripts/checkstyle-header.regex deleted file mode 100644 index 15eb29a..0000000 --- a/libjava/classpath/scripts/checkstyle-header.regex +++ /dev/null @@ -1,38 +0,0 @@ -^/\* .*$ -^ .*$ -^ (Copyright \(C\) .*|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. \*/$ -^ *$ diff --git a/libjava/classpath/scripts/checkstyle-suppressions.xml b/libjava/classpath/scripts/checkstyle-suppressions.xml deleted file mode 100644 index 68c620c..0000000 --- a/libjava/classpath/scripts/checkstyle-suppressions.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - diff --git a/libjava/classpath/scripts/checkstyle.css b/libjava/classpath/scripts/checkstyle.css deleted file mode 100644 index 9d1fd8b..0000000 --- a/libjava/classpath/scripts/checkstyle.css +++ /dev/null @@ -1,42 +0,0 @@ -body { - color: black; - font-family: sans-serif; -} -h1 { - color: #990000; - border-width: 1px; - border-style: solid; - border-color: black; - padding: 0.2em; - background-color: #cccccc; - width: 100%; -} -h2 { - color: #990000; - border-width: 1px; - border-style: solid; - border-color: black; - padding: 0.2em; - background-color: #cccccc; - width: 100%; -} -h3 { - color: #990000; - border-width: 1px; - border-style: solid; - border-color: black; - padding: 0.2em; - background-color: #cccccc; - width: 100%; -} -table { - width: 100%; -} -th { - color: white; - background-color: #999999; - text-align: left; -} -td { - background-color: #cccccc; -} diff --git a/libjava/classpath/scripts/checkstyle2html.xsl b/libjava/classpath/scripts/checkstyle2html.xsl deleted file mode 100644 index 8963987..0000000 --- a/libjava/classpath/scripts/checkstyle2html.xsl +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - - - - - - Checkstyle results - - - -

      Checkstyle results

      -
      The following document contains the results of - Checkstyle.
      - -

      Summary

      - - - - - - - - - - -
      FilesInfosWarningsErrors
      - -

      Files

      - - - - - - - - -
      FileIWE
      - - - - - - - -
      - - - - - - - - - # - - - - - - - - - - - - - - -

      - - - - - - -

      - - - - - -
      ErrorLine
      -
      -
      - - - - - - - - - -
      diff --git a/libjava/classpath/scripts/classpath-build b/libjava/classpath/scripts/classpath-build deleted file mode 100755 index cd0e7d6..0000000 --- a/libjava/classpath/scripts/classpath-build +++ /dev/null @@ -1,68 +0,0 @@ -#!/bin/sh - -# cvs may timeout ... -set -e - -export CVS_RSH=ssh - -CLASSPATH_CVSSRCDIR=$HOME/src/cvs/classpath -CLASSPATH_SRCDIR=$HOME/src/classpath -CLASSPATH_BUILDDIR=$HOME/src/classpath/build - -DATE=`date +"%Y%m%d"` -OUTPUTDIR=$HOME/public_html/classpath/daily -LOGFILE=$OUTPUTDIR/classpath-$DATE.log - -echo -n > $LOGFILE - -if [ -d $CLASSPATH_CVSSRCDIR ] ; then - echo "update cvs source tree" >> $LOGFILE - cd $CLASSPATH_CVSSRCDIR - cvs -z 3 update >> $LOGFILE 2>&1 -fi - -if [ -d $CLASSPATH_SRCDIR ] ; then - - # delete old sources - echo "delete old source tree" >> $LOGFILE - - # workaround for automake safety behaviour with umask - chmod u+w -R $CLASSPATH_SRCDIR - - rm -rf $CLASSPATH_SRCDIR - -fi - -echo "copy cvs tree to source tree" >> $LOGFILE -cp -a $CLASSPATH_CVSSRCDIR $CLASSPATH_SRCDIR -cd $CLASSPATH_SRCDIR - -# patch version in configure.ac -if [ -f configure.ac ] ; then - mv configure.ac configure.ac.orig - sed "s/, \[.*cvs\]/, [$DATE]/" < configure.ac.orig > configure.ac -fi - -# generate autofriends stuff -./autogen.sh >> $LOGFILE 2>&1 - -# create build directory -mkdir build -cd build - -# configure and build classpath -export LD_LIBRARY_PATH=/usr/local/lib -../configure --prefix=$HOME/local/classpath --with-jikes=/usr/bin/jikes --enable-glibj=both --enable-jni --enable-gtk-peer --enable-regen-headers >> $LOGFILE 2>&1 -make >> $LOGFILE 2>&1 -make install >> $LOGFILE 2>&1 - -make dist >> $LOGFILE 2>&1 -#make distcheck >> $LOGFILE 2>&1 -cp classpath-$DATE.tar.gz $OUTPUTDIR - -cd $OUTPUTDIR -ln -sf classpath-$DATE.tar.gz LATEST-SNAPSHOT -ln -sf classpath-$DATE.log LATEST-BUILDLOG - -exit 0 - diff --git a/libjava/classpath/scripts/classpath-daily b/libjava/classpath/scripts/classpath-daily deleted file mode 100755 index c740527..0000000 --- a/libjava/classpath/scripts/classpath-daily +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh - -DATE=`date +"%Y%m%d"` -OUTPUTDIR=$HOME/public_html/classpath/daily -LOGFILE=$OUTPUTDIR/classpath-$DATE.log -FAILEDLOG=$OUTPUTDIR/classpath-failed-$DATE.log -MAIL="konqueror@gmx.de" - -/home/mkoch/bin/classpath-build - -if test "$?" = "1" ; then - tail --lines=100 $LOGFILE > $FAILEDLOG - - mail $MAIL -s "classpath daily snapshot $DATE FAILED" < $FAILEDLOG -else - mail $MAIL -s "classpath daily snapshot $DATE SUCCESSFUL" < /dev/null > /dev/null -fi diff --git a/libjava/classpath/scripts/eclipse-gnu.xml b/libjava/classpath/scripts/eclipse-gnu.xml deleted file mode 100644 index 60a1082..0000000 --- a/libjava/classpath/scripts/eclipse-gnu.xml +++ /dev/null @@ -1,246 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/libjava/classpath/scripts/jalopy-gnu.xml b/libjava/classpath/scripts/jalopy-gnu.xml deleted file mode 100644 index ad5c5ab..0000000 --- a/libjava/classpath/scripts/jalopy-gnu.xml +++ /dev/null @@ -1,378 +0,0 @@ - - - - - 14 - - - - - false - - - [A-Z][a-zA-Z0-9]+ - [A-Z][a-zA-Z0-9]+ - - - [a-z][\w]+ - [a-z][\w]+ - [a-zA-Z][\w]+ - [a-z][\w]+ - [a-z][\w]+ - [a-zA-Z][\w]+ - [a-z][\w]+ - [a-z][\w]+ - [a-zA-Z][\w]+ - [a-z][\w]+ - [a-z][\w]+ - [a-zA-Z][\w]+ - - [A-Z][a-zA-Z0-9]+ - \w+ - - [a-z][\w]+ - [a-z][\w]+ - [a-z][\w]+ - [a-z][\w]+ - [a-z][\w]+ - [a-z][\w]+ - [a-z][\w]+ - [a-z][\w]+ - [a-z][\w]+ - [a-z][\w]+ - [a-z][\w]+ - [a-z][\w]+ - - [a-z]+(?:\.[a-z]+)* - - [a-z][\w]+ - [a-z][\w]+ - - [a-z][\w]* - - - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - - - - 6 - - - - 30000 - 30000 - 30000 - 30000 - 30000 - 30000 - - true - - - 1 - - - - true - false - true - false - false - - - bak - 0 - - - - 0 - 0 - 1 - 0 -
      1
      -
      1
      - 1 - 1 - 1 - 1 -
      - - 0 - 0 - 0 - - 1 - 0 - 0 - - 0 - 0 -
      0
      -
      0
      - 2 -
      - 1 -
      - - - false - false - - - false - false - false - false - - - true - true - true - true - true - - - true - false - - - - true - true - - - - false - - - - false - false - false - - false - - 0 - 0 - 0 - 0 - - false - - - - - - - */ - * @throws $exceptionType$ DOCUMENT ME! - * @param $paramType$ DOCUMENT ME! - * @return DOCUMENT ME! - /**| * DOCUMENT ME! - - - - - false - false - false - - - - - false - false - - Inner Classes - Constructors - Instance fields - Instance initializers - Inner Interfaces - Methods - Static fields/initializers - - - - -
      - - 0 - false -
      -
      - - 0 - false -
      - - disabled - - - - 1 - *:0|gnu:1|java:1|javax:1|org:1 - - disabled - true - - - true - - true - true - - false - - - true - - - 1 - 2 - 2 - 0 - 0 - 55 - -1 - 2 - -1 - 0 - 8 - 2 - 1 - - - true - true - - - - false - false - false - false - true - false - - - - false - false - false - false - false - static|field|initializer|constructor|method|interface|class - false - - - true - public|protected|private|abstract|static|final|synchronized|transient|volatile|native|strictfp - - - - - true - true - true - - - true - false - false - false - - true - - - false - false - true - - - - true - false - - true - true - true - true - true - true - - false - false - - - - - - 0 - true - false - false - - false - - false - false - - false - - - true - false - false - false - - - false - false - false - - - - true - true - 79 - - - - false - false - false - - false - false - false - - - - false - - false - - -
      -
      - diff --git a/libjava/classpath/scripts/japi b/libjava/classpath/scripts/japi deleted file mode 100755 index 52bcbc4..0000000 --- a/libjava/classpath/scripts/japi +++ /dev/null @@ -1,135 +0,0 @@ -#!/bin/sh - -CLASSPATH_CVS=~/japi/classpath -JAPIZE_DIR=~/japitools-0.9 -FTPROOT=~alpha/pub/gnu/classpath/nightly/tests -LOG=/tmp/japi.log -export PATH=${PATH}:/usr/java/j2sdk1.4.1/bin - -rm -f /tmp/japi.log > /dev/null 2>&1 - -classpath_checkout () -{ - if [ ! -d "${CLASSPATH_CVS}" ]; then - mkdir --parents ${CLASSPATH_CVS} - local dir=`dirname "${CLASSPATH_CVS}"` - cd "${dir}" - cvs -z3 -d :pserver:anoncvs@subversions.gnu.org:/cvsroot/classpath co classpath >> ${LOG} 2>/dev/null - if [ $? -ne 0 ]; then - echo "Error checking out classpath" - exit 1 - fi - fi -} - -classpath_update () -{ - cd "${CLASSPATH_CVS}" && cvs update -d -P . >> ${LOG} 2>/dev/null - if [ $? -ne 0 ]; then - echo "Error checking out classpath" - exit 1 - fi -} - -classpath_clean () -{ - if [ -d "${CLASSPATH_CVS}/build" ]; then - rm -rf "${CLASSPATH_CVS}/build" - fi -# if [ -d "${CLASSPATH_PREFIX}" ]; then -# rm -rf "${CLASSPATH_PREFIX}" -# fi - mkdir --parents "${CLASSPATH_CVS}/build" -# mkdir --parents "${CLASSPATH_PREFIX}" -} - -classpath_configure () -{ - cd "${CLASSPATH_CVS}" - aclocal >> ${LOG} 2>&1 - if [ $? -ne 0 ]; then - echo "Error running aclocal" - exit 1 - fi - autoheader >> ${LOG} 2>&1 - if [ $? -ne 0 ]; then - echo "Error running autoheader" - exit 1 - fi - automake >> ${LOG} 2>&1 - if [ $? -ne 0 ]; then - echo "Error running automake" - exit 1 - fi - autoconf >> ${LOG} 2>&1 - if [ $? -ne 0 ]; then - echo "Error running autoconf" - exit 1 - fi - cd "${CLASSPATH_CVS}/build" && ../configure --with-gcj >> ${LOG} 2>&1 - if [ $? -ne 0 ]; then - echo "Error configuring" - exit 1 - fi -} - -classpath_build () -{ - cd "${CLASSPATH_CVS}/build" && make >> ${LOG} 2>&1 - if [ $? -ne 0 ]; then - echo "Error during make" - exit 1 - fi -} - - -japize_classpath () -{ - cd "${JAPIZE_DIR}/bin" && ./japize as classpath packages "${CLASSPATH_CVS}/build/lib/glibj.zip" +java +javax +org -java.awt.dnd.peer -java.awt.peer -org.apache -org.w3c.dom.css -org.w3c.dom.events -org.w3c.dom.html -org.w3c.dom.stylesheets -org.w3c.dom.traversal -org.w3c.dom.views -java.text.resources >> /tmp/japi.log 2>&1 - if [ $? -ne 0 ]; then - echo "Error running japize" - exit 1 - fi - cp -f "${JAPIZE_DIR}/bin/classpath.japi.gz" /tmp -} - -japicompat_classpath () -{ - today=`date` - echo "${today}" > /tmp/classpath-jdk11-compare.txt - cd "${JAPIZE_DIR}/bin" && ./japicompat -q jdk11.japi.gz classpath.japi.gz >> /tmp/classpath-jdk11-compare.txt - if [ $? -ne 0 ]; then - echo "Error running japicompat" - exit 1 - fi - echo "${today}" > /tmp/classpath-jdk13-compare.txt - cd "${JAPIZE_DIR}/bin" && ./japicompat -q jdk13.japi.gz classpath.japi.gz >> /tmp/classpath-jdk13-compare.txt - if [ $? -ne 0 ]; then - echo "Error running japicompat" - exit 1 - fi -} - -#-------------------------------------------------------------------- -# Update Classpath CVS -#-------------------------------------------------------------------- -classpath_checkout -classpath_update - -#-------------------------------------------------------------------- -# Build Classpath with GCJ 3.2 -#-------------------------------------------------------------------- -classpath_clean -classpath_configure -classpath_build - -#-------------------------------------------------------------------- -# Run japize on glibj.zip -#-------------------------------------------------------------------- -japize_classpath - -#-------------------------------------------------------------------- -# Run japicompat against jdk13 -#-------------------------------------------------------------------- -japicompat_classpath - diff --git a/libjava/classpath/scripts/kissme-mauve b/libjava/classpath/scripts/kissme-mauve deleted file mode 100755 index 8a6ee22..0000000 --- a/libjava/classpath/scripts/kissme-mauve +++ /dev/null @@ -1,346 +0,0 @@ -#!/bin/sh - -CLASSPATH_CVS=~/mauve/classpath -CLASSPATH_PREFIX=~/mauve/root/classpath -MAUVE_CVS=~/mauve/mauve -KISSME_CVS=~/mauve/kissme -KISSME_PREFIX=~/mauve/root/kissme -KISSME_BIN=~/mauve/kissme/useful_scripts/kissme -LOG=/tmp/mauve.log -RESULTS=/tmp/kissme-mauve.txt -REPORT=/tmp/kissme-mauve-report.txt -TIMEOUT=30 - -rm -f ${LOG} > /dev/null 2>&1 -rm -f ${RESULTS} > /dev/null 2>&1 -today=`date` -echo "${today}" > ${LOG} -touch ${RESULTS} - - -_aclocal () -{ - aclocal "$@" >> ${LOG} 2>&1 - if [ $? -ne 0 ]; then - echo "Error running aclocal" - exit 1 - fi -} - -_autoheader () -{ - autoheader "$@" >> ${LOG} 2>&1 - if [ $? -ne 0 ]; then - echo "Error running autoheader" - exit 1 - fi -} - -_automake () -{ - automake "$@" >> ${LOG} 2>&1 - if [ $? -ne 0 ]; then - echo "Error running automake" - exit 1 - fi -} - -_autoconf () -{ - autoconf "$@" >> ${LOG} 2>&1 - if [ $? -ne 0 ]; then - echo "Error running autoconf" - exit 1 - fi -} - -classpath_checkout () -{ - if [ ! -d "${CLASSPATH_CVS}" ]; then - mkdir --parents ${CLASSPATH_CVS} - local dir=`dirname "${CLASSPATH_CVS}"` - cd "${dir}" - cvs -z3 -d :pserver:anoncvs@subversions.gnu.org:/cvsroot/classpath co classpath >> ${LOG} 2>/dev/null - if [ $? -ne 0 ]; then - echo "Error checking out classpath" - exit 1 - fi - fi -} - -classpath_update () -{ - cd "${CLASSPATH_CVS}" && cvs update -d -P . >> ${LOG} 2>/dev/null - if [ $? -ne 0 ]; then - echo "Error checking out classpath" - exit 1 - fi -} - -classpath_clean () -{ - if [ -d "${CLASSPATH_CVS}/build" ]; then - rm -rf "${CLASSPATH_CVS}/build" - fi - if [ -d "${CLASSPATH_PREFIX}" ]; then - rm -rf "${CLASSPATH_PREFIX}" - fi - mkdir --parents "${CLASSPATH_CVS}/build" - mkdir --parents "${CLASSPATH_PREFIX}" -} - -classpath_configure () -{ - cd "${CLASSPATH_CVS}" - - _aclocal - _autoheader - _automake - _autoconf - - cd "${CLASSPATH_CVS}/build" && ../configure --prefix=${CLASSPATH_PREFIX} --with-gcj --enable-jni >> ${LOG} 2>&1 - if [ $? -ne 0 ]; then - echo "Error configuring" - exit 1 - fi -} - -classpath_build () -{ - cd "${CLASSPATH_CVS}/build" && make >> ${LOG} 2>&1 - if [ $? -ne 0 ]; then - echo "Error during make" - exit 1 - fi -} - -classpath_install () -{ - cd "${CLASSPATH_CVS}/build" && make install >> ${LOG} 2>&1 - if [ $? -ne 0 ]; then - echo "Error during make" - exit 1 - fi -} - -kissme_checkout () -{ - if [ ! -d "${KISSME_CVS}" ]; then - mkdir --parents ${KISSME_CVS} - local dir=`dirname "${KISSME_CVS}"` - cd "${KISSME_CVS}" - cvs -z3 -d :pserver:anonymous@cvs.kissme.sourceforge.net:/cvsroot/kissme co . >> ${LOG} 2>/dev/null - if [ $? -ne 0 ]; then - echo "Error checking out kissme" - exit 1 - fi - fi -} - -kissme_update () -{ - cd "${KISSME_CVS}" && cvs update -d -P . >> ${LOG} 2>/dev/null - if [ $? -ne 0 ]; then - echo "Error checking out kissme" - exit 1 - fi -} - -kissme_clean () -{ - if [ -d "${KISSME_CVS}/build" ]; then - rm -rf "${KISSME_CVS}/build" - fi - if [ -d "${KISSME_PREFIX}" ]; then - rm -rf "${KISSME_PREFIX}" - fi - mkdir --parents "${KISSME_CVS}/build" - mkdir --parents "${KISSME_PREFIX}" -} - -kissme_configure () -{ - cd "${KISSME_CVS}" - - _aclocal - _autoheader - _automake -a - _autoconf - - cd "${KISSME_CVS}" && ./configure --prefix=${KISSME_PREFIX} \ - --enable-use-zips --with-gnu-classpath=${CLASSPATH_CVS} \ - --with-gnu-classpath-build=${CLASSPATH_CVS}/build \ - --with-classpath-install-dir=${CLASSPATH_PREFIX} >> ${LOG} 2>&1 - - if [ $? -ne 0 ]; then - echo "Error configuring" - exit 1 - fi -} - -kissme_build () -{ - cd "${KISSME_CVS}" && make >> ${LOG} 2>&1 - if [ $? -ne 0 ]; then - echo "Error during make" - exit 1 - fi -} - -kissme_install () -{ - cd "${KISSME_CVS}" && make install >> ${LOG} 2>&1 - if [ $? -ne 0 ]; then - echo "Error during make" - exit 1 - fi -} - -mauve_checkout () -{ - if [ ! -d "${MAUVE_CVS}" ]; then - mkdir --parents ${MAUVE_CVS} - local dir=`dirname "${MAUVE_CVS}"` - cd "${dir}" - cvs -z3 -d :pserver:anoncvs@sources.redhat.com:/cvs/mauve co mauve >> ${LOG} 2>/dev/null - if [ $? -ne 0 ]; then - echo "Error checking out mauve" - exit 1 - fi - fi -} - -mauve_update () -{ - cd "${MAUVE_CVS}" && cvs update -d -P . >> ${LOG} 2>/dev/null - if [ $? -ne 0 ]; then - echo "Error checking out mauve" - exit 1 - fi -} - -kissme_mauve () -{ - export JAVAC="jikes -bootclasspath ${CLASSPATH_PREFIX}/share/classpath/glibj.zip" - export JAVA="${KISSME_BIN}" - -# if [ -f "${KISSME_CVS}/useful_scripts/mauve-kissme" ]; then -# cp -f "${KISSME_CVS}/useful_scripts/mauve-kissme" "${MAUVE_CVS}" -# fi - - if [ -f "${CLASSPATH_CVS}/mauve-classpath" ]; then - cp -f "${CLASSPATH_CVS}/mauve-classpath" "${MAUVE_CVS}" - fi - - cd "${MAUVE_CVS}" - if [ $? -ne 0 ]; then - echo "Error configuring mauve" - exit 1 - fi - - _aclocal - _automake - _autoconf - - ./configure >> "${LOG}" 2>&1 - if [ $? -ne 0 ]; then - echo "Error configuring mauve" - exit 1 - fi - - # create class choices from key file - if [ -f classes ]; then - rm -f classes 2>/dev/null - fi - if [ -f choices ]; then - rm -f choices 2>/dev/null - fi - /bin/sh choose "${MAUVE_CVS}" classpath - if [ $? -ne 0 ]; then - echo "Error during choose for mauve" - exit 1 - fi - - # compile classes - compile=`cat "${MAUVE_CVS}/classes" | tr '.' '/' | awk '{print $1".java"}' | xargs` - ${JAVAC} -classpath "${MAUVE_CVS}" -d "${MAUVE_CVS}" ${compile} >> "${LOG}" 2>&1 - if [ $? -ne 0 ]; then - echo "Error during compile for mauve" - exit 1 - fi - - set -m - for i in `cat "${MAUVE_CVS}/classes"`; do - echo "$i" | ${JAVA} gnu.testlet.SimpleTestHarness -verbose >> "${RESULTS}" 2>&1 & - - vm_pid=$! - sleep ${TIMEOUT} && kill -9 $vm_pid > /dev/null 2>&1 && echo "FAIL: $i execution aborted" >> "${RESULTS}" & - kill_pid=$! - fg %- 2>/dev/null - kill -9 $kill_pid >/dev/null 2>&1 # && echo Test did not time out - done -} - -mauve_summary () -{ - if [ ! -f "${RESULTS}" ]; then - echo "Error creating summary" - exit 1 - fi - - pass_cnt=`grep PASS "${RESULTS}" | wc -l` - fail_cnt=`grep FAIL "${RESULTS}" | wc -l` - total_cnt=`expr $pass_cnt + $fail_cnt` - - today=`date` - echo "Mauve test results for Kissme" > "${REPORT}" - echo "Report generated on ${today}" >> "${REPORT}" - echo "" >> "${REPORT}" - echo "${fail_cnt} of ${total_cnt} tests failed." >> "${REPORT}" - echo "" >> "${REPORT}" - cat "${RESULTS}" >> "${REPORT}" -} - -#-------------------------------------------------------------------- -# Update Classpath CVS -#-------------------------------------------------------------------- -classpath_checkout -classpath_update - -#-------------------------------------------------------------------- -# Build Classpath with GCJ 3.2 -#-------------------------------------------------------------------- -classpath_clean -classpath_configure -classpath_build -classpath_install - -#-------------------------------------------------------------------- -# Update Kissme CVS -#-------------------------------------------------------------------- -kissme_checkout -kissme_update - -#-------------------------------------------------------------------- -# Build Kissme -#-------------------------------------------------------------------- -kissme_clean -kissme_configure -kissme_build -#kissme_install - -#-------------------------------------------------------------------- -# Update Mauve CVS -#-------------------------------------------------------------------- -mauve_checkout -mauve_update - -#-------------------------------------------------------------------- -# Execute Mauve -#-------------------------------------------------------------------- -kissme_mauve - -#-------------------------------------------------------------------- -# Create report -#-------------------------------------------------------------------- -mauve_summary diff --git a/libjava/classpath/scripts/loc b/libjava/classpath/scripts/loc deleted file mode 100755 index dc2f327..0000000 --- a/libjava/classpath/scripts/loc +++ /dev/null @@ -1,44 +0,0 @@ -#!/bin/sh -# -# loc Find a class or package -# -# Usage: loc [-l] class-pattern [dirname] - -# -l Use system locate command instead of find. In that case, loc -# will ignore any directory to be searched. - -# Example: -# -# $ loc -l org.objectweb.jonas.common.JProp -# /var/lib/jonas/demoserver/ejbjars/autoload/mejb.jar -# /var/lib/jonas/lib/common/ow_jonas_bootstrap.jar -# /var/lib/jonas/eclipseserver/ejbjars/autoload/mejb.jar -# /var/lib/jonas/ejbjars/autoload/mejb.jar -# /var/cache/jonas/work/ejbjars/jonas/mejb_2005.09.15-17.01.52.jar -# /usr/src/redhat/BUILD/jonas-4.3.3/jonas/classes/common/org/objectweb/jonas/common/JProp.class - - -MODE=$1 -if test "$MODE" == "-l"; then - COMMAND='(locate \*.jar ; locate \*.war)' - shift -else - COMMAND='(find "$FOO" -name \*.jar -follow ; find "$FOO" -name \*.war -follow)' -fi - -FOO=$2 -if test "x$FOO" == "x"; then - FOO=/usr/share/java -fi - -eval "$COMMAND" 2>/dev/null | while read i; do - if (fastjar tf $i 2>/dev/null | grep $1) > /dev/null 2>&1 ; then - echo $i - fi -done - -if test "$MODE" != "-l"; then - find "$FOO" -name '*.class' 2>/dev/null | grep $1 -else - locate \*.class | grep $1 -fi diff --git a/libjava/classpath/scripts/math_symbols b/libjava/classpath/scripts/math_symbols deleted file mode 100644 index e676a51..0000000 --- a/libjava/classpath/scripts/math_symbols +++ /dev/null @@ -1,69 +0,0 @@ -acos -asin -atan -atan2 -cos -sin -tan -cosh -sinh -tanh -exp -frexp -ldexp -expm1 -log -log10 -log1p -modf -pow -sqrt -ceil -fabs -floor -fmod -erf -erfc -gamma -hypot -finite -j0 -j1 -jn -lgamma -y0 -y1 -yn -acosh -asinh -cbrt -logb -nextafter -remainder -logb -scalb -significand -logbf -scalbf -significandf -copysign -ilogb -rint -rintf -scalbn -__ieee754_sqrt -__ieee754_asin -__ieee754_asin -__ieee754_atan2 -__ieee754_exp -__ieee754_fmod -__ieee754_log -__ieee754_pow -__ieee754_rem_pio2 -__ieee754_remainder -__ieee754_scalb -__ieee754_acos -__kernel_cos -__kernel_sin -__kernel_tan -__kernel_rem_pio2 diff --git a/libjava/classpath/scripts/patches.pl b/libjava/classpath/scripts/patches.pl deleted file mode 100755 index 57f134d..0000000 --- a/libjava/classpath/scripts/patches.pl +++ /dev/null @@ -1,164 +0,0 @@ -#!/usr/bin/perl -w -# Purpose is to move patches from upload directory to -# public patches directory. Any file not matching the correct -# pattern is deleted. Any patch file without a README and the -# file was last modified more than 120 minutes ago is deleted. -# Any README file without a patch file which was last modified -# more than 120 minutes ago is deleted. -# -# notes to self: as long as this runs as root do not worry -# about quota problems or disk space - -use strict; - -my ($upload_dir) = "/home/ftp/classpath/incoming"; -my ($public_dir) = "/home/ftp/classpath/pub/patches"; -my ($user) = "classpath"; -my ($group) = "classpath"; -my ($mode_dir) = "775"; -my ($mode_file) = "664"; -my (@patches) = (); - -use vars qw($upload_dir $public_dir @patches $user $group - $mode_dir $mode_file); - -# main -{ - @patches = &getPatches(); - &movePatches(@patches); -} - -#--------------------------------------------------------------- -# Purpose: To remove files not matching the correct pattern. -# To remove README files without patches (last modified greater -# than 2 hours). To remove patches without README files (last -# modified greater than 2 hours). -#--------------------------------------------------------------- -sub getPatches -{ - my (@patches) = (); - my (@entries) = (); - my (%maybe) = (); - my ($entry, $debug, $prefix, $junk, $file, $patch, $readme) = ""; - my ($dev, $ino, $mode, $nlink, $uid, $gid, $rdev, $size, $atime, - $mtime, $ctime, $blksize, $blocks) = ""; - - $debug = 1; - - opendir(INCOMING, "$upload_dir") || die "could not open $upload_dir\n"; - @entries = grep( !/^\.\S+/, readdir(INCOMING)); # no .* - closedir(INCOMING); - foreach $entry (sort @entries) - { - if (($entry eq ".") || ($entry eq "..")) { next; } - if (-d "$upload_dir/$entry") - { - print "Directory: $upload_dir/$entry/\n"; - } - elsif (-e "$upload_dir/$entry") - { - if ($entry eq ".message") { next; } - if ($entry eq "README") { next; } - if ($entry !~ /^\w+-\d\d\d\d\d\d-\d+\.patch\.(gz|README)$/) - { - print "REGEX FAILED: $entry\n"; - unlink("$upload_dir/$entry"); - } - else - { - ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime, - $ctime,$blksize,$blocks) = stat("$upload_dir/$entry"); - if ($size > 512000) - { - print "LARGE PATCH: $entry\n"; - unlink("$upload_dir/$entry"); - } - else - { - ($prefix,$junk) = split(/(\.gz|\.README)/, $entry, 2); - $maybe{$prefix} += 1; - } - } - } - } - - foreach $entry (keys(%maybe)) - { - if ($maybe{$entry} == 2) - { - $patch = "$entry.gz"; - $readme = "$entry.README"; - - ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime, - $ctime,$blksize,$blocks) = stat($patch); - if (time-$mtime > 900) - { - ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime, - $ctime,$blksize,$blocks) = stat($readme); - if (time-$mtime > 900) - { - $patches[$#patches+1] = $entry; - } - } - } - else - { - if (-e "$upload_dir/$entry.gz") - { - unlink("$upload_dir/$entry.gz"); - print "STALE PATCH: $entry.gz\n"; - } - elsif (-e "$upload_dir/$entry.README") - { - unlink("$upload_dir/$entry.README"); - print "STALE README: $entry.README\n"; - } - } - } - return (@patches); -} - -#--------------------------------------------------------------- -# Purpose: To move the patches to the proper directory and set -# the permissions correctly. -#--------------------------------------------------------------- -sub movePatches -{ - my (@patches) = @_; - my ($patch) = ""; - my ($fail) = 0; - - if (!(-d "$public_dir")) - { - system("mkdir -p $public_dir"); - system("chown $user.$group $public_dir"); - system("chmod $mode_dir $public_dir"); - } - foreach $patch (@patches) - { - if (-e "$public_dir/$patch.gz") - { - print "Patch exists: $public_dir/$patch.gz\n"; - $fail = 1; - } - if (-e "$public_dir/$patch.README") - { - print "README exists: $public_dir/$patch.README\n"; - $fail = 1; - } - if ($fail == 0) - { - system("mv $upload_dir/$patch.gz $public_dir/$patch.gz"); - system("mv $upload_dir/$patch.README $public_dir/$patch.README"); - system("chown $user.$group $public_dir/*"); - system("chmod $mode_file $public_dir/*"); - open(MAIL, "|mail -s \"Classpath: $patch uploaded\" core\@classpath.org") || die "could not open mail\n"; - print MAIL "GNU Classpath FTP Maintenance\n"; - print MAIL "\n"; - print MAIL "Added Files:\n"; - print MAIL "ftp://ftp.classpath.org/pub/patches/$patch.gz\n"; - print MAIL "ftp://ftp.classpath.org/pub/patches/$patch.README\n\n"; - close(MAIL); - } - } -} diff --git a/libjava/classpath/scripts/sanitize-jsr166 b/libjava/classpath/scripts/sanitize-jsr166 deleted file mode 100755 index d4ca858..0000000 --- a/libjava/classpath/scripts/sanitize-jsr166 +++ /dev/null @@ -1,6 +0,0 @@ -#! /bin/sh - -# Sanitize a jsr166 download. - -# Remove code copyright Sun. -find . -name '*.java' -print | xargs grep -l 'Copyright.*Sun' | xargs rm diff --git a/libjava/classpath/scripts/timezones.pl b/libjava/classpath/scripts/timezones.pl deleted file mode 100755 index a069ded..0000000 --- a/libjava/classpath/scripts/timezones.pl +++ /dev/null @@ -1,399 +0,0 @@ -#!/usr/bin/perl -w -# Create the timezone tables for java/util/TimeZone from the -# standard timezone sources by Arthur David Olson (as used by glibc) -# -# This needs the files from the package tzdata2000h which may be found -# at ftp://ftp.cs.mu.oz.au/pub/. - -$TIMEZONEDIR = "tzdata"; -@TIMEZONEFILES = ("africa", "antarctica", "asia", "australasia", - "europe", "northamerica", "pacificnew", "southamerica", - "../tzabbrevs"); - -# rules hash table: -# key is a rule name -# value is either "-" (no daylight savings) or a list of three elements: -# $value[0] = end savings rule (list containing MONTH, DAY and TIME) -# $value[1] = start savings rule (ditto) -# $value[2] = daylight offset in milliseconds -my %rules = ("-" => "-"); - -# timezones list, list of pairs: -# $timezones[$i][0] is a timezone name -# $timezones[$i][1] = raw offset in milliseconds -# $timezones[$i][2] = rule in the same format as the value of -# the rules table, but TIME in milliseconds -# $timezones[$i][3] = list of timezone names with this rule (aliases) -my @timezones = ( [ "GMT", 0, "-", [ "GMT", "UTC" ] ]); - - -# parse the offset of form +/-hh:mm:ss (:ss is optional) and return it -# in milliseconds against UTC -sub parseOffset($) { - my $offset = $_[0]; - $offset =~ /^([+-]?)(\d+)(:(\d+)(:(\d+))?)?$/ - or die "Can't parse offset $offset"; - my $seconds = $2 * 3600; - $seconds += $4 * 60 if ($3); - $seconds += $6 if ($3 && $5); - if ($1 eq "-") { - $seconds = - $seconds; - } - return $seconds * 1000; -} - -# parse the time of form +/-hh:mm:ss[swguz] (:ss is optional) and return it -# in milliseconds since midnight in local wall time - my $timezonename; -sub parseTime($$$) { - my ($rawoffset, $stdoffset, $time) = @_; - $time =~ /^([+-]?)(\d+):(\d+)(:(\d+))?([swguz]?)$/ - or die "Can't parse time $time"; - my ($hour, $min) = ($2, $3); - my $sec = ($4) ? $5 : 0; - my $millis = ((($hour * 60) + $min) * 60 + $sec) * 1000; - if ($1 eq "-") { - $millis = -$millis; - } - # Normally millis is in wall time, adjust for utc and standard time. - if ($6 =~ /[guz]/) { - $millis += $rawoffset + $stdoffset; - } elsif ($6 =~ /s/) { - $millis += $stdoffset; - } - return $millis; -} - -my %monthnames = - ( "Jan" => "1", - "Feb" => "2", - "Mar" => "3", - "Apr" => "4", - "May" => "5", - "Jun" => "6", - "Jul" => "7", - "Aug" => "8", - "Sep" => "9", - "Oct" => "10", - "Nov" => "11", - "Dec" => "12" ); -sub parseMonth($) { - my $month = $monthnames{"$_[0]"} or die "Unknown month $_[0]"; - return $month; -} - -my %weekdaynames = - ( "Sun" => "7", - "Mon" => "1", - "Tue" => "2", - "Wed" => "3", - "Thu" => "4", - "Fri" => "5", - "Sat" => "6" ); -sub parseWeekday($) { - my $weekday = $weekdaynames{"$_[0]"} or die "Unknown weekday $_[0]"; - return $weekday; -} - -my @weekdayjavanames = - ( "Calendar.SUNDAY", - "Calendar.MONDAY", - "Calendar.TUESDAY", - "Calendar.WEDNESDAY", - "Calendar.THURSDAY", - "Calendar.FRIDAY", - "Calendar.SATURDAY" ); -my @daysInMonths = (31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ); -sub parseDay($$$) { - my ($dayoffset, $month, $day) = @_; - if ($day =~ /^\d+$/) { - return "$day, 0"; - } elsif ($day =~ /^last([A-Z][a-z][a-z])$/) { - my $weekday = ( parseWeekday($1) + $dayoffset + 7 ) % 7; - if ($dayoffset) { - my $day = $daysInMonths[$month - 1] + $dayoffset; - warn "Can only approximate $day with dayoffset in $file" - if ($month == 2); - return "$day, -$weekdayjavanames[$weekday]"; - } else { - return "-1, $weekdayjavanames[$weekday]"; - } - } elsif ($day =~ /^([A-Z][a-z][a-z])>=(\d+)$/) { - my $start = $2 + $dayoffset; - my $weekday = ( parseWeekday($1) + $dayoffset + 7 ) % 7; - if (($start % 7) == 1) { - $start = ($start + 6) / 7; - return "$start, $weekdayjavanames[$weekday]"; - } else { - return "$start, -$weekdayjavanames[$weekday]"; - } - } else { - die "Unknown day $day"; - } -} - -my @monthjavanames = - ( "Calendar.JANUARY", - "Calendar.FEBRUARY", - "Calendar.MARCH", - "Calendar.APRIL", - "Calendar.MAY", - "Calendar.JUNE", - "Calendar.JULY", - "Calendar.AUGUST", - "Calendar.SEPTEMBER", - "Calendar.OCTOBER", - "Calendar.NOVEMBER", - "Calendar.DECEMBER" ); - -sub parseRule($$$) { - my ($rawoffset, $stdoffset, $rule) = @_; - my $monthnr = parseMonth($rule->[0]); - my $time = parseTime($rawoffset, $stdoffset, $rule->[2]); - my $dayoffset = 0; - while ($time < 0) { - $time += 24*3600*1000; - $dayoffset--; - } - while ($time > 24*3600*1000) { - $time -= 24*3600*1000; - $dayoffset++; - } - $day = parseDay($dayoffset, $monthnr, $rule->[1]); - return [ $monthjavanames[$monthnr-1], $day, $time ]; -} - - -sub ruleEquals($$) { - my ($rule1, $rule2) = @_; - # check month names - return (($rule1->[0] eq $rule2->[0]) - && ($rule1->[1] eq $rule2->[1]) - && ($rule1->[2] == $rule2->[2])); -} - -sub findAlias($$) { - my ($rawoffset, $rule) = @_; - foreach $tz (@timezones) { - my ($key, $tzoffset, $tzrule, $aliaslist) = @{$tz}; - next if ($tzoffset != $rawoffset); - if ($rule eq "-") { - return $tz if ($tzrule eq "-"); - } elsif ($tzrule ne "-") { - next if $rule->[2] != $tzrule->[2]; - if (ruleEquals($rule->[0], $tzrule->[0]) - && ruleEquals($rule->[1], $tzrule->[1])) { - return $tz; - } - } - } - return ""; -} - -sub makePretty($) { - my ($offset) = @_; - if (($offset % 3600) == 0) { - $offset /= 3600; - return "$offset * 3600"; - } else { - return "$offset"; - } -} - -sub tzcompare($$) { - my ($a, $b) = @_; - if (($a =~ /\//) != ($b =~ /\//)) { - return ($a =~ /\//) ? 1 : -1; - } else { - return $a cmp $b; - } -} - -foreach $file (@TIMEZONEFILES) { -# print STDERR "$file\n"; - open INPUT, "$TIMEZONEDIR/$file" or die "Can't open $TIMEZONEDIR/$file"; - my $in_time_zone = 0; - # As Zone can reference even Rule which is defined after the - # current line, parse the file in 2 passes. - - # First pass, parse just Rule lines: - while () { - $_ = $1 if /^([^\#]*)\#/; - next if /^\s*$/; - my @entries = split; -# $, = ","; print "'$_' -> [",@entries,"]\n"; - if (!$in_time_zone) { - if ($entries[0] eq "Rule") { - # check if rule still applies - # column 3 is TO entry. - if ($entries[3] eq "max") { - my $rulename = $entries[1]; - my $month = $entries[5]; - my $day = $entries[6]; - my $time = $entries[7]; - if ($entries[8] eq "0") { - # This is the end time rule - $rules{"$rulename"}[0] = [ $month, $day, $time ]; - } else { - # This is the start time rule - $rules{"$rulename"}[1] = [ $month, $day, $time ]; - $rules{"$rulename"}[2] = parseOffset($entries[8]); - } - } - } elsif ($entries[0] eq "Zone") { - $in_time_zone = 1; - shift @entries; - shift @entries; - } elsif (!(($entries[0] eq "Remove") || ($entries[0] eq "Link"))) { - die "Unknown command: $_"; - } - } - if ($in_time_zone) { - die "early end of Zone: $_" if ($entries[0] =~ /^[A-Za-z]+/); - if (@entries <= 3) { - $in_time_zone = 0; - } - } - } - close INPUT; - open INPUT, "$TIMEZONEDIR/$file" or die "Can't open $TIMEZONEDIR/$file"; - $in_time_zone = 0; - - # Second pass, parse all but Rule lines. - while () { - $_ = $1 if /^([^\#]*)\#/; - next if /^\s*$/; - my @entries = split; -# $, = ","; print "'$_' -> [",@entries,"]\n"; - if (!$in_time_zone) { - if ($entries[0] eq "Rule") { - # Do nothing, this was already handled in the - # first pass. - } elsif ($entries[0] eq "Zone") { - $in_time_zone = 1; - shift @entries; - $timezonename = shift @entries; - } elsif ($entries[0] eq "Remove") { - my $found = 0; - foreach $tz (@timezones) { - my @newaliases; - foreach $tzname (@{$tz->[3]}) { - if ($tzname eq $entries[1]) { - $found = 1; - } else { - push @newaliases, $tzname; - } - } - if ($found) { - if ($tz->[0] eq $entries[1]) { - $tz->[0] = $newaliases[0]; - } - $tz->[3] = \@newaliases; - last; - } - } - - die "Unknown link $_" if ! $found; - } elsif ($entries[0] eq "Link") { - my $alias = 0; - foreach $tz (@timezones) { - foreach $tzname (@{$tz->[3]}) { - if ($tzname eq $entries[1]) { - $alias = $tz; - last; - } - } - } - - die "Unknown link $_" if ! $alias; - die "@entries" if $entries[1] =~ /^\d+$/; - push @{$alias->[3]}, $entries[2]; - } else { - die "Unknown command: $_"; - } - } - if ($in_time_zone) { - die "early end of Zone: $_" if ($entries[0] =~ /^[A-Za-z]+/); - if (@entries <= 3) { -# print "found ZONE $timezonename $entries[0] $entries[1] $entries[2]\n"; - # This is the last line and the only we look at. - # other lines are for historic time zones. - my $rawoffset = parseOffset($entries[0]); - my $rule = $rules{"$entries[1]"} || "-"; - if ($rule ne "-") { - if (!defined($rule->[2])) { - $rule = "-"; - } else { - # now we can parse the time since we know raw offset. - my $savings = $rule->[2]; - my $endrule = parseRule($rawoffset, $savings, - $rule->[0]); - my $startrule = parseRule($rawoffset, 0, - $rule->[1]); - $rule = [ $endrule, $startrule, $savings ]; -# print "start",@{$rule->[1]}, "end", @{$rule->[0]}, -# "offset", $rule->[2],"\n"; - } - } - my $alias = findAlias($rawoffset, $rule); - if ($alias) { - if (($alias->[0] =~ /\//) - && ($timezonename !~ /\//)) { - # alias is of Country/City form, timezonename not - # make timezonename the real zone name - $alias->[0] = $timezonename; - } - push @{$alias->[3]}, $timezonename; - } else { - push @timezones, [ $timezonename, $rawoffset, $rule, - [ $timezonename ] ]; - } - $in_time_zone = 0; - } - } - } - close INPUT; -} - -@timezones = sort { if ($a->[1] != $b->[1]) { $a->[1] <=> $b->[1] } - else { $a->[0] cmp $b->[0] } } @timezones; -for (@timezones) { - my ($name, $rawoffset, $rule, $aliaslist) = @{$_}; - my @aliases = sort { tzcompare($a, $b); } @{$aliaslist}; - $name = $aliases[0]; - $rawoffset = makePretty($rawoffset); - if ($rule eq "-") { - print <[0]}; - my ($startmonth, $startday, $starttime) = @{$rule->[1]}; - $endtime = makePretty($endtime); - $starttime = makePretty($starttime); - my $savings = $rule->[2]; - if ($savings == 3600 * 1000) { - print < -# -# usage: unicode-blocks.pl -# where is obtained from www.unicode.org (named Blocks-3.txt -# for Unicode version 3.0.0). - - -die "Usage: $0 " unless @ARGV == 1; -open (BLOCKS, $ARGV[0]) || die "Can't open Unicode block file: $!\n"; - -# A hash of added fields and the JDK they were added in, to automatically -# print @since tags. Maintaining this is optional (and tedious), but nice. -my %additions = ("SYRIAC" => "1.4", - "THAANA" => "1.4", - "SINHALA" => "1.4", - "MYANMAR" => "1.4", - "ETHIOPIC" => "1.4", - "CHEROKEE" => "1.4", - "UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS" => "1.4", - "OGHAM" => "1.4", - "RUNIC" => "1.4", - "KHMER" => "1.4", - "MONGOLIAN" => "1.4", - "BRAILLE_PATTERNS" => "1.4", - "CJK_RADICALS_SUPPLEMENT" => "1.4", - "KANGXI_RADICALS" => "1.4", - "IDEOGRAPHIC_DESCRIPTION_CHARACTERS" => "1.4", - "BOPOMOFO_EXTENDED" => "1.4", - "CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A" => "1.4", - "YI_SYLLABLES" => "1.4", - "YI_RADICALS" => "1.4", - "CYRILLIC_SUPPLEMENTARY" => "1.5", - "TAGALOG" => "1.5", - "HANUNOO" => "1.5", - "BUHID" => "1.5", - "TAGBANWA" => "1.5", - "LIMBU" => "1.5", - "TAI_LE" => "1.5", - "KHMER_SYMBOLS" => "1.5", - "PHONETIC_EXTENSIONS" => "1.5", - "MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A" => "1.5", - "SUPPLEMENTAL_ARROWS_A" => "1.5", - "SUPPLEMENTAL_ARROWS_B" => "1.5", - "MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B" => "1.5", - "SUPPLEMENTAL_MATHEMATICAL_OPERATORS" => "1.5", - "MISCELLANEOUS_SYMBOLS_AND_ARROWS" => "1.5", - "KATAKANA_PHONETIC_EXTENSIONS" => "1.5", - "YIJING_HEXAGRAM_SYMBOLS" => "1.5", - "VARIATION_SELECTORS" => "1.5", - "LINEAR_B_SYLLABARY" => "1.5", - "LINEAR_B_IDEOGRAMS" => "1.5", - "AEGEAN_NUMBERS" => "1.5", - "OLD_ITALIC" => "1.5", - "GOTHIC" => "1.5", - "UGARITIC" => "1.5", - "DESERET" => "1.5", - "SHAVIAN" => "1.5", - "OSMANYA" => "1.5", - "CYPRIOT_SYLLABARY" => "1.5", - "BYZANTINE_MUSICAL_SYMBOLS" => "1.5", - "MUSICAL_SYMBOLS" => "1.5", - "TAI_XUAN_JING_SYMBOLS" => "1.5", - "MATHEMATICAL_ALPHANUMERIC_SYMBOLS" => "1.5", - "CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B" => "1.5", - "CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT" => "1.5", - "TAGS" => "1.5", - "VARIATION_SELECTORS_SUPPLEMENT" => "1.5", - "SUPPLEMENTARY_PRIVATE_USE_AREA_A" => "1.5", - "SUPPLEMENTARY_PRIVATE_USE_AREA_B" => "1.5", - "HIGH_SURROGATES" => "1.5", - "HIGH_PRIVATE_USE_SURROGATES" => "1.5", - "LOW_SURROGATES" => "1.5" - ); - -print <<'EOF'; - /** - * A family of character subsets in the Unicode specification. A character - * is in at most one of these blocks. - * - * This inner class was generated automatically from - * $ARGV[0], by some perl scripts. - * This Unicode definition file can be found on the - * http://www.unicode.org website. - * JDK 1.5 uses Unicode version 4.0.0. - * - * @author scripts/unicode-blocks.pl (written by Eric Blake) - * @since 1.2 - */ - public static final class UnicodeBlock extends Subset - { - /** The start of the subset. */ - private final int start; - - /** The end of the subset. */ - private final int end; - - /** The canonical name of the block according to the Unicode standard. */ - private final String canonicalName; - - /** Enumeration for the forName() method */ - private enum NameType { CANONICAL, NO_SPACES, CONSTANT; }; - - /** - * Constructor for strictly defined blocks. - * - * @param start the start character of the range - * @param end the end character of the range - * @param name the block name - * @param canonicalName the name of the block as defined in the Unicode - * standard. - */ - private UnicodeBlock(int start, int end, String name, - String canonicalName) - { - super(name); - this.start = start; - this.end = end; - this.canonicalName = canonicalName; - } - - /** - * Returns the Unicode character block which a character belongs to. - * Note: This method does not support the use of - * supplementary characters. For such support, of(int) - * should be used instead. - * - * @param ch the character to look up - * @return the set it belongs to, or null if it is not in one - */ - public static UnicodeBlock of(char ch) - { - return of((int) ch); - } - - /** - * Returns the Unicode character block which a code point belongs to. - * - * @param codePoint the character to look up - * @return the set it belongs to, or null if it is not in one. - * @throws IllegalArgumentException if the specified code point is - * invalid. - * @since 1.5 - */ - public static UnicodeBlock of(int codePoint) - { - if (codePoint > MAX_CODE_POINT) - throw new IllegalArgumentException("The supplied integer value is " + - "too large to be a codepoint."); - // Simple binary search for the correct block. - int low = 0; - int hi = sets.length - 1; - while (low <= hi) - { - int mid = (low + hi) >> 1; - UnicodeBlock b = sets[mid]; - if (codePoint < b.start) - hi = mid - 1; - else if (codePoint > b.end) - low = mid + 1; - else - return b; - } - return null; - } - - /** - *

      - * Returns the UnicodeBlock with the given name, as defined - * by the Unicode standard. The version of Unicode in use is defined by - * the Character class, and the names are given in the - * Blocks-.txt file corresponding to that version. - * The name may be specified in one of three ways: - *

      - *
        - *
      1. The canonical, human-readable name used by the Unicode standard. - * This is the name with all spaces and hyphens retained. For example, - * `Basic Latin' retrieves the block, UnicodeBlock.BASIC_LATIN.
      2. - *
      3. The canonical name with all spaces removed e.g. `BasicLatin'.
      4. - *
      5. The name used for the constants specified by this class, which - * is the canonical name with all spaces and hyphens replaced with - * underscores e.g. `BASIC_LATIN'
      6. - *
      - *

      - * The names are compared case-insensitively using the case comparison - * associated with the U.S. English locale. The method recognises the - * previous names used for blocks as well as the current ones. At - * present, this simply means that the deprecated `SURROGATES_AREA' - * will be recognised by this method (the of() methods - * only return one of the three new surrogate blocks). - *

      - * - * @param blockName the name of the block to look up. - * @return the specified block. - * @throws NullPointerException if the blockName is - * null. - * @throws IllegalArgumentException if the name does not match any Unicode - * block. - * @since 1.5 - */ - public static final UnicodeBlock forName(String blockName) - { - NameType type; - if (blockName.indexOf(' ') != -1) - type = NameType.CANONICAL; - else if (blockName.indexOf('_') != -1) - type = NameType.CONSTANT; - else - type = NameType.NO_SPACES; - Collator usCollator = Collator.getInstance(Locale.US); - usCollator.setStrength(Collator.PRIMARY); - /* Special case for deprecated blocks not in sets */ - switch (type) - { - case CANONICAL: - if (usCollator.compare(blockName, "Surrogates Area") == 0) - return SURROGATES_AREA; - break; - case NO_SPACES: - if (usCollator.compare(blockName, "SurrogatesArea") == 0) - return SURROGATES_AREA; - break; - case CONSTANT: - if (usCollator.compare(blockName, "SURROGATES_AREA") == 0) - return SURROGATES_AREA; - break; - } - /* Other cases */ - switch (type) - { - case CANONICAL: - for (UnicodeBlock block : sets) - if (usCollator.compare(blockName, block.canonicalName) == 0) - return block; - break; - case NO_SPACES: - for (UnicodeBlock block : sets) - { - String nsName = block.canonicalName.replaceAll(" ",""); - if (usCollator.compare(blockName, nsName) == 0) - return block; - } - break; - case CONSTANT: - for (UnicodeBlock block : sets) - if (usCollator.compare(blockName, block.toString()) == 0) - return block; - break; - } - throw new IllegalArgumentException("No Unicode block found for " + - blockName + "."); - } -EOF - -my @names = (); -while () { - next if /^\#/; - my ($range, $block) = split(/; /); - my ($start, $end) = split /\.\./, $range; - next unless defined $block; - chomp $block; - $block =~ s/ *$//; - - # Translate new Unicode names which have the old name in Java - $block = "Greek" if $block =~ /Greek and Coptic/; - $block = "Combining Marks for Symbols" - if $block =~ /Combining Diacritical Marks for Symbols/; - - (my $name = $block) =~ tr/a-z -/A-Z__/; - push @names, $name; - my $since = (defined $additions{$name} - ? "\n * \@since $additions{$name}" : ""); - print <HIGH_SURROGATES, - * HIGH_PRIVATE_USE_SURROGATES - * and LOW_SURROGATES, as defined - * by the Unicode standard, should be used in preference to - * this. These are also returned from calls to of(int) - * and of(char). - */ - \@Deprecated - public static final UnicodeBlock SURROGATES_AREA - = new UnicodeBlock(0xD800, 0xDFFF, - "SURROGATES_AREA", - "Surrogates Area"); - - /** - * The defined subsets. - */ - private static final UnicodeBlock sets[] = { -EOF - -foreach (@names) { - print " $_,\n"; -} - -print < -# updated to Unicode 4.0.0 by Anthony Balkissoon -# -# Usage: ./unicode-muncher -# where and are .txt files obtained from -# www.unicode.org (named UnicodeData-4.0.0.txt and SpecialCasing-4.0.0.txt for -# Unicode version 4.0.0), and is the final location for the -# Java interface gnu.java.lang.CharData. -# As of JDK 1.5, use Unicode version 4.0.0 for best results. - -## -## Convert a 16-bit integer to a Java source code String literal character -## -sub javaChar($) { - my ($char) = @_; - die "Out of range: $char\n" if $char < -0x8000 or $char > 0x10ffff; - $char += 0x10000 if $char < 0; - # Special case characters that must be escaped, or are shorter as ASCII - return sprintf("\\%03o", $char) if $char < 0x20; - return "\\\"" if $char == 0x22; - return "\\\\" if $char == 0x5c; - return pack("C", $char) if $char < 0x7f; - return sprintf("\\u%04x", $char); -} - -## -## Convert the text UnicodeData file from www.unicode.org into a Java -## interface with string constants holding the compressed information. -## -my @TYPECODES = qw(Cn Lu Ll Lt Lm Lo Mn Me Mc Nd Nl No Zs Zl Zp Cc Cf - SKIPPED Co Cs Pd Ps Pe Pc Po Sm Sc Sk So Pi Pf); -my @DIRCODES = qw(L R AL EN ES ET AN CS NSM BN B S WS ON LRE LRO RLE RLO PDF); - -my $NOBREAK_FLAG = 32; -my $MIRRORED_FLAG = 64; - -my %special = (); - -# infoArray is an array where each element is a list of character information -# for characters in a plane. The index of each list is equal to the plane -# that it corresponds to even though most of these lists will currently be -# empty. This is done so that that this script can be easily modified to -# accomodate future versions of Unicode. -my @infoArray = \((), (), (), (), (), (), (), (), - (), (), (), (), (), (), (), (), ()); - -# info is a reference to one of the lists in infoArray, depending on which -# plane we're currently parsing. -my $info; - -# titlecase is a string of ordered pairs of characters to store the titlecase -# conversions of characters that have them -my $titlecase = ""; - -# count is simply used to print "." to the screen every so often -my $count = 0; - -# range is used when the UnicodeData file blocks out ranges of code points -my $range = 0; - -# largeNums is an array of numerical values that are too large to fit -# into the 16 bit char where most numerical values are stored. -# What is stored in the char then is a number N such that (-N - 3) is -# the index into largeNums where the numerical value can be found. -my @largeNums = (); - -die "Usage: $0 " - unless @ARGV == 3; -$| = 1; -print "GNU Classpath Unicode Attribute Database Generator 2.1\n"; -print "Copyright (C) 1998, 2002 Free Software Foundation, Inc.\n"; - -################################################################################ -################################################################################ -## Stage 0: Parse the special casing file -print "Parsing special casing file\n"; -open (SPECIAL, "< $ARGV[1]") || die "Can't open special casing file: $!\n"; -while () { - next if /^\#/; - my ($ch, undef, undef, $upper) = split / *; */; - - # This grabs only the special casing for multi-char uppercase. Note that - # there are no multi-char lowercase, and that Sun ignores multi-char - # titlecase rules. This script omits 3 special cases in Unicode 3.0.0, - # which must be hardcoded in java.lang.String: - # \u03a3 (Sun ignores this special case) - # \u0049 - lowercases to \u0131, but only in Turkish locale - # \u0069 - uppercases to \u0130, but only in Turkish locale - next unless defined $upper and $upper =~ / /; - $special{hex $ch} = [map {hex} split ' ', $upper]; -} -close SPECIAL; - -################################################################################ -################################################################################ -## Stage 1: Parse the attribute file -print "Parsing attributes file"; -open (UNICODE, "< $ARGV[0]") || die "Can't open Unicode attribute file: $!\n"; -while () { - print "." unless $count++ % 1000; - chomp; - s/\r//g; - my ($ch, $name, $category, undef, $bidir, $decomp, undef, undef, $numeric, - $mirrored, undef, undef, $upcase, $lowcase, $title) = split ';'; - $ch = hex($ch); - - # plane tells us which Unicode code plane we're currently in and is an - # index into infoArray. - my $plane = int($ch / 0x10000); - my $planeBase = $plane * 0x10000; - $info = \@{$infoArray[$plane]}; - - my ($type, $numValue, $upperchar, $lowerchar, $direction); - - # Set the value of the $type variable, checking to make sure that it's valid - # and setting the mirrored and nobreak bits if necessary. - $type = 0; - while ($category !~ /^$TYPECODES[$type]$/) { - if (++$type == @TYPECODES) { - die "$ch: Unknown type: $category"; - } - } - $type |= $NOBREAK_FLAG if ($decomp =~ /noBreak/); - $type |= $MIRRORED_FLAG if ($mirrored =~ /Y/); - - # Set the value of the $numeric variable checking the special cases of - # large numbers or 'a' - 'z' values. - if ($numeric =~ /^[0-9]+$/) { - $numValue = $numeric; - # If numeric takes more than 16 bits to store we want to store that - # number in a separate array and store a number N in numValue such - # that (-N - 3) is the offset into the separate array containing the - # large numerical value. - if ($numValue >= 0x7fff) { - $numValue = -3 - @largeNums; - push @largeNums, $numeric; - } - } elsif ($numeric eq "") { - # Special case sequences of 'a'-'z' - if ($ch >= 0x0041 && $ch <= 0x005a) { - $numValue = $ch - 0x0037; - } elsif ($ch >= 0x0061 && $ch <= 0x007a) { - $numValue = $ch - 0x0057; - } elsif ($ch >= 0xff21 && $ch <= 0xff3a) { - $numValue = $ch - 0xff17; - } elsif ($ch >= 0xff41 && $ch <= 0xff5a) { - $numValue = $ch - 0xff37; - } else { - $numValue = -1; - } - } else { - $numValue = -2; - } - - # Set the uppercase and lowercase expansions for the character. - $upperchar = $upcase ? hex($upcase) - $ch : 0; - $lowerchar = $lowcase ? hex($lowcase) - $ch : 0; - - # If this character has a special titlecase expansion then append it to - # the titlecase String. - if ($title ne $upcase) { - my $titlechar = $title ? hex($title) : $ch; - $titlecase .= pack("n2", $ch, $titlechar); - } - - # Set the direction variable, use the lower 2 bits as a count of how many - # characters will be added to the String if this character undergoes an - # uppercase expansion. - $direction = 0; - while ($bidir !~ /^$DIRCODES[$direction]$/) { - if (++$direction == @DIRCODES) { - $direction = -1; - last; - } - } - $direction <<= 2; - $direction += $#{$special{$ch}} if defined $special{$ch}; - - # If the UnicodeData file blocks off ranges of code points give them all - # the same character information. - if ($range) { - die "Expecting end of range at $ch\n" unless $name =~ /Last>$/; - for ($range + 1 .. $ch - 1) { - $info->[$_ - $planeBase] = pack("n5", $type, $numValue, $upperchar, - $lowerchar, $direction); - } - $range = 0; - } elsif ($name =~ /First>$/) { - $range = $ch; - } - - # Store all this parsed information into the element in infoArray that info - # points to. - $info->[$ch - $planeBase] = pack("n5", $type, $numValue, $upperchar, $lowerchar, - $direction); -} -close UNICODE; - -################################################################################ -################################################################################ -## Stage 2: Compress the data structures -printf "\nCompressing data structures"; -$count = 0; - -# data is a String that will be used to create the DATA String containing -# character information and offsets into the attribute tables. -my @data = (); - -# charhashArray is an array of hashtables used so that we can reuse character -# attributes when characters share the same attributes ... this makes our -# attribute tables smaller. charhash is a pointer into this array. -my @charhashArray = ({}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}); -my $charhash = (); - -# charinfoArray is an array of arrays, one per plane, for storing character -# information. charinfo is a pointer into this array. -my @charinfoArray = \((), (), (), (), (), (), (), (), - (), (), (), (), (), (), (), (), ()); -my $charinfo; - -# charlen is an array, one element per plane, that tells us how many unique -# character attributes there are for that plane. -my @charlen = (); - -for my $plane (0 .. 0x10) { - $info = \@{$infoArray[$plane]}; - my $planeBase = $plane * 0x10000; - $charhash = \%{$charhashArray[$plane]}; - $charinfo = \@{$charinfoArray[$plane]}; - - for my $ch ($planeBase .. $planeBase + 0xffff) { - my $index = $ch - $planeBase; - print "." unless $count++ % 0x1000; - $info->[$index] = pack("n5", 0, -1, 0, 0, -4) unless defined $info->[$index]; - - my ($type, $numVal, $upper, $lower, $direction) = unpack("n5", $info->[$index]); - if (! exists $charhash->{$info->[$index]}) { - # If we entered this loop that means the character we're looking at - # now has attributes that are unique from those that we've looked - # at so far for this plane. So we push its attributes into charinfo - # and store in charhash the offset into charinfo where these - # attributes can later be found. - push @{$charinfo}, [ $numVal, $upper, $lower, $direction ]; - $charhash->{$info->[$index]} = @{$charinfo} - 1; - # When the file is generaged, the number we just stored in charhas - # will be the upper 9 bits in the DATA String that are an offset - # into the attribute tables. - } - $data[$plane] .= pack("n", ($charhash->{$info->[$index]} << 7) | $type); - } - $charlen[$plane] = scalar(@{$charinfoArray[$plane]}); -} - -# the shift that results in the best compression of the table. This is an array -# because different shifts are better for the different tables for each plane. -my @bestshift; - -# an initial guess. -my $bestest = 1000000; -my @bestblkstr; -my @blksize = (); - -for my $plane (0 .. 0x10) { - print "\n\nplane: $plane\n"; - print "Unique character entries: $charlen[$plane]\n"; - $bestest = 1000000; - for my $i (3 .. 8) { - my $blksize = 1 << $i; - my %blocks = (); - my @blkarray = (); - my ($j, $k); - print "shift: $i"; - - for ($j = 0; $j < 0x10000; $j += $blksize) { - my $blkkey = substr $data[$plane], 2 * $j, 2 * $blksize; - if (! exists $blocks{$blkkey}) { - push @blkarray, $blkkey; - $blocks{$blkkey} = $#blkarray; - } - } - - my $blknum = @blkarray; - my $blocklen = $blknum * $blksize; - printf " before %5d", $blocklen; - - # Now we try to pack the blkarray as tight as possible by finding matching - # heads and tails. - for ($j = $blksize - 1; $j > 0; $j--) { - my %tails = (); - for $k (0 .. $#blkarray) { - next unless defined $blkarray[$k]; - my $len = length $blkarray[$k]; - my $tail = substr $blkarray[$k], $len - $j * 2; - if (exists $tails{$tail}) { - push @{$tails{$tail}}, $k; - } else { - $tails{$tail} = [ $k ]; - } - } - - # tails are calculated, now calculate the heads and merge. - BLOCK: - for $k (0 .. $#blkarray) { - next unless defined $blkarray[$k]; - my $tomerge = $k; - while (1) { - my $head = substr($blkarray[$tomerge], 0, $j * 2); - my $entry = $tails{$head}; - next BLOCK unless defined $entry; - - my $other = shift @{$entry}; - if ($other == $tomerge) { - if (@{$entry}) { - push @{$entry}, $other; - $other = shift @{$entry}; - } else { - push @{$entry}, $other; - next BLOCK; - } - } - if (@{$entry} == 0) { - delete $tails{$head}; - } - - # a match was found - my $merge = $blkarray[$other] - . substr($blkarray[$tomerge], $j * 2); - $blocklen -= $j; - $blknum--; - - if ($other < $tomerge) { - $blkarray[$tomerge] = undef; - $blkarray[$other] = $merge; - my $len = length $merge; - my $tail = substr $merge, $len - $j * 2; - $tails{$tail} = [ map { $_ == $tomerge ? $other : $_ } - @{$tails{$tail}} ]; - next BLOCK; - } - $blkarray[$tomerge] = $merge; - $blkarray[$other] = undef; - } - } - } - my $blockstr; - for $k (0 .. $#blkarray) { - $blockstr .= $blkarray[$k] if defined $blkarray[$k]; - } - - die "Unexpected $blocklen" if length($blockstr) != 2 * $blocklen; - my $estimate = 2 * $blocklen + (0x20000 >> $i); - - printf " after merge %5d: %6d bytes\n", $blocklen, $estimate; - if ($estimate < $bestest) { - $bestest = $estimate; - $bestshift[$plane] = $i; - $bestblkstr[$plane] = $blockstr; - } - } - $blksize[$plane] = 1 << $bestshift[$plane]; - print "best shift: ", $bestshift[$plane]; - print " blksize: ", $blksize[$plane]; -} -my @blocksArray = \((), (), (), (), (), (), (), (), - (), (), (), (), (), (), (), (), ()); - -for my $plane (0 .. 0x10) { - for (my $j = 0; $j < 0x10000; $j += $blksize[$plane]) { - my $blkkey = substr $data[$plane], 2 * $j, 2 * $blksize[$plane]; - my $index = index $bestblkstr[$plane], $blkkey; - while ($index & 1) { - die "not found: $j" if $index == -1; - $index = index $bestblkstr[$plane], $blkkey, $index + 1; - } - push @{$blocksArray[$plane]}, ($index / 2 - $j) & 0xffff; - } -} - -################################################################################ -################################################################################ -## Stage 3: Generate the file -for my $plane (0 .. 0x10) { - die "UTF-8 limit of blocks may be exceeded for plane $plane: " . scalar(@{$blocksArray[$plane]}) . "\n" - if @{$blocksArray[$plane]} > 0xffff / 3; - die "UTF-8 limit of data may be exceeded for plane $plane: " . length($bestblkstr[$plane]) . "\n" - if length($bestblkstr[$plane]) > 0xffff / 3; -} - -{ - print "\nGenerating $ARGV[2]."; - my ($i, $j); - - open OUTPUT, "> $ARGV[2]" or die "Failed creating output file: $!\n"; - print OUTPUT <$ARGV[0] and - * $ARGV[1], by some - * perl scripts. These Unicode definition files can be found on the - * http://www.unicode.org website. - * JDK 1.5 uses Unicode version 4.0.0. - * - * The data is stored as string constants, but Character will convert these - * Strings to their respective char[] components. The fields - * are stored in arrays of 17 elements each, one element per Unicode plane. - * BLOCKS stores the offset of a block of 2SHIFT - * characters within DATA. The DATA field, in turn, stores - * information about each character in the low order bits, and an offset - * into the attribute tables UPPER, LOWER, - * NUM_VALUE, and DIRECTION. Notice that the - * attribute tables are much smaller than 0xffff entries; as many characters - * in Unicode share common attributes. Numbers that are too large to fit - * into NUM_VALUE as 16 bit chars are stored in LARGENUMS and a number N is - * stored in NUM_VALUE such that (-N - 3) is the offset into LARGENUMS for - * the particular character. The DIRECTION table also contains a field for - * detecting characters with multi-character uppercase expansions. - * Next, there is a listing for TITLE exceptions (most characters - * just have the same title case as upper case). Finally, there are two - * tables for multi-character capitalization, UPPER_SPECIAL - * which lists the characters which are special cased, and - * UPPER_EXPAND, which lists their expansion. - * - * \@author scripts/unicode-muncher.pl (written by Jochen Hoenicke, - * Eric Blake) - * \@see Character - * \@see String - */ -public interface CharData -{ - /** - * The Unicode definition file that was parsed to build this database. - */ - String SOURCE = \"$ARGV[0]\"; - - /** - * The character shift amount to look up the block offset. In other words, - * (char) (BLOCKS.value[ch >> SHIFT[p]] + ch) is the index - * where ch is described in DATA if ch - * is in Unicode plane p. Note that p is simply - * the integer division of ch and 0x10000. - */ - int[] SHIFT -EOF - for ($i = 0; $i < @bestshift - 1; $i++) { - if ($i == 0){ - print OUTPUT " = new int[] {"; - } - print OUTPUT $bestshift[$i], ", "; - } - if (scalar(@bestshift) > 0){ - print OUTPUT $bestshift[-1], "}"; - } - else { - print OUTPUT " = null"; - } - print OUTPUT <DATA. - * Each entry has been adjusted so that the 16-bit sum with the desired - * character gives the actual index into DATA. - */ - String[] BLOCKS = new String[]{ -EOF - for ($plane = 0; $plane <= 0x10; $plane++) { - # The following if statement handles the cases of unassigned planes - # specially so we don't waste space with unused Strings. As of - # Unicode version 4.0.0 only planes 0, 1, 2, and 14 are used. If - # you are updating this script to work with a later version of - # Unicode you may have to alter this if statement. - if ($plane > 2 && $plane != 14) { - print OUTPUT ($plane == 0x10) ? " \"\"}" : " \"\",\n\n"; - } - else { - for ($i = 0; $i < @{$blocksArray[$plane]} / 11; $i++) { - print OUTPUT $i ? "\n + " : " "; - print OUTPUT "\""; - for $j (0 .. 10) { - last if @{$blocksArray[$plane]} <= $i * 11 + $j; - my $val = $blocksArray[$plane]->[$i * 11 + $j]; - print OUTPUT javaChar($val); - } - print OUTPUT "\""; - } - print OUTPUT ",\n\n"; - } - } - print OUTPUT < 0){ - print OUTPUT $largeNums[-1], "}"; - } - else { - print OUTPUT " = null"; - } - print OUTPUT < 2 && $plane != 14) { - print OUTPUT ($plane == 0x10) ? " \"\"}" : " \"\",\n\n"; - } - else { - my $len = length($bestblkstr[$plane]) / 2; - for ($i = 0; $i < $len / 11; $i++) { - print OUTPUT $i ? "\n + " : " "; - print OUTPUT "\""; - for $j (0 .. 10) { - last if $len <= $i * 11 + $j; - my $val = unpack "n", substr($bestblkstr[$plane], 2 * ($i * 11 + $j), 2); - print OUTPUT javaChar($val); - } - print OUTPUT "\""; - } - print OUTPUT ",\n\n"; - } - } - print OUTPUT < 2 && $plane != 14) { - print OUTPUT ($plane == 0x10) ? " \"\"}" : " \"\",\n\n"; - } - else { - $len = @{$charinfoArray[$plane]}; - for ($i = 0; $i < $len / 11; $i++) { - print OUTPUT $i ? "\n + " : " "; - print OUTPUT "\""; - for $j (0 .. 10) { - last if $len <= $i * 11 + $j; - my $val = $charinfoArray[$plane]->[$i * 11 + $j][0]; - print OUTPUT javaChar($val); - } - print OUTPUT "\""; - } - print OUTPUT ",\n\n"; - } - } - print OUTPUT < 2 && $plane != 14) { - print OUTPUT ($plane == 0x10) ? " \"\"}" : " \"\",\n\n"; - } - else { - $len = @{$charinfoArray[$plane]}; - for ($i = 0; $i < $len / 11; $i++) { - print OUTPUT $i ? "\n + " : " "; - print OUTPUT "\""; - for $j (0 .. 10) { - last if $len <= $i * 11 + $j; - my $val = $charinfoArray[$plane]->[$i * 11 + $j][1]; - print OUTPUT javaChar($val); - } - print OUTPUT "\""; - } - print OUTPUT ",\n\n"; - } - } - print OUTPUT < 2 && $plane != 14) { - print OUTPUT ($plane == 0x10) ? " \"\"}" : " \"\",\n\n"; - } - else { - $len = @{$charinfoArray[$plane]}; - for ($i = 0; $i < $len / 11; $i++) { - print OUTPUT $i ? "\n + " : " "; - print OUTPUT "\""; - for $j (0 .. 10) { - last if $len <= $i * 11 + $j; - my $val = $charinfoArray[$plane]->[$i * 11 + $j][2]; - print OUTPUT javaChar($val); - } - print OUTPUT "\""; - } - print OUTPUT ",\n\n"; - } - } - print OUTPUT < 2 && $plane != 14) { - print OUTPUT ($plane == 0x10) ? " \"\"}" : " \"\",\n\n"; - } - else { - $len = @{$charinfoArray[$plane]}; - for ($i = 0; $i < $len / 11; $i++) { - print OUTPUT $i ? "\n + " : " "; - print OUTPUT "\""; - for $j (0 .. 10) { - last if $len <= $i * 11 + $j; - my $val = $charinfoArray[$plane]->[$i * 11 + $j][3]; - print OUTPUT javaChar($val); - } - print OUTPUT "\""; - } - print OUTPUT ",\n\n"; - } - } - print OUTPUT <UPPER to determine their titlecase). The listing - * is a sorted sequence of character pairs; converting the first character - * of the pair to titlecase produces the second character. - */ - String TITLE -EOF - - $len = length($titlecase) / 2; - for ($i = 0; $i < $len / 11; $i++) { - print OUTPUT $i ? "\n + \"" : " = \""; - for $j (0 .. 10) { - last if $len <= $i * 11 + $j; - my $val = unpack "n", substr($titlecase, 2 * ($i * 11 + $j), 2); - print OUTPUT javaChar($val); - } - print OUTPUT "\""; - } - - print OUTPUT < $b} keys %special; - my $expansion = ""; - my $offset = 0; - $len = @list; - for ($i = 0; $i < $len / 5; $i++) { - print OUTPUT $i ? "\n + \"" : " = \""; - for $j (0 .. 4) { - last if $len <= $i * 5 + $j; - my $ch = $list[$i * 5 + $j]; - print OUTPUT javaChar($ch); - print OUTPUT javaChar($offset); - $offset += @{$special{$ch}}; - $expansion .= pack "n*", @{$special{$ch}}; - } - print OUTPUT "\""; - } - - print OUTPUT < - - -Provides an implementation for optional class, field and method attributes. - -

      - -By default ASM strips optional attributes, in order to keep them in -the bytecode that is being readed you should pass an array of required attribute -instances to {@link org.objectweb.asm.ClassReader#accept(org.objectweb.asm.ClassVisitor, org.objectweb.asm.Attribute[], boolean) ClassReader.accept()} method. -In order to add custom attributes to the manually constructed bytecode concrete -subclasses of the {@link org.objectweb.asm.Attribute Attribute} can be passed to -the visitAttribute methods of the -{@link org.objectweb.asm.ClassVisitor ClassVisitor}, -{@link org.objectweb.asm.FieldVisitor FieldVisitor} and -{@link org.objectweb.asm.MethodVisitor MethodVisitor} interfaces. - -@since ASM 1.4.1 - - diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/commons/package.html b/libjava/classpath/tools/external/asm/org/objectweb/asm/commons/package.html deleted file mode 100644 index 33c860b..0000000 --- a/libjava/classpath/tools/external/asm/org/objectweb/asm/commons/package.html +++ /dev/null @@ -1,33 +0,0 @@ - - - -Provides some useful class and method adapters. - \ No newline at end of file diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/optimizer/shrink.properties b/libjava/classpath/tools/external/asm/org/objectweb/asm/optimizer/shrink.properties deleted file mode 100644 index 868780b..0000000 --- a/libjava/classpath/tools/external/asm/org/objectweb/asm/optimizer/shrink.properties +++ /dev/null @@ -1,225 +0,0 @@ -# class mappings - -#org/objectweb/asm/Edge=org/objectweb/asm/a -#org/objectweb/asm/Item=org/objectweb/asm/b -#org/objectweb/asm/FieldWriter=org/objectweb/asm/c -#org/objectweb/asm/MethodWriter=org/objectweb/asm/d -#org/objectweb/asm/AnnotationWriter=org/objectweb/asm/e - -# field mappings - -org/objectweb/asm/AnnotationWriter.cw=a -org/objectweb/asm/AnnotationWriter.size=b -org/objectweb/asm/AnnotationWriter.named=c -org/objectweb/asm/AnnotationWriter.bv=d -org/objectweb/asm/AnnotationWriter.parent=e -org/objectweb/asm/AnnotationWriter.offset=f -org/objectweb/asm/AnnotationWriter.next=g -org/objectweb/asm/AnnotationWriter.prev=h - -org/objectweb/asm/Attribute.next=a -org/objectweb/asm/Attribute.value=b - -org/objectweb/asm/ByteVector.data=a -org/objectweb/asm/ByteVector.length=b - -org/objectweb/asm/ClassReader.items=a -org/objectweb/asm/ClassReader.strings=c -org/objectweb/asm/ClassReader.maxStringLength=d -#org/objectweb/asm/ClassReader.header=e - -org/objectweb/asm/ClassWriter.TYPE=a -org/objectweb/asm/ClassWriter.version=b -org/objectweb/asm/ClassWriter.index=c -org/objectweb/asm/ClassWriter.pool=d -org/objectweb/asm/ClassWriter.items=e -org/objectweb/asm/ClassWriter.threshold=f -org/objectweb/asm/ClassWriter.key=g -org/objectweb/asm/ClassWriter.key2=h -org/objectweb/asm/ClassWriter.key3=i -org/objectweb/asm/ClassWriter.access=j -org/objectweb/asm/ClassWriter.name=k -org/objectweb/asm/ClassWriter.signature=l -org/objectweb/asm/ClassWriter.superName=m -org/objectweb/asm/ClassWriter.interfaceCount=n -org/objectweb/asm/ClassWriter.interfaces=o -org/objectweb/asm/ClassWriter.sourceFile=p -org/objectweb/asm/ClassWriter.sourceDebug=q -org/objectweb/asm/ClassWriter.enclosingMethodOwner=r -org/objectweb/asm/ClassWriter.enclosingMethod=s -org/objectweb/asm/ClassWriter.anns=t -org/objectweb/asm/ClassWriter.ianns=u -org/objectweb/asm/ClassWriter.attrs=v -org/objectweb/asm/ClassWriter.innerClassesCount=w -org/objectweb/asm/ClassWriter.innerClasses=x -org/objectweb/asm/ClassWriter.firstField=y -org/objectweb/asm/ClassWriter.lastField=z -org/objectweb/asm/ClassWriter.firstMethod=A -org/objectweb/asm/ClassWriter.lastMethod=B -org/objectweb/asm/ClassWriter.computeMaxs=C -org/objectweb/asm/ClassWriter.cr=D - -org/objectweb/asm/Edge.stackSize=a -org/objectweb/asm/Edge.successor=b -org/objectweb/asm/Edge.next=c - -org/objectweb/asm/Handler.start=a -org/objectweb/asm/Handler.end=b -org/objectweb/asm/Handler.handler=c -org/objectweb/asm/Handler.desc=d -org/objectweb/asm/Handler.type=e -org/objectweb/asm/Handler.next=f - -org/objectweb/asm/FieldWriter.next=a -org/objectweb/asm/FieldWriter.cw=b -org/objectweb/asm/FieldWriter.access=c -org/objectweb/asm/FieldWriter.name=d -org/objectweb/asm/FieldWriter.desc=e -org/objectweb/asm/FieldWriter.signature=f -org/objectweb/asm/FieldWriter.value=g -org/objectweb/asm/FieldWriter.anns=h -org/objectweb/asm/FieldWriter.ianns=i -org/objectweb/asm/FieldWriter.attrs=j - -org/objectweb/asm/Item.index=a -org/objectweb/asm/Item.type=b -org/objectweb/asm/Item.intVal=c -org/objectweb/asm/Item.longVal=d -org/objectweb/asm/Item.floatVal=e -org/objectweb/asm/Item.doubleVal=f -org/objectweb/asm/Item.strVal1=g -org/objectweb/asm/Item.strVal2=h -org/objectweb/asm/Item.strVal3=i -org/objectweb/asm/Item.hashCode=j -org/objectweb/asm/Item.next=k - -org/objectweb/asm/Label.resolved=a -org/objectweb/asm/Label.position=b -org/objectweb/asm/Label.resized=c -org/objectweb/asm/Label.referenceCount=d -org/objectweb/asm/Label.srcAndRefPositions=e -org/objectweb/asm/Label.beginStackSize=f -org/objectweb/asm/Label.maxStackSize=g -org/objectweb/asm/Label.successors=h -org/objectweb/asm/Label.next=i -org/objectweb/asm/Label.pushed=j -org/objectweb/asm/Label.line=k - -org/objectweb/asm/MethodWriter.next=a -org/objectweb/asm/MethodWriter.cw=b -org/objectweb/asm/MethodWriter.access=c -org/objectweb/asm/MethodWriter.name=d -org/objectweb/asm/MethodWriter.desc=e -org/objectweb/asm/MethodWriter.descriptor=f -org/objectweb/asm/MethodWriter.signature=g -org/objectweb/asm/MethodWriter.exceptionCount=h -org/objectweb/asm/MethodWriter.exceptions=i -org/objectweb/asm/MethodWriter.annd=j -org/objectweb/asm/MethodWriter.anns=k -org/objectweb/asm/MethodWriter.ianns=l -org/objectweb/asm/MethodWriter.panns=m -org/objectweb/asm/MethodWriter.ipanns=n -org/objectweb/asm/MethodWriter.attrs=o -org/objectweb/asm/MethodWriter.code=p -org/objectweb/asm/MethodWriter.maxStack=q -org/objectweb/asm/MethodWriter.maxLocals=r -org/objectweb/asm/MethodWriter.catchCount=s -org/objectweb/asm/MethodWriter.catchTable=t -org/objectweb/asm/MethodWriter.localVarCount=u -org/objectweb/asm/MethodWriter.localVar=v -org/objectweb/asm/MethodWriter.localVarTypeCount=w -org/objectweb/asm/MethodWriter.localVarType=x -org/objectweb/asm/MethodWriter.lineNumberCount=y -org/objectweb/asm/MethodWriter.lineNumber=z -org/objectweb/asm/MethodWriter.cattrs=A -org/objectweb/asm/MethodWriter.resize=B -org/objectweb/asm/MethodWriter.computeMaxs=C -org/objectweb/asm/MethodWriter.stackSize=D -org/objectweb/asm/MethodWriter.maxStackSize=E -org/objectweb/asm/MethodWriter.currentBlock=F -org/objectweb/asm/MethodWriter.blockStack=G -org/objectweb/asm/MethodWriter.SIZE=H -org/objectweb/asm/MethodWriter.classReaderOffset=I -org/objectweb/asm/MethodWriter.classReaderLength=J -org/objectweb/asm/MethodWriter.lastHandler=K - -org/objectweb/asm/Type.sort=a -org/objectweb/asm/Type.buf=b -org/objectweb/asm/Type.off=c -org/objectweb/asm/Type.len=d - -org/objectweb/asm/signature/SignatureReader.signature=a - -org/objectweb/asm/signature/SignatureWriter.buf=a -org/objectweb/asm/signature/SignatureWriter.hasFormals=b -org/objectweb/asm/signature/SignatureWriter.hasParameters=c -org/objectweb/asm/signature/SignatureWriter.argumentStack=d - -# method mappings - -org/objectweb/asm/AnnotationWriter.getSize()I=a -org/objectweb/asm/AnnotationWriter.put([Lorg/objectweb/asm/AnnotationWriter;Lorg/objectweb/asm/ByteVector;)V=a -org/objectweb/asm/AnnotationWriter.put(Lorg/objectweb/asm/ByteVector;)V=a - -org/objectweb/asm/Attribute.getCount()I=a -org/objectweb/asm/Attribute.getSize(Lorg/objectweb/asm/ClassWriter;[BIII)I=a -org/objectweb/asm/Attribute.put(Lorg/objectweb/asm/ClassWriter;[BIIILorg/objectweb/asm/ByteVector;)V=a - -org/objectweb/asm/ByteVector.enlarge(I)V=a -org/objectweb/asm/ByteVector.put11(II)Lorg/objectweb/asm/ByteVector;=a -org/objectweb/asm/ByteVector.put12(II)Lorg/objectweb/asm/ByteVector;=b - -org/objectweb/asm/ClassReader.copyPool(Lorg/objectweb/asm/ClassWriter;)V=a -org/objectweb/asm/ClassReader.readAnnotationValue(I[CLjava/lang/String;Lorg/objectweb/asm/AnnotationVisitor;)I=a -org/objectweb/asm/ClassReader.readAnnotationValues(I[CLorg/objectweb/asm/AnnotationVisitor;)I=a -org/objectweb/asm/ClassReader.readAttribute([Lorg/objectweb/asm/Attribute;Ljava/lang/String;II[CI[Lorg/objectweb/asm/Label;)Lorg/objectweb/asm/Attribute;=a -org/objectweb/asm/ClassReader.readClass(Ljava/io/InputStream;)[B=a -org/objectweb/asm/ClassReader.readParameterAnnotations(I[CZLorg/objectweb/asm/MethodVisitor;)V=a -org/objectweb/asm/ClassReader.readUTF(II[C)Ljava/lang/String;=a - -org/objectweb/asm/ClassWriter.get(Lorg/objectweb/asm/Item;)Lorg/objectweb/asm/Item;=a -org/objectweb/asm/ClassWriter.newClassItem(Ljava/lang/String;)Lorg/objectweb/asm/Item;=a -org/objectweb/asm/ClassWriter.newConstItem(Ljava/lang/Object;)Lorg/objectweb/asm/Item;=a -org/objectweb/asm/ClassWriter.newDouble(D)Lorg/objectweb/asm/Item;=a -org/objectweb/asm/ClassWriter.newFloat(F)Lorg/objectweb/asm/Item;=a -org/objectweb/asm/ClassWriter.newInteger(I)Lorg/objectweb/asm/Item;=a -org/objectweb/asm/ClassWriter.newLong(J)Lorg/objectweb/asm/Item;=a -org/objectweb/asm/ClassWriter.newMethodItem(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Lorg/objectweb/asm/Item;=a -org/objectweb/asm/ClassWriter.newString(Ljava/lang/String;)Lorg/objectweb/asm/Item;=b -org/objectweb/asm/ClassWriter.put122(III)V=a -org/objectweb/asm/ClassWriter.put(Lorg/objectweb/asm/Item;)V=b - -org/objectweb/asm/FieldWriter.getSize()I=a -org/objectweb/asm/FieldWriter.put(Lorg/objectweb/asm/ByteVector;)V=a - -org/objectweb/asm/Item.isEqualTo(Lorg/objectweb/asm/Item;)Z=a -org/objectweb/asm/Item.set(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V=a -org/objectweb/asm/Item.set(D)V=a -org/objectweb/asm/Item.set(F)V=a -org/objectweb/asm/Item.set(I)V=a -org/objectweb/asm/Item.set(J)V=a - -org/objectweb/asm/Label.addReference(II)V=a -org/objectweb/asm/Label.put(Lorg/objectweb/asm/MethodWriter;Lorg/objectweb/asm/ByteVector;IZ)V=a -org/objectweb/asm/Label.resolve(Lorg/objectweb/asm/MethodWriter;I[B)Z=a - -org/objectweb/asm/MethodWriter.addSuccessor(ILorg/objectweb/asm/Label;)V=a -org/objectweb/asm/MethodWriter.getArgumentsAndReturnSizes(Ljava/lang/String;)I=a -org/objectweb/asm/MethodWriter.getNewOffset([I[III)I=a -org/objectweb/asm/MethodWriter.getSize()I=a -org/objectweb/asm/MethodWriter.put(Lorg/objectweb/asm/ByteVector;)V=a -org/objectweb/asm/MethodWriter.readInt([BI)I=a -org/objectweb/asm/MethodWriter.readShort([BI)S=b -org/objectweb/asm/MethodWriter.readUnsignedShort([BI)I=c -org/objectweb/asm/MethodWriter.resizeInstructions([I[II)[I=a -org/objectweb/asm/MethodWriter.writeShort([BII)V=a -org/objectweb/asm/MethodWriter.getNewOffset([I[ILorg/objectweb/asm/Label;)V=a - -org/objectweb/asm/Type.getType([CI)Lorg/objectweb/asm/Type;=a -org/objectweb/asm/Type.getDescriptor(Ljava/lang/StringBuffer;)V=a -org/objectweb/asm/Type.getDescriptor(Ljava/lang/StringBuffer;Ljava/lang/Class;)V=a - -org/objectweb/asm/signature/SignatureReader.parseType(Ljava/lang/String;ILorg/objectweb/asm/signature/SignatureVisitor;)I=a - -org/objectweb/asm/signature/SignatureWriter.endFormals()V=a -org/objectweb/asm/signature/SignatureWriter.endArguments()V=b diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/package.html b/libjava/classpath/tools/external/asm/org/objectweb/asm/package.html deleted file mode 100644 index 1383dbe..0000000 --- a/libjava/classpath/tools/external/asm/org/objectweb/asm/package.html +++ /dev/null @@ -1,87 +0,0 @@ - - - -Provides a small and fast bytecode manipulation framework. - -

      -The ASM framework is organized -around the {@link org.objectweb.asm.ClassVisitor ClassVisitor}, -{@link org.objectweb.asm.FieldVisitor FieldVisitor} and -{@link org.objectweb.asm.MethodVisitor MethodVisitor} interfaces, which allow -one to visit the fields and methods of a class, including the bytecode -instructions of each method. - -

      -In addition to these main interfaces, ASM provides a {@link -org.objectweb.asm.ClassReader ClassReader} class, that can parse an -existing class and make a given visitor visit it. ASM also provides -a {@link org.objectweb.asm.ClassWriter ClassWriter} class, which is -a visitor that generates Java class files. - -

      -In order to generate a class from scratch, only the {@link -org.objectweb.asm.ClassWriter ClassWriter} class is necessary. Indeed, -in order to generate a class, one must just call its visitXXX -methods with the appropriate arguments to generate the desired fields -and methods. See the "helloworld" example in the ASM distribution for -more details about class generation. - -

      -In order to modify existing classes, one must use a {@link -org.objectweb.asm.ClassReader ClassReader} class to analyze -the original class, a class modifier, and a {@link org.objectweb.asm.ClassWriter -ClassWriter} to construct the modified class. The class modifier -is just a {@link org.objectweb.asm.ClassVisitor ClassVisitor} -that delegates most of the work to another {@link org.objectweb.asm.ClassVisitor -ClassVisitor}, but that sometimes changes some parameter values, -or call additional methods, in order to implement the desired -modification process. In order to make it easier to implement such -class modifiers, ASM provides the {@link org.objectweb.asm.ClassAdapter -ClassAdapter} and {@link org.objectweb.asm.MethodAdapter MethodAdapter} -classes, which implement the {@link org.objectweb.asm.ClassVisitor ClassVisitor} -and {@link org.objectweb.asm.MethodVisitor MethodVisitor} interfaces by -delegating all work to other visitors. See the "adapt" example in the ASM -distribution for more details about class modification. - -

      -The size of the core ASM library, asm.jar, is only 31KB, which is much -more smaller than -the size of the BCEL library (350KB -without the class verifier), and than the size of the -SERP library (150KB). ASM is also -much more faster than these tools. Indeed the overhead of a load time class -transformation process is of the order of 60% with ASM, 700% or more with BCEL, -and 1100% or more with SERP (see the test/perf directory in the ASM -distribution)! - -@since ASM 1.3 - - diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/signature/package.html b/libjava/classpath/tools/external/asm/org/objectweb/asm/signature/package.html deleted file mode 100644 index 21f103a..0000000 --- a/libjava/classpath/tools/external/asm/org/objectweb/asm/signature/package.html +++ /dev/null @@ -1,36 +0,0 @@ - - - -Provides support for type signatures. - -@since ASM 2.0 - - diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/package.html b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/package.html deleted file mode 100644 index 7c20f2e..0000000 --- a/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/package.html +++ /dev/null @@ -1,36 +0,0 @@ - - - -Provides a framework for static code analysis based on the asm.tree package. - -@since ASM 1.4.3 - - diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/package.html b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/package.html deleted file mode 100644 index d455211..0000000 --- a/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/package.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - -

      -Provides an ASM visitor that constructs a tree representation of the -classes it visits. This class adapter can be useful to implement "complex" -class manipulation operations, i.e., operations that would be very hard to -implement without using a tree representation (such as optimizing the number -of local variables used by a method). -

      - -

      -However, this class adapter has a cost: it makes ASM bigger and slower. Indeed -it requires more than twenty new classes, and multiplies the time needed to -transform a class by almost two (it is almost two times faster to read, "modify" -and write a class with a ClassAdapter than with a ClassNode). This is why -this package is bundled in an optional asm-tree.jar library that -is separated from (but requires) the asm.jar library, which contains -the core ASM framework. This is also why it is recommanded -not to use this class adapter when it is possible. -

      - -

      -The root class is the ClassNode, that can be created from scratch or -from existing bytecode. For example: -

      - -
      -  ClassReader cr = new ClassReader(source);
      -  ClassNode cn = new ClassNode();
      -  cr.accept(cn, true);
      -
      - -

      -Now content of ClassNode can be modified and then -serialized back into bytecode: -

      - -
      -  ClassWriter cw = new ClassWriter(true);
      -  cn.accept(cw);
      -
      - -

      -Several strategies can be used to construct method code from scratch. The first -possibility is to create a MethodNode, and then create and add XXXInsnNode to -the instructions list: -

      - -
      -MethodNode m = new MethodNode(...);
      -m.instructions.add(new VarInsnNode(ALOAD, 0));
      -...
      -
      - -

      -Alternatively, you can use the fact that MethodNode is a MethodVisitor, and use -that to create the XXXInsnNode and add them to the instructions list through -the standard MethodVisitor interface: -

      - -
      -MethodNode m = new MethodNode(...);
      -m.visitVarInsn(ALOAD, 0);
      -...
      -
      - -

      -If you cannot generate all the instructions in sequential order, i.e. if you -need to keep some pointers in the instruction list to insert some instructions -at these places after other instructions have been generated, you can define -an InsnListInsnNode pseudo instruction class that will in fact contain an -instruction list, will possibly implement the MethodVisitor interface, and whose -accept method will call the accept method of all the instructions of its list. -

      - -
      -MethodNode m = new MethodNode(...);
      -m.visitVarInsn(ALOAD, 0);
      -InsnListInsnNode ptr = new InsnListInsnNode();
      -m.instructions.add(ptr);
      -m.visitVarInsn(ALOAD, 1);
      -ptr.visitXXXInsn(...); // inserts an instruction between ALOAD 0 and ALOAD 1
      -
      - -

      -If you need to insert instructions while iterating over an existing instruction -list, you can also use several strategies. The first one is to use a -ListIterator over the instruction list, and use its add method to insert -instructions: -

      - -
      -ListIterator i = m.instructions.listIterator();
      -while (i.hasNext()) {
      -    AbstractInsnNode n = (AbstractInsnNode) i.next();
      -    if (...) {
      -        i.add(new VarInsnNode(ALOAD, 0));
      -    }
      -}
      -
      - -

      -If you want to insert these instructions through the MethodVisitor interface, -you can define your own InsnListIterator class, that will implement both the -ListIterator and MethodVisitor interface. -

      - -

      -Another strategy is to use ListIterator.add to insert InsnListInsnNode pseudo -instructions, and then use these inserted pseudo instructions to insert an -arbitrary number of instructions at these places. -

      - -

      -@since ASM 1.3.3 -

      - - - diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/util/attrs/package.html b/libjava/classpath/tools/external/asm/org/objectweb/asm/util/attrs/package.html deleted file mode 100644 index a21cb00..0000000 --- a/libjava/classpath/tools/external/asm/org/objectweb/asm/util/attrs/package.html +++ /dev/null @@ -1,36 +0,0 @@ - - - -Provides attributes sub classes that can work with the ASMifier utility. - -@since ASM 1.4.3 - - diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/util/package.html b/libjava/classpath/tools/external/asm/org/objectweb/asm/util/package.html deleted file mode 100644 index e967b8b..0000000 --- a/libjava/classpath/tools/external/asm/org/objectweb/asm/util/package.html +++ /dev/null @@ -1,40 +0,0 @@ - - - -Provides ASM visitors that can be useful for programming and -debugging purposes. These class visitors are normally not used by applications -at runtime. This is why they are bundled in an optional asm-util.jar -library that is separated from (but requires) the asm.jar library, -which contains the core ASM framework. - -@since ASM 1.3.2 - - diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/xml/ASMContentHandler.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/xml/ASMContentHandler.java index 1f6fee0..466b93c 100644 --- a/libjava/classpath/tools/external/asm/org/objectweb/asm/xml/ASMContentHandler.java +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/xml/ASMContentHandler.java @@ -134,7 +134,7 @@ public class ASMContentHandler extends DefaultHandler implements Opcodes { new AnnotationValueAnnotationRule()); RULES.add("*/annotationValueEnum", new AnnotationValueEnumRule()); RULES.add("*/annotationValueArray", new AnnotationValueArrayRule()); - }; + } private static interface OpcodeGroup { public static final int INSN = 0; diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/xml/asm-xml.dtd b/libjava/classpath/tools/external/asm/org/objectweb/asm/xml/asm-xml.dtd deleted file mode 100644 index 7859259..0000000 --- a/libjava/classpath/tools/external/asm/org/objectweb/asm/xml/asm-xml.dtd +++ /dev/null @@ -1,340 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/xml/package.html b/libjava/classpath/tools/external/asm/org/objectweb/asm/xml/package.html deleted file mode 100644 index 3bbb95f..0000000 --- a/libjava/classpath/tools/external/asm/org/objectweb/asm/xml/package.html +++ /dev/null @@ -1,96 +0,0 @@ - - - -Provides SAX 2.0 adapters for ASM -visitors to convert classes to and from XML. -These adapters can be chained with other SAX compliant content handlers and -filters, eg. XSLT or XQuery engines. This package is bundled as -a separate asm-xml.jar library and requires asm.jar. -

      -ASMContentHandler and SAXClassAdapter/SAXCodeAdapter -are using asm-xml.dtd. -Here is the example of bytecode to bytecode XSLT transformation. - -

      -    SAXTransformerFactory saxtf = ( SAXTransformerFactory) TransformerFactory.newInstance();
      -    Templates templates = saxtf.newTemplates( xsltSource);
      -
      -    TransformerHandler handler = saxtf.newTransformerHandler( templates);
      -    handler.setResult( new SAXResult( new ASMContentHandler( outputStream, computeMax)));
      -
      -    ClassReader cr = new ClassReader( bytecode);
      -    cr.accept( new SAXClassAdapter( handler, cr.getVersion(), false), false);
      -
      - -See JAXP and SAX documentation for more detils. - -

      -There are few illustrations of the bytecode transformation with XSLT in -examples directory. The following XSLT procesors has been tested. - -

      - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      Engine -javax.xml.transform.TransformerFactory property -
      jd.xsltjd.xml.xslt.trax.TransformerFactoryImpl
      Saxonnet.sf.saxon.TransformerFactoryImpl
      Cauchocom.caucho.xsl.Xsl
      Xalan interpeterorg.apache.xalan.processor.TransformerFactory
      Xalan xsltcorg.apache.xalan.xsltc.trax.TransformerFactoryImpl
      -
      - -@since ASM 1.4.3 - - - diff --git a/libjava/classpath/tools/gnative2ascii.in b/libjava/classpath/tools/gnative2ascii.in index ade13f0..f886074 100644 --- a/libjava/classpath/tools/gnative2ascii.in +++ b/libjava/classpath/tools/gnative2ascii.in @@ -44,4 +44,4 @@ prefix=@prefix@ tools_dir=@datadir@/@PACKAGE@ tools_cp=${tools_dir}/tools.zip -exec @VM_BINARY@ -Xbootclasspath/p:"${tools_cp}" gnu.classpath.tools.native2ascii.Main "$@" +exec @VM_BINARY@ -Xbootclasspath/p:"${tools_cp}" gnu.classpath.tools.native2ascii.Native2ASCII "$@" diff --git a/libjava/classpath/tools/gnu/classpath/tools/appletviewer/TagParser.java b/libjava/classpath/tools/gnu/classpath/tools/appletviewer/TagParser.java index b5bdca7..56bb1bb 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/appletviewer/TagParser.java +++ b/libjava/classpath/tools/gnu/classpath/tools/appletviewer/TagParser.java @@ -130,7 +130,7 @@ public class TagParser { ArrayList allTags = new ArrayList(); if (document == null) - return null;; + return null; recurseDocument(document.getChildNodes()); diff --git a/libjava/classpath/tools/gnu/classpath/tools/getopt/package.html b/libjava/classpath/tools/gnu/classpath/tools/getopt/package.html deleted file mode 100644 index ce6d34a..0000000 --- a/libjava/classpath/tools/gnu/classpath/tools/getopt/package.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - -GNU Classpath - gnu.classpath.tools.getopt - - -

      This package contains a GNU-style command line option parser. It -handles short and long options, options with arguments (optionally -joined to the option text), and a "long option only" mode. It also -automatically handles --help output.

      - - - diff --git a/libjava/classpath/tools/gnu/classpath/tools/jar/Creator.java b/libjava/classpath/tools/gnu/classpath/tools/jar/Creator.java index 2945493..c1660b7 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/jar/Creator.java +++ b/libjava/classpath/tools/gnu/classpath/tools/jar/Creator.java @@ -60,7 +60,7 @@ public class Creator extends Action { JarOutputStream outputStream; - HashSet writtenItems = new HashSet(); + HashSet writtenItems = new HashSet(); // The manifest to use, or null if we don't want a manifest. Manifest manifest; @@ -150,13 +150,13 @@ public class Creator } else { - InputStream inputStream = new FileInputStream(file); - writeFile(isDirectory, inputStream, filename, verbose); - inputStream.close(); + InputStream inputStream = new FileInputStream(file); + writeFile(isDirectory, inputStream, filename, verbose); + inputStream.close(); } } - private void addEntries(ArrayList result, Entry entry) + private void addEntries(ArrayList result, Entry entry) { if (entry.file.isDirectory()) { @@ -176,10 +176,10 @@ public class Creator result.add(entry); } - private ArrayList getAllEntries(Main parameters) + private ArrayList getAllEntries(Main parameters) { Iterator it = parameters.entries.iterator(); - ArrayList allEntries = new ArrayList(); + ArrayList allEntries = new ArrayList(); while (it.hasNext()) { Entry entry = (Entry) it.next(); diff --git a/libjava/classpath/tools/gnu/classpath/tools/jar/Indexer.java b/libjava/classpath/tools/gnu/classpath/tools/jar/Indexer.java index aae25f8..401c6fb 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/jar/Indexer.java +++ b/libjava/classpath/tools/gnu/classpath/tools/jar/Indexer.java @@ -72,7 +72,7 @@ public class Indexer // Index the files in this jar. // The results look a little better if we keep them // in insertion order. - LinkedHashSet entries = new LinkedHashSet(); + LinkedHashSet entries = new LinkedHashSet(); Enumeration e = jf.entries(); while (e.hasMoreElements()) { diff --git a/libjava/classpath/tools/gnu/classpath/tools/jar/Main.java b/libjava/classpath/tools/gnu/classpath/tools/jar/Main.java index c3575bd..d52028f 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/jar/Main.java +++ b/libjava/classpath/tools/gnu/classpath/tools/jar/Main.java @@ -80,7 +80,7 @@ public class Main File manifestFile; /** A list of Entry objects, each describing a file to write. */ - ArrayList entries = new ArrayList(); + ArrayList entries = new ArrayList(); /** Used only while parsing, holds the first argument for -C. */ String changedDirectory; diff --git a/libjava/classpath/tools/gnu/classpath/tools/jar/WorkSet.java b/libjava/classpath/tools/gnu/classpath/tools/jar/WorkSet.java index ff0b487..c085516 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/jar/WorkSet.java +++ b/libjava/classpath/tools/gnu/classpath/tools/jar/WorkSet.java @@ -44,13 +44,13 @@ import java.util.Iterator; public class WorkSet { - private HashSet allItems; + private HashSet allItems; private void initSet(ArrayList entries) { if (entries == null || entries.isEmpty()) return; - allItems = new HashSet(); + allItems = new HashSet(); Iterator it = entries.iterator(); while (it.hasNext()) { diff --git a/libjava/classpath/tools/gnu/classpath/tools/jarsigner/HashUtils.java b/libjava/classpath/tools/gnu/classpath/tools/jarsigner/HashUtils.java index a085ca0..c9921dd 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/jarsigner/HashUtils.java +++ b/libjava/classpath/tools/gnu/classpath/tools/jarsigner/HashUtils.java @@ -1,5 +1,5 @@ /* Utils.java -- Utility methods for JAR file signing/verification - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -40,7 +40,7 @@ package gnu.classpath.tools.jarsigner; import gnu.classpath.Configuration; import gnu.java.security.hash.Sha160; -import gnu.java.security.util.Base64; +import gnu.java.util.Base64; import gnu.java.util.jar.JarUtils; import java.io.BufferedInputStream; diff --git a/libjava/classpath/tools/gnu/classpath/tools/jarsigner/JarVerifier.java b/libjava/classpath/tools/gnu/classpath/tools/jarsigner/JarVerifier.java index 663f690..8847441 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/jarsigner/JarVerifier.java +++ b/libjava/classpath/tools/gnu/classpath/tools/jarsigner/JarVerifier.java @@ -1,5 +1,5 @@ /* JarVerifier.java -- The verification handler of the gjarsigner tool - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -55,13 +55,12 @@ import gnu.java.util.jar.JarUtils; import java.io.IOException; import java.io.InputStream; import java.security.PublicKey; -import java.security.cert.Certificate; import java.security.cert.CRLException; +import java.security.cert.Certificate; import java.security.cert.CertificateException; import java.util.ArrayList; import java.util.Enumeration; import java.util.HashMap; -import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; @@ -84,7 +83,7 @@ public class JarVerifier /** The JAR file to verify. */ private JarFile jarFile; /** Map of jar entry names to their hash. */ - private Map entryHashes = new HashMap(); + private Map entryHashes = new HashMap(); JarVerifier(Main main) { @@ -101,7 +100,7 @@ public class JarVerifier jarFile = new JarFile(jarFileName); // 1. find all signature (.SF) files - List sfFiles = new ArrayList(); + List sfFiles = new ArrayList(); for (Enumeration e = jarFile.entries(); e.hasMoreElements(); ) { JarEntry je = (JarEntry) e.nextElement(); @@ -127,13 +126,10 @@ public class JarVerifier { int limit = sfFiles.size(); int count = 0; - for (Iterator it = sfFiles.iterator(); it.hasNext(); ) - { - String alias = (String) it.next(); - if (verifySF(alias)) - if (verifySFEntries(alias)) - count++; - } + for (String alias : sfFiles) + if (verifySF(alias)) + if (verifySFEntries(alias)) + count++; if (count == 0) System.out.println(Messages.getString("JarVerifier.3")); //$NON-NLS-1$ @@ -264,7 +260,7 @@ public class JarVerifier + JarUtils.SF_SUFFIX); InputStream in = jarFile.getInputStream(jarEntry); Attributes attr = new Attributes(); - Map entries = new HashMap(); + Map entries = new HashMap(); JarUtils.readSFManifest(attr, entries, in); // 2. The .SF file by default includes a header containing a hash of the @@ -287,11 +283,10 @@ public class JarVerifier // with the digest for this file in the manifest section. The digests // should be the same, or verification fails. if (! result) - for (Iterator it = entries.keySet().iterator(); it.hasNext();) + for (Entry me : entries.entrySet()) { - Entry me = (Entry) it.next(); - String name = (String) me.getKey(); - attr = (Attributes) me.getValue(); + String name = me.getKey(); + attr = me.getValue(); hash = attr.getValue(Main.DIGEST_ATTR); result = verifySFEntry(name, hash); if (! result) diff --git a/libjava/classpath/tools/gnu/classpath/tools/jarsigner/Main.java b/libjava/classpath/tools/gnu/classpath/tools/jarsigner/Main.java index 0cff2fd..cea521c 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/jarsigner/Main.java +++ b/libjava/classpath/tools/gnu/classpath/tools/jarsigner/Main.java @@ -1,5 +1,5 @@ /* Main.java -- JAR signing and verification tool not unlike jarsigner - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -123,7 +123,7 @@ public class Main private CallbackHandler handler; /** The command line parser. */ private ToolParser cmdLineParser; - protected ArrayList fileAndAlias = new ArrayList();; + protected ArrayList fileAndAlias = new ArrayList(); private Main() { @@ -163,8 +163,6 @@ public class Main System.exit(result); } - // helper methods ----------------------------------------------------------- - /** * Read the command line arguments setting the tool's parameters in * preparation for the user desired action. @@ -568,7 +566,7 @@ public class Main alias = "mykey"; //$NON-NLS-1$ } else - alias = (String) fileAndAlias.get(1); + alias = fileAndAlias.get(1); } public void initializeParser() diff --git a/libjava/classpath/tools/gnu/classpath/tools/jarsigner/Messages.java b/libjava/classpath/tools/gnu/classpath/tools/jarsigner/Messages.java index d5b8760..f27f79e 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/jarsigner/Messages.java +++ b/libjava/classpath/tools/gnu/classpath/tools/jarsigner/Messages.java @@ -1,5 +1,5 @@ /* Messages.java -- I18N related helper class - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -58,7 +58,8 @@ class Messages private static final Logger log = Logger.getLogger(Messages.class.getName()); private static final String BUNDLE_NAME = "gnu.classpath.tools.jarsigner.messages"; private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME); - private static final Map CACHED_FORMATS = new HashMap(5); + private static final Map CACHED_FORMATS = + new HashMap(5); private Messages() { @@ -79,15 +80,15 @@ class Messages public static String getFormattedString(String key, Object args) { - MessageFormat mf = (MessageFormat) CACHED_FORMATS.get(key); + MessageFormat mf = CACHED_FORMATS.get(key); if (mf == null) { String formatString = getString(key); if (formatString.startsWith("!")) return constructMessage(key, args); - mf = new MessageFormat(formatString); - CACHED_FORMATS.put(key, mf); + mf = new MessageFormat(formatString); + CACHED_FORMATS.put(key, mf); } // if the argument is not an array, then build one consisting of the diff --git a/libjava/classpath/tools/gnu/classpath/tools/jarsigner/SFHelper.java b/libjava/classpath/tools/gnu/classpath/tools/jarsigner/SFHelper.java index 83e87b8..dc0f199 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/jarsigner/SFHelper.java +++ b/libjava/classpath/tools/gnu/classpath/tools/jarsigner/SFHelper.java @@ -1,5 +1,5 @@ /* SFHelper -- A .SF file helper - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -90,9 +90,6 @@ import java.security.cert.X509Certificate; */ public class SFHelper { - // Constants and fields - // -------------------------------------------------------------------------- - private static final Logger log = Logger.getLogger(SFHelper.class.getName()); private static final int READY = 0; private static final int STARTED = 1; @@ -106,13 +103,10 @@ public class SFHelper private JarFile jar; private Manifest manifest; private Attributes sfMainAttributes; - private Map sfEntries; + private Map sfEntries; private byte[] sfBytes; private HashUtils util; - // Constructor(s) - // -------------------------------------------------------------------------- - /** * @param jar the JAR archive the .SF file belongs to. */ @@ -124,12 +118,6 @@ public class SFHelper this.state = READY; } - // Class methods - // -------------------------------------------------------------------------- - - // Instance methods - // -------------------------------------------------------------------------- - /** * Writes the contents of the .SF file to the designated JAR * output stream. Line-endings are platform-independent and consist of the @@ -250,8 +238,8 @@ public class SFHelper if (Configuration.DEBUG) log.fine("\n" + Util.dumpString(signedSFBytes, "+++ signedSFBytes ")); //$NON-NLS-1$ //$NON-NLS-2$ - Set digestAlgorithms = new HashSet(); - List digestAlgorithm = new ArrayList(2); + Set digestAlgorithms = new HashSet(); + List digestAlgorithm = new ArrayList(2); DERValue derDigestAlgorithmOID = new DERValue(DER.OBJECT_IDENTIFIER, hashAlgorithmIdentifierSHA1); DERValue derDigestAlgorithmParams = new DERValue(DER.NULL, null); @@ -266,7 +254,7 @@ public class SFHelper X509CRL[] crls = null; - Set signerInfos = new HashSet(); + Set signerInfos = new HashSet(); X509Certificate cert = (X509Certificate) certificates[0]; try { @@ -322,8 +310,6 @@ public class SFHelper return this.manifest; } - // own methods -------------------------------------------------------------- - void startSigning() throws IOException { if (this.state != READY) @@ -333,7 +319,7 @@ public class SFHelper this.manifest = oldManifest == null ? new Manifest() : new Manifest(oldManifest); this.sfMainAttributes = new Attributes(); - this.sfEntries = new HashMap(); + this.sfEntries = new HashMap(); util = new HashUtils(); this.state = STARTED; @@ -368,7 +354,7 @@ public class SFHelper // hash the newly added 2-header block and add it as an attribute to .SF String sfHash = util.hashManifestEntry(name, hash); - Attributes sfAttributes = (Attributes) sfEntries.get(name); + Attributes sfAttributes = sfEntries.get(name); if (sfAttributes == null) { sfAttributes = new Attributes(); diff --git a/libjava/classpath/tools/gnu/classpath/tools/jarsigner/package.html b/libjava/classpath/tools/gnu/classpath/tools/jarsigner/package.html deleted file mode 100644 index 50574dd..0000000 --- a/libjava/classpath/tools/gnu/classpath/tools/jarsigner/package.html +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - GNU Classpath - gnu.classpath.tools.jarsigner - - - -This package contains the classes that provide an implementation of the -Security Tool: jarsigner. The behaviour of these classes should -match that of the same tool provided in the RI version 1.4.2, except for the -following: - -
        -
      • The RI tool accepts -Jjavaoption options which it then passes to - the underlying JVM. This is because the RI tool acts as a wrapper - around the JVM launcher. -

        - This implementation DOES NOT support these options. -

      • -
      - - diff --git a/libjava/classpath/tools/gnu/classpath/tools/javah/PathOptionGroup.java b/libjava/classpath/tools/gnu/classpath/tools/javah/PathOptionGroup.java index efb5f7a..ea61eec 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/javah/PathOptionGroup.java +++ b/libjava/classpath/tools/gnu/classpath/tools/javah/PathOptionGroup.java @@ -101,6 +101,13 @@ public class PathOptionGroup setPath(classpath, path); } }); + add(new Option("cp", "Set the class path", "PATH") + { + public void parsed(String path) throws OptionException + { + setPath(classpath, path); + } + }); add(new Option('I', "Add directory to class path", "DIR", true) { public void parsed(String path) throws OptionException diff --git a/libjava/classpath/tools/gnu/classpath/tools/keytool/CertReqCmd.java b/libjava/classpath/tools/gnu/classpath/tools/keytool/CertReqCmd.java index bdf3aac..327320a 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/keytool/CertReqCmd.java +++ b/libjava/classpath/tools/gnu/classpath/tools/keytool/CertReqCmd.java @@ -1,5 +1,5 @@ /* CertReqCmd.java -- The certreq command handler of the keytool - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -50,7 +50,7 @@ import gnu.java.security.der.DER; import gnu.java.security.der.DERReader; import gnu.java.security.der.DERValue; import gnu.java.security.der.DERWriter; -import gnu.java.security.util.Base64; +import gnu.java.util.Base64; import java.io.ByteArrayOutputStream; import java.io.IOException; @@ -293,7 +293,7 @@ class CertReqCmd extends Command byte[] derBytes = getCSR(aliasName, publicKey, (PrivateKey) privateKey); // 4. encode it in base-64 and write it to outStream - String encoded = Base64.encode(derBytes, 0, derBytes.length, true); + String encoded = Base64.encode(derBytes, 72); PrintWriter writer = new PrintWriter(outStream, true); writer.println("-----BEGIN NEW CERTIFICATE REQUEST-----"); //$NON-NLS-1$ writer.println(encoded); diff --git a/libjava/classpath/tools/gnu/classpath/tools/keytool/ExportCmd.java b/libjava/classpath/tools/gnu/classpath/tools/keytool/ExportCmd.java index a07edc6..e0f1654 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/keytool/ExportCmd.java +++ b/libjava/classpath/tools/gnu/classpath/tools/keytool/ExportCmd.java @@ -1,5 +1,5 @@ /* ExportCmd.java -- The export command handler of the keytool - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -44,7 +44,7 @@ import gnu.classpath.tools.getopt.Option; import gnu.classpath.tools.getopt.OptionException; import gnu.classpath.tools.getopt.OptionGroup; import gnu.classpath.tools.getopt.Parser; -import gnu.java.security.util.Base64; +import gnu.java.util.Base64; import java.io.IOException; import java.io.PrintWriter; @@ -226,7 +226,7 @@ class ExportCmd extends Command byte[] derBytes = certificate.getEncoded(); if (rfc) { - String encoded = Base64.encode(derBytes, 0, derBytes.length, true); + String encoded = Base64.encode(derBytes, 72); PrintWriter pw = new PrintWriter(outStream, true); pw.println("-----BEGIN CERTIFICATE-----"); //$NON-NLS-1$ pw.println(encoded); diff --git a/libjava/classpath/tools/gnu/classpath/tools/keytool/ListCmd.java b/libjava/classpath/tools/gnu/classpath/tools/keytool/ListCmd.java index 7579c3f..9c9f871 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/keytool/ListCmd.java +++ b/libjava/classpath/tools/gnu/classpath/tools/keytool/ListCmd.java @@ -1,5 +1,5 @@ /* ListCmd.java -- The list command handler of the keytool - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -44,7 +44,7 @@ import gnu.classpath.tools.getopt.Option; import gnu.classpath.tools.getopt.OptionException; import gnu.classpath.tools.getopt.OptionGroup; import gnu.classpath.tools.getopt.Parser; -import gnu.java.security.util.Base64; +import gnu.java.util.Base64; import java.io.IOException; import java.io.PrintWriter; @@ -416,7 +416,7 @@ class ListCmd extends Command throws CertificateEncodingException { byte[] derBytes = certificate.getEncoded(); - String encoded = Base64.encode(derBytes, 0, derBytes.length, true); + String encoded = Base64.encode(derBytes, 72); writer.println(Messages.getString("ListCmd.43")); //$NON-NLS-1$ writer.println(encoded); writer.println(Messages.getString("ListCmd.44")); //$NON-NLS-1$ diff --git a/libjava/classpath/tools/gnu/classpath/tools/keytool/package.html b/libjava/classpath/tools/gnu/classpath/tools/keytool/package.html deleted file mode 100644 index c447b8d0..0000000 --- a/libjava/classpath/tools/gnu/classpath/tools/keytool/package.html +++ /dev/null @@ -1,65 +0,0 @@ - - - - - -GNU Classpath - gnu.classpath.tools.keytool - - - -This package contains the classes that provide an implementation of the -Security Tool: keytool. The behaviour of these classes should -match that of the same tool provided in the RI version 1.4.2, except for the -following: - -
        -
      • The RI tool accepts -Jjavaoption options which it then passes to - the underlying JVM. This is because the RI tool acts as a wrapper - around the JVM launcher. -

        - This implementation DOES NOT support these options. -

      • - -
      • The RI tool is capable of importing JDK-1.1 style identities. -

        - This implementation does not offer this feature. -

      • -
      - - diff --git a/libjava/classpath/tools/gnu/classpath/tools/native2ascii/Native2ASCII.java b/libjava/classpath/tools/gnu/classpath/tools/native2ascii/Native2ASCII.java index 622de60..35e9f48 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/native2ascii/Native2ASCII.java +++ b/libjava/classpath/tools/gnu/classpath/tools/native2ascii/Native2ASCII.java @@ -1,5 +1,5 @@ /* Native2ASCII.java - native2ascii program - Copyright (C) 2003 Free Software Foundation, Inc. + Copyright (C) 2003, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -143,7 +143,7 @@ public class Native2ASCII { char c = s.charAt(i); if (reversed - && i + 6 < s.length() + && i + 6 <= s.length() && s.charAt(i) == '\\' && s.charAt(i + 1) == 'u') { @@ -180,6 +180,5 @@ public class Native2ASCII public static void main(String[] args) { new Native2ASCII().run(args); - String encoding = System.getProperty("file.encoding"); //$NON-NLS-1$ } } diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmi/registry/package.html b/libjava/classpath/tools/gnu/classpath/tools/rmi/registry/package.html deleted file mode 100644 index 71df83b..0000000 --- a/libjava/classpath/tools/gnu/classpath/tools/rmi/registry/package.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - -GNU Classpath - gnu.classpath.tools.rmi.registry - - -

      - - - diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmid/ActivationSystemImpl.java b/libjava/classpath/tools/gnu/classpath/tools/rmid/ActivationSystemImpl.java index 390117a..402727f 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/rmid/ActivationSystemImpl.java +++ b/libjava/classpath/tools/gnu/classpath/tools/rmid/ActivationSystemImpl.java @@ -238,6 +238,6 @@ public class ActivationSystemImpl extends ActivationSystemTransient implements ClassNotFoundException { // Write no fields. - }; + } } diff --git a/libjava/classpath/tools/gnu/classpath/tools/serialver/SerialVer.java b/libjava/classpath/tools/gnu/classpath/tools/serialver/SerialVer.java index 21e0a805..a8c526c 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/serialver/SerialVer.java +++ b/libjava/classpath/tools/gnu/classpath/tools/serialver/SerialVer.java @@ -45,12 +45,12 @@ import java.util.StringTokenizer; public class SerialVer { // List of classes to load. - ArrayList classes = new ArrayList(); + ArrayList classes = new ArrayList(); // The class path to use. String classpath; // FIXME: taken from ClassLoader, should share it. - private static void addFileURL(ArrayList list, String file) + private static void addFileURL(ArrayList list, String file) { try { @@ -72,7 +72,7 @@ public class SerialVer { StringTokenizer tok = new StringTokenizer(classpath, File.pathSeparator, true); - ArrayList list = new ArrayList(); + ArrayList list = new ArrayList(); while (tok.hasMoreTokens()) { String s = tok.nextToken(); diff --git a/libjava/classpath/tools/gserialver.in b/libjava/classpath/tools/gserialver.in index 15ed3f9..dbc80f2 100644 --- a/libjava/classpath/tools/gserialver.in +++ b/libjava/classpath/tools/gserialver.in @@ -44,4 +44,4 @@ prefix=@prefix@ tools_dir=@datadir@/@PACKAGE@ tools_cp=${tools_dir}/tools.zip -exec @VM_BINARY@ -Xbootclasspath/p:"${tools_cp}" gnu.classpath.tools.serialver.Main "$@" +exec @VM_BINARY@ -Xbootclasspath/p:"${tools_cp}" gnu.classpath.tools.serialver.SerialVer "$@" diff --git a/libjava/classpath/tools/toolwrapper.c b/libjava/classpath/tools/toolwrapper.c index 41c07c6..806fb2b 100644 --- a/libjava/classpath/tools/toolwrapper.c +++ b/libjava/classpath/tools/toolwrapper.c @@ -46,6 +46,10 @@ exception statement from your version. */ # error JNI version 1.2 or greater required #endif +#ifndef MAINCLASS +#define MAINCLASS "Main" +#endif + union env_union { void *void_env; @@ -216,7 +220,9 @@ main (int argc, const char** argv) (*env)->SetObjectArrayElement (env, args_array, i, str); } - class_id = (*env)->FindClass (env, "gnu/classpath/tools/" TOOLPACKAGE "/Main"); + class_id + = (*env)->FindClass (env, + "gnu/classpath/tools/" TOOLPACKAGE "/" MAINCLASS); if (class_id == NULL) { fprintf (stderr, TOOLNAME ": FindClass failed.\n"); diff --git a/libjava/classpath/vm/reference/gnu/classpath/jdwp/VMFrame.java b/libjava/classpath/vm/reference/gnu/classpath/jdwp/VMFrame.java index cd21302..eec7b63 100644 --- a/libjava/classpath/vm/reference/gnu/classpath/jdwp/VMFrame.java +++ b/libjava/classpath/vm/reference/gnu/classpath/jdwp/VMFrame.java @@ -40,6 +40,7 @@ exception statement from your version. */ package gnu.classpath.jdwp; import gnu.classpath.jdwp.util.Location; +import gnu.classpath.jdwp.value.Value; /** * Reference implementation of VM hooks for JDWP Frame access. @@ -53,6 +54,9 @@ public class VMFrame * Returns the size of a frame ID over JDWP */ public static final int SIZE = 8; + + //The thread this frame resides in + private Thread thread; // The object this frame resides in private Object obj; @@ -64,6 +68,20 @@ public class VMFrame private long id; /** + * Create a new VMFrame object. + * + * @param thr a Thread, the thread this frame is in + * @param frame_id a long, the jframeID of this frame + * @param frame_loc a Location, the location of this frame + */ + public VMFrame(Thread thr, long frame_id, Location frame_loc) + { + thread = thr; + id = frame_id; + loc = frame_loc; + } + + /** * Gets the current location of the frame. */ public Location getLocation() @@ -76,14 +94,22 @@ public class VMFrame * * @param slot the slot containing the variable */ - public native Object getValue(int slot); + public native Value getValue(int slot, byte sig); /** * Assigns the given variable to the given value. * @param slot The slot which contains the variable * @param value The value to assign the variable to */ - public native void setValue(int slot, Object value); + public native void setValue(int slot, Value value); + + /** + * Get the thread this frame is in. + */ + public Thread getThread() + { + return thread; + } /** * Get the object which is represented by 'this' in the context of the frame, diff --git a/libjava/classpath/vm/reference/gnu/classpath/jdwp/VMIdManager.java b/libjava/classpath/vm/reference/gnu/classpath/jdwp/VMIdManager.java index 8d423e9..9360e76 100644 --- a/libjava/classpath/vm/reference/gnu/classpath/jdwp/VMIdManager.java +++ b/libjava/classpath/vm/reference/gnu/classpath/jdwp/VMIdManager.java @@ -337,6 +337,10 @@ public class VMIdManager */ public ObjectId getObjectId (Object theObject) { + // Special case: null + if (theObject == null) + return new NullObjectId (); + ReferenceKey ref = new ReferenceKey (theObject, _refQueue); ObjectId id = (ObjectId) _oidTable.get (ref); if (id == null) @@ -364,6 +368,10 @@ public class VMIdManager public ObjectId get (long id) throws InvalidObjectException { + // Special case: null + if (id == 0) + return new NullObjectId (); + ObjectId oid = (ObjectId) _idTable.get (new Long (id)); if (oid == null) throw new InvalidObjectException (id); diff --git a/libjava/classpath/vm/reference/gnu/classpath/jdwp/VMVirtualMachine.java b/libjava/classpath/vm/reference/gnu/classpath/jdwp/VMVirtualMachine.java index d861606..5c76194 100644 --- a/libjava/classpath/vm/reference/gnu/classpath/jdwp/VMVirtualMachine.java +++ b/libjava/classpath/vm/reference/gnu/classpath/jdwp/VMVirtualMachine.java @@ -1,7 +1,7 @@ /* VMVirtualMachine.java -- A reference implementation of a JDWP virtual machine - Copyright (C) 2005, 2006 Free Software Foundation + Copyright (C) 2005, 2006, 2007 Free Software Foundation This file is part of GNU Classpath. @@ -45,10 +45,12 @@ import gnu.classpath.jdwp.event.EventRequest; import gnu.classpath.jdwp.exception.InvalidMethodException; import gnu.classpath.jdwp.exception.JdwpException; import gnu.classpath.jdwp.util.MethodResult; +import gnu.classpath.jdwp.util.MonitorInfo; + import java.lang.reflect.Method; import java.nio.ByteBuffer; import java.util.ArrayList; -import java.util.Iterator; +import java.util.Collection; /** * A virtual machine according to JDWP. @@ -57,18 +59,35 @@ import java.util.Iterator; */ public class VMVirtualMachine { + // VM Capabilities + public static final boolean canWatchFieldModification = false; + public static final boolean canWatchFieldAccess = false; + public static final boolean canGetBytecodes = false; + public static final boolean canGetSyntheticAttribute = false; + public static final boolean canGetOwnedMonitorInfo = false; + public static final boolean canGetCurrentContendedMonitor = false; + public static final boolean canGetMonitorInfo = false; + public static final boolean canRedefineClasses = false; + public static final boolean canAddMethod = false; + public static final boolean canUnrestrictedlyRedefineClasses = false; + public static final boolean canPopFrames = false; + public static final boolean canUseInstanceFilters = false; + public static final boolean canGetSourceDebugExtension = false; + public static final boolean canRequestVMDeathEvent = false; + public static final boolean canSetDefaultStratum = false; + /** * Suspend a thread * * @param thread the thread to suspend */ - public static native void suspendThread (Thread thread) + public static native void suspendThread(Thread thread) throws JdwpException; /** * Suspend all threads */ - public static void suspendAllThreads () + public static void suspendAllThreads() throws JdwpException { // Our JDWP thread group -- don't suspend any of those threads @@ -115,7 +134,7 @@ public class VMVirtualMachine * * @param thread the thread to resume */ - public static native void resumeThread (Thread thread) + public static native void resumeThread(Thread thread) throws JdwpException; /** @@ -123,7 +142,7 @@ public class VMVirtualMachine * suspend count. It can not be used to force the application * to run. */ - public static void resumeAllThreads () + public static void resumeAllThreads() throws JdwpException { // Our JDWP thread group -- don't resume @@ -166,19 +185,13 @@ public class VMVirtualMachine * @param thread the thread whose suspend count is desired * @return the number of times the thread has been suspended */ - public static native int getSuspendCount (Thread thread) + public static native int getSuspendCount(Thread thread) throws JdwpException; /** - * Returns a count of the number of loaded classes in the VM - */ - public static native int getAllLoadedClassesCount () - throws JdwpException; - - /** - * Returns an iterator over all the loaded classes in the VM + * Returns a Collection of all classes loaded in the VM */ - public static native Iterator getAllLoadedClasses () + public static native Collection getAllLoadedClasses() throws JdwpException; /** @@ -188,7 +201,7 @@ public class VMVirtualMachine * @return a flag containing the class's status * @see JdwpConstants.ClassStatus */ - public static native int getClassStatus (Class clazz) + public static native int getClassStatus(Class clazz) throws JdwpException; /** @@ -198,7 +211,7 @@ public class VMVirtualMachine * @param klass the class whose methods are desired * @return an array of virtual machine methods */ - public static native VMMethod[] getAllClassMethods (Class klass) + public static native VMMethod[] getAllClassMethods(Class klass) { return null; } /** @@ -223,7 +236,7 @@ public class VMVirtualMachine * @param length number of frames to return (-1 for all frames) * @return a list of frames */ - public static native ArrayList getFrames (Thread thread, int start, + public static native ArrayList getFrames(Thread thread, int start, int length) throws JdwpException; @@ -237,7 +250,7 @@ public class VMVirtualMachine * @param bb buffer containing the frame's ID * @return the desired frame */ - public static native VMFrame getFrame (Thread thread, ByteBuffer bb) + public static native VMFrame getFrame(Thread thread, long frameID) throws JdwpException; /** @@ -246,7 +259,7 @@ public class VMVirtualMachine * @param thread the thread for which to get a frame count * @return the number of frames in the thread's stack */ - public static native int getFrameCount (Thread thread) + public static native int getFrameCount(Thread thread) throws JdwpException; @@ -257,7 +270,7 @@ public class VMVirtualMachine * @return integer status of the thread * @see JdwpConstants.ThreadStatus */ - public static native int getThreadStatus (Thread thread) + public static native int getThreadStatus(Thread thread) throws JdwpException; /** @@ -267,7 +280,7 @@ public class VMVirtualMachine * @param cl the class loader * @return a list of all visible classes */ - public static native ArrayList getLoadRequests (ClassLoader cl) + public static native ArrayList getLoadRequests(ClassLoader cl) throws JdwpException; /** @@ -282,7 +295,7 @@ public class VMVirtualMachine * (instance methods only) " * @return a result object containing the results of the invocation */ - public static native MethodResult executeMethod (Object obj, Thread thread, + public static native MethodResult executeMethod(Object obj, Thread thread, Class clazz, Method method, Object[] values, boolean nonVirtual) @@ -295,7 +308,7 @@ public class VMVirtualMachine * @return a string containing the source file name; "no path information * for the file is included" */ - public static native String getSourceFile (Class clazz) + public static native String getSourceFile(Class clazz) throws JdwpException; /** @@ -307,7 +320,7 @@ public class VMVirtualMachine * or do some internal work to set up the event notification (useful for * execution-related events like breakpoints, single-stepping, etc.). */ - public static native void registerEvent (EventRequest request) + public static native void registerEvent(EventRequest request) throws JdwpException; /** @@ -315,7 +328,7 @@ public class VMVirtualMachine * * @param request the request to unregister */ - public static native void unregisterEvent (EventRequest request) + public static native void unregisterEvent(EventRequest request) throws JdwpException; @@ -324,6 +337,88 @@ public class VMVirtualMachine * * @param kind the type of events to clear */ - public static native void clearEvents (byte kind) + public static native void clearEvents(byte kind) throws JdwpException; + + /** + * Redefines the given types. VM must support canRedefineClasses + * capability (may also require canAddMethod and/or + * canUnrestrictedlyRedefineClasses capabilities) + * + * @param types the classes to redefine + * @param bytecodes the new bytecode definitions for the classes + */ + public static native void redefineClasses(Class[] types, byte[][] bytecodes) + throws JdwpException; + + /** + * Sets the default stratum. VM must support the + * canSetDefaultStratum capability. + * + * @param stratum the new default stratum or empty string to + * use the reference default + */ + public static native void setDefaultStratum(String stratum) + throws JdwpException; + + /** + * Returns the source debug extension. VM must support the + * canGetSourceDebugExtension capability. + * + * @param klass the class for which to return information + * @returns the source debug extension + */ + public static native String getSourceDebugExtension(Class klass) + throws JdwpException; + + /** + * Returns the bytecode for the given method. VM must support the + * canGetBytecodes capability. + * + * @param method the method for which to get bytecodes + * @returns the bytecodes + */ + public static native byte[] getBytecodes(VMMethod method) + throws JdwpException; + + /** + * Returns monitor information about an object. VM must support + * the canGetMonitorInformation capability. + * + * @param obj the object + * @returns monitor information (owner, entry count, waiters) + */ + public static native MonitorInfo getMonitorInfo(Object obj) + throws JdwpException; + + /** + * Returns a list of owned monitors. VM must support the + * canGetOwnedMonitorInfo capability. + * + * @param thread a thread + * @returns the list of monitors owned by this thread + */ + public static native Object[] getOwnedMonitors(Thread thread) + throws JdwpException; + + /** + * Returns the current contended monitor for a thread. VM must + * support canGetCurrentContendedMonitor capability. + * + * @param thread the thread + * @returns the contended monitor + */ + public static native Object getCurrentContendedMonitor(Thread thread) + throws JdwpException; + + /** + * Pop all frames up to and including the given frame. VM must + * support canPopFrames capability. It is the responsibility + * of the VM to check if the thread is suspended. If it is not, + * the VM should throw ThreadNotSuspendedException. + * + * @param thread the thread + * @param frame the frame ID + */ + public static native void popFrames(Thread thread, long frameId); } diff --git a/libjava/classpath/vm/reference/gnu/java/lang/management/VMOperatingSystemMXBeanImpl.java b/libjava/classpath/vm/reference/gnu/java/lang/management/VMOperatingSystemMXBeanImpl.java new file mode 100644 index 0000000..20b3f9e --- /dev/null +++ b/libjava/classpath/vm/reference/gnu/java/lang/management/VMOperatingSystemMXBeanImpl.java @@ -0,0 +1,68 @@ +/* VMOperatingSystemMXBeanImpl.java - VM implementation of an OS bean + Copyright (C) 2006 Free Software Foundation + +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 gnu.java.lang.management; + +import gnu.classpath.Configuration; + +/** + * Provides access to information about the operating system. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.6 + */ +final class VMOperatingSystemMXBeanImpl +{ + + static + { + if (Configuration.INIT_LOAD_LIBRARY) + { + System.loadLibrary("javalangmanagement"); + } + } + + /** + * Returns the system load average from the last + * minute. + * + * @return the system load average from the last + * minute. + */ + static native double getSystemLoadAverage(); + +} diff --git a/libjava/classpath/vm/reference/gnu/java/lang/management/VMThreadMXBeanImpl.java b/libjava/classpath/vm/reference/gnu/java/lang/management/VMThreadMXBeanImpl.java index c5bcb63..1c061aa 100644 --- a/libjava/classpath/vm/reference/gnu/java/lang/management/VMThreadMXBeanImpl.java +++ b/libjava/classpath/vm/reference/gnu/java/lang/management/VMThreadMXBeanImpl.java @@ -60,6 +60,16 @@ final class VMThreadMXBeanImpl /** * Returns the ids of cycles of deadlocked threads, occurring + * due to monitor ownership or ownable synchronizer ownership. + * This will only be called if ownable synchronizer monitoring + * is supported. + * + * @return the ids of the deadlocked threads. + */ + static native long[] findDeadlockedThreads(); + + /** + * Returns the ids of cycles of deadlocked threads, occurring * due to monitor ownership. * * @return the ids of the deadlocked threads. @@ -138,6 +148,25 @@ final class VMThreadMXBeanImpl } /** + * Fill out the given {@link ThreadInfo} object + * with ownable synchronizer usage information. + * This is only called if ownable synchronizer + * usage monitoring is supported. + * + * @param info the {@link ThreadInfo} object to modify. + */ + static native void getLockInfo(ThreadInfo info); + + /** + * Fill out the given {@link ThreadInfo} object + * with monitor usage information. This is only + * called if monitor usage monitoring is supported. + * + * @param info the {@link ThreadInfo} object to modify. + */ + static native void getMonitorInfo(ThreadInfo info); + + /** * Returns the current peak number of live threads. * * @return the peak number of live threads. diff --git a/libjava/classpath/vm/reference/java/io/VMFile.java b/libjava/classpath/vm/reference/java/io/VMFile.java index 13d256d..4f708a4 100644 --- a/libjava/classpath/vm/reference/java/io/VMFile.java +++ b/libjava/classpath/vm/reference/java/io/VMFile.java @@ -116,6 +116,27 @@ final class VMFile */ static native boolean mkdir(String dirpath); + /** + * Set the read permission of the file. + */ + public static synchronized native boolean setReadable(String path, + boolean readable, + boolean ownerOnly); + + /** + * Set the write permission of the file. + */ + public static synchronized native boolean setWritable(String path, + boolean writable, + boolean ownerOnly); + + /** + * Set the execute permission of the file. + */ + public static synchronized native boolean setExecutable(String path, + boolean executable, + boolean ownerOnly); + /* * This native method does the actual check of whether or not a file * is a plain file or not. It also handles the existence check to @@ -127,7 +148,7 @@ final class VMFile * This native method checks file permissions for writing */ static synchronized native boolean canWrite(String path); - + /** * This methods checks if a directory can be written to. */ @@ -150,6 +171,11 @@ final class VMFile */ static synchronized native boolean canRead(String path); + /** + * This native method checks file permissions for execution + */ + static synchronized native boolean canExecute(String path); + /* * This method does the actual check of whether or not a file is a * directory or not. It also handle the existence check to eliminate diff --git a/libjava/classpath/vm/reference/java/lang/reflect/Method.java b/libjava/classpath/vm/reference/java/lang/reflect/Method.java index c520f05..2db59fe 100644 --- a/libjava/classpath/vm/reference/java/lang/reflect/Method.java +++ b/libjava/classpath/vm/reference/java/lang/reflect/Method.java @@ -1,5 +1,5 @@ /* java.lang.reflect.Method - reflection of Java methods - Copyright (C) 1998, 2001, 2002, 2005 Free Software Foundation, Inc. + Copyright (C) 1998, 2001, 2002, 2005, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -449,4 +449,17 @@ extends AccessibleObject implements Member, GenericDeclaration MethodSignatureParser p = new MethodSignatureParser(this, sig); return p.getGenericReturnType(); } + + /** + * If this method is an annotation method, returns the default + * value for the method. If there is no default value, or if the + * method is not a member of an annotation type, returns null. + * Primitive types are wrapped. + * + * @throws TypeNotPresentException if the method returns a Class, + * and the class cannot be found + * + * @since 1.5 + */ + public native Object getDefaultValue(); } diff --git a/libjava/classpath/vm/reference/java/net/VMNetworkInterface.java b/libjava/classpath/vm/reference/java/net/VMNetworkInterface.java index 7f1e3ad..e28e616 100644 --- a/libjava/classpath/vm/reference/java/net/VMNetworkInterface.java +++ b/libjava/classpath/vm/reference/java/net/VMNetworkInterface.java @@ -43,7 +43,6 @@ import gnu.classpath.Configuration; import java.nio.ByteBuffer; import java.util.HashSet; import java.util.Set; -import java.util.Vector; /** * This class models a network interface on the host computer. A network @@ -58,12 +57,12 @@ import java.util.Vector; final class VMNetworkInterface { String name; - Set addresses; + Set addresses; VMNetworkInterface(String name) { this.name = name; - addresses = new HashSet(); + addresses = new HashSet(); } /** @@ -72,7 +71,7 @@ final class VMNetworkInterface */ public VMNetworkInterface() { - addresses = new HashSet(); + addresses = new HashSet(); try { addresses.add(InetAddress.getByName("0.0.0.0")); diff --git a/libjava/classpath/vm/reference/java/util/VMTimeZone.java b/libjava/classpath/vm/reference/java/util/VMTimeZone.java index 86b6258..992ecaf 100644 --- a/libjava/classpath/vm/reference/java/util/VMTimeZone.java +++ b/libjava/classpath/vm/reference/java/util/VMTimeZone.java @@ -1,5 +1,5 @@ /* java.util.VMTimeZone - Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004 + Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -40,6 +40,9 @@ exception statement from your version. */ package java.util; import gnu.classpath.Configuration; +import gnu.classpath.SystemProperties; +import gnu.java.util.ZoneInfo; +import java.util.TimeZone; import java.io.*; @@ -75,9 +78,10 @@ final class VMTimeZone * The reference implementation which is made for GNU/Posix like * systems calls System.getenv("TZ"), * readTimeZoneFile("/etc/timezone"), - * readtzFile("/etc/localtime") and finally - * getSystemTimeZoneId() till a supported TimeZone is - * found through TimeZone.getDefaultTimeZone(String). + * ZoneInfo.readTZFile((String)null, "/etc/localtime") + * and finally getSystemTimeZoneId() till a supported + * TimeZone is found through + * TimeZone.getDefaultTimeZone(String). * If every method fails null is returned (which means * the TimeZone code will fall back on GMT as default time zone). *

      @@ -108,9 +112,51 @@ final class VMTimeZone // Try to parse /etc/localtime if (zone == null) { - tzid = readtzFile("/etc/localtime"); - if (tzid != null && !tzid.equals("")) - zone = TimeZone.getDefaultTimeZone(tzid); + zone = ZoneInfo.readTZFile((String) null, "/etc/localtime"); + if (zone != null) + { + // Try to find a more suitable ID for the /etc/localtime + // timezone. + // Sometimes /etc/localtime is a symlink to some + // /usr/share/zoneinfo/ file. + String id = null; + try + { + id = new File("/etc/localtime").getCanonicalPath(); + if (id != null) + { + String zoneinfo_dir + = SystemProperties.getProperty("gnu.java.util.zoneinfo.dir"); + if (zoneinfo_dir != null) + zoneinfo_dir + = new File(zoneinfo_dir + + File.separatorChar).getCanonicalPath(); + if (zoneinfo_dir != null && id.startsWith(zoneinfo_dir)) + { + int pos = zoneinfo_dir.length(); + while (pos < id.length() + && id.charAt(pos) == File.separatorChar) + pos++; + if (pos < id.length()) + id = id.substring(pos); + else + id = null; + } + else + id = null; + } + } + catch (IOException ioe) + { + id = null; + } + + if (id == null) + id = readSysconfigClockFile("/etc/sysconfig/clock"); + + if (id != null) + zone.setID(id); + } } // Try some system specific way @@ -186,121 +232,46 @@ final class VMTimeZone } /** - * Tries to read a file as a "standard" tzfile and return a time - * zone id string as expected by getDefaultTimeZone(String). - * If the file doesn't exist, an IOException occurs or it isn't a tzfile - * that can be parsed null is returned. - *

      - * The tzfile structure (as also used by glibc) is described in the Olson - * tz database archive as can be found at - * ftp://elsie.nci.nih.gov/pub/. + * Tries to read the time zone name from a file. + * If the file cannot be read or an IOException occurs null is returned. *

      - * At least the following platforms support the tzdata file format - * and /etc/localtime (GNU/Linux, Darwin, Solaris and FreeBSD at - * least). Some systems (like Darwin) don't start the file with the - * required magic bytes 'TZif', this implementation can handle - * that). + * The /etc/sysconfig/clock file is not standard, but a lot of systems + * have it. The file is included by shell scripts and the timezone + * name is defined in ZONE variable. + * This routine should grok it with or without quotes: + * ZONE=America/New_York + * or + * ZONE="Europe/London" */ - private static String readtzFile(String file) + private static String readSysconfigClockFile(String file) { - File f = new File(file); - if (!f.exists()) - return null; - - DataInputStream dis = null; + BufferedReader br = null; try { - FileInputStream fis = new FileInputStream(f); - BufferedInputStream bis = new BufferedInputStream(fis); - dis = new DataInputStream(bis); - - // Make sure we are reading a tzfile. - byte[] tzif = new byte[4]; - dis.readFully(tzif); - if (tzif[0] == 'T' && tzif[1] == 'Z' - && tzif[2] == 'i' && tzif[3] == 'f') - // Reserved bytes, ttisgmtcnt, ttisstdcnt and leapcnt - skipFully(dis, 16 + 3 * 4); - else - // Darwin has tzdata files that don't start with the TZif marker - skipFully(dis, 16 + 3 * 4 - 4); - - int timecnt = dis.readInt(); - int typecnt = dis.readInt(); - if (typecnt > 0) + FileInputStream fis = new FileInputStream(file); + BufferedInputStream bis = new BufferedInputStream(fis); + br = new BufferedReader(new InputStreamReader(bis)); + + for (String line = br.readLine(); line != null; line = br.readLine()) { - int charcnt = dis.readInt(); - // Transition times plus indexed transition times. - skipFully(dis, timecnt * (4 + 1)); - - // Get last gmt_offset and dst/non-dst time zone names. - int abbrind = -1; - int dst_abbrind = -1; - int gmt_offset = 0; - while (typecnt-- > 0) - { - // gmtoff - int offset = dis.readInt(); - int dst = dis.readByte(); - if (dst == 0) - { - abbrind = dis.readByte(); - gmt_offset = offset; - } - else - dst_abbrind = dis.readByte(); - } - - // gmt_offset is the offset you must add to UTC/GMT to - // get the local time, we need the offset to add to - // the local time to get UTC/GMT. - gmt_offset *= -1; - - // Turn into hours if possible. - if (gmt_offset % 3600 == 0) - gmt_offset /= 3600; - - if (abbrind >= 0) + line = line.trim(); + if (line.length() < 8 || !line.startsWith("ZONE=")) + continue; + int posstart = 6; + int posend; + if (line.charAt(5) == '"') + posend = line.indexOf('"', 6); + else if (line.charAt(5) == '\'') + posend = line.indexOf('\'', 6); + else { - byte[] names = new byte[charcnt]; - dis.readFully(names); - int j = abbrind; - while (j < charcnt && names[j] != 0) - j++; - - String zonename = new String(names, abbrind, j - abbrind, - "ASCII"); - - String dst_zonename; - if (dst_abbrind >= 0) - { - j = dst_abbrind; - while (j < charcnt && names[j] != 0) - j++; - dst_zonename = new String(names, dst_abbrind, - j - dst_abbrind, "ASCII"); - } - else - dst_zonename = ""; - - // Only use gmt offset when necessary. - // Also special case GMT+/- timezones. - String offset_string; - if ("".equals(dst_zonename) - && (gmt_offset == 0 - || zonename.startsWith("GMT+") - || zonename.startsWith("GMT-"))) - offset_string = ""; - else - offset_string = Integer.toString(gmt_offset); - - String id = zonename + offset_string + dst_zonename; - - return id; + posstart = 5; + posend = line.length(); } + if (posend < 0) + return null; + return line.substring(posstart, posend); } - - // Something didn't match while reading the file. return null; } catch (IOException ioe) @@ -312,31 +283,15 @@ final class VMTimeZone { try { - if (dis != null) - dis.close(); + if (br != null) + br.close(); } - catch(IOException ioe) + catch (IOException ioe) { // Error while close, nothing we can do. } } } - - /** - * Skips the requested number of bytes in the given InputStream. - * Throws EOFException if not enough bytes could be skipped. - * Negative numbers of bytes to skip are ignored. - */ - private static void skipFully(InputStream is, long l) throws IOException - { - while (l > 0) - { - long k = is.skip(l); - if (k <= 0) - throw new EOFException(); - l -= k; - } - } /** * Tries to get the system time zone id through native code. diff --git a/libjava/gcj/javaprims.h b/libjava/gcj/javaprims.h index e4c29fe..60c045a 100644 --- a/libjava/gcj/javaprims.h +++ b/libjava/gcj/javaprims.h @@ -155,6 +155,7 @@ extern "Java" class Character$UnicodeBlock; class Character$UnicodeBlock$NameType; class Class; + class Class$1; class ClassCastException; class ClassCircularityError; class ClassFormatError; @@ -284,7 +285,9 @@ extern "Java" class ClassLoadingMXBean; class CompilationMXBean; class GarbageCollectorMXBean; + class LockInfo; class ManagementFactory; + class ManagementFactory$ManagementInvocationHandler; class ManagementPermission; class MemoryMXBean; class MemoryManagerMXBean; @@ -292,6 +295,7 @@ extern "Java" class MemoryPoolMXBean; class MemoryType; class MemoryUsage; + class MonitorInfo; class OperatingSystemMXBean; class RuntimeMXBean; class ThreadInfo; @@ -392,6 +396,8 @@ extern "Java" class Collections$EmptyList; class Collections$EmptyMap; class Collections$EmptySet; + class Collections$LIFOQueue; + class Collections$MapSet; class Collections$ReverseComparator; class Collections$SingletonList; class Collections$SingletonMap; @@ -483,6 +489,7 @@ extern "Java" class LinkedHashMap$LinkedHashEntry; class LinkedHashSet; class LinkedList; + class LinkedList$1; class LinkedList$Entry; class LinkedList$LinkedListItr; class List; @@ -511,6 +518,9 @@ extern "Java" class ResourceBundle; class ResourceBundle$1; class ResourceBundle$BundleKey; + class ServiceConfigurationError; + class ServiceLoader; + class ServiceLoader$1; class Set; class SimpleTimeZone; class SortedMap; @@ -531,8 +541,19 @@ extern "Java" class TreeMap$4; class TreeMap$5; class TreeMap$6; + class TreeMap$7; + class TreeMap$DescendingMap; + class TreeMap$DescendingSet; + class TreeMap$EntrySet; + class TreeMap$KeySet; + class TreeMap$NavigableEntrySet; + class TreeMap$NavigableKeySet; class TreeMap$Node; class TreeMap$SubMap; + class TreeMap$SubMap$EntrySet; + class TreeMap$SubMap$KeySet; + class TreeMap$SubMap$NavigableEntrySet; + class TreeMap$SubMap$NavigableKeySet; class TreeMap$TreeIterator; class TreeSet; class UUID; @@ -789,6 +810,14 @@ extern "Java" class PatternSyntaxException; } + namespace spi + { + class CurrencyNameProvider; + class LocaleNameProvider; + class LocaleServiceProvider; + class TimeZoneNameProvider; + } + namespace zip { class Adler32; diff --git a/libjava/gnu/classpath/Configuration.java b/libjava/gnu/classpath/Configuration.java index 6899b77..73e3c2f 100644 --- a/libjava/gnu/classpath/Configuration.java +++ b/libjava/gnu/classpath/Configuration.java @@ -1,5 +1,6 @@ /* Configuration.java -- - Copyright (C) 1998, 2001, 2003, 2005, 2006 Free Software Foundation, Inc. + Copyright (C) 1998, 2001, 2003, 2005, 2006, 2007 + Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -65,7 +66,7 @@ public final class Configuration * It is set according to the value of 'version' in the configure[.in] file * and used to set the System property gnu.classpath.version. */ - public static final String CLASSPATH_VERSION = "0.93"; + public static final String CLASSPATH_VERSION = "0.95"; /** * The value of DEBUG is substituted according to whether the diff --git a/libjava/gnu/classpath/Pair.h b/libjava/gnu/classpath/Pair.h new file mode 100644 index 0000000..98b3e23 --- /dev/null +++ b/libjava/gnu/classpath/Pair.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_Pair__ +#define __gnu_classpath_Pair__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + class Pair; + } + } +} + +class gnu::classpath::Pair : public ::java::lang::Object +{ + +public: + Pair(::java::lang::Object *, ::java::lang::Object *); + virtual ::java::lang::Object * getLeft(); + virtual ::java::lang::Object * getRight(); + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); +private: + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) left; + ::java::lang::Object * right; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_Pair__ diff --git a/libjava/gnu/classpath/ServiceFactory$ServiceIterator.h b/libjava/gnu/classpath/ServiceFactory$ServiceIterator.h index a64ca4f..2d532ad 100644 --- a/libjava/gnu/classpath/ServiceFactory$ServiceIterator.h +++ b/libjava/gnu/classpath/ServiceFactory$ServiceIterator.h @@ -33,7 +33,7 @@ class gnu::classpath::ServiceFactory$ServiceIterator : public ::java::lang::Obje { public: // actually package-private - ServiceFactory$ServiceIterator(::java::lang::Class *, ::java::util::Enumeration *, ::java::lang::ClassLoader *, ::java::security::AccessControlContext *); + ServiceFactory$ServiceIterator(::java::lang::Class *, ::java::util::Enumeration *, ::java::lang::ClassLoader *, jboolean, ::java::security::AccessControlContext *); public: ::java::lang::Object * next(); jboolean hasNext(); @@ -48,6 +48,7 @@ private: ::java::io::BufferedReader * reader; ::java::net::URL * currentURL; ::java::lang::Object * nextProvider; + jboolean error; public: static ::java::lang::Class class$; }; diff --git a/libjava/gnu/classpath/ServiceFactory.h b/libjava/gnu/classpath/ServiceFactory.h index fddad85..d335427 100644 --- a/libjava/gnu/classpath/ServiceFactory.h +++ b/libjava/gnu/classpath/ServiceFactory.h @@ -24,6 +24,7 @@ class gnu::classpath::ServiceFactory : public ::java::lang::Object ServiceFactory(); public: static ::java::util::Iterator * lookupProviders(::java::lang::Class *, ::java::lang::ClassLoader *); + static ::java::util::Iterator * lookupProviders(::java::lang::Class *, ::java::lang::ClassLoader *, jboolean); static ::java::util::Iterator * lookupProviders(::java::lang::Class *); public: // actually package-private static void log(::java::util::logging::Level *, ::java::lang::String *, ::java::lang::Object *, ::java::lang::Throwable *); diff --git a/libjava/gnu/classpath/jdwp/util/Value.h b/libjava/gnu/classpath/jdwp/util/Value.h deleted file mode 100644 index 01dda3f..0000000 --- a/libjava/gnu/classpath/jdwp/util/Value.h +++ /dev/null @@ -1,50 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __gnu_classpath_jdwp_util_Value__ -#define __gnu_classpath_jdwp_util_Value__ - -#pragma interface - -#include -extern "Java" -{ - namespace gnu - { - namespace classpath - { - namespace jdwp - { - namespace util - { - class Value; - } - } - } - } - namespace java - { - namespace nio - { - class ByteBuffer; - } - } -} - -class gnu::classpath::jdwp::util::Value : public ::java::lang::Object -{ - -public: - Value(); - static void writeUntaggedValue(::java::io::DataOutputStream *, ::java::lang::Object *); - static void writeTaggedValue(::java::io::DataOutputStream *, ::java::lang::Object *); -private: - static void writeValue(::java::io::DataOutputStream *, ::java::lang::Object *, jboolean); -public: - static ::java::lang::Object * getObj(::java::nio::ByteBuffer *); - static ::java::lang::Object * getUntaggedObj(::java::nio::ByteBuffer *, ::java::lang::Class *); - static ::java::lang::Object * getUntaggedObj(::java::nio::ByteBuffer *, jbyte); - static ::java::lang::Class class$; -}; - -#endif // __gnu_classpath_jdwp_util_Value__ diff --git a/libjava/gnu/java/awt/AWTUtilities.h b/libjava/gnu/java/awt/AWTUtilities.h index 36db985..70b5111 100644 --- a/libjava/gnu/java/awt/AWTUtilities.h +++ b/libjava/gnu/java/awt/AWTUtilities.h @@ -62,6 +62,7 @@ public: static void invokeLater(::java::lang::Runnable *); static void invokeAndWait(::java::lang::Runnable *); static jboolean isEventDispatchThread(); + static jboolean isValidKey(jint); public: // actually package-private static ::java::util::WeakHashMap * visibleChildrenCache; public: diff --git a/libjava/gnu/java/awt/ClasspathGraphicsEnvironment.h b/libjava/gnu/java/awt/ClasspathGraphicsEnvironment.h new file mode 100644 index 0000000..4f3c2ab --- /dev/null +++ b/libjava/gnu/java/awt/ClasspathGraphicsEnvironment.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_ClasspathGraphicsEnvironment__ +#define __gnu_java_awt_ClasspathGraphicsEnvironment__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + class ClasspathGraphicsEnvironment; + } + } + } + namespace java + { + namespace awt + { + namespace image + { + class ColorModel; + class SampleModel; + class WritableRaster; + } + } + } +} + +class gnu::java::awt::ClasspathGraphicsEnvironment : public ::java::awt::GraphicsEnvironment +{ + +public: + ClasspathGraphicsEnvironment(); + virtual ::java::awt::image::WritableRaster * createRaster(::java::awt::image::ColorModel *, ::java::awt::image::SampleModel *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_ClasspathGraphicsEnvironment__ diff --git a/libjava/gnu/java/awt/ClasspathToolkit.h b/libjava/gnu/java/awt/ClasspathToolkit.h index f3acd66..565b924 100644 --- a/libjava/gnu/java/awt/ClasspathToolkit.h +++ b/libjava/gnu/java/awt/ClasspathToolkit.h @@ -29,11 +29,13 @@ extern "Java" { namespace awt { + class Desktop; class Font; class GraphicsDevice; class GraphicsEnvironment; namespace peer { + class DesktopPeer; class RobotPeer; } } @@ -63,6 +65,9 @@ public: virtual ::gnu::java::awt::peer::EmbeddedWindowPeer * createEmbeddedWindow(::gnu::java::awt::EmbeddedWindow *) = 0; virtual void registerImageIOSpis(::javax::imageio::spi::IIORegistry *); virtual jint getMouseNumberOfButtons(); +public: // actually protected + virtual ::java::awt::peer::DesktopPeer * createDesktopPeer(::java::awt::Desktop *); +public: static ::java::lang::Class class$; }; diff --git a/libjava/gnu/java/awt/font/FontDelegate.h b/libjava/gnu/java/awt/font/FontDelegate.h index 202529b..a84c93e 100644 --- a/libjava/gnu/java/awt/font/FontDelegate.h +++ b/libjava/gnu/java/awt/font/FontDelegate.h @@ -58,10 +58,16 @@ public: virtual jint getMissingGlyphCode() = 0; virtual ::java::awt::font::GlyphVector * createGlyphVector(::java::awt::Font *, ::java::awt::font::FontRenderContext *, ::java::text::CharacterIterator *) = 0; virtual void getAdvance(jint, jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean, jboolean, ::java::awt::geom::Point2D *) = 0; - virtual ::java::awt::geom::GeneralPath * getGlyphOutline(jint, jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean) = 0; + virtual ::java::awt::geom::GeneralPath * getGlyphOutline(jint, jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean, jint) = 0; virtual ::java::lang::String * getGlyphName(jint) = 0; virtual jfloat getAscent(jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean, jboolean) = 0; virtual jfloat getDescent(jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean, jboolean) = 0; + static const jint FLAG_FITTED = 1; + static const jint FLAG_NO_HINT_HORIZONTAL = 2; + static const jint FLAG_NO_HINT_VERTICAL = 4; + static const jint FLAG_NO_HINT_EDGE_POINTS = 8; + static const jint FLAG_NO_HINT_STRONG_POINTS = 16; + static const jint FLAG_NO_HINT_WEAK_POINTS = 32; static ::java::lang::Class class$; } __attribute__ ((java_interface)); diff --git a/libjava/gnu/java/awt/font/GNUGlyphVector.h b/libjava/gnu/java/awt/font/GNUGlyphVector.h index 4d47e2a..99086f1 100644 --- a/libjava/gnu/java/awt/font/GNUGlyphVector.h +++ b/libjava/gnu/java/awt/font/GNUGlyphVector.h @@ -63,7 +63,9 @@ public: virtual ::java::awt::geom::Rectangle2D * getVisualBounds(); virtual ::java::awt::Shape * getOutline(); virtual ::java::awt::Shape * getOutline(jfloat, jfloat); + virtual ::java::awt::Shape * getOutline(jfloat, jfloat, jint); virtual ::java::awt::Shape * getGlyphOutline(jint); + virtual ::java::awt::Shape * getGlyphOutline(jint, jint); virtual ::java::awt::geom::Point2D * getGlyphPosition(jint); virtual void setGlyphPosition(jint, ::java::awt::geom::Point2D *); virtual ::java::awt::geom::AffineTransform * getGlyphTransform(jint); diff --git a/libjava/gnu/java/awt/font/autofit/AutoHinter.h b/libjava/gnu/java/awt/font/autofit/AutoHinter.h new file mode 100644 index 0000000..e11a394 --- /dev/null +++ b/libjava/gnu/java/awt/font/autofit/AutoHinter.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_font_autofit_AutoHinter__ +#define __gnu_java_awt_font_autofit_AutoHinter__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace font + { + namespace autofit + { + class AutoHinter; + class GlyphHints; + class HintScaler; + class Latin; + class LatinMetrics; + } + namespace opentype + { + class OpenTypeFont; + namespace truetype + { + class Zone; + } + } + } + } + } + } +} + +class gnu::java::awt::font::autofit::AutoHinter : public ::java::lang::Object +{ + +public: + AutoHinter(); + virtual void init(::gnu::java::awt::font::opentype::OpenTypeFont *); + virtual void applyHints(::gnu::java::awt::font::opentype::truetype::Zone *); + virtual void setFlags(jint); +public: // actually package-private + ::gnu::java::awt::font::autofit::Latin * __attribute__((aligned(__alignof__( ::java::lang::Object)))) latinScript; + ::gnu::java::awt::font::autofit::LatinMetrics * metrics; + ::gnu::java::awt::font::autofit::GlyphHints * hints; + ::gnu::java::awt::font::autofit::HintScaler * scaler; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_font_autofit_AutoHinter__ diff --git a/libjava/gnu/java/awt/font/autofit/AxisHints.h b/libjava/gnu/java/awt/font/autofit/AxisHints.h index 29dad47..0d8b7ea 100644 --- a/libjava/gnu/java/awt/font/autofit/AxisHints.h +++ b/libjava/gnu/java/awt/font/autofit/AxisHints.h @@ -22,6 +22,7 @@ extern "Java" namespace autofit { class AxisHints; + class Edge; class Segment; } } @@ -35,7 +36,16 @@ class gnu::java::awt::font::autofit::AxisHints : public ::java::lang::Object public: // actually package-private AxisHints(); + virtual ::gnu::java::awt::font::autofit::Segment * newSegment(); +public: + virtual ::gnu::java::awt::font::autofit::Edge * newEdge(jint); +public: // actually package-private + virtual jint getEdgeIndex(::gnu::java::awt::font::autofit::Edge *); JArray< ::gnu::java::awt::font::autofit::Segment * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) segments; + jint majorDir; + jint numSegments; + jint numEdges; + JArray< ::gnu::java::awt::font::autofit::Edge * > * edges; public: static ::java::lang::Class class$; }; diff --git a/libjava/gnu/java/awt/font/autofit/Constants.h b/libjava/gnu/java/awt/font/autofit/Constants.h index ae10368..60932a9 100644 --- a/libjava/gnu/java/awt/font/autofit/Constants.h +++ b/libjava/gnu/java/awt/font/autofit/Constants.h @@ -34,6 +34,11 @@ public: static const jint DIMENSION_HORZ = 0; static const jint DIMENSION_VERT = 1; static const jint DIMENSION_MAX = 2; + static const jint DIR_NONE = 0; + static const jint DIR_RIGHT = 1; + static const jint DIR_LEFT = -1; + static const jint DIR_UP = 2; + static const jint DIR_DOWN = -2; static ::java::lang::Class class$; } __attribute__ ((java_interface)); diff --git a/libjava/gnu/java/awt/font/autofit/Edge.h b/libjava/gnu/java/awt/font/autofit/Edge.h new file mode 100644 index 0000000..f456c36 --- /dev/null +++ b/libjava/gnu/java/awt/font/autofit/Edge.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_font_autofit_Edge__ +#define __gnu_java_awt_font_autofit_Edge__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace font + { + namespace autofit + { + class Edge; + class Segment; + class Width; + } + } + } + } + } +} + +class gnu::java::awt::font::autofit::Edge : public ::java::lang::Object +{ + +public: // actually package-private + Edge(); +public: + virtual ::java::lang::String * toString(); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) fpos; + ::gnu::java::awt::font::autofit::Segment * first; + ::gnu::java::awt::font::autofit::Segment * last; + jint opos; + ::gnu::java::awt::font::autofit::Edge * link; + ::gnu::java::awt::font::autofit::Edge * serif; + jint flags; + jint dir; + ::gnu::java::awt::font::autofit::Width * blueEdge; + jint pos; + jint scale; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_font_autofit_Edge__ diff --git a/libjava/gnu/java/awt/font/autofit/GlyphHints.h b/libjava/gnu/java/awt/font/autofit/GlyphHints.h index 6a878d5..27ce963 100644 --- a/libjava/gnu/java/awt/font/autofit/GlyphHints.h +++ b/libjava/gnu/java/awt/font/autofit/GlyphHints.h @@ -29,6 +29,7 @@ extern "Java" { namespace truetype { + class Point; class Zone; } } @@ -45,13 +46,42 @@ public: // actually package-private GlyphHints(); virtual void rescale(::gnu::java::awt::font::autofit::ScriptMetrics *); virtual void reload(::gnu::java::awt::font::opentype::truetype::Zone *); - virtual void computeSegments(jint); - virtual void linkSegments(jint); +private: + void setWeakPoint(::gnu::java::awt::font::opentype::truetype::Point *); + void computeInflectionPoints(); +public: // actually package-private + virtual jboolean doHorizontal(); + virtual jboolean doVertical(); + virtual void alignWeakPoints(jint); +private: + void iupShift(jint, jint, jint); + void iupInterp(jint, jint, jint, jint); +public: // actually package-private + virtual void alignStrongPoints(jint); +private: + void storePoint(::gnu::java::awt::font::opentype::truetype::Point *, jint, jint, jshort); +public: // actually package-private + virtual void alignEdgePoints(jint); +private: + jint getPointIndex(::gnu::java::awt::font::opentype::truetype::Point *); +public: + virtual jboolean doAlignEdgePoints(); + virtual jboolean doAlignStrongPoints(); + virtual jboolean doAlignWeakPoints(); +public: // actually package-private jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) xScale; jint xDelta; jint yScale; jint yDelta; JArray< ::gnu::java::awt::font::autofit::AxisHints * > * axis; + JArray< ::gnu::java::awt::font::opentype::truetype::Point * > * points; + jint numPoints; + jint maxPoints; + JArray< ::gnu::java::awt::font::opentype::truetype::Point * > * contours; + jint numContours; + jint maxContours; + ::gnu::java::awt::font::autofit::ScriptMetrics * metrics; + jint flags; public: static ::java::lang::Class class$; }; diff --git a/libjava/gnu/java/awt/font/autofit/HintScaler.h b/libjava/gnu/java/awt/font/autofit/HintScaler.h new file mode 100644 index 0000000..b494fe4 --- /dev/null +++ b/libjava/gnu/java/awt/font/autofit/HintScaler.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_font_autofit_HintScaler__ +#define __gnu_java_awt_font_autofit_HintScaler__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace font + { + namespace autofit + { + class HintScaler; + } + namespace opentype + { + class OpenTypeFont; + } + } + } + } + } +} + +class gnu::java::awt::font::autofit::HintScaler : public ::java::lang::Object +{ + +public: // actually package-private + HintScaler(); + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) xScale; + jint xDelta; + jint yScale; + jint yDelta; + ::gnu::java::awt::font::opentype::OpenTypeFont * face; + jint renderMode; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_font_autofit_HintScaler__ diff --git a/libjava/gnu/java/awt/font/autofit/Latin.h b/libjava/gnu/java/awt/font/autofit/Latin.h index af4c300..7afa24c 100644 --- a/libjava/gnu/java/awt/font/autofit/Latin.h +++ b/libjava/gnu/java/awt/font/autofit/Latin.h @@ -7,6 +7,8 @@ #pragma interface #include +#include + extern "Java" { namespace gnu @@ -19,19 +21,36 @@ extern "Java" { namespace autofit { + class Edge; class GlyphHints; + class HintScaler; class Latin; class LatinMetrics; class ScriptMetrics; + class Width; } namespace opentype { class OpenTypeFont; + namespace truetype + { + class Zone; + } } } } } } + namespace java + { + namespace awt + { + namespace geom + { + class AffineTransform; + } + } + } } class gnu::java::awt::font::autofit::Latin : public ::java::lang::Object @@ -40,16 +59,51 @@ class gnu::java::awt::font::autofit::Latin : public ::java::lang::Object public: // actually package-private Latin(); public: - virtual void applyHints(::gnu::java::awt::font::autofit::GlyphHints *, ::gnu::java::awt::font::autofit::ScriptMetrics *); + virtual void applyHints(::gnu::java::awt::font::autofit::GlyphHints *, ::gnu::java::awt::font::opentype::truetype::Zone *, ::gnu::java::awt::font::autofit::ScriptMetrics *); +private: + void hintEdges(::gnu::java::awt::font::autofit::GlyphHints *, jint); + void alignSerifEdge(::gnu::java::awt::font::autofit::GlyphHints *, ::gnu::java::awt::font::autofit::Edge *, ::gnu::java::awt::font::autofit::Edge *); + jint computeStemWidth(::gnu::java::awt::font::autofit::GlyphHints *, jint, jint, jint, jint); + jboolean doMono(::gnu::java::awt::font::autofit::GlyphHints *); + jint snapWidth(JArray< ::gnu::java::awt::font::autofit::Width * > *, jint, jint); + jint doneWidth(jint, jint); + jboolean doVertSnap(::gnu::java::awt::font::autofit::GlyphHints *); + jboolean doHorzSnap(::gnu::java::awt::font::autofit::GlyphHints *); + jboolean doStemAdjust(::gnu::java::awt::font::autofit::GlyphHints *); + void alignLinkedEdge(::gnu::java::awt::font::autofit::GlyphHints *, jint, ::gnu::java::awt::font::autofit::Edge *, ::gnu::java::awt::font::autofit::Edge *); +public: virtual void doneMetrics(::gnu::java::awt::font::autofit::ScriptMetrics *); virtual void initHints(::gnu::java::awt::font::autofit::GlyphHints *, ::gnu::java::awt::font::autofit::ScriptMetrics *); virtual void initMetrics(::gnu::java::awt::font::autofit::ScriptMetrics *, ::gnu::java::awt::font::opentype::OpenTypeFont *); - virtual void scaleMetrics(::gnu::java::awt::font::autofit::ScriptMetrics *); + virtual void scaleMetrics(::gnu::java::awt::font::autofit::ScriptMetrics *, ::gnu::java::awt::font::autofit::HintScaler *); private: + void scaleMetricsDim(::gnu::java::awt::font::autofit::LatinMetrics *, ::gnu::java::awt::font::autofit::HintScaler *, jint); void initWidths(::gnu::java::awt::font::autofit::LatinMetrics *, ::gnu::java::awt::font::opentype::OpenTypeFont *, jchar); +public: // actually package-private + virtual void linkSegments(::gnu::java::awt::font::autofit::GlyphHints *, jint); +private: void initBlues(::gnu::java::awt::font::autofit::LatinMetrics *, ::gnu::java::awt::font::opentype::OpenTypeFont *); jint constant(::gnu::java::awt::font::autofit::LatinMetrics *, jint); + void computeSegments(::gnu::java::awt::font::autofit::GlyphHints *, jint); + jboolean isTopBlue(jint); + void detectFeatures(::gnu::java::awt::font::autofit::GlyphHints *, jint); + void computeEdges(::gnu::java::awt::font::autofit::GlyphHints *, jint); + void computeBlueEdges(::gnu::java::awt::font::autofit::GlyphHints *, ::gnu::java::awt::font::autofit::LatinMetrics *); +public: // actually package-private static const jint MAX_WIDTHS = 16; +private: + static const jint MAX_TEST_CHARS = 12; + static const jint CAPITAL_TOP = 0; + static const jint CAPITAL_BOTTOM = 1; + static const jint SMALL_F_TOP = 2; + static const jint SMALL_TOP = 3; + static const jint SMALL_BOTTOM = 4; + static const jint SMALL_MINOR = 5; +public: // actually package-private + static const jint BLUE_MAX = 6; +private: + static JArray< ::java::lang::String * > * TEST_CHARS; + static ::java::awt::geom::AffineTransform * IDENTITY; public: // actually package-private static jboolean $assertionsDisabled; public: diff --git a/libjava/gnu/java/awt/font/autofit/LatinAxis.h b/libjava/gnu/java/awt/font/autofit/LatinAxis.h index 631cd79..8c56e5a 100644 --- a/libjava/gnu/java/awt/font/autofit/LatinAxis.h +++ b/libjava/gnu/java/awt/font/autofit/LatinAxis.h @@ -22,6 +22,7 @@ extern "Java" namespace autofit { class LatinAxis; + class LatinBlue; class Width; } } @@ -39,7 +40,11 @@ public: // actually package-private jint delta; jint widthCount; JArray< ::gnu::java::awt::font::autofit::Width * > * widths; - jfloat edgeDistanceTreshold; + jint edgeDistanceTreshold; + JArray< ::gnu::java::awt::font::autofit::LatinBlue * > * blues; + jint blueCount; + jint orgDelta; + jint orgScale; public: static ::java::lang::Class class$; }; diff --git a/libjava/gnu/java/awt/font/autofit/LatinBlue.h b/libjava/gnu/java/awt/font/autofit/LatinBlue.h new file mode 100644 index 0000000..b8a6a39 --- /dev/null +++ b/libjava/gnu/java/awt/font/autofit/LatinBlue.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_font_autofit_LatinBlue__ +#define __gnu_java_awt_font_autofit_LatinBlue__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace font + { + namespace autofit + { + class LatinBlue; + class Width; + } + } + } + } + } +} + +class gnu::java::awt::font::autofit::LatinBlue : public ::java::lang::Object +{ + +public: + LatinBlue(); + virtual ::java::lang::String * toString(); +public: // actually package-private + static const jint FLAG_BLUE_ACTIVE = 1; + static const jint FLAG_TOP = 2; + static const jint FLAG_ADJUSTMENT = 4; + ::gnu::java::awt::font::autofit::Width * __attribute__((aligned(__alignof__( ::java::lang::Object)))) ref; + ::gnu::java::awt::font::autofit::Width * shoot; + jint flags; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_font_autofit_LatinBlue__ diff --git a/libjava/gnu/java/awt/font/autofit/LatinMetrics.h b/libjava/gnu/java/awt/font/autofit/LatinMetrics.h index a7a12fd..18a21db 100644 --- a/libjava/gnu/java/awt/font/autofit/LatinMetrics.h +++ b/libjava/gnu/java/awt/font/autofit/LatinMetrics.h @@ -24,6 +24,10 @@ extern "Java" class LatinAxis; class LatinMetrics; } + namespace opentype + { + class OpenTypeFont; + } } } } @@ -35,6 +39,7 @@ class gnu::java::awt::font::autofit::LatinMetrics : public ::gnu::java::awt::fon public: // actually package-private LatinMetrics(); + LatinMetrics(::gnu::java::awt::font::opentype::OpenTypeFont *); JArray< ::gnu::java::awt::font::autofit::LatinAxis * > * __attribute__((aligned(__alignof__( ::gnu::java::awt::font::autofit::ScriptMetrics)))) axis; jint unitsPerEm; public: diff --git a/libjava/gnu/java/awt/font/autofit/Scaler.h b/libjava/gnu/java/awt/font/autofit/Scaler.h deleted file mode 100644 index ffebc5a..0000000 --- a/libjava/gnu/java/awt/font/autofit/Scaler.h +++ /dev/null @@ -1,48 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __gnu_java_awt_font_autofit_Scaler__ -#define __gnu_java_awt_font_autofit_Scaler__ - -#pragma interface - -#include -extern "Java" -{ - namespace gnu - { - namespace java - { - namespace awt - { - namespace font - { - namespace autofit - { - class Scaler; - } - namespace opentype - { - class OpenTypeFont; - } - } - } - } - } -} - -class gnu::java::awt::font::autofit::Scaler : public ::java::lang::Object -{ - -public: // actually package-private - Scaler(); - jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) xScale; - jint xDelta; - jint yScale; - jint yDelta; - ::gnu::java::awt::font::opentype::OpenTypeFont * face; -public: - static ::java::lang::Class class$; -}; - -#endif // __gnu_java_awt_font_autofit_Scaler__ diff --git a/libjava/gnu/java/awt/font/autofit/Script.h b/libjava/gnu/java/awt/font/autofit/Script.h index 5a72289..6455af5 100644 --- a/libjava/gnu/java/awt/font/autofit/Script.h +++ b/libjava/gnu/java/awt/font/autofit/Script.h @@ -20,12 +20,17 @@ extern "Java" namespace autofit { class GlyphHints; + class HintScaler; class Script; class ScriptMetrics; } namespace opentype { class OpenTypeFont; + namespace truetype + { + class Zone; + } } } } @@ -38,10 +43,10 @@ class gnu::java::awt::font::autofit::Script : public ::java::lang::Object public: virtual void initMetrics(::gnu::java::awt::font::autofit::ScriptMetrics *, ::gnu::java::awt::font::opentype::OpenTypeFont *) = 0; - virtual void scaleMetrics(::gnu::java::awt::font::autofit::ScriptMetrics *) = 0; + virtual void scaleMetrics(::gnu::java::awt::font::autofit::ScriptMetrics *, ::gnu::java::awt::font::autofit::HintScaler *) = 0; virtual void doneMetrics(::gnu::java::awt::font::autofit::ScriptMetrics *) = 0; virtual void initHints(::gnu::java::awt::font::autofit::GlyphHints *, ::gnu::java::awt::font::autofit::ScriptMetrics *) = 0; - virtual void applyHints(::gnu::java::awt::font::autofit::GlyphHints *, ::gnu::java::awt::font::autofit::ScriptMetrics *) = 0; + virtual void applyHints(::gnu::java::awt::font::autofit::GlyphHints *, ::gnu::java::awt::font::opentype::truetype::Zone *, ::gnu::java::awt::font::autofit::ScriptMetrics *) = 0; static ::java::lang::Class class$; } __attribute__ ((java_interface)); diff --git a/libjava/gnu/java/awt/font/autofit/ScriptMetrics.h b/libjava/gnu/java/awt/font/autofit/ScriptMetrics.h index 79ab128..c58575b 100644 --- a/libjava/gnu/java/awt/font/autofit/ScriptMetrics.h +++ b/libjava/gnu/java/awt/font/autofit/ScriptMetrics.h @@ -19,7 +19,7 @@ extern "Java" { namespace autofit { - class Scaler; + class HintScaler; class Script; class ScriptMetrics; } @@ -35,7 +35,7 @@ class gnu::java::awt::font::autofit::ScriptMetrics : public ::java::lang::Object public: // actually package-private ScriptMetrics(); ::gnu::java::awt::font::autofit::Script * __attribute__((aligned(__alignof__( ::java::lang::Object)))) script; - ::gnu::java::awt::font::autofit::Scaler * scaler; + ::gnu::java::awt::font::autofit::HintScaler * scaler; public: static ::java::lang::Class class$; }; diff --git a/libjava/gnu/java/awt/font/autofit/Segment.h b/libjava/gnu/java/awt/font/autofit/Segment.h index 4b2adef..d3c1d72 100644 --- a/libjava/gnu/java/awt/font/autofit/Segment.h +++ b/libjava/gnu/java/awt/font/autofit/Segment.h @@ -19,8 +19,16 @@ extern "Java" { namespace autofit { + class Edge; class Segment; } + namespace opentype + { + namespace truetype + { + class Point; + } + } } } } @@ -32,9 +40,28 @@ class gnu::java::awt::font::autofit::Segment : public ::java::lang::Object public: // actually package-private Segment(); - ::gnu::java::awt::font::autofit::Segment * __attribute__((aligned(__alignof__( ::java::lang::Object)))) link; - jint index; +public: + virtual ::java::lang::String * toString(); +public: // actually package-private + static const jint FLAG_EDGE_NORMAL = 0; + static const jint FLAG_EDGE_ROUND = 1; + static const jint FLAG_EDGE_SERIF = 2; + static const jint FLAG_EDGE_DONE = 4; + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) dir; + jint flags; + ::gnu::java::awt::font::autofit::Segment * link; + ::gnu::java::awt::font::autofit::Segment * serif; + jint numLinked; jint pos; + ::gnu::java::awt::font::opentype::truetype::Point * first; + ::gnu::java::awt::font::opentype::truetype::Point * last; + ::gnu::java::awt::font::opentype::truetype::Point * contour; + jint minPos; + jint maxPos; + jint score; + jint len; + ::gnu::java::awt::font::autofit::Segment * edgeNext; + ::gnu::java::awt::font::autofit::Edge * edge; public: static ::java::lang::Class class$; }; diff --git a/libjava/gnu/java/awt/font/autofit/Utils.h b/libjava/gnu/java/awt/font/autofit/Utils.h new file mode 100644 index 0000000..12fb2f5 --- /dev/null +++ b/libjava/gnu/java/awt/font/autofit/Utils.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_font_autofit_Utils__ +#define __gnu_java_awt_font_autofit_Utils__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace font + { + namespace autofit + { + class Utils; + class Width; + } + } + } + } + } +} + +class gnu::java::awt::font::autofit::Utils : public ::java::lang::Object +{ + +public: // actually package-private + Utils(); + static jint computeDirection(jint, jint); +public: + static jint atan(jint, jint); + static jint angleDiff(jint, jint); +public: // actually package-private + static void sort(jint, JArray< jint > *); + static void sort(jint, JArray< ::gnu::java::awt::font::autofit::Width * > *); + static jint pixRound(jint); + static jint pixFloor(jint); +public: + static jint mulDiv(jint, jint, jint); +private: + static const jint ATAN_BITS = 8; + static JArray< jbyte > * ATAN; + static const jint ANGLE_PI = 256; + static const jint ANGLE_PI2 = 128; + static const jint ANGLE_PI4 = 64; + static const jint ANGLE_2PI = 512; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_font_autofit_Utils__ diff --git a/libjava/gnu/java/awt/font/autofit/Width.h b/libjava/gnu/java/awt/font/autofit/Width.h index 23d21fe..d107e50 100644 --- a/libjava/gnu/java/awt/font/autofit/Width.h +++ b/libjava/gnu/java/awt/font/autofit/Width.h @@ -30,8 +30,10 @@ extern "Java" class gnu::java::awt::font::autofit::Width : public ::java::lang::Object { +public: // actually package-private + Width(jint); public: - Width(); + virtual ::java::lang::String * toString(); public: // actually package-private jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) org; jint cur; diff --git a/libjava/gnu/java/awt/font/opentype/Hinter.h b/libjava/gnu/java/awt/font/opentype/Hinter.h new file mode 100644 index 0000000..29992b7 --- /dev/null +++ b/libjava/gnu/java/awt/font/opentype/Hinter.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_font_opentype_Hinter__ +#define __gnu_java_awt_font_opentype_Hinter__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace font + { + namespace opentype + { + class Hinter; + class OpenTypeFont; + namespace truetype + { + class Zone; + } + } + } + } + } + } +} + +class gnu::java::awt::font::opentype::Hinter : public ::java::lang::Object +{ + +public: + virtual void init(::gnu::java::awt::font::opentype::OpenTypeFont *) = 0; + virtual void applyHints(::gnu::java::awt::font::opentype::truetype::Zone *) = 0; + virtual void setFlags(jint) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_java_awt_font_opentype_Hinter__ diff --git a/libjava/gnu/java/awt/font/opentype/OpenTypeFont.h b/libjava/gnu/java/awt/font/opentype/OpenTypeFont.h index 149337c..7d07889 100644 --- a/libjava/gnu/java/awt/font/opentype/OpenTypeFont.h +++ b/libjava/gnu/java/awt/font/opentype/OpenTypeFont.h @@ -23,6 +23,7 @@ extern "Java" { class CharGlyphMap; class GlyphNamer; + class Hinter; class OpenTypeFont; class Scaler; namespace truetype @@ -88,13 +89,16 @@ public: jint getGlyph(jint); ::java::awt::font::GlyphVector * createGlyphVector(::java::awt::Font *, ::java::awt::font::FontRenderContext *, ::java::text::CharacterIterator *); void getAdvance(jint, jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean, jboolean, ::java::awt::geom::Point2D *); - ::java::awt::geom::GeneralPath * getGlyphOutline(jint, jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean); + ::java::awt::geom::GeneralPath * getGlyphOutline(jint, jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean, jint); ::gnu::java::awt::font::opentype::truetype::Zone * getRawGlyphOutline(jint, ::java::awt::geom::AffineTransform *); ::java::lang::String * getGlyphName(jint); jfloat getAscent(jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean, jboolean); jfloat getDescent(jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean, jboolean); public: // actually package-private static ::java::lang::String * tagToString(jint); +private: + void checkHinter(jint); +public: // actually package-private static const jint TAG_OTTO = 1330926671; static const jint TAG_SFNT = 1936092788; static const jint TAG_TRUE = 1953658213; @@ -114,6 +118,7 @@ private: ::gnu::java::awt::font::opentype::Scaler * scaler; ::gnu::java::awt::font::opentype::CharGlyphMap * cmap; ::gnu::java::awt::font::opentype::GlyphNamer * glyphNamer; + ::gnu::java::awt::font::opentype::Hinter * hinter; ::java::nio::ByteBuffer * nameTable; public: static ::java::lang::Class class$; diff --git a/libjava/gnu/java/awt/font/opentype/Scaler.h b/libjava/gnu/java/awt/font/opentype/Scaler.h index a911828..6d229d7 100644 --- a/libjava/gnu/java/awt/font/opentype/Scaler.h +++ b/libjava/gnu/java/awt/font/opentype/Scaler.h @@ -19,6 +19,7 @@ extern "Java" { namespace opentype { + class Hinter; class Scaler; namespace truetype { @@ -48,7 +49,7 @@ class gnu::java::awt::font::opentype::Scaler : public ::java::lang::Object public: Scaler(); - virtual ::java::awt::geom::GeneralPath * getOutline(jint, jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean) = 0; + virtual ::java::awt::geom::GeneralPath * getOutline(jint, jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean, ::gnu::java::awt::font::opentype::Hinter *, jint) = 0; virtual void getAdvance(jint, jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean, jboolean, ::java::awt::geom::Point2D *) = 0; virtual jfloat getAscent(jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean, jboolean) = 0; virtual jfloat getDescent(jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean, jboolean) = 0; diff --git a/libjava/gnu/java/awt/font/opentype/truetype/Fixed.h b/libjava/gnu/java/awt/font/opentype/truetype/Fixed.h index e93546a..9427f13 100644 --- a/libjava/gnu/java/awt/font/opentype/truetype/Fixed.h +++ b/libjava/gnu/java/awt/font/opentype/truetype/Fixed.h @@ -36,15 +36,19 @@ class gnu::java::awt::font::opentype::truetype::Fixed : public ::java::lang::Obj Fixed(); public: static jint mul(jint, jint); + static jint mul16(jint, jint); static jint div(jint, jint); + static jint div16(jint, jint); static jint ceil(jint); static jint floor(jint); static jint vectorLength(jint, jint); static jint intValue(jint); static jfloat floatValue(jint); + static jfloat floatValue16(jint); static jdouble doubleValue(jint); static jint valueOf(jfloat); static jint valueOf(jdouble); + static jint valueOf16(jdouble); static ::java::lang::String * toString(jint); static ::java::lang::String * toString(jint, jint); static const jint ONE = 64; diff --git a/libjava/gnu/java/awt/font/opentype/truetype/GlyphLoader.h b/libjava/gnu/java/awt/font/opentype/truetype/GlyphLoader.h index 2b0dd07..f0582d3 100644 --- a/libjava/gnu/java/awt/font/opentype/truetype/GlyphLoader.h +++ b/libjava/gnu/java/awt/font/opentype/truetype/GlyphLoader.h @@ -21,6 +21,7 @@ extern "Java" { namespace opentype { + class Hinter; namespace truetype { class GlyphLoader; @@ -56,12 +57,12 @@ class gnu::java::awt::font::opentype::truetype::GlyphLoader : public ::java::lan public: // actually package-private GlyphLoader(::gnu::java::awt::font::opentype::truetype::GlyphLocator *, ::gnu::java::awt::font::opentype::truetype::VirtualMachine *, jint, jint, jint, ::gnu::java::awt::font::opentype::truetype::GlyphMeasurer *); public: - void loadGlyph(jint, jdouble, ::java::awt::geom::AffineTransform *, jboolean, ::gnu::java::awt::font::opentype::truetype::Zone *); - void loadGlyph(jint, ::java::awt::geom::AffineTransform *, ::gnu::java::awt::font::opentype::truetype::Zone *); + void loadGlyph(jint, jdouble, ::java::awt::geom::AffineTransform *, jboolean, ::gnu::java::awt::font::opentype::truetype::Zone *, ::gnu::java::awt::font::opentype::Hinter *); + void loadGlyph(jint, ::java::awt::geom::AffineTransform *, ::gnu::java::awt::font::opentype::truetype::Zone *, ::gnu::java::awt::font::opentype::Hinter *); private: - void loadSubGlyph(jint, jdouble, ::java::awt::geom::AffineTransform *, jboolean, ::gnu::java::awt::font::opentype::truetype::Zone *, jint, jint); - void loadSimpleGlyph(jint, jdouble, ::java::awt::geom::AffineTransform *, jboolean, jint, ::java::nio::ByteBuffer *, ::gnu::java::awt::font::opentype::truetype::Zone *, jint, jint); - void loadCompoundGlyph(jint, jdouble, ::java::awt::geom::AffineTransform *, jboolean, ::java::nio::ByteBuffer *, ::gnu::java::awt::font::opentype::truetype::Zone *, jint, jint); + void loadSubGlyph(jint, jdouble, ::java::awt::geom::AffineTransform *, jboolean, ::gnu::java::awt::font::opentype::truetype::Zone *, jint, jint, ::gnu::java::awt::font::opentype::Hinter *); + void loadSimpleGlyph(jint, jdouble, ::java::awt::geom::AffineTransform *, jboolean, jint, ::java::nio::ByteBuffer *, ::gnu::java::awt::font::opentype::truetype::Zone *, jint, jint, ::gnu::java::awt::font::opentype::Hinter *); + void loadCompoundGlyph(jint, jdouble, ::java::awt::geom::AffineTransform *, jboolean, ::java::nio::ByteBuffer *, ::gnu::java::awt::font::opentype::truetype::Zone *, jint, jint, ::gnu::java::awt::font::opentype::Hinter *); jdouble getDouble214(::java::nio::ByteBuffer *); void loadFlags(jint, ::java::nio::ByteBuffer *); void loadCoordinates(jint, ::java::nio::ByteBuffer *, ::gnu::java::awt::font::opentype::truetype::Zone *); diff --git a/libjava/gnu/java/awt/font/opentype/truetype/Point.h b/libjava/gnu/java/awt/font/opentype/truetype/Point.h new file mode 100644 index 0000000..a993ca0 --- /dev/null +++ b/libjava/gnu/java/awt/font/opentype/truetype/Point.h @@ -0,0 +1,99 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_font_opentype_truetype_Point__ +#define __gnu_java_awt_font_opentype_truetype_Point__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace font + { + namespace opentype + { + namespace truetype + { + class Point; + } + } + } + } + } + } +} + +class gnu::java::awt::font::opentype::truetype::Point : public ::java::lang::Object +{ + +public: + Point(); + virtual ::gnu::java::awt::font::opentype::truetype::Point * getNext(); + virtual void setNext(::gnu::java::awt::font::opentype::truetype::Point *); + virtual ::gnu::java::awt::font::opentype::truetype::Point * getPrev(); + virtual void setPrev(::gnu::java::awt::font::opentype::truetype::Point *); + virtual jint getOrigX(); + virtual void setOrigX(jint); + virtual jint getOrigY(); + virtual void setOrigY(jint); + virtual jint getInDir(); + virtual void setInDir(jint); + virtual jint getOutDir(); + virtual void setOutDir(jint); + virtual jshort getFlags(); + virtual void setFlags(jshort); + virtual void addFlags(jshort); + virtual jboolean isControlPoint(); + virtual jint getU(); + virtual void setU(jint); + virtual jint getV(); + virtual void setV(jint); + virtual ::java::lang::String * toString(); + virtual jint getX(); + virtual void setX(jint); + virtual jint getY(); + virtual void setY(jint); + virtual jint getScaledX(); + virtual void setScaledX(jint); + virtual jint getScaledY(); + virtual void setScaledY(jint); + static const jshort FLAG_TOUCHED_X = 1; + static const jshort FLAG_TOUCHED_Y = 2; + static const jshort FLAG_ON_CURVE = 4; + static const jshort FLAG_CONTOUR_END = 8; + static const jshort FLAG_WEAK_INTERPOLATION = 16; + static const jshort FLAG_INFLECTION = 32; + static const jshort FLAG_DONE_X = 64; + static const jshort FLAG_DONE_Y = 128; + static const jint DIR_RIGHT = 1; + static const jint DIR_LEFT = -1; + static const jint DIR_UP = 2; + static const jint DIR_DOWN = -2; +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) origX; + jint origY; + jint scaledX; + jint scaledY; + jint x; + jint y; + jint u; + jint v; + jshort flags; +private: + ::gnu::java::awt::font::opentype::truetype::Point * prev; + ::gnu::java::awt::font::opentype::truetype::Point * next; +public: // actually package-private + jint inDir; + jint outDir; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_font_opentype_truetype_Point__ diff --git a/libjava/gnu/java/awt/font/opentype/truetype/TrueTypeScaler.h b/libjava/gnu/java/awt/font/opentype/truetype/TrueTypeScaler.h index 77ae20f..fadc996 100644 --- a/libjava/gnu/java/awt/font/opentype/truetype/TrueTypeScaler.h +++ b/libjava/gnu/java/awt/font/opentype/truetype/TrueTypeScaler.h @@ -19,6 +19,7 @@ extern "Java" { namespace opentype { + class Hinter; namespace truetype { class GlyphLoader; @@ -54,7 +55,7 @@ class gnu::java::awt::font::opentype::truetype::TrueTypeScaler : public ::gnu::j public: TrueTypeScaler(jint, ::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *, jint, ::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *); - ::java::awt::geom::GeneralPath * getOutline(jint, jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean); + ::java::awt::geom::GeneralPath * getOutline(jint, jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean, ::gnu::java::awt::font::opentype::Hinter *, jint); ::gnu::java::awt::font::opentype::truetype::Zone * getRawOutline(jint, ::java::awt::geom::AffineTransform *); void getAdvance(jint, jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean, jboolean, ::java::awt::geom::Point2D *); private: diff --git a/libjava/gnu/java/awt/font/opentype/truetype/Zone.h b/libjava/gnu/java/awt/font/opentype/truetype/Zone.h index b3ff4f0..e564789 100644 --- a/libjava/gnu/java/awt/font/opentype/truetype/Zone.h +++ b/libjava/gnu/java/awt/font/opentype/truetype/Zone.h @@ -23,6 +23,7 @@ extern "Java" { namespace truetype { + class Point; class Zone; } } @@ -52,9 +53,11 @@ public: jint getCapacity(); jint getSize(); jint getX(jint); + jint getX(jint, jint); void setX(jint, jint, jboolean); void setY(jint, jint, jboolean); jint getY(jint); + jint getY(jint, jint); jint getOriginalX(jint); jint getOriginalY(jint); void setOriginalX(jint, jint); @@ -70,18 +73,19 @@ public: // actually package-private private: void dump(); public: - ::java::awt::geom::PathIterator * getPathIterator(); - ::java::awt::geom::GeneralPath * getPath(); + ::java::awt::geom::PathIterator * getPathIterator(jint); + ::java::awt::geom::GeneralPath * getPath(jint); + jint getNumContours(); + jint getContourEnd(jint); + JArray< ::gnu::java::awt::font::opentype::truetype::Point * > * getPoints(); private: - JArray< jint > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) pos; - JArray< jint > * origPos; - JArray< jbyte > * flags; + JArray< ::gnu::java::awt::font::opentype::truetype::Point * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) points; jint numPoints; - static const jint FLAG_TOUCHED_X = 1; - static const jint FLAG_TOUCHED_Y = 2; - static const jint FLAG_ON_CURVE = 4; - static const jint FLAG_CONTOUR_END = 8; public: + jdouble scaleX; + jdouble scaleY; + jdouble shearX; + jdouble shearY; static ::java::lang::Class class$; }; diff --git a/libjava/gnu/java/awt/font/opentype/truetype/ZonePathIterator.h b/libjava/gnu/java/awt/font/opentype/truetype/ZonePathIterator.h index fe61003..5e64ba8 100644 --- a/libjava/gnu/java/awt/font/opentype/truetype/ZonePathIterator.h +++ b/libjava/gnu/java/awt/font/opentype/truetype/ZonePathIterator.h @@ -37,7 +37,7 @@ class gnu::java::awt::font::opentype::truetype::ZonePathIterator : public ::java { public: // actually package-private - ZonePathIterator(::gnu::java::awt::font::opentype::truetype::Zone *); + ZonePathIterator(::gnu::java::awt::font::opentype::truetype::Zone *, jint); public: jint getWindingRule(); jboolean isDone(); @@ -58,6 +58,7 @@ private: jint numPoints; jint curPoint; jint contourStart; + jint type; public: // actually package-private JArray< jfloat > * floats; public: diff --git a/libjava/gnu/java/awt/java2d/AbstractGraphics2D.h b/libjava/gnu/java/awt/java2d/AbstractGraphics2D.h index b8933b3..48d474b 100644 --- a/libjava/gnu/java/awt/java2d/AbstractGraphics2D.h +++ b/libjava/gnu/java/awt/java2d/AbstractGraphics2D.h @@ -20,6 +20,7 @@ extern "Java" namespace java2d { class AbstractGraphics2D; + class ScanlineConverter; class ShapeCache; } } @@ -29,6 +30,7 @@ extern "Java" { namespace awt { + class BasicStroke; class Color; class Composite; class Font; @@ -50,7 +52,6 @@ extern "Java" namespace geom { class AffineTransform; - class Rectangle2D; } namespace image { @@ -175,11 +176,9 @@ public: // actually protected virtual void rawCopyArea(jint, jint, jint, jint, jint, jint); private: void copyAreaImpl(jint, jint, jint, jint, jint, jint); - void fillShapeImpl(::java::util::ArrayList *, ::java::awt::geom::Rectangle2D *, ::java::awt::geom::Rectangle2D *, ::java::awt::geom::Rectangle2D *); public: // actually protected - virtual void fillScanline(::java::awt::PaintContext *, jint, jint, jint); + virtual void fillScanline(jint, jint, jint); private: - void fillShapeAntialias(::java::util::ArrayList *, ::java::awt::geom::Rectangle2D *, ::java::awt::geom::Rectangle2D *, ::java::awt::geom::Rectangle2D *); void fillScanlineAA(JArray< jint > *, jint, jint, jint, ::java::awt::PaintContext *, jint); public: // actually protected virtual void init(); @@ -189,14 +188,17 @@ private: void updateOptimization(); static ::java::awt::Rectangle * computeIntersection(jint, jint, jint, jint, ::java::awt::Rectangle *); void updateClip(::java::awt::geom::AffineTransform *); - ::java::util::ArrayList * getSegments(::java::awt::Shape *, ::java::awt::geom::AffineTransform *, ::java::awt::geom::Rectangle2D *, jboolean); ::gnu::java::awt::java2d::ShapeCache * getShapeCache(); + ::gnu::java::awt::java2d::ScanlineConverter * getScanlineConverter(); + static ::java::awt::Font * FONT; static const jint AA_SAMPLING = 8; static ::java::lang::ThreadLocal * shapeCache; + static ::java::lang::ThreadLocal * scanlineConverters; public: // actually protected ::java::awt::geom::AffineTransform * __attribute__((aligned(__alignof__( ::java::awt::Graphics2D)))) transform__; private: ::java::awt::Paint * paint; + ::java::awt::PaintContext * paintContext; ::java::awt::Color * background; ::java::awt::Font * font; ::java::awt::Composite * composite; @@ -207,6 +209,8 @@ private: JArray< jint > * alpha; JArray< ::java::util::ArrayList * > * edgeTable; jboolean isOptimized; + static ::java::awt::BasicStroke * STANDARD_STROKE; + static ::java::util::HashMap * STANDARD_HINTS; public: static ::java::lang::Class class$; }; diff --git a/libjava/gnu/java/awt/java2d/ActiveEdges.h b/libjava/gnu/java/awt/java2d/ActiveEdges.h new file mode 100644 index 0000000..9310460 --- /dev/null +++ b/libjava/gnu/java/awt/java2d/ActiveEdges.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_java2d_ActiveEdges__ +#define __gnu_java_awt_java2d_ActiveEdges__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace java2d + { + class ActiveEdges; + class PolyEdge; + } + } + } + } +} + +class gnu::java::awt::java2d::ActiveEdges : public ::java::lang::Object +{ + +public: // actually package-private + ActiveEdges(); + void clear(); + void add(::gnu::java::awt::java2d::PolyEdge *); + void intersectSortAndPack(jint, jint); + jint getNumActiveEdges(); + ::gnu::java::awt::java2d::PolyEdge * getActiveEdge(jint); + void remove(jint); +public: + ::java::lang::String * toString(); +private: + JArray< ::gnu::java::awt::java2d::PolyEdge * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) activeEdges; + jint numActiveEdges; +public: // actually package-private + static jboolean $assertionsDisabled; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_java2d_ActiveEdges__ diff --git a/libjava/gnu/java/awt/java2d/PolyEdge.h b/libjava/gnu/java/awt/java2d/PolyEdge.h index 6698599..e51a868 100644 --- a/libjava/gnu/java/awt/java2d/PolyEdge.h +++ b/libjava/gnu/java/awt/java2d/PolyEdge.h @@ -28,18 +28,26 @@ class gnu::java::awt::java2d::PolyEdge : public ::java::lang::Object { public: // actually package-private - PolyEdge(jdouble, jdouble, jdouble, jdouble, jboolean); + PolyEdge(); + PolyEdge(jint, jint, jint, jint, jint, jboolean); + void init(jint, jint, jint, jint, jint, jboolean); public: - virtual jint compareTo(::java::lang::Object *); - virtual ::java::lang::String * toString(); - jdouble __attribute__((aligned(__alignof__( ::java::lang::Object)))) x0; - jdouble y0; - jdouble x1; - jdouble y1; + jint compareTo(::java::lang::Object *); public: // actually package-private - jdouble slope; - jdouble xIntersection; + void intersect(jint, jint); +public: + ::java::lang::String * toString(); + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) x0; + jint y0; + jint x1; + jint y1; +private: + jint slope; +public: // actually package-private + jint xIntersection; jboolean isClip; + ::gnu::java::awt::java2d::PolyEdge * poolNext; + ::gnu::java::awt::java2d::PolyEdge * scanlineNext; public: static ::java::lang::Class class$; }; diff --git a/libjava/gnu/java/awt/java2d/Scanline.h b/libjava/gnu/java/awt/java2d/Scanline.h new file mode 100644 index 0000000..ce2be0e --- /dev/null +++ b/libjava/gnu/java/awt/java2d/Scanline.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_java2d_Scanline__ +#define __gnu_java_awt_java2d_Scanline__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace java2d + { + class PolyEdge; + class Scanline; + } + } + } + } +} + +class gnu::java::awt::java2d::Scanline : public ::java::lang::Object +{ + +public: // actually package-private + virtual void clear(); + Scanline(); + virtual void addEdge(::gnu::java::awt::java2d::PolyEdge *); + virtual ::gnu::java::awt::java2d::PolyEdge * getEdges(); +private: + ::gnu::java::awt::java2d::PolyEdge * __attribute__((aligned(__alignof__( ::java::lang::Object)))) edges; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_java2d_Scanline__ diff --git a/libjava/gnu/java/awt/java2d/ScanlineConverter.h b/libjava/gnu/java/awt/java2d/ScanlineConverter.h new file mode 100644 index 0000000..febf495 --- /dev/null +++ b/libjava/gnu/java/awt/java2d/ScanlineConverter.h @@ -0,0 +1,80 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_java2d_ScanlineConverter__ +#define __gnu_java_awt_java2d_ScanlineConverter__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace java2d + { + class AbstractGraphics2D; + class ActiveEdges; + class PolyEdge; + class Scanline; + class ScanlineConverter; + } + } + } + } + namespace java + { + namespace awt + { + class Shape; + namespace geom + { + class AffineTransform; + class PathIterator; + } + } + } +} + +class gnu::java::awt::java2d::ScanlineConverter : public ::java::lang::Object +{ + +public: // actually package-private + ScanlineConverter(); + void renderShape(::gnu::java::awt::java2d::AbstractGraphics2D *, ::java::awt::Shape *, ::java::awt::Shape *, ::java::awt::geom::AffineTransform *, jint); +private: + void clear(); + void doScanline(::gnu::java::awt::java2d::AbstractGraphics2D *, jint, jboolean, jboolean); + void setResolution(jint); + void setUpperBounds(jint); + void addShape(::java::awt::geom::PathIterator *, jboolean); + void addEdge(::gnu::java::awt::java2d::PolyEdge *); + jint fit(jint); + jint scanlineIndex(jint); + void edgePoolAdd(jint, jint, jint, jint, jboolean); + static jint FIXED_DIGITS; + static jint ONE; + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) numScanlines; + JArray< ::gnu::java::awt::java2d::Scanline * > * scanlines; + jint upperBounds; + jint resolution; + jint halfStep; + JArray< jfloat > * coords; + ::gnu::java::awt::java2d::ActiveEdges * activeEdges; + ::gnu::java::awt::java2d::PolyEdge * edgePool; + ::gnu::java::awt::java2d::PolyEdge * edgePoolLast; + jint minY; + jint maxY; +public: // actually package-private + static jboolean $assertionsDisabled; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_java2d_ScanlineConverter__ diff --git a/libjava/gnu/java/awt/peer/ClasspathDesktopPeer.h b/libjava/gnu/java/awt/peer/ClasspathDesktopPeer.h new file mode 100644 index 0000000..5433933 --- /dev/null +++ b/libjava/gnu/java/awt/peer/ClasspathDesktopPeer.h @@ -0,0 +1,86 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_ClasspathDesktopPeer__ +#define __gnu_java_awt_peer_ClasspathDesktopPeer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + class ClasspathDesktopPeer; + class GnomeDesktopPeer; + class KDEDesktopPeer; + } + } + } + } + namespace java + { + namespace awt + { + class Desktop$Action; + namespace peer + { + class DesktopPeer; + } + } + namespace net + { + class URI; + } + } +} + +class gnu::java::awt::peer::ClasspathDesktopPeer : public ::java::lang::Object +{ + +public: // actually protected + ClasspathDesktopPeer(); +public: + virtual jboolean isSupported(::java::awt::Desktop$Action *); + virtual void browse(::java::net::URI *); + virtual void edit(::java::io::File *); + virtual void mail(::java::net::URI *); + virtual void mail(); + virtual void open(::java::io::File *); + virtual void print(::java::io::File *); +public: // actually protected + virtual ::java::lang::String * getCommand(::java::lang::String *); + virtual void checkPermissions(); + virtual void checkPermissions(::java::io::File *, jboolean); + virtual void checkPrintPermissions(::java::io::File *); + virtual jboolean supportCommand(::java::lang::String *); +public: + static ::java::awt::peer::DesktopPeer * getDesktop(); +public: // actually package-private + static JArray< jint > * $SWITCH_TABLE$java$awt$Desktop$Action(); +public: // actually protected + static ::java::lang::String * _DEFAULT_BROWSER; + static ::java::lang::String * _BROWSE; + static ::java::lang::String * _MAIL; + static ::java::lang::String * _EDIT; + static ::java::lang::String * _PRINT; + static ::java::lang::String * _OPEN; + static ::gnu::java::awt::peer::KDEDesktopPeer * kde; + static ::gnu::java::awt::peer::GnomeDesktopPeer * gnome; + static ::gnu::java::awt::peer::ClasspathDesktopPeer * classpath; + ::java::util::prefs::Preferences * __attribute__((aligned(__alignof__( ::java::lang::Object)))) prefs; +private: + static JArray< jint > * $SWITCH_TABLE$java$awt$Desktop$Action__; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_ClasspathDesktopPeer__ diff --git a/libjava/gnu/java/awt/peer/ClasspathFontPeer$LRUCache.h b/libjava/gnu/java/awt/peer/ClasspathFontPeer$LRUCache.h new file mode 100644 index 0000000..7445662 --- /dev/null +++ b/libjava/gnu/java/awt/peer/ClasspathFontPeer$LRUCache.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_ClasspathFontPeer$LRUCache__ +#define __gnu_java_awt_peer_ClasspathFontPeer$LRUCache__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + class ClasspathFontPeer$LRUCache; + } + } + } + } +} + +class gnu::java::awt::peer::ClasspathFontPeer$LRUCache : public ::java::util::LinkedHashMap +{ + +public: + ClasspathFontPeer$LRUCache(jint); +public: // actually protected + virtual jboolean removeEldestEntry(::java::util::Map$Entry *); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::util::LinkedHashMap)))) max_entries; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_ClasspathFontPeer$LRUCache__ diff --git a/libjava/gnu/java/awt/peer/ClasspathFontPeer.h b/libjava/gnu/java/awt/peer/ClasspathFontPeer.h index 80a09c1..2752664 100644 --- a/libjava/gnu/java/awt/peer/ClasspathFontPeer.h +++ b/libjava/gnu/java/awt/peer/ClasspathFontPeer.h @@ -21,6 +21,7 @@ extern "Java" namespace peer { class ClasspathFontPeer; + class ClasspathFontPeer$LRUCache; } } } @@ -116,6 +117,8 @@ public: // actually protected jint style; jfloat size; ::java::awt::geom::AffineTransform * transform; +private: + static ::gnu::java::awt::peer::ClasspathFontPeer$LRUCache * transCache; public: static ::java::lang::Class class$; }; diff --git a/libjava/gnu/java/awt/peer/GnomeDesktopPeer.h b/libjava/gnu/java/awt/peer/GnomeDesktopPeer.h new file mode 100644 index 0000000..7621bd1 --- /dev/null +++ b/libjava/gnu/java/awt/peer/GnomeDesktopPeer.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_GnomeDesktopPeer__ +#define __gnu_java_awt_peer_GnomeDesktopPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + class GnomeDesktopPeer; + } + } + } + } + namespace java + { + namespace net + { + class URI; + } + } +} + +class gnu::java::awt::peer::GnomeDesktopPeer : public ::gnu::java::awt::peer::ClasspathDesktopPeer +{ + +public: + GnomeDesktopPeer(); +public: // actually protected + virtual ::java::lang::String * getCommand(::java::lang::String *); +public: + virtual void browse(::java::net::URI *); +public: // actually protected + virtual jboolean supportCommand(::java::lang::String *); +public: + virtual void mail(); +public: // actually protected + virtual ::java::lang::String * execQuery(::java::lang::String *); +private: + static ::java::lang::String * BROWSER_QUERY_GNOME; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_GnomeDesktopPeer__ diff --git a/libjava/gnu/java/awt/peer/KDEDesktopPeer.h b/libjava/gnu/java/awt/peer/KDEDesktopPeer.h new file mode 100644 index 0000000..1d6448b --- /dev/null +++ b/libjava/gnu/java/awt/peer/KDEDesktopPeer.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_KDEDesktopPeer__ +#define __gnu_java_awt_peer_KDEDesktopPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + class KDEDesktopPeer; + } + } + } + } +} + +class gnu::java::awt::peer::KDEDesktopPeer : public ::gnu::java::awt::peer::ClasspathDesktopPeer +{ + +public: + KDEDesktopPeer(); +public: // actually protected + virtual ::java::lang::String * getCommand(::java::lang::String *); + virtual jboolean supportCommand(::java::lang::String *); +public: + virtual void mail(); +public: // actually protected + virtual ::java::lang::String * execQuery(::java::lang::String *); +private: + static ::java::lang::String * BROWSER_QUERY_GNOME; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_KDEDesktopPeer__ diff --git a/libjava/gnu/java/awt/peer/gtk/BufferedImageGraphics.h b/libjava/gnu/java/awt/peer/gtk/BufferedImageGraphics.h index ef29b9b..032eb27 100644 --- a/libjava/gnu/java/awt/peer/gtk/BufferedImageGraphics.h +++ b/libjava/gnu/java/awt/peer/gtk/BufferedImageGraphics.h @@ -87,7 +87,6 @@ public: // actually protected private: ::java::awt::image::BufferedImage * __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::gtk::CairoGraphics2D)))) image; ::java::awt::image::BufferedImage * buffer; - jboolean locked; jint imageWidth; jint imageHeight; public: // actually package-private diff --git a/libjava/gnu/java/awt/peer/gtk/CairoGraphics2D.h b/libjava/gnu/java/awt/peer/gtk/CairoGraphics2D.h index 1be46fb..5d5ee49 100644 --- a/libjava/gnu/java/awt/peer/gtk/CairoGraphics2D.h +++ b/libjava/gnu/java/awt/peer/gtk/CairoGraphics2D.h @@ -22,6 +22,7 @@ extern "Java" namespace gtk { class CairoGraphics2D; + class CairoSurface; class GdkFontPeer; } } @@ -109,9 +110,7 @@ public: // actually protected virtual void cairoSetFillRule(jlong, jint); virtual void cairoSetLine(jlong, jdouble, jint, jint, jdouble); virtual void cairoSetDash(jlong, JArray< jdouble > *, jint, jdouble); -public: // actually package-private - virtual void cairoDrawGlyphVector(jlong, ::gnu::java::awt::peer::gtk::GdkFontPeer *, jfloat, jfloat, jint, JArray< jint > *, JArray< jfloat > *); -public: // actually protected + virtual void cairoDrawGlyphVector(jlong, ::gnu::java::awt::peer::gtk::GdkFontPeer *, jfloat, jfloat, jint, JArray< jint > *, JArray< jfloat > *, JArray< jlong > *); virtual void cairoSetFont(jlong, ::gnu::java::awt::peer::gtk::GdkFontPeer *); virtual void cairoRectangle(jlong, jdouble, jdouble, jdouble, jdouble); virtual void cairoArc(jlong, jdouble, jdouble, jdouble, jdouble, jdouble); @@ -126,6 +125,7 @@ public: // actually protected virtual void cairoFill(jlong, jdouble); virtual void cairoClip(jlong); virtual void cairoResetClip(jlong); + virtual void cairoSetAntialias(jlong, jboolean); public: virtual void setTransform(::java::awt::geom::AffineTransform *); private: @@ -200,6 +200,7 @@ public: virtual ::java::awt::RenderingHints * getRenderingHints(); private: jint getInterpolation(); + void setAntialias(jboolean); public: // actually protected virtual jboolean drawImage(::java::awt::Image *, ::java::awt::geom::AffineTransform *, ::java::awt::Color *, ::java::awt::image::ImageObserver *); public: @@ -213,6 +214,9 @@ public: virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, ::java::awt::image::ImageObserver *); virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, jint, jint, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *); virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, jint, jint, jint, jint, ::java::awt::image::ImageObserver *); +public: // actually protected + virtual void drawCairoSurface(::gnu::java::awt::peer::gtk::CairoSurface *, ::java::awt::geom::AffineTransform *, jdouble, jint); +public: virtual void drawString(::java::lang::String *, jfloat, jfloat); virtual void drawString(::java::lang::String *, jint, jint); virtual void drawString(::java::text::AttributedCharacterIterator *, jint, jint); @@ -237,6 +241,7 @@ private: void updateClip(::java::awt::geom::AffineTransform *); static ::java::awt::Rectangle * computeIntersection(jint, jint, jint, jint, ::java::awt::Rectangle *); public: // actually package-private + static ::java::awt::geom::Rectangle2D * getTransformedBounds(::java::awt::geom::Rectangle2D *, ::java::awt::geom::AffineTransform *); jlong __attribute__((aligned(__alignof__( ::java::awt::Graphics2D)))) nativePointer; ::java::awt::Paint * paint; jboolean customPaint; @@ -250,6 +255,8 @@ public: // actually package-private ::java::awt::CompositeContext * compCtx; private: ::java::awt::RenderingHints * hints; + jboolean antialias; + jboolean ignoreAA; public: // actually protected jboolean shiftDrawCalls; private: diff --git a/libjava/gnu/java/awt/peer/gtk/CairoSurface$CairoDataBuffer.h b/libjava/gnu/java/awt/peer/gtk/CairoSurface$CairoDataBuffer.h deleted file mode 100644 index 3373a83..0000000 --- a/libjava/gnu/java/awt/peer/gtk/CairoSurface$CairoDataBuffer.h +++ /dev/null @@ -1,44 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __gnu_java_awt_peer_gtk_CairoSurface$CairoDataBuffer__ -#define __gnu_java_awt_peer_gtk_CairoSurface$CairoDataBuffer__ - -#pragma interface - -#include -extern "Java" -{ - namespace gnu - { - namespace java - { - namespace awt - { - namespace peer - { - namespace gtk - { - class CairoSurface; - class CairoSurface$CairoDataBuffer; - } - } - } - } - } -} - -class gnu::java::awt::peer::gtk::CairoSurface$CairoDataBuffer : public ::java::awt::image::DataBuffer -{ - -public: - CairoSurface$CairoDataBuffer(::gnu::java::awt::peer::gtk::CairoSurface *); - virtual jint getElem(jint, jint); - virtual void setElem(jint, jint, jint); -public: // actually package-private - ::gnu::java::awt::peer::gtk::CairoSurface * __attribute__((aligned(__alignof__( ::java::awt::image::DataBuffer)))) this$0; -public: - static ::java::lang::Class class$; -}; - -#endif // __gnu_java_awt_peer_gtk_CairoSurface$CairoDataBuffer__ diff --git a/libjava/gnu/java/awt/peer/gtk/CairoSurface.h b/libjava/gnu/java/awt/peer/gtk/CairoSurface.h index bc33bdb..7e34ee9 100644 --- a/libjava/gnu/java/awt/peer/gtk/CairoSurface.h +++ b/libjava/gnu/java/awt/peer/gtk/CairoSurface.h @@ -33,11 +33,15 @@ extern "Java" namespace awt { class Graphics2D; + class Point; + class Rectangle; namespace image { class BufferedImage; class ColorModel; + class Raster; class SampleModel; + class WritableRaster; } } } @@ -46,25 +50,18 @@ extern "Java" class gnu::java::awt::peer::gtk::CairoSurface : public ::java::awt::image::WritableRaster { - void create(jint, jint, jint); - void destroy(jlong, jlong); - jint nativeGetElem(jlong, jint); - void nativeSetElem(jlong, jint, jint); + void create(jint, jint, jint, JArray< jint > *); + void destroy(jlong, JArray< jint > *); public: virtual void nativeDrawSurface(jlong, jlong, JArray< jdouble > *, jdouble, jint); - virtual void drawSurface(jlong, JArray< jdouble > *, jdouble, jint); public: // actually package-private - virtual JArray< jint > * nativeGetPixels(jlong, jint); -public: - virtual JArray< jint > * getPixels(jint); -public: // actually package-private - virtual void nativeSetPixels(jlong, JArray< jint > *); -public: - virtual void setPixels(JArray< jint > *); -public: // actually package-private - virtual jlong getFlippedBuffer(jlong, jint); + virtual void syncNativeToJava(jlong, JArray< jint > *); + virtual void syncJavaToNative(jlong, JArray< jint > *); + virtual jlong getFlippedBuffer(jlong); public: CairoSurface(jint, jint); + CairoSurface(jint, jint, jint, jint); + CairoSurface(::java::awt::image::SampleModel *, ::gnu::java::awt::peer::gtk::CairoSurface *, ::java::awt::Rectangle *, ::java::awt::Point *); public: // actually package-private CairoSurface(::gnu::java::awt::peer::gtk::GtkImage *); public: @@ -73,6 +70,7 @@ public: // actually protected virtual void finalize(); public: virtual ::gnu::java::awt::peer::gtk::GtkImage * getGtkImage(); + virtual JArray< jint > * getData(); static ::java::awt::image::BufferedImage * getBufferedImage(jint, jint); static ::java::awt::image::BufferedImage * getBufferedImage(::gnu::java::awt::peer::gtk::GtkImage *); static ::java::awt::image::BufferedImage * getBufferedImage(::gnu::java::awt::peer::gtk::CairoSurface *); @@ -81,19 +79,25 @@ public: // actually package-private virtual jlong nativeNewCairoContext(jlong); public: virtual jlong newCairoContext(); + virtual void copyAreaNative(jint, jint, jint, jint, jint, jint, jint); public: // actually package-private virtual void copyAreaNative2(jlong, jint, jint, jint, jint, jint, jint, jint); -public: - virtual void copyAreaNative(jint, jint, jint, jint, jint, jint, jint); public: // actually protected static ::java::awt::image::SampleModel * createCairoSampleModel(jint, jint); +public: + static jboolean isCompatibleColorModel(::java::awt::image::ColorModel *); + static jboolean isCompatibleSampleModel(::java::awt::image::SampleModel *); + virtual ::java::awt::image::Raster * createChild(jint, jint, jint, jint, jint, jint, JArray< jint > *); + virtual ::java::awt::image::WritableRaster * createCompatibleWritableRaster(); + virtual ::java::awt::image::WritableRaster * createCompatibleWritableRaster(jint, jint, jint, jint); + virtual ::java::awt::image::Raster * createTranslatedChild(jint, jint); + virtual ::java::awt::image::WritableRaster * createWritableChild(jint, jint, jint, jint, jint, jint, JArray< jint > *); + virtual ::java::awt::image::WritableRaster * createWritableTranslatedChild(jint, jint); public: // actually package-private - static jint access$0(::gnu::java::awt::peer::gtk::CairoSurface *, jlong, jint); - static void access$1(::gnu::java::awt::peer::gtk::CairoSurface *, jlong, jint, jint); jint __attribute__((aligned(__alignof__( ::java::awt::image::WritableRaster)))) width; jint height; jlong surfacePointer; - jlong bufferPointer; + jboolean sharedBuffer; static ::java::awt::image::ColorModel * cairoColorModel; static ::java::awt::image::ColorModel * cairoCM_pre; static ::java::awt::image::ColorModel * cairoCM_opaque; diff --git a/libjava/gnu/java/awt/peer/gtk/ComponentGraphics.h b/libjava/gnu/java/awt/peer/gtk/ComponentGraphics.h index ce5a558..9379c5e 100644 --- a/libjava/gnu/java/awt/peer/gtk/ComponentGraphics.h +++ b/libjava/gnu/java/awt/peer/gtk/ComponentGraphics.h @@ -25,6 +25,7 @@ extern "Java" { namespace gtk { + class CairoSurface; class ComponentGraphics; class GtkComponentPeer; class GtkImage; @@ -132,6 +133,8 @@ public: // actually protected virtual void cairoFill(jlong, jdouble); virtual void cairoClip(jlong); virtual void cairoResetClip(jlong); + virtual void cairoSetAntialias(jlong, jboolean); + virtual void drawCairoSurface(::gnu::java::awt::peer::gtk::CairoSurface *, ::java::awt::geom::AffineTransform *, jdouble, jint); private: static jboolean hasXRenderExtension; ::gnu::java::awt::peer::gtk::GtkComponentPeer * __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::gtk::CairoGraphics2D)))) component; diff --git a/libjava/gnu/java/awt/peer/gtk/FreetypeGlyphVector.h b/libjava/gnu/java/awt/peer/gtk/FreetypeGlyphVector.h index 312e69c..47b452e 100644 --- a/libjava/gnu/java/awt/peer/gtk/FreetypeGlyphVector.h +++ b/libjava/gnu/java/awt/peer/gtk/FreetypeGlyphVector.h @@ -55,19 +55,24 @@ extern "Java" class gnu::java::awt::peer::gtk::FreetypeGlyphVector : public ::java::awt::font::GlyphVector { + void dispose(JArray< jlong > *); + jlong getNativeFontPointer(jint); public: FreetypeGlyphVector(::java::awt::Font *, ::java::lang::String *, ::java::awt::font::FontRenderContext *); FreetypeGlyphVector(::java::awt::Font *, JArray< jchar > *, jint, jint, ::java::awt::font::FontRenderContext *, jint); FreetypeGlyphVector(::java::awt::Font *, JArray< jint > *, ::java::awt::font::FontRenderContext *); private: FreetypeGlyphVector(::gnu::java::awt::peer::gtk::FreetypeGlyphVector *); +public: + virtual void finalize(); +private: void getGlyphs(); public: - virtual JArray< jint > * getGlyphs(JArray< jint > *); + virtual void getGlyphs(JArray< jint > *, JArray< jint > *, JArray< jlong > *); private: - ::java::awt::geom::Point2D * getKerning(jint, jint); - JArray< jdouble > * getMetricsNative(jint); - ::java::awt::geom::GeneralPath * getGlyphOutlineNative(jint); + ::java::awt::geom::Point2D * getKerning(jint, jint, jlong); + JArray< jdouble > * getMetricsNative(jint, jlong); + ::java::awt::geom::GeneralPath * getGlyphOutlineNative(jint, jlong); public: virtual ::java::lang::Object * clone(); virtual jboolean equals(::java::awt::font::GlyphVector *); @@ -76,6 +81,9 @@ public: virtual void performDefaultLayout(); virtual jint getGlyphCode(jint); virtual JArray< jint > * getGlyphCodes(jint, jint, JArray< jint > *); +public: // actually protected + virtual JArray< jlong > * getGlyphFonts(jint, jint, JArray< jlong > *); +public: virtual ::java::awt::Shape * getGlyphLogicalBounds(jint); virtual void setupGlyphMetrics(); virtual ::java::awt::font::GlyphMetrics * getGlyphMetrics(jint); @@ -101,6 +109,7 @@ private: ::java::awt::font::FontRenderContext * frc; jint nGlyphs; JArray< jint > * glyphCodes; + JArray< jlong > * fontSet; JArray< ::java::awt::geom::AffineTransform * > * glyphTransforms; JArray< ::java::awt::font::GlyphMetrics * > * metricsCache; public: diff --git a/libjava/gnu/java/awt/peer/gtk/GThreadMutex.h b/libjava/gnu/java/awt/peer/gtk/GThreadMutex.h deleted file mode 100644 index c788e82..0000000 --- a/libjava/gnu/java/awt/peer/gtk/GThreadMutex.h +++ /dev/null @@ -1,41 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __gnu_java_awt_peer_gtk_GThreadMutex__ -#define __gnu_java_awt_peer_gtk_GThreadMutex__ - -#pragma interface - -#include -extern "Java" -{ - namespace gnu - { - namespace java - { - namespace awt - { - namespace peer - { - namespace gtk - { - class GThreadMutex; - } - } - } - } - } -} - -class gnu::java::awt::peer::gtk::GThreadMutex : public ::java::lang::Object -{ - -public: // actually package-private - GThreadMutex(); - jint volatile __attribute__((aligned(__alignof__( ::java::lang::Object)))) potentialLockers; - ::java::lang::Object * lockForPotentialLockers; -public: - static ::java::lang::Class class$; -}; - -#endif // __gnu_java_awt_peer_gtk_GThreadMutex__ diff --git a/libjava/gnu/java/awt/peer/gtk/GThreadNativeMethodRunner.h b/libjava/gnu/java/awt/peer/gtk/GThreadNativeMethodRunner.h deleted file mode 100644 index 803f173..0000000 --- a/libjava/gnu/java/awt/peer/gtk/GThreadNativeMethodRunner.h +++ /dev/null @@ -1,58 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __gnu_java_awt_peer_gtk_GThreadNativeMethodRunner__ -#define __gnu_java_awt_peer_gtk_GThreadNativeMethodRunner__ - -#pragma interface - -#include -#include - -extern "Java" -{ - namespace gnu - { - namespace java - { - namespace awt - { - namespace peer - { - namespace gtk - { - class GThreadNativeMethodRunner; - } - } - } - } - } -} - -class gnu::java::awt::peer::gtk::GThreadNativeMethodRunner : public ::java::lang::Thread -{ - -public: // actually package-private - GThreadNativeMethodRunner(jlong, jlong, jboolean); -public: - virtual void run(); -private: - void nativeRun(jlong, jlong); - static jint registerThread(::java::lang::Thread *); -public: // actually package-private - static jint threadToThreadID(::java::lang::Thread *); - static ::java::lang::Thread * threadIDToThread(jint); -private: - void registerSelfJoinable(); -public: // actually package-private - static void deRegisterJoinable(::java::lang::Thread *); -private: - jlong __attribute__((aligned(__alignof__( ::java::lang::Thread)))) funcPtr; - jlong funcArg; - static JArray< ::java::lang::ref::WeakReference * > * threads; - static ::java::util::Set * joinable; -public: - static ::java::lang::Class class$; -}; - -#endif // __gnu_java_awt_peer_gtk_GThreadNativeMethodRunner__ diff --git a/libjava/gnu/java/awt/peer/gtk/GdkFontMetrics.h b/libjava/gnu/java/awt/peer/gtk/GdkFontMetrics.h deleted file mode 100644 index 65ca7a2..0000000 --- a/libjava/gnu/java/awt/peer/gtk/GdkFontMetrics.h +++ /dev/null @@ -1,74 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __gnu_java_awt_peer_gtk_GdkFontMetrics__ -#define __gnu_java_awt_peer_gtk_GdkFontMetrics__ - -#pragma interface - -#include -#include - -extern "Java" -{ - namespace gnu - { - namespace java - { - namespace awt - { - namespace peer - { - namespace gtk - { - class GdkFontMetrics; - class GdkFontPeer; - } - } - } - } - } - namespace java - { - namespace awt - { - class Font; - } - } -} - -class gnu::java::awt::peer::gtk::GdkFontMetrics : public ::java::awt::FontMetrics -{ - - static ::java::awt::Font * initFont(::java::awt::Font *); -public: - GdkFontMetrics(::java::awt::Font *); - virtual jint stringWidth(::java::lang::String *); - virtual jint charWidth(jchar); - virtual jint charsWidth(JArray< jchar > *, jint, jint); - virtual jint getLeading(); - virtual jint getAscent(); - virtual jint getMaxAscent(); - virtual jint getDescent(); - virtual jint getMaxDescent(); - virtual jint getMaxAdvance(); -private: - JArray< jint > * __attribute__((aligned(__alignof__( ::java::awt::FontMetrics)))) font_metrics; -public: // actually package-private - ::gnu::java::awt::peer::gtk::GdkFontPeer * peer; - static const jint FONT_METRICS_ASCENT = 0; - static const jint FONT_METRICS_MAX_ASCENT = 1; - static const jint FONT_METRICS_DESCENT = 2; - static const jint FONT_METRICS_MAX_DESCENT = 3; - static const jint FONT_METRICS_MAX_ADVANCE = 4; - static const jint TEXT_METRICS_X_BEARING = 0; - static const jint TEXT_METRICS_Y_BEARING = 1; - static const jint TEXT_METRICS_WIDTH = 2; - static const jint TEXT_METRICS_HEIGHT = 3; - static const jint TEXT_METRICS_X_ADVANCE = 4; - static const jint TEXT_METRICS_Y_ADVANCE = 5; -public: - static ::java::lang::Class class$; -}; - -#endif // __gnu_java_awt_peer_gtk_GdkFontMetrics__ diff --git a/libjava/gnu/java/awt/peer/gtk/GdkFontPeer.h b/libjava/gnu/java/awt/peer/gtk/GdkFontPeer.h index 903210a..d7168b27 100644 --- a/libjava/gnu/java/awt/peer/gtk/GdkFontPeer.h +++ b/libjava/gnu/java/awt/peer/gtk/GdkFontPeer.h @@ -109,7 +109,7 @@ public: virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *); public: // actually package-private virtual ::java::awt::font::GlyphMetrics * getGlyphMetrics(jint); - virtual void putGlyphMetrics(jint, ::java::lang::Object *); + virtual void putGlyphMetrics(jint, ::java::awt::font::GlyphMetrics *); static ::java::awt::font::FontRenderContext * DEFAULT_CTX; ::java::util::HashMap * __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::ClasspathFontPeer)))) textLayoutCache; private: diff --git a/libjava/gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.h b/libjava/gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.h index 8249a1e..49586fc 100644 --- a/libjava/gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.h +++ b/libjava/gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.h @@ -6,7 +6,7 @@ #pragma interface -#include +#include #include extern "Java" @@ -38,12 +38,15 @@ extern "Java" namespace image { class BufferedImage; + class ColorModel; + class SampleModel; + class WritableRaster; } } } } -class gnu::java::awt::peer::gtk::GdkGraphicsEnvironment : public ::java::awt::GraphicsEnvironment +class gnu::java::awt::peer::gtk::GdkGraphicsEnvironment : public ::gnu::java::awt::ClasspathGraphicsEnvironment { public: // actually package-private @@ -71,8 +74,10 @@ public: virtual JArray< ::java::lang::String * > * getAvailableFontFamilyNames(::java::util::Locale *); public: // actually package-private virtual JArray< jint > * getMouseCoordinates(); +public: + virtual ::java::awt::image::WritableRaster * createRaster(::java::awt::image::ColorModel *, ::java::awt::image::SampleModel *); private: - jint __attribute__((aligned(__alignof__( ::java::awt::GraphicsEnvironment)))) native_state; + jint __attribute__((aligned(__alignof__( ::gnu::java::awt::ClasspathGraphicsEnvironment)))) native_state; ::gnu::java::awt::peer::gtk::GdkScreenGraphicsDevice * defaultDevice; JArray< ::gnu::java::awt::peer::gtk::GdkScreenGraphicsDevice * > * devices; public: diff --git a/libjava/gnu/java/awt/peer/gtk/GtkToolkit$1.h b/libjava/gnu/java/awt/peer/gtk/GtkToolkit$1.h deleted file mode 100644 index 94bac6c..0000000 --- a/libjava/gnu/java/awt/peer/gtk/GtkToolkit$1.h +++ /dev/null @@ -1,40 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __gnu_java_awt_peer_gtk_GtkToolkit$1__ -#define __gnu_java_awt_peer_gtk_GtkToolkit$1__ - -#pragma interface - -#include -extern "Java" -{ - namespace gnu - { - namespace java - { - namespace awt - { - namespace peer - { - namespace gtk - { - class GtkToolkit$1; - } - } - } - } - } -} - -class gnu::java::awt::peer::gtk::GtkToolkit$1 : public ::java::lang::Thread -{ - -public: // actually package-private - GtkToolkit$1(::java::lang::String *); -public: - void run(); - static ::java::lang::Class class$; -}; - -#endif // __gnu_java_awt_peer_gtk_GtkToolkit$1__ diff --git a/libjava/gnu/java/awt/peer/gtk/GtkToolkit.h b/libjava/gnu/java/awt/peer/gtk/GtkToolkit.h index e02c3b6..66b3fcb 100644 --- a/libjava/gnu/java/awt/peer/gtk/GtkToolkit.h +++ b/libjava/gnu/java/awt/peer/gtk/GtkToolkit.h @@ -141,7 +141,7 @@ class gnu::java::awt::peer::gtk::GtkToolkit : public ::gnu::java::awt::Classpath { public: // actually package-private - static void gtkInit(jint); + static void gtkInit(jint, ::java::lang::Object *); static void gtkMain(); static void gtkQuit(); public: @@ -215,6 +215,10 @@ public: virtual ::java::awt::GraphicsEnvironment * getLocalGraphicsEnvironment(); virtual ::java::awt::Font * createFont(jint, ::java::io::InputStream *); virtual ::java::awt::peer::RobotPeer * createRobot(::java::awt::GraphicsDevice *); + virtual jboolean getLockingKeyState(jint); +public: // actually protected + virtual jint getLockState(jint); +public: virtual void registerImageIOSpis(::javax::imageio::spi::IIORegistry *); public: // actually protected virtual ::java::awt::peer::MouseInfoPeer * getMouseInfoPeer(); @@ -224,6 +228,8 @@ private: void checkHeadless(); public: virtual jint getMouseNumberOfButtons(); +public: // actually package-private + static ::java::lang::Object * GTK_LOCK; private: static ::java::awt::EventQueue * q; ::gnu::java::awt::peer::gtk::GtkToolkit$LRUCache * __attribute__((aligned(__alignof__( ::gnu::java::awt::ClasspathToolkit)))) fontCache; diff --git a/libjava/gnu/java/lang/management/BeanImpl.h b/libjava/gnu/java/lang/management/BeanImpl.h index 56b8a05..be48395 100644 --- a/libjava/gnu/java/lang/management/BeanImpl.h +++ b/libjava/gnu/java/lang/management/BeanImpl.h @@ -34,7 +34,6 @@ extern "Java" { class OpenMBeanInfo; class OpenMBeanParameterInfo; - class OpenType; } } } @@ -55,9 +54,7 @@ public: // actually protected public: virtual ::javax::management::MBeanInfo * getMBeanInfo(); private: - ::javax::management::openmbean::OpenType * getTypeFromClass(::java::lang::Class *); JArray< ::javax::management::openmbean::OpenMBeanParameterInfo * > * translateSignature(JArray< ::javax::management::MBeanParameterInfo * > *); - ::javax::management::openmbean::OpenMBeanParameterInfo * translate(::java::lang::String *); ::javax::management::openmbean::OpenMBeanInfo * __attribute__((aligned(__alignof__( ::javax::management::StandardMBean)))) openInfo; public: static ::java::lang::Class class$; diff --git a/libjava/gnu/java/lang/management/MemoryMXBeanImpl$ListenerData.h b/libjava/gnu/java/lang/management/MemoryMXBeanImpl$ListenerData.h deleted file mode 100644 index 0be0fe8..0000000 --- a/libjava/gnu/java/lang/management/MemoryMXBeanImpl$ListenerData.h +++ /dev/null @@ -1,55 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __gnu_java_lang_management_MemoryMXBeanImpl$ListenerData__ -#define __gnu_java_lang_management_MemoryMXBeanImpl$ListenerData__ - -#pragma interface - -#include -extern "Java" -{ - namespace gnu - { - namespace java - { - namespace lang - { - namespace management - { - class MemoryMXBeanImpl; - class MemoryMXBeanImpl$ListenerData; - } - } - } - } - namespace javax - { - namespace management - { - class NotificationFilter; - class NotificationListener; - } - } -} - -class gnu::java::lang::management::MemoryMXBeanImpl$ListenerData : public ::java::lang::Object -{ - -public: - MemoryMXBeanImpl$ListenerData(::gnu::java::lang::management::MemoryMXBeanImpl *, ::javax::management::NotificationListener *, ::javax::management::NotificationFilter *, ::java::lang::Object *); - virtual ::javax::management::NotificationListener * getListener(); - virtual ::javax::management::NotificationFilter * getFilter(); - virtual ::java::lang::Object * getPassback(); - virtual jboolean equals(::java::lang::Object *); -private: - ::javax::management::NotificationListener * __attribute__((aligned(__alignof__( ::java::lang::Object)))) listener; - ::javax::management::NotificationFilter * filter; - ::java::lang::Object * passback; -public: // actually package-private - ::gnu::java::lang::management::MemoryMXBeanImpl * this$0; -public: - static ::java::lang::Class class$; -}; - -#endif // __gnu_java_lang_management_MemoryMXBeanImpl$ListenerData__ diff --git a/libjava/gnu/java/lang/management/OperatingSystemMXBeanImpl.h b/libjava/gnu/java/lang/management/OperatingSystemMXBeanImpl.h index 41385fe..af79980 100644 --- a/libjava/gnu/java/lang/management/OperatingSystemMXBeanImpl.h +++ b/libjava/gnu/java/lang/management/OperatingSystemMXBeanImpl.h @@ -32,6 +32,7 @@ public: ::java::lang::String * getArch(); jint getAvailableProcessors(); ::java::lang::String * getName(); + jdouble getSystemLoadAverage(); ::java::lang::String * getVersion(); static ::java::lang::Class class$; }; diff --git a/libjava/gnu/java/lang/management/ThreadMXBeanImpl.h b/libjava/gnu/java/lang/management/ThreadMXBeanImpl.h index 3a8fd5f..6127548 100644 --- a/libjava/gnu/java/lang/management/ThreadMXBeanImpl.h +++ b/libjava/gnu/java/lang/management/ThreadMXBeanImpl.h @@ -31,6 +31,8 @@ class gnu::java::lang::management::ThreadMXBeanImpl : public ::gnu::java::lang:: public: ThreadMXBeanImpl(); + JArray< ::java::lang::management::ThreadInfo * > * dumpAllThreads(jboolean, jboolean); + JArray< jlong > * findDeadlockedThreads(); JArray< jlong > * findMonitorDeadlockedThreads(); JArray< jlong > * getAllThreadIds(); jlong getCurrentThreadCpuTime(); @@ -43,9 +45,12 @@ public: JArray< ::java::lang::management::ThreadInfo * > * getThreadInfo(JArray< jlong > *); ::java::lang::management::ThreadInfo * getThreadInfo(jlong, jint); JArray< ::java::lang::management::ThreadInfo * > * getThreadInfo(JArray< jlong > *, jint); + JArray< ::java::lang::management::ThreadInfo * > * getThreadInfo(JArray< jlong > *, jboolean, jboolean); jlong getThreadUserTime(jlong); jlong getTotalStartedThreadCount(); jboolean isCurrentThreadCpuTimeSupported(); + jboolean isObjectMonitorUsageSupported(); + jboolean isSynchronizerUsageSupported(); jboolean isThreadContentionMonitoringEnabled(); jboolean isThreadContentionMonitoringSupported(); jboolean isThreadCpuTimeEnabled(); @@ -58,6 +63,8 @@ private: static ::java::lang::String * THREAD_TIME_SUPPORT; static ::java::lang::String * CONTENTION_SUPPORT; static ::java::lang::String * TIME_ENABLED; + static ::java::lang::String * MONITOR_SUPPORT; + static ::java::lang::String * SYNCHRONIZER_SUPPORT; jboolean __attribute__((aligned(__alignof__( ::gnu::java::lang::management::BeanImpl)))) timeEnabled; jboolean contentionEnabled; public: diff --git a/libjava/gnu/java/lang/management/VMOperatingSystemMXBeanImpl.h b/libjava/gnu/java/lang/management/VMOperatingSystemMXBeanImpl.h new file mode 100644 index 0000000..183f4ba --- /dev/null +++ b/libjava/gnu/java/lang/management/VMOperatingSystemMXBeanImpl.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_lang_management_VMOperatingSystemMXBeanImpl__ +#define __gnu_java_lang_management_VMOperatingSystemMXBeanImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace lang + { + namespace management + { + class VMOperatingSystemMXBeanImpl; + } + } + } + } +} + +class gnu::java::lang::management::VMOperatingSystemMXBeanImpl : public ::java::lang::Object +{ + +public: // actually package-private + VMOperatingSystemMXBeanImpl(); + static jdouble getSystemLoadAverage(); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_lang_management_VMOperatingSystemMXBeanImpl__ diff --git a/libjava/gnu/java/lang/management/VMOperatingSystemMXBeanImpl.java b/libjava/gnu/java/lang/management/VMOperatingSystemMXBeanImpl.java new file mode 100644 index 0000000..20b3f9e --- /dev/null +++ b/libjava/gnu/java/lang/management/VMOperatingSystemMXBeanImpl.java @@ -0,0 +1,68 @@ +/* VMOperatingSystemMXBeanImpl.java - VM implementation of an OS bean + Copyright (C) 2006 Free Software Foundation + +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 gnu.java.lang.management; + +import gnu.classpath.Configuration; + +/** + * Provides access to information about the operating system. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.6 + */ +final class VMOperatingSystemMXBeanImpl +{ + + static + { + if (Configuration.INIT_LOAD_LIBRARY) + { + System.loadLibrary("javalangmanagement"); + } + } + + /** + * Returns the system load average from the last + * minute. + * + * @return the system load average from the last + * minute. + */ + static native double getSystemLoadAverage(); + +} diff --git a/libjava/gnu/java/lang/management/VMThreadMXBeanImpl.h b/libjava/gnu/java/lang/management/VMThreadMXBeanImpl.h index 77577f76..4c8ab8c 100644 --- a/libjava/gnu/java/lang/management/VMThreadMXBeanImpl.h +++ b/libjava/gnu/java/lang/management/VMThreadMXBeanImpl.h @@ -31,12 +31,15 @@ class gnu::java::lang::management::VMThreadMXBeanImpl : public ::java::lang::Obj public: // actually package-private VMThreadMXBeanImpl(); + static JArray< jlong > * findDeadlockedThreads(); static JArray< jlong > * findMonitorDeadlockedThreads(); static JArray< ::java::lang::Thread * > * getAllThreads(); static JArray< jlong > * getAllThreadIds(); static jlong getCurrentThreadCpuTime(); static jlong getCurrentThreadUserTime(); static jint getDaemonThreadCount(); + static void getLockInfo(::java::lang::management::ThreadInfo *); + static void getMonitorInfo(::java::lang::management::ThreadInfo *); static jint getPeakThreadCount(); static jint getThreadCount(); static jlong getThreadCpuTime(jlong); diff --git a/libjava/gnu/java/lang/management/VMThreadMXBeanImpl.java b/libjava/gnu/java/lang/management/VMThreadMXBeanImpl.java index c5bcb63..1c061aa 100644 --- a/libjava/gnu/java/lang/management/VMThreadMXBeanImpl.java +++ b/libjava/gnu/java/lang/management/VMThreadMXBeanImpl.java @@ -60,6 +60,16 @@ final class VMThreadMXBeanImpl /** * Returns the ids of cycles of deadlocked threads, occurring + * due to monitor ownership or ownable synchronizer ownership. + * This will only be called if ownable synchronizer monitoring + * is supported. + * + * @return the ids of the deadlocked threads. + */ + static native long[] findDeadlockedThreads(); + + /** + * Returns the ids of cycles of deadlocked threads, occurring * due to monitor ownership. * * @return the ids of the deadlocked threads. @@ -138,6 +148,25 @@ final class VMThreadMXBeanImpl } /** + * Fill out the given {@link ThreadInfo} object + * with ownable synchronizer usage information. + * This is only called if ownable synchronizer + * usage monitoring is supported. + * + * @param info the {@link ThreadInfo} object to modify. + */ + static native void getLockInfo(ThreadInfo info); + + /** + * Fill out the given {@link ThreadInfo} object + * with monitor usage information. This is only + * called if monitor usage monitoring is supported. + * + * @param info the {@link ThreadInfo} object to modify. + */ + static native void getMonitorInfo(ThreadInfo info); + + /** * Returns the current peak number of live threads. * * @return the peak number of live threads. diff --git a/libjava/gnu/java/lang/management/natVMOperatingSystemMXBeanImpl.cc b/libjava/gnu/java/lang/management/natVMOperatingSystemMXBeanImpl.cc new file mode 100644 index 0000000..daea76b --- /dev/null +++ b/libjava/gnu/java/lang/management/natVMOperatingSystemMXBeanImpl.cc @@ -0,0 +1,18 @@ +#include + +#include +#include +#include + +jdouble +gnu::java::lang::management::VMOperatingSystemMXBeanImpl::getSystemLoadAverage () +{ +#ifdef HAVE_GETLOADAVG + double avg[1]; + int nos = getloadavg(avg, 1); + if (nos == 1) + return avg[0]; + else +#endif + return -1; +} diff --git a/libjava/gnu/java/lang/management/natVMThreadMXBeanImpl.cc b/libjava/gnu/java/lang/management/natVMThreadMXBeanImpl.cc index df05300..5d48957 100644 --- a/libjava/gnu/java/lang/management/natVMThreadMXBeanImpl.cc +++ b/libjava/gnu/java/lang/management/natVMThreadMXBeanImpl.cc @@ -5,12 +5,17 @@ #include jlongArray +gnu::java::lang::management::VMThreadMXBeanImpl::findDeadlockedThreads () +{ + throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMThreadMXBeanImpl::findDeadlockedThreads () not implemented")); +} + +jlongArray gnu::java::lang::management::VMThreadMXBeanImpl::findMonitorDeadlockedThreads () { throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMThreadMXBeanImpl::findMonitorDeadlockedThreads () not implemented")); } - jlong gnu::java::lang::management::VMThreadMXBeanImpl::getCurrentThreadCpuTime () { @@ -24,6 +29,17 @@ gnu::java::lang::management::VMThreadMXBeanImpl::getCurrentThreadUserTime () throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMThreadMXBeanImpl::getCurrentThreadUserTime () not implemented")); } +void +gnu::java::lang::management::VMThreadMXBeanImpl::getLockInfo (::java::lang::management::ThreadInfo *) +{ + throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMThreadMXBeanImpl::getLockInfo () not implemented")); +} + +void +gnu::java::lang::management::VMThreadMXBeanImpl::getMonitorInfo (::java::lang::management::ThreadInfo *) +{ + throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMThreadMXBeanImpl::getMonitorInfo () not implemented")); +} jint gnu::java::lang::management::VMThreadMXBeanImpl::getPeakThreadCount () diff --git a/libjava/gnu/java/locale/LocaleHelper.h b/libjava/gnu/java/locale/LocaleHelper.h index 7a83893..c96dc33 100644 --- a/libjava/gnu/java/locale/LocaleHelper.h +++ b/libjava/gnu/java/locale/LocaleHelper.h @@ -28,7 +28,7 @@ class gnu::java::locale::LocaleHelper : public ::java::lang::Object public: LocaleHelper(); - static ::java::lang::String * getLocalizedString(::java::util::Locale *, ::java::lang::String *, ::java::lang::String *, jboolean, jboolean); + static ::java::util::Locale * getFallbackLocale(::java::util::Locale *); static JArray< ::java::util::Locale * > * getCollatorLocales(); static jint getLocaleCount(); static ::java::lang::String * getLocaleName(jint); diff --git a/libjava/gnu/java/math/Fixed.h b/libjava/gnu/java/math/Fixed.h new file mode 100644 index 0000000..92c1c55 --- /dev/null +++ b/libjava/gnu/java/math/Fixed.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_math_Fixed__ +#define __gnu_java_math_Fixed__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace math + { + class Fixed; + } + } + } +} + +class gnu::java::math::Fixed : public ::java::lang::Object +{ + + Fixed(); +public: + static jint div(jint, jint, jint); + static jint mul(jint, jint, jint); + static jint ceil(jint, jint); + static jint floor(jint, jint); + static jint round(jint, jint); + static jfloat floatValue(jint, jint); + static jdouble doubleValue(jint, jint); + static jint fixedValue(jint, jfloat); + static jint fixedValue(jint, jdouble); + static jint intValue(jint, jint); + static jint roundIntValue(jint, jint); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_math_Fixed__ diff --git a/libjava/gnu/java/net/BASE64.h b/libjava/gnu/java/net/BASE64.h deleted file mode 100644 index 77616ba..0000000 --- a/libjava/gnu/java/net/BASE64.h +++ /dev/null @@ -1,41 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __gnu_java_net_BASE64__ -#define __gnu_java_net_BASE64__ - -#pragma interface - -#include -#include - -extern "Java" -{ - namespace gnu - { - namespace java - { - namespace net - { - class BASE64; - } - } - } -} - -class gnu::java::net::BASE64 : public ::java::lang::Object -{ - - BASE64(); -public: - static JArray< jbyte > * encode(JArray< jbyte > *); - static JArray< jbyte > * decode(JArray< jbyte > *); - static void main(JArray< ::java::lang::String * > *); -private: - static JArray< jbyte > * src; - static JArray< jbyte > * dst; -public: - static ::java::lang::Class class$; -}; - -#endif // __gnu_java_net_BASE64__ diff --git a/libjava/gnu/java/net/GetLocalHostAction.h b/libjava/gnu/java/net/GetLocalHostAction.h index 7c82e46..f0d0880 100644 --- a/libjava/gnu/java/net/GetLocalHostAction.h +++ b/libjava/gnu/java/net/GetLocalHostAction.h @@ -19,6 +19,13 @@ extern "Java" } } } + namespace java + { + namespace net + { + class InetAddress; + } + } } class gnu::java::net::GetLocalHostAction : public ::java::lang::Object @@ -26,6 +33,7 @@ class gnu::java::net::GetLocalHostAction : public ::java::lang::Object public: GetLocalHostAction(); + virtual ::java::net::InetAddress * GetLocalHostAction$run(); virtual ::java::lang::Object * run(); static ::java::lang::Class class$; }; diff --git a/libjava/gnu/java/net/protocol/http/ChunkedInputStream.h b/libjava/gnu/java/net/protocol/http/ChunkedInputStream.h index 16a2705..4a362e9 100644 --- a/libjava/gnu/java/net/protocol/http/ChunkedInputStream.h +++ b/libjava/gnu/java/net/protocol/http/ChunkedInputStream.h @@ -39,9 +39,6 @@ public: virtual jint read(JArray< jbyte > *, jint, jint); virtual jint available(); virtual void close(); -private: - static const jbyte CR = 13; - static const jbyte LF = 10; public: // actually package-private ::gnu::java::net::protocol::http::Headers * __attribute__((aligned(__alignof__( ::java::io::InputStream)))) headers; private: diff --git a/libjava/gnu/java/net/protocol/http/Headers.h b/libjava/gnu/java/net/protocol/http/Headers.h index d7c485c..cad6e68 100644 --- a/libjava/gnu/java/net/protocol/http/Headers.h +++ b/libjava/gnu/java/net/protocol/http/Headers.h @@ -39,9 +39,7 @@ class gnu::java::net::protocol::http::Headers : public ::java::lang::Object public: Headers(); -public: // actually package-private virtual ::java::util::Iterator * iterator(); -public: virtual ::java::lang::String * getValue(::java::lang::String *); virtual jint getIntValue(::java::lang::String *); virtual jlong getLongValue(::java::lang::String *); diff --git a/libjava/gnu/java/net/protocol/http/SimpleCookieManager.h b/libjava/gnu/java/net/protocol/http/SimpleCookieManager.h index e8259a8..fc0b0bf 100644 --- a/libjava/gnu/java/net/protocol/http/SimpleCookieManager.h +++ b/libjava/gnu/java/net/protocol/http/SimpleCookieManager.h @@ -38,7 +38,7 @@ public: virtual void setCookie(::gnu::java::net::protocol::http::Cookie *); virtual JArray< ::gnu::java::net::protocol::http::Cookie * > * getCookies(::java::lang::String *, jboolean, ::java::lang::String *); private: - void addCookies(::java::util::List *, ::java::lang::String *, jboolean, ::java::lang::String *, ::java::util::Date *); + void addCookies(::java::util::ArrayList *, ::java::lang::String *, jboolean, ::java::lang::String *, ::java::util::Date *); public: // actually protected ::java::util::Map * __attribute__((aligned(__alignof__( ::java::lang::Object)))) cookies; public: diff --git a/libjava/gnu/java/nio/ChannelInputStream.h b/libjava/gnu/java/nio/ChannelInputStream.h index bc43e23..04b6244 100644 --- a/libjava/gnu/java/nio/ChannelInputStream.h +++ b/libjava/gnu/java/nio/ChannelInputStream.h @@ -7,6 +7,8 @@ #pragma interface #include +#include + extern "Java" { namespace gnu @@ -36,6 +38,7 @@ class gnu::java::nio::ChannelInputStream : public ::java::io::InputStream public: ChannelInputStream(::java::nio::channels::ReadableByteChannel *); + jint read(JArray< jbyte > *, jint, jint); jint read(); private: ::java::nio::channels::ReadableByteChannel * __attribute__((aligned(__alignof__( ::java::io::InputStream)))) ch; diff --git a/libjava/gnu/java/nio/EpollSelectionKeyImpl.h b/libjava/gnu/java/nio/EpollSelectionKeyImpl.h deleted file mode 100644 index 1674815..0000000 --- a/libjava/gnu/java/nio/EpollSelectionKeyImpl.h +++ /dev/null @@ -1,63 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __gnu_java_nio_EpollSelectionKeyImpl__ -#define __gnu_java_nio_EpollSelectionKeyImpl__ - -#pragma interface - -#include -extern "Java" -{ - namespace gnu - { - namespace java - { - namespace nio - { - class EpollSelectionKeyImpl; - class EpollSelectorImpl; - } - } - } - namespace java - { - namespace nio - { - namespace channels - { - class SelectableChannel; - class SelectionKey; - class Selector; - } - } - } -} - -class gnu::java::nio::EpollSelectionKeyImpl : public ::java::nio::channels::spi::AbstractSelectionKey -{ - -public: // actually package-private - EpollSelectionKeyImpl(::gnu::java::nio::EpollSelectorImpl *, ::java::nio::channels::SelectableChannel *, jint); -public: - virtual ::java::nio::channels::SelectableChannel * channel(); - virtual jint interestOps(); - virtual ::java::nio::channels::SelectionKey * interestOps(jint); - virtual jint readyOps(); - virtual ::java::nio::channels::Selector * selector(); -public: // actually package-private - jint __attribute__((aligned(__alignof__( ::java::nio::channels::spi::AbstractSelectionKey)))) fd; -private: - ::gnu::java::nio::EpollSelectorImpl * selector__; - ::java::nio::channels::SelectableChannel * channel__; -public: // actually package-private - jint interestOps__; - jint selectedOps; - jint key; - jboolean valid; - jboolean cancelled; -public: - static ::java::lang::Class class$; -}; - -#endif // __gnu_java_nio_EpollSelectionKeyImpl__ diff --git a/libjava/gnu/java/nio/KqueueSelectionKeyImpl.h b/libjava/gnu/java/nio/KqueueSelectionKeyImpl.h deleted file mode 100644 index 8a501b5..0000000 --- a/libjava/gnu/java/nio/KqueueSelectionKeyImpl.h +++ /dev/null @@ -1,71 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __gnu_java_nio_KqueueSelectionKeyImpl__ -#define __gnu_java_nio_KqueueSelectionKeyImpl__ - -#pragma interface - -#include -extern "Java" -{ - namespace gnu - { - namespace java - { - namespace nio - { - class KqueueSelectionKeyImpl; - class KqueueSelectorImpl; - class VMChannelOwner; - } - } - } - namespace java - { - namespace nio - { - namespace channels - { - class SelectableChannel; - class SelectionKey; - class Selector; - } - } - } -} - -class gnu::java::nio::KqueueSelectionKeyImpl : public ::java::nio::channels::spi::AbstractSelectionKey -{ - -public: - KqueueSelectionKeyImpl(::gnu::java::nio::KqueueSelectorImpl *, ::java::nio::channels::SelectableChannel *); - virtual ::java::nio::channels::SelectableChannel * channel(); - virtual jint interestOps(); - virtual ::java::nio::channels::SelectionKey * interestOps(jint); - virtual jint readyOps(); - virtual ::java::nio::channels::Selector * selector(); - virtual ::java::lang::String * toString(); - virtual jint hashCode(); - virtual jboolean equals(::java::lang::Object *); -public: // actually package-private - virtual jboolean isReadActive(); - virtual jboolean isReadInterested(); - virtual jboolean isWriteActive(); - virtual jboolean isWriteInterested(); - virtual jboolean needCommitRead(); - virtual jboolean needCommitWrite(); - jint __attribute__((aligned(__alignof__( ::java::nio::channels::spi::AbstractSelectionKey)))) interestOps__; - jint readyOps__; - jint activeOps; - jint key; - jint fd; -private: - ::gnu::java::nio::KqueueSelectorImpl * selector__; - ::java::nio::channels::SelectableChannel * channel__; - ::gnu::java::nio::VMChannelOwner * natChannel; -public: - static ::java::lang::Class class$; -}; - -#endif // __gnu_java_nio_KqueueSelectionKeyImpl__ diff --git a/libjava/gnu/java/nio/SelectorProviderImpl.java b/libjava/gnu/java/nio/SelectorProviderImpl.java index 4752110..03da80e 100644 --- a/libjava/gnu/java/nio/SelectorProviderImpl.java +++ b/libjava/gnu/java/nio/SelectorProviderImpl.java @@ -80,4 +80,5 @@ public class SelectorProviderImpl extends SelectorProvider { return new SocketChannelImpl (this); } + } diff --git a/libjava/gnu/java/nio/charset/EncodingHelper.h b/libjava/gnu/java/nio/charset/EncodingHelper.h index 89cf7f1..7fbd289 100644 --- a/libjava/gnu/java/nio/charset/EncodingHelper.h +++ b/libjava/gnu/java/nio/charset/EncodingHelper.h @@ -43,6 +43,7 @@ public: static ::java::lang::String * getOldCanonical(::java::lang::String *); static jboolean isISOLatin1(::java::lang::String *); static ::java::nio::charset::Charset * getCharset(::java::lang::String *); + static ::java::nio::charset::Charset * getDefaultCharset(); private: static ::java::util::HashMap * canonicalNames; public: diff --git a/libjava/gnu/java/security/util/Base64.h b/libjava/gnu/java/security/util/Base64.h deleted file mode 100644 index e75b6b5..0000000 --- a/libjava/gnu/java/security/util/Base64.h +++ /dev/null @@ -1,53 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __gnu_java_security_util_Base64__ -#define __gnu_java_security_util_Base64__ - -#pragma interface - -#include -#include - -extern "Java" -{ - namespace gnu - { - namespace java - { - namespace security - { - namespace util - { - class Base64; - } - } - } - } -} - -class gnu::java::security::util::Base64 : public ::java::lang::Object -{ - - Base64(); -public: - static ::java::lang::String * encode(JArray< jbyte > *); - static ::java::lang::String * encode(JArray< jbyte > *, jint, jint, jboolean); - static JArray< jbyte > * decode(::java::lang::String *); - static JArray< jbyte > * decode(JArray< jbyte > *, jint, jint); -private: - static JArray< jbyte > * encode3to4(JArray< jbyte > *, jint, jint, JArray< jbyte > *, jint); - static jint decode4to3(JArray< jbyte > *, jint, JArray< jbyte > *, jint); - static ::java::util::logging::Logger * log; - static const jint MAX_LINE_LENGTH = 76; - static const jbyte NEW_LINE = 10; - static const jbyte EQUALS_SIGN = 61; - static const jbyte WHITE_SPACE_ENC = -5; - static const jbyte EQUALS_SIGN_ENC = -1; - static JArray< jbyte > * ALPHABET; - static JArray< jbyte > * DECODABET; -public: - static ::java::lang::Class class$; -}; - -#endif // __gnu_java_security_util_Base64__ diff --git a/libjava/gnu/java/security/x509/X509Certificate.h b/libjava/gnu/java/security/x509/X509Certificate.h index 024e403..68e9443 100644 --- a/libjava/gnu/java/security/x509/X509Certificate.h +++ b/libjava/gnu/java/security/x509/X509Certificate.h @@ -107,6 +107,7 @@ public: private: void doVerify(::java::security::Signature *, ::java::security::PublicKey *); void parse(::java::io::InputStream *); + static const jlong serialVersionUID = -2491127588187038216LL; static ::java::util::logging::Logger * logger; public: // actually protected static ::gnu::java::security::OID * ID_DSA; diff --git a/libjava/gnu/java/security/x509/ext/CertificatePolicies.h b/libjava/gnu/java/security/x509/ext/CertificatePolicies.h index 3e6724e..5de6184 100644 --- a/libjava/gnu/java/security/x509/ext/CertificatePolicies.h +++ b/libjava/gnu/java/security/x509/ext/CertificatePolicies.h @@ -37,6 +37,7 @@ public: CertificatePolicies(JArray< jbyte > *); CertificatePolicies(::java::util::List *, ::java::util::Map *); virtual ::java::util::List * getPolicies(); + virtual ::java::util::List * getPolicyStrings(); virtual ::java::util::List * getPolicyQualifierInfos(::gnu::java::security::OID *); virtual JArray< jbyte > * getEncoded(); virtual ::java::lang::String * toString(); diff --git a/libjava/gnu/java/security/x509/ext/GeneralName$Kind.h b/libjava/gnu/java/security/x509/ext/GeneralName$Kind.h new file mode 100644 index 0000000..db98200 --- /dev/null +++ b/libjava/gnu/java/security/x509/ext/GeneralName$Kind.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_x509_ext_GeneralName$Kind__ +#define __gnu_java_security_x509_ext_GeneralName$Kind__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace x509 + { + namespace ext + { + class GeneralName$Kind; + } + } + } + } + } +} + +class gnu::java::security::x509::ext::GeneralName$Kind : public ::java::lang::Enum +{ + + GeneralName$Kind(::java::lang::String *, jint, jint); +public: + static ::gnu::java::security::x509::ext::GeneralName$Kind * forTag(jint); + jint tag(); + static JArray< ::gnu::java::security::x509::ext::GeneralName$Kind * > * values(); + static ::gnu::java::security::x509::ext::GeneralName$Kind * valueOf(::java::lang::String *); + static ::gnu::java::security::x509::ext::GeneralName$Kind * otherName; + static ::gnu::java::security::x509::ext::GeneralName$Kind * rfc822Name; + static ::gnu::java::security::x509::ext::GeneralName$Kind * dNSName; + static ::gnu::java::security::x509::ext::GeneralName$Kind * x400Address; + static ::gnu::java::security::x509::ext::GeneralName$Kind * directoryName; + static ::gnu::java::security::x509::ext::GeneralName$Kind * ediPartyName; + static ::gnu::java::security::x509::ext::GeneralName$Kind * uniformResourceIdentifier; + static ::gnu::java::security::x509::ext::GeneralName$Kind * iPAddress; + static ::gnu::java::security::x509::ext::GeneralName$Kind * registeredId; +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Enum)))) tag__; + static JArray< ::gnu::java::security::x509::ext::GeneralName$Kind * > * ENUM$VALUES; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_x509_ext_GeneralName$Kind__ diff --git a/libjava/gnu/java/security/x509/ext/GeneralName.h b/libjava/gnu/java/security/x509/ext/GeneralName.h new file mode 100644 index 0000000..018bd36 --- /dev/null +++ b/libjava/gnu/java/security/x509/ext/GeneralName.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_x509_ext_GeneralName__ +#define __gnu_java_security_x509_ext_GeneralName__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace x509 + { + namespace ext + { + class GeneralName; + class GeneralName$Kind; + } + } + } + } + } +} + +class gnu::java::security::x509::ext::GeneralName : public ::java::lang::Object +{ + +public: + GeneralName(JArray< jbyte > *); + GeneralName(::gnu::java::security::x509::ext::GeneralName$Kind *, JArray< jbyte > *); + virtual ::gnu::java::security::x509::ext::GeneralName$Kind * kind(); + virtual JArray< jbyte > * name(); + virtual JArray< jbyte > * encoded(); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::String * toString(); +public: // actually package-private + static JArray< jint > * $SWITCH_TABLE$gnu$java$security$x509$ext$GeneralName$Kind(); +private: + ::gnu::java::security::x509::ext::GeneralName$Kind * __attribute__((aligned(__alignof__( ::java::lang::Object)))) kind__; + JArray< jbyte > * name__; + JArray< jbyte > * encoded__; + static JArray< jint > * $SWITCH_TABLE$gnu$java$security$x509$ext$GeneralName$Kind__; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_x509_ext_GeneralName__ diff --git a/libjava/gnu/java/security/x509/ext/GeneralNames.h b/libjava/gnu/java/security/x509/ext/GeneralNames.h index 8765d18..e55113b 100644 --- a/libjava/gnu/java/security/x509/ext/GeneralNames.h +++ b/libjava/gnu/java/security/x509/ext/GeneralNames.h @@ -36,15 +36,6 @@ public: GeneralNames(JArray< jbyte > *); virtual ::java::util::List * getNames(); virtual ::java::lang::String * toString(); - static const jint OTHER_NAME = 0; - static const jint RFC822_NAME = 1; - static const jint DNS_NAME = 2; - static const jint X400_ADDRESS = 3; - static const jint DIRECTORY_NAME = 4; - static const jint EDI_PARTY_NAME = 5; - static const jint URI = 6; - static const jint IP_ADDRESS = 7; - static const jint REGISTERED_ID = 8; private: ::java::util::List * __attribute__((aligned(__alignof__( ::java::lang::Object)))) names; public: diff --git a/libjava/gnu/java/security/x509/ext/GeneralSubtree.h b/libjava/gnu/java/security/x509/ext/GeneralSubtree.h new file mode 100644 index 0000000..dae50e2 --- /dev/null +++ b/libjava/gnu/java/security/x509/ext/GeneralSubtree.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_x509_ext_GeneralSubtree__ +#define __gnu_java_security_x509_ext_GeneralSubtree__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace x509 + { + namespace ext + { + class GeneralName; + class GeneralSubtree; + } + } + } + } + } +} + +class gnu::java::security::x509::ext::GeneralSubtree : public ::java::lang::Object +{ + +public: + GeneralSubtree(JArray< jbyte > *); + virtual ::gnu::java::security::x509::ext::GeneralName * base(); + virtual jint minimum(); + virtual jint maximum(); + virtual ::java::lang::String * toString(); +private: + ::gnu::java::security::x509::ext::GeneralName * __attribute__((aligned(__alignof__( ::java::lang::Object)))) base__; + jint minimum__; + jint maximum__; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_x509_ext_GeneralSubtree__ diff --git a/libjava/gnu/java/security/x509/ext/NameConstraints.h b/libjava/gnu/java/security/x509/ext/NameConstraints.h new file mode 100644 index 0000000..f7bc778 --- /dev/null +++ b/libjava/gnu/java/security/x509/ext/NameConstraints.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_x509_ext_NameConstraints__ +#define __gnu_java_security_x509_ext_NameConstraints__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + class OID; + namespace x509 + { + namespace ext + { + class NameConstraints; + } + } + } + } + } +} + +class gnu::java::security::x509::ext::NameConstraints : public ::gnu::java::security::x509::ext::Extension$Value +{ + +public: + NameConstraints(JArray< jbyte > *); + virtual ::java::util::List * permittedSubtrees(); + virtual ::java::util::List * excludedSubtrees(); + virtual ::java::lang::String * toString(); + static ::gnu::java::security::OID * ID; +private: + ::java::util::List * __attribute__((aligned(__alignof__( ::gnu::java::security::x509::ext::Extension$Value)))) permittedSubtrees__; + ::java::util::List * excludedSubtrees__; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_x509_ext_NameConstraints__ diff --git a/libjava/gnu/java/util/Base64.h b/libjava/gnu/java/util/Base64.h new file mode 100644 index 0000000..69c2a4f --- /dev/null +++ b/libjava/gnu/java/util/Base64.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_Base64__ +#define __gnu_java_util_Base64__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + class Base64; + } + } + } +} + +class gnu::java::util::Base64 : public ::java::lang::Object +{ + + Base64(); +public: + static ::java::lang::String * encode(JArray< jbyte > *); + static ::java::lang::String * encode(JArray< jbyte > *, jint); + static ::java::lang::String * encode(JArray< jbyte > *, jint, jint, jint); + static JArray< jbyte > * decode(::java::lang::String *); +private: + static ::java::lang::String * BASE_64; + static const jchar BASE_64_PAD = 61; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_Base64__ diff --git a/libjava/gnu/javax/management/Translator.h b/libjava/gnu/javax/management/Translator.h new file mode 100644 index 0000000..dce0165 --- /dev/null +++ b/libjava/gnu/javax/management/Translator.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_management_Translator__ +#define __gnu_javax_management_Translator__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace management + { + class Translator; + } + } + } + namespace javax + { + namespace management + { + namespace openmbean + { + class OpenMBeanParameterInfo; + class OpenType; + } + } + } +} + +class gnu::javax::management::Translator : public ::java::lang::Object +{ + +public: + Translator(); + static JArray< ::java::lang::Object * > * fromJava(JArray< ::java::lang::Object * > *, ::java::lang::reflect::Method *); + static ::java::lang::Object * fromJava(::java::lang::Object *, ::java::lang::reflect::Type *); + static ::java::lang::Object * toJava(::java::lang::Object *, ::java::lang::reflect::Method *); +private: + static JArray< ::java::lang::Object * > * makeArraySpecific(JArray< ::java::lang::Object * > *); +public: + static ::javax::management::openmbean::OpenMBeanParameterInfo * translate(::java::lang::String *); +private: + static ::javax::management::openmbean::OpenType * getTypeFromClass(::java::lang::Class *); + static ::java::lang::String * getTypeName(::java::lang::reflect::Type *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_management_Translator__ diff --git a/libjava/gnu/javax/net/ssl/Base64.h b/libjava/gnu/javax/net/ssl/Base64.h deleted file mode 100644 index 658e137..0000000 --- a/libjava/gnu/javax/net/ssl/Base64.h +++ /dev/null @@ -1,43 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __gnu_javax_net_ssl_Base64__ -#define __gnu_javax_net_ssl_Base64__ - -#pragma interface - -#include -#include - -extern "Java" -{ - namespace gnu - { - namespace javax - { - namespace net - { - namespace ssl - { - class Base64; - } - } - } - } -} - -class gnu::javax::net::ssl::Base64 : public ::java::lang::Object -{ - - Base64(); -public: - static ::java::lang::String * encode(JArray< jbyte > *, jint); - static JArray< jbyte > * decode(::java::lang::String *); -private: - static ::java::lang::String * BASE_64; - static const jchar BASE_64_PAD = 61; -public: - static ::java::lang::Class class$; -}; - -#endif // __gnu_javax_net_ssl_Base64__ diff --git a/libjava/gnu/javax/net/ssl/provider/CertificateRequest$ClientType.h b/libjava/gnu/javax/net/ssl/provider/CertificateRequest$ClientType.h deleted file mode 100644 index 54ace32..0000000 --- a/libjava/gnu/javax/net/ssl/provider/CertificateRequest$ClientType.h +++ /dev/null @@ -1,53 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __gnu_javax_net_ssl_provider_CertificateRequest$ClientType__ -#define __gnu_javax_net_ssl_provider_CertificateRequest$ClientType__ - -#pragma interface - -#include -#include - -extern "Java" -{ - namespace gnu - { - namespace javax - { - namespace net - { - namespace ssl - { - namespace provider - { - class CertificateRequest$ClientType; - } - } - } - } - } -} - -class gnu::javax::net::ssl::provider::CertificateRequest$ClientType : public ::java::lang::Object -{ - - CertificateRequest$ClientType(jint); -public: // actually package-private - static ::gnu::javax::net::ssl::provider::CertificateRequest$ClientType * read(::java::io::InputStream *); -public: - JArray< jbyte > * getEncoded(); - jint getValue(); - ::java::lang::String * toString(); -public: // actually package-private - static ::gnu::javax::net::ssl::provider::CertificateRequest$ClientType * RSA_SIGN; - static ::gnu::javax::net::ssl::provider::CertificateRequest$ClientType * DSS_SIGN; - static ::gnu::javax::net::ssl::provider::CertificateRequest$ClientType * RSA_FIXED_DH; - static ::gnu::javax::net::ssl::provider::CertificateRequest$ClientType * DSS_FIXED_DH; -private: - jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; -public: - static ::java::lang::Class class$; -}; - -#endif // __gnu_javax_net_ssl_provider_CertificateRequest$ClientType__ diff --git a/libjava/gnu/javax/net/ssl/provider/Context.h b/libjava/gnu/javax/net/ssl/provider/Context.h deleted file mode 100644 index b6a838d..0000000 --- a/libjava/gnu/javax/net/ssl/provider/Context.h +++ /dev/null @@ -1,82 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __gnu_javax_net_ssl_provider_Context__ -#define __gnu_javax_net_ssl_provider_Context__ - -#pragma interface - -#include -#include - -extern "Java" -{ - namespace gnu - { - namespace javax - { - namespace net - { - namespace ssl - { - class SRPTrustManager; - namespace provider - { - class Context; - class SessionContext; - } - } - } - } - } - namespace java - { - namespace security - { - class SecureRandom; - } - } - namespace javax - { - namespace net - { - namespace ssl - { - class KeyManager; - class SSLServerSocketFactory; - class SSLSessionContext; - class SSLSocketFactory; - class TrustManager; - class X509KeyManager; - class X509TrustManager; - } - } - } -} - -class gnu::javax::net::ssl::provider::Context : public ::javax::net::ssl::SSLContextSpi -{ - -public: - Context(); -public: // actually protected - ::javax::net::ssl::SSLSessionContext * engineGetClientSessionContext(); - ::javax::net::ssl::SSLSessionContext * engineGetServerSessionContext(); - ::javax::net::ssl::SSLServerSocketFactory * engineGetServerSocketFactory(); - ::javax::net::ssl::SSLSocketFactory * engineGetSocketFactory(); - void engineInit(JArray< ::javax::net::ssl::KeyManager * > *, JArray< ::javax::net::ssl::TrustManager * > *, ::java::security::SecureRandom *); -private: - ::javax::net::ssl::X509KeyManager * defaultKeyManager(); - ::javax::net::ssl::X509TrustManager * defaultTrustManager(); - ::java::security::SecureRandom * defaultRandom(); - ::gnu::javax::net::ssl::provider::SessionContext * __attribute__((aligned(__alignof__( ::javax::net::ssl::SSLContextSpi)))) clientSessions; - ::gnu::javax::net::ssl::provider::SessionContext * serverSessions; - ::javax::net::ssl::X509KeyManager * keyManager; - ::javax::net::ssl::X509TrustManager * trustManager; - ::gnu::javax::net::ssl::SRPTrustManager * srpTrustManager; - ::java::security::SecureRandom * random; -public: - static ::java::lang::Class class$; -}; - -#endif // __gnu_javax_net_ssl_provider_Context__ diff --git a/libjava/gnu/javax/net/ssl/provider/DigestInputStream.h b/libjava/gnu/javax/net/ssl/provider/DigestInputStream.h deleted file mode 100644 index 15436a6..0000000 --- a/libjava/gnu/javax/net/ssl/provider/DigestInputStream.h +++ /dev/null @@ -1,60 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __gnu_javax_net_ssl_provider_DigestInputStream__ -#define __gnu_javax_net_ssl_provider_DigestInputStream__ - -#pragma interface - -#include -#include - -extern "Java" -{ - namespace gnu - { - namespace java - { - namespace security - { - namespace hash - { - class IMessageDigest; - } - } - } - namespace javax - { - namespace net - { - namespace ssl - { - namespace provider - { - class DigestInputStream; - } - } - } - } - } -} - -class gnu::javax::net::ssl::provider::DigestInputStream : public ::java::io::FilterInputStream -{ - -public: // actually package-private - DigestInputStream(::java::io::InputStream *, ::gnu::java::security::hash::IMessageDigest *, ::gnu::java::security::hash::IMessageDigest *); - void setDigesting(jboolean); -public: - jint read(); - jint read(JArray< jbyte > *); - jint read(JArray< jbyte > *, jint, jint); -private: - ::gnu::java::security::hash::IMessageDigest * __attribute__((aligned(__alignof__( ::java::io::FilterInputStream)))) md5; - ::gnu::java::security::hash::IMessageDigest * sha; - jboolean digesting; -public: - static ::java::lang::Class class$; -}; - -#endif // __gnu_javax_net_ssl_provider_DigestInputStream__ diff --git a/libjava/gnu/javax/net/ssl/provider/DigestOutputStream.h b/libjava/gnu/javax/net/ssl/provider/DigestOutputStream.h deleted file mode 100644 index 0b70104..0000000 --- a/libjava/gnu/javax/net/ssl/provider/DigestOutputStream.h +++ /dev/null @@ -1,60 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __gnu_javax_net_ssl_provider_DigestOutputStream__ -#define __gnu_javax_net_ssl_provider_DigestOutputStream__ - -#pragma interface - -#include -#include - -extern "Java" -{ - namespace gnu - { - namespace java - { - namespace security - { - namespace hash - { - class IMessageDigest; - } - } - } - namespace javax - { - namespace net - { - namespace ssl - { - namespace provider - { - class DigestOutputStream; - } - } - } - } - } -} - -class gnu::javax::net::ssl::provider::DigestOutputStream : public ::java::io::FilterOutputStream -{ - -public: // actually package-private - DigestOutputStream(::java::io::OutputStream *, ::gnu::java::security::hash::IMessageDigest *, ::gnu::java::security::hash::IMessageDigest *); - void setDigesting(jboolean); -public: - void write(jint); - void write(JArray< jbyte > *); - void write(JArray< jbyte > *, jint, jint); -private: - ::gnu::java::security::hash::IMessageDigest * __attribute__((aligned(__alignof__( ::java::io::FilterOutputStream)))) md5; - ::gnu::java::security::hash::IMessageDigest * sha; - jboolean digesting; -public: - static ::java::lang::Class class$; -}; - -#endif // __gnu_javax_net_ssl_provider_DigestOutputStream__ diff --git a/libjava/gnu/javax/net/ssl/provider/Enumerated.h b/libjava/gnu/javax/net/ssl/provider/Enumerated.h deleted file mode 100644 index db50831..0000000 --- a/libjava/gnu/javax/net/ssl/provider/Enumerated.h +++ /dev/null @@ -1,42 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __gnu_javax_net_ssl_provider_Enumerated__ -#define __gnu_javax_net_ssl_provider_Enumerated__ - -#pragma interface - -#include -#include - -extern "Java" -{ - namespace gnu - { - namespace javax - { - namespace net - { - namespace ssl - { - namespace provider - { - class Enumerated; - } - } - } - } - } -} - -class gnu::javax::net::ssl::provider::Enumerated : public ::java::lang::Object -{ - -public: - virtual JArray< jbyte > * getEncoded() = 0; - virtual jint getValue() = 0; - virtual ::java::lang::String * toString() = 0; - static ::java::lang::Class class$; -} __attribute__ ((java_interface)); - -#endif // __gnu_javax_net_ssl_provider_Enumerated__ diff --git a/libjava/gnu/javax/net/ssl/provider/Extensions.h b/libjava/gnu/javax/net/ssl/provider/Extensions.h deleted file mode 100644 index ac8a0f1..0000000 --- a/libjava/gnu/javax/net/ssl/provider/Extensions.h +++ /dev/null @@ -1,54 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __gnu_javax_net_ssl_provider_Extensions__ -#define __gnu_javax_net_ssl_provider_Extensions__ - -#pragma interface - -#include -#include - -extern "Java" -{ - namespace gnu - { - namespace javax - { - namespace net - { - namespace ssl - { - namespace provider - { - class CertificateType; - class Extension; - class Extensions; - } - } - } - } - } -} - -class gnu::javax::net::ssl::provider::Extensions : public ::java::lang::Object -{ - - Extensions(); -public: // actually package-private - static ::java::util::List * getServerName(::gnu::javax::net::ssl::provider::Extension *); - static ::java::util::List * getClientCertTypes(::gnu::javax::net::ssl::provider::Extension *); - static ::gnu::javax::net::ssl::provider::CertificateType * getServerCertType(::gnu::javax::net::ssl::provider::Extension *); - static ::java::lang::Integer * getMaxFragmentLength(::gnu::javax::net::ssl::provider::Extension *); - static JArray< ::java::lang::Object * > * getTrustedCA(::gnu::javax::net::ssl::provider::Extension *); - static ::java::lang::String * getSRPUsername(::gnu::javax::net::ssl::provider::Extension *); -private: - static ::java::lang::Integer * _512; - static ::java::lang::Integer * _1024; - static ::java::lang::Integer * _2048; - static ::java::lang::Integer * _4096; -public: - static ::java::lang::Class class$; -}; - -#endif // __gnu_javax_net_ssl_provider_Extensions__ diff --git a/libjava/gnu/javax/net/ssl/provider/GNUSecurityParameters.h b/libjava/gnu/javax/net/ssl/provider/GNUSecurityParameters.h deleted file mode 100644 index b5b2bc7..0000000 --- a/libjava/gnu/javax/net/ssl/provider/GNUSecurityParameters.h +++ /dev/null @@ -1,98 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __gnu_javax_net_ssl_provider_GNUSecurityParameters__ -#define __gnu_javax_net_ssl_provider_GNUSecurityParameters__ - -#pragma interface - -#include -#include - -extern "Java" -{ - namespace gnu - { - namespace java - { - namespace security - { - namespace prng - { - class IRandom; - } - } - } - namespace javax - { - namespace crypto - { - namespace mac - { - class IMac; - } - namespace mode - { - class IMode; - } - } - namespace net - { - namespace ssl - { - namespace provider - { - class ContentType; - class GNUSecurityParameters; - class ProtocolVersion; - class Session; - } - } - } - } - } -} - -class gnu::javax::net::ssl::provider::GNUSecurityParameters : public ::java::lang::Object -{ - -public: // actually package-private - GNUSecurityParameters(::gnu::javax::net::ssl::provider::Session *); -public: - virtual void reset(); - virtual ::gnu::javax::net::ssl::provider::ProtocolVersion * getVersion(); - virtual void setVersion(::gnu::javax::net::ssl::provider::ProtocolVersion *); - virtual void setInCipher(::java::lang::Object *); - virtual void setOutCipher(::java::lang::Object *); - virtual void setInMac(::java::lang::Object *); - virtual void setOutMac(::java::lang::Object *); - virtual void setDeflating(jboolean); - virtual void setInflating(jboolean); - virtual jint getFragmentLength(); - virtual void setFragmentLength(jint); - virtual JArray< jbyte > * decrypt(JArray< jbyte > *, ::gnu::javax::net::ssl::provider::ProtocolVersion *, ::gnu::javax::net::ssl::provider::ContentType *); - virtual JArray< jbyte > * encrypt(JArray< jbyte > *, jint, jint, ::gnu::javax::net::ssl::provider::ContentType *); -private: - static void transformRC4(JArray< jbyte > *, jint, jint, JArray< jbyte > *, jint, ::gnu::java::security::prng::IRandom *); - static const jboolean DEBUG_RECORD_LAYER = 0; - static ::java::io::PrintWriter * debug; -public: // actually package-private - ::gnu::javax::crypto::mode::IMode * __attribute__((aligned(__alignof__( ::java::lang::Object)))) inCipher; - ::gnu::javax::crypto::mode::IMode * outCipher; - ::gnu::java::security::prng::IRandom * inRandom; - ::gnu::java::security::prng::IRandom * outRandom; - ::gnu::javax::crypto::mac::IMac * inMac; - ::gnu::javax::crypto::mac::IMac * outMac; - jlong inSequence; - jlong outSequence; - ::gnu::javax::net::ssl::provider::Session * session; - ::gnu::javax::net::ssl::provider::ProtocolVersion * version; - jint fragmentLength; -private: - ::java::util::zip::Inflater * inflater; - ::java::util::zip::Deflater * deflater; -public: - static ::java::lang::Class class$; -}; - -#endif // __gnu_javax_net_ssl_provider_GNUSecurityParameters__ diff --git a/libjava/gnu/javax/net/ssl/provider/Handshake$buffer.h b/libjava/gnu/javax/net/ssl/provider/Handshake$buffer.h deleted file mode 100644 index 5ddb06e..0000000 --- a/libjava/gnu/javax/net/ssl/provider/Handshake$buffer.h +++ /dev/null @@ -1,44 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __gnu_javax_net_ssl_provider_Handshake$buffer__ -#define __gnu_javax_net_ssl_provider_Handshake$buffer__ - -#pragma interface - -#include -extern "Java" -{ - namespace gnu - { - namespace javax - { - namespace net - { - namespace ssl - { - namespace provider - { - class Handshake$buffer; - } - } - } - } - } -} - -class gnu::javax::net::ssl::provider::Handshake$buffer : public ::java::lang::ThreadLocal -{ - - Handshake$buffer(); -public: // actually protected - virtual ::java::lang::Object * initialValue(); -public: // actually package-private - virtual ::java::io::ByteArrayOutputStream * getBuffer(); - Handshake$buffer(::gnu::javax::net::ssl::provider::Handshake$buffer *); - static const jint SIZE = 2048; -public: - static ::java::lang::Class class$; -}; - -#endif // __gnu_javax_net_ssl_provider_Handshake$buffer__ diff --git a/libjava/gnu/javax/net/ssl/provider/JCESecurityParameters.h b/libjava/gnu/javax/net/ssl/provider/JCESecurityParameters.h deleted file mode 100644 index cc12a36..0000000 --- a/libjava/gnu/javax/net/ssl/provider/JCESecurityParameters.h +++ /dev/null @@ -1,76 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __gnu_javax_net_ssl_provider_JCESecurityParameters__ -#define __gnu_javax_net_ssl_provider_JCESecurityParameters__ - -#pragma interface - -#include -#include - -extern "Java" -{ - namespace gnu - { - namespace javax - { - namespace net - { - namespace ssl - { - namespace provider - { - class ContentType; - class JCESecurityParameters; - class ProtocolVersion; - } - } - } - } - } - namespace javax - { - namespace crypto - { - class Cipher; - class Mac; - } - } -} - -class gnu::javax::net::ssl::provider::JCESecurityParameters : public ::java::lang::Object -{ - -public: // actually package-private - JCESecurityParameters(); -public: - virtual void reset(); - virtual void setInCipher(::java::lang::Object *); - virtual void setOutCipher(::java::lang::Object *); - virtual void setInMac(::java::lang::Object *); - virtual void setOutMac(::java::lang::Object *); - virtual void setDeflating(jboolean); - virtual void setInflating(jboolean); - virtual jint getFragmentLength(); - virtual void setFragmentLength(jint); - virtual ::gnu::javax::net::ssl::provider::ProtocolVersion * getVersion(); - virtual void setVersion(::gnu::javax::net::ssl::provider::ProtocolVersion *); - virtual JArray< jbyte > * decrypt(JArray< jbyte > *, ::gnu::javax::net::ssl::provider::ProtocolVersion *, ::gnu::javax::net::ssl::provider::ContentType *); - virtual JArray< jbyte > * encrypt(JArray< jbyte > *, jint, jint, ::gnu::javax::net::ssl::provider::ContentType *); -private: - ::javax::crypto::Cipher * __attribute__((aligned(__alignof__( ::java::lang::Object)))) inCipher; - ::javax::crypto::Cipher * outCipher; - ::javax::crypto::Mac * inMac; - ::javax::crypto::Mac * outMac; - ::java::util::zip::Inflater * inflater; - ::java::util::zip::Deflater * deflater; - jint fragmentLength; - jlong inSequence; - jlong outSequence; - ::gnu::javax::net::ssl::provider::ProtocolVersion * version; -public: - static ::java::lang::Class class$; -}; - -#endif // __gnu_javax_net_ssl_provider_JCESecurityParameters__ diff --git a/libjava/gnu/javax/net/ssl/provider/JDBCSessionContext.h b/libjava/gnu/javax/net/ssl/provider/JDBCSessionContext.h deleted file mode 100644 index 3c838cf..0000000 --- a/libjava/gnu/javax/net/ssl/provider/JDBCSessionContext.h +++ /dev/null @@ -1,87 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __gnu_javax_net_ssl_provider_JDBCSessionContext__ -#define __gnu_javax_net_ssl_provider_JDBCSessionContext__ - -#pragma interface - -#include -#include - -extern "Java" -{ - namespace gnu - { - namespace javax - { - namespace net - { - namespace ssl - { - namespace provider - { - class JDBCSessionContext; - class Session; - class Session$ID; - } - } - } - } - } - namespace java - { - namespace security - { - namespace cert - { - class Certificate; - } - } - namespace sql - { - class Connection; - class PreparedStatement; - } - } - namespace javax - { - namespace net - { - namespace ssl - { - class SSLSession; - } - } - } -} - -class gnu::javax::net::ssl::provider::JDBCSessionContext : public ::gnu::javax::net::ssl::provider::SessionContext -{ - -public: // actually package-private - JDBCSessionContext(); -public: - virtual ::java::util::Enumeration * getIds(); - virtual ::javax::net::ssl::SSLSession * getSession(JArray< jbyte > *); -public: // actually package-private - virtual jboolean addSession(::gnu::javax::net::ssl::provider::Session$ID *, ::gnu::javax::net::ssl::provider::Session *); - virtual jboolean containsSessionID(::gnu::javax::net::ssl::provider::Session$ID *); -public: // actually protected - virtual jboolean removeSession(::gnu::javax::net::ssl::provider::Session$ID *); -public: // actually package-private - virtual void notifyAccess(::gnu::javax::net::ssl::provider::Session *); -private: - JArray< jbyte > * certs(JArray< ::java::security::cert::Certificate * > *); -public: // actually protected - ::java::sql::Connection * __attribute__((aligned(__alignof__( ::gnu::javax::net::ssl::provider::SessionContext)))) connection; - ::java::sql::PreparedStatement * selectById; - ::java::sql::PreparedStatement * insert; - ::java::sql::PreparedStatement * selectTimestamp; - ::java::sql::PreparedStatement * updateTimestamp; - ::java::sql::PreparedStatement * deleteSession; -public: - static ::java::lang::Class class$; -}; - -#endif // __gnu_javax_net_ssl_provider_JDBCSessionContext__ diff --git a/libjava/gnu/javax/net/ssl/provider/JessieDHPrivateKey.h b/libjava/gnu/javax/net/ssl/provider/JessieDHPrivateKey.h deleted file mode 100644 index 3f6f8f1..0000000 --- a/libjava/gnu/javax/net/ssl/provider/JessieDHPrivateKey.h +++ /dev/null @@ -1,68 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __gnu_javax_net_ssl_provider_JessieDHPrivateKey__ -#define __gnu_javax_net_ssl_provider_JessieDHPrivateKey__ - -#pragma interface - -#include -#include - -extern "Java" -{ - namespace gnu - { - namespace javax - { - namespace net - { - namespace ssl - { - namespace provider - { - class JessieDHPrivateKey; - } - } - } - } - } - namespace java - { - namespace math - { - class BigInteger; - } - } - namespace javax - { - namespace crypto - { - namespace spec - { - class DHParameterSpec; - } - } - } -} - -class gnu::javax::net::ssl::provider::JessieDHPrivateKey : public ::java::lang::Object -{ - -public: // actually package-private - JessieDHPrivateKey(::javax::crypto::spec::DHParameterSpec *, ::java::math::BigInteger *); -public: - virtual ::java::lang::String * getAlgorithm(); - virtual ::java::lang::String * getFormat(); - virtual JArray< jbyte > * getEncoded(); - virtual ::javax::crypto::spec::DHParameterSpec * getParams(); - virtual ::java::math::BigInteger * getX(); - virtual ::java::lang::String * toString(); -private: - ::javax::crypto::spec::DHParameterSpec * __attribute__((aligned(__alignof__( ::java::lang::Object)))) params; - ::java::math::BigInteger * x; -public: - static ::java::lang::Class class$; -}; - -#endif // __gnu_javax_net_ssl_provider_JessieDHPrivateKey__ diff --git a/libjava/gnu/javax/net/ssl/provider/JessieDHPublicKey.h b/libjava/gnu/javax/net/ssl/provider/JessieDHPublicKey.h deleted file mode 100644 index 80f504a..0000000 --- a/libjava/gnu/javax/net/ssl/provider/JessieDHPublicKey.h +++ /dev/null @@ -1,68 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __gnu_javax_net_ssl_provider_JessieDHPublicKey__ -#define __gnu_javax_net_ssl_provider_JessieDHPublicKey__ - -#pragma interface - -#include -#include - -extern "Java" -{ - namespace gnu - { - namespace javax - { - namespace net - { - namespace ssl - { - namespace provider - { - class JessieDHPublicKey; - } - } - } - } - } - namespace java - { - namespace math - { - class BigInteger; - } - } - namespace javax - { - namespace crypto - { - namespace spec - { - class DHParameterSpec; - } - } - } -} - -class gnu::javax::net::ssl::provider::JessieDHPublicKey : public ::java::lang::Object -{ - -public: // actually package-private - JessieDHPublicKey(::javax::crypto::spec::DHParameterSpec *, ::java::math::BigInteger *); -public: - virtual ::java::lang::String * getAlgorithm(); - virtual ::java::lang::String * getFormat(); - virtual JArray< jbyte > * getEncoded(); - virtual ::javax::crypto::spec::DHParameterSpec * getParams(); - virtual ::java::math::BigInteger * getY(); - virtual ::java::lang::String * toString(); -private: - ::javax::crypto::spec::DHParameterSpec * __attribute__((aligned(__alignof__( ::java::lang::Object)))) params; - ::java::math::BigInteger * y; -public: - static ::java::lang::Class class$; -}; - -#endif // __gnu_javax_net_ssl_provider_JessieDHPublicKey__ diff --git a/libjava/gnu/javax/net/ssl/provider/JessieRSAPrivateKey.h b/libjava/gnu/javax/net/ssl/provider/JessieRSAPrivateKey.h deleted file mode 100644 index 0c26446..0000000 --- a/libjava/gnu/javax/net/ssl/provider/JessieRSAPrivateKey.h +++ /dev/null @@ -1,58 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __gnu_javax_net_ssl_provider_JessieRSAPrivateKey__ -#define __gnu_javax_net_ssl_provider_JessieRSAPrivateKey__ - -#pragma interface - -#include -#include - -extern "Java" -{ - namespace gnu - { - namespace javax - { - namespace net - { - namespace ssl - { - namespace provider - { - class JessieRSAPrivateKey; - } - } - } - } - } - namespace java - { - namespace math - { - class BigInteger; - } - } -} - -class gnu::javax::net::ssl::provider::JessieRSAPrivateKey : public ::java::lang::Object -{ - -public: // actually package-private - JessieRSAPrivateKey(::java::math::BigInteger *, ::java::math::BigInteger *); -public: - virtual ::java::lang::String * getAlgorithm(); - virtual ::java::lang::String * getFormat(); - virtual JArray< jbyte > * getEncoded(); - virtual ::java::math::BigInteger * getModulus(); - virtual ::java::math::BigInteger * getPrivateExponent(); - virtual ::java::lang::String * toString(); -private: - ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::java::lang::Object)))) modulus; - ::java::math::BigInteger * exponent; -public: - static ::java::lang::Class class$; -}; - -#endif // __gnu_javax_net_ssl_provider_JessieRSAPrivateKey__ diff --git a/libjava/gnu/javax/net/ssl/provider/JessieRSAPublicKey.h b/libjava/gnu/javax/net/ssl/provider/JessieRSAPublicKey.h deleted file mode 100644 index 14dfea7b..0000000 --- a/libjava/gnu/javax/net/ssl/provider/JessieRSAPublicKey.h +++ /dev/null @@ -1,58 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __gnu_javax_net_ssl_provider_JessieRSAPublicKey__ -#define __gnu_javax_net_ssl_provider_JessieRSAPublicKey__ - -#pragma interface - -#include -#include - -extern "Java" -{ - namespace gnu - { - namespace javax - { - namespace net - { - namespace ssl - { - namespace provider - { - class JessieRSAPublicKey; - } - } - } - } - } - namespace java - { - namespace math - { - class BigInteger; - } - } -} - -class gnu::javax::net::ssl::provider::JessieRSAPublicKey : public ::java::lang::Object -{ - -public: // actually package-private - JessieRSAPublicKey(::java::math::BigInteger *, ::java::math::BigInteger *); -public: - virtual ::java::lang::String * getAlgorithm(); - virtual ::java::lang::String * getFormat(); - virtual JArray< jbyte > * getEncoded(); - virtual ::java::math::BigInteger * getModulus(); - virtual ::java::math::BigInteger * getPublicExponent(); - virtual ::java::lang::String * toString(); -private: - ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::java::lang::Object)))) modulus; - ::java::math::BigInteger * exponent; -public: - static ::java::lang::Class class$; -}; - -#endif // __gnu_javax_net_ssl_provider_JessieRSAPublicKey__ diff --git a/libjava/gnu/javax/net/ssl/provider/KeyPool.h b/libjava/gnu/javax/net/ssl/provider/KeyPool.h deleted file mode 100644 index 0eb8f3c..0000000 --- a/libjava/gnu/javax/net/ssl/provider/KeyPool.h +++ /dev/null @@ -1,60 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __gnu_javax_net_ssl_provider_KeyPool__ -#define __gnu_javax_net_ssl_provider_KeyPool__ - -#pragma interface - -#include -#include - -extern "Java" -{ - namespace gnu - { - namespace javax - { - namespace net - { - namespace ssl - { - namespace provider - { - class KeyPool; - } - } - } - } - } - namespace java - { - namespace math - { - class BigInteger; - } - namespace security - { - class KeyPair; - class SecureRandom; - } - } -} - -class gnu::javax::net::ssl::provider::KeyPool : public ::java::lang::Object -{ - - KeyPool(); -public: // actually package-private - static ::java::security::KeyPair * generateRSAKeyPair(); -private: - static void nextBytes(JArray< jbyte > *); - static ::java::math::BigInteger * ONE; - static ::java::math::BigInteger * TWO; - static ::java::math::BigInteger * E; - static ::java::security::SecureRandom * RANDOM; -public: - static ::java::lang::Class class$; -}; - -#endif // __gnu_javax_net_ssl_provider_KeyPool__ diff --git a/libjava/gnu/javax/net/ssl/provider/OverflowException.h b/libjava/gnu/javax/net/ssl/provider/OverflowException.h deleted file mode 100644 index 0fb5735..0000000 --- a/libjava/gnu/javax/net/ssl/provider/OverflowException.h +++ /dev/null @@ -1,40 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __gnu_javax_net_ssl_provider_OverflowException__ -#define __gnu_javax_net_ssl_provider_OverflowException__ - -#pragma interface - -#include -extern "Java" -{ - namespace gnu - { - namespace javax - { - namespace net - { - namespace ssl - { - namespace provider - { - class OverflowException; - } - } - } - } - } -} - -class gnu::javax::net::ssl::provider::OverflowException : public ::java::io::IOException -{ - -public: // actually package-private - OverflowException(); - OverflowException(::java::lang::String *); -public: - static ::java::lang::Class class$; -}; - -#endif // __gnu_javax_net_ssl_provider_OverflowException__ diff --git a/libjava/gnu/javax/net/ssl/provider/RecordInput.h b/libjava/gnu/javax/net/ssl/provider/RecordInput.h deleted file mode 100644 index 964c965..0000000 --- a/libjava/gnu/javax/net/ssl/provider/RecordInput.h +++ /dev/null @@ -1,56 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __gnu_javax_net_ssl_provider_RecordInput__ -#define __gnu_javax_net_ssl_provider_RecordInput__ - -#pragma interface - -#include -#include - -extern "Java" -{ - namespace gnu - { - namespace javax - { - namespace net - { - namespace ssl - { - namespace provider - { - class ContentType; - class RecordInput; - class Session; - } - } - } - } - } -} - -class gnu::javax::net::ssl::provider::RecordInput : public ::java::lang::Object -{ - -public: // actually package-private - RecordInput(::java::io::InputStream *, ::gnu::javax::net::ssl::provider::Session *); - virtual jint available(::gnu::javax::net::ssl::provider::ContentType *); - virtual void setSession(::gnu::javax::net::ssl::provider::Session *); - virtual jint read(JArray< jbyte > *, jint, jint, ::gnu::javax::net::ssl::provider::ContentType *); - virtual jboolean pollClose(); -private: - void readRecord(); - static const jboolean DEBUG_RECORD_LAYER = 1; - static ::java::util::logging::Logger * logger; - JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) fragment; - jint index; - ::gnu::javax::net::ssl::provider::ContentType * type; - ::java::io::DataInputStream * in; - ::gnu::javax::net::ssl::provider::Session * session; -public: - static ::java::lang::Class class$; -}; - -#endif // __gnu_javax_net_ssl_provider_RecordInput__ diff --git a/libjava/gnu/javax/net/ssl/provider/RecordInputStream.h b/libjava/gnu/javax/net/ssl/provider/RecordInputStream.h deleted file mode 100644 index b78f2eb..0000000 --- a/libjava/gnu/javax/net/ssl/provider/RecordInputStream.h +++ /dev/null @@ -1,52 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __gnu_javax_net_ssl_provider_RecordInputStream__ -#define __gnu_javax_net_ssl_provider_RecordInputStream__ - -#pragma interface - -#include -#include - -extern "Java" -{ - namespace gnu - { - namespace javax - { - namespace net - { - namespace ssl - { - namespace provider - { - class ContentType; - class RecordInput; - class RecordInputStream; - } - } - } - } - } -} - -class gnu::javax::net::ssl::provider::RecordInputStream : public ::java::io::InputStream -{ - -public: // actually package-private - RecordInputStream(::gnu::javax::net::ssl::provider::RecordInput *, ::gnu::javax::net::ssl::provider::ContentType *); -public: - virtual jint available(); - virtual jint read(); - virtual jint read(JArray< jbyte > *); - virtual jint read(JArray< jbyte > *, jint, jint); - virtual ::java::lang::String * toString(); -private: - ::gnu::javax::net::ssl::provider::RecordInput * __attribute__((aligned(__alignof__( ::java::io::InputStream)))) in; - ::gnu::javax::net::ssl::provider::ContentType * type; -public: - static ::java::lang::Class class$; -}; - -#endif // __gnu_javax_net_ssl_provider_RecordInputStream__ diff --git a/libjava/gnu/javax/net/ssl/provider/RecordOutputStream.h b/libjava/gnu/javax/net/ssl/provider/RecordOutputStream.h deleted file mode 100644 index 427edbf..0000000 --- a/libjava/gnu/javax/net/ssl/provider/RecordOutputStream.h +++ /dev/null @@ -1,54 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __gnu_javax_net_ssl_provider_RecordOutputStream__ -#define __gnu_javax_net_ssl_provider_RecordOutputStream__ - -#pragma interface - -#include -#include - -extern "Java" -{ - namespace gnu - { - namespace javax - { - namespace net - { - namespace ssl - { - namespace provider - { - class ContentType; - class RecordOutputStream; - class SecurityParameters; - } - } - } - } - } -} - -class gnu::javax::net::ssl::provider::RecordOutputStream : public ::java::io::FilterOutputStream -{ - -public: // actually package-private - RecordOutputStream(::java::io::OutputStream *, ::gnu::javax::net::ssl::provider::ContentType *, ::gnu::javax::net::ssl::provider::SecurityParameters *); -public: - virtual void write(jint); - virtual void write(JArray< jbyte > *); - virtual void write(JArray< jbyte > *, jint, jint); -private: - static const jboolean DEBUG_RECORD_LAYER = 1; - static ::java::util::logging::Logger * logger; - ::gnu::javax::net::ssl::provider::ContentType * __attribute__((aligned(__alignof__( ::java::io::FilterOutputStream)))) type; - ::gnu::javax::net::ssl::provider::SecurityParameters * params; - jboolean emitEmpty; - static JArray< jbyte > * ZERO; -public: - static ::java::lang::Class class$; -}; - -#endif // __gnu_javax_net_ssl_provider_RecordOutputStream__ diff --git a/libjava/gnu/javax/net/ssl/provider/RecordingInputStream.h b/libjava/gnu/javax/net/ssl/provider/RecordingInputStream.h deleted file mode 100644 index a6d912c..0000000 --- a/libjava/gnu/javax/net/ssl/provider/RecordingInputStream.h +++ /dev/null @@ -1,52 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __gnu_javax_net_ssl_provider_RecordingInputStream__ -#define __gnu_javax_net_ssl_provider_RecordingInputStream__ - -#pragma interface - -#include -#include - -extern "Java" -{ - namespace gnu - { - namespace javax - { - namespace net - { - namespace ssl - { - namespace provider - { - class RecordingInputStream; - } - } - } - } - } -} - -class gnu::javax::net::ssl::provider::RecordingInputStream : public ::java::io::FilterInputStream -{ - -public: // actually package-private - RecordingInputStream(::java::io::InputStream *); - RecordingInputStream(::java::io::InputStream *, ::java::io::ByteArrayOutputStream *); -public: - virtual jint read(); - virtual jint read(JArray< jbyte > *, jint, jint); - virtual jint read(JArray< jbyte > *); - virtual jlong skip(jlong); -public: // actually package-private - virtual JArray< jbyte > * getBytes(); - virtual void resetSink(); -public: // actually protected - ::java::io::ByteArrayOutputStream * __attribute__((aligned(__alignof__( ::java::io::FilterInputStream)))) sink; -public: - static ::java::lang::Class class$; -}; - -#endif // __gnu_javax_net_ssl_provider_RecordingInputStream__ diff --git a/libjava/gnu/javax/net/ssl/provider/SSLRSASignature.h b/libjava/gnu/javax/net/ssl/provider/SSLRSASignature.h deleted file mode 100644 index cef51da..0000000 --- a/libjava/gnu/javax/net/ssl/provider/SSLRSASignature.h +++ /dev/null @@ -1,79 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __gnu_javax_net_ssl_provider_SSLRSASignature__ -#define __gnu_javax_net_ssl_provider_SSLRSASignature__ - -#pragma interface - -#include -#include - -extern "Java" -{ - namespace gnu - { - namespace java - { - namespace security - { - namespace hash - { - class IMessageDigest; - } - } - } - namespace javax - { - namespace net - { - namespace ssl - { - namespace provider - { - class SSLRSASignature; - } - } - } - } - } - namespace java - { - namespace security - { - namespace interfaces - { - class RSAPrivateKey; - class RSAPublicKey; - } - } - } -} - -class gnu::javax::net::ssl::provider::SSLRSASignature : public ::java::lang::Object -{ - -public: // actually package-private - SSLRSASignature(); - SSLRSASignature(::gnu::java::security::hash::IMessageDigest *, ::gnu::java::security::hash::IMessageDigest *); -public: - ::java::lang::String * name(); - void setupVerify(::java::util::Map *); - void setupSign(::java::util::Map *); - void update(jbyte); - void update(JArray< jbyte > *, jint, jint); - ::java::lang::Object * sign(); - jboolean verify(::java::lang::Object *); - ::java::lang::Object * clone(); -private: - ::java::security::interfaces::RSAPublicKey * __attribute__((aligned(__alignof__( ::java::lang::Object)))) pubkey; - ::java::security::interfaces::RSAPrivateKey * privkey; - ::gnu::java::security::hash::IMessageDigest * md5; - ::gnu::java::security::hash::IMessageDigest * sha; - jboolean initVerify; - jboolean initSign; -public: - static ::java::lang::Class class$; -}; - -#endif // __gnu_javax_net_ssl_provider_SSLRSASignature__ diff --git a/libjava/gnu/javax/net/ssl/provider/SSLServerSocket.h b/libjava/gnu/javax/net/ssl/provider/SSLServerSocket.h deleted file mode 100644 index 8877d82..0000000 --- a/libjava/gnu/javax/net/ssl/provider/SSLServerSocket.h +++ /dev/null @@ -1,104 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __gnu_javax_net_ssl_provider_SSLServerSocket__ -#define __gnu_javax_net_ssl_provider_SSLServerSocket__ - -#pragma interface - -#include -#include - -extern "Java" -{ - namespace gnu - { - namespace javax - { - namespace net - { - namespace ssl - { - class SRPTrustManager; - namespace provider - { - class SSLServerSocket; - class SessionContext; - } - } - } - } - } - namespace java - { - namespace net - { - class InetAddress; - class Socket; - } - namespace security - { - class SecureRandom; - } - } - namespace javax - { - namespace net - { - namespace ssl - { - class X509KeyManager; - class X509TrustManager; - } - } - } -} - -class gnu::javax::net::ssl::provider::SSLServerSocket : public ::javax::net::ssl::SSLServerSocket -{ - -public: // actually package-private - SSLServerSocket(); - SSLServerSocket(jint); - SSLServerSocket(jint, jint); - SSLServerSocket(jint, jint, ::java::net::InetAddress *); -public: - virtual JArray< ::java::lang::String * > * getSupportedCipherSuites(); - virtual JArray< ::java::lang::String * > * getEnabledCipherSuites(); - virtual void setEnabledCipherSuites(JArray< ::java::lang::String * > *); - virtual JArray< ::java::lang::String * > * getSupportedProtocols(); - virtual JArray< ::java::lang::String * > * getEnabledProtocols(); - virtual void setEnabledProtocols(JArray< ::java::lang::String * > *); - virtual void setUseClientMode(jboolean); - virtual jboolean getUseClientMode(); - virtual void setNeedClientAuth(jboolean); - virtual jboolean getNeedClientAuth(); - virtual void setWantClientAuth(jboolean); - virtual jboolean getWantClientAuth(); - virtual void setEnabledSessionCreation(jboolean); - virtual void setEnableSessionCreation(jboolean); - virtual jboolean getEnableSessionCreation(); - virtual ::java::net::Socket * accept(); -public: // actually package-private - virtual void setSessionContext(::gnu::javax::net::ssl::provider::SessionContext *); - virtual void setKeyManager(::javax::net::ssl::X509KeyManager *); - virtual void setTrustManager(::javax::net::ssl::X509TrustManager *); - virtual void setSRPTrustManager(::gnu::javax::net::ssl::SRPTrustManager *); - virtual void setRandom(::java::security::SecureRandom *); -private: - ::gnu::javax::net::ssl::provider::SessionContext * __attribute__((aligned(__alignof__( ::javax::net::ssl::SSLServerSocket)))) sessions; - ::java::util::SortedSet * enabledProtocols; - ::java::util::List * enabledSuites; - jboolean clientMode; - jboolean needClientAuth; - jboolean wantClientAuth; - jboolean createSessions; - ::gnu::javax::net::ssl::SRPTrustManager * srpTrustManager; - ::javax::net::ssl::X509TrustManager * trustManager; - ::javax::net::ssl::X509KeyManager * keyManager; - ::java::security::SecureRandom * random; -public: - static ::java::lang::Class class$; -}; - -#endif // __gnu_javax_net_ssl_provider_SSLServerSocket__ diff --git a/libjava/gnu/javax/net/ssl/provider/SSLServerSocketFactory.h b/libjava/gnu/javax/net/ssl/provider/SSLServerSocketFactory.h deleted file mode 100644 index 308a38d..0000000 --- a/libjava/gnu/javax/net/ssl/provider/SSLServerSocketFactory.h +++ /dev/null @@ -1,81 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __gnu_javax_net_ssl_provider_SSLServerSocketFactory__ -#define __gnu_javax_net_ssl_provider_SSLServerSocketFactory__ - -#pragma interface - -#include -#include - -extern "Java" -{ - namespace gnu - { - namespace javax - { - namespace net - { - namespace ssl - { - class SRPTrustManager; - namespace provider - { - class SSLServerSocket; - class SSLServerSocketFactory; - class SessionContext; - } - } - } - } - } - namespace java - { - namespace net - { - class InetAddress; - class ServerSocket; - } - namespace security - { - class SecureRandom; - } - } - namespace javax - { - namespace net - { - namespace ssl - { - class X509KeyManager; - class X509TrustManager; - } - } - } -} - -class gnu::javax::net::ssl::provider::SSLServerSocketFactory : public ::javax::net::ssl::SSLServerSocketFactory -{ - -public: // actually package-private - SSLServerSocketFactory(::javax::net::ssl::X509TrustManager *, ::gnu::javax::net::ssl::SRPTrustManager *, ::javax::net::ssl::X509KeyManager *, ::java::security::SecureRandom *, ::gnu::javax::net::ssl::provider::SessionContext *); -public: - virtual JArray< ::java::lang::String * > * getDefaultCipherSuites(); - virtual JArray< ::java::lang::String * > * getSupportedCipherSuites(); - virtual ::java::net::ServerSocket * createServerSocket(); - virtual ::java::net::ServerSocket * createServerSocket(jint); - virtual ::java::net::ServerSocket * createServerSocket(jint, jint); - virtual ::java::net::ServerSocket * createServerSocket(jint, jint, ::java::net::InetAddress *); -private: - void setup(::gnu::javax::net::ssl::provider::SSLServerSocket *); - ::gnu::javax::net::ssl::provider::SessionContext * __attribute__((aligned(__alignof__( ::javax::net::ssl::SSLServerSocketFactory)))) sessions; - ::javax::net::ssl::X509KeyManager * keyManager; - ::javax::net::ssl::X509TrustManager * trustManager; - ::gnu::javax::net::ssl::SRPTrustManager * srpTrustManager; - ::java::security::SecureRandom * random; -public: - static ::java::lang::Class class$; -}; - -#endif // __gnu_javax_net_ssl_provider_SSLServerSocketFactory__ diff --git a/libjava/gnu/javax/net/ssl/provider/SSLSocket.h b/libjava/gnu/javax/net/ssl/provider/SSLSocket.h deleted file mode 100644 index ee2ecbb..0000000 --- a/libjava/gnu/javax/net/ssl/provider/SSLSocket.h +++ /dev/null @@ -1,240 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __gnu_javax_net_ssl_provider_SSLSocket__ -#define __gnu_javax_net_ssl_provider_SSLSocket__ - -#pragma interface - -#include -#include - -extern "Java" -{ - namespace gnu - { - namespace java - { - namespace security - { - namespace hash - { - class IMessageDigest; - } - namespace sig - { - class ISignature; - } - } - } - namespace javax - { - namespace net - { - namespace ssl - { - class SRPTrustManager; - namespace provider - { - class Alert; - class CipherSuite; - class Finished; - class ProtocolVersion; - class RecordInput; - class SSLSocket; - class Session; - class SessionContext; - } - } - } - } - } - namespace java - { - namespace math - { - class BigInteger; - } - namespace net - { - class InetAddress; - class Socket; - class SocketAddress; - } - namespace nio - { - namespace channels - { - class SocketChannel; - } - } - namespace security - { - class SecureRandom; - namespace cert - { - class X509Certificate; - } - } - } - namespace javax - { - namespace net - { - namespace ssl - { - class HandshakeCompletedListener; - class SSLSession; - class X509KeyManager; - class X509TrustManager; - } - } - } -} - -class gnu::javax::net::ssl::provider::SSLSocket : public ::javax::net::ssl::SSLSocket -{ - -public: // actually package-private - SSLSocket(::java::net::Socket *, ::java::lang::String *, jint, jboolean); - SSLSocket(::java::net::Socket *, ::java::nio::channels::SocketChannel *); - SSLSocket(); - SSLSocket(::java::net::InetAddress *, jint); - SSLSocket(::java::net::InetAddress *, jint, ::java::net::InetAddress *, jint); - SSLSocket(::java::lang::String *, jint); - SSLSocket(::java::lang::String *, jint, ::java::net::InetAddress *, jint); -private: - void initialize(); -public: - void addHandshakeCompletedListener(::javax::net::ssl::HandshakeCompletedListener *); - void removeHandshakeCompletedListener(::javax::net::ssl::HandshakeCompletedListener *); - JArray< ::java::lang::String * > * getEnabledProtocols(); - void setEnabledProtocols(JArray< ::java::lang::String * > *); - JArray< ::java::lang::String * > * getSupportedProtocols(); - JArray< ::java::lang::String * > * getEnabledCipherSuites(); - void setEnabledCipherSuites(JArray< ::java::lang::String * > *); - JArray< ::java::lang::String * > * getSupportedCipherSuites(); - ::javax::net::ssl::SSLSession * getSession(); - jboolean getEnableSessionCreation(); - void setEnableSessionCreation(jboolean); - jboolean getNeedClientAuth(); - void setNeedClientAuth(jboolean); - jboolean getWantClientAuth(); - void setWantClientAuth(jboolean); - jboolean getUseClientMode(); - void setUseClientMode(jboolean); - void startHandshake(); - ::java::net::InetAddress * getInetAddress(); - ::java::net::InetAddress * getLocalAddress(); - jint getPort(); - jint getLocalPort(); - ::java::io::InputStream * getInputStream(); - ::java::io::OutputStream * getOutputStream(); - void setTcpNoDelay(jboolean); - jboolean getTcpNoDelay(); - void setSoLinger(jboolean, jint); - jint getSoLinger(); - void sendUrgentData(jint); - void setSoTimeout(jint); - jint getSoTimeout(); - void setSendBufferSize(jint); - jint getSendBufferSize(); - void setReceiveBufferSize(jint); - jint getReceiveBufferSize(); - void close(); - ::java::lang::String * toString(); - void connect(::java::net::SocketAddress *); - void connect(::java::net::SocketAddress *, jint); - void bind(::java::net::SocketAddress *); - ::java::net::SocketAddress * getLocalSocketAddress(); - ::java::nio::channels::SocketChannel * getChannel(); - jboolean isBound(); - jboolean isClosed(); - void setOOBInline(jboolean); - jboolean getOOBInline(); - void setKeepAlive(jboolean); - jboolean getKeepAlive(); - void setTrafficClass(jint); - jint getTrafficClass(); - void setReuseAddress(jboolean); - jboolean getReuseAddress(); - void shutdownInput(); - void shutdownOutput(); - jboolean isConnected(); - jboolean isInputShutdown(); - jboolean isOutputShutdown(); -public: // actually protected - void finalize(); -public: // actually package-private - void setSessionContext(::gnu::javax::net::ssl::provider::SessionContext *); - void setEnabledCipherSuites(::java::util::List *); - void setEnabledProtocols(::java::util::SortedSet *); - void setSRPTrustManager(::gnu::javax::net::ssl::SRPTrustManager *); - void setTrustManager(::javax::net::ssl::X509TrustManager *); - void setKeyManager(::javax::net::ssl::X509KeyManager *); - void setRandom(::java::security::SecureRandom *); - void sendAlert(::gnu::javax::net::ssl::provider::Alert *); - ::gnu::javax::net::ssl::provider::Alert * checkAlert(); - void checkHandshakeDone(); -private: - void changeCipherSpec(); - void readChangeCipherSpec(); - void setupIO(); - void handshakeCompleted(); - void doClientHandshake(); - void doServerHandshake(); - JArray< JArray< jbyte > * > * generateKeys(JArray< jbyte > *, JArray< jbyte > *, ::gnu::javax::net::ssl::provider::ProtocolVersion *); - ::gnu::javax::net::ssl::provider::Finished * generateFinished(::gnu::javax::net::ssl::provider::ProtocolVersion *, ::gnu::java::security::hash::IMessageDigest *, ::gnu::java::security::hash::IMessageDigest *, jboolean); - ::gnu::javax::net::ssl::provider::Alert * unexpectedMessage(); - void throwUnexpectedMessage(); - ::gnu::javax::net::ssl::provider::Alert * handshakeFailure(); - void throwHandshakeFailure(); - ::gnu::javax::net::ssl::provider::Alert * internalError(); - void throwInternalError(); - ::gnu::javax::net::ssl::provider::Alert * peerUnverified(JArray< ::java::security::cert::X509Certificate * > *); - void throwPeerUnverified(JArray< ::java::security::cert::X509Certificate * > *); - ::gnu::javax::net::ssl::provider::CipherSuite * selectSuite(::java::util::List *, ::gnu::javax::net::ssl::provider::ProtocolVersion *); - ::java::lang::String * askUserName(::java::lang::String *); - ::java::lang::String * askPassword(::java::lang::String *); - jboolean checkCertificates(JArray< ::java::security::cert::X509Certificate * > *); - void updateSig(::gnu::java::security::sig::ISignature *, ::java::math::BigInteger *); - void fatal(); - static const jboolean DEBUG_HANDSHAKE_LAYER = 1; - static const jboolean DEBUG_KEY_EXCHANGE = 0; - static ::java::util::logging::Logger * logger; - ::java::net::Socket * __attribute__((aligned(__alignof__( ::javax::net::ssl::SSLSocket)))) underlyingSocket; - jint underlyingPort; - jboolean autoClose; -public: // actually package-private - ::gnu::javax::net::ssl::provider::SessionContext * sessionContext; - ::gnu::javax::net::ssl::provider::Session * session; - ::java::util::LinkedList * handshakeListeners; -private: - jboolean clientMode; - jboolean wantClientAuth; - jboolean needClientAuth; - jboolean createSessions; - jboolean handshakeDone; - ::java::lang::String * remoteHost; - ::java::io::InputStream * socketIn; - ::java::io::OutputStream * socketOut; - ::java::io::InputStream * applicationIn; - ::java::io::OutputStream * applicationOut; - ::java::io::InputStream * handshakeIn; - ::java::io::OutputStream * handshakeOut; -public: // actually package-private - ::gnu::javax::net::ssl::provider::RecordInput * recordInput; -private: - jlong handshakeTime; - ::java::nio::channels::SocketChannel * channel; -public: // actually package-private - static ::java::util::SortedSet * supportedProtocols; - static ::java::util::List * supportedSuites; -private: - static JArray< jbyte > * SENDER_CLIENT; - static JArray< jbyte > * SENDER_SERVER; -public: - static ::java::lang::Class class$; -}; - -#endif // __gnu_javax_net_ssl_provider_SSLSocket__ diff --git a/libjava/gnu/javax/net/ssl/provider/SSLSocketFactory.h b/libjava/gnu/javax/net/ssl/provider/SSLSocketFactory.h deleted file mode 100644 index ce96e04..0000000 --- a/libjava/gnu/javax/net/ssl/provider/SSLSocketFactory.h +++ /dev/null @@ -1,81 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __gnu_javax_net_ssl_provider_SSLSocketFactory__ -#define __gnu_javax_net_ssl_provider_SSLSocketFactory__ - -#pragma interface - -#include -#include - -extern "Java" -{ - namespace gnu - { - namespace javax - { - namespace net - { - namespace ssl - { - namespace provider - { - class SSLSocket; - class SSLSocketFactory; - class SessionContext; - } - } - } - } - } - namespace java - { - namespace net - { - class InetAddress; - class Socket; - } - namespace security - { - class SecureRandom; - } - } - namespace javax - { - namespace net - { - namespace ssl - { - class X509KeyManager; - class X509TrustManager; - } - } - } -} - -class gnu::javax::net::ssl::provider::SSLSocketFactory : public ::javax::net::ssl::SSLSocketFactory -{ - -public: // actually package-private - SSLSocketFactory(::javax::net::ssl::X509TrustManager *, ::javax::net::ssl::X509KeyManager *, ::java::security::SecureRandom *, ::gnu::javax::net::ssl::provider::SessionContext *); -public: - virtual JArray< ::java::lang::String * > * getDefaultCipherSuites(); - virtual JArray< ::java::lang::String * > * getSupportedCipherSuites(); - virtual ::java::net::Socket * createSocket(::java::net::Socket *, ::java::lang::String *, jint, jboolean); - virtual ::java::net::Socket * createSocket(); - virtual ::java::net::Socket * createSocket(::java::lang::String *, jint); - virtual ::java::net::Socket * createSocket(::java::lang::String *, jint, ::java::net::InetAddress *, jint); - virtual ::java::net::Socket * createSocket(::java::net::InetAddress *, jint); - virtual ::java::net::Socket * createSocket(::java::net::InetAddress *, jint, ::java::net::InetAddress *, jint); -private: - ::gnu::javax::net::ssl::provider::SSLSocket * setup(::gnu::javax::net::ssl::provider::SSLSocket *); - ::javax::net::ssl::X509TrustManager * __attribute__((aligned(__alignof__( ::javax::net::ssl::SSLSocketFactory)))) trustManager; - ::javax::net::ssl::X509KeyManager * keyManager; - ::java::security::SecureRandom * random; - ::gnu::javax::net::ssl::provider::SessionContext * sessionContext; -public: - static ::java::lang::Class class$; -}; - -#endif // __gnu_javax_net_ssl_provider_SSLSocketFactory__ diff --git a/libjava/gnu/javax/net/ssl/provider/SSLSocketInputStream.h b/libjava/gnu/javax/net/ssl/provider/SSLSocketInputStream.h deleted file mode 100644 index 22b8e5f..0000000 --- a/libjava/gnu/javax/net/ssl/provider/SSLSocketInputStream.h +++ /dev/null @@ -1,52 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __gnu_javax_net_ssl_provider_SSLSocketInputStream__ -#define __gnu_javax_net_ssl_provider_SSLSocketInputStream__ - -#pragma interface - -#include -#include - -extern "Java" -{ - namespace gnu - { - namespace javax - { - namespace net - { - namespace ssl - { - namespace provider - { - class SSLSocket; - class SSLSocketInputStream; - } - } - } - } - } -} - -class gnu::javax::net::ssl::provider::SSLSocketInputStream : public ::java::io::FilterInputStream -{ - -public: // actually package-private - SSLSocketInputStream(::java::io::InputStream *, ::gnu::javax::net::ssl::provider::SSLSocket *); - SSLSocketInputStream(::java::io::InputStream *, ::gnu::javax::net::ssl::provider::SSLSocket *, jboolean); -public: - virtual jint available(); - virtual jint read(); - virtual jint read(JArray< jbyte > *); - virtual jint read(JArray< jbyte > *, jint, jint); -private: - jboolean checkAlert(); - ::gnu::javax::net::ssl::provider::SSLSocket * __attribute__((aligned(__alignof__( ::java::io::FilterInputStream)))) socket; - jboolean checkHandshake; -public: - static ::java::lang::Class class$; -}; - -#endif // __gnu_javax_net_ssl_provider_SSLSocketInputStream__ diff --git a/libjava/gnu/javax/net/ssl/provider/SSLSocketOutputStream.h b/libjava/gnu/javax/net/ssl/provider/SSLSocketOutputStream.h deleted file mode 100644 index e62ee5d..0000000 --- a/libjava/gnu/javax/net/ssl/provider/SSLSocketOutputStream.h +++ /dev/null @@ -1,51 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __gnu_javax_net_ssl_provider_SSLSocketOutputStream__ -#define __gnu_javax_net_ssl_provider_SSLSocketOutputStream__ - -#pragma interface - -#include -#include - -extern "Java" -{ - namespace gnu - { - namespace javax - { - namespace net - { - namespace ssl - { - namespace provider - { - class SSLSocket; - class SSLSocketOutputStream; - } - } - } - } - } -} - -class gnu::javax::net::ssl::provider::SSLSocketOutputStream : public ::java::io::FilterOutputStream -{ - -public: // actually package-private - SSLSocketOutputStream(::java::io::OutputStream *, ::gnu::javax::net::ssl::provider::SSLSocket *); - SSLSocketOutputStream(::java::io::OutputStream *, ::gnu::javax::net::ssl::provider::SSLSocket *, jboolean); -public: - virtual void write(jint); - virtual void write(JArray< jbyte > *); - virtual void write(JArray< jbyte > *, jint, jint); -private: - void checkAlert(); - ::gnu::javax::net::ssl::provider::SSLSocket * __attribute__((aligned(__alignof__( ::java::io::FilterOutputStream)))) socket; - jboolean checkHandshake; -public: - static ::java::lang::Class class$; -}; - -#endif // __gnu_javax_net_ssl_provider_SSLSocketOutputStream__ diff --git a/libjava/gnu/javax/net/ssl/provider/SecurityParameters.h b/libjava/gnu/javax/net/ssl/provider/SecurityParameters.h deleted file mode 100644 index e96e7da..0000000 --- a/libjava/gnu/javax/net/ssl/provider/SecurityParameters.h +++ /dev/null @@ -1,54 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __gnu_javax_net_ssl_provider_SecurityParameters__ -#define __gnu_javax_net_ssl_provider_SecurityParameters__ - -#pragma interface - -#include -#include - -extern "Java" -{ - namespace gnu - { - namespace javax - { - namespace net - { - namespace ssl - { - namespace provider - { - class ContentType; - class ProtocolVersion; - class SecurityParameters; - } - } - } - } - } -} - -class gnu::javax::net::ssl::provider::SecurityParameters : public ::java::lang::Object -{ - -public: - virtual JArray< jbyte > * decrypt(JArray< jbyte > *, ::gnu::javax::net::ssl::provider::ProtocolVersion *, ::gnu::javax::net::ssl::provider::ContentType *) = 0; - virtual JArray< jbyte > * encrypt(JArray< jbyte > *, jint, jint, ::gnu::javax::net::ssl::provider::ContentType *) = 0; - virtual void reset() = 0; - virtual ::gnu::javax::net::ssl::provider::ProtocolVersion * getVersion() = 0; - virtual void setVersion(::gnu::javax::net::ssl::provider::ProtocolVersion *) = 0; - virtual void setDeflating(jboolean) = 0; - virtual void setInflating(jboolean) = 0; - virtual jint getFragmentLength() = 0; - virtual void setFragmentLength(jint) = 0; - virtual void setInCipher(::java::lang::Object *) = 0; - virtual void setOutCipher(::java::lang::Object *) = 0; - virtual void setInMac(::java::lang::Object *) = 0; - virtual void setOutMac(::java::lang::Object *) = 0; - static ::java::lang::Class class$; -} __attribute__ ((java_interface)); - -#endif // __gnu_javax_net_ssl_provider_SecurityParameters__ diff --git a/libjava/gnu/javax/net/ssl/provider/Session$ID.h b/libjava/gnu/javax/net/ssl/provider/Session$ID.h deleted file mode 100644 index 849f941..0000000 --- a/libjava/gnu/javax/net/ssl/provider/Session$ID.h +++ /dev/null @@ -1,49 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __gnu_javax_net_ssl_provider_Session$ID__ -#define __gnu_javax_net_ssl_provider_Session$ID__ - -#pragma interface - -#include -#include - -extern "Java" -{ - namespace gnu - { - namespace javax - { - namespace net - { - namespace ssl - { - namespace provider - { - class Session$ID; - } - } - } - } - } -} - -class gnu::javax::net::ssl::provider::Session$ID : public ::java::lang::Object -{ - -public: // actually package-private - Session$ID(JArray< jbyte > *); -public: - JArray< jbyte > * getId(); - jboolean equals(::java::lang::Object *); - jint hashCode(); - jint compareTo(::java::lang::Object *); - ::java::lang::String * toString(); -private: - JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) id; -public: - static ::java::lang::Class class$; -}; - -#endif // __gnu_javax_net_ssl_provider_Session$ID__ diff --git a/libjava/gnu/javax/net/ssl/provider/Session.h b/libjava/gnu/javax/net/ssl/provider/Session.h deleted file mode 100644 index d1f241c..0000000 --- a/libjava/gnu/javax/net/ssl/provider/Session.h +++ /dev/null @@ -1,134 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __gnu_javax_net_ssl_provider_Session__ -#define __gnu_javax_net_ssl_provider_Session__ - -#pragma interface - -#include -#include - -extern "Java" -{ - namespace gnu - { - namespace javax - { - namespace net - { - namespace ssl - { - class SRPTrustManager; - namespace provider - { - class Alert; - class CipherSuite; - class ProtocolVersion; - class SecurityParameters; - class Session; - class Session$ID; - class SessionContext; - } - } - } - } - } - namespace java - { - namespace security - { - class Principal; - class SecureRandom; - namespace cert - { - class Certificate; - } - } - } - namespace javax - { - namespace net - { - namespace ssl - { - class SSLPermission; - class SSLSessionContext; - class X509KeyManager; - class X509TrustManager; - } - } - namespace security - { - namespace cert - { - class X509Certificate; - } - } - } -} - -class gnu::javax::net::ssl::provider::Session : public ::java::lang::Object -{ - -public: // actually package-private - Session(); - Session(jlong); -public: // actually protected - ::java::lang::Object * clone(); -public: - ::java::lang::String * getCipherSuite(); - jlong getCreationTime(); - JArray< jbyte > * getId(); - jlong getLastAccessedTime(); - JArray< ::java::security::cert::Certificate * > * getLocalCertificates(); - JArray< ::java::security::cert::Certificate * > * getPeerCertificates(); - JArray< ::javax::security::cert::X509Certificate * > * getPeerCertificateChain(); - ::java::lang::String * getPeerHost(); - ::java::lang::String * getProtocol(); - ::javax::net::ssl::SSLSessionContext * getSessionContext(); - JArray< ::java::lang::String * > * getValueNames(); - ::java::lang::Object * getValue(::java::lang::String *); - void putValue(::java::lang::String *, ::java::lang::Object *); - void removeValue(::java::lang::String *); - void invalidate(); -public: // actually package-private - void access(); - void setLastAccessedTime(jlong); -public: - jint getApplicationBufferSize() = 0; - ::java::security::Principal * getLocalPrincipal() = 0; - jint getPacketBufferSize() = 0; - jint getPeerPort() = 0; - ::java::security::Principal * getPeerPrincipal() = 0; - jboolean isValid() = 0; -private: - static ::javax::net::ssl::SSLPermission * GET_SESSION_CONTEXT_PERMISSION; - jlong __attribute__((aligned(__alignof__( ::java::lang::Object)))) creationTime; - ::java::util::Date * lastAccessedTime; -public: // actually package-private - ::gnu::javax::net::ssl::provider::Session$ID * sessionId; - JArray< ::java::security::cert::Certificate * > * localCerts; - JArray< ::java::security::cert::Certificate * > * peerCerts; - JArray< ::javax::security::cert::X509Certificate * > * peerCertChain; - ::java::lang::String * peerHost; - jboolean peerVerified; - ::gnu::javax::net::ssl::provider::SessionContext * context; - ::java::util::HashMap * values; - jboolean valid; - ::java::util::List * enabledSuites; - ::gnu::javax::net::ssl::provider::CipherSuite * cipherSuite; - ::java::util::SortedSet * enabledProtocols; - ::gnu::javax::net::ssl::provider::ProtocolVersion * protocol; - JArray< jbyte > * masterSecret; - ::gnu::javax::net::ssl::SRPTrustManager * srpTrustManager; - ::javax::net::ssl::X509TrustManager * trustManager; - ::javax::net::ssl::X509KeyManager * keyManager; - ::java::security::SecureRandom * random; - ::gnu::javax::net::ssl::provider::SecurityParameters * params; - ::gnu::javax::net::ssl::provider::Alert * currentAlert; -public: - static ::java::lang::Class class$; -}; - -#endif // __gnu_javax_net_ssl_provider_Session__ diff --git a/libjava/gnu/javax/net/ssl/provider/SessionContext.h b/libjava/gnu/javax/net/ssl/provider/SessionContext.h deleted file mode 100644 index 3dab41c..0000000 --- a/libjava/gnu/javax/net/ssl/provider/SessionContext.h +++ /dev/null @@ -1,70 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __gnu_javax_net_ssl_provider_SessionContext__ -#define __gnu_javax_net_ssl_provider_SessionContext__ - -#pragma interface - -#include -#include - -extern "Java" -{ - namespace gnu - { - namespace javax - { - namespace net - { - namespace ssl - { - namespace provider - { - class Session; - class Session$ID; - class SessionContext; - } - } - } - } - } - namespace javax - { - namespace net - { - namespace ssl - { - class SSLSession; - } - } - } -} - -class gnu::javax::net::ssl::provider::SessionContext : public ::java::lang::Object -{ - -public: // actually package-private - SessionContext(); -public: - virtual ::java::util::Enumeration * getIds(); - virtual ::javax::net::ssl::SSLSession * getSession(JArray< jbyte > *); - virtual jint getSessionCacheSize(); - virtual void setSessionCacheSize(jint); - virtual jint getSessionTimeout(); - virtual void setSessionTimeout(jint); - virtual ::java::lang::String * toString(); -public: // actually package-private - virtual jboolean addSession(::gnu::javax::net::ssl::provider::Session$ID *, ::gnu::javax::net::ssl::provider::Session *); - virtual jboolean containsSessionID(::gnu::javax::net::ssl::provider::Session$ID *); - virtual jboolean removeSession(::gnu::javax::net::ssl::provider::Session$ID *); - virtual void notifyAccess(::gnu::javax::net::ssl::provider::Session *); -public: // actually protected - ::java::util::HashMap * __attribute__((aligned(__alignof__( ::java::lang::Object)))) sessions; - jint cacheSize; - jint timeout; -public: - static ::java::lang::Class class$; -}; - -#endif // __gnu_javax_net_ssl_provider_SessionContext__ diff --git a/libjava/gnu/javax/net/ssl/provider/SynchronizedRandom.h b/libjava/gnu/javax/net/ssl/provider/SynchronizedRandom.h deleted file mode 100644 index a045e53..0000000 --- a/libjava/gnu/javax/net/ssl/provider/SynchronizedRandom.h +++ /dev/null @@ -1,62 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __gnu_javax_net_ssl_provider_SynchronizedRandom__ -#define __gnu_javax_net_ssl_provider_SynchronizedRandom__ - -#pragma interface - -#include -#include - -extern "Java" -{ - namespace gnu - { - namespace java - { - namespace security - { - namespace prng - { - class IRandom; - } - } - } - namespace javax - { - namespace net - { - namespace ssl - { - namespace provider - { - class SynchronizedRandom; - } - } - } - } - } -} - -class gnu::javax::net::ssl::provider::SynchronizedRandom : public ::java::lang::Object -{ - -public: // actually package-private - SynchronizedRandom(::gnu::java::security::prng::IRandom *); -public: - virtual ::java::lang::String * name(); - virtual void init(::java::util::Map *); - virtual jbyte nextByte(); - virtual void nextBytes(JArray< jbyte > *, jint, jint); - virtual ::java::lang::Object * clone(); - virtual void addRandomByte(jbyte); - virtual void addRandomBytes(JArray< jbyte > *); - virtual void addRandomBytes(JArray< jbyte > *, jint, jint); -private: - ::gnu::java::security::prng::IRandom * __attribute__((aligned(__alignof__( ::java::lang::Object)))) random; -public: - static ::java::lang::Class class$; -}; - -#endif // __gnu_javax_net_ssl_provider_SynchronizedRandom__ diff --git a/libjava/gnu/javax/net/ssl/provider/XMLSessionContext$SAXHandler.h b/libjava/gnu/javax/net/ssl/provider/XMLSessionContext$SAXHandler.h deleted file mode 100644 index 0ced1c2..0000000 --- a/libjava/gnu/javax/net/ssl/provider/XMLSessionContext$SAXHandler.h +++ /dev/null @@ -1,102 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __gnu_javax_net_ssl_provider_XMLSessionContext$SAXHandler__ -#define __gnu_javax_net_ssl_provider_XMLSessionContext$SAXHandler__ - -#pragma interface - -#include -#include - -extern "Java" -{ - namespace gnu - { - namespace java - { - namespace security - { - namespace prng - { - class IRandom; - } - } - } - namespace javax - { - namespace crypto - { - namespace mac - { - class IMac; - } - namespace mode - { - class IMode; - } - } - namespace net - { - namespace ssl - { - namespace provider - { - class Session; - class SessionContext; - class XMLSessionContext; - class XMLSessionContext$SAXHandler; - } - } - } - } - } - namespace org - { - namespace xml - { - namespace sax - { - class Attributes; - } - } - } -} - -class gnu::javax::net::ssl::provider::XMLSessionContext$SAXHandler : public ::org::xml::sax::helpers::DefaultHandler -{ - -public: // actually package-private - XMLSessionContext$SAXHandler(::gnu::javax::net::ssl::provider::XMLSessionContext *, ::gnu::javax::net::ssl::provider::SessionContext *, ::gnu::java::security::prng::IRandom *); -public: - virtual void startElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::org::xml::sax::Attributes *); - virtual void endElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); - virtual void characters(JArray< jchar > *, jint, jint); -private: - ::gnu::javax::net::ssl::provider::SessionContext * __attribute__((aligned(__alignof__( ::org::xml::sax::helpers::DefaultHandler)))) context; - ::gnu::javax::net::ssl::provider::Session * current; - ::gnu::java::security::prng::IRandom * pbekdf; - ::java::lang::StringBuffer * buf; - ::java::lang::String * certType; - jint state; - ::gnu::javax::crypto::mode::IMode * cipher; - ::java::util::HashMap * cipherAttr; - ::gnu::javax::crypto::mac::IMac * mac; - ::java::util::HashMap * macAttr; - JArray< jbyte > * key; - JArray< jbyte > * iv; - JArray< jbyte > * mackey; - static const jint START = 0; - static const jint SESSIONS = 1; - static const jint SESSION = 2; - static const jint PEER = 3; - static const jint PEER_CERTS = 4; - static const jint CERTS = 5; - static const jint SECRET = 6; -public: // actually package-private - ::gnu::javax::net::ssl::provider::XMLSessionContext * this$0; -public: - static ::java::lang::Class class$; -}; - -#endif // __gnu_javax_net_ssl_provider_XMLSessionContext$SAXHandler__ diff --git a/libjava/gnu/javax/net/ssl/provider/XMLSessionContext.h b/libjava/gnu/javax/net/ssl/provider/XMLSessionContext.h deleted file mode 100644 index dfc4224..0000000 --- a/libjava/gnu/javax/net/ssl/provider/XMLSessionContext.h +++ /dev/null @@ -1,69 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __gnu_javax_net_ssl_provider_XMLSessionContext__ -#define __gnu_javax_net_ssl_provider_XMLSessionContext__ - -#pragma interface - -#include -extern "Java" -{ - namespace gnu - { - namespace java - { - namespace security - { - namespace prng - { - class IRandom; - } - } - } - namespace javax - { - namespace net - { - namespace ssl - { - namespace provider - { - class Session; - class Session$ID; - class XMLSessionContext; - } - } - } - } - } - namespace java - { - namespace security - { - class SecureRandom; - } - } -} - -class gnu::javax::net::ssl::provider::XMLSessionContext : public ::gnu::javax::net::ssl::provider::SessionContext -{ - -public: // actually package-private - XMLSessionContext(); - virtual jboolean addSession(::gnu::javax::net::ssl::provider::Session$ID *, ::gnu::javax::net::ssl::provider::Session *); - virtual void notifyAccess(::gnu::javax::net::ssl::provider::Session *); - virtual jboolean removeSession(::gnu::javax::net::ssl::provider::Session$ID *); -private: - void decode(); - void encode(); - ::java::io::File * __attribute__((aligned(__alignof__( ::gnu::javax::net::ssl::provider::SessionContext)))) file; - ::gnu::java::security::prng::IRandom * pbekdf; - jboolean compress; - ::java::security::SecureRandom * random; - jboolean encoding; -public: - static ::java::lang::Class class$; -}; - -#endif // __gnu_javax_net_ssl_provider_XMLSessionContext__ diff --git a/libjava/gnu/javax/swing/text/html/parser/HTML_401Swing.h b/libjava/gnu/javax/swing/text/html/parser/HTML_401Swing.h deleted file mode 100644 index 621eed5..0000000 --- a/libjava/gnu/javax/swing/text/html/parser/HTML_401Swing.h +++ /dev/null @@ -1,65 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __gnu_javax_swing_text_html_parser_HTML_401Swing__ -#define __gnu_javax_swing_text_html_parser_HTML_401Swing__ - -#pragma interface - -#include -#include - -extern "Java" -{ - namespace gnu - { - namespace javax - { - namespace swing - { - namespace text - { - namespace html - { - namespace parser - { - class HTML_401Swing; - } - } - } - } - } - } - namespace javax - { - namespace swing - { - namespace text - { - namespace html - { - namespace parser - { - class DTD; - } - } - } - } - } -} - -class gnu::javax::swing::text::html::parser::HTML_401Swing : public ::gnu::javax::swing::text::html::parser::HTML_401F -{ - -public: - HTML_401Swing(); - static ::javax::swing::text::html::parser::DTD * getInstance(); -public: // actually protected - virtual JArray< ::java::lang::String * > * getBodyElements(); -public: // actually package-private - static ::gnu::javax::swing::text::html::parser::HTML_401Swing * singleton; -public: - static ::java::lang::Class class$; -}; - -#endif // __gnu_javax_swing_text_html_parser_HTML_401Swing__ diff --git a/libjava/gnu/xml/stream/XMLParser.h b/libjava/gnu/xml/stream/XMLParser.h index d2b2ff0..430aca2 100644 --- a/libjava/gnu/xml/stream/XMLParser.h +++ b/libjava/gnu/xml/stream/XMLParser.h @@ -128,6 +128,8 @@ private: void pushInput(::java::lang::String *, ::java::lang::String *, jboolean, jboolean); void pushInput(::java::lang::String *, ::gnu::xml::stream::XMLParser$ExternalIds *, jboolean, jboolean); void pushInput(::gnu::xml::stream::XMLParser$Input *); +public: // actually package-private + static ::java::lang::String * canonicalize(::java::lang::String *); public: static ::java::lang::String * absolutize(::java::lang::String *, ::java::lang::String *); private: diff --git a/libjava/java/awt/Canvas.h b/libjava/java/awt/Canvas.h index 97726a2..d7e0310 100644 --- a/libjava/java/awt/Canvas.h +++ b/libjava/java/awt/Canvas.h @@ -38,9 +38,6 @@ class java::awt::Canvas : public ::java::awt::Component public: Canvas(); Canvas(::java::awt::GraphicsConfiguration *); -public: // actually package-private - virtual ::java::awt::GraphicsConfiguration * getGraphicsConfigurationImpl(); -public: virtual void addNotify(); virtual void paint(::java::awt::Graphics *); virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); @@ -55,8 +52,7 @@ private: static const jlong serialVersionUID = -2284879212465893870LL; static jlong next_canvas_number; public: // actually package-private - ::java::awt::GraphicsConfiguration * __attribute__((aligned(__alignof__( ::java::awt::Component)))) graphicsConfiguration; - ::java::awt::image::BufferStrategy * bufferStrategy; + ::java::awt::image::BufferStrategy * __attribute__((aligned(__alignof__( ::java::awt::Component)))) bufferStrategy; public: static ::java::lang::Class class$; }; diff --git a/libjava/java/awt/Component.h b/libjava/java/awt/Component.h index 4b14757..f5889d2 100644 --- a/libjava/java/awt/Component.h +++ b/libjava/java/awt/Component.h @@ -350,7 +350,6 @@ public: public: // actually package-private virtual ::java::lang::String * generateName(); virtual void setPeer(::java::awt::peer::ComponentPeer *); - virtual ::java::awt::GraphicsConfiguration * getGraphicsConfigurationImpl(); static ::java::awt::Event * translateEvent(::java::awt::AWTEvent *); virtual void dispatchEventImpl(::java::awt::AWTEvent *); virtual jboolean eventTypeEnabled(jint); diff --git a/libjava/java/awt/Desktop$Action.h b/libjava/java/awt/Desktop$Action.h new file mode 100644 index 0000000..f862b4d --- /dev/null +++ b/libjava/java/awt/Desktop$Action.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Desktop$Action__ +#define __java_awt_Desktop$Action__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Desktop$Action; + } + } +} + +class java::awt::Desktop$Action : public ::java::lang::Enum +{ + + Desktop$Action(::java::lang::String *, jint); +public: + static JArray< ::java::awt::Desktop$Action * > * values(); + static ::java::awt::Desktop$Action * valueOf(::java::lang::String *); + static ::java::awt::Desktop$Action * BROWSE; + static ::java::awt::Desktop$Action * EDIT; + static ::java::awt::Desktop$Action * MAIL; + static ::java::awt::Desktop$Action * OPEN; + static ::java::awt::Desktop$Action * PRINT; +private: + static JArray< ::java::awt::Desktop$Action * > * ENUM$VALUES; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Desktop$Action__ diff --git a/libjava/java/awt/Desktop.h b/libjava/java/awt/Desktop.h new file mode 100644 index 0000000..8b5927d --- /dev/null +++ b/libjava/java/awt/Desktop.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Desktop__ +#define __java_awt_Desktop__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Desktop; + class Desktop$Action; + namespace peer + { + class DesktopPeer; + } + } + namespace net + { + class URI; + } + } +} + +class java::awt::Desktop : public ::java::lang::Object +{ + + Desktop(); +public: + static ::java::awt::Desktop * getDesktop(); +private: + static jboolean isDesktopSupported(); +public: + virtual jboolean isSupported(::java::awt::Desktop$Action *); + virtual void browse(::java::net::URI *); + virtual void edit(::java::io::File *); + virtual void mail(); + virtual void mail(::java::net::URI *); + virtual void open(::java::io::File *); + virtual void print(::java::io::File *); +private: + ::java::awt::peer::DesktopPeer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) peer; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Desktop__ diff --git a/libjava/java/awt/Frame.h b/libjava/java/awt/Frame.h index ffbf38d..5b15866 100644 --- a/libjava/java/awt/Frame.h +++ b/libjava/java/awt/Frame.h @@ -57,6 +57,8 @@ public: // actually protected virtual ::java::lang::String * paramString(); private: static void noteFrame(::java::awt::Frame *); +public: // actually package-private + static jboolean hasDisplayableFrames(); public: static JArray< ::java::awt::Frame * > * getFrames(); virtual void setState(jint); @@ -110,6 +112,7 @@ private: jboolean undecorated; static jlong next_frame_number; static ::java::util::ArrayList * weakFrames; + static ::java::lang::ref::ReferenceQueue * weakFramesQueue; public: static ::java::lang::Class class$; }; diff --git a/libjava/java/awt/GraphicsConfiguration.h b/libjava/java/awt/GraphicsConfiguration.h index 58c9122..603577a 100644 --- a/libjava/java/awt/GraphicsConfiguration.h +++ b/libjava/java/awt/GraphicsConfiguration.h @@ -43,6 +43,7 @@ public: virtual ::java::awt::image::VolatileImage * createCompatibleVolatileImage(jint, jint) = 0; virtual ::java::awt::image::VolatileImage * createCompatibleVolatileImage(jint, jint, ::java::awt::ImageCapabilities *); virtual ::java::awt::image::VolatileImage * createCompatibleVolatileImage(jint, jint, jint) = 0; + virtual ::java::awt::image::VolatileImage * createCompatibleVolatileImage(jint, jint, ::java::awt::ImageCapabilities *, jint); virtual ::java::awt::image::BufferedImage * createCompatibleImage(jint, jint, jint) = 0; virtual ::java::awt::image::ColorModel * getColorModel() = 0; virtual ::java::awt::image::ColorModel * getColorModel(jint) = 0; diff --git a/libjava/java/awt/Toolkit.h b/libjava/java/awt/Toolkit.h index d8af0cd..80528fe 100644 --- a/libjava/java/awt/Toolkit.h +++ b/libjava/java/awt/Toolkit.h @@ -37,6 +37,7 @@ extern "Java" class Component; class Container; class Cursor; + class Desktop; class Dialog; class Dimension; class EventQueue; @@ -101,6 +102,7 @@ extern "Java" class CheckboxMenuItemPeer; class CheckboxPeer; class ChoicePeer; + class DesktopPeer; class DialogPeer; class FileDialogPeer; class FontPeer; @@ -139,6 +141,7 @@ class java::awt::Toolkit : public ::java::lang::Object public: Toolkit(); public: // actually protected + virtual ::java::awt::peer::DesktopPeer * createDesktopPeer(::java::awt::Desktop *) = 0; virtual ::java::awt::peer::ButtonPeer * createButton(::java::awt::Button *) = 0; virtual ::java::awt::peer::TextFieldPeer * createTextField(::java::awt::TextField *) = 0; virtual ::java::awt::peer::LabelPeer * createLabel(::java::awt::Label *) = 0; diff --git a/libjava/java/awt/Window.h b/libjava/java/awt/Window.h index bf369ed..c1c7399 100644 --- a/libjava/java/awt/Window.h +++ b/libjava/java/awt/Window.h @@ -57,9 +57,6 @@ public: Window(::java::awt::Frame *); Window(::java::awt::Window *); Window(::java::awt::Window *, ::java::awt::GraphicsConfiguration *); -public: // actually package-private - virtual ::java::awt::GraphicsConfiguration * getGraphicsConfigurationImpl(); -public: virtual void addNotify(); virtual void pack(); virtual void show(); @@ -133,7 +130,6 @@ private: ::java::awt::event::WindowListener * windowListener; ::java::awt::event::WindowFocusListener * windowFocusListener; ::java::awt::event::WindowStateListener * windowStateListener; - ::java::awt::GraphicsConfiguration * graphicsConfiguration; jboolean shown; public: // actually package-private ::java::awt::Component * windowFocusOwner; diff --git a/libjava/java/awt/datatransfer/SystemFlavorMap$1.h b/libjava/java/awt/datatransfer/SystemFlavorMap$1.h new file mode 100644 index 0000000..bd5deaf --- /dev/null +++ b/libjava/java/awt/datatransfer/SystemFlavorMap$1.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_datatransfer_SystemFlavorMap$1__ +#define __java_awt_datatransfer_SystemFlavorMap$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace datatransfer + { + class SystemFlavorMap; + class SystemFlavorMap$1; + } + } + } +} + +class java::awt::datatransfer::SystemFlavorMap$1 : public ::java::lang::Object +{ + +public: // actually package-private + SystemFlavorMap$1(::java::awt::datatransfer::SystemFlavorMap *); +public: + ::java::lang::Object * run(); +public: // actually package-private + ::java::awt::datatransfer::SystemFlavorMap * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_datatransfer_SystemFlavorMap$1__ diff --git a/libjava/java/awt/datatransfer/SystemFlavorMap.h b/libjava/java/awt/datatransfer/SystemFlavorMap.h index 62009ad..de2495c 100644 --- a/libjava/java/awt/datatransfer/SystemFlavorMap.h +++ b/libjava/java/awt/datatransfer/SystemFlavorMap.h @@ -29,6 +29,8 @@ class java::awt::datatransfer::SystemFlavorMap : public ::java::lang::Object { SystemFlavorMap(); +public: // actually package-private + void setupMapping(::java::util::Properties *); public: ::java::util::Map * getNativesForFlavors(JArray< ::java::awt::datatransfer::DataFlavor * > *); ::java::util::Map * getFlavorsForNatives(JArray< ::java::lang::String * > *); diff --git a/libjava/java/awt/image/ComponentSampleModel.h b/libjava/java/awt/image/ComponentSampleModel.h index 4a1d2c6..39fe6cd 100644 --- a/libjava/java/awt/image/ComponentSampleModel.h +++ b/libjava/java/awt/image/ComponentSampleModel.h @@ -44,8 +44,6 @@ public: virtual jint getPixelStride(); virtual jint getNumDataElements(); virtual ::java::lang::Object * getDataElements(jint, jint, ::java::lang::Object *, ::java::awt::image::DataBuffer *); - virtual ::java::lang::Object * getDataElements(jint, jint, jint, jint, ::java::lang::Object *, ::java::awt::image::DataBuffer *); - virtual void setDataElements(jint, jint, jint, jint, ::java::lang::Object *, ::java::awt::image::DataBuffer *); virtual JArray< jint > * getPixel(jint, jint, JArray< jint > *, ::java::awt::image::DataBuffer *); virtual JArray< jint > * getPixels(jint, jint, jint, jint, JArray< jint > *, ::java::awt::image::DataBuffer *); virtual jint getSample(jint, jint, jint, ::java::awt::image::DataBuffer *); @@ -61,8 +59,6 @@ public: // actually protected jint numBanks; jint scanlineStride; jint pixelStride; -private: - jboolean tightPixelPacking; public: static ::java::lang::Class class$; }; diff --git a/libjava/java/awt/image/IndexColorModel.h b/libjava/java/awt/image/IndexColorModel.h index cbb2fac..a79a531 100644 --- a/libjava/java/awt/image/IndexColorModel.h +++ b/libjava/java/awt/image/IndexColorModel.h @@ -60,6 +60,7 @@ public: virtual ::java::awt::image::SampleModel * createCompatibleSampleModel(jint, jint); private: void setTransparentPixel(jint); + JArray< jint > * createColorMap(jint, jint); jint __attribute__((aligned(__alignof__( ::java::awt::image::ColorModel)))) map_size; jboolean opaque; jint trans; diff --git a/libjava/java/awt/image/SinglePixelPackedSampleModel.h b/libjava/java/awt/image/SinglePixelPackedSampleModel.h index 6995032..c7bf07c 100644 --- a/libjava/java/awt/image/SinglePixelPackedSampleModel.h +++ b/libjava/java/awt/image/SinglePixelPackedSampleModel.h @@ -42,7 +42,6 @@ public: virtual jint getScanlineStride(); virtual ::java::awt::image::SampleModel * createSubsetSampleModel(JArray< jint > *); virtual ::java::lang::Object * getDataElements(jint, jint, ::java::lang::Object *, ::java::awt::image::DataBuffer *); - virtual ::java::lang::Object * getDataElements(jint, jint, jint, jint, ::java::lang::Object *, ::java::awt::image::DataBuffer *); virtual JArray< jint > * getPixel(jint, jint, JArray< jint > *, ::java::awt::image::DataBuffer *); virtual JArray< jint > * getPixels(jint, jint, jint, jint, JArray< jint > *, ::java::awt::image::DataBuffer *); virtual jint getSample(jint, jint, jint, ::java::awt::image::DataBuffer *); diff --git a/libjava/java/awt/peer/DesktopPeer.h b/libjava/java/awt/peer/DesktopPeer.h new file mode 100644 index 0000000..fa5529a --- /dev/null +++ b/libjava/java/awt/peer/DesktopPeer.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_peer_DesktopPeer__ +#define __java_awt_peer_DesktopPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Desktop$Action; + namespace peer + { + class DesktopPeer; + } + } + namespace net + { + class URI; + } + } +} + +class java::awt::peer::DesktopPeer : public ::java::lang::Object +{ + +public: + virtual void browse(::java::net::URI *) = 0; + virtual void edit(::java::io::File *) = 0; + virtual jboolean isSupported(::java::awt::Desktop$Action *) = 0; + virtual void mail(::java::net::URI *) = 0; + virtual void mail() = 0; + virtual void open(::java::io::File *) = 0; + virtual void print(::java::io::File *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_peer_DesktopPeer__ diff --git a/libjava/java/awt/print/PrinterJob.h b/libjava/java/awt/print/PrinterJob.h index a319de3..39bb9a0 100644 --- a/libjava/java/awt/print/PrinterJob.h +++ b/libjava/java/awt/print/PrinterJob.h @@ -29,6 +29,7 @@ extern "Java" namespace print { class PrintService; + class StreamPrintServiceFactory; namespace attribute { class PrintRequestAttributeSet; @@ -63,6 +64,7 @@ public: virtual void setPrintable(::java::awt::print::Printable *, ::java::awt::print::PageFormat *) = 0; virtual ::java::awt::print::PageFormat * validatePage(::java::awt::print::PageFormat *) = 0; static JArray< ::javax::print::PrintService * > * lookupPrintServices(); + static JArray< ::javax::print::StreamPrintServiceFactory * > * lookupStreamPrintServices(::java::lang::String *); virtual ::javax::print::PrintService * getPrintService(); virtual void setPrintService(::javax::print::PrintService *); private: diff --git a/libjava/java/beans/ConstructorProperties.h b/libjava/java/beans/ConstructorProperties.h new file mode 100644 index 0000000..10c5c38 --- /dev/null +++ b/libjava/java/beans/ConstructorProperties.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_ConstructorProperties__ +#define __java_beans_ConstructorProperties__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace beans + { + class ConstructorProperties; + } + } +} + +class java::beans::ConstructorProperties : public ::java::lang::Object +{ + +public: + virtual JArray< ::java::lang::String * > * value() = 0; + virtual ::java::lang::Class * annotationType() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_beans_ConstructorProperties__ diff --git a/libjava/java/io/File.h b/libjava/java/io/File.h index 35ca3b7..92cfbb7 100644 --- a/libjava/java/io/File.h +++ b/libjava/java/io/File.h @@ -31,6 +31,7 @@ class java::io::File : public ::java::lang::Object public: virtual jboolean canRead(); virtual jboolean canWrite(); + virtual jboolean canExecute(); private: jboolean performCreate(); public: @@ -93,6 +94,15 @@ private: public: static ::java::io::File * createTempFile(::java::lang::String *, ::java::lang::String *, ::java::io::File *); private: + jboolean setFilePermissions(jboolean, jboolean, jint); +public: + virtual jboolean setReadable(jboolean); + virtual jboolean setReadable(jboolean, jboolean); + virtual jboolean setWritable(jboolean); + virtual jboolean setWritable(jboolean, jboolean); + virtual jboolean setExecutable(jboolean); + virtual jboolean setExecutable(jboolean, jboolean); +private: jboolean performSetReadOnly(); public: virtual jboolean setReadOnly(); @@ -114,6 +124,7 @@ public: private: void checkWrite(); void checkRead(); + void checkExec(); public: virtual void deleteOnExit(); private: @@ -123,6 +134,7 @@ private: static const jint READ = 0; static const jint WRITE = 1; static const jint EXISTS = 2; + static const jint EXEC = 3; static const jint DIRECTORY = 0; static const jint ISFILE = 1; static const jint ISHIDDEN = 2; diff --git a/libjava/java/io/File.java b/libjava/java/io/File.java index 33776ab..0026ffa 100644 --- a/libjava/java/io/File.java +++ b/libjava/java/io/File.java @@ -67,6 +67,7 @@ public class File implements Serializable, Comparable private final static int READ = 0; private final static int WRITE = 1; private final static int EXISTS = 2; + private final static int EXEC = 3; // QUERY arguments to stat function. private final static int DIRECTORY = 0; @@ -182,6 +183,27 @@ public class File implements Serializable, Comparable return _access (WRITE); } + /** + * This method tests whether or not the current thread is allowed to + * to execute the file pointed to by this object. This will be true if and + * and only if 1) the file exists and 2) the SecurityManager + * (if any) allows access to the file via it's checkExec + * method 3) the file is executable. + * + * @return true if execution is allowed, + * false otherwise + * + * @exception SecurityException If the SecurityManager + * does not allow access to the file + */ + public boolean canExecute() + { + if (!exists()) + return false; + checkExec(); + return _access (EXEC); + } + private native boolean performCreate() throws IOException; /** @@ -1139,6 +1161,159 @@ public class File implements Serializable, Comparable } /* + * This native method sets file permissions. + */ + private native boolean setFilePermissions(boolean enable, boolean ownerOnly, + int permissions); + + /** + * This method sets the owner's read permission for the File represented by + * this object. + * + * It is the same as calling setReadable(readable, true). + * + * @param readable true to set read permission, + * false to unset the read permission. + * @return true if the file permissions are changed, + * false otherwise. + * @exception SecurityException If write access of the file is not permitted. + * @see #setReadable(boolean, boolean) + * @since 1.6 + */ + public boolean setReadable(boolean readable) + { + return setReadable(readable, true); + } + + /** + * This method sets the read permissions for the File represented by + * this object. + * + * If ownerOnly is set to true then only the + * read permission bit for the owner of the file is changed. + * + * If ownerOnly is set to false, the file + * permissions are changed so that the file can be read by everyone. + * + * On unix like systems this sets the user, group + * and other read bits and is equal to call + * chmod a+r on the file. + * + * @param readable true to set read permission, + * false to unset the read permission. + * @param ownerOnly true to set read permission + * for owner only, false for all. + * @return true if the file permissions are changed, + * false otherwise. + * @exception SecurityException If write access of the file is not permitted. + * @see #setReadable(boolean) + * @since 1.6 + */ + public boolean setReadable(boolean readable, boolean ownerOnly) + { + checkWrite(); + return setFilePermissions(readable, ownerOnly, READ); + } + + /** + * This method sets the owner's write permission for the File represented by + * this object. + * + * It is the same as calling setWritable(readable, true). + * + * @param writable true to set write permission, + * false to unset write permission. + * @return true if the file permissions are changed, + * false otherwise. + * @exception SecurityException If write access of the file is not permitted. + * @see #setWritable(boolean, boolean) + * @since 1.6 + */ + public boolean setWritable(boolean writable) + { + return setWritable(writable, true); + } + + /** + * This method sets the write permissions for the File represented by + * this object. + * + * If ownerOnly is set to true then only the + * write permission bit for the owner of the file is changed. + * + * If ownerOnly is set to false, the file + * permissions are changed so that the file can be written by everyone. + * + * On unix like systems this set the user, group + * and other write bits and is equal to call + * chmod a+w on the file. + * + * @param writable true to set write permission, + * false to unset write permission. + * @param ownerOnly true to set write permission + * for owner only, false for all. + * @return true if the file permissions are changed, + * false otherwise. + * @exception SecurityException If write access of the file is not permitted. + * @see #setWritable(boolean) + * @since 1.6 + */ + public boolean setWritable(boolean writable, boolean ownerOnly) + { + checkWrite(); + return setFilePermissions(writable, ownerOnly, WRITE); + } + + /** + * This method sets the owner's execute permission for the File represented + * by this object. + * + * It is the same as calling setExecutable(readable, true). + * + * @param executable true to set execute permission, + * false to unset execute permission. + * @return true if the file permissions are changed, + * false otherwise. + * @exception SecurityException If write access of the file is not permitted. + * @see #setExecutable(boolean, boolean) + * @since 1.6 + */ + public boolean setExecutable(boolean executable) + { + return setExecutable(executable, true); + } + + /** + * This method sets the execute permissions for the File represented by + * this object. + * + * If ownerOnly is set to true then only the + * execute permission bit for the owner of the file is changed. + * + * If ownerOnly is set to false, the file + * permissions are changed so that the file can be executed by everyone. + * + * On unix like systems this set the user, group + * and other write bits and is equal to call + * chmod a+x on the file. + * + * @param executable true to set write permission, + * false to unset write permission. + * @param ownerOnly true to set write permission + * for owner only, false for all. + * @return true if the file permissions are changed, + * false otherwise. + * @exception SecurityException If write access of the file is not permitted. + * @see #setExecutable(boolean) + * @since 1.6 + */ + public boolean setExecutable(boolean executable, boolean ownerOnly) + { + checkWrite(); + return setFilePermissions(executable, ownerOnly, EXEC); + } + + /* * This native method sets the permissions to make the file read only. */ private native boolean performSetReadOnly(); @@ -1372,6 +1547,15 @@ public class File implements Serializable, Comparable s.checkRead(path); } + private void checkExec() + { + // Check the SecurityManager + SecurityManager s = System.getSecurityManager(); + + if (s != null) + s.checkExec(path); + } + /** * Calling this method requests that the file represented by this object * be deleted when the virtual machine exits. Note that this request cannot diff --git a/libjava/java/io/ObjectInputStream.h b/libjava/java/io/ObjectInputStream.h index eedf6c4..ab7c47d 100644 --- a/libjava/java/io/ObjectInputStream.h +++ b/libjava/java/io/ObjectInputStream.h @@ -16,8 +16,10 @@ class java::io::ObjectInputStream : public ::java::io::InputStream public: ObjectInputStream(::java::io::InputStream *); virtual ::java::lang::Object * readObject(); + virtual ::java::lang::Object * readUnshared(); private: - ::java::lang::Object * parseContent(jbyte); + ::java::lang::Object * readObject(jboolean); + ::java::lang::Object * parseContent(jbyte, jboolean); void checkTypeConsistency(::java::lang::String *, JArray< ::java::io::ObjectStreamField * > *, JArray< ::java::io::ObjectStreamField * > *); public: // actually protected virtual ::java::io::ObjectStreamClass * readClassDescriptor(); @@ -60,10 +62,10 @@ public: // actually protected ObjectInputStream(); virtual ::java::lang::Object * readObjectOverride(); private: - jint assignNewHandle(::java::lang::Object *); - void rememberHandle(::java::lang::Object *, jint); + jint assignNewHandle(::java::lang::Object *, jboolean); + void rememberHandle(::java::lang::Object *, jboolean, jint); ::java::lang::Object * lookupHandle(jint); - ::java::lang::Object * processResolution(::java::io::ObjectStreamClass *, ::java::lang::Object *, jint); + ::java::lang::Object * processResolution(::java::io::ObjectStreamClass *, ::java::lang::Object *, jint, jboolean); void clearHandles(); void readNextBlock(); void readNextBlock(jbyte); @@ -86,7 +88,7 @@ private: jboolean useSubclassMethod; jint nextOID; jboolean resolveEnabled; - ::java::util::Vector * objectLookupTable; + ::java::util::Map * handles; ::java::lang::Object * currentObject; ::java::io::ObjectStreamClass * currentObjectStreamClass; ::java::util::TreeSet * currentObjectValidators; diff --git a/libjava/java/io/ObjectOutputStream.h b/libjava/java/io/ObjectOutputStream.h index 496da4e..fe6f88f 100644 --- a/libjava/java/io/ObjectOutputStream.h +++ b/libjava/java/io/ObjectOutputStream.h @@ -36,6 +36,9 @@ class java::io::ObjectOutputStream : public ::java::io::OutputStream public: ObjectOutputStream(::java::io::OutputStream *); virtual void writeObject(::java::lang::Object *); + virtual void writeUnshared(::java::lang::Object *); +private: + void writeObject(::java::lang::Object *, jboolean); public: // actually protected virtual void writeClassDescriptor(::java::io::ObjectStreamClass *); public: diff --git a/libjava/java/io/natFilePosix.cc b/libjava/java/io/natFilePosix.cc index c9bf858..d63625f 100644 --- a/libjava/java/io/natFilePosix.cc +++ b/libjava/java/io/natFilePosix.cc @@ -43,15 +43,18 @@ java::io::File::_access (jint query) char *buf = (char *) __builtin_alloca (JvGetStringUTFLength (path) + 1); jsize total = JvGetStringUTFRegion (path, 0, path->length(), buf); buf[total] = '\0'; - JvAssert (query == READ || query == WRITE || query == EXISTS); + JvAssert (query == READ || query == WRITE || query == EXISTS + || query == EXEC); #ifdef HAVE_ACCESS int mode; if (query == READ) mode = R_OK; else if (query == WRITE) mode = W_OK; - else + else if (query == EXISTS) mode = F_OK; + else + mode = X_OK; return ::access (buf, mode) == 0; #else return false; @@ -344,6 +347,54 @@ java::io::File::performMkdir (void) } jboolean +java::io::File::setFilePermissions (jboolean enable, + jboolean ownerOnly, + jint permissions) +{ + char *buf = (char *) __builtin_alloca (JvGetStringUTFLength (path) + 1); + jsize total = JvGetStringUTFRegion (path, 0, path->length(), buf); + buf[total] = '\0'; + JvAssert (permissions == READ || permissions == WRITE || permissions == EXEC); +#if defined (HAVE_STAT) && defined (HAVE_CHMOD) + mode_t mode = 0; + + struct stat sb; + if (::stat (buf, &sb)) + return false; + + if (ownerOnly) + { + if (permissions == READ) + mode |= S_IRUSR; + else if (permissions == WRITE) + mode |= S_IWUSR; + else if (permissions == EXEC) + mode |= S_IXUSR; + } + else + { + if (permissions == READ) + mode |= (S_IRUSR | S_IRGRP | S_IROTH); + else if (permissions == WRITE) + mode |= (S_IWUSR | S_IWGRP | S_IWOTH); + else if (permissions == EXEC) + mode |= (S_IXUSR | S_IXGRP | S_IXOTH); + } + + if (enable) + mode = sb.st_mode | mode; + else + mode = sb.st_mode & ~mode; + + if (::chmod(buf, mode) < 0) + return false; + return true; +#else + return false; +#endif +} + +jboolean java::io::File::performSetReadOnly (void) { char *buf = (char *) __builtin_alloca (JvGetStringUTFLength (path) + 1); diff --git a/libjava/java/io/natFileWin32.cc b/libjava/java/io/natFileWin32.cc index cff86dd..316977b 100644 --- a/libjava/java/io/natFileWin32.cc +++ b/libjava/java/io/natFileWin32.cc @@ -44,13 +44,17 @@ java::io::File::_access (jint query) if (!canon) return false; - JvAssert (query == READ || query == WRITE || query == EXISTS); + JvAssert (query == READ || query == WRITE || query == EXISTS + || query == EXEC); // FIXME: Is it possible to differentiate between existing and reading? // If the file exists but cannot be read because of the secuirty attributes // on an NTFS disk this wont work (it reports it can be read but cant) // Could we use something from the security API? DWORD attributes = GetFileAttributes (canon); + // FIXME: handle EXEC + if (query == EXEC) + return false; if ((query == EXISTS) || (query == READ)) return (attributes == 0xffffffff) ? false : true; else @@ -212,6 +216,25 @@ java::io::File::performList (java::io::FilenameFilter *filter, } jboolean +java::io::File::setFilePermissions (jboolean enable, + jboolean ownerOnly, + jint permissions) +{ + JV_TEMP_STRING_WIN32 (canon, getCanonicalPath()); + if (!canon) + return false; + + DWORD attrs = GetFileAttributes (canon); + if (attrs != INVALID_FILE_ATTRIBUTES) + { + // FIXME: implement + return false; + } + else + return false; +} + +jboolean java::io::File::performMkdir (void) { JV_TEMP_STRING_WIN32 (cpath, path); diff --git a/libjava/java/lang/Character.java b/libjava/java/lang/Character.java index 0cc9d3c..2edf72e 100644 --- a/libjava/java/lang/Character.java +++ b/libjava/java/lang/Character.java @@ -163,7 +163,7 @@ public final class Character implements Serializable, Comparable private final String canonicalName; /** Enumeration for the forName() method */ - private enum NameType { CANONICAL, NO_SPACES, CONSTANT; }; + private enum NameType { CANONICAL, NO_SPACES, CONSTANT; } /** * Constructor for strictly defined blocks. diff --git a/libjava/java/lang/Class$1.h b/libjava/java/lang/Class$1.h new file mode 100644 index 0000000..4f68936 --- /dev/null +++ b/libjava/java/lang/Class$1.h @@ -0,0 +1,24 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_Class$1__ +#define __java_lang_Class$1__ + +#pragma interface + +#include + +class java::lang::Class$1 : public ::java::lang::Object +{ + +public: // actually package-private + Class$1(::java::lang::reflect::AccessibleObject *); +public: + ::java::lang::Object * run(); +private: + ::java::lang::reflect::AccessibleObject * __attribute__((aligned(__alignof__( ::java::lang::Object)))) val$obj; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_Class$1__ diff --git a/libjava/java/lang/Class.java b/libjava/java/lang/Class.java index b0151db..6780517 100644 --- a/libjava/java/lang/Class.java +++ b/libjava/java/lang/Class.java @@ -51,6 +51,8 @@ import java.lang.reflect.Method; import java.lang.reflect.Type; import java.lang.reflect.TypeVariable; import java.net.URL; +import java.security.AccessController; +import java.security.PrivilegedAction; import java.security.ProtectionDomain; import java.util.ArrayList; import java.util.Arrays; @@ -60,6 +62,7 @@ import java.util.Collection; import java.lang.reflect.AnnotatedElement; import java.lang.annotation.Annotation; import java.lang.annotation.Inherited; +import java.lang.reflect.AccessibleObject; /** * A Class represents a Java type. There will never be multiple Class @@ -1004,7 +1007,9 @@ public final class Class { try { - return (T[]) getMethod("values").invoke(null); + Method m = getMethod("values"); + setAccessible(m); + return (T[]) m.invoke(null); } catch (NoSuchMethodException exception) { @@ -1402,4 +1407,19 @@ public final class Class * @since 1.5 */ public native boolean isMemberClass(); + + /** + * Utility method for use by classes in this package. + */ + static void setAccessible(final AccessibleObject obj) + { + AccessController.doPrivileged(new PrivilegedAction() + { + public Object run() + { + obj.setAccessible(true); + return null; + } + }); + } } diff --git a/libjava/java/lang/Enum.h b/libjava/java/lang/Enum.h index a75f276..15ccb16 100644 --- a/libjava/java/lang/Enum.h +++ b/libjava/java/lang/Enum.h @@ -25,6 +25,9 @@ public: virtual ::java::lang::String * name(); virtual jint ordinal(); virtual ::java::lang::Class * getDeclaringClass(); +public: // actually protected + virtual void finalize(); +public: virtual jint compareTo(::java::lang::Object *); private: static const jlong serialVersionUID = -4300926546619394005LL; diff --git a/libjava/java/lang/SecurityContext.h b/libjava/java/lang/SecurityContext.h deleted file mode 100644 index e7b0e59..0000000 --- a/libjava/java/lang/SecurityContext.h +++ /dev/null @@ -1,23 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __java_lang_SecurityContext__ -#define __java_lang_SecurityContext__ - -#pragma interface - -#include -#include - - -class java::lang::SecurityContext : public ::java::lang::Object -{ - -public: // actually package-private - SecurityContext(JArray< ::java::lang::Class * > *); - JArray< ::java::lang::Class * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) classes; -public: - static ::java::lang::Class class$; -}; - -#endif // __java_lang_SecurityContext__ diff --git a/libjava/java/lang/System.h b/libjava/java/lang/System.h index 5a75967..8a67628 100644 --- a/libjava/java/lang/System.h +++ b/libjava/java/lang/System.h @@ -7,6 +7,19 @@ #pragma interface #include +extern "Java" +{ + namespace java + { + namespace nio + { + namespace channels + { + class Channel; + } + } + } +} class java::lang::System : public ::java::lang::Object { @@ -44,6 +57,7 @@ private: public: // actually package-private static ::java::lang::String * getenv0(::java::lang::String *); public: + static ::java::nio::channels::Channel * inheritedChannel(); static ::java::io::InputStream * in; static ::java::io::PrintStream * out; static ::java::io::PrintStream * err; diff --git a/libjava/java/lang/System.java b/libjava/java/lang/System.java index b516a51..ecfad25 100644 --- a/libjava/java/lang/System.java +++ b/libjava/java/lang/System.java @@ -46,8 +46,11 @@ import java.io.BufferedOutputStream; import java.io.FileDescriptor; import java.io.FileInputStream; import java.io.FileOutputStream; +import java.io.IOException; import java.io.InputStream; import java.io.PrintStream; +import java.nio.channels.Channel; +import java.nio.channels.spi.SelectorProvider; import java.util.AbstractCollection; import java.util.ArrayList; import java.util.Collection; @@ -649,6 +652,25 @@ public final class System */ static native String getenv0(String name); + /** + * Returns the inherited channel of the VM. + * + * This wraps the inheritedChannel() call of the system's default + * {@link SelectorProvider}. + * + * @return the inherited channel of the VM + * + * @throws IOException If an I/O error occurs + * @throws SecurityException If an installed security manager denies access + * to RuntimePermission("inheritedChannel") + * + * @since 1.5 + */ + public static Channel inheritedChannel() + throws IOException + { + return SelectorProvider.provider().inheritedChannel(); + } /** * This is a specialised Collection, providing diff --git a/libjava/java/lang/management/LockInfo.h b/libjava/java/lang/management/LockInfo.h new file mode 100644 index 0000000..ec42917 --- /dev/null +++ b/libjava/java/lang/management/LockInfo.h @@ -0,0 +1,26 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_management_LockInfo__ +#define __java_lang_management_LockInfo__ + +#pragma interface + +#include + +class java::lang::management::LockInfo : public ::java::lang::Object +{ + +public: + LockInfo(::java::lang::String *, jint); + virtual ::java::lang::String * getClassName(); + virtual jint getIdentityHashCode(); + virtual ::java::lang::String * toString(); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) className; + jint identityHashCode; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_management_LockInfo__ diff --git a/libjava/java/lang/management/ManagementFactory$ManagementInvocationHandler.h b/libjava/java/lang/management/ManagementFactory$ManagementInvocationHandler.h new file mode 100644 index 0000000..33603be --- /dev/null +++ b/libjava/java/lang/management/ManagementFactory$ManagementInvocationHandler.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_management_ManagementFactory$ManagementInvocationHandler__ +#define __java_lang_management_ManagementFactory$ManagementInvocationHandler__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace management + { + class MBeanServerConnection; + class ObjectName; + } + } +} + +class java::lang::management::ManagementFactory$ManagementInvocationHandler : public ::java::lang::Object +{ + +public: + ManagementFactory$ManagementInvocationHandler(::javax::management::MBeanServerConnection *, ::javax::management::ObjectName *); + virtual ::java::lang::Object * invoke(::java::lang::Object *, ::java::lang::reflect::Method *, JArray< ::java::lang::Object * > *); +private: + ::java::lang::Object * translate(::java::lang::Object *, ::java::lang::reflect::Method *); + ::javax::management::MBeanServerConnection * __attribute__((aligned(__alignof__( ::java::lang::Object)))) conn; + ::javax::management::ObjectName * bean; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_management_ManagementFactory$ManagementInvocationHandler__ diff --git a/libjava/java/lang/management/ManagementFactory.h b/libjava/java/lang/management/ManagementFactory.h index a315333..c518093 100644 --- a/libjava/java/lang/management/ManagementFactory.h +++ b/libjava/java/lang/management/ManagementFactory.h @@ -14,6 +14,7 @@ extern "Java" namespace management { class MBeanServer; + class MBeanServerConnection; } } } @@ -33,6 +34,7 @@ public: static ::java::util::List * getMemoryManagerMXBeans(); static ::java::util::List * getGarbageCollectorMXBeans(); static ::javax::management::MBeanServer * getPlatformMBeanServer(); + static ::java::lang::Object * newPlatformMXBeanProxy(::javax::management::MBeanServerConnection *, ::java::lang::String *, ::java::lang::Class *); static ::java::lang::String * CLASS_LOADING_MXBEAN_NAME; static ::java::lang::String * COMPILATION_MXBEAN_NAME; static ::java::lang::String * GARBAGE_COLLECTOR_MXBEAN_DOMAIN_TYPE; diff --git a/libjava/java/lang/management/MonitorInfo.h b/libjava/java/lang/management/MonitorInfo.h new file mode 100644 index 0000000..6d2a0f0 --- /dev/null +++ b/libjava/java/lang/management/MonitorInfo.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_management_MonitorInfo__ +#define __java_lang_management_MonitorInfo__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + namespace openmbean + { + class CompositeData; + } + } + } +} + +class java::lang::management::MonitorInfo : public ::java::lang::management::LockInfo +{ + +public: + MonitorInfo(::java::lang::String *, jint, jint, ::java::lang::StackTraceElement *); + static ::java::lang::management::MonitorInfo * from(::javax::management::openmbean::CompositeData *); + virtual jint getLockedStackDepth(); + virtual ::java::lang::StackTraceElement * getLockedStackFrame(); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::management::LockInfo)))) stackDepth; + ::java::lang::StackTraceElement * stackFrame; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_management_MonitorInfo__ diff --git a/libjava/java/lang/management/OperatingSystemMXBean.h b/libjava/java/lang/management/OperatingSystemMXBean.h index adb562c..bbf3707 100644 --- a/libjava/java/lang/management/OperatingSystemMXBean.h +++ b/libjava/java/lang/management/OperatingSystemMXBean.h @@ -15,6 +15,7 @@ public: virtual ::java::lang::String * getArch() = 0; virtual jint getAvailableProcessors() = 0; virtual ::java::lang::String * getName() = 0; + virtual jdouble getSystemLoadAverage() = 0; virtual ::java::lang::String * getVersion() = 0; static ::java::lang::Class class$; } __attribute__ ((java_interface)); diff --git a/libjava/java/lang/management/ThreadInfo.h b/libjava/java/lang/management/ThreadInfo.h index a06b99c..c3902b3 100644 --- a/libjava/java/lang/management/ThreadInfo.h +++ b/libjava/java/lang/management/ThreadInfo.h @@ -29,13 +29,19 @@ class java::lang::management::ThreadInfo : public ::java::lang::Object { ThreadInfo(::java::lang::Thread *, jlong, jlong, ::java::lang::Object *, ::java::lang::Thread *, jlong, jlong, jboolean, jboolean, JArray< ::java::lang::StackTraceElement * > *); + ThreadInfo(::java::lang::Thread *, jlong, jlong, ::java::lang::Object *, ::java::lang::Thread *, jlong, jlong, jboolean, jboolean, JArray< ::java::lang::StackTraceElement * > *, JArray< ::java::lang::management::MonitorInfo * > *, JArray< ::java::lang::management::LockInfo * > *); ThreadInfo(jlong, ::java::lang::String *, ::java::lang::Thread$State *, jlong, jlong, ::java::lang::String *, jlong, ::java::lang::String *, jlong, jlong, jboolean, jboolean, JArray< ::java::lang::StackTraceElement * > *); + ThreadInfo(jlong, ::java::lang::String *, ::java::lang::Thread$State *, jlong, jlong, ::java::lang::String *, jlong, ::java::lang::String *, jlong, jlong, jboolean, jboolean, JArray< ::java::lang::StackTraceElement * > *, JArray< ::java::lang::management::MonitorInfo * > *, JArray< ::java::lang::management::LockInfo * > *); public: // actually package-private static void checkAttribute(::javax::management::openmbean::CompositeType *, ::java::lang::String *, ::javax::management::openmbean::OpenType *); + static ::javax::management::openmbean::CompositeType * getStackTraceType(); public: static ::java::lang::management::ThreadInfo * from(::javax::management::openmbean::CompositeData *); virtual jlong getBlockedCount(); virtual jlong getBlockedTime(); + virtual JArray< ::java::lang::management::MonitorInfo * > * getLockedMonitors(); + virtual JArray< ::java::lang::management::LockInfo * > * getLockedSynchronizers(); + virtual ::java::lang::management::LockInfo * getLockInfo(); virtual ::java::lang::String * getLockName(); virtual jlong getLockOwnerId(); virtual ::java::lang::String * getLockOwnerName(); @@ -49,6 +55,7 @@ public: virtual jboolean isSuspended(); virtual ::java::lang::String * toString(); private: + jboolean isThreadBlocked(); jlong __attribute__((aligned(__alignof__( ::java::lang::Object)))) threadId; ::java::lang::String * threadName; ::java::lang::Thread$State * threadState; @@ -62,7 +69,10 @@ private: jboolean isInNative__; jboolean isSuspended__; JArray< ::java::lang::StackTraceElement * > * trace; + JArray< ::java::lang::management::MonitorInfo * > * lockedMonitors; + JArray< ::java::lang::management::LockInfo * > * lockedSynchronizers; static ::java::lang::management::ThreadMXBean * bean; + static ::javax::management::openmbean::CompositeType * seType; public: static ::java::lang::Class class$; }; diff --git a/libjava/java/lang/management/ThreadMXBean.h b/libjava/java/lang/management/ThreadMXBean.h index a160b08..a1d4636 100644 --- a/libjava/java/lang/management/ThreadMXBean.h +++ b/libjava/java/lang/management/ThreadMXBean.h @@ -14,6 +14,8 @@ class java::lang::management::ThreadMXBean : public ::java::lang::Object { public: + virtual JArray< ::java::lang::management::ThreadInfo * > * dumpAllThreads(jboolean, jboolean) = 0; + virtual JArray< jlong > * findDeadlockedThreads() = 0; virtual JArray< jlong > * findMonitorDeadlockedThreads() = 0; virtual JArray< jlong > * getAllThreadIds() = 0; virtual jlong getCurrentThreadCpuTime() = 0; @@ -24,11 +26,14 @@ public: virtual jlong getThreadCpuTime(jlong) = 0; virtual ::java::lang::management::ThreadInfo * getThreadInfo(jlong) = 0; virtual JArray< ::java::lang::management::ThreadInfo * > * getThreadInfo(JArray< jlong > *) = 0; + virtual JArray< ::java::lang::management::ThreadInfo * > * getThreadInfo(JArray< jlong > *, jboolean, jboolean) = 0; virtual ::java::lang::management::ThreadInfo * getThreadInfo(jlong, jint) = 0; virtual JArray< ::java::lang::management::ThreadInfo * > * getThreadInfo(JArray< jlong > *, jint) = 0; virtual jlong getThreadUserTime(jlong) = 0; virtual jlong getTotalStartedThreadCount() = 0; virtual jboolean isCurrentThreadCpuTimeSupported() = 0; + virtual jboolean isObjectMonitorUsageSupported() = 0; + virtual jboolean isSynchronizerUsageSupported() = 0; virtual jboolean isThreadContentionMonitoringEnabled() = 0; virtual jboolean isThreadContentionMonitoringSupported() = 0; virtual jboolean isThreadCpuTimeEnabled() = 0; diff --git a/libjava/java/net/MulticastSocket.java b/libjava/java/net/MulticastSocket.java index e24b194..efd66b3 100644 --- a/libjava/java/net/MulticastSocket.java +++ b/libjava/java/net/MulticastSocket.java @@ -1,5 +1,5 @@ /* MulticastSocket.java -- Class for using multicast sockets - Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 + Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -338,7 +338,7 @@ public class MulticastSocket extends DatagramSocket /** * Sets the "Time to Live" value for a socket. The value must be between - * 1 and 255. + * 0 and 255, inclusive. * * @param ttl The new TTL value * @@ -351,7 +351,7 @@ public class MulticastSocket extends DatagramSocket if (isClosed()) throw new SocketException("socket is closed"); - if (ttl <= 0 || ttl > 255) + if (ttl < 0 || ttl > 255) throw new IllegalArgumentException("Invalid ttl: " + ttl); getImpl().setTimeToLive(ttl); diff --git a/libjava/java/net/ServerSocket.h b/libjava/java/net/ServerSocket.h index af51cb6..98c77c6 100644 --- a/libjava/java/net/ServerSocket.h +++ b/libjava/java/net/ServerSocket.h @@ -9,6 +9,16 @@ #include extern "Java" { + namespace gnu + { + namespace java + { + namespace net + { + class PlainSocketImpl; + } + } + } namespace java { namespace net @@ -35,7 +45,7 @@ class java::net::ServerSocket : public ::java::lang::Object { public: // actually package-private - ServerSocket(::java::net::SocketImpl *); + ServerSocket(::gnu::java::net::PlainSocketImpl *); virtual ::java::net::SocketImpl * getImpl(); public: ServerSocket(); diff --git a/libjava/java/net/Socket.h b/libjava/java/net/Socket.h index bb0bf38..776d6fc 100644 --- a/libjava/java/net/Socket.h +++ b/libjava/java/net/Socket.h @@ -91,6 +91,7 @@ public: public: // actually package-private static ::java::net::SocketImplFactory * factory; ::java::net::SocketImpl * __attribute__((aligned(__alignof__( ::java::lang::Object)))) impl; + jboolean implCreated; jboolean bound; private: jboolean inputShutdown; diff --git a/libjava/java/net/URL$1.h b/libjava/java/net/URL$1.h index d81ebe4..7e2875e 100644 --- a/libjava/java/net/URL$1.h +++ b/libjava/java/net/URL$1.h @@ -24,6 +24,7 @@ class java::net::URL$1 : public ::java::lang::Object public: // actually package-private URL$1(); public: + ::java::lang::ClassLoader * URL$1$run(); ::java::lang::Object * run(); static ::java::lang::Class class$; }; diff --git a/libjava/java/net/URLClassLoader$1.h b/libjava/java/net/URLClassLoader$1.h index d7f5779..a7fb550 100644 --- a/libjava/java/net/URLClassLoader$1.h +++ b/libjava/java/net/URLClassLoader$1.h @@ -31,6 +31,7 @@ class java::net::URLClassLoader$1 : public ::java::lang::Object public: // actually package-private URLClassLoader$1(::java::net::URLClassLoader *, ::java::lang::String *, JArray< jbyte > *, ::java::security::CodeSource *); public: + ::java::lang::Class * URLClassLoader$1$run(); ::java::lang::Object * run(); public: // actually package-private ::java::net::URLClassLoader * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; diff --git a/libjava/java/net/URLClassLoader$2.h b/libjava/java/net/URLClassLoader$2.h index 274d4c3..c7222d3 100644 --- a/libjava/java/net/URLClassLoader$2.h +++ b/libjava/java/net/URLClassLoader$2.h @@ -13,6 +13,7 @@ extern "Java" { namespace net { + class URLClassLoader; class URLClassLoader$2; } } @@ -24,6 +25,7 @@ class java::net::URLClassLoader$2 : public ::java::lang::Object public: // actually package-private URLClassLoader$2(::java::lang::ClassLoader *, ::java::lang::Object *); public: + ::java::net::URLClassLoader * URLClassLoader$2$run(); ::java::lang::Object * run(); private: ::java::lang::ClassLoader * __attribute__((aligned(__alignof__( ::java::lang::Object)))) val$parent; diff --git a/libjava/java/net/URLClassLoader$CoreResource.h b/libjava/java/net/URLClassLoader$CoreResource.h deleted file mode 100644 index ff3314a..0000000 --- a/libjava/java/net/URLClassLoader$CoreResource.h +++ /dev/null @@ -1,46 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __java_net_URLClassLoader$CoreResource__ -#define __java_net_URLClassLoader$CoreResource__ - -#pragma interface - -#include -extern "Java" -{ - namespace gnu - { - namespace gcj - { - class Core; - } - } - namespace java - { - namespace net - { - class URL; - class URLClassLoader$CoreResource; - class URLClassLoader$CoreURLLoader; - } - } -} - -class java::net::URLClassLoader$CoreResource : public ::java::net::URLClassLoader$Resource -{ - -public: // actually package-private - URLClassLoader$CoreResource(::java::net::URLClassLoader$CoreURLLoader *, ::java::lang::String *, ::gnu::gcj::Core *); - ::java::io::InputStream * getInputStream(); -public: - jint getLength(); - ::java::net::URL * getURL(); -private: - ::gnu::gcj::Core * __attribute__((aligned(__alignof__( ::java::net::URLClassLoader$Resource)))) core; - ::java::lang::String * name; -public: - static ::java::lang::Class class$; -}; - -#endif // __java_net_URLClassLoader$CoreResource__ diff --git a/libjava/java/net/URLClassLoader$CoreURLLoader.h b/libjava/java/net/URLClassLoader$CoreURLLoader.h deleted file mode 100644 index 3c701cd..0000000 --- a/libjava/java/net/URLClassLoader$CoreURLLoader.h +++ /dev/null @@ -1,36 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __java_net_URLClassLoader$CoreURLLoader__ -#define __java_net_URLClassLoader$CoreURLLoader__ - -#pragma interface - -#include -extern "Java" -{ - namespace java - { - namespace net - { - class URL; - class URLClassLoader; - class URLClassLoader$CoreURLLoader; - class URLClassLoader$Resource; - } - } -} - -class java::net::URLClassLoader$CoreURLLoader : public ::java::net::URLClassLoader$URLLoader -{ - -public: // actually package-private - URLClassLoader$CoreURLLoader(::java::net::URLClassLoader *, ::java::net::URL *); - ::java::net::URLClassLoader$Resource * getResource(::java::lang::String *); -private: - ::java::lang::String * __attribute__((aligned(__alignof__( ::java::net::URLClassLoader$URLLoader)))) dir; -public: - static ::java::lang::Class class$; -}; - -#endif // __java_net_URLClassLoader$CoreURLLoader__ diff --git a/libjava/java/net/URLClassLoader$FileResource.h b/libjava/java/net/URLClassLoader$FileResource.h deleted file mode 100644 index a98e9bf..0000000 --- a/libjava/java/net/URLClassLoader$FileResource.h +++ /dev/null @@ -1,38 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __java_net_URLClassLoader$FileResource__ -#define __java_net_URLClassLoader$FileResource__ - -#pragma interface - -#include -extern "Java" -{ - namespace java - { - namespace net - { - class URL; - class URLClassLoader$FileResource; - class URLClassLoader$FileURLLoader; - } - } -} - -class java::net::URLClassLoader$FileResource : public ::java::net::URLClassLoader$Resource -{ - -public: // actually package-private - URLClassLoader$FileResource(::java::net::URLClassLoader$FileURLLoader *, ::java::io::File *); - ::java::io::InputStream * getInputStream(); -public: - jint getLength(); - ::java::net::URL * getURL(); -public: // actually package-private - ::java::io::File * __attribute__((aligned(__alignof__( ::java::net::URLClassLoader$Resource)))) file; -public: - static ::java::lang::Class class$; -}; - -#endif // __java_net_URLClassLoader$FileResource__ diff --git a/libjava/java/net/URLClassLoader$FileURLLoader.h b/libjava/java/net/URLClassLoader$FileURLLoader.h deleted file mode 100644 index ff0b7dc..0000000 --- a/libjava/java/net/URLClassLoader$FileURLLoader.h +++ /dev/null @@ -1,35 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __java_net_URLClassLoader$FileURLLoader__ -#define __java_net_URLClassLoader$FileURLLoader__ - -#pragma interface - -#include -extern "Java" -{ - namespace java - { - namespace net - { - class URL; - class URLClassLoader; - class URLClassLoader$FileURLLoader; - class URLClassLoader$Resource; - } - } -} - -class java::net::URLClassLoader$FileURLLoader : public ::java::net::URLClassLoader$URLLoader -{ - -public: // actually package-private - URLClassLoader$FileURLLoader(::java::net::URLClassLoader *, ::java::net::URL *, ::java::net::URL *); - ::java::net::URLClassLoader$Resource * getResource(::java::lang::String *); - ::java::io::File * __attribute__((aligned(__alignof__( ::java::net::URLClassLoader$URLLoader)))) dir; -public: - static ::java::lang::Class class$; -}; - -#endif // __java_net_URLClassLoader$FileURLLoader__ diff --git a/libjava/java/net/URLClassLoader$JarURLLoader.h b/libjava/java/net/URLClassLoader$JarURLLoader.h deleted file mode 100644 index f1a3615..0000000 --- a/libjava/java/net/URLClassLoader$JarURLLoader.h +++ /dev/null @@ -1,40 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __java_net_URLClassLoader$JarURLLoader__ -#define __java_net_URLClassLoader$JarURLLoader__ - -#pragma interface - -#include -extern "Java" -{ - namespace java - { - namespace net - { - class URL; - class URLClassLoader; - class URLClassLoader$JarURLLoader; - class URLClassLoader$Resource; - } - } -} - -class java::net::URLClassLoader$JarURLLoader : public ::java::net::URLClassLoader$URLLoader -{ - -public: - URLClassLoader$JarURLLoader(::java::net::URLClassLoader *, ::java::net::URL *, ::java::net::URL *); -public: // actually package-private - ::java::net::URLClassLoader$Resource * getResource(::java::lang::String *); - ::java::util::jar::Manifest * getManifest(); - ::java::util::Vector * getClassPath(); - ::java::util::jar::JarFile * __attribute__((aligned(__alignof__( ::java::net::URLClassLoader$URLLoader)))) jarfile; - ::java::net::URL * baseJarURL; - ::java::util::Vector * classPath; -public: - static ::java::lang::Class class$; -}; - -#endif // __java_net_URLClassLoader$JarURLLoader__ diff --git a/libjava/java/net/URLClassLoader$JarURLResource.h b/libjava/java/net/URLClassLoader$JarURLResource.h deleted file mode 100644 index 0db0fdee..0000000 --- a/libjava/java/net/URLClassLoader$JarURLResource.h +++ /dev/null @@ -1,48 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __java_net_URLClassLoader$JarURLResource__ -#define __java_net_URLClassLoader$JarURLResource__ - -#pragma interface - -#include -#include - -extern "Java" -{ - namespace java - { - namespace net - { - class URL; - class URLClassLoader$JarURLLoader; - class URLClassLoader$JarURLResource; - } - namespace security - { - namespace cert - { - class Certificate; - } - } - } -} - -class java::net::URLClassLoader$JarURLResource : public ::java::net::URLClassLoader$Resource -{ - -public: // actually package-private - URLClassLoader$JarURLResource(::java::net::URLClassLoader$JarURLLoader *, ::java::lang::String *, ::java::util::jar::JarEntry *); - ::java::io::InputStream * getInputStream(); - jint getLength(); - JArray< ::java::security::cert::Certificate * > * getCertificates(); - ::java::net::URL * getURL(); -private: - ::java::util::jar::JarEntry * __attribute__((aligned(__alignof__( ::java::net::URLClassLoader$Resource)))) entry; - ::java::lang::String * name; -public: - static ::java::lang::Class class$; -}; - -#endif // __java_net_URLClassLoader$JarURLResource__ diff --git a/libjava/java/net/URLClassLoader$RemoteResource.h b/libjava/java/net/URLClassLoader$RemoteResource.h deleted file mode 100644 index 10d2622..0000000 --- a/libjava/java/net/URLClassLoader$RemoteResource.h +++ /dev/null @@ -1,40 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __java_net_URLClassLoader$RemoteResource__ -#define __java_net_URLClassLoader$RemoteResource__ - -#pragma interface - -#include -extern "Java" -{ - namespace java - { - namespace net - { - class URL; - class URLClassLoader$RemoteResource; - class URLClassLoader$RemoteURLLoader; - } - } -} - -class java::net::URLClassLoader$RemoteResource : public ::java::net::URLClassLoader$Resource -{ - -public: // actually package-private - URLClassLoader$RemoteResource(::java::net::URLClassLoader$RemoteURLLoader *, ::java::lang::String *, ::java::net::URL *, ::java::io::InputStream *, jint); - ::java::io::InputStream * getInputStream(); -public: - jint getLength(); - ::java::net::URL * getURL(); -private: - ::java::net::URL * __attribute__((aligned(__alignof__( ::java::net::URLClassLoader$Resource)))) url; - ::java::io::InputStream * stream; - jint length; -public: - static ::java::lang::Class class$; -}; - -#endif // __java_net_URLClassLoader$RemoteResource__ diff --git a/libjava/java/net/URLClassLoader$RemoteURLLoader.h b/libjava/java/net/URLClassLoader$RemoteURLLoader.h deleted file mode 100644 index 7c2876b..0000000 --- a/libjava/java/net/URLClassLoader$RemoteURLLoader.h +++ /dev/null @@ -1,36 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __java_net_URLClassLoader$RemoteURLLoader__ -#define __java_net_URLClassLoader$RemoteURLLoader__ - -#pragma interface - -#include -extern "Java" -{ - namespace java - { - namespace net - { - class URL; - class URLClassLoader; - class URLClassLoader$RemoteURLLoader; - class URLClassLoader$Resource; - } - } -} - -class java::net::URLClassLoader$RemoteURLLoader : public ::java::net::URLClassLoader$URLLoader -{ - -public: // actually package-private - URLClassLoader$RemoteURLLoader(::java::net::URLClassLoader *, ::java::net::URL *); - ::java::net::URLClassLoader$Resource * getResource(::java::lang::String *); -private: - ::java::lang::String * __attribute__((aligned(__alignof__( ::java::net::URLClassLoader$URLLoader)))) protocol; -public: - static ::java::lang::Class class$; -}; - -#endif // __java_net_URLClassLoader$RemoteURLLoader__ diff --git a/libjava/java/net/URLClassLoader$Resource.h b/libjava/java/net/URLClassLoader$Resource.h deleted file mode 100644 index 7fc102a..0000000 --- a/libjava/java/net/URLClassLoader$Resource.h +++ /dev/null @@ -1,48 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __java_net_URLClassLoader$Resource__ -#define __java_net_URLClassLoader$Resource__ - -#pragma interface - -#include -#include - -extern "Java" -{ - namespace java - { - namespace net - { - class URL; - class URLClassLoader$Resource; - class URLClassLoader$URLLoader; - } - namespace security - { - class CodeSource; - namespace cert - { - class Certificate; - } - } - } -} - -class java::net::URLClassLoader$Resource : public ::java::lang::Object -{ - -public: // actually package-private - URLClassLoader$Resource(::java::net::URLClassLoader$URLLoader *); - virtual ::java::security::CodeSource * getCodeSource(); - virtual JArray< ::java::security::cert::Certificate * > * getCertificates(); - virtual ::java::net::URL * getURL() = 0; - virtual jint getLength() = 0; - virtual ::java::io::InputStream * getInputStream() = 0; - ::java::net::URLClassLoader$URLLoader * __attribute__((aligned(__alignof__( ::java::lang::Object)))) loader; -public: - static ::java::lang::Class class$; -}; - -#endif // __java_net_URLClassLoader$Resource__ diff --git a/libjava/java/net/URLClassLoader$SoResource.h b/libjava/java/net/URLClassLoader$SoResource.h deleted file mode 100644 index dce7601..0000000 --- a/libjava/java/net/URLClassLoader$SoResource.h +++ /dev/null @@ -1,38 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __java_net_URLClassLoader$SoResource__ -#define __java_net_URLClassLoader$SoResource__ - -#pragma interface - -#include -extern "Java" -{ - namespace java - { - namespace net - { - class URL; - class URLClassLoader$SoResource; - class URLClassLoader$SoURLLoader; - } - } -} - -class java::net::URLClassLoader$SoResource : public ::java::net::URLClassLoader$Resource -{ - -public: // actually package-private - URLClassLoader$SoResource(::java::net::URLClassLoader$SoURLLoader *, ::java::net::URL *); - ::java::io::InputStream * getInputStream(); -public: - jint getLength(); - ::java::net::URL * getURL(); -public: // actually package-private - ::java::net::URL * __attribute__((aligned(__alignof__( ::java::net::URLClassLoader$Resource)))) url; -public: - static ::java::lang::Class class$; -}; - -#endif // __java_net_URLClassLoader$SoResource__ diff --git a/libjava/java/net/URLClassLoader$SoURLLoader.h b/libjava/java/net/URLClassLoader$SoURLLoader.h deleted file mode 100644 index 85d2d2e..0000000 --- a/libjava/java/net/URLClassLoader$SoURLLoader.h +++ /dev/null @@ -1,47 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __java_net_URLClassLoader$SoURLLoader__ -#define __java_net_URLClassLoader$SoURLLoader__ - -#pragma interface - -#include -extern "Java" -{ - namespace gnu - { - namespace gcj - { - namespace runtime - { - class SharedLibHelper; - } - } - } - namespace java - { - namespace net - { - class URL; - class URLClassLoader; - class URLClassLoader$Resource; - class URLClassLoader$SoURLLoader; - } - } -} - -class java::net::URLClassLoader$SoURLLoader : public ::java::net::URLClassLoader$URLLoader -{ - -public: // actually package-private - URLClassLoader$SoURLLoader(::java::net::URLClassLoader *, ::java::net::URL *); - URLClassLoader$SoURLLoader(::java::net::URLClassLoader *, ::java::net::URL *, ::java::net::URL *); - ::java::lang::Class * getClass(::java::lang::String *); - ::java::net::URLClassLoader$Resource * getResource(::java::lang::String *); - ::gnu::gcj::runtime::SharedLibHelper * __attribute__((aligned(__alignof__( ::java::net::URLClassLoader$URLLoader)))) helper; -public: - static ::java::lang::Class class$; -}; - -#endif // __java_net_URLClassLoader$SoURLLoader__ diff --git a/libjava/java/net/URLClassLoader$URLLoader.h b/libjava/java/net/URLClassLoader$URLLoader.h deleted file mode 100644 index f205d74..0000000 --- a/libjava/java/net/URLClassLoader$URLLoader.h +++ /dev/null @@ -1,45 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __java_net_URLClassLoader$URLLoader__ -#define __java_net_URLClassLoader$URLLoader__ - -#pragma interface - -#include -extern "Java" -{ - namespace java - { - namespace net - { - class URL; - class URLClassLoader; - class URLClassLoader$Resource; - class URLClassLoader$URLLoader; - } - namespace security - { - class CodeSource; - } - } -} - -class java::net::URLClassLoader$URLLoader : public ::java::lang::Object -{ - -public: // actually package-private - URLClassLoader$URLLoader(::java::net::URLClassLoader *, ::java::net::URL *); - URLClassLoader$URLLoader(::java::net::URLClassLoader *, ::java::net::URL *, ::java::net::URL *); - virtual ::java::lang::Class * getClass(::java::lang::String *); - virtual ::java::net::URLClassLoader$Resource * getResource(::java::lang::String *) = 0; - virtual ::java::util::jar::Manifest * getManifest(); - virtual ::java::util::Vector * getClassPath(); - ::java::net::URLClassLoader * __attribute__((aligned(__alignof__( ::java::lang::Object)))) classloader; - ::java::net::URL * baseURL; - ::java::security::CodeSource * noCertCodeSource; -public: - static ::java::lang::Class class$; -}; - -#endif // __java_net_URLClassLoader$URLLoader__ diff --git a/libjava/java/nio/channels/spi/SelectorProvider.h b/libjava/java/nio/channels/spi/SelectorProvider.h index 6dcf15c..a6b7052 100644 --- a/libjava/java/nio/channels/spi/SelectorProvider.h +++ b/libjava/java/nio/channels/spi/SelectorProvider.h @@ -15,6 +15,7 @@ extern "Java" { namespace channels { + class Channel; class DatagramChannel; class Pipe; class ServerSocketChannel; @@ -40,6 +41,7 @@ public: virtual ::java::nio::channels::spi::AbstractSelector * openSelector() = 0; virtual ::java::nio::channels::ServerSocketChannel * openServerSocketChannel() = 0; virtual ::java::nio::channels::SocketChannel * openSocketChannel() = 0; + virtual ::java::nio::channels::Channel * inheritedChannel(); static ::java::nio::channels::spi::SelectorProvider * provider(); private: static ::java::nio::channels::spi::SelectorProvider * systemDefaultProvider; diff --git a/libjava/java/security/cert/X509CertSelector.h b/libjava/java/security/cert/X509CertSelector.h index 69dd81e..f1d5b3a 100644 --- a/libjava/java/security/cert/X509CertSelector.h +++ b/libjava/java/security/cert/X509CertSelector.h @@ -18,6 +18,13 @@ extern "Java" namespace security { class OID; + namespace x509 + { + namespace ext + { + class GeneralName; + } + } } } } @@ -60,51 +67,61 @@ extern "Java" class java::security::cert::X509CertSelector : public ::java::lang::Object { + static jboolean checkOid(JArray< jint > *); + static ::gnu::java::security::x509::ext::GeneralName * makeName(jint, ::java::lang::String *); public: X509CertSelector(); + virtual void addPathToName(jint, JArray< jbyte > *); + virtual void addPathToName(jint, ::java::lang::String *); + virtual void addSubjectAlternativeName(jint, JArray< jbyte > *); + virtual void addSubjectAlternativeName(jint, ::java::lang::String *); + virtual ::java::lang::Object * clone(); + virtual JArray< jbyte > * getAuthorityKeyIdentifier(); + virtual jint getBasicConstraints(); virtual ::java::security::cert::X509Certificate * getCertificate(); - virtual void setCertificate(::java::security::cert::X509Certificate *); - virtual ::java::math::BigInteger * getSerialNumber(); - virtual void setSerialNumber(::java::math::BigInteger *); - virtual ::java::lang::String * getIssuerAsString(); + virtual ::java::util::Date * getCertificateValid(); + virtual ::java::util::Set * getExtendedKeyUsage(); virtual JArray< jbyte > * getIssuerAsBytes(); - virtual void setIssuer(::java::lang::String *); - virtual void setIssuer(JArray< jbyte > *); - virtual ::java::lang::String * getSubjectAsString(); + virtual ::java::lang::String * getIssuerAsString(); + virtual JArray< jboolean > * getKeyUsage(); + virtual jboolean getMatchAllSubjectAltNames(); + virtual JArray< jbyte > * getNameConstraints(); + virtual ::java::util::Collection * getPathToNames(); + virtual ::java::util::Set * getPolicy(); + virtual ::java::util::Date * getPrivateKeyValid(); + virtual ::java::math::BigInteger * getSerialNumber(); + virtual ::java::util::Collection * getSubjectAlternativeNames(); virtual JArray< jbyte > * getSubjectAsBytes(); - virtual void setSubject(::java::lang::String *); - virtual void setSubject(JArray< jbyte > *); + virtual ::java::lang::String * getSubjectAsString(); virtual JArray< jbyte > * getSubjectKeyIdentifier(); - virtual void setSubjectKeyIdentifier(JArray< jbyte > *); - virtual JArray< jbyte > * getAuthorityKeyIdentifier(); + virtual ::java::security::PublicKey * getSubjectPublicKey(); + virtual ::java::lang::String * getSubjectPublicKeyAlgID(); + virtual jboolean match(::java::security::cert::Certificate *); virtual void setAuthorityKeyIdentifier(JArray< jbyte > *); - virtual ::java::util::Date * getCertificateValid(); + virtual void setBasicConstraints(jint); + virtual void setCertificate(::java::security::cert::X509Certificate *); virtual void setCertificateValid(::java::util::Date *); - virtual ::java::util::Date * getPrivateKeyValid(); - virtual void setPrivateKeyValid(::java::util::Date *); - virtual ::java::lang::String * getSubjectPublicKeyAlgID(); - virtual void setSubjectPublicKeyAlgID(::java::lang::String *); - virtual ::java::security::PublicKey * getSubjectPublicKey(); - virtual void setSubjectPublicKey(::java::security::PublicKey *); - virtual void setSubjectPublicKey(JArray< jbyte > *); - virtual JArray< jboolean > * getKeyUsage(); - virtual void setKeyUsage(JArray< jboolean > *); - virtual ::java::util::Set * getExtendedKeyUsage(); virtual void setExtendedKeyUsage(::java::util::Set *); - virtual jboolean getMatchAllSubjectAltNames(); + virtual void setIssuer(JArray< jbyte > *); + virtual void setIssuer(::java::lang::String *); + virtual void setKeyUsage(JArray< jboolean > *); virtual void setMatchAllSubjectAltNames(jboolean); - virtual void setSubjectAlternativeNames(::java::util::Collection *); - virtual void addSubjectAlternativeName(jint, ::java::lang::String *); - virtual void addSubjectAlternativeName(jint, JArray< jbyte > *); - virtual JArray< jbyte > * getNameConstraints(); virtual void setNameConstraints(JArray< jbyte > *); - virtual jint getBasicConstraints(); - virtual void setBasicConstraints(jint); - virtual jboolean match(::java::security::cert::Certificate *); + virtual void setPathToNames(::java::util::Collection *); + virtual void setPolicy(::java::util::Set *); + virtual void setPrivateKeyValid(::java::util::Date *); + virtual void setSerialNumber(::java::math::BigInteger *); + virtual void setSubject(JArray< jbyte > *); + virtual void setSubject(::java::lang::String *); + virtual void setSubjectAlternativeNames(::java::util::Collection *); + virtual void setSubjectKeyIdentifier(JArray< jbyte > *); + virtual void setSubjectPublicKey(JArray< jbyte > *); + virtual void setSubjectPublicKey(::java::security::PublicKey *); + virtual void setSubjectPublicKeyAlgID(::java::lang::String *); virtual ::java::lang::String * toString(); - virtual ::java::lang::Object * clone(); +public: // actually package-private + static JArray< jint > * $SWITCH_TABLE$gnu$java$security$x509$ext$GeneralName$Kind(); private: - static jboolean checkOid(JArray< jint > *); static ::java::lang::String * AUTH_KEY_ID; static ::java::lang::String * SUBJECT_KEY_ID; static ::java::lang::String * NAME_CONSTRAINTS_ID; @@ -125,6 +142,8 @@ private: jboolean matchAllNames; JArray< jbyte > * nameConstraints; ::java::util::Set * policy; + ::java::util::List * pathToNames; + static JArray< jint > * $SWITCH_TABLE$gnu$java$security$x509$ext$GeneralName$Kind__; public: static ::java::lang::Class class$; }; diff --git a/libjava/java/text/Collator.java b/libjava/java/text/Collator.java index aa64316..3e64172 100644 --- a/libjava/java/text/Collator.java +++ b/libjava/java/text/Collator.java @@ -38,10 +38,13 @@ exception statement from your version. */ package java.text; +import java.text.spi.CollatorProvider; + import java.util.Comparator; import java.util.Locale; import java.util.MissingResourceException; import java.util.ResourceBundle; +import java.util.ServiceLoader; /** * This class is the abstract superclass of classes which perform @@ -286,7 +289,8 @@ public abstract class Collator implements Comparator, Cloneable /** * This method returns an instance of Collator for the * specified locale. If no Collator exists for the desired - * locale, a Collator for the default locale will be returned. + * locale, the fallback procedure described in + * {@link java.util.spi.LocaleServiceProvider} is invoked. * * @param loc The desired locale to load a Collator for. * @@ -294,27 +298,52 @@ public abstract class Collator implements Comparator, Cloneable */ public static Collator getInstance (Locale loc) { - ResourceBundle res; String pattern; try { - res = ResourceBundle.getBundle("gnu.java.locale.LocaleInformation", - loc, ClassLoader.getSystemClassLoader()); - pattern = res.getString("collation_rules"); + ResourceBundle res = + ResourceBundle.getBundle("gnu.java.locale.LocaleInformation", + loc, ClassLoader.getSystemClassLoader()); + return new RuleBasedCollator(res.getString("collation_rules")); } catch (MissingResourceException x) { - pattern = "<0<1<2<3<4<5<6<7<8<9 * __attribute__((aligned(__alignof__( ::java::lang::Object)))) ampms; JArray< ::java::lang::String * > * eras; @@ -61,6 +63,7 @@ public: // actually package-private JArray< ::java::lang::String * > * shortWeekdays; JArray< ::java::lang::String * > * weekdays; private: + JArray< JArray< ::java::lang::String * > * > * runtimeZoneStrings; JArray< JArray< ::java::lang::String * > * > * zoneStrings; static const jlong serialVersionUID = -5987973545549424702LL; static JArray< ::java::lang::String * > * formatPrefixes; diff --git a/libjava/java/text/DateFormatSymbols.java b/libjava/java/text/DateFormatSymbols.java index 27a806d..2ca513e 100644 --- a/libjava/java/text/DateFormatSymbols.java +++ b/libjava/java/text/DateFormatSymbols.java @@ -1,5 +1,5 @@ /* DateFormatSymbols.java -- Format over a range of numbers - Copyright (C) 1998, 1999, 2000, 2001, 2003, 2005 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2000, 2001, 2003, 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -38,14 +38,25 @@ exception statement from your version. */ package java.text; +import gnu.java.locale.LocaleHelper; + +import java.text.spi.DateFormatSymbolsProvider; + +import java.util.ArrayList; +import java.util.List; import java.util.Locale; import java.util.MissingResourceException; import java.util.ResourceBundle; +import java.util.ServiceLoader; +import java.util.TimeZone; + +import java.util.spi.TimeZoneNameProvider; /** * This class acts as container for locale specific date/time formatting * information such as the days of the week and the months of the year. * @author Per Bothner (bothner@cygnus.com) + * * @date October 24, 1998. */ /* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3. @@ -60,6 +71,15 @@ public class DateFormatSymbols implements java.io.Serializable, Cloneable String[] shortMonths; String[] shortWeekdays; String[] weekdays; + + /** + * The timezone strings supplied by the runtime. + */ + private String[][] runtimeZoneStrings; + + /** + * Custom timezone strings supplied by {@link #setZoneStrings()}. + */ private String[][] zoneStrings; private static final long serialVersionUID = -5987973545549424702L; @@ -91,11 +111,18 @@ public class DateFormatSymbols implements java.io.Serializable, Cloneable /** * This method initializes a new instance of DateFormatSymbols * by loading the date format information for the specified locale. + * This constructor only obtains instances using the runtime's resources; + * to also include {@link java.text.spi.DateFormatSymbolsProvider} instances, + * call {@link #getInstance(java.util.Locale)} instead. * * @param locale The locale for which date formatting symbols should * be loaded. + * @throws MissingResourceException if the resources for the specified + * locale could not be found or loaded. + * @see #getInstance(java.util.Locale) */ - public DateFormatSymbols (Locale locale) throws MissingResourceException + public DateFormatSymbols (Locale locale) + throws MissingResourceException { ResourceBundle res = ResourceBundle.getBundle("gnu.java.locale.LocaleInformation", locale, @@ -116,9 +143,16 @@ public class DateFormatSymbols implements java.io.Serializable, Cloneable /** * This method loads the format symbol information for the default - * locale. + * locale. This constructor only obtains instances using the runtime's resources; + * to also include {@link java.text.spi.DateFormatSymbolsProvider} instances, + * call {@link #getInstance()} instead. + * + * @throws MissingResourceException if the resources for the default + * locale could not be found or loaded. + * @see #getInstance() */ - public DateFormatSymbols () throws MissingResourceException + public DateFormatSymbols() + throws MissingResourceException { this (Locale.getDefault()); } @@ -499,4 +533,65 @@ public class DateFormatSymbols implements java.io.Serializable, Cloneable ^ hashCode(weekdays) ^ hashCode(zoneStrings)); } + + /** + * Returns a {@link DateFormatSymbols} instance for the + * default locale obtained from either the runtime itself + * or one of the installed + * {@link java.text.spi.DateFormatSymbolsProvider} instances. + * This is equivalent to calling + * getInstance(Locale.getDefault()). + * + * @return a {@link DateFormatSymbols} instance for the default + * locale. + * @since 1.6 + */ + public static final DateFormatSymbols getInstance() + { + return getInstance(Locale.getDefault()); + } + + /** + * Returns a {@link DateFormatSymbols} instance for the + * specified locale obtained from either the runtime itself + * or one of the installed + * {@link java.text.spi.DateFormatSymbolsProvider} instances. + * + * @param locale the locale for which an instance should be + * returned. + * @return a {@link DateFormatSymbols} instance for the specified + * locale. + * @throws NullPointerException if locale is + * null. + * @since 1.6 + */ + public static final DateFormatSymbols getInstance(Locale locale) + { + try + { + DateFormatSymbols syms = new DateFormatSymbols(locale); + return syms; + } + catch (MissingResourceException e) + { + /* This means runtime support for the locale + * is not available, so we check providers. */ + } + for (DateFormatSymbolsProvider p : + ServiceLoader.load(DateFormatSymbolsProvider.class)) + { + for (Locale loc : p.getAvailableLocales()) + { + if (loc.equals(locale)) + { + DateFormatSymbols syms = p.getInstance(locale); + if (syms != null) + return syms; + break; + } + } + } + return getInstance(LocaleHelper.getFallbackLocale(locale)); + } + } diff --git a/libjava/java/text/DecimalFormatSymbols.h b/libjava/java/text/DecimalFormatSymbols.h index b38140c..8967572 100644 --- a/libjava/java/text/DecimalFormatSymbols.h +++ b/libjava/java/text/DecimalFormatSymbols.h @@ -67,6 +67,10 @@ public: void setZeroDigit(jchar); private: void readObject(::java::io::ObjectInputStream *); +public: + static ::java::text::DecimalFormatSymbols * getInstance(); + static ::java::text::DecimalFormatSymbols * getInstance(::java::util::Locale *); +private: ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) currencySymbol; jchar decimalSeparator; jchar digit; diff --git a/libjava/java/text/DecimalFormatSymbols.java b/libjava/java/text/DecimalFormatSymbols.java index 110e45f..b72f144 100644 --- a/libjava/java/text/DecimalFormatSymbols.java +++ b/libjava/java/text/DecimalFormatSymbols.java @@ -38,13 +38,19 @@ exception statement from your version. */ package java.text; +import gnu.java.locale.LocaleHelper; + import java.io.IOException; import java.io.ObjectInputStream; import java.io.Serializable; + +import java.text.spi.DecimalFormatSymbolsProvider; + import java.util.Currency; import java.util.Locale; import java.util.MissingResourceException; import java.util.ResourceBundle; +import java.util.ServiceLoader; /** * This class is a container for the symbols used by @@ -77,6 +83,11 @@ public final class DecimalFormatSymbols implements Cloneable, Serializable /** * This method initializes a new instance of * DecimalFormatSymbols for the default locale. + * This constructor only obtains instances using the runtime's resources; + * to also include {@link java.text.spi.DateFormatSymbolsProvider} instances, + * call {@link #getInstance()} instead. + * + * @see #getInstance() */ public DecimalFormatSymbols () { @@ -664,4 +675,68 @@ public final class DecimalFormatSymbols implements Cloneable, Serializable serialVersionOnStream = 2; } + + /** + * Returns a {@link DecimalFormatSymbols} instance for the + * default locale obtained from either the runtime itself + * or one of the installed + * {@link java.text.spi.DecimalFormatSymbolsProvider} instances. + * This is equivalent to calling + * getInstance(Locale.getDefault()). + * + * @return a {@link DecimalFormatSymbols} instance for the default + * locale. + * @since 1.6 + */ + public static final DecimalFormatSymbols getInstance() + { + return getInstance(Locale.getDefault()); + } + + /** + * Returns a {@link DecimalFormatSymbols} instance for the + * specified locale obtained from either the runtime itself + * or one of the installed + * {@link java.text.spi.DecimalFormatSymbolsProvider} instances. + * + * @param locale the locale for which an instance should be + * returned. + * @return a {@link DecimalFormatSymbols} instance for the specified + * locale. + * @throws NullPointerException if locale is + * null. + * @since 1.6 + */ + public static final DecimalFormatSymbols getInstance(Locale locale) + { + try + { + if (!locale.equals(Locale.ROOT)) + ResourceBundle.getBundle("gnu.java.locale.LocaleInformation", + locale, + ClassLoader.getSystemClassLoader()); + return new DecimalFormatSymbols(locale); + } + catch (MissingResourceException x) + { + /* This means runtime support for the locale + * is not available, so we check providers. */ + } + for (DecimalFormatSymbolsProvider p : + ServiceLoader.load(DecimalFormatSymbolsProvider.class)) + { + for (Locale loc : p.getAvailableLocales()) + { + if (loc.equals(locale)) + { + DecimalFormatSymbols syms = p.getInstance(locale); + if (syms != null) + return syms; + break; + } + } + } + return getInstance(LocaleHelper.getFallbackLocale(locale)); + } + } diff --git a/libjava/java/text/spi/BreakIteratorProvider.h b/libjava/java/text/spi/BreakIteratorProvider.h new file mode 100644 index 0000000..663dff22 --- /dev/null +++ b/libjava/java/text/spi/BreakIteratorProvider.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_text_spi_BreakIteratorProvider__ +#define __java_text_spi_BreakIteratorProvider__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace text + { + class BreakIterator; + namespace spi + { + class BreakIteratorProvider; + } + } + } +} + +class java::text::spi::BreakIteratorProvider : public ::java::util::spi::LocaleServiceProvider +{ + +public: // actually protected + BreakIteratorProvider(); +public: + virtual ::java::text::BreakIterator * getCharacterInstance(::java::util::Locale *) = 0; + virtual ::java::text::BreakIterator * getLineInstance(::java::util::Locale *) = 0; + virtual ::java::text::BreakIterator * getSentenceInstance(::java::util::Locale *) = 0; + virtual ::java::text::BreakIterator * getWordInstance(::java::util::Locale *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __java_text_spi_BreakIteratorProvider__ diff --git a/libjava/java/text/spi/CollatorProvider.h b/libjava/java/text/spi/CollatorProvider.h new file mode 100644 index 0000000..bf07271 --- /dev/null +++ b/libjava/java/text/spi/CollatorProvider.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_text_spi_CollatorProvider__ +#define __java_text_spi_CollatorProvider__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace text + { + class Collator; + namespace spi + { + class CollatorProvider; + } + } + } +} + +class java::text::spi::CollatorProvider : public ::java::util::spi::LocaleServiceProvider +{ + +public: // actually protected + CollatorProvider(); +public: + virtual ::java::text::Collator * getInstance(::java::util::Locale *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __java_text_spi_CollatorProvider__ diff --git a/libjava/java/text/spi/DateFormatProvider.h b/libjava/java/text/spi/DateFormatProvider.h new file mode 100644 index 0000000..15f6e36 --- /dev/null +++ b/libjava/java/text/spi/DateFormatProvider.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_text_spi_DateFormatProvider__ +#define __java_text_spi_DateFormatProvider__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace text + { + class DateFormat; + namespace spi + { + class DateFormatProvider; + } + } + } +} + +class java::text::spi::DateFormatProvider : public ::java::util::spi::LocaleServiceProvider +{ + +public: // actually protected + DateFormatProvider(); +public: + virtual ::java::text::DateFormat * getDateInstance(jint, ::java::util::Locale *) = 0; + virtual ::java::text::DateFormat * getDateTimeInstance(jint, jint, ::java::util::Locale *) = 0; + virtual ::java::text::DateFormat * getTimeInstance(jint, ::java::util::Locale *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __java_text_spi_DateFormatProvider__ diff --git a/libjava/java/text/spi/DateFormatSymbolsProvider.h b/libjava/java/text/spi/DateFormatSymbolsProvider.h new file mode 100644 index 0000000..4a70129 --- /dev/null +++ b/libjava/java/text/spi/DateFormatSymbolsProvider.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_text_spi_DateFormatSymbolsProvider__ +#define __java_text_spi_DateFormatSymbolsProvider__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace text + { + class DateFormatSymbols; + namespace spi + { + class DateFormatSymbolsProvider; + } + } + } +} + +class java::text::spi::DateFormatSymbolsProvider : public ::java::util::spi::LocaleServiceProvider +{ + +public: // actually protected + DateFormatSymbolsProvider(); +public: + virtual ::java::text::DateFormatSymbols * getInstance(::java::util::Locale *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __java_text_spi_DateFormatSymbolsProvider__ diff --git a/libjava/java/text/spi/DecimalFormatSymbolsProvider.h b/libjava/java/text/spi/DecimalFormatSymbolsProvider.h new file mode 100644 index 0000000..ceead02 --- /dev/null +++ b/libjava/java/text/spi/DecimalFormatSymbolsProvider.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_text_spi_DecimalFormatSymbolsProvider__ +#define __java_text_spi_DecimalFormatSymbolsProvider__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace text + { + class DecimalFormatSymbols; + namespace spi + { + class DecimalFormatSymbolsProvider; + } + } + } +} + +class java::text::spi::DecimalFormatSymbolsProvider : public ::java::util::spi::LocaleServiceProvider +{ + +public: // actually protected + DecimalFormatSymbolsProvider(); +public: + virtual ::java::text::DecimalFormatSymbols * getInstance(::java::util::Locale *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __java_text_spi_DecimalFormatSymbolsProvider__ diff --git a/libjava/java/text/spi/NumberFormatProvider.h b/libjava/java/text/spi/NumberFormatProvider.h new file mode 100644 index 0000000..4224aea --- /dev/null +++ b/libjava/java/text/spi/NumberFormatProvider.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_text_spi_NumberFormatProvider__ +#define __java_text_spi_NumberFormatProvider__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace text + { + class NumberFormat; + namespace spi + { + class NumberFormatProvider; + } + } + } +} + +class java::text::spi::NumberFormatProvider : public ::java::util::spi::LocaleServiceProvider +{ + +public: // actually protected + NumberFormatProvider(); +public: + virtual ::java::text::NumberFormat * getCurrencyInstance(::java::util::Locale *) = 0; + virtual ::java::text::NumberFormat * getIntegerInstance(::java::util::Locale *) = 0; + virtual ::java::text::NumberFormat * getNumberInstance(::java::util::Locale *) = 0; + virtual ::java::text::NumberFormat * getPercentInstance(::java::util::Locale *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __java_text_spi_NumberFormatProvider__ diff --git a/libjava/java/util/AbstractMap$SimpleEntry.h b/libjava/java/util/AbstractMap$SimpleEntry.h index 0cc266d..5812050 100644 --- a/libjava/java/util/AbstractMap$SimpleEntry.h +++ b/libjava/java/util/AbstractMap$SimpleEntry.h @@ -20,6 +20,8 @@ public: virtual jint hashCode(); virtual ::java::lang::Object * setValue(::java::lang::Object *); virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = -8499721149061103585LL; public: // actually package-private ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) key; ::java::lang::Object * value; diff --git a/libjava/java/util/AbstractMap$SimpleImmutableEntry.h b/libjava/java/util/AbstractMap$SimpleImmutableEntry.h index 540d5f49..f979f8a 100644 --- a/libjava/java/util/AbstractMap$SimpleImmutableEntry.h +++ b/libjava/java/util/AbstractMap$SimpleImmutableEntry.h @@ -17,6 +17,8 @@ public: virtual ::java::lang::Object * getKey(); virtual ::java::lang::Object * getValue(); virtual ::java::lang::Object * setValue(::java::lang::Object *); +private: + static const jlong serialVersionUID = 7138329143949025153LL; public: // actually package-private ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) key; ::java::lang::Object * value; diff --git a/libjava/java/util/Arrays.h b/libjava/java/util/Arrays.h index 6b4941d..4010f60 100644 --- a/libjava/java/util/Arrays.h +++ b/libjava/java/util/Arrays.h @@ -16,14 +16,23 @@ class java::util::Arrays : public ::java::lang::Object Arrays(); public: static jint binarySearch(JArray< jbyte > *, jbyte); + static jint binarySearch(JArray< jbyte > *, jint, jint, jbyte); static jint binarySearch(JArray< jchar > *, jchar); + static jint binarySearch(JArray< jchar > *, jint, jint, jchar); static jint binarySearch(JArray< jshort > *, jshort); + static jint binarySearch(JArray< jshort > *, jint, jint, jshort); static jint binarySearch(JArray< jint > *, jint); + static jint binarySearch(JArray< jint > *, jint, jint, jint); static jint binarySearch(JArray< jlong > *, jlong); + static jint binarySearch(JArray< jlong > *, jint, jint, jlong); static jint binarySearch(JArray< jfloat > *, jfloat); + static jint binarySearch(JArray< jfloat > *, jint, jint, jfloat); static jint binarySearch(JArray< jdouble > *, jdouble); + static jint binarySearch(JArray< jdouble > *, jint, jint, jdouble); static jint binarySearch(JArray< ::java::lang::Object * > *, ::java::lang::Object *); + static jint binarySearch(JArray< ::java::lang::Object * > *, jint, jint, ::java::lang::Object *); static jint binarySearch(JArray< ::java::lang::Object * > *, ::java::lang::Object *, ::java::util::Comparator *); + static jint binarySearch(JArray< ::java::lang::Object * > *, jint, jint, ::java::lang::Object *, ::java::util::Comparator *); static jboolean equals(JArray< jboolean > *, JArray< jboolean > *); static jboolean equals(JArray< jbyte > *, JArray< jbyte > *); static jboolean equals(JArray< jchar > *, JArray< jchar > *); @@ -138,6 +147,26 @@ private: static void deepToString(JArray< ::java::lang::Object * > *, ::java::lang::StringBuilder *, ::java::util::HashSet *); public: static ::java::lang::String * deepToString(JArray< ::java::lang::Object * > *); + static JArray< jboolean > * copyOf(JArray< jboolean > *, jint); + static JArray< jboolean > * copyOfRange(JArray< jboolean > *, jint, jint); + static JArray< jbyte > * copyOf(JArray< jbyte > *, jint); + static JArray< jbyte > * copyOfRange(JArray< jbyte > *, jint, jint); + static JArray< jchar > * copyOf(JArray< jchar > *, jint); + static JArray< jchar > * copyOfRange(JArray< jchar > *, jint, jint); + static JArray< jdouble > * copyOf(JArray< jdouble > *, jint); + static JArray< jdouble > * copyOfRange(JArray< jdouble > *, jint, jint); + static JArray< jfloat > * copyOf(JArray< jfloat > *, jint); + static JArray< jfloat > * copyOfRange(JArray< jfloat > *, jint, jint); + static JArray< jint > * copyOf(JArray< jint > *, jint); + static JArray< jint > * copyOfRange(JArray< jint > *, jint, jint); + static JArray< jlong > * copyOf(JArray< jlong > *, jint); + static JArray< jlong > * copyOfRange(JArray< jlong > *, jint, jint); + static JArray< jshort > * copyOf(JArray< jshort > *, jint); + static JArray< jshort > * copyOfRange(JArray< jshort > *, jint, jint); + static JArray< ::java::lang::Object * > * copyOf(JArray< ::java::lang::Object * > *, jint); + static JArray< ::java::lang::Object * > * copyOfRange(JArray< ::java::lang::Object * > *, jint, jint); + static JArray< ::java::lang::Object * > * copyOf(JArray< ::java::lang::Object * > *, jint, ::java::lang::Class *); + static JArray< ::java::lang::Object * > * copyOfRange(JArray< ::java::lang::Object * > *, jint, jint, ::java::lang::Class *); static ::java::lang::Class class$; }; diff --git a/libjava/java/util/Calendar.h b/libjava/java/util/Calendar.h index 3a46dc0..5d9fb75 100644 --- a/libjava/java/util/Calendar.h +++ b/libjava/java/util/Calendar.h @@ -73,6 +73,8 @@ private: void writeObject(::java::io::ObjectOutputStream *); void readObject(::java::io::ObjectInputStream *); public: + virtual ::java::lang::String * getDisplayName(jint, jint, ::java::util::Locale *); + virtual ::java::util::Map * getDisplayNames(jint, jint, ::java::util::Locale *); virtual jint compareTo(::java::lang::Object *); static const jint ERA = 0; static const jint YEAR = 1; @@ -115,6 +117,9 @@ public: static const jint UNDECIMBER = 12; static const jint AM = 0; static const jint PM = 1; + static const jint ALL_STYLES = 0; + static const jint SHORT = 1; + static const jint LONG = 2; public: // actually protected JArray< jint > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) fields; JArray< jboolean > * isSet__; diff --git a/libjava/java/util/Calendar.java b/libjava/java/util/Calendar.java index 6c0d721..7eab612 100644 --- a/libjava/java/util/Calendar.java +++ b/libjava/java/util/Calendar.java @@ -43,9 +43,12 @@ import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.Serializable; + import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; +import java.text.DateFormatSymbols; + /** * This class is an abstract base class for Calendars, which can be * used to convert between Date objects and a set of @@ -99,6 +102,20 @@ day_of_week + week_of_year * specific field by one, propagating overflows), or * adding/substracting a fixed amount to a field. * + * @author Aaron M. Renn (arenn@urbanophile.com) + * @author Jochen Hoenicke (Jochen.Hoenicke@Informatik.Uni-Oldenburg.de) + * @author Warren Levy (warrenl@cygnus.com) + * @author Jeff Sturm (jsturm@one-point.com) + * @author Tom Tromey (tromey@redhat.com) + * @author Bryce McKinlay (mckinlay@redhat.com) + * @author Ingo Proetel (proetel@aicas.com) + * @author Jerry Quinn (jlquinn@optonline.net) + * @author Jeroen Frijters (jeroen@frijters.net) + * @author Noa Resare (noa@resare.com) + * @author Sven de Marothy (sven@physto.se) + * @author David Gilbert (david.gilbert@object-refinery.com) + * @author Olivier Jolly (olivier.jolly@pcedev.com) + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) * @see Date * @see GregorianCalendar * @see TimeZone @@ -326,6 +343,34 @@ public abstract class Calendar public static final int PM = 1; /** + * A style specifier for {@link #getDisplayNames(int,int,Locale)} + * stating that names should be returned in both long and short variants. + * + * @since 1.6 + * @see #SHORT + * @see #LONG + */ + public static final int ALL_STYLES = 0; + + /** + * A style specifier for {@link #getDisplayName(int,int,Locale)} + * and {@link #getDisplayNames(int,int,Locale)} stating that names + * should be returned in their short variant if applicable. + * + * @since 1.6 + */ + public static final int SHORT = 1; + + /** + * A style specifier for {@link #getDisplayName(int,int,Locale)} + * and {@link #getDisplayNames(int,int,Locale)} stating that names + * should be returned in their long variant if applicable. + * + * @since 1.6 + */ + public static final int LONG = 2; + + /** * The time fields. The array is indexed by the constants YEAR to * DST_OFFSET. * @serial @@ -504,7 +549,7 @@ public abstract class Calendar * Cache of locale->calendar-class mappings. This avoids having to do a ResourceBundle * lookup for every getInstance call. */ - private static HashMap cache = new HashMap(); + private static HashMap cache = new HashMap(); /** Preset argument types for calendar-class constructor lookup. */ private static Class[] ctorArgTypes = new Class[] @@ -526,7 +571,7 @@ public abstract class Calendar */ public static synchronized Calendar getInstance(TimeZone zone, Locale locale) { - Class calendarClass = (Class) cache.get(locale); + Class calendarClass = cache.get(locale); Throwable exception = null; try @@ -1326,4 +1371,205 @@ public abstract class Calendar areFieldsSet = false; } } + + /** + * Returns a localised textual representation of the current value + * of the given field using the specified style. If there is no + * applicable textual representation (e.g. the field has a numeric + * value), then null is returned. If one does exist, + * then the value is obtained from {@link #get(int)} and converted + * appropriately. For example, if the MONTH field is + * requested, then get(MONTH) is called. This is then + * converted to a textual representation based on its value and + * the style requested; if the LONG style is requested + * and the returned value is 11 from a + * {@link GregorianCalendar} implementation, then "December" + * is returned. By default, a textual representation is available + * for all fields which have an applicable value obtainable from + * {@link java.text.DateFormatSymbols}. + * + * @param field the calendar field whose textual representation should + * be obtained. + * @param style the style to use; either {@link #LONG} or {@link #SHORT}. + * @param locale the locale to use for translation. + * @return the textual representation of the given field in the specified + * style, or null if none is applicable. + * @throws IllegalArgumentException if field or style + * or invalid, or the calendar is non-lenient + * and has invalid values. + * @throws NullPointerException if locale is null. + * @since 1.6 + */ + public String getDisplayName(int field, int style, Locale locale) + { + if (field < 0 || field >= FIELD_COUNT) + throw new IllegalArgumentException("The field value, " + field + + ", is invalid."); + if (style != SHORT && style != LONG) + throw new IllegalArgumentException("The style must be either " + + "short or long."); + if (field == YEAR || field == WEEK_OF_YEAR || + field == WEEK_OF_MONTH || field == DAY_OF_MONTH || + field == DAY_OF_YEAR || field == DAY_OF_WEEK_IN_MONTH || + field == HOUR || field == HOUR_OF_DAY || field == MINUTE || + field == SECOND || field == MILLISECOND) + return null; + + int value = get(field); + DateFormatSymbols syms = DateFormatSymbols.getInstance(locale); + if (field == ERA) + return syms.getEras()[value]; + if (field == MONTH) + if (style == LONG) + return syms.getMonths()[value]; + else + return syms.getShortMonths()[value]; + if (field == DAY_OF_WEEK) + if (style == LONG) + return syms.getWeekdays()[value]; + else + return syms.getShortWeekdays()[value]; + if (field == AM_PM) + return syms.getAmPmStrings()[value]; + if (field == ZONE_OFFSET) + if (style == LONG) + return syms.getZoneStrings()[value][1]; + else + return syms.getZoneStrings()[value][2]; + if (field == DST_OFFSET) + if (style == LONG) + return syms.getZoneStrings()[value][3]; + else + return syms.getZoneStrings()[value][4]; + + throw new InternalError("Failed to resolve field " + field + + " with style " + style + " for locale " + + locale); + } + + /** + * Returns a map linking all specified textual representations + * of the given field to their numerical values. The textual + * representations included are determined by the specified + * style and locale. For example, if the style LONG + * is specified and the German locale, then the map will + * contain "Montag" to {@link #MONDAY}, "Dienstag" to + * {@link #TUESDAY}, "Mittwoch" to {@link #WEDNESDAY} and + * so on. The default implementation uses the values returned + * by {@link DateFormatSymbols} so, for example, the style + * {@link #ALL_STYLES} and the field {@link #MONTH} will return + * a map filled with the values returned from + * {@link DateFormatSymbols#getMonths()} and + * {@link DateFormatSymbols#getShortMonths()}. If there are + * no textual representations for a given field (usually because + * it is purely numeric, such as the year in the + * {@link GregorianCalendar}), null is returned. + * + * @param field the calendar field whose textual representation should + * be obtained. + * @param style the style to use; either {@link #LONG}, {@link #SHORT} + * or {@link ALL_STYLES}. + * @param locale the locale to use for translation. + * @return a map of the textual representations of the given field in the + * specified style to their numeric values, or null + * if none is applicable. + * @throws IllegalArgumentException if field or style + * or invalid, or the calendar is non-lenient + * and has invalid values. + * @throws NullPointerException if locale is null. + * @since 1.6 + */ + public Map getDisplayNames(int field, int style, Locale locale) + { + if (field < 0 || field >= FIELD_COUNT) + throw new IllegalArgumentException("The field value, " + field + + ", is invalid."); + if (style != SHORT && style != LONG && style != ALL_STYLES) + throw new IllegalArgumentException("The style must be either " + + "short, long or all styles."); + if (field == YEAR || field == WEEK_OF_YEAR || + field == WEEK_OF_MONTH || field == DAY_OF_MONTH || + field == DAY_OF_YEAR || field == DAY_OF_WEEK_IN_MONTH || + field == HOUR || field == HOUR_OF_DAY || field == MINUTE || + field == SECOND || field == MILLISECOND) + return null; + + DateFormatSymbols syms = DateFormatSymbols.getInstance(locale); + Map map = new HashMap(); + if (field == ERA) + { + String[] eras = syms.getEras(); + for (int a = 0; a < eras.length; ++a) + map.put(eras[a], a); + return map; + } + if (field == MONTH) + { + if (style == LONG || style == ALL_STYLES) + { + String[] months = syms.getMonths(); + for (int a = 0; a < months.length; ++a) + map.put(months[a], a); + } + if (style == SHORT || style == ALL_STYLES) + { + String[] months = syms.getShortMonths(); + for (int a = 0; a < months.length; ++a) + map.put(months[a], a); + } + return map; + } + if (field == DAY_OF_WEEK) + { + if (style == LONG || style == ALL_STYLES) + { + String[] weekdays = syms.getWeekdays(); + for (int a = SUNDAY; a < weekdays.length; ++a) + map.put(weekdays[a], a); + } + if (style == SHORT || style == ALL_STYLES) + { + String[] weekdays = syms.getShortWeekdays(); + for (int a = SUNDAY; a < weekdays.length; ++a) + map.put(weekdays[a], a); + } + return map; + } + if (field == AM_PM) + { + String[] ampms = syms.getAmPmStrings(); + for (int a = 0; a < ampms.length; ++a) + map.put(ampms[a], a); + return map; + } + if (field == ZONE_OFFSET) + { + String[][] zones = syms.getZoneStrings(); + for (int a = 0; a < zones.length; ++a) + { + if (style == LONG || style == ALL_STYLES) + map.put(zones[a][1], a); + if (style == SHORT || style == ALL_STYLES) + map.put(zones[a][2], a); + } + return map; + } + if (field == DST_OFFSET) + { + String[][] zones = syms.getZoneStrings(); + for (int a = 0; a < zones.length; ++a) + { + if (style == LONG || style == ALL_STYLES) + map.put(zones[a][3], a); + if (style == SHORT || style == ALL_STYLES) + map.put(zones[a][4], a); + } + return map; + } + + throw new InternalError("Failed to resolve field " + field + + " with style " + style + " for locale " + + locale); + } + } diff --git a/libjava/java/util/Collections$LIFOQueue.h b/libjava/java/util/Collections$LIFOQueue.h new file mode 100644 index 0000000..c053a49 --- /dev/null +++ b/libjava/java/util/Collections$LIFOQueue.h @@ -0,0 +1,31 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Collections$LIFOQueue__ +#define __java_util_Collections$LIFOQueue__ + +#pragma interface + +#include + +class java::util::Collections$LIFOQueue : public ::java::util::AbstractQueue +{ + +public: + Collections$LIFOQueue(::java::util::Deque *); + virtual jboolean add(::java::lang::Object *); + virtual jboolean addAll(::java::util::Collection *); + virtual void clear(); + virtual jboolean isEmpty(); + virtual ::java::util::Iterator * iterator(); + virtual jboolean offer(::java::lang::Object *); + virtual ::java::lang::Object * peek(); + virtual ::java::lang::Object * poll(); + virtual jint size(); +private: + ::java::util::Deque * __attribute__((aligned(__alignof__( ::java::util::AbstractQueue)))) deque; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Collections$LIFOQueue__ diff --git a/libjava/java/util/Collections$MapSet.h b/libjava/java/util/Collections$MapSet.h new file mode 100644 index 0000000..70caba7 --- /dev/null +++ b/libjava/java/util/Collections$MapSet.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Collections$MapSet__ +#define __java_util_Collections$MapSet__ + +#pragma interface + +#include + +class java::util::Collections$MapSet : public ::java::util::AbstractSet +{ + +public: + Collections$MapSet(::java::util::Map *); + virtual jboolean add(::java::lang::Object *); + virtual jboolean addAll(::java::util::Collection *); + virtual void clear(); + virtual jboolean contains(::java::lang::Object *); + virtual jboolean isEmpty(); + virtual ::java::util::Iterator * iterator(); + virtual jboolean remove(::java::lang::Object *); + virtual jint size(); +private: + ::java::util::Map * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) map; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Collections$MapSet__ diff --git a/libjava/java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet.h b/libjava/java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet.h index 1128060..8299dc4 100644 --- a/libjava/java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet.h +++ b/libjava/java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet.h @@ -17,9 +17,8 @@ public: // actually package-private Collections$UnmodifiableMap$UnmodifiableEntrySet(::java::util::Set *); public: ::java::util::Iterator * iterator(); - JArray< ::java::util::Map$Entry * > * Collections$UnmodifiableMap$UnmodifiableEntrySet$toArray(); - JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *); JArray< ::java::lang::Object * > * toArray(); + JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *); private: static const jlong serialVersionUID = 7854390611657943733LL; public: diff --git a/libjava/java/util/Collections.h b/libjava/java/util/Collections.h index 6e11724..2ca25f8 100644 --- a/libjava/java/util/Collections.h +++ b/libjava/java/util/Collections.h @@ -69,6 +69,8 @@ public: static ::java::util::Set * checkedSet(::java::util::Set *, ::java::lang::Class *); static ::java::util::SortedMap * checkedSortedMap(::java::util::SortedMap *, ::java::lang::Class *, ::java::lang::Class *); static ::java::util::SortedSet * checkedSortedSet(::java::util::SortedSet *, ::java::lang::Class *); + static ::java::util::Queue * asLifoQueue(::java::util::Deque *); + static ::java::util::Set * newSetFromMap(::java::util::Map *); private: static const jint LARGE_LIST_SIZE = 16; public: diff --git a/libjava/java/util/LinkedList$1.h b/libjava/java/util/LinkedList$1.h new file mode 100644 index 0000000..63c402d --- /dev/null +++ b/libjava/java/util/LinkedList$1.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_LinkedList$1__ +#define __java_util_LinkedList$1__ + +#pragma interface + +#include + +class java::util::LinkedList$1 : public ::java::lang::Object +{ + +public: // actually package-private + LinkedList$1(::java::util::LinkedList *); +private: + void checkMod(); +public: + jboolean hasNext(); + ::java::lang::Object * next(); + void remove(); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) knownMod; + ::java::util::LinkedList$Entry * next__; + ::java::util::LinkedList$Entry * lastReturned; + jint position; +public: // actually package-private + ::java::util::LinkedList * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_LinkedList$1__ diff --git a/libjava/java/util/LinkedList.h b/libjava/java/util/LinkedList.h index aee4f09..0c5e681 100644 --- a/libjava/java/util/LinkedList.h +++ b/libjava/java/util/LinkedList.h @@ -56,6 +56,19 @@ public: private: void writeObject(::java::io::ObjectOutputStream *); void readObject(::java::io::ObjectInputStream *); +public: + virtual ::java::util::Iterator * descendingIterator(); + virtual jboolean offerFirst(::java::lang::Object *); + virtual jboolean offerLast(::java::lang::Object *); + virtual ::java::lang::Object * peekFirst(); + virtual ::java::lang::Object * peekLast(); + virtual ::java::lang::Object * pollFirst(); + virtual ::java::lang::Object * pollLast(); + virtual ::java::lang::Object * pop(); + virtual void push(::java::lang::Object *); + virtual jboolean removeFirstOccurrence(::java::lang::Object *); + virtual jboolean removeLastOccurrence(::java::lang::Object *); +private: static const jlong serialVersionUID = 876323262645176354LL; public: // actually package-private ::java::util::LinkedList$Entry * __attribute__((aligned(__alignof__( ::java::util::AbstractSequentialList)))) first; diff --git a/libjava/java/util/Locale.h b/libjava/java/util/Locale.h index 6868aa1..041dab3 100644 --- a/libjava/java/util/Locale.h +++ b/libjava/java/util/Locale.h @@ -26,6 +26,9 @@ public: static JArray< ::java::util::Locale * > * getAvailableLocales(); static JArray< ::java::lang::String * > * getISOCountries(); static JArray< ::java::lang::String * > * getISOLanguages(); +private: + static JArray< ::java::lang::String * > * getISOStrings(::java::lang::String *); +public: ::java::lang::String * getLanguage(); ::java::lang::String * getCountry(); ::java::lang::String * getVariant(); @@ -68,13 +71,18 @@ public: static ::java::util::Locale * US; static ::java::util::Locale * CANADA; static ::java::util::Locale * CANADA_FRENCH; + static ::java::util::Locale * ROOT; private: static const jlong serialVersionUID = 9149081749638150636LL; ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) language; ::java::lang::String * country; ::java::lang::String * variant; jint hashcode; + static JArray< ::java::util::Locale * > * availableLocales; + static ::java::util::HashMap * localeMap; static ::java::util::Locale * defaultLocale; + static JArray< ::java::lang::String * > * languageCache; + static JArray< ::java::lang::String * > * countryCache; public: static ::java::lang::Class class$; }; diff --git a/libjava/java/util/Locale.java b/libjava/java/util/Locale.java deleted file mode 100644 index 03689aa..0000000 --- a/libjava/java/util/Locale.java +++ /dev/null @@ -1,864 +0,0 @@ -/* Locale.java -- i18n locales - Copyright (C) 1998, 1999, 2001, 2002, 2005, 2006 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.util; - -import gnu.classpath.SystemProperties; - -import java.io.IOException; -import java.io.ObjectInputStream; -import java.io.ObjectOutputStream; -import java.io.Serializable; - -/** - * Locales represent a specific country and culture. Classes which can be - * passed a Locale object tailor their information for a given locale. For - * instance, currency number formatting is handled differently for the USA - * and France. - * - *

      Locales are made up of a language code, a country code, and an optional - * set of variant strings. Language codes are represented by - * - * ISO 639:1988 w/ additions from ISO 639/RA Newsletter No. 1/1989 - * and a decision of the Advisory Committee of ISO/TC39 on August 8, 1997. - * - *

      Country codes are represented by - * - * ISO 3166. Variant strings are vendor and browser specific. Standard - * variant strings include "POSIX" for POSIX, "WIN" for MS-Windows, and - * "MAC" for Macintosh. When there is more than one variant string, they must - * be separated by an underscore (U+005F). - * - *

      The default locale is determined by the values of the system properties - * user.language, user.region, and user.variant, defaulting to "en". Note that - * the locale does NOT contain the conversion and formatting capabilities (for - * that, use ResourceBundle and java.text). Rather, it is an immutable tag - * object for identifying a given locale, which is referenced by these other - * classes when they must make locale-dependent decisions. - * - * @see ResourceBundle - * @see java.text.Format - * @see java.text.NumberFormat - * @see java.text.Collator - * @author Jochen Hoenicke - * @author Paul Fisher - * @author Eric Blake (ebb9@email.byu.edu) - * @author Andrew John Hughes (gnu_andrew@member.fsf.org) - * @since 1.1 - * @status updated to 1.4 - */ -public final class Locale implements Serializable, Cloneable -{ - /** Locale which represents the English language. */ - public static final Locale ENGLISH = getLocale("en"); - - /** Locale which represents the French language. */ - public static final Locale FRENCH = getLocale("fr"); - - /** Locale which represents the German language. */ - public static final Locale GERMAN = getLocale("de"); - - /** Locale which represents the Italian language. */ - public static final Locale ITALIAN = getLocale("it"); - - /** Locale which represents the Japanese language. */ - public static final Locale JAPANESE = getLocale("ja"); - - /** Locale which represents the Korean language. */ - public static final Locale KOREAN = getLocale("ko"); - - /** Locale which represents the Chinese language. */ - public static final Locale CHINESE = getLocale("zh"); - - /** Locale which represents the Chinese language as used in China. */ - public static final Locale SIMPLIFIED_CHINESE = getLocale("zh", "CN"); - - /** - * Locale which represents the Chinese language as used in Taiwan. - * Same as TAIWAN Locale. - */ - public static final Locale TRADITIONAL_CHINESE = getLocale("zh", "TW"); - - /** Locale which represents France. */ - public static final Locale FRANCE = getLocale("fr", "FR"); - - /** Locale which represents Germany. */ - public static final Locale GERMANY = getLocale("de", "DE"); - - /** Locale which represents Italy. */ - public static final Locale ITALY = getLocale("it", "IT"); - - /** Locale which represents Japan. */ - public static final Locale JAPAN = getLocale("ja", "JP"); - - /** Locale which represents Korea. */ - public static final Locale KOREA = getLocale("ko", "KR"); - - /** - * Locale which represents China. - * Same as SIMPLIFIED_CHINESE Locale. - */ - public static final Locale CHINA = SIMPLIFIED_CHINESE; - - /** - * Locale which represents the People's Republic of China. - * Same as CHINA Locale. - */ - public static final Locale PRC = CHINA; - - /** - * Locale which represents Taiwan. - * Same as TRADITIONAL_CHINESE Locale. - */ - public static final Locale TAIWAN = TRADITIONAL_CHINESE; - - /** Locale which represents the United Kingdom. */ - public static final Locale UK = getLocale("en", "GB"); - - /** Locale which represents the United States. */ - public static final Locale US = getLocale("en", "US"); - - /** Locale which represents the English speaking portion of Canada. */ - public static final Locale CANADA = getLocale("en", "CA"); - - /** Locale which represents the French speaking portion of Canada. */ - public static final Locale CANADA_FRENCH = getLocale("fr", "CA"); - - /** - * Compatible with JDK 1.1+. - */ - private static final long serialVersionUID = 9149081749638150636L; - - /** - * The language code, as returned by getLanguage(). - * - * @serial the languange, possibly "" - */ - private String language; - - /** - * The country code, as returned by getCountry(). - * - * @serial the country, possibly "" - */ - private String country; - - /** - * The variant code, as returned by getVariant(). - * - * @serial the variant, possibly "" - */ - private String variant; - - /** - * This is the cached hashcode. When writing to stream, we write -1. - * - * @serial should be -1 in serial streams - */ - private int hashcode; - - /** - * The default locale. Except for during bootstrapping, this should never be - * null. Note the logic in the main constructor, to detect when - * bootstrapping has completed. - */ - private static Locale defaultLocale = - getLocale(SystemProperties.getProperty("user.language", "en"), - SystemProperties.getProperty("user.region", ""), - SystemProperties.getProperty("user.variant", "")); - - /** - * Retrieves the locale with the specified language from the cache. - * - * @param language the language of the locale to retrieve. - * @return the locale. - */ - private static Locale getLocale(String language) - { - return getLocale(language, "", ""); - } - - /** - * Retrieves the locale with the specified language and region - * from the cache. - * - * @param language the language of the locale to retrieve. - * @param region the region of the locale to retrieve. - * @return the locale. - */ - private static Locale getLocale(String language, String region) - { - return getLocale(language, region, ""); - } - - /** - * Retrieves the locale with the specified language, region - * and variant from the cache. - * - * @param language the language of the locale to retrieve. - * @param region the region of the locale to retrieve. - * @param variant the variant of the locale to retrieve. - * @return the locale. - */ - private static Locale getLocale(String language, String region, String variant) - { - return new Locale(language, region, variant); - } - - /** - * Convert new iso639 codes to the old ones. - * - * @param language the language to check - * @return the appropriate code - */ - private String convertLanguage(String language) - { - if (language.equals("")) - return language; - language = language.toLowerCase(); - int index = "he,id,yi".indexOf(language); - if (index != -1) - return "iw,in,ji".substring(index, index + 2); - return language; - } - - /** - * Creates a new locale for the given language and country. - * - * @param language lowercase two-letter ISO-639 A2 language code - * @param country uppercase two-letter ISO-3166 A2 contry code - * @param variant vendor and browser specific - * @throws NullPointerException if any argument is null - */ - public Locale(String language, String country, String variant) - { - // During bootstrap, we already know the strings being passed in are - // the correct capitalization, and not null. We can't call - // String.toUpperCase during this time, since that depends on the - // default locale. - if (defaultLocale != null) - { - language = convertLanguage(language).intern(); - country = country.toUpperCase().intern(); - variant = variant.intern(); - } - this.language = language; - this.country = country; - this.variant = variant; - hashcode = language.hashCode() ^ country.hashCode() ^ variant.hashCode(); - } - - /** - * Creates a new locale for the given language and country. - * - * @param language lowercase two-letter ISO-639 A2 language code - * @param country uppercase two-letter ISO-3166 A2 country code - * @throws NullPointerException if either argument is null - */ - public Locale(String language, String country) - { - this(language, country, ""); - } - - /** - * Creates a new locale for a language. - * - * @param language lowercase two-letter ISO-639 A2 language code - * @throws NullPointerException if either argument is null - * @since 1.4 - */ - public Locale(String language) - { - this(language, "", ""); - } - - /** - * Returns the default Locale. The default locale is generally once set - * on start up and then never changed. Normally you should use this locale - * for everywhere you need a locale. The initial setting matches the - * default locale, the user has chosen. - * - * @return the default locale for this virtual machine - */ - public static Locale getDefault() - { - return defaultLocale; - } - - /** - * Changes the default locale. Normally only called on program start up. - * Note that this doesn't change the locale for other programs. This has - * a security check, - * PropertyPermission("user.language", "write"), because of - * its potential impact to running code. - * - * @param newLocale the new default locale - * @throws NullPointerException if newLocale is null - * @throws SecurityException if permission is denied - */ - public static void setDefault(Locale newLocale) - { - if (newLocale == null) - throw new NullPointerException(); - SecurityManager sm = System.getSecurityManager(); - if (sm != null) - sm.checkPermission(new PropertyPermission("user.language", "write")); - defaultLocale = newLocale; - } - - /** - * Returns the list of available locales. - * - * @return the installed locales - */ - public static Locale[] getAvailableLocales() - { - /* I only return those for which localized language - * or country information exists. - * XXX - remove hard coded list, and implement more locales (Sun's JDK 1.4 - * has 148 installed locales!). - */ - return new Locale[] - { - ENGLISH, FRENCH, GERMAN, new Locale("ga", "") - }; - } - - /** - * Returns a list of all 2-letter uppercase country codes as defined - * in ISO 3166. - * - * @return a list of acceptable country codes - */ - public static String[] getISOCountries() - { - return new String[] - { - "AD", "AE", "AF", "AG", "AI", "AL", "AM", "AN", "AO", "AQ", "AR", "AS", - "AT", "AU", "AW", "AZ", "BA", "BB", "BD", "BE", "BF", "BG", "BH", "BI", - "BJ", "BM", "BN", "BO", "BR", "BS", "BT", "BV", "BW", "BY", "BZ", "CA", - "CC", "CF", "CG", "CH", "CI", "CK", "CL", "CM", "CN", "CO", "CR", "CU", - "CV", "CX", "CY", "CZ", "DE", "DJ", "DK", "DM", "DO", "DZ", "EC", "EE", - "EG", "EH", "ER", "ES", "ET", "FI", "FJ", "FK", "FM", "FO", "FR", "FX", - "GA", "GB", "GD", "GE", "GF", "GH", "GI", "GL", "GM", "GN", "GP", "GQ", - "GR", "GS", "GT", "GU", "GW", "GY", "HK", "HM", "HN", "HR", "HT", "HU", - "ID", "IE", "IL", "IN", "IO", "IQ", "IR", "IS", "IT", "JM", "JO", "JP", - "KE", "KG", "KH", "KI", "KM", "KN", "KP", "KR", "KW", "KY", "KZ", "LA", - "LB", "LC", "LI", "LK", "LR", "LS", "LT", "LU", "LV", "LY", "MA", "MC", - "MD", "MG", "MH", "MK", "ML", "MM", "MN", "MO", "MP", "MQ", "MR", "MS", - "MT", "MU", "MV", "MW", "MX", "MY", "MZ", "NA", "NC", "NE", "NF", "NG", - "NI", "NL", "NO", "NP", "NR", "NU", "NZ", "OM", "PA", "PE", "PF", "PG", - "PH", "PK", "PL", "PM", "PN", "PR", "PT", "PW", "PY", "QA", "RE", "RO", - "RU", "RW", "SA", "SB", "SC", "SD", "SE", "SG", "SH", "SI", "SJ", "SK", - "SL", "SM", "SN", "SO", "SR", "ST", "SV", "SY", "SZ", "TC", "TD", "TF", - "TG", "TH", "TJ", "TK", "TM", "TN", "TO", "TP", "TR", "TT", "TV", "TW", - "TZ", "UA", "UG", "UM", "US", "UY", "UZ", "VA", "VC", "VE", "VG", "VI", - "VN", "VU", "WF", "WS", "YE", "YT", "YU", "ZA", "ZM", "ZR", "ZW" - }; - } - - /** - * Returns a list of all 2-letter lowercase language codes as defined - * in ISO 639 (both old and new variant). - * - * @return a list of acceptable language codes - */ - public static String[] getISOLanguages() - { - return new String[] - { - "aa", "ab", "af", "am", "ar", "as", "ay", "az", "ba", "be", "bg", "bh", - "bi", "bn", "bo", "br", "ca", "co", "cs", "cy", "da", "de", "dz", "el", - "en", "eo", "es", "et", "eu", "fa", "fi", "fj", "fo", "fr", "fy", "ga", - "gd", "gl", "gn", "gu", "ha", "he", "hi", "hr", "hu", "hy", "ia", "id", - "ie", "ik", "in", "is", "it", "iu", "iw", "ja", "ji", "jw", "ka", "kk", - "kl", "km", "kn", "ko", "ks", "ku", "ky", "la", "ln", "lo", "lt", "lv", - "mg", "mi", "mk", "ml", "mn", "mo", "mr", "ms", "mt", "my", "na", "ne", - "nl", "no", "oc", "om", "or", "pa", "pl", "ps", "pt", "qu", "rm", "rn", - "ro", "ru", "rw", "sa", "sd", "sg", "sh", "si", "sk", "sl", "sm", "sn", - "so", "sq", "sr", "ss", "st", "su", "sv", "sw", "ta", "te", "tg", "th", - "ti", "tk", "tl", "tn", "to", "tr", "ts", "tt", "tw", "ug", "uk", "ur", - "uz", "vi", "vo", "wo", "xh", "yi", "yo", "za", "zh", "zu" - }; - } - - /** - * Returns the language code of this locale. Some language codes have changed - * as ISO 639 has evolved; this returns the old name, even if you built - * the locale with the new one. - * - * @return language code portion of this locale, or an empty String - */ - public String getLanguage() - { - return language; - } - - /** - * Returns the country code of this locale. - * - * @return country code portion of this locale, or an empty String - */ - public String getCountry() - { - return country; - } - - /** - * Returns the variant code of this locale. - * - * @return the variant code portion of this locale, or an empty String - */ - public String getVariant() - { - return variant; - } - - /** - * Gets the string representation of the current locale. This consists of - * the language, the country, and the variant, separated by an underscore. - * The variant is listed only if there is a language or country. Examples: - * "en", "de_DE", "_GB", "en_US_WIN", "de__POSIX", "fr__MAC". - * - * @return the string representation of this Locale - * @see #getDisplayName() - */ - public String toString() - { - if (language.length() == 0 && country.length() == 0) - return ""; - else if (country.length() == 0 && variant.length() == 0) - return language; - StringBuffer result = new StringBuffer(language); - result.append('_').append(country); - if (variant.length() != 0) - result.append('_').append(variant); - return result.toString(); - } - - /** - * Returns the three-letter ISO language abbrevation of this locale. - * - * @throws MissingResourceException if the three-letter code is not known - */ - public String getISO3Language() - { - // We know all strings are interned so we can use '==' for better performance. - if (language == "") - return ""; - int index - = ("aa,ab,af,am,ar,as,ay,az,ba,be,bg,bh,bi,bn,bo,br,ca,co,cs,cy,da," - + "de,dz,el,en,eo,es,et,eu,fa,fi,fj,fo,fr,fy,ga,gd,gl,gn,gu,ha,iw," - + "hi,hr,hu,hy,ia,in,ie,ik,in,is,it,iu,iw,ja,ji,jw,ka,kk,kl,km,kn," - + "ko,ks,ku,ky,la,ln,lo,lt,lv,mg,mi,mk,ml,mn,mo,mr,ms,mt,my,na,ne," - + "nl,no,oc,om,or,pa,pl,ps,pt,qu,rm,rn,ro,ru,rw,sa,sd,sg,sh,si,sk," - + "sl,sm,sn,so,sq,sr,ss,st,su,sv,sw,ta,te,tg,th,ti,tk,tl,tn,to,tr," - + "ts,tt,tw,ug,uk,ur,uz,vi,vo,wo,xh,ji,yo,za,zh,zu") - .indexOf(language); - - if (index % 3 != 0 || language.length() != 2) - throw new MissingResourceException - ("Can't find ISO3 language for " + language, - "java.util.Locale", language); - - // Don't read this aloud. These are the three letter language codes. - return - ("aarabkaframharaasmaymazebakbelbulbihbisbenbodbrecatcoscescymdandeu" - + "dzoellengepospaesteusfasfinfijfaofrafrygaigdhglggrngujhauhebhinhrv" - + "hunhyeinaindileipkindislitaikuhebjpnyidjawkatkazkalkhmkankorkaskur" - + "kirlatlinlaolitlavmlgmrimkdmalmonmolmarmsamltmyanaunepnldnorociorm" - + "oripanpolpusporquerohrunronruskinsansndsagsrpsinslkslvsmosnasomsqi" - + "srpsswsotsunsweswatamteltgkthatirtuktgltsntonturtsotattwiuigukrurd" - + "uzbvievolwolxhoyidyorzhazhozul") - .substring(index, index + 3); - } - - /** - * Returns the three-letter ISO country abbrevation of the locale. - * - * @throws MissingResourceException if the three-letter code is not known - */ - public String getISO3Country() - { - // We know all strings are interned so we can use '==' for better performance. - if (country == "") - return ""; - int index - = ("AD,AE,AF,AG,AI,AL,AM,AN,AO,AQ,AR,AS,AT,AU,AW,AZ,BA,BB,BD,BE,BF," - + "BG,BH,BI,BJ,BM,BN,BO,BR,BS,BT,BV,BW,BY,BZ,CA,CC,CF,CG,CH,CI,CK," - + "CL,CM,CN,CO,CR,CU,CV,CX,CY,CZ,DE,DJ,DK,DM,DO,DZ,EC,EE,EG,EH,ER," - + "ES,ET,FI,FJ,FK,FM,FO,FR,FX,GA,GB,GD,GE,GF,GH,GI,GL,GM,GN,GP,GQ," - + "GR,GS,GT,GU,GW,GY,HK,HM,HN,HR,HT,HU,ID,IE,IL,IN,IO,IQ,IR,IS,IT," - + "JM,JO,JP,KE,KG,KH,KI,KM,KN,KP,KR,KW,KY,KZ,LA,LB,LC,LI,LK,LR,LS," - + "LT,LU,LV,LY,MA,MC,MD,MG,MH,MK,ML,MM,MN,MO,MP,MQ,MR,MS,MT,MU,MV," - + "MW,MX,MY,MZ,NA,NC,NE,NF,NG,NI,NL,NO,NP,NR,NU,NZ,OM,PA,PE,PF,PG," - + "PH,PK,PL,PM,PN,PR,PT,PW,PY,QA,RE,RO,RU,RW,SA,SB,SC,SD,SE,SG,SH," - + "SI,SJ,SK,SL,SM,SN,SO,SR,ST,SV,SY,SZ,TC,TD,TF,TG,TH,TJ,TK,TM,TN," - + "TO,TP,TR,TT,TV,TW,TZ,UA,UG,UM,US,UY,UZ,VA,VC,VE,VG,VI,VN,VU,WF," - + "WS,YE,YT,YU,ZA,ZM,ZR,ZW") - .indexOf(country); - - if (index % 3 != 0 || country.length() != 2) - throw new MissingResourceException - ("Can't find ISO3 country for " + country, - "java.util.Locale", country); - - // Don't read this aloud. These are the three letter country codes. - return - ("ANDAREAFGATGAIAALBARMANTAGOATAARGASMAUTAUSABWAZEBIHBRBBGDBELBFABGR" - + "BHRBDIBENBMUBRNBOLBRABHSBTNBVTBWABLRBLZCANCCKCAFCOGCHECIVCOKCHLCMR" - + "CHNCOLCRICUBCPVCXRCYPCZEDEUDJIDNKDMADOMDZAECUESTEGYESHERIESPETHFIN" - + "FJIFLKFSMFROFRAFXXGABGBRGRDGEOGUFGHAGIBGRLGMBGINGLPGNQGRCSGSGTMGUM" - + "GNBGUYHKGHMDHNDHRVHTIHUNIDNIRLISRINDIOTIRQIRNISLITAJAMJORJPNKENKGZ" - + "KHMKIRCOMKNAPRKKORKWTCYMKAZLAOLBNLCALIELKALBRLSOLTULUXLVALBYMARMCO" - + "MDAMDGMHLMKDMLIMMRMNGMACMNPMTQMRTMSRMLTMUSMDVMWIMEXMYSMOZNAMNCLNER" - + "NFKNGANICNLDNORNPLNRUNIUNZLOMNPANPERPYFPNGPHLPAKPOLSPMPCNPRIPRTPLW" - + "PRYQATREUROMRUSRWASAUSLBSYCSDNSWESGPSHNSVNSJMSVKSLESMRSENSOMSURSTP" - + "SLVSYRSWZTCATCDATFTGOTHATJKTKLTKMTUNTONTMPTURTTOTUVTWNTZAUKRUGAUMI" - + "USAURYUZBVATVCTVENVGBVIRVNMVUTWLFWSMYEMMYTYUGZAFZMBZARZWE") - .substring(index, index + 3); - } - - /** - * Gets the country name suitable for display to the user, formatted - * for the default locale. This has the same effect as - *

      -   * getDisplayLanguage(Locale.getDefault());
      -   * 
      - * - * @return the language name of this locale localized to the default locale, - * with the ISO code as backup - */ - public String getDisplayLanguage() - { - return getDisplayLanguage(defaultLocale); - } - - /** - *

      - * Gets the name of the language specified by this locale, in a form suitable - * for display to the user. If possible, the display name will be localized - * to the specified locale. For example, if the locale instance is - * Locale.GERMANY, and the specified locale is Locale.UK, - * the result would be 'German'. Using the German locale would instead give - * 'Deutsch'. If the display name can not be localized to the supplied - * locale, it will fall back on other output in the following order: - *

      - *
        - *
      • the display name in the default locale
      • - *
      • the display name in English
      • - *
      • the ISO code
      • - *
      - *

      - * If the language is unspecified by this locale, then the empty string is - * returned. - *

      - * - * @param inLocale the locale to use for formatting the display string. - * @return the language name of this locale localized to the given locale, - * with the default locale, English and the ISO code as backups. - * @throws NullPointerException if the supplied locale is null. - */ - public String getDisplayLanguage(Locale inLocale) - { - try - { - ResourceBundle bundle - = ResourceBundle.getBundle("gnu.java.locale.iso639", inLocale); - return bundle.getString(language); - } - catch (MissingResourceException ex) - { - return language; - } - } - - /** - * Returns the country name of this locale localized to the - * default locale. If the localized is not found, the ISO code - * is returned. This has the same effect as - *
      -   * getDisplayCountry(Locale.getDefault());
      -   * 
      - * - * @return the country name of this locale localized to the given locale, - * with the ISO code as backup - */ - public String getDisplayCountry() - { - return getDisplayCountry(defaultLocale); - } - - /** - *

      - * Gets the name of the country specified by this locale, in a form suitable - * for display to the user. If possible, the display name will be localized - * to the specified locale. For example, if the locale instance is - * Locale.GERMANY, and the specified locale is Locale.UK, - * the result would be 'Germany'. Using the German locale would instead give - * 'Deutschland'. If the display name can not be localized to the supplied - * locale, it will fall back on other output in the following order: - *

      - *
        - *
      • the display name in the default locale
      • - *
      • the display name in English
      • - *
      • the ISO code
      • - *
      - *

      - * If the country is unspecified by this locale, then the empty string is - * returned. - *

      - * - * @param inLocale the locale to use for formatting the display string. - * @return the country name of this locale localized to the given locale, - * with the default locale, English and the ISO code as backups. - * @throws NullPointerException if the supplied locale is null. - */ - public String getDisplayCountry(Locale inLocale) - { - try - { - ResourceBundle bundle = - ResourceBundle.getBundle("gnu.java.locale.iso3166", inLocale); - return bundle.getString(country); - } - catch (MissingResourceException ex) - { - return country; - } - } - - /** - * Returns the variant name of this locale localized to the - * default locale. If the localized is not found, the variant code - * itself is returned. This has the same effect as - *
      -   * getDisplayVariant(Locale.getDefault());
      -   * 
      - * - * @return the variant code of this locale localized to the given locale, - * with the ISO code as backup - */ - public String getDisplayVariant() - { - return getDisplayVariant(defaultLocale); - } - - /** - *

      - * Gets the name of the variant specified by this locale, in a form suitable - * for display to the user. If possible, the display name will be localized - * to the specified locale. For example, if the locale instance is a revised - * variant, and the specified locale is Locale.UK, the result - * would be 'REVISED'. Using the German locale would instead give - * 'Revidiert'. If the display name can not be localized to the supplied - * locale, it will fall back on other output in the following order: - *

      - *
        - *
      • the display name in the default locale
      • - *
      • the display name in English
      • - *
      • the ISO code
      • - *
      - *

      - * If the variant is unspecified by this locale, then the empty string is - * returned. - *

      - * - * @param inLocale the locale to use for formatting the display string. - * @return the variant name of this locale localized to the given locale, - * with the default locale, English and the ISO code as backups. - * @throws NullPointerException if the supplied locale is null. - */ - public String getDisplayVariant(Locale inLocale) - { - // XXX - load a bundle? - return variant; - } - - /** - * Gets all local components suitable for display to the user, formatted - * for the default locale. For the language component, getDisplayLanguage - * is called. For the country component, getDisplayCountry is called. - * For the variant set component, getDisplayVariant is called. - * - *

      The returned String will be one of the following forms:
      - *

      -   * language (country, variant)
      -   * language (country)
      -   * language (variant)
      -   * country (variant)
      -   * language
      -   * country
      -   * variant
      -   * 
      - * - * @return String version of this locale, suitable for display to the user - */ - public String getDisplayName() - { - return getDisplayName(defaultLocale); - } - - /** - * Gets all local components suitable for display to the user, formatted - * for a specified locale. For the language component, - * getDisplayLanguage(Locale) is called. For the country component, - * getDisplayCountry(Locale) is called. For the variant set component, - * getDisplayVariant(Locale) is called. - * - *

      The returned String will be one of the following forms:
      - *

      -   * language (country, variant)
      -   * language (country)
      -   * language (variant)
      -   * country (variant)
      -   * language
      -   * country
      -   * variant
      -   * 
      - * - * @param locale locale to use for formatting - * @return String version of this locale, suitable for display to the user - */ - public String getDisplayName(Locale locale) - { - StringBuffer result = new StringBuffer(); - int count = 0; - String[] delimiters = {"", " (", ","}; - if (language.length() != 0) - { - result.append(delimiters[count++]); - result.append(getDisplayLanguage(locale)); - } - if (country.length() != 0) - { - result.append(delimiters[count++]); - result.append(getDisplayCountry(locale)); - } - if (variant.length() != 0) - { - result.append(delimiters[count++]); - result.append(getDisplayVariant(locale)); - } - if (count > 1) - result.append(")"); - return result.toString(); - } - - /** - * Does the same as Object.clone() but does not throw - * a CloneNotSupportedException. Why anyone would - * use this method is a secret to me, since this class is immutable. - * - * @return the clone - */ - public Object clone() - { - // This class is final, so no need to use native super.clone(). - return new Locale(language, country, variant); - } - - /** - * Return the hash code for this locale. The hashcode is the logical - * xor of the hash codes of the language, the country and the variant. - * The hash code is precomputed, since Locales are often - * used in hash tables. - * - * @return the hashcode - */ - public int hashCode() - { - return hashcode; - } - - /** - * Compares two locales. To be equal, obj must be a Locale with the same - * language, country, and variant code. - * - * @param obj the other locale - * @return true if obj is equal to this - */ - public boolean equals(Object obj) - { - if (this == obj) - return true; - if (! (obj instanceof Locale)) - return false; - Locale l = (Locale) obj; - - return (language == l.language - && country == l.country - && variant == l.variant); - } - - /** - * Write the locale to an object stream. - * - * @param output the stream to write to - * @throws IOException if the write fails - * @serialData The first three fields are Strings representing language, - * country, and variant. The fourth field is a placeholder for - * the cached hashcode, but this is always written as -1, and - * recomputed when reading it back. - */ - private void writeObject(ObjectOutputStream s) - throws IOException - { - ObjectOutputStream.PutField fields = s.putFields(); - fields.put("hashcode", -1); - s.defaultWriteObject(); - } - - /** - * Reads a locale from the input stream. - * - * @param input the stream to read from - * @throws IOException if reading fails - * @throws ClassNotFoundException if reading fails - * @serialData the hashCode is always invalid and must be recomputed - */ - private void readObject(ObjectInputStream s) - throws IOException, ClassNotFoundException - { - s.defaultReadObject(); - language = language.intern(); - country = country.intern(); - variant = variant.intern(); - hashcode = language.hashCode() ^ country.hashCode() ^ variant.hashCode(); - } -} // class Locale diff --git a/libjava/java/util/ServiceConfigurationError.h b/libjava/java/util/ServiceConfigurationError.h new file mode 100644 index 0000000..7a2a905 --- /dev/null +++ b/libjava/java/util/ServiceConfigurationError.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_ServiceConfigurationError__ +#define __java_util_ServiceConfigurationError__ + +#pragma interface + +#include + +class java::util::ServiceConfigurationError : public ::java::lang::Error +{ + +public: + ServiceConfigurationError(::java::lang::String *); + ServiceConfigurationError(::java::lang::String *, ::java::lang::Throwable *); +private: + static const jlong serialVersionUID = 74132770414881LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_ServiceConfigurationError__ diff --git a/libjava/java/util/ServiceLoader$1.h b/libjava/java/util/ServiceLoader$1.h new file mode 100644 index 0000000..ad210a2 --- /dev/null +++ b/libjava/java/util/ServiceLoader$1.h @@ -0,0 +1,28 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_ServiceLoader$1__ +#define __java_util_ServiceLoader$1__ + +#pragma interface + +#include + +class java::util::ServiceLoader$1 : public ::java::lang::Object +{ + +public: // actually package-private + ServiceLoader$1(::java::util::ServiceLoader *); +public: + jboolean hasNext(); + ::java::lang::Object * next(); + void remove(); +private: + ::java::util::Iterator * __attribute__((aligned(__alignof__( ::java::lang::Object)))) cacheIt; +public: // actually package-private + ::java::util::ServiceLoader * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_ServiceLoader$1__ diff --git a/libjava/java/util/ServiceLoader.h b/libjava/java/util/ServiceLoader.h new file mode 100644 index 0000000..f3a9160 --- /dev/null +++ b/libjava/java/util/ServiceLoader.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_ServiceLoader__ +#define __java_util_ServiceLoader__ + +#pragma interface + +#include + +class java::util::ServiceLoader : public ::java::lang::Object +{ + + ServiceLoader(::java::lang::Class *, ::java::lang::ClassLoader *); +public: + ::java::util::Iterator * iterator(); + static ::java::util::ServiceLoader * load(::java::lang::Class *); + static ::java::util::ServiceLoader * load(::java::lang::Class *, ::java::lang::ClassLoader *); + static ::java::util::ServiceLoader * loadInstalled(::java::lang::Class *); + void reload(); + ::java::lang::String * toString(); +public: // actually package-private + static ::java::util::List * access$0(::java::util::ServiceLoader *); + static ::java::util::Iterator * access$1(::java::util::ServiceLoader *); + static ::java::lang::Class * access$2(::java::util::ServiceLoader *); + static ::java::lang::ClassLoader * access$3(::java::util::ServiceLoader *); + static void access$4(::java::util::ServiceLoader *, ::java::util::Iterator *); +private: + ::java::lang::Class * __attribute__((aligned(__alignof__( ::java::lang::Object)))) spi; + ::java::lang::ClassLoader * loader; + ::java::util::List * cache; + ::java::util::Iterator * serviceIt; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_ServiceLoader__ diff --git a/libjava/java/util/TreeMap$1.h b/libjava/java/util/TreeMap$1.h index d181072..59653e3 100644 --- a/libjava/java/util/TreeMap$1.h +++ b/libjava/java/util/TreeMap$1.h @@ -6,21 +6,18 @@ #pragma interface -#include +#include -class java::util::TreeMap$1 : public ::java::util::AbstractSet +class java::util::TreeMap$1 : public ::java::lang::Object { public: // actually package-private - TreeMap$1(::java::util::TreeMap$SubMap *); + TreeMap$1(::java::util::TreeMap$SubMap$NavigableEntrySet *); public: - jint size(); - ::java::util::Iterator * iterator(); - void clear(); - jboolean contains(::java::lang::Object *); - jboolean remove(::java::lang::Object *); + jint TreeMap$1$compare(::java::util::Map$Entry *, ::java::util::Map$Entry *); + jint compare(::java::lang::Object *, ::java::lang::Object *); public: // actually package-private - ::java::util::TreeMap$SubMap * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) this$1; + ::java::util::TreeMap$SubMap$NavigableEntrySet * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$2; public: static ::java::lang::Class class$; }; diff --git a/libjava/java/util/TreeMap$2.h b/libjava/java/util/TreeMap$2.h index 0ea21a8..92b9f40 100644 --- a/libjava/java/util/TreeMap$2.h +++ b/libjava/java/util/TreeMap$2.h @@ -6,9 +6,9 @@ #pragma interface -#include +#include -class java::util::TreeMap$2 : public ::java::util::AbstractSet +class java::util::TreeMap$2 : public ::java::util::AbstractCollection { public: // actually package-private @@ -17,10 +17,8 @@ public: jint size(); ::java::util::Iterator * iterator(); void clear(); - jboolean contains(::java::lang::Object *); - jboolean remove(::java::lang::Object *); public: // actually package-private - ::java::util::TreeMap$SubMap * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) this$1; + ::java::util::TreeMap$SubMap * __attribute__((aligned(__alignof__( ::java::util::AbstractCollection)))) this$1; public: static ::java::lang::Class class$; }; diff --git a/libjava/java/util/TreeMap$3.h b/libjava/java/util/TreeMap$3.h index 47ece2a..3ab5a98 100644 --- a/libjava/java/util/TreeMap$3.h +++ b/libjava/java/util/TreeMap$3.h @@ -12,13 +12,14 @@ class java::util::TreeMap$3 : public ::java::util::AbstractCollection { public: // actually package-private - TreeMap$3(::java::util::TreeMap$SubMap *); + TreeMap$3(::java::util::TreeMap$DescendingMap *); public: jint size(); ::java::util::Iterator * iterator(); void clear(); public: // actually package-private - ::java::util::TreeMap$SubMap * __attribute__((aligned(__alignof__( ::java::util::AbstractCollection)))) this$1; + static ::java::util::TreeMap$DescendingMap * access$0(::java::util::TreeMap$3 *); + ::java::util::TreeMap$DescendingMap * __attribute__((aligned(__alignof__( ::java::util::AbstractCollection)))) this$1; public: static ::java::lang::Class class$; }; diff --git a/libjava/java/util/TreeMap$4.h b/libjava/java/util/TreeMap$4.h index 5665ffd..b8e5ba7 100644 --- a/libjava/java/util/TreeMap$4.h +++ b/libjava/java/util/TreeMap$4.h @@ -6,21 +6,22 @@ #pragma interface -#include +#include -class java::util::TreeMap$4 : public ::java::util::AbstractSet +class java::util::TreeMap$4 : public ::java::lang::Object { public: // actually package-private - TreeMap$4(::java::util::TreeMap *); + TreeMap$4(::java::util::TreeMap$3 *); public: - jint size(); - ::java::util::Iterator * iterator(); - void clear(); - jboolean contains(::java::lang::Object *); - jboolean remove(::java::lang::Object *); + jboolean hasNext(); + ::java::lang::Object * next(); + void remove(); +private: + ::java::util::Map$Entry * __attribute__((aligned(__alignof__( ::java::lang::Object)))) last; + ::java::util::Map$Entry * next__; public: // actually package-private - ::java::util::TreeMap * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) this$0; + ::java::util::TreeMap$3 * this$2; public: static ::java::lang::Class class$; }; diff --git a/libjava/java/util/TreeMap$5.h b/libjava/java/util/TreeMap$5.h index b615001..585fe2c 100644 --- a/libjava/java/util/TreeMap$5.h +++ b/libjava/java/util/TreeMap$5.h @@ -6,21 +6,22 @@ #pragma interface -#include +#include -class java::util::TreeMap$5 : public ::java::util::AbstractSet +class java::util::TreeMap$5 : public ::java::lang::Object { public: // actually package-private - TreeMap$5(::java::util::TreeMap *); + TreeMap$5(::java::util::TreeMap$DescendingSet *); public: - jint size(); - ::java::util::Iterator * iterator(); - void clear(); - jboolean contains(::java::lang::Object *); - jboolean remove(::java::lang::Object *); + jboolean hasNext(); + ::java::lang::Object * next(); + void remove(); +private: + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) last; + ::java::lang::Object * next__; public: // actually package-private - ::java::util::TreeMap * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) this$0; + ::java::util::TreeMap$DescendingSet * this$1; public: static ::java::lang::Class class$; }; diff --git a/libjava/java/util/TreeMap$6.h b/libjava/java/util/TreeMap$6.h index 45e7802..0e8af45 100644 --- a/libjava/java/util/TreeMap$6.h +++ b/libjava/java/util/TreeMap$6.h @@ -6,19 +6,18 @@ #pragma interface -#include +#include -class java::util::TreeMap$6 : public ::java::util::AbstractCollection +class java::util::TreeMap$6 : public ::java::lang::Object { public: // actually package-private - TreeMap$6(::java::util::TreeMap *); + TreeMap$6(::java::util::TreeMap$NavigableEntrySet *); public: - jint size(); - ::java::util::Iterator * iterator(); - void clear(); + jint TreeMap$6$compare(::java::util::Map$Entry *, ::java::util::Map$Entry *); + jint compare(::java::lang::Object *, ::java::lang::Object *); public: // actually package-private - ::java::util::TreeMap * __attribute__((aligned(__alignof__( ::java::util::AbstractCollection)))) this$0; + ::java::util::TreeMap$NavigableEntrySet * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$1; public: static ::java::lang::Class class$; }; diff --git a/libjava/java/util/TreeMap$7.h b/libjava/java/util/TreeMap$7.h new file mode 100644 index 0000000..7fd6109 --- /dev/null +++ b/libjava/java/util/TreeMap$7.h @@ -0,0 +1,26 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_TreeMap$7__ +#define __java_util_TreeMap$7__ + +#pragma interface + +#include + +class java::util::TreeMap$7 : public ::java::util::AbstractCollection +{ + +public: // actually package-private + TreeMap$7(::java::util::TreeMap *); +public: + jint size(); + ::java::util::Iterator * iterator(); + void clear(); +public: // actually package-private + ::java::util::TreeMap * __attribute__((aligned(__alignof__( ::java::util::AbstractCollection)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_TreeMap$7__ diff --git a/libjava/java/util/TreeMap$DescendingMap.h b/libjava/java/util/TreeMap$DescendingMap.h new file mode 100644 index 0000000..70d6e6c --- /dev/null +++ b/libjava/java/util/TreeMap$DescendingMap.h @@ -0,0 +1,65 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_TreeMap$DescendingMap__ +#define __java_util_TreeMap$DescendingMap__ + +#pragma interface + +#include + +class java::util::TreeMap$DescendingMap : public ::java::lang::Object +{ + +public: + TreeMap$DescendingMap(::java::util::NavigableMap *); + ::java::util::Map$Entry * ceilingEntry(::java::lang::Object *); + ::java::lang::Object * ceilingKey(::java::lang::Object *); + void clear(); + ::java::util::Comparator * comparator(); + jboolean containsKey(::java::lang::Object *); + jboolean containsValue(::java::lang::Object *); + ::java::util::NavigableSet * descendingKeySet(); + ::java::util::NavigableMap * descendingMap(); + ::java::util::Set * entrySet(); + jboolean equals(::java::lang::Object *); + ::java::util::Map$Entry * firstEntry(); + ::java::lang::Object * firstKey(); + ::java::util::Map$Entry * floorEntry(::java::lang::Object *); + ::java::lang::Object * floorKey(::java::lang::Object *); + ::java::lang::Object * get(::java::lang::Object *); + jint hashCode(); + ::java::util::SortedMap * headMap(::java::lang::Object *); + ::java::util::NavigableMap * headMap(::java::lang::Object *, jboolean); + ::java::util::Map$Entry * higherEntry(::java::lang::Object *); + ::java::lang::Object * higherKey(::java::lang::Object *); + ::java::util::Set * keySet(); + jboolean isEmpty(); + ::java::util::Map$Entry * lastEntry(); + ::java::lang::Object * lastKey(); + ::java::util::Map$Entry * lowerEntry(::java::lang::Object *); + ::java::lang::Object * lowerKey(::java::lang::Object *); + ::java::util::NavigableSet * navigableKeySet(); + ::java::util::Map$Entry * pollFirstEntry(); + ::java::util::Map$Entry * pollLastEntry(); + ::java::lang::Object * put(::java::lang::Object *, ::java::lang::Object *); + void putAll(::java::util::Map *); + ::java::lang::Object * remove(::java::lang::Object *); + jint size(); + ::java::util::SortedMap * subMap(::java::lang::Object *, ::java::lang::Object *); + ::java::util::NavigableMap * subMap(::java::lang::Object *, jboolean, ::java::lang::Object *, jboolean); + ::java::util::SortedMap * tailMap(::java::lang::Object *); + ::java::util::NavigableMap * tailMap(::java::lang::Object *, jboolean); + ::java::lang::String * toString(); + ::java::util::Collection * values(); +private: + ::java::util::Set * __attribute__((aligned(__alignof__( ::java::lang::Object)))) entries; + ::java::util::Set * keys; + ::java::util::NavigableSet * nKeys; + ::java::util::Collection * values__; + ::java::util::NavigableMap * map; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_TreeMap$DescendingMap__ diff --git a/libjava/java/util/TreeMap$DescendingSet.h b/libjava/java/util/TreeMap$DescendingSet.h new file mode 100644 index 0000000..4824a27 --- /dev/null +++ b/libjava/java/util/TreeMap$DescendingSet.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_TreeMap$DescendingSet__ +#define __java_util_TreeMap$DescendingSet__ + +#pragma interface + +#include +#include + + +class java::util::TreeMap$DescendingSet : public ::java::lang::Object +{ + +public: + TreeMap$DescendingSet(::java::util::NavigableSet *); + jboolean add(::java::lang::Object *); + jboolean addAll(::java::util::Collection *); + ::java::lang::Object * ceiling(::java::lang::Object *); + void clear(); + ::java::util::Comparator * comparator(); + jboolean contains(::java::lang::Object *); + jboolean containsAll(::java::util::Collection *); + ::java::util::Iterator * descendingIterator(); + ::java::util::NavigableSet * descendingSet(); + jboolean equals(::java::lang::Object *); + ::java::lang::Object * first(); + ::java::lang::Object * floor(::java::lang::Object *); + jint hashCode(); + ::java::util::SortedSet * headSet(::java::lang::Object *); + ::java::util::NavigableSet * headSet(::java::lang::Object *, jboolean); + ::java::lang::Object * higher(::java::lang::Object *); + jboolean isEmpty(); + ::java::util::Iterator * iterator(); + ::java::lang::Object * last(); + ::java::lang::Object * lower(::java::lang::Object *); + ::java::lang::Object * pollFirst(); + ::java::lang::Object * pollLast(); + jboolean remove(::java::lang::Object *); + jboolean removeAll(::java::util::Collection *); + jboolean retainAll(::java::util::Collection *); + jint size(); + ::java::util::SortedSet * subSet(::java::lang::Object *, ::java::lang::Object *); + ::java::util::NavigableSet * subSet(::java::lang::Object *, jboolean, ::java::lang::Object *, jboolean); + ::java::util::SortedSet * tailSet(::java::lang::Object *); + ::java::util::NavigableSet * tailSet(::java::lang::Object *, jboolean); + JArray< ::java::lang::Object * > * toArray(); + JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *); + ::java::lang::String * toString(); +private: + ::java::util::NavigableSet * __attribute__((aligned(__alignof__( ::java::lang::Object)))) set; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_TreeMap$DescendingSet__ diff --git a/libjava/java/util/TreeMap$EntrySet.h b/libjava/java/util/TreeMap$EntrySet.h new file mode 100644 index 0000000..ed03318 --- /dev/null +++ b/libjava/java/util/TreeMap$EntrySet.h @@ -0,0 +1,28 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_TreeMap$EntrySet__ +#define __java_util_TreeMap$EntrySet__ + +#pragma interface + +#include + +class java::util::TreeMap$EntrySet : public ::java::util::AbstractSet +{ + + TreeMap$EntrySet(::java::util::TreeMap *); +public: + virtual jint size(); + virtual ::java::util::Iterator * iterator(); + virtual void clear(); + virtual jboolean contains(::java::lang::Object *); + virtual jboolean remove(::java::lang::Object *); +public: // actually package-private + TreeMap$EntrySet(::java::util::TreeMap *, ::java::util::TreeMap$EntrySet *); + ::java::util::TreeMap * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_TreeMap$EntrySet__ diff --git a/libjava/java/util/TreeMap$KeySet.h b/libjava/java/util/TreeMap$KeySet.h new file mode 100644 index 0000000..0559a4d --- /dev/null +++ b/libjava/java/util/TreeMap$KeySet.h @@ -0,0 +1,29 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_TreeMap$KeySet__ +#define __java_util_TreeMap$KeySet__ + +#pragma interface + +#include + +class java::util::TreeMap$KeySet : public ::java::util::AbstractSet +{ + + TreeMap$KeySet(::java::util::TreeMap *); +public: + virtual jint size(); + virtual ::java::util::Iterator * iterator(); + virtual void clear(); + virtual jboolean contains(::java::lang::Object *); + virtual jboolean remove(::java::lang::Object *); +public: // actually package-private + TreeMap$KeySet(::java::util::TreeMap *, ::java::util::TreeMap$KeySet *); + TreeMap$KeySet(::java::util::TreeMap *, ::java::util::TreeMap$KeySet *, ::java::util::TreeMap$KeySet *); + ::java::util::TreeMap * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_TreeMap$KeySet__ diff --git a/libjava/java/util/TreeMap$NavigableEntrySet.h b/libjava/java/util/TreeMap$NavigableEntrySet.h new file mode 100644 index 0000000..cdbed6e --- /dev/null +++ b/libjava/java/util/TreeMap$NavigableEntrySet.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_TreeMap$NavigableEntrySet__ +#define __java_util_TreeMap$NavigableEntrySet__ + +#pragma interface + +#include + +class java::util::TreeMap$NavigableEntrySet : public ::java::util::TreeMap$EntrySet +{ + + TreeMap$NavigableEntrySet(::java::util::TreeMap *); +public: + ::java::util::Map$Entry * TreeMap$NavigableEntrySet$ceiling(::java::util::Map$Entry *); + ::java::util::Comparator * comparator(); + ::java::util::Iterator * descendingIterator(); + ::java::util::NavigableSet * descendingSet(); + ::java::util::Map$Entry * TreeMap$NavigableEntrySet$first(); + ::java::util::Map$Entry * TreeMap$NavigableEntrySet$floor(::java::util::Map$Entry *); + ::java::util::SortedSet * TreeMap$NavigableEntrySet$headSet(::java::util::Map$Entry *); + ::java::util::NavigableSet * TreeMap$NavigableEntrySet$headSet(::java::util::Map$Entry *, jboolean); + ::java::util::Map$Entry * TreeMap$NavigableEntrySet$higher(::java::util::Map$Entry *); + ::java::util::Map$Entry * TreeMap$NavigableEntrySet$last(); + ::java::util::Map$Entry * TreeMap$NavigableEntrySet$lower(::java::util::Map$Entry *); + ::java::util::Map$Entry * TreeMap$NavigableEntrySet$pollFirst(); + ::java::util::Map$Entry * TreeMap$NavigableEntrySet$pollLast(); + ::java::util::SortedSet * TreeMap$NavigableEntrySet$subSet(::java::util::Map$Entry *, ::java::util::Map$Entry *); + ::java::util::NavigableSet * TreeMap$NavigableEntrySet$subSet(::java::util::Map$Entry *, jboolean, ::java::util::Map$Entry *, jboolean); + ::java::util::SortedSet * TreeMap$NavigableEntrySet$tailSet(::java::util::Map$Entry *); + ::java::util::NavigableSet * TreeMap$NavigableEntrySet$tailSet(::java::util::Map$Entry *, jboolean); + ::java::lang::Object * pollFirst(); + ::java::lang::Object * higher(::java::lang::Object *); + ::java::lang::Object * lower(::java::lang::Object *); + ::java::lang::Object * pollLast(); + ::java::lang::Object * first(); + ::java::lang::Object * last(); + ::java::util::NavigableSet * subSet(::java::lang::Object *, jboolean, ::java::lang::Object *, jboolean); + ::java::util::SortedSet * subSet(::java::lang::Object *, ::java::lang::Object *); + ::java::lang::Object * ceiling(::java::lang::Object *); + ::java::lang::Object * floor(::java::lang::Object *); + ::java::util::NavigableSet * tailSet(::java::lang::Object *, jboolean); + ::java::util::SortedSet * tailSet(::java::lang::Object *); + ::java::util::NavigableSet * headSet(::java::lang::Object *, jboolean); + ::java::util::SortedSet * headSet(::java::lang::Object *); +public: // actually package-private + TreeMap$NavigableEntrySet(::java::util::TreeMap *, ::java::util::TreeMap$NavigableEntrySet *); + static ::java::util::TreeMap * access$15(::java::util::TreeMap$NavigableEntrySet *); + ::java::util::TreeMap * __attribute__((aligned(__alignof__( ::java::util::TreeMap$EntrySet)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_TreeMap$NavigableEntrySet__ diff --git a/libjava/java/util/TreeMap$NavigableKeySet.h b/libjava/java/util/TreeMap$NavigableKeySet.h new file mode 100644 index 0000000..247ac27 --- /dev/null +++ b/libjava/java/util/TreeMap$NavigableKeySet.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_TreeMap$NavigableKeySet__ +#define __java_util_TreeMap$NavigableKeySet__ + +#pragma interface + +#include + +class java::util::TreeMap$NavigableKeySet : public ::java::util::TreeMap$KeySet +{ + + TreeMap$NavigableKeySet(::java::util::TreeMap *); +public: + ::java::lang::Object * ceiling(::java::lang::Object *); + ::java::util::Comparator * comparator(); + ::java::util::Iterator * descendingIterator(); + ::java::util::NavigableSet * descendingSet(); + ::java::lang::Object * first(); + ::java::lang::Object * floor(::java::lang::Object *); + ::java::util::SortedSet * headSet(::java::lang::Object *); + ::java::util::NavigableSet * headSet(::java::lang::Object *, jboolean); + ::java::lang::Object * higher(::java::lang::Object *); + ::java::lang::Object * last(); + ::java::lang::Object * lower(::java::lang::Object *); + ::java::lang::Object * pollFirst(); + ::java::lang::Object * pollLast(); + ::java::util::SortedSet * subSet(::java::lang::Object *, ::java::lang::Object *); + ::java::util::NavigableSet * subSet(::java::lang::Object *, jboolean, ::java::lang::Object *, jboolean); + ::java::util::SortedSet * tailSet(::java::lang::Object *); + ::java::util::NavigableSet * tailSet(::java::lang::Object *, jboolean); +public: // actually package-private + TreeMap$NavigableKeySet(::java::util::TreeMap *, ::java::util::TreeMap$NavigableKeySet *); + ::java::util::TreeMap * __attribute__((aligned(__alignof__( ::java::util::TreeMap$KeySet)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_TreeMap$NavigableKeySet__ diff --git a/libjava/java/util/TreeMap$SubMap$EntrySet.h b/libjava/java/util/TreeMap$SubMap$EntrySet.h new file mode 100644 index 0000000..70a2ffc --- /dev/null +++ b/libjava/java/util/TreeMap$SubMap$EntrySet.h @@ -0,0 +1,28 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_TreeMap$SubMap$EntrySet__ +#define __java_util_TreeMap$SubMap$EntrySet__ + +#pragma interface + +#include + +class java::util::TreeMap$SubMap$EntrySet : public ::java::util::AbstractSet +{ + + TreeMap$SubMap$EntrySet(::java::util::TreeMap$SubMap *); +public: + virtual jint size(); + virtual ::java::util::Iterator * iterator(); + virtual void clear(); + virtual jboolean contains(::java::lang::Object *); + virtual jboolean remove(::java::lang::Object *); +public: // actually package-private + TreeMap$SubMap$EntrySet(::java::util::TreeMap$SubMap *, ::java::util::TreeMap$SubMap$EntrySet *); + ::java::util::TreeMap$SubMap * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_TreeMap$SubMap$EntrySet__ diff --git a/libjava/java/util/TreeMap$SubMap$KeySet.h b/libjava/java/util/TreeMap$SubMap$KeySet.h new file mode 100644 index 0000000..812d7cd --- /dev/null +++ b/libjava/java/util/TreeMap$SubMap$KeySet.h @@ -0,0 +1,29 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_TreeMap$SubMap$KeySet__ +#define __java_util_TreeMap$SubMap$KeySet__ + +#pragma interface + +#include + +class java::util::TreeMap$SubMap$KeySet : public ::java::util::AbstractSet +{ + + TreeMap$SubMap$KeySet(::java::util::TreeMap$SubMap *); +public: + virtual jint size(); + virtual ::java::util::Iterator * iterator(); + virtual void clear(); + virtual jboolean contains(::java::lang::Object *); + virtual jboolean remove(::java::lang::Object *); +public: // actually package-private + TreeMap$SubMap$KeySet(::java::util::TreeMap$SubMap *, ::java::util::TreeMap$SubMap$KeySet *); + TreeMap$SubMap$KeySet(::java::util::TreeMap$SubMap *, ::java::util::TreeMap$SubMap$KeySet *, ::java::util::TreeMap$SubMap$KeySet *); + ::java::util::TreeMap$SubMap * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_TreeMap$SubMap$KeySet__ diff --git a/libjava/java/util/TreeMap$SubMap$NavigableEntrySet.h b/libjava/java/util/TreeMap$SubMap$NavigableEntrySet.h new file mode 100644 index 0000000..34c9977 --- /dev/null +++ b/libjava/java/util/TreeMap$SubMap$NavigableEntrySet.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_TreeMap$SubMap$NavigableEntrySet__ +#define __java_util_TreeMap$SubMap$NavigableEntrySet__ + +#pragma interface + +#include + +class java::util::TreeMap$SubMap$NavigableEntrySet : public ::java::util::TreeMap$SubMap$EntrySet +{ + + TreeMap$SubMap$NavigableEntrySet(::java::util::TreeMap$SubMap *); +public: + ::java::util::Map$Entry * TreeMap$SubMap$NavigableEntrySet$ceiling(::java::util::Map$Entry *); + ::java::util::Comparator * comparator(); + ::java::util::Iterator * descendingIterator(); + ::java::util::NavigableSet * descendingSet(); + ::java::util::Map$Entry * TreeMap$SubMap$NavigableEntrySet$first(); + ::java::util::Map$Entry * TreeMap$SubMap$NavigableEntrySet$floor(::java::util::Map$Entry *); + ::java::util::SortedSet * TreeMap$SubMap$NavigableEntrySet$headSet(::java::util::Map$Entry *); + ::java::util::NavigableSet * TreeMap$SubMap$NavigableEntrySet$headSet(::java::util::Map$Entry *, jboolean); + ::java::util::Map$Entry * TreeMap$SubMap$NavigableEntrySet$higher(::java::util::Map$Entry *); + ::java::util::Map$Entry * TreeMap$SubMap$NavigableEntrySet$last(); + ::java::util::Map$Entry * TreeMap$SubMap$NavigableEntrySet$lower(::java::util::Map$Entry *); + ::java::util::Map$Entry * TreeMap$SubMap$NavigableEntrySet$pollFirst(); + ::java::util::Map$Entry * TreeMap$SubMap$NavigableEntrySet$pollLast(); + ::java::util::SortedSet * TreeMap$SubMap$NavigableEntrySet$subSet(::java::util::Map$Entry *, ::java::util::Map$Entry *); + ::java::util::NavigableSet * TreeMap$SubMap$NavigableEntrySet$subSet(::java::util::Map$Entry *, jboolean, ::java::util::Map$Entry *, jboolean); + ::java::util::SortedSet * TreeMap$SubMap$NavigableEntrySet$tailSet(::java::util::Map$Entry *); + ::java::util::NavigableSet * TreeMap$SubMap$NavigableEntrySet$tailSet(::java::util::Map$Entry *, jboolean); + ::java::lang::Object * pollFirst(); + ::java::lang::Object * higher(::java::lang::Object *); + ::java::lang::Object * lower(::java::lang::Object *); + ::java::lang::Object * pollLast(); + ::java::lang::Object * first(); + ::java::lang::Object * last(); + ::java::util::NavigableSet * subSet(::java::lang::Object *, jboolean, ::java::lang::Object *, jboolean); + ::java::util::SortedSet * subSet(::java::lang::Object *, ::java::lang::Object *); + ::java::lang::Object * ceiling(::java::lang::Object *); + ::java::lang::Object * floor(::java::lang::Object *); + ::java::util::NavigableSet * tailSet(::java::lang::Object *, jboolean); + ::java::util::SortedSet * tailSet(::java::lang::Object *); + ::java::util::NavigableSet * headSet(::java::lang::Object *, jboolean); + ::java::util::SortedSet * headSet(::java::lang::Object *); +public: // actually package-private + TreeMap$SubMap$NavigableEntrySet(::java::util::TreeMap$SubMap *, ::java::util::TreeMap$SubMap$NavigableEntrySet *); + static ::java::util::TreeMap$SubMap * access$15(::java::util::TreeMap$SubMap$NavigableEntrySet *); + ::java::util::TreeMap$SubMap * __attribute__((aligned(__alignof__( ::java::util::TreeMap$SubMap$EntrySet)))) this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_TreeMap$SubMap$NavigableEntrySet__ diff --git a/libjava/java/util/TreeMap$SubMap$NavigableKeySet.h b/libjava/java/util/TreeMap$SubMap$NavigableKeySet.h new file mode 100644 index 0000000..66509d1 --- /dev/null +++ b/libjava/java/util/TreeMap$SubMap$NavigableKeySet.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_TreeMap$SubMap$NavigableKeySet__ +#define __java_util_TreeMap$SubMap$NavigableKeySet__ + +#pragma interface + +#include + +class java::util::TreeMap$SubMap$NavigableKeySet : public ::java::util::TreeMap$SubMap$KeySet +{ + + TreeMap$SubMap$NavigableKeySet(::java::util::TreeMap$SubMap *); +public: + ::java::lang::Object * ceiling(::java::lang::Object *); + ::java::util::Comparator * comparator(); + ::java::util::Iterator * descendingIterator(); + ::java::util::NavigableSet * descendingSet(); + ::java::lang::Object * first(); + ::java::lang::Object * floor(::java::lang::Object *); + ::java::util::SortedSet * headSet(::java::lang::Object *); + ::java::util::NavigableSet * headSet(::java::lang::Object *, jboolean); + ::java::lang::Object * higher(::java::lang::Object *); + ::java::lang::Object * last(); + ::java::lang::Object * lower(::java::lang::Object *); + ::java::lang::Object * pollFirst(); + ::java::lang::Object * pollLast(); + ::java::util::SortedSet * subSet(::java::lang::Object *, ::java::lang::Object *); + ::java::util::NavigableSet * subSet(::java::lang::Object *, jboolean, ::java::lang::Object *, jboolean); + ::java::util::SortedSet * tailSet(::java::lang::Object *); + ::java::util::NavigableSet * tailSet(::java::lang::Object *, jboolean); +public: // actually package-private + TreeMap$SubMap$NavigableKeySet(::java::util::TreeMap$SubMap *, ::java::util::TreeMap$SubMap$NavigableKeySet *); + ::java::util::TreeMap$SubMap * __attribute__((aligned(__alignof__( ::java::util::TreeMap$SubMap$KeySet)))) this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_TreeMap$SubMap$NavigableKeySet__ diff --git a/libjava/java/util/TreeMap$SubMap.h b/libjava/java/util/TreeMap$SubMap.h index ef206c8..accd468 100644 --- a/libjava/java/util/TreeMap$SubMap.h +++ b/libjava/java/util/TreeMap$SubMap.h @@ -15,21 +15,39 @@ public: // actually package-private TreeMap$SubMap(::java::util::TreeMap *, ::java::lang::Object *, ::java::lang::Object *); jboolean keyInRange(::java::lang::Object *); public: + ::java::util::Map$Entry * ceilingEntry(::java::lang::Object *); + ::java::lang::Object * ceilingKey(::java::lang::Object *); + ::java::util::NavigableSet * descendingKeySet(); + ::java::util::NavigableMap * descendingMap(); void clear(); ::java::util::Comparator * comparator(); jboolean containsKey(::java::lang::Object *); jboolean containsValue(::java::lang::Object *); ::java::util::Set * entrySet(); + ::java::util::Map$Entry * firstEntry(); ::java::lang::Object * firstKey(); + ::java::util::Map$Entry * floorEntry(::java::lang::Object *); + ::java::lang::Object * floorKey(::java::lang::Object *); ::java::lang::Object * get(::java::lang::Object *); ::java::util::SortedMap * headMap(::java::lang::Object *); + ::java::util::NavigableMap * headMap(::java::lang::Object *, jboolean); ::java::util::Set * keySet(); + ::java::util::Map$Entry * higherEntry(::java::lang::Object *); + ::java::lang::Object * higherKey(::java::lang::Object *); + ::java::util::Map$Entry * lastEntry(); ::java::lang::Object * lastKey(); + ::java::util::Map$Entry * lowerEntry(::java::lang::Object *); + ::java::lang::Object * lowerKey(::java::lang::Object *); + ::java::util::NavigableSet * navigableKeySet(); + ::java::util::Map$Entry * pollFirstEntry(); + ::java::util::Map$Entry * pollLastEntry(); ::java::lang::Object * put(::java::lang::Object *, ::java::lang::Object *); ::java::lang::Object * remove(::java::lang::Object *); jint size(); ::java::util::SortedMap * subMap(::java::lang::Object *, ::java::lang::Object *); + ::java::util::NavigableMap * subMap(::java::lang::Object *, jboolean, ::java::lang::Object *, jboolean); ::java::util::SortedMap * tailMap(::java::lang::Object *); + ::java::util::NavigableMap * tailMap(::java::lang::Object *, jboolean); ::java::util::Collection * values(); public: // actually package-private static ::java::util::TreeMap * access$0(::java::util::TreeMap$SubMap *); @@ -37,6 +55,8 @@ public: // actually package-private ::java::lang::Object * maxKey; private: ::java::util::Set * entries; + ::java::util::NavigableMap * descendingMap__; + ::java::util::NavigableSet * nKeys; public: // actually package-private ::java::util::TreeMap * this$0; public: diff --git a/libjava/java/util/TreeMap.h b/libjava/java/util/TreeMap.h index a68bcf6..b87c892 100644 --- a/libjava/java/util/TreeMap.h +++ b/libjava/java/util/TreeMap.h @@ -25,6 +25,7 @@ public: virtual ::java::lang::Object * firstKey(); virtual ::java::lang::Object * get(::java::lang::Object *); virtual ::java::util::SortedMap * headMap(::java::lang::Object *); + virtual ::java::util::NavigableMap * headMap(::java::lang::Object *, jboolean); virtual ::java::util::Set * keySet(); virtual ::java::lang::Object * lastKey(); virtual ::java::lang::Object * put(::java::lang::Object *, ::java::lang::Object *); @@ -32,7 +33,9 @@ public: virtual ::java::lang::Object * remove(::java::lang::Object *); virtual jint size(); virtual ::java::util::SortedMap * subMap(::java::lang::Object *, ::java::lang::Object *); + virtual ::java::util::NavigableMap * subMap(::java::lang::Object *, jboolean, ::java::lang::Object *, jboolean); virtual ::java::util::SortedMap * tailMap(::java::lang::Object *); + virtual ::java::util::NavigableMap * tailMap(::java::lang::Object *, jboolean); virtual ::java::util::Collection * values(); public: // actually package-private virtual jint compare(::java::lang::Object *, ::java::lang::Object *); @@ -43,11 +46,13 @@ public: // actually package-private virtual ::java::util::TreeMap$Node * firstNode(); virtual ::java::util::TreeMap$Node * getNode(::java::lang::Object *); virtual ::java::util::TreeMap$Node * highestLessThan(::java::lang::Object *); + virtual ::java::util::TreeMap$Node * highestLessThan(::java::lang::Object *, jboolean); private: void insertFixup(::java::util::TreeMap$Node *); ::java::util::TreeMap$Node * lastNode(); public: // actually package-private virtual ::java::util::TreeMap$Node * lowestGreaterThan(::java::lang::Object *, jboolean); + virtual ::java::util::TreeMap$Node * lowestGreaterThan(::java::lang::Object *, jboolean, jboolean); private: ::java::util::TreeMap$Node * predecessor(::java::util::TreeMap$Node *); public: // actually package-private @@ -64,6 +69,23 @@ public: // actually package-private virtual ::java::util::TreeMap$Node * successor(::java::util::TreeMap$Node *); private: void writeObject(::java::io::ObjectOutputStream *); +public: + virtual ::java::util::Map$Entry * ceilingEntry(::java::lang::Object *); + virtual ::java::lang::Object * ceilingKey(::java::lang::Object *); + virtual ::java::util::NavigableSet * descendingKeySet(); + virtual ::java::util::NavigableMap * descendingMap(); + virtual ::java::util::Map$Entry * firstEntry(); + virtual ::java::util::Map$Entry * floorEntry(::java::lang::Object *); + virtual ::java::lang::Object * floorKey(::java::lang::Object *); + virtual ::java::util::Map$Entry * higherEntry(::java::lang::Object *); + virtual ::java::lang::Object * higherKey(::java::lang::Object *); + virtual ::java::util::Map$Entry * lastEntry(); + virtual ::java::util::Map$Entry * lowerEntry(::java::lang::Object *); + virtual ::java::lang::Object * lowerKey(::java::lang::Object *); + virtual ::java::util::NavigableSet * navigableKeySet(); + virtual ::java::util::Map$Entry * pollFirstEntry(); + virtual ::java::util::Map$Entry * pollLastEntry(); +private: static const jlong serialVersionUID = 919286545866124006LL; public: // actually package-private static const jint RED = -1; @@ -75,6 +97,8 @@ public: // actually package-private jint size__; private: ::java::util::Set * entries; + ::java::util::NavigableMap * descendingMap__; + ::java::util::NavigableSet * nKeys; public: // actually package-private jint modCount; ::java::util::Comparator * comparator__; diff --git a/libjava/java/util/TreeSet.h b/libjava/java/util/TreeSet.h index 565d828..1e19c19 100644 --- a/libjava/java/util/TreeSet.h +++ b/libjava/java/util/TreeSet.h @@ -17,7 +17,7 @@ public: TreeSet(::java::util::Collection *); TreeSet(::java::util::SortedSet *); private: - TreeSet(::java::util::SortedMap *); + TreeSet(::java::util::NavigableMap *); public: virtual jboolean add(::java::lang::Object *); virtual jboolean addAll(::java::util::Collection *); @@ -27,18 +27,31 @@ public: virtual jboolean contains(::java::lang::Object *); virtual ::java::lang::Object * first(); virtual ::java::util::SortedSet * headSet(::java::lang::Object *); + virtual ::java::util::NavigableSet * headSet(::java::lang::Object *, jboolean); virtual jboolean isEmpty(); virtual ::java::util::Iterator * iterator(); virtual ::java::lang::Object * last(); virtual jboolean remove(::java::lang::Object *); virtual jint size(); virtual ::java::util::SortedSet * subSet(::java::lang::Object *, ::java::lang::Object *); + virtual ::java::util::NavigableSet * subSet(::java::lang::Object *, jboolean, ::java::lang::Object *, jboolean); virtual ::java::util::SortedSet * tailSet(::java::lang::Object *); + virtual ::java::util::NavigableSet * tailSet(::java::lang::Object *, jboolean); private: void writeObject(::java::io::ObjectOutputStream *); void readObject(::java::io::ObjectInputStream *); +public: + virtual ::java::lang::Object * ceiling(::java::lang::Object *); + virtual ::java::util::Iterator * descendingIterator(); + virtual ::java::util::NavigableSet * descendingSet(); + virtual ::java::lang::Object * floor(::java::lang::Object *); + virtual ::java::lang::Object * higher(::java::lang::Object *); + virtual ::java::lang::Object * lower(::java::lang::Object *); + virtual ::java::lang::Object * pollFirst(); + virtual ::java::lang::Object * pollLast(); +private: static const jlong serialVersionUID = -2479143000061671589LL; - ::java::util::SortedMap * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) map; + ::java::util::NavigableMap * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) map; public: static ::java::lang::Class class$; }; diff --git a/libjava/java/util/logging/Logger.java b/libjava/java/util/logging/Logger.java index adb07ec..04f24d3 100644 --- a/libjava/java/util/logging/Logger.java +++ b/libjava/java/util/logging/Logger.java @@ -1,5 +1,5 @@ /* Logger.java -- a class for logging messages - Copyright (C) 2002, 2004, 2006 Free Software Foundation, Inc. + Copyright (C) 2002, 2004, 2006, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -276,8 +276,8 @@ public class Logger LogManager lm = LogManager.getLogManager(); Logger result; - /* Throw NullPointerException if name is null. */ - name.getClass(); + if (name == null) + throw new NullPointerException(); /* Without synchronized(lm), it could happen that another thread * would create a logger between our calls to getLogger and @@ -1013,8 +1013,8 @@ public class Logger public synchronized void addHandler(Handler handler) throws SecurityException { - /* Throw a new NullPointerException if handler is null. */ - handler.getClass(); + if (handler == null) + throw new NullPointerException(); /* An application is allowed to control an anonymous logger * without having the permission to control the logging @@ -1057,8 +1057,8 @@ public class Logger if (!anonymous) LogManager.getLogManager().checkAccess(); - /* Throw a new NullPointerException if handler is null. */ - handler.getClass(); + if (handler == null) + throw new NullPointerException(); handlerList.remove(handler); handlers = getHandlers(); @@ -1166,8 +1166,8 @@ public class Logger */ public synchronized void setParent(Logger parent) { - /* Throw a new NullPointerException if parent is null. */ - parent.getClass(); + if (parent == null) + throw new NullPointerException(); if (this == root) throw new IllegalArgumentException( diff --git a/libjava/java/util/prefs/Preferences$1.h b/libjava/java/util/prefs/Preferences$1.h index 09a3f1c..3dd9a0c 100644 --- a/libjava/java/util/prefs/Preferences$1.h +++ b/libjava/java/util/prefs/Preferences$1.h @@ -14,6 +14,7 @@ class java::util::prefs::Preferences$1 : public ::java::lang::Object public: // actually package-private Preferences$1(); public: + ::java::util::prefs::PreferencesFactory * Preferences$1$run(); ::java::lang::Object * run(); static ::java::lang::Class class$; }; diff --git a/libjava/java/util/regex/Pattern.h b/libjava/java/util/regex/Pattern.h index 7bfc275..267cafd 100644 --- a/libjava/java/util/regex/Pattern.h +++ b/libjava/java/util/regex/Pattern.h @@ -41,6 +41,7 @@ public: JArray< ::java::lang::String * > * split(::java::lang::CharSequence *); JArray< ::java::lang::String * > * split(::java::lang::CharSequence *, jint); ::java::lang::String * pattern(); + ::java::lang::String * toString(); private: static const jlong serialVersionUID = 5073258162644648461LL; public: diff --git a/libjava/java/util/spi/CurrencyNameProvider.h b/libjava/java/util/spi/CurrencyNameProvider.h new file mode 100644 index 0000000..1375c15 --- /dev/null +++ b/libjava/java/util/spi/CurrencyNameProvider.h @@ -0,0 +1,21 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_spi_CurrencyNameProvider__ +#define __java_util_spi_CurrencyNameProvider__ + +#pragma interface + +#include + +class java::util::spi::CurrencyNameProvider : public ::java::util::spi::LocaleServiceProvider +{ + +public: // actually protected + CurrencyNameProvider(); +public: + virtual ::java::lang::String * getSymbol(::java::lang::String *, ::java::util::Locale *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __java_util_spi_CurrencyNameProvider__ diff --git a/libjava/java/util/spi/LocaleNameProvider.h b/libjava/java/util/spi/LocaleNameProvider.h new file mode 100644 index 0000000..d4194c5 --- /dev/null +++ b/libjava/java/util/spi/LocaleNameProvider.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_spi_LocaleNameProvider__ +#define __java_util_spi_LocaleNameProvider__ + +#pragma interface + +#include + +class java::util::spi::LocaleNameProvider : public ::java::util::spi::LocaleServiceProvider +{ + +public: // actually protected + LocaleNameProvider(); +public: + virtual ::java::lang::String * getDisplayCountry(::java::lang::String *, ::java::util::Locale *) = 0; + virtual ::java::lang::String * getDisplayLanguage(::java::lang::String *, ::java::util::Locale *) = 0; + virtual ::java::lang::String * getDisplayVariant(::java::lang::String *, ::java::util::Locale *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __java_util_spi_LocaleNameProvider__ diff --git a/libjava/java/util/spi/LocaleServiceProvider.h b/libjava/java/util/spi/LocaleServiceProvider.h new file mode 100644 index 0000000..69cc231 --- /dev/null +++ b/libjava/java/util/spi/LocaleServiceProvider.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_spi_LocaleServiceProvider__ +#define __java_util_spi_LocaleServiceProvider__ + +#pragma interface + +#include +#include + + +class java::util::spi::LocaleServiceProvider : public ::java::lang::Object +{ + +public: // actually protected + LocaleServiceProvider(); +public: + virtual JArray< ::java::util::Locale * > * getAvailableLocales() = 0; + static ::java::lang::Class class$; +}; + +#endif // __java_util_spi_LocaleServiceProvider__ diff --git a/libjava/java/util/spi/TimeZoneNameProvider.h b/libjava/java/util/spi/TimeZoneNameProvider.h new file mode 100644 index 0000000..8e43093 --- /dev/null +++ b/libjava/java/util/spi/TimeZoneNameProvider.h @@ -0,0 +1,21 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_spi_TimeZoneNameProvider__ +#define __java_util_spi_TimeZoneNameProvider__ + +#pragma interface + +#include + +class java::util::spi::TimeZoneNameProvider : public ::java::util::spi::LocaleServiceProvider +{ + +public: // actually protected + TimeZoneNameProvider(); +public: + virtual ::java::lang::String * getDisplayName(::java::lang::String *, jboolean, jint, ::java::util::Locale *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __java_util_spi_TimeZoneNameProvider__ diff --git a/libjava/javax/activity/ActivityCompletedException.h b/libjava/javax/activity/ActivityCompletedException.h new file mode 100644 index 0000000..b750811 --- /dev/null +++ b/libjava/javax/activity/ActivityCompletedException.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_activity_ActivityCompletedException__ +#define __javax_activity_ActivityCompletedException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace activity + { + class ActivityCompletedException; + } + } +} + +class javax::activity::ActivityCompletedException : public ::java::rmi::RemoteException +{ + +public: + ActivityCompletedException(); + ActivityCompletedException(::java::lang::String *); + ActivityCompletedException(::java::lang::Throwable *); + ActivityCompletedException(::java::lang::String *, ::java::lang::Throwable *); + static ::java::lang::Class class$; +}; + +#endif // __javax_activity_ActivityCompletedException__ diff --git a/libjava/javax/activity/ActivityRequiredException.h b/libjava/javax/activity/ActivityRequiredException.h new file mode 100644 index 0000000..93c10f5 --- /dev/null +++ b/libjava/javax/activity/ActivityRequiredException.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_activity_ActivityRequiredException__ +#define __javax_activity_ActivityRequiredException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace activity + { + class ActivityRequiredException; + } + } +} + +class javax::activity::ActivityRequiredException : public ::java::rmi::RemoteException +{ + +public: + ActivityRequiredException(); + ActivityRequiredException(::java::lang::String *); + ActivityRequiredException(::java::lang::Throwable *); + ActivityRequiredException(::java::lang::String *, ::java::lang::Throwable *); + static ::java::lang::Class class$; +}; + +#endif // __javax_activity_ActivityRequiredException__ diff --git a/libjava/javax/activity/InvalidActivityException.h b/libjava/javax/activity/InvalidActivityException.h new file mode 100644 index 0000000..930192b --- /dev/null +++ b/libjava/javax/activity/InvalidActivityException.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_activity_InvalidActivityException__ +#define __javax_activity_InvalidActivityException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace activity + { + class InvalidActivityException; + } + } +} + +class javax::activity::InvalidActivityException : public ::java::rmi::RemoteException +{ + +public: + InvalidActivityException(); + InvalidActivityException(::java::lang::String *); + InvalidActivityException(::java::lang::Throwable *); + InvalidActivityException(::java::lang::String *, ::java::lang::Throwable *); + static ::java::lang::Class class$; +}; + +#endif // __javax_activity_InvalidActivityException__ diff --git a/libjava/javax/imageio/stream/FileCacheImageOutputStream.h b/libjava/javax/imageio/stream/FileCacheImageOutputStream.h index 3065967..c473085 100644 --- a/libjava/javax/imageio/stream/FileCacheImageOutputStream.h +++ b/libjava/javax/imageio/stream/FileCacheImageOutputStream.h @@ -29,9 +29,6 @@ class javax::imageio::stream::FileCacheImageOutputStream : public ::javax::image public: FileCacheImageOutputStream(::java::io::OutputStream *, ::java::io::File *); virtual void close(); -private: - void checkStreamClosed(); -public: virtual jboolean isCached(); virtual jboolean isCachedFile(); virtual jboolean isCachedMemory(); @@ -39,9 +36,14 @@ public: virtual jint read(JArray< jbyte > *, jint, jint); virtual void write(JArray< jbyte > *, jint, jint); virtual void write(jint); + virtual jlong length(); + virtual void seek(jlong); + virtual void flushBefore(jlong); private: ::java::io::OutputStream * __attribute__((aligned(__alignof__( ::javax::imageio::stream::ImageOutputStreamImpl)))) stream; - ::java::io::File * cacheDir; + ::java::io::File * cacheFile; + ::java::io::RandomAccessFile * cache; + jlong maxPos; public: static ::java::lang::Class class$; }; diff --git a/libjava/javax/management/AttributeChangeNotification.h b/libjava/javax/management/AttributeChangeNotification.h new file mode 100644 index 0000000..ca37cd3 --- /dev/null +++ b/libjava/javax/management/AttributeChangeNotification.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_AttributeChangeNotification__ +#define __javax_management_AttributeChangeNotification__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class AttributeChangeNotification; + } + } +} + +class javax::management::AttributeChangeNotification : public ::javax::management::Notification +{ + +public: + AttributeChangeNotification(::java::lang::Object *, jlong, jlong, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::Object *, ::java::lang::Object *); + virtual ::java::lang::String * getAttributeName(); + virtual ::java::lang::String * getAttributeType(); + virtual ::java::lang::Object * getOldValue(); + virtual ::java::lang::Object * getNewValue(); +private: + static const jlong serialVersionUID = 535176054565814134LL; +public: + static ::java::lang::String * ATTRIBUTE_CHANGE; +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::javax::management::Notification)))) attributeName; + ::java::lang::String * attributeType; + ::java::lang::Object * oldValue; + ::java::lang::Object * newValue; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_AttributeChangeNotification__ diff --git a/libjava/javax/management/AttributeChangeNotificationFilter.h b/libjava/javax/management/AttributeChangeNotificationFilter.h new file mode 100644 index 0000000..31c14e2 --- /dev/null +++ b/libjava/javax/management/AttributeChangeNotificationFilter.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_AttributeChangeNotificationFilter__ +#define __javax_management_AttributeChangeNotificationFilter__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class AttributeChangeNotificationFilter; + class Notification; + } + } +} + +class javax::management::AttributeChangeNotificationFilter : public ::java::lang::Object +{ + +public: + AttributeChangeNotificationFilter(); + virtual void disableAllAttributes(); + virtual void disableAttribute(::java::lang::String *); + virtual void enableAttribute(::java::lang::String *); + virtual ::java::util::Vector * getEnabledAttributes(); + virtual jboolean isNotificationEnabled(::javax::management::Notification *); +private: + static const jlong serialVersionUID = -6347317584796410029LL; + ::java::util::Vector * __attribute__((aligned(__alignof__( ::java::lang::Object)))) enabledAttributes; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_AttributeChangeNotificationFilter__ diff --git a/libjava/javax/management/AttributeValueExp.h b/libjava/javax/management/AttributeValueExp.h new file mode 100644 index 0000000..02ad058 --- /dev/null +++ b/libjava/javax/management/AttributeValueExp.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_AttributeValueExp__ +#define __javax_management_AttributeValueExp__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class AttributeValueExp; + class MBeanServer; + class ObjectName; + class ValueExp; + } + } +} + +class javax::management::AttributeValueExp : public ::java::lang::Object +{ + +public: + AttributeValueExp(); + AttributeValueExp(::java::lang::String *); + virtual ::javax::management::ValueExp * apply(::javax::management::ObjectName *); +public: // actually protected + virtual ::java::lang::Object * getAttribute(::javax::management::ObjectName *); +public: + virtual ::java::lang::String * getAttributeName(); + virtual void setMBeanServer(::javax::management::MBeanServer *); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = -7768025046539163385LL; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) attr; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_AttributeValueExp__ diff --git a/libjava/javax/management/DefaultLoaderRepository.h b/libjava/javax/management/DefaultLoaderRepository.h new file mode 100644 index 0000000..bdfc3fb --- /dev/null +++ b/libjava/javax/management/DefaultLoaderRepository.h @@ -0,0 +1,31 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_DefaultLoaderRepository__ +#define __javax_management_DefaultLoaderRepository__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class DefaultLoaderRepository; + } + } +} + +class javax::management::DefaultLoaderRepository : public ::java::lang::Object +{ + +public: + DefaultLoaderRepository(); + static ::java::lang::Class * loadClass(::java::lang::String *); + static ::java::lang::Class * loadClassWithout(::java::lang::ClassLoader *, ::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __javax_management_DefaultLoaderRepository__ diff --git a/libjava/javax/management/Descriptor.h b/libjava/javax/management/Descriptor.h new file mode 100644 index 0000000..d838630 --- /dev/null +++ b/libjava/javax/management/Descriptor.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_Descriptor__ +#define __javax_management_Descriptor__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace management + { + class Descriptor; + } + } +} + +class javax::management::Descriptor : public ::java::lang::Object +{ + +public: + virtual ::java::lang::Object * clone() = 0; + virtual jboolean equals(::java::lang::Object *) = 0; + virtual JArray< ::java::lang::String * > * getFieldNames() = 0; + virtual JArray< ::java::lang::String * > * getFields() = 0; + virtual ::java::lang::Object * getFieldValue(::java::lang::String *) = 0; + virtual JArray< ::java::lang::Object * > * getFieldValues(JArray< ::java::lang::String * > *) = 0; + virtual jint hashCode() = 0; + virtual jboolean isValid() = 0; + virtual void removeField(::java::lang::String *) = 0; + virtual void setField(::java::lang::String *, ::java::lang::Object *) = 0; + virtual void setFields(JArray< ::java::lang::String * > *, JArray< ::java::lang::Object * > *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_management_Descriptor__ diff --git a/libjava/javax/management/DescriptorAccess.h b/libjava/javax/management/DescriptorAccess.h new file mode 100644 index 0000000..9baf7a0 --- /dev/null +++ b/libjava/javax/management/DescriptorAccess.h @@ -0,0 +1,31 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_DescriptorAccess__ +#define __javax_management_DescriptorAccess__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class Descriptor; + class DescriptorAccess; + } + } +} + +class javax::management::DescriptorAccess : public ::java::lang::Object +{ + +public: + virtual void setDescriptor(::javax::management::Descriptor *) = 0; + virtual ::javax::management::Descriptor * getDescriptor() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_management_DescriptorAccess__ diff --git a/libjava/javax/management/DescriptorRead.h b/libjava/javax/management/DescriptorRead.h new file mode 100644 index 0000000..7552b84 --- /dev/null +++ b/libjava/javax/management/DescriptorRead.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_DescriptorRead__ +#define __javax_management_DescriptorRead__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class Descriptor; + class DescriptorRead; + } + } +} + +class javax::management::DescriptorRead : public ::java::lang::Object +{ + +public: + virtual ::javax::management::Descriptor * getDescriptor() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_management_DescriptorRead__ diff --git a/libjava/javax/management/JMX.h b/libjava/javax/management/JMX.h new file mode 100644 index 0000000..605aaae --- /dev/null +++ b/libjava/javax/management/JMX.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_JMX__ +#define __javax_management_JMX__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class JMX; + class MBeanServerConnection; + class ObjectName; + } + } +} + +class javax::management::JMX : public ::java::lang::Object +{ + + JMX(); +public: + static jboolean isMXBeanInterface(::java::lang::Class *); + static ::java::lang::Object * newMBeanProxy(::javax::management::MBeanServerConnection *, ::javax::management::ObjectName *, ::java::lang::Class *); + static ::java::lang::Object * newMBeanProxy(::javax::management::MBeanServerConnection *, ::javax::management::ObjectName *, ::java::lang::Class *, jboolean); + static ::java::lang::Object * newMXBeanProxy(::javax::management::MBeanServerConnection *, ::javax::management::ObjectName *, ::java::lang::Class *); + static ::java::lang::Object * newMXBeanProxy(::javax::management::MBeanServerConnection *, ::javax::management::ObjectName *, ::java::lang::Class *, jboolean); + static ::java::lang::String * DEFAULT_VALUE_FIELD; + static ::java::lang::String * IMMUTABLE_INFO_FIELD; + static ::java::lang::String * INTERFACE_CLASS_NAME_FIELD; + static ::java::lang::String * LEGAL_VALUES_FIELD; + static ::java::lang::String * MAX_VALUE_FIELD; + static ::java::lang::String * MIN_VALUE_FIELD; + static ::java::lang::String * MXBEAN_FIELD; + static ::java::lang::String * OPEN_TYPE_FIELD; + static ::java::lang::String * ORIGINAL_TYPE_FIELD; + static ::java::lang::Class class$; +}; + +#endif // __javax_management_JMX__ diff --git a/libjava/javax/management/MBeanAttributeInfo.h b/libjava/javax/management/MBeanAttributeInfo.h index ab088c6..0a9bb73 100644 --- a/libjava/javax/management/MBeanAttributeInfo.h +++ b/libjava/javax/management/MBeanAttributeInfo.h @@ -33,6 +33,7 @@ public: virtual jboolean isWritable(); virtual ::java::lang::String * toString(); private: + static const jlong serialVersionUID = 8644704819898565848LL; ::java::lang::String * __attribute__((aligned(__alignof__( ::javax::management::MBeanFeatureInfo)))) attributeType; jboolean isWrite; jboolean isRead; diff --git a/libjava/javax/management/MBeanFeatureInfo.h b/libjava/javax/management/MBeanFeatureInfo.h index 6000642..7675ec6 100644 --- a/libjava/javax/management/MBeanFeatureInfo.h +++ b/libjava/javax/management/MBeanFeatureInfo.h @@ -29,6 +29,7 @@ public: virtual jint hashCode(); virtual ::java::lang::String * toString(); private: + void writeObject(::java::io::ObjectOutputStream *); static const jlong serialVersionUID = 3952882688968447265LL; public: // actually protected ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) description; diff --git a/libjava/javax/management/MBeanServerInvocationHandler.h b/libjava/javax/management/MBeanServerInvocationHandler.h new file mode 100644 index 0000000..d2ac831 --- /dev/null +++ b/libjava/javax/management/MBeanServerInvocationHandler.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_MBeanServerInvocationHandler__ +#define __javax_management_MBeanServerInvocationHandler__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace management + { + class MBeanServerConnection; + class MBeanServerInvocationHandler; + class ObjectName; + } + } +} + +class javax::management::MBeanServerInvocationHandler : public ::java::lang::Object +{ + +public: + MBeanServerInvocationHandler(::javax::management::MBeanServerConnection *, ::javax::management::ObjectName *); + MBeanServerInvocationHandler(::javax::management::MBeanServerConnection *, ::javax::management::ObjectName *, jboolean); + virtual ::javax::management::MBeanServerConnection * getMBeanServerConnection(); + virtual ::javax::management::ObjectName * getObjectName(); + virtual ::java::lang::Object * invoke(::java::lang::Object *, ::java::lang::reflect::Method *, JArray< ::java::lang::Object * > *); + virtual jboolean isMXBean(); + static ::java::lang::Object * newProxyInstance(::javax::management::MBeanServerConnection *, ::javax::management::ObjectName *, ::java::lang::Class *, jboolean); +private: + jboolean inInterface(::java::lang::String *, ::java::lang::Class *, JArray< ::java::lang::Class * > *); + ::javax::management::MBeanServerConnection * __attribute__((aligned(__alignof__( ::java::lang::Object)))) conn; + ::javax::management::ObjectName * name; + jboolean mxBean; + ::java::lang::Class * iface; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_MBeanServerInvocationHandler__ diff --git a/libjava/javax/management/MXBean.h b/libjava/javax/management/MXBean.h new file mode 100644 index 0000000..58e72395 --- /dev/null +++ b/libjava/javax/management/MXBean.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_MXBean__ +#define __javax_management_MXBean__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class MXBean; + } + } +} + +class javax::management::MXBean : public ::java::lang::Object +{ + +public: + virtual jboolean value() = 0; + virtual ::java::lang::Class * annotationType() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_management_MXBean__ diff --git a/libjava/javax/management/Notification.h b/libjava/javax/management/Notification.h index f53a4d5..c0d096d 100644 --- a/libjava/javax/management/Notification.h +++ b/libjava/javax/management/Notification.h @@ -37,6 +37,8 @@ public: virtual void setUserData(::java::lang::Object *); virtual ::java::lang::String * toString(); private: + void writeObject(::java::io::ObjectOutputStream *); + static const jlong serialVersionUID = -7516092053498031989LL; ::java::lang::String * __attribute__((aligned(__alignof__( ::java::util::EventObject)))) message; jlong sequenceNumber; public: // actually protected diff --git a/libjava/javax/management/NotificationBroadcasterSupport$DispatchTask.h b/libjava/javax/management/NotificationBroadcasterSupport$DispatchTask.h new file mode 100644 index 0000000..af6dbac --- /dev/null +++ b/libjava/javax/management/NotificationBroadcasterSupport$DispatchTask.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_NotificationBroadcasterSupport$DispatchTask__ +#define __javax_management_NotificationBroadcasterSupport$DispatchTask__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace management + { + class ListenerData; + } + } + } + namespace javax + { + namespace management + { + class Notification; + class NotificationBroadcasterSupport; + class NotificationBroadcasterSupport$DispatchTask; + } + } +} + +class javax::management::NotificationBroadcasterSupport$DispatchTask : public ::java::lang::Object +{ + +public: + NotificationBroadcasterSupport$DispatchTask(::javax::management::NotificationBroadcasterSupport *, ::gnu::javax::management::ListenerData *, ::javax::management::Notification *); + void run(); +private: + ::gnu::javax::management::ListenerData * __attribute__((aligned(__alignof__( ::java::lang::Object)))) ldata; + ::javax::management::Notification * notif; +public: // actually package-private + ::javax::management::NotificationBroadcasterSupport * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_NotificationBroadcasterSupport$DispatchTask__ diff --git a/libjava/javax/management/NotificationBroadcasterSupport.h b/libjava/javax/management/NotificationBroadcasterSupport.h new file mode 100644 index 0000000..cea1aa3 --- /dev/null +++ b/libjava/javax/management/NotificationBroadcasterSupport.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_NotificationBroadcasterSupport__ +#define __javax_management_NotificationBroadcasterSupport__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace management + { + class MBeanNotificationInfo; + class Notification; + class NotificationBroadcasterSupport; + class NotificationFilter; + class NotificationListener; + } + } +} + +class javax::management::NotificationBroadcasterSupport : public ::java::lang::Object +{ + +public: + NotificationBroadcasterSupport(); + NotificationBroadcasterSupport(::java::util::concurrent::Executor *); + NotificationBroadcasterSupport(JArray< ::javax::management::MBeanNotificationInfo * > *); + NotificationBroadcasterSupport(::java::util::concurrent::Executor *, JArray< ::javax::management::MBeanNotificationInfo * > *); + virtual void addNotificationListener(::javax::management::NotificationListener *, ::javax::management::NotificationFilter *, ::java::lang::Object *); + virtual JArray< ::javax::management::MBeanNotificationInfo * > * getNotificationInfo(); +public: // actually protected + virtual void handleNotification(::javax::management::NotificationListener *, ::javax::management::Notification *, ::java::lang::Object *); +public: + virtual void removeNotificationListener(::javax::management::NotificationListener *); + virtual void removeNotificationListener(::javax::management::NotificationListener *, ::javax::management::NotificationFilter *, ::java::lang::Object *); + virtual void sendNotification(::javax::management::Notification *); +private: + ::java::util::concurrent::Executor * __attribute__((aligned(__alignof__( ::java::lang::Object)))) executor; + JArray< ::javax::management::MBeanNotificationInfo * > * info; + ::java::util::List * listeners; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_NotificationBroadcasterSupport__ diff --git a/libjava/javax/management/NotificationFilterSupport.h b/libjava/javax/management/NotificationFilterSupport.h new file mode 100644 index 0000000..f1ae48a --- /dev/null +++ b/libjava/javax/management/NotificationFilterSupport.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_NotificationFilterSupport__ +#define __javax_management_NotificationFilterSupport__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class Notification; + class NotificationFilterSupport; + } + } +} + +class javax::management::NotificationFilterSupport : public ::java::lang::Object +{ + +public: + NotificationFilterSupport(); + virtual void disableAllTypes(); + virtual void disableType(::java::lang::String *); + virtual void enableType(::java::lang::String *); + virtual ::java::util::Vector * getEnabledTypes(); + virtual jboolean isNotificationEnabled(::javax::management::Notification *); +private: + static const jlong serialVersionUID = 6579080007561786969LL; + ::java::util::Vector * __attribute__((aligned(__alignof__( ::java::lang::Object)))) enabledTypes; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_NotificationFilterSupport__ diff --git a/libjava/javax/management/PersistentMBean.h b/libjava/javax/management/PersistentMBean.h new file mode 100644 index 0000000..e11651b --- /dev/null +++ b/libjava/javax/management/PersistentMBean.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_PersistentMBean__ +#define __javax_management_PersistentMBean__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class PersistentMBean; + } + } +} + +class javax::management::PersistentMBean : public ::java::lang::Object +{ + +public: + virtual void load() = 0; + virtual void store() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_management_PersistentMBean__ diff --git a/libjava/javax/management/Query$AndQueryExp.h b/libjava/javax/management/Query$AndQueryExp.h new file mode 100644 index 0000000..425690e --- /dev/null +++ b/libjava/javax/management/Query$AndQueryExp.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_Query$AndQueryExp__ +#define __javax_management_Query$AndQueryExp__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class ObjectName; + class Query$AndQueryExp; + class QueryExp; + } + } +} + +class javax::management::Query$AndQueryExp : public ::javax::management::QueryEval +{ + +public: + Query$AndQueryExp(::javax::management::QueryExp *, ::javax::management::QueryExp *); + jboolean apply(::javax::management::ObjectName *); +private: + static const jlong serialVersionUID = -1081892073854801359LL; + ::javax::management::QueryExp * __attribute__((aligned(__alignof__( ::javax::management::QueryEval)))) exp1; + ::javax::management::QueryExp * exp2; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_Query$AndQueryExp__ diff --git a/libjava/javax/management/Query$BetweenQueryExp.h b/libjava/javax/management/Query$BetweenQueryExp.h new file mode 100644 index 0000000..143a3b4 --- /dev/null +++ b/libjava/javax/management/Query$BetweenQueryExp.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_Query$BetweenQueryExp__ +#define __javax_management_Query$BetweenQueryExp__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class ObjectName; + class Query$BetweenQueryExp; + class ValueExp; + } + } +} + +class javax::management::Query$BetweenQueryExp : public ::javax::management::QueryEval +{ + +public: + Query$BetweenQueryExp(::javax::management::ValueExp *, ::javax::management::ValueExp *, ::javax::management::ValueExp *); + jboolean apply(::javax::management::ObjectName *); +private: + static const jlong serialVersionUID = -2933597532866307444LL; + ::javax::management::ValueExp * __attribute__((aligned(__alignof__( ::javax::management::QueryEval)))) exp1; + ::javax::management::ValueExp * exp2; + ::javax::management::ValueExp * exp3; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_Query$BetweenQueryExp__ diff --git a/libjava/javax/management/Query$BinaryOpValueExp.h b/libjava/javax/management/Query$BinaryOpValueExp.h new file mode 100644 index 0000000..7462caf --- /dev/null +++ b/libjava/javax/management/Query$BinaryOpValueExp.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_Query$BinaryOpValueExp__ +#define __javax_management_Query$BinaryOpValueExp__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class ObjectName; + class Query$BinaryOpValueExp; + class ValueExp; + } + } +} + +class javax::management::Query$BinaryOpValueExp : public ::javax::management::QueryEval +{ + +public: + Query$BinaryOpValueExp(jint, ::javax::management::ValueExp *, ::javax::management::ValueExp *); + ::javax::management::ValueExp * apply(::javax::management::ObjectName *); + ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = 1216286847881456786LL; + jint __attribute__((aligned(__alignof__( ::javax::management::QueryEval)))) op; + ::javax::management::ValueExp * exp1; + ::javax::management::ValueExp * exp2; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_Query$BinaryOpValueExp__ diff --git a/libjava/javax/management/Query$BinaryRelQueryExp.h b/libjava/javax/management/Query$BinaryRelQueryExp.h new file mode 100644 index 0000000..4d59923 --- /dev/null +++ b/libjava/javax/management/Query$BinaryRelQueryExp.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_Query$BinaryRelQueryExp__ +#define __javax_management_Query$BinaryRelQueryExp__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class ObjectName; + class Query$BinaryRelQueryExp; + class ValueExp; + } + } +} + +class javax::management::Query$BinaryRelQueryExp : public ::javax::management::QueryEval +{ + +public: + Query$BinaryRelQueryExp(jint, ::javax::management::ValueExp *, ::javax::management::ValueExp *); + jboolean apply(::javax::management::ObjectName *); + ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = -5690656271650491000LL; + jint __attribute__((aligned(__alignof__( ::javax::management::QueryEval)))) relOp; + ::javax::management::ValueExp * exp1; + ::javax::management::ValueExp * exp2; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_Query$BinaryRelQueryExp__ diff --git a/libjava/javax/management/Query$BooleanValueExp.h b/libjava/javax/management/Query$BooleanValueExp.h new file mode 100644 index 0000000..d8e175f --- /dev/null +++ b/libjava/javax/management/Query$BooleanValueExp.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_Query$BooleanValueExp__ +#define __javax_management_Query$BooleanValueExp__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class ObjectName; + class Query$BooleanValueExp; + class ValueExp; + } + } +} + +class javax::management::Query$BooleanValueExp : public ::javax::management::QueryEval +{ + +public: + Query$BooleanValueExp(jboolean); + ::javax::management::ValueExp * apply(::javax::management::ObjectName *); + ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = 7754922052666594581LL; + jboolean __attribute__((aligned(__alignof__( ::javax::management::QueryEval)))) val; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_Query$BooleanValueExp__ diff --git a/libjava/javax/management/Query$ClassAttributeValueExp.h b/libjava/javax/management/Query$ClassAttributeValueExp.h new file mode 100644 index 0000000..d967ccf --- /dev/null +++ b/libjava/javax/management/Query$ClassAttributeValueExp.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_Query$ClassAttributeValueExp__ +#define __javax_management_Query$ClassAttributeValueExp__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class ObjectName; + class Query$ClassAttributeValueExp; + class ValueExp; + } + } +} + +class javax::management::Query$ClassAttributeValueExp : public ::javax::management::AttributeValueExp +{ + + Query$ClassAttributeValueExp(); +public: + ::javax::management::ValueExp * apply(::javax::management::ObjectName *); +public: // actually package-private + Query$ClassAttributeValueExp(::javax::management::Query$ClassAttributeValueExp *); +private: + static const jlong serialVersionUID = -1081892073854801359LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_Query$ClassAttributeValueExp__ diff --git a/libjava/javax/management/Query$InQueryExp.h b/libjava/javax/management/Query$InQueryExp.h new file mode 100644 index 0000000..5bdb3b8 --- /dev/null +++ b/libjava/javax/management/Query$InQueryExp.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_Query$InQueryExp__ +#define __javax_management_Query$InQueryExp__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace management + { + class ObjectName; + class Query$InQueryExp; + class ValueExp; + } + } +} + +class javax::management::Query$InQueryExp : public ::javax::management::QueryEval +{ + +public: + Query$InQueryExp(::javax::management::ValueExp *, JArray< ::javax::management::ValueExp * > *); + jboolean apply(::javax::management::ObjectName *); +private: + static const jlong serialVersionUID = -5801329450358952434LL; + ::javax::management::ValueExp * __attribute__((aligned(__alignof__( ::javax::management::QueryEval)))) val; + JArray< ::javax::management::ValueExp * > * valueList; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_Query$InQueryExp__ diff --git a/libjava/javax/management/Query$InstanceOfQueryExp.h b/libjava/javax/management/Query$InstanceOfQueryExp.h new file mode 100644 index 0000000..3d2828c --- /dev/null +++ b/libjava/javax/management/Query$InstanceOfQueryExp.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_Query$InstanceOfQueryExp__ +#define __javax_management_Query$InstanceOfQueryExp__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class ObjectName; + class Query$InstanceOfQueryExp; + class StringValueExp; + } + } +} + +class javax::management::Query$InstanceOfQueryExp : public ::javax::management::QueryEval +{ + +public: + Query$InstanceOfQueryExp(::javax::management::StringValueExp *); + jboolean apply(::javax::management::ObjectName *); +private: + static const jlong serialVersionUID = -1081892073854801359LL; + ::javax::management::StringValueExp * __attribute__((aligned(__alignof__( ::javax::management::QueryEval)))) classNameValue; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_Query$InstanceOfQueryExp__ diff --git a/libjava/javax/management/Query$MatchQueryExp.h b/libjava/javax/management/Query$MatchQueryExp.h new file mode 100644 index 0000000..77da4ea --- /dev/null +++ b/libjava/javax/management/Query$MatchQueryExp.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_Query$MatchQueryExp__ +#define __javax_management_Query$MatchQueryExp__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class AttributeValueExp; + class ObjectName; + class Query$MatchQueryExp; + } + } +} + +class javax::management::Query$MatchQueryExp : public ::javax::management::QueryEval +{ + +public: + Query$MatchQueryExp(::javax::management::AttributeValueExp *, ::java::lang::String *); + jboolean apply(::javax::management::ObjectName *); +private: + static const jlong serialVersionUID = -7156603696948215014LL; + ::javax::management::AttributeValueExp * __attribute__((aligned(__alignof__( ::javax::management::QueryEval)))) exp; + ::java::lang::String * pattern; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_Query$MatchQueryExp__ diff --git a/libjava/javax/management/Query$NotQueryExp.h b/libjava/javax/management/Query$NotQueryExp.h new file mode 100644 index 0000000..b5d5a16 --- /dev/null +++ b/libjava/javax/management/Query$NotQueryExp.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_Query$NotQueryExp__ +#define __javax_management_Query$NotQueryExp__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class ObjectName; + class Query$NotQueryExp; + class QueryExp; + } + } +} + +class javax::management::Query$NotQueryExp : public ::javax::management::QueryEval +{ + +public: + Query$NotQueryExp(::javax::management::QueryExp *); + jboolean apply(::javax::management::ObjectName *); +private: + static const jlong serialVersionUID = 5269643775896723397LL; + ::javax::management::QueryExp * __attribute__((aligned(__alignof__( ::javax::management::QueryEval)))) exp; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_Query$NotQueryExp__ diff --git a/libjava/javax/management/Query$NumericValueExp.h b/libjava/javax/management/Query$NumericValueExp.h new file mode 100644 index 0000000..8e54567 --- /dev/null +++ b/libjava/javax/management/Query$NumericValueExp.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_Query$NumericValueExp__ +#define __javax_management_Query$NumericValueExp__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class ObjectName; + class Query$NumericValueExp; + class ValueExp; + } + } +} + +class javax::management::Query$NumericValueExp : public ::javax::management::QueryEval +{ + +public: + Query$NumericValueExp(::java::lang::Number *); + ::javax::management::ValueExp * apply(::javax::management::ObjectName *); + ::java::lang::Number * getValue(); + ::java::lang::String * toString(); + ::javax::management::Query$NumericValueExp * plus(::javax::management::Query$NumericValueExp *); + ::javax::management::Query$NumericValueExp * minus(::javax::management::Query$NumericValueExp *); + ::javax::management::Query$NumericValueExp * times(::javax::management::Query$NumericValueExp *); + ::javax::management::Query$NumericValueExp * div(::javax::management::Query$NumericValueExp *); +private: + static const jlong serialVersionUID = -4679739485102359104LL; + ::java::lang::Number * __attribute__((aligned(__alignof__( ::javax::management::QueryEval)))) val; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_Query$NumericValueExp__ diff --git a/libjava/javax/management/Query$OrQueryExp.h b/libjava/javax/management/Query$OrQueryExp.h new file mode 100644 index 0000000..cde1c65 --- /dev/null +++ b/libjava/javax/management/Query$OrQueryExp.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_Query$OrQueryExp__ +#define __javax_management_Query$OrQueryExp__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class ObjectName; + class Query$OrQueryExp; + class QueryExp; + } + } +} + +class javax::management::Query$OrQueryExp : public ::javax::management::QueryEval +{ + +public: + Query$OrQueryExp(::javax::management::QueryExp *, ::javax::management::QueryExp *); + jboolean apply(::javax::management::ObjectName *); +private: + static const jlong serialVersionUID = 2962973084421716523LL; + ::javax::management::QueryExp * __attribute__((aligned(__alignof__( ::javax::management::QueryEval)))) exp1; + ::javax::management::QueryExp * exp2; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_Query$OrQueryExp__ diff --git a/libjava/javax/management/Query$QualifiedAttributeValueExp.h b/libjava/javax/management/Query$QualifiedAttributeValueExp.h new file mode 100644 index 0000000..01045b6 --- /dev/null +++ b/libjava/javax/management/Query$QualifiedAttributeValueExp.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_Query$QualifiedAttributeValueExp__ +#define __javax_management_Query$QualifiedAttributeValueExp__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class ObjectName; + class Query$QualifiedAttributeValueExp; + class ValueExp; + } + } +} + +class javax::management::Query$QualifiedAttributeValueExp : public ::javax::management::AttributeValueExp +{ + +public: + Query$QualifiedAttributeValueExp(::java::lang::String *, ::java::lang::String *); + ::javax::management::ValueExp * apply(::javax::management::ObjectName *); +private: + static const jlong serialVersionUID = 8832517277410933254LL; + ::java::lang::String * __attribute__((aligned(__alignof__( ::javax::management::AttributeValueExp)))) className; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_Query$QualifiedAttributeValueExp__ diff --git a/libjava/javax/management/Query.h b/libjava/javax/management/Query.h new file mode 100644 index 0000000..34e28e7 --- /dev/null +++ b/libjava/javax/management/Query.h @@ -0,0 +1,73 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_Query__ +#define __javax_management_Query__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace management + { + class AttributeValueExp; + class Query; + class QueryExp; + class StringValueExp; + class ValueExp; + } + } +} + +class javax::management::Query : public ::java::lang::Object +{ + +public: + Query(); + static ::javax::management::QueryExp * and$(::javax::management::QueryExp *, ::javax::management::QueryExp *); + static ::javax::management::QueryExp * anySubString(::javax::management::AttributeValueExp *, ::javax::management::StringValueExp *); + static ::javax::management::AttributeValueExp * attr(::java::lang::String *); + static ::javax::management::AttributeValueExp * attr(::java::lang::String *, ::java::lang::String *); + static ::javax::management::QueryExp * between(::javax::management::ValueExp *, ::javax::management::ValueExp *, ::javax::management::ValueExp *); + static ::javax::management::AttributeValueExp * classattr(); + static ::javax::management::ValueExp * div(::javax::management::ValueExp *, ::javax::management::ValueExp *); + static ::javax::management::QueryExp * eq(::javax::management::ValueExp *, ::javax::management::ValueExp *); + static ::javax::management::QueryExp * finalSubString(::javax::management::AttributeValueExp *, ::javax::management::StringValueExp *); + static ::javax::management::QueryExp * geq(::javax::management::ValueExp *, ::javax::management::ValueExp *); + static ::javax::management::QueryExp * gt(::javax::management::ValueExp *, ::javax::management::ValueExp *); + static ::javax::management::QueryExp * in(::javax::management::ValueExp *, JArray< ::javax::management::ValueExp * > *); + static ::javax::management::QueryExp * initialSubString(::javax::management::AttributeValueExp *, ::javax::management::StringValueExp *); + static ::javax::management::QueryExp * isInstanceOf(::javax::management::StringValueExp *); + static ::javax::management::QueryExp * leq(::javax::management::ValueExp *, ::javax::management::ValueExp *); + static ::javax::management::QueryExp * lt(::javax::management::ValueExp *, ::javax::management::ValueExp *); + static ::javax::management::QueryExp * match(::javax::management::AttributeValueExp *, ::javax::management::StringValueExp *); + static ::javax::management::ValueExp * minus(::javax::management::ValueExp *, ::javax::management::ValueExp *); + static ::javax::management::QueryExp * not$(::javax::management::QueryExp *); + static ::javax::management::QueryExp * or$(::javax::management::QueryExp *, ::javax::management::QueryExp *); + static ::javax::management::ValueExp * plus(::javax::management::ValueExp *, ::javax::management::ValueExp *); + static ::javax::management::ValueExp * times(::javax::management::ValueExp *, ::javax::management::ValueExp *); + static ::javax::management::ValueExp * value(jboolean); + static ::javax::management::ValueExp * value(jdouble); + static ::javax::management::ValueExp * value(jfloat); + static ::javax::management::ValueExp * value(jint); + static ::javax::management::ValueExp * value(jlong); + static ::javax::management::ValueExp * value(::java::lang::Number *); + static ::javax::management::StringValueExp * value(::java::lang::String *); + static const jint PLUS = 0; + static const jint MINUS = 1; + static const jint TIMES = 2; + static const jint DIV = 3; + static const jint GT = 0; + static const jint LT = 1; + static const jint GE = 2; + static const jint LE = 3; + static const jint EQ = 4; + static ::java::lang::Class class$; +}; + +#endif // __javax_management_Query__ diff --git a/libjava/javax/management/QueryEval.h b/libjava/javax/management/QueryEval.h new file mode 100644 index 0000000..adba7bb --- /dev/null +++ b/libjava/javax/management/QueryEval.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_QueryEval__ +#define __javax_management_QueryEval__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class MBeanServer; + class QueryEval; + } + } +} + +class javax::management::QueryEval : public ::java::lang::Object +{ + +public: + QueryEval(); + static ::javax::management::MBeanServer * getMBeanServer(); + virtual void setMBeanServer(::javax::management::MBeanServer *); +private: + static const jlong serialVersionUID = 2675899265640874796LL; + static ::java::lang::InheritableThreadLocal * server; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_QueryEval__ diff --git a/libjava/javax/management/StandardMBean.h b/libjava/javax/management/StandardMBean.h index d4dabb1..805046a 100644 --- a/libjava/javax/management/StandardMBean.h +++ b/libjava/javax/management/StandardMBean.h @@ -66,6 +66,7 @@ public: virtual ::javax::management::AttributeList * setAttributes(::javax::management::AttributeList *); virtual void setImplementation(::java::lang::Object *); private: + ::java::lang::reflect::Method * getMutator(::java::lang::String *, ::java::lang::Class *); ::java::lang::Class * __attribute__((aligned(__alignof__( ::java::lang::Object)))) iface; ::java::lang::Object * impl; ::javax::management::MBeanInfo * info; diff --git a/libjava/javax/management/StringValueExp.h b/libjava/javax/management/StringValueExp.h new file mode 100644 index 0000000..b8cded4 --- /dev/null +++ b/libjava/javax/management/StringValueExp.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_StringValueExp__ +#define __javax_management_StringValueExp__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class MBeanServer; + class ObjectName; + class StringValueExp; + class ValueExp; + } + } +} + +class javax::management::StringValueExp : public ::java::lang::Object +{ + +public: + StringValueExp(); + StringValueExp(::java::lang::String *); + virtual ::javax::management::ValueExp * apply(::javax::management::ObjectName *); + virtual ::java::lang::String * getValue(); + virtual void setMBeanServer(::javax::management::MBeanServer *); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = -3256390509806284044LL; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) val; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_StringValueExp__ diff --git a/libjava/javax/management/openmbean/ArrayType.h b/libjava/javax/management/openmbean/ArrayType.h index ba8dece..e559cf2 100644 --- a/libjava/javax/management/openmbean/ArrayType.h +++ b/libjava/javax/management/openmbean/ArrayType.h @@ -17,6 +17,7 @@ extern "Java" { class ArrayType; class OpenType; + class SimpleType; } } } @@ -25,21 +26,33 @@ extern "Java" class javax::management::openmbean::ArrayType : public ::javax::management::openmbean::OpenType { - static ::java::lang::String * getArrayClassName(::java::lang::String *, jint); + static ::java::lang::String * getArrayClassName(::javax::management::openmbean::OpenType *, jint, jboolean); + static jint getDimensions(::javax::management::openmbean::OpenType *, jint); + static ::javax::management::openmbean::SimpleType * getPrimitiveType(::java::lang::Class *); + static ::java::lang::Class * getPrimitiveTypeClass(::javax::management::openmbean::SimpleType *); + static ::javax::management::openmbean::OpenType * getElementType(::javax::management::openmbean::OpenType *); + static ::java::lang::String * getElementTypeName(::javax::management::openmbean::OpenType *); public: ArrayType(jint, ::javax::management::openmbean::OpenType *); + ArrayType(::javax::management::openmbean::SimpleType *, jboolean); virtual jboolean equals(::java::lang::Object *); + static ::javax::management::openmbean::ArrayType * getArrayType(::javax::management::openmbean::OpenType *); + static ::javax::management::openmbean::ArrayType * getPrimitiveArrayType(::java::lang::Class *); virtual jint getDimension(); virtual ::javax::management::openmbean::OpenType * getElementOpenType(); virtual jint hashCode(); + virtual jboolean isPrimitiveArray(); virtual jboolean isValue(::java::lang::Object *); virtual ::java::lang::String * toString(); private: static const jlong serialVersionUID = 720504429830309770LL; jint __attribute__((aligned(__alignof__( ::javax::management::openmbean::OpenType)))) dimension; ::javax::management::openmbean::OpenType * elementType; + jboolean primitiveArray; ::java::lang::Integer * hashCode__; ::java::lang::String * string; + static ::java::util::Map * cache; + static ::java::util::Map * primCache; public: static ::java::lang::Class class$; }; diff --git a/libjava/javax/management/openmbean/CompositeDataInvocationHandler.h b/libjava/javax/management/openmbean/CompositeDataInvocationHandler.h new file mode 100644 index 0000000..e10d364 --- /dev/null +++ b/libjava/javax/management/openmbean/CompositeDataInvocationHandler.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_openmbean_CompositeDataInvocationHandler__ +#define __javax_management_openmbean_CompositeDataInvocationHandler__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace management + { + namespace openmbean + { + class CompositeData; + class CompositeDataInvocationHandler; + } + } + } +} + +class javax::management::openmbean::CompositeDataInvocationHandler : public ::java::lang::Object +{ + +public: + CompositeDataInvocationHandler(::javax::management::openmbean::CompositeData *); + virtual ::javax::management::openmbean::CompositeData * getCompositeData(); + virtual ::java::lang::Object * invoke(::java::lang::Object *, ::java::lang::reflect::Method *, JArray< ::java::lang::Object * > *); +private: + ::javax::management::openmbean::CompositeData * __attribute__((aligned(__alignof__( ::java::lang::Object)))) data; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_openmbean_CompositeDataInvocationHandler__ diff --git a/libjava/javax/management/openmbean/OpenType.h b/libjava/javax/management/openmbean/OpenType.h index 4150cf1..b442b64 100644 --- a/libjava/javax/management/openmbean/OpenType.h +++ b/libjava/javax/management/openmbean/OpenType.h @@ -44,6 +44,7 @@ private: ::java::lang::String * description; public: static JArray< ::java::lang::String * > * ALLOWED_CLASSNAMES; + static ::java::util::List * ALLOWED_CLASSNAMES_LIST; static ::java::lang::Class class$; }; diff --git a/libjava/javax/naming/directory/BasicAttributes$1.h b/libjava/javax/naming/directory/BasicAttributes$1.h new file mode 100644 index 0000000..d75a96e --- /dev/null +++ b/libjava/javax/naming/directory/BasicAttributes$1.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_directory_BasicAttributes$1__ +#define __javax_naming_directory_BasicAttributes$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + class NamingEnumeration; + namespace directory + { + class BasicAttributes; + class BasicAttributes$1; + } + } + } +} + +class javax::naming::directory::BasicAttributes$1 : public ::java::lang::Object +{ + +public: // actually package-private + BasicAttributes$1(::javax::naming::directory::BasicAttributes *, ::javax::naming::NamingEnumeration *); +public: + jboolean hasMore(); + jboolean hasMoreElements(); + ::java::lang::String * BasicAttributes$1$next(); + ::java::lang::String * BasicAttributes$1$nextElement(); + void close(); + ::java::lang::Object * next(); + ::java::lang::Object * nextElement(); +public: // actually package-private + ::javax::naming::directory::BasicAttributes * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +private: + ::javax::naming::NamingEnumeration * val$attrs; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_directory_BasicAttributes$1__ diff --git a/libjava/javax/naming/directory/BasicAttributes$BasicAttributesEnumeration.h b/libjava/javax/naming/directory/BasicAttributes$BasicAttributesEnumeration.h index 598b227..4b787eb 100644 --- a/libjava/javax/naming/directory/BasicAttributes$BasicAttributesEnumeration.h +++ b/libjava/javax/naming/directory/BasicAttributes$BasicAttributesEnumeration.h @@ -15,6 +15,7 @@ extern "Java" { namespace directory { + class Attribute; class BasicAttributes; class BasicAttributes$BasicAttributesEnumeration; } @@ -26,15 +27,16 @@ class javax::naming::directory::BasicAttributes$BasicAttributesEnumeration : pub { public: - BasicAttributes$BasicAttributesEnumeration(::javax::naming::directory::BasicAttributes *, jboolean); + BasicAttributes$BasicAttributesEnumeration(::javax::naming::directory::BasicAttributes *); virtual void close(); virtual jboolean hasMore(); - virtual ::java::lang::Object * next(); + virtual ::javax::naming::directory::Attribute * BasicAttributes$BasicAttributesEnumeration$next(); virtual jboolean hasMoreElements(); + virtual ::javax::naming::directory::Attribute * BasicAttributes$BasicAttributesEnumeration$nextElement(); + virtual ::java::lang::Object * next(); virtual ::java::lang::Object * nextElement(); public: // actually package-private jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) where; - jboolean id; ::javax::naming::directory::BasicAttributes * this$0; public: static ::java::lang::Class class$; diff --git a/libjava/javax/net/ssl/SSLServerSocketFactory$ErrorServerSocketFactory.h b/libjava/javax/net/ssl/SSLServerSocketFactory$ErrorServerSocketFactory.h new file mode 100644 index 0000000..a21a8dd --- /dev/null +++ b/libjava/javax/net/ssl/SSLServerSocketFactory$ErrorServerSocketFactory.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_net_ssl_SSLServerSocketFactory$ErrorServerSocketFactory__ +#define __javax_net_ssl_SSLServerSocketFactory$ErrorServerSocketFactory__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace net + { + class InetAddress; + class ServerSocket; + } + } + namespace javax + { + namespace net + { + namespace ssl + { + class SSLServerSocketFactory$ErrorServerSocketFactory; + } + } + } +} + +class javax::net::ssl::SSLServerSocketFactory$ErrorServerSocketFactory : public ::javax::net::ssl::SSLServerSocketFactory +{ + +public: // actually package-private + SSLServerSocketFactory$ErrorServerSocketFactory(::java::lang::RuntimeException *); +public: + ::java::net::ServerSocket * createServerSocket(); + ::java::net::ServerSocket * createServerSocket(jint); + ::java::net::ServerSocket * createServerSocket(jint, jint); + ::java::net::ServerSocket * createServerSocket(jint, jint, ::java::net::InetAddress *); + JArray< ::java::lang::String * > * getDefaultCipherSuites(); + JArray< ::java::lang::String * > * getSupportedCipherSuites(); +private: + ::java::lang::RuntimeException * __attribute__((aligned(__alignof__( ::javax::net::ssl::SSLServerSocketFactory)))) x; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_net_ssl_SSLServerSocketFactory$ErrorServerSocketFactory__ diff --git a/libjava/javax/net/ssl/SSLSocketFactory$ErrorSocketFactory.h b/libjava/javax/net/ssl/SSLSocketFactory$ErrorSocketFactory.h new file mode 100644 index 0000000..df6eab7 --- /dev/null +++ b/libjava/javax/net/ssl/SSLSocketFactory$ErrorSocketFactory.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_net_ssl_SSLSocketFactory$ErrorSocketFactory__ +#define __javax_net_ssl_SSLSocketFactory$ErrorSocketFactory__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace net + { + class InetAddress; + class Socket; + } + } + namespace javax + { + namespace net + { + namespace ssl + { + class SSLSocketFactory$ErrorSocketFactory; + } + } + } +} + +class javax::net::ssl::SSLSocketFactory$ErrorSocketFactory : public ::javax::net::ssl::SSLSocketFactory +{ + +public: // actually package-private + SSLSocketFactory$ErrorSocketFactory(::java::lang::RuntimeException *); +public: + ::java::net::Socket * createSocket(); + ::java::net::Socket * createSocket(::java::lang::String *, jint); + ::java::net::Socket * createSocket(::java::lang::String *, jint, ::java::net::InetAddress *, jint); + ::java::net::Socket * createSocket(::java::net::InetAddress *, jint); + ::java::net::Socket * createSocket(::java::net::InetAddress *, jint, ::java::net::InetAddress *, jint); + JArray< ::java::lang::String * > * getDefaultCipherSuites(); + JArray< ::java::lang::String * > * getSupportedCipherSuites(); + ::java::net::Socket * createSocket(::java::net::Socket *, ::java::lang::String *, jint, jboolean); +private: + ::java::lang::RuntimeException * __attribute__((aligned(__alignof__( ::javax::net::ssl::SSLSocketFactory)))) x; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_net_ssl_SSLSocketFactory$ErrorSocketFactory__ diff --git a/libjava/javax/sound/sampled/BooleanControl.h b/libjava/javax/sound/sampled/BooleanControl.h index efb3ab4..eca5d35 100644 --- a/libjava/javax/sound/sampled/BooleanControl.h +++ b/libjava/javax/sound/sampled/BooleanControl.h @@ -34,8 +34,7 @@ public: virtual void setValue(jboolean); virtual ::java::lang::String * toString(); private: - ::javax::sound::sampled::BooleanControl$Type * __attribute__((aligned(__alignof__( ::javax::sound::sampled::Control)))) type; - jboolean value; + jboolean __attribute__((aligned(__alignof__( ::javax::sound::sampled::Control)))) value; ::java::lang::String * trueLabel; ::java::lang::String * falseLabel; public: diff --git a/libjava/javax/swing/AbstractButton$2.h b/libjava/javax/swing/AbstractButton$2.h deleted file mode 100644 index 1bb6bc2..0000000 --- a/libjava/javax/swing/AbstractButton$2.h +++ /dev/null @@ -1,42 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __javax_swing_AbstractButton$2__ -#define __javax_swing_AbstractButton$2__ - -#pragma interface - -#include -extern "Java" -{ - namespace java - { - namespace beans - { - class PropertyChangeEvent; - } - } - namespace javax - { - namespace swing - { - class AbstractButton; - class AbstractButton$2; - } - } -} - -class javax::swing::AbstractButton$2 : public ::java::lang::Object -{ - -public: // actually package-private - AbstractButton$2(::javax::swing::AbstractButton *); -public: - void propertyChange(::java::beans::PropertyChangeEvent *); -public: // actually package-private - ::javax::swing::AbstractButton * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; -public: - static ::java::lang::Class class$; -}; - -#endif // __javax_swing_AbstractButton$2__ diff --git a/libjava/javax/swing/AbstractButton$3.h b/libjava/javax/swing/AbstractButton$3.h deleted file mode 100644 index 174029e..0000000 --- a/libjava/javax/swing/AbstractButton$3.h +++ /dev/null @@ -1,45 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __javax_swing_AbstractButton$3__ -#define __javax_swing_AbstractButton$3__ - -#pragma interface - -#include -extern "Java" -{ - namespace java - { - namespace awt - { - namespace event - { - class ItemEvent; - } - } - } - namespace javax - { - namespace swing - { - class AbstractButton; - class AbstractButton$3; - } - } -} - -class javax::swing::AbstractButton$3 : public ::java::lang::Object -{ - -public: // actually package-private - AbstractButton$3(::javax::swing::AbstractButton *); -public: - void itemStateChanged(::java::awt::event::ItemEvent *); -public: // actually package-private - ::javax::swing::AbstractButton * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; -public: - static ::java::lang::Class class$; -}; - -#endif // __javax_swing_AbstractButton$3__ diff --git a/libjava/javax/swing/JComponent.h b/libjava/javax/swing/JComponent.h index e87a6c2..a27b205 100644 --- a/libjava/javax/swing/JComponent.h +++ b/libjava/javax/swing/JComponent.h @@ -95,7 +95,6 @@ public: // actually protected public: virtual void firePropertyChange(::java::lang::String *, jint, jint); virtual void firePropertyChange(::java::lang::String *, jboolean, jboolean); - virtual void firePropertyChange(::java::lang::String *, jchar, jchar); virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); virtual jfloat getAlignmentX(); virtual jfloat getAlignmentY(); diff --git a/libjava/javax/swing/TransferHandler$SwingDragGestureRecognizer.h b/libjava/javax/swing/TransferHandler$SwingDragGestureRecognizer.h new file mode 100644 index 0000000..03c7f18 --- /dev/null +++ b/libjava/javax/swing/TransferHandler$SwingDragGestureRecognizer.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_TransferHandler$SwingDragGestureRecognizer__ +#define __javax_swing_TransferHandler$SwingDragGestureRecognizer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace dnd + { + class DragGestureListener; + } + namespace event + { + class MouseEvent; + } + } + } + namespace javax + { + namespace swing + { + class JComponent; + class TransferHandler$SwingDragGestureRecognizer; + } + } +} + +class javax::swing::TransferHandler$SwingDragGestureRecognizer : public ::java::awt::dnd::DragGestureRecognizer +{ + +public: // actually protected + TransferHandler$SwingDragGestureRecognizer(::java::awt::dnd::DragGestureListener *); +public: // actually package-private + virtual void gesture(::javax::swing::JComponent *, ::java::awt::event::MouseEvent *, jint, jint); +public: // actually protected + virtual void registerListeners(); + virtual void unregisterListeners(); +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_TransferHandler$SwingDragGestureRecognizer__ diff --git a/libjava/javax/swing/TransferHandler$SwingDragHandler.h b/libjava/javax/swing/TransferHandler$SwingDragHandler.h new file mode 100644 index 0000000..7b7631c --- /dev/null +++ b/libjava/javax/swing/TransferHandler$SwingDragHandler.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_TransferHandler$SwingDragHandler__ +#define __javax_swing_TransferHandler$SwingDragHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace dnd + { + class DragGestureEvent; + class DragSourceDragEvent; + class DragSourceDropEvent; + class DragSourceEvent; + } + } + } + namespace javax + { + namespace swing + { + class TransferHandler$SwingDragHandler; + } + } +} + +class javax::swing::TransferHandler$SwingDragHandler : public ::java::lang::Object +{ + + TransferHandler$SwingDragHandler(); +public: + virtual void dragGestureRecognized(::java::awt::dnd::DragGestureEvent *); + virtual void dragDropEnd(::java::awt::dnd::DragSourceDropEvent *); + virtual void dragEnter(::java::awt::dnd::DragSourceDragEvent *); + virtual void dragExit(::java::awt::dnd::DragSourceEvent *); + virtual void dragOver(::java::awt::dnd::DragSourceDragEvent *); + virtual void dropActionChanged(::java::awt::dnd::DragSourceDragEvent *); +public: // actually package-private + TransferHandler$SwingDragHandler(::javax::swing::TransferHandler$SwingDragHandler *); +private: + jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) autoscrolls; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_TransferHandler$SwingDragHandler__ diff --git a/libjava/javax/swing/TransferHandler.h b/libjava/javax/swing/TransferHandler.h index 24220c8..f7ae804 100644 --- a/libjava/javax/swing/TransferHandler.h +++ b/libjava/javax/swing/TransferHandler.h @@ -39,6 +39,7 @@ extern "Java" class Icon; class JComponent; class TransferHandler; + class TransferHandler$SwingDragGestureRecognizer; } } } @@ -85,6 +86,7 @@ private: jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) sourceActions; ::javax::swing::Icon * visualRepresentation; ::java::lang::String * propertyName; + ::javax::swing::TransferHandler$SwingDragGestureRecognizer * recognizer; public: static ::java::lang::Class class$; }; diff --git a/libjava/javax/swing/plaf/basic/BasicComboPopup.h b/libjava/javax/swing/plaf/basic/BasicComboPopup.h index 4c878ca..7dfc525 100644 --- a/libjava/javax/swing/plaf/basic/BasicComboPopup.h +++ b/libjava/javax/swing/plaf/basic/BasicComboPopup.h @@ -103,9 +103,7 @@ public: // actually protected virtual ::java::awt::Rectangle * computePopupBounds(jint, jint, jint, jint); virtual void updateListBoxSelectionForEvent(::java::awt::event::MouseEvent *, jboolean); private: - void uninstallListeners(); void uninstallListListeners(); - void uninstallComboBoxListeners(); public: // actually package-private virtual void syncListSelection(); public: // actually protected diff --git a/libjava/javax/swing/plaf/basic/BasicLabelUI.h b/libjava/javax/swing/plaf/basic/BasicLabelUI.h index e0d39a2..5c67114 100644 --- a/libjava/javax/swing/plaf/basic/BasicLabelUI.h +++ b/libjava/javax/swing/plaf/basic/BasicLabelUI.h @@ -16,6 +16,7 @@ extern "Java" class Dimension; class FontMetrics; class Graphics; + class Insets; class Rectangle; } namespace beans @@ -70,12 +71,15 @@ public: // actually protected virtual void uninstallListeners(::javax::swing::JLabel *); public: virtual void propertyChange(::java::beans::PropertyChangeEvent *); +private: + ::java::awt::FontMetrics * getFontMetrics(::javax::swing::JLabel *); public: // actually protected static ::javax::swing::plaf::basic::BasicLabelUI * labelUI; private: ::java::awt::Rectangle * __attribute__((aligned(__alignof__( ::javax::swing::plaf::LabelUI)))) vr; ::java::awt::Rectangle * ir; ::java::awt::Rectangle * tr; + ::java::awt::Insets * cachedInsets; public: static ::java::lang::Class class$; }; diff --git a/libjava/javax/swing/plaf/basic/BasicRadioButtonUI.h b/libjava/javax/swing/plaf/basic/BasicRadioButtonUI.h index 62b3a3c..deea385 100644 --- a/libjava/javax/swing/plaf/basic/BasicRadioButtonUI.h +++ b/libjava/javax/swing/plaf/basic/BasicRadioButtonUI.h @@ -49,6 +49,9 @@ public: // actually protected public: virtual ::javax::swing::Icon * getDefaultIcon(); virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *); +private: + ::javax::swing::Icon * getCurrentIcon(::javax::swing::AbstractButton *); +public: virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *); public: // actually protected virtual void paintFocus(::java::awt::Graphics *, ::java::awt::Rectangle *, ::java::awt::Dimension *); diff --git a/libjava/javax/swing/plaf/basic/BasicTextUI$1.h b/libjava/javax/swing/plaf/basic/BasicTextUI$1.h deleted file mode 100644 index 8736761..0000000 --- a/libjava/javax/swing/plaf/basic/BasicTextUI$1.h +++ /dev/null @@ -1,52 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __javax_swing_plaf_basic_BasicTextUI$1__ -#define __javax_swing_plaf_basic_BasicTextUI$1__ - -#pragma interface - -#include -extern "Java" -{ - namespace java - { - namespace awt - { - namespace event - { - class FocusEvent; - } - } - } - namespace javax - { - namespace swing - { - namespace plaf - { - namespace basic - { - class BasicTextUI; - class BasicTextUI$1; - } - } - } - } -} - -class javax::swing::plaf::basic::BasicTextUI$1 : public ::java::lang::Object -{ - -public: // actually package-private - BasicTextUI$1(::javax::swing::plaf::basic::BasicTextUI *); -public: - void focusGained(::java::awt::event::FocusEvent *); - void focusLost(::java::awt::event::FocusEvent *); -public: // actually package-private - ::javax::swing::plaf::basic::BasicTextUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; -public: - static ::java::lang::Class class$; -}; - -#endif // __javax_swing_plaf_basic_BasicTextUI$1__ diff --git a/libjava/javax/swing/plaf/basic/BasicTextUI$DocumentHandler.h b/libjava/javax/swing/plaf/basic/BasicTextUI$DocumentHandler.h deleted file mode 100644 index 38e9f49..0000000 --- a/libjava/javax/swing/plaf/basic/BasicTextUI$DocumentHandler.h +++ /dev/null @@ -1,47 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __javax_swing_plaf_basic_BasicTextUI$DocumentHandler__ -#define __javax_swing_plaf_basic_BasicTextUI$DocumentHandler__ - -#pragma interface - -#include -extern "Java" -{ - namespace javax - { - namespace swing - { - namespace event - { - class DocumentEvent; - } - namespace plaf - { - namespace basic - { - class BasicTextUI; - class BasicTextUI$DocumentHandler; - } - } - } - } -} - -class javax::swing::plaf::basic::BasicTextUI$DocumentHandler : public ::java::lang::Object -{ - -public: // actually package-private - BasicTextUI$DocumentHandler(::javax::swing::plaf::basic::BasicTextUI *); -public: - virtual void changedUpdate(::javax::swing::event::DocumentEvent *); - virtual void insertUpdate(::javax::swing::event::DocumentEvent *); - virtual void removeUpdate(::javax::swing::event::DocumentEvent *); -public: // actually package-private - ::javax::swing::plaf::basic::BasicTextUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; -public: - static ::java::lang::Class class$; -}; - -#endif // __javax_swing_plaf_basic_BasicTextUI$DocumentHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicTextUI$PropertyChangeHandler.h b/libjava/javax/swing/plaf/basic/BasicTextUI$PropertyChangeHandler.h deleted file mode 100644 index bba4ad4..0000000 --- a/libjava/javax/swing/plaf/basic/BasicTextUI$PropertyChangeHandler.h +++ /dev/null @@ -1,48 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __javax_swing_plaf_basic_BasicTextUI$PropertyChangeHandler__ -#define __javax_swing_plaf_basic_BasicTextUI$PropertyChangeHandler__ - -#pragma interface - -#include -extern "Java" -{ - namespace java - { - namespace beans - { - class PropertyChangeEvent; - } - } - namespace javax - { - namespace swing - { - namespace plaf - { - namespace basic - { - class BasicTextUI; - class BasicTextUI$PropertyChangeHandler; - } - } - } - } -} - -class javax::swing::plaf::basic::BasicTextUI$PropertyChangeHandler : public ::java::lang::Object -{ - - BasicTextUI$PropertyChangeHandler(::javax::swing::plaf::basic::BasicTextUI *); -public: - virtual void propertyChange(::java::beans::PropertyChangeEvent *); -public: // actually package-private - BasicTextUI$PropertyChangeHandler(::javax::swing::plaf::basic::BasicTextUI *, ::javax::swing::plaf::basic::BasicTextUI$PropertyChangeHandler *); - ::javax::swing::plaf::basic::BasicTextUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; -public: - static ::java::lang::Class class$; -}; - -#endif // __javax_swing_plaf_basic_BasicTextUI$PropertyChangeHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicTreeUI$2.h b/libjava/javax/swing/plaf/basic/BasicTreeUI$2.h deleted file mode 100644 index d71232d..0000000 --- a/libjava/javax/swing/plaf/basic/BasicTreeUI$2.h +++ /dev/null @@ -1,51 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __javax_swing_plaf_basic_BasicTreeUI$2__ -#define __javax_swing_plaf_basic_BasicTreeUI$2__ - -#pragma interface - -#include -extern "Java" -{ - namespace java - { - namespace awt - { - class Component; - class Graphics; - } - } - namespace javax - { - namespace swing - { - namespace plaf - { - namespace basic - { - class BasicTreeUI; - class BasicTreeUI$2; - } - } - } - } -} - -class javax::swing::plaf::basic::BasicTreeUI$2 : public ::java::lang::Object -{ - -public: // actually package-private - BasicTreeUI$2(::javax::swing::plaf::basic::BasicTreeUI *); -public: - jint getIconHeight(); - jint getIconWidth(); - void paintIcon(::java::awt::Component *, ::java::awt::Graphics *, jint, jint); -public: // actually package-private - ::javax::swing::plaf::basic::BasicTreeUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; -public: - static ::java::lang::Class class$; -}; - -#endif // __javax_swing_plaf_basic_BasicTreeUI$2__ diff --git a/libjava/javax/swing/plaf/metal/MetalLookAndFeel.h b/libjava/javax/swing/plaf/metal/MetalLookAndFeel.h index 9985b60..10a386d 100644 --- a/libjava/javax/swing/plaf/metal/MetalLookAndFeel.h +++ b/libjava/javax/swing/plaf/metal/MetalLookAndFeel.h @@ -95,7 +95,6 @@ public: private: static const jlong serialVersionUID = 6680646159193457980LL; static ::javax::swing::plaf::metal::MetalTheme * theme; - ::javax::swing::UIDefaults * __attribute__((aligned(__alignof__( ::javax::swing::plaf::basic::BasicLookAndFeel)))) LAF_defaults; public: static ::java::lang::Class class$; }; diff --git a/libjava/javax/swing/plaf/metal/MetalSplitPaneDivider$MetalDividerLayout.h b/libjava/javax/swing/plaf/metal/MetalSplitPaneDivider$MetalDividerLayout.h deleted file mode 100644 index 707fe29..0000000 --- a/libjava/javax/swing/plaf/metal/MetalSplitPaneDivider$MetalDividerLayout.h +++ /dev/null @@ -1,59 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __javax_swing_plaf_metal_MetalSplitPaneDivider$MetalDividerLayout__ -#define __javax_swing_plaf_metal_MetalSplitPaneDivider$MetalDividerLayout__ - -#pragma interface - -#include -extern "Java" -{ - namespace java - { - namespace awt - { - class Component; - class Container; - class Dimension; - } - } - namespace javax - { - namespace swing - { - namespace plaf - { - namespace basic - { - class BasicArrowButton; - } - namespace metal - { - class MetalSplitPaneDivider; - class MetalSplitPaneDivider$MetalDividerLayout; - } - } - } - } -} - -class javax::swing::plaf::metal::MetalSplitPaneDivider$MetalDividerLayout : public ::java::lang::Object -{ - -public: - MetalSplitPaneDivider$MetalDividerLayout(::javax::swing::plaf::metal::MetalSplitPaneDivider *); - virtual void addLayoutComponent(::java::lang::String *, ::java::awt::Component *); - virtual void layoutContainer(::java::awt::Container *); - virtual ::java::awt::Dimension * minimumLayoutSize(::java::awt::Container *); - virtual ::java::awt::Dimension * preferredLayoutSize(::java::awt::Container *); - virtual void removeLayoutComponent(::java::awt::Component *); -public: // actually package-private - ::javax::swing::plaf::basic::BasicArrowButton * __attribute__((aligned(__alignof__( ::java::lang::Object)))) rb; - ::javax::swing::plaf::basic::BasicArrowButton * lb; - ::javax::swing::plaf::metal::MetalSplitPaneDivider * this$0; -public: - static ::java::lang::Class class$; -}; - -#endif // __javax_swing_plaf_metal_MetalSplitPaneDivider$MetalDividerLayout__ diff --git a/libjava/javax/swing/text/AbstractDocument$1.h b/libjava/javax/swing/text/AbstractDocument$1.h deleted file mode 100644 index b433e14..0000000 --- a/libjava/javax/swing/text/AbstractDocument$1.h +++ /dev/null @@ -1,38 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __javax_swing_text_AbstractDocument$1__ -#define __javax_swing_text_AbstractDocument$1__ - -#pragma interface - -#include -extern "Java" -{ - namespace javax - { - namespace swing - { - namespace text - { - class AbstractDocument; - class AbstractDocument$1; - } - } - } -} - -class javax::swing::text::AbstractDocument$1 : public ::java::lang::Object -{ - -public: // actually package-private - AbstractDocument$1(::javax::swing::text::AbstractDocument *); -public: - jint getOffset(); -public: // actually package-private - ::javax::swing::text::AbstractDocument * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; -public: - static ::java::lang::Class class$; -}; - -#endif // __javax_swing_text_AbstractDocument$1__ diff --git a/libjava/javax/swing/text/AbstractDocument$2.h b/libjava/javax/swing/text/AbstractDocument$2.h deleted file mode 100644 index dc504ce..0000000 --- a/libjava/javax/swing/text/AbstractDocument$2.h +++ /dev/null @@ -1,38 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __javax_swing_text_AbstractDocument$2__ -#define __javax_swing_text_AbstractDocument$2__ - -#pragma interface - -#include -extern "Java" -{ - namespace javax - { - namespace swing - { - namespace text - { - class AbstractDocument; - class AbstractDocument$2; - } - } - } -} - -class javax::swing::text::AbstractDocument$2 : public ::java::lang::Object -{ - -public: // actually package-private - AbstractDocument$2(::javax::swing::text::AbstractDocument *); -public: - jint getOffset(); -public: // actually package-private - ::javax::swing::text::AbstractDocument * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; -public: - static ::java::lang::Class class$; -}; - -#endif // __javax_swing_text_AbstractDocument$2__ diff --git a/libjava/javax/swing/text/DefaultStyledDocument$Edit.h b/libjava/javax/swing/text/DefaultStyledDocument$Edit.h deleted file mode 100644 index 7d63ab2..0000000 --- a/libjava/javax/swing/text/DefaultStyledDocument$Edit.h +++ /dev/null @@ -1,52 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __javax_swing_text_DefaultStyledDocument$Edit__ -#define __javax_swing_text_DefaultStyledDocument$Edit__ - -#pragma interface - -#include -#include - -extern "Java" -{ - namespace javax - { - namespace swing - { - namespace text - { - class DefaultStyledDocument; - class DefaultStyledDocument$Edit; - class Element; - } - } - } -} - -class javax::swing::text::DefaultStyledDocument$Edit : public ::java::lang::Object -{ - -public: - virtual JArray< ::javax::swing::text::Element * > * getRemovedElements(); - virtual JArray< ::javax::swing::text::Element * > * getAddedElements(); -private: - jboolean contains(::java::util::Vector *, ::javax::swing::text::Element *); -public: - virtual void addRemovedElement(::javax::swing::text::Element *); - virtual void addRemovedElements(JArray< ::javax::swing::text::Element * > *); - virtual void addAddedElement(::javax::swing::text::Element *); - virtual void addAddedElements(JArray< ::javax::swing::text::Element * > *); - DefaultStyledDocument$Edit(::javax::swing::text::DefaultStyledDocument *, ::javax::swing::text::Element *, jint, JArray< ::javax::swing::text::Element * > *, JArray< ::javax::swing::text::Element * > *); -public: // actually package-private - ::javax::swing::text::Element * __attribute__((aligned(__alignof__( ::java::lang::Object)))) e; - jint index; - ::java::util::Vector * removed; - ::java::util::Vector * added; - ::javax::swing::text::DefaultStyledDocument * this$0; -public: - static ::java::lang::Class class$; -}; - -#endif // __javax_swing_text_DefaultStyledDocument$Edit__ diff --git a/libjava/javax/swing/text/InternationalFormatter.h b/libjava/javax/swing/text/InternationalFormatter.h index 48f4726..e0c44dd 100644 --- a/libjava/javax/swing/text/InternationalFormatter.h +++ b/libjava/javax/swing/text/InternationalFormatter.h @@ -49,6 +49,7 @@ public: virtual ::java::lang::String * valueToString(::java::lang::Object *); virtual ::java::lang::Object * stringToValue(::java::lang::String *); virtual JArray< ::java::text::Format$Field * > * getFields(jint); + virtual ::java::lang::Object * clone(); public: // actually protected virtual JArray< ::javax::swing::Action * > * getActions(); private: diff --git a/libjava/javax/swing/text/html/StyleSheet$CssParser.h b/libjava/javax/swing/text/html/StyleSheet$CssParser.h deleted file mode 100644 index 5d2fded..0000000 --- a/libjava/javax/swing/text/html/StyleSheet$CssParser.h +++ /dev/null @@ -1,69 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __javax_swing_text_html_StyleSheet$CssParser__ -#define __javax_swing_text_html_StyleSheet$CssParser__ - -#pragma interface - -#include -extern "Java" -{ - namespace java - { - namespace net - { - class URL; - } - } - namespace javax - { - namespace swing - { - namespace text - { - class AttributeSet; - class MutableAttributeSet; - namespace html - { - class CSSParser; - class StyleSheet; - class StyleSheet$CssParser; - } - } - } - } -} - -class javax::swing::text::html::StyleSheet$CssParser : public ::java::lang::Object -{ - -public: // actually package-private - StyleSheet$CssParser(::javax::swing::text::html::StyleSheet *); -public: - virtual ::javax::swing::text::AttributeSet * parseDeclaration(::java::lang::String *); - virtual ::javax::swing::text::AttributeSet * parseDeclaration(::java::io::Reader *); - virtual void parse(::java::net::URL *, ::java::io::Reader *, jboolean, jboolean); - virtual void handleImport(::java::lang::String *); - virtual void handleSelector(::java::lang::String *); - virtual void startRule(); - virtual void handleProperty(::java::lang::String *); - virtual void handleValue(::java::lang::String *); - virtual void endRule(); -private: - void addSelector(); -public: // actually package-private - ::java::util::Vector * __attribute__((aligned(__alignof__( ::java::lang::Object)))) selectors; - ::java::util::Vector * selectorTokens; - ::java::lang::String * propertyName; - ::javax::swing::text::MutableAttributeSet * declaration; - jboolean parsingDeclaration; - jboolean isLink; - ::java::net::URL * base; - ::javax::swing::text::html::CSSParser * parser; - ::javax::swing::text::html::StyleSheet * this$0; -public: - static ::java::lang::Class class$; -}; - -#endif // __javax_swing_text_html_StyleSheet$CssParser__ diff --git a/libjava/javax/swing/tree/DefaultTreeCellEditor$RealEditorListener.h b/libjava/javax/swing/tree/DefaultTreeCellEditor$RealEditorListener.h deleted file mode 100644 index cc889e4..0000000 --- a/libjava/javax/swing/tree/DefaultTreeCellEditor$RealEditorListener.h +++ /dev/null @@ -1,43 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __javax_swing_tree_DefaultTreeCellEditor$RealEditorListener__ -#define __javax_swing_tree_DefaultTreeCellEditor$RealEditorListener__ - -#pragma interface - -#include -extern "Java" -{ - namespace javax - { - namespace swing - { - namespace event - { - class ChangeEvent; - } - namespace tree - { - class DefaultTreeCellEditor; - class DefaultTreeCellEditor$RealEditorListener; - } - } - } -} - -class javax::swing::tree::DefaultTreeCellEditor$RealEditorListener : public ::java::lang::Object -{ - -public: // actually package-private - DefaultTreeCellEditor$RealEditorListener(::javax::swing::tree::DefaultTreeCellEditor *); -public: - virtual void editingCanceled(::javax::swing::event::ChangeEvent *); - virtual void editingStopped(::javax::swing::event::ChangeEvent *); -public: // actually package-private - ::javax::swing::tree::DefaultTreeCellEditor * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; -public: - static ::java::lang::Class class$; -}; - -#endif // __javax_swing_tree_DefaultTreeCellEditor$RealEditorListener__ diff --git a/libjava/scripts/classes.pl b/libjava/scripts/classes.pl index 4367659..761506f 100644 --- a/libjava/scripts/classes.pl +++ b/libjava/scripts/classes.pl @@ -1,7 +1,8 @@ # classes.pl - A perl program to generate most of the contents of # javaprims.h automatically. -# Copyright (C) 1998, 1999, 2000, 2002, 2005, 2006 Free Software Foundation +# Copyright (C) 1998, 1999, 2000, 2002, 2005, 2006, 2007 Free Software +# Foundation # # This file is part of libgcj. # @@ -9,7 +10,7 @@ # Libgcj License. Please consult the file "LIBGCJ_LICENSE" for # details. -# Usage: cd /classpath/lib ; perl classes.pl. +# Usage: cd /classpath/lib ; perl ../../scripts/classes.pl. use DirHandle; diff --git a/libjava/sources.am b/libjava/sources.am index caba875..34430f6 100644 --- a/libjava/sources.am +++ b/libjava/sources.am @@ -224,6 +224,7 @@ gnu/awt/xlib.list: $(gnu_awt_xlib_source_files) gnu_classpath_source_files = \ gnu/classpath/Configuration.java \ classpath/gnu/classpath/NotImplementedException.java \ +classpath/gnu/classpath/Pair.java \ classpath/gnu/classpath/Pointer.java \ classpath/gnu/classpath/Pointer32.java \ classpath/gnu/classpath/Pointer64.java \ @@ -438,7 +439,6 @@ classpath/gnu/classpath/jdwp/util/MethodResult.java \ classpath/gnu/classpath/jdwp/util/MonitorInfo.java \ classpath/gnu/classpath/jdwp/util/NullObject.java \ classpath/gnu/classpath/jdwp/util/Signature.java \ -classpath/gnu/classpath/jdwp/util/Value.java \ classpath/gnu/classpath/jdwp/util/VariableTable.java gnu_classpath_jdwp_util_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_classpath_jdwp_util_source_files))) @@ -636,6 +636,7 @@ classpath/gnu/java/awt/AWTUtilities.java \ classpath/gnu/java/awt/BitMaskExtent.java \ classpath/gnu/java/awt/BitwiseXORComposite.java \ classpath/gnu/java/awt/Buffers.java \ +classpath/gnu/java/awt/ClasspathGraphicsEnvironment.java \ classpath/gnu/java/awt/ClasspathToolkit.java \ classpath/gnu/java/awt/ComponentDataBlitOp.java \ classpath/gnu/java/awt/ComponentReshapeEvent.java \ @@ -714,16 +715,20 @@ gnu/java/awt/font.list: $(gnu_java_awt_font_source_files) gnu_java_awt_font_autofit_source_files = \ +classpath/gnu/java/awt/font/autofit/AutoHinter.java \ classpath/gnu/java/awt/font/autofit/AxisHints.java \ classpath/gnu/java/awt/font/autofit/Constants.java \ +classpath/gnu/java/awt/font/autofit/Edge.java \ classpath/gnu/java/awt/font/autofit/GlyphHints.java \ +classpath/gnu/java/awt/font/autofit/HintScaler.java \ classpath/gnu/java/awt/font/autofit/Latin.java \ classpath/gnu/java/awt/font/autofit/LatinAxis.java \ +classpath/gnu/java/awt/font/autofit/LatinBlue.java \ classpath/gnu/java/awt/font/autofit/LatinMetrics.java \ -classpath/gnu/java/awt/font/autofit/Scaler.java \ classpath/gnu/java/awt/font/autofit/Script.java \ classpath/gnu/java/awt/font/autofit/ScriptMetrics.java \ classpath/gnu/java/awt/font/autofit/Segment.java \ +classpath/gnu/java/awt/font/autofit/Utils.java \ classpath/gnu/java/awt/font/autofit/Width.java gnu_java_awt_font_autofit_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_java_awt_font_autofit_source_files))) @@ -738,6 +743,7 @@ gnu/java/awt/font/autofit.list: $(gnu_java_awt_font_autofit_source_files) gnu_java_awt_font_opentype_source_files = \ classpath/gnu/java/awt/font/opentype/CharGlyphMap.java \ classpath/gnu/java/awt/font/opentype/GlyphNamer.java \ +classpath/gnu/java/awt/font/opentype/Hinter.java \ classpath/gnu/java/awt/font/opentype/MacResourceFork.java \ classpath/gnu/java/awt/font/opentype/NameDecoder.java \ classpath/gnu/java/awt/font/opentype/OpenTypeFont.java \ @@ -758,6 +764,7 @@ classpath/gnu/java/awt/font/opentype/truetype/Fixed.java \ classpath/gnu/java/awt/font/opentype/truetype/GlyphLoader.java \ classpath/gnu/java/awt/font/opentype/truetype/GlyphLocator.java \ classpath/gnu/java/awt/font/opentype/truetype/GlyphMeasurer.java \ +classpath/gnu/java/awt/font/opentype/truetype/Point.java \ classpath/gnu/java/awt/font/opentype/truetype/TrueTypeScaler.java \ classpath/gnu/java/awt/font/opentype/truetype/VirtualMachine.java \ classpath/gnu/java/awt/font/opentype/truetype/Zone.java \ @@ -787,6 +794,7 @@ gnu/java/awt/image.list: $(gnu_java_awt_image_source_files) gnu_java_awt_java2d_source_files = \ classpath/gnu/java/awt/java2d/AbstractGraphics2D.java \ +classpath/gnu/java/awt/java2d/ActiveEdges.java \ classpath/gnu/java/awt/java2d/AlphaCompositeContext.java \ classpath/gnu/java/awt/java2d/CubicSegment.java \ classpath/gnu/java/awt/java2d/ImagePaint.java \ @@ -795,6 +803,8 @@ classpath/gnu/java/awt/java2d/PolyEdge.java \ classpath/gnu/java/awt/java2d/PolyEdgeComparator.java \ classpath/gnu/java/awt/java2d/QuadSegment.java \ classpath/gnu/java/awt/java2d/RasterGraphics.java \ +classpath/gnu/java/awt/java2d/Scanline.java \ +classpath/gnu/java/awt/java2d/ScanlineConverter.java \ classpath/gnu/java/awt/java2d/Segment.java \ classpath/gnu/java/awt/java2d/ShapeCache.java \ classpath/gnu/java/awt/java2d/TexturePaintContext.java @@ -809,9 +819,12 @@ gnu/java/awt/java2d.list: $(gnu_java_awt_java2d_source_files) gnu_java_awt_peer_source_files = \ +classpath/gnu/java/awt/peer/ClasspathDesktopPeer.java \ classpath/gnu/java/awt/peer/ClasspathFontPeer.java \ classpath/gnu/java/awt/peer/EmbeddedWindowPeer.java \ classpath/gnu/java/awt/peer/GLightweightPeer.java \ +classpath/gnu/java/awt/peer/GnomeDesktopPeer.java \ +classpath/gnu/java/awt/peer/KDEDesktopPeer.java \ classpath/gnu/java/awt/peer/NativeEventLoopRunningEvent.java gnu_java_awt_peer_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_java_awt_peer_source_files))) @@ -832,8 +845,6 @@ classpath/gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java \ classpath/gnu/java/awt/peer/gtk/ComponentGraphics.java \ classpath/gnu/java/awt/peer/gtk/ComponentGraphicsCopy.java \ classpath/gnu/java/awt/peer/gtk/FreetypeGlyphVector.java \ -classpath/gnu/java/awt/peer/gtk/GThreadMutex.java \ -classpath/gnu/java/awt/peer/gtk/GThreadNativeMethodRunner.java \ classpath/gnu/java/awt/peer/gtk/GdkFontPeer.java \ classpath/gnu/java/awt/peer/gtk/GdkGraphicsConfiguration.java \ classpath/gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java \ @@ -1148,6 +1159,7 @@ gnu/java/lang/management/VMGarbageCollectorMXBeanImpl.java \ gnu/java/lang/management/VMMemoryMXBeanImpl.java \ gnu/java/lang/management/VMMemoryManagerMXBeanImpl.java \ gnu/java/lang/management/VMMemoryPoolMXBeanImpl.java \ +gnu/java/lang/management/VMOperatingSystemMXBeanImpl.java \ gnu/java/lang/management/VMRuntimeMXBeanImpl.java \ gnu/java/lang/management/VMThreadMXBeanImpl.java @@ -1328,6 +1340,7 @@ gnu/java/locale.list: $(gnu_java_locale_source_files) gnu_java_math_source_files = \ +classpath/gnu/java/math/Fixed.java \ classpath/gnu/java/math/MPN.java gnu_java_math_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_java_math_source_files))) @@ -1340,7 +1353,6 @@ gnu/java/math.list: $(gnu_java_math_source_files) gnu_java_net_source_files = \ -classpath/gnu/java/net/BASE64.java \ classpath/gnu/java/net/CRLFInputStream.java \ classpath/gnu/java/net/CRLFOutputStream.java \ classpath/gnu/java/net/DefaultContentHandlerFactory.java \ @@ -2047,7 +2059,6 @@ gnu/java/security/sig/rsa.list: $(gnu_java_security_sig_rsa_source_files) gnu_java_security_util_source_files = \ -classpath/gnu/java/security/util/Base64.java \ classpath/gnu/java/security/util/ByteArray.java \ classpath/gnu/java/security/util/ByteBufferOutputStream.java \ classpath/gnu/java/security/util/DerUtil.java \ @@ -2097,9 +2108,12 @@ classpath/gnu/java/security/x509/ext/CRLNumber.java \ classpath/gnu/java/security/x509/ext/CertificatePolicies.java \ classpath/gnu/java/security/x509/ext/ExtendedKeyUsage.java \ classpath/gnu/java/security/x509/ext/Extension.java \ +classpath/gnu/java/security/x509/ext/GeneralName.java \ classpath/gnu/java/security/x509/ext/GeneralNames.java \ +classpath/gnu/java/security/x509/ext/GeneralSubtree.java \ classpath/gnu/java/security/x509/ext/IssuerAlternativeNames.java \ classpath/gnu/java/security/x509/ext/KeyUsage.java \ +classpath/gnu/java/security/x509/ext/NameConstraints.java \ classpath/gnu/java/security/x509/ext/PolicyConstraint.java \ classpath/gnu/java/security/x509/ext/PolicyMappings.java \ classpath/gnu/java/security/x509/ext/PrivateKeyUsagePeriod.java \ @@ -2137,6 +2151,7 @@ gnu/java/text.list: $(gnu_java_text_source_files) gnu_java_util_source_files = \ +classpath/gnu/java/util/Base64.java \ classpath/gnu/java/util/DoubleEnumeration.java \ classpath/gnu/java/util/EmptyEnumeration.java \ classpath/gnu/java/util/WeakIdentityHashMap.java \ @@ -2907,7 +2922,8 @@ gnu/javax/imageio/png.list: $(gnu_javax_imageio_png_source_files) gnu_javax_management_source_files = \ classpath/gnu/javax/management/ListenerData.java \ -classpath/gnu/javax/management/Server.java +classpath/gnu/javax/management/Server.java \ +classpath/gnu/javax/management/Translator.java gnu-javax-management.lo: $(gnu_javax_management_source_files) @find $(srcdir)/classpath/lib/gnu/javax/management -name '*.class' > gnu-javax-management.list @@ -2976,7 +2992,6 @@ gnu/javax/naming/jndi/url/rmi.list: $(gnu_javax_naming_jndi_url_rmi_source_files gnu_javax_net_ssl_source_files = \ classpath/gnu/javax/net/ssl/AbstractSessionContext.java \ -classpath/gnu/javax/net/ssl/Base64.java \ classpath/gnu/javax/net/ssl/EntropySource.java \ classpath/gnu/javax/net/ssl/NullManagerParameters.java \ classpath/gnu/javax/net/ssl/PreSharedKeyManager.java \ @@ -4066,6 +4081,7 @@ classpath/java/awt/ContainerOrderFocusTraversalPolicy.java \ classpath/java/awt/Cursor.java \ classpath/java/awt/DefaultFocusTraversalPolicy.java \ classpath/java/awt/DefaultKeyboardFocusManager.java \ +classpath/java/awt/Desktop.java \ classpath/java/awt/Dialog.java \ classpath/java/awt/Dimension.java \ classpath/java/awt/DisplayMode.java \ @@ -4467,6 +4483,7 @@ classpath/java/awt/peer/CheckboxPeer.java \ classpath/java/awt/peer/ChoicePeer.java \ classpath/java/awt/peer/ComponentPeer.java \ classpath/java/awt/peer/ContainerPeer.java \ +classpath/java/awt/peer/DesktopPeer.java \ classpath/java/awt/peer/DialogPeer.java \ classpath/java/awt/peer/FileDialogPeer.java \ classpath/java/awt/peer/FontPeer.java \ @@ -4525,6 +4542,7 @@ classpath/java/beans/AppletInitializer.java \ classpath/java/beans/BeanDescriptor.java \ classpath/java/beans/BeanInfo.java \ classpath/java/beans/Beans.java \ +classpath/java/beans/ConstructorProperties.java \ classpath/java/beans/Customizer.java \ classpath/java/beans/DefaultPersistenceDelegate.java \ classpath/java/beans/DesignMode.java \ @@ -4839,6 +4857,7 @@ java_lang_management_source_files = \ classpath/java/lang/management/ClassLoadingMXBean.java \ classpath/java/lang/management/CompilationMXBean.java \ classpath/java/lang/management/GarbageCollectorMXBean.java \ +classpath/java/lang/management/LockInfo.java \ classpath/java/lang/management/ManagementFactory.java \ classpath/java/lang/management/ManagementPermission.java \ classpath/java/lang/management/MemoryMXBean.java \ @@ -4847,6 +4866,7 @@ classpath/java/lang/management/MemoryNotificationInfo.java \ classpath/java/lang/management/MemoryPoolMXBean.java \ classpath/java/lang/management/MemoryType.java \ classpath/java/lang/management/MemoryUsage.java \ +classpath/java/lang/management/MonitorInfo.java \ classpath/java/lang/management/OperatingSystemMXBean.java \ classpath/java/lang/management/RuntimeMXBean.java \ classpath/java/lang/management/ThreadInfo.java \ @@ -5523,6 +5543,23 @@ java/text.list: $(java_text_source_files) -include java/text.deps +java_text_spi_source_files = \ +classpath/java/text/spi/BreakIteratorProvider.java \ +classpath/java/text/spi/CollatorProvider.java \ +classpath/java/text/spi/DateFormatProvider.java \ +classpath/java/text/spi/DateFormatSymbolsProvider.java \ +classpath/java/text/spi/DecimalFormatSymbolsProvider.java \ +classpath/java/text/spi/NumberFormatProvider.java + +java_text_spi_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(java_text_spi_source_files))) + +java/text/spi.list: $(java_text_spi_source_files) + @$(mkinstalldirs) $(dir $@) + echo $(srcdir)/classpath/lib/java/text/spi/*.class > java/text/spi.list + +-include java/text/spi.deps + + java_util_source_files = \ classpath/java/util/AbstractCollection.java \ classpath/java/util/AbstractList.java \ @@ -5576,7 +5613,7 @@ classpath/java/util/LinkedList.java \ classpath/java/util/List.java \ classpath/java/util/ListIterator.java \ classpath/java/util/ListResourceBundle.java \ -java/util/Locale.java \ +classpath/java/util/Locale.java \ classpath/java/util/Map.java \ classpath/java/util/MissingFormatArgumentException.java \ classpath/java/util/MissingFormatWidthException.java \ @@ -5595,6 +5632,8 @@ classpath/external/jsr166/java/util/Queue.java \ classpath/java/util/Random.java \ classpath/java/util/RandomAccess.java \ classpath/java/util/ResourceBundle.java \ +classpath/java/util/ServiceConfigurationError.java \ +classpath/java/util/ServiceLoader.java \ classpath/java/util/Set.java \ classpath/java/util/SimpleTimeZone.java \ classpath/java/util/SortedMap.java \ @@ -5802,6 +5841,21 @@ java/util/regex.list: $(java_util_regex_source_files) -include java/util/regex.deps +java_util_spi_source_files = \ +classpath/java/util/spi/CurrencyNameProvider.java \ +classpath/java/util/spi/LocaleNameProvider.java \ +classpath/java/util/spi/LocaleServiceProvider.java \ +classpath/java/util/spi/TimeZoneNameProvider.java + +java_util_spi_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(java_util_spi_source_files))) + +java/util/spi.list: $(java_util_spi_source_files) + @$(mkinstalldirs) $(dir $@) + echo $(srcdir)/classpath/lib/java/util/spi/*.class > java/util/spi.list + +-include java/util/spi.deps + + java_util_zip_source_files = \ classpath/java/util/zip/Adler32.java \ classpath/java/util/zip/CRC32.java \ @@ -5869,6 +5923,20 @@ javax/accessibility.list: $(javax_accessibility_source_files) -include javax/accessibility.deps +javax_activity_source_files = \ +classpath/javax/activity/ActivityCompletedException.java \ +classpath/javax/activity/ActivityRequiredException.java \ +classpath/javax/activity/InvalidActivityException.java + +javax_activity_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(javax_activity_source_files))) + +javax/activity.list: $(javax_activity_source_files) + @$(mkinstalldirs) $(dir $@) + echo $(srcdir)/classpath/lib/javax/activity/*.class > javax/activity.list + +-include javax/activity.deps + + javax_crypto_source_files = \ classpath/javax/crypto/BadPaddingException.java \ classpath/javax/crypto/Cipher.java \ @@ -5999,11 +6067,18 @@ javax-imageio.lo: $(javax_imageio_source_files) javax_management_source_files = \ classpath/javax/management/Attribute.java \ +classpath/javax/management/AttributeChangeNotification.java \ +classpath/javax/management/AttributeChangeNotificationFilter.java \ classpath/javax/management/AttributeList.java \ classpath/javax/management/AttributeNotFoundException.java \ +classpath/javax/management/AttributeValueExp.java \ classpath/javax/management/BadAttributeValueExpException.java \ classpath/javax/management/BadBinaryOpValueExpException.java \ classpath/javax/management/BadStringOperationException.java \ +classpath/javax/management/DefaultLoaderRepository.java \ +classpath/javax/management/Descriptor.java \ +classpath/javax/management/DescriptorAccess.java \ +classpath/javax/management/DescriptorRead.java \ classpath/javax/management/DynamicMBean.java \ classpath/javax/management/InstanceAlreadyExistsException.java \ classpath/javax/management/InstanceNotFoundException.java \ @@ -6012,6 +6087,7 @@ classpath/javax/management/InvalidApplicationException.java \ classpath/javax/management/InvalidAttributeValueException.java \ classpath/javax/management/JMException.java \ classpath/javax/management/JMRuntimeException.java \ +classpath/javax/management/JMX.java \ classpath/javax/management/ListenerNotFoundException.java \ classpath/javax/management/MBeanAttributeInfo.java \ classpath/javax/management/MBeanConstructorInfo.java \ @@ -6030,19 +6106,26 @@ classpath/javax/management/MBeanServerConnection.java \ classpath/javax/management/MBeanServerDelegate.java \ classpath/javax/management/MBeanServerDelegateMBean.java \ classpath/javax/management/MBeanServerFactory.java \ +classpath/javax/management/MBeanServerInvocationHandler.java \ classpath/javax/management/MBeanServerNotification.java \ classpath/javax/management/MBeanServerPermission.java \ classpath/javax/management/MBeanTrustPermission.java \ +classpath/javax/management/MXBean.java \ classpath/javax/management/MalformedObjectNameException.java \ classpath/javax/management/NotCompliantMBeanException.java \ classpath/javax/management/Notification.java \ classpath/javax/management/NotificationBroadcaster.java \ +classpath/javax/management/NotificationBroadcasterSupport.java \ classpath/javax/management/NotificationEmitter.java \ classpath/javax/management/NotificationFilter.java \ +classpath/javax/management/NotificationFilterSupport.java \ classpath/javax/management/NotificationListener.java \ classpath/javax/management/ObjectInstance.java \ classpath/javax/management/ObjectName.java \ classpath/javax/management/OperationsException.java \ +classpath/javax/management/PersistentMBean.java \ +classpath/javax/management/Query.java \ +classpath/javax/management/QueryEval.java \ classpath/javax/management/QueryExp.java \ classpath/javax/management/ReflectionException.java \ classpath/javax/management/RuntimeErrorException.java \ @@ -6050,6 +6133,7 @@ classpath/javax/management/RuntimeMBeanException.java \ classpath/javax/management/RuntimeOperationsException.java \ classpath/javax/management/ServiceNotFoundException.java \ classpath/javax/management/StandardMBean.java \ +classpath/javax/management/StringValueExp.java \ classpath/javax/management/ValueExp.java javax_management_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(javax_management_source_files))) @@ -6076,6 +6160,7 @@ javax/management/loading.list: $(javax_management_loading_source_files) javax_management_openmbean_source_files = \ classpath/javax/management/openmbean/ArrayType.java \ classpath/javax/management/openmbean/CompositeData.java \ +classpath/javax/management/openmbean/CompositeDataInvocationHandler.java \ classpath/javax/management/openmbean/CompositeDataSupport.java \ classpath/javax/management/openmbean/CompositeType.java \ classpath/javax/management/openmbean/InvalidKeyException.java \ @@ -8637,6 +8722,7 @@ all_packages_source_files = \ java/security/spec.list \ java/sql.list \ java/text.list \ + java/text/spi.list \ java/util.list \ java/util/concurrent.list \ java/util/concurrent/atomic.list \ @@ -8645,8 +8731,10 @@ all_packages_source_files = \ java/util/logging.list \ java/util/prefs.list \ java/util/regex.list \ + java/util/spi.list \ java/util/zip.list \ javax/accessibility.list \ + javax/activity.list \ javax/crypto.list \ javax/crypto/interfaces.list \ javax/crypto/spec.list \ @@ -8884,6 +8972,7 @@ ordinary_header_files = \ $(java_security_spec_header_files) \ $(java_sql_header_files) \ $(java_text_header_files) \ + $(java_text_spi_header_files) \ $(java_util_header_files) \ $(java_util_concurrent_header_files) \ $(java_util_concurrent_atomic_header_files) \ @@ -8892,8 +8981,10 @@ ordinary_header_files = \ $(java_util_logging_header_files) \ $(java_util_prefs_header_files) \ $(java_util_regex_header_files) \ + $(java_util_spi_header_files) \ $(java_util_zip_header_files) \ $(javax_accessibility_header_files) \ + $(javax_activity_header_files) \ $(javax_crypto_header_files) \ $(javax_crypto_interfaces_header_files) \ $(javax_crypto_spec_header_files) \ @@ -9008,6 +9099,7 @@ property_files = \ classpath/resource/org/ietf/jgss/MessagesBundle.properties \ classpath/resource/sun/rmi/rmic/messages.properties \ classpath/resource/com/sun/tools/javac/messages.properties \ + classpath/resource/META-INF/services/java.util.prefs.PreferencesFactory \ classpath/resource/META-INF/services/java.util.prefs.PreferencesFactory.in \ classpath/resource/META-INF/services/javax.sound.midi.spi.MidiDeviceProvider \ classpath/resource/META-INF/services/javax.sound.midi.spi.MidiFileReader \ -- cgit v1.1