2003-10-29 Mark Wielaard <mark@klomp.org>
From Guilhem Lavaux <guilhem.lavaux@free.fr>
* java/text/DateFormat.java (Field): New public static inner class.
* java/text/Format.java (Field): Likewise.
(formatToCharacterIterator): New method.
* java/text/FormatCharacterIterator.java: New file.
2003-10-29 Mark Wielaard <mark@klomp.org>
From Guilhem Lavaux <guilhem.lavaux@free.fr>
* java/util/Currency.java: New file.
2003-10-29 Michael Koch <konqueror@gmx.de>
* Makefile.am (ordinary_java_source_files): Added
java/text/FormatCharacterIterator.java and java/util/Currency.java.
* Makefile.in: Regenerated.
From-SVN: r73046
2003-10-22 David Daney <ddaney@avtrex.com)
* include/mips-signal.h: New file.
* sysdep/dwarf2-backtrace.cc: New file.
* sysdep/mips: New directory.
* sysdep/mips/locks.h: New file.
* Makefile.am(extra_cc_files): New, to allow extra c++ files to be
added to libgcj.
(extra_cc_source_files): Ditto.
* configure.host(disable_dladdr): New shell variable passed to
configure.
(mips*-*-linux*): sysdeps_dir=mips,
can_unwind_signal=yes, disable_dladdr=yes, use -mxgot.
(mipsel*-linux* | mipsisa32el*-linux*): Enable hash synchronization.
* configure.in:(mips*-*-linux*): Use sysdep/dwarf2-backtrace.cc to
generate backtrace, and include/mips-signal.h as SIGNAL_HANDLER
(HAVE_DLADDR): Make it depend on setting of disable_dladdr.
(EXTRA_CC_FILES): New, to support conditional addition of
sysdep/dwarf2-backtrace.cc.
* configure: Regenerated.
* Makefile.in: Regenerated.
* gcj/Makefile.in: Regenerated.
* include/config.h.in: Regenerated.
* include/Makefile.in: Regenerated.
* testsuite/Makefile.in: Regenerated.
From-SVN: r72808
* gnu/java/nio/PipeImpl.java
(SourceChannelImpl): New inner class.
(SinkChannelImpl): New inner class.
(sink): New member variable.
(source): New member variable.
(PipeImpl): Add SelectorProvider argument, implemented.
(nativeInit): New method.
(sink): Return sink channel.
(source): Return source channel.
* gnu/java/nio/SelectorProviderImpl.java
(openPipe): Give provider as argument to PipeImpl constructor.
* java/nio/channels/spi/SelectorProvider.java
(pr): Removed.
(systemDefaultProvider): New member variable.
(provider): Made it synchronized, use property
java.nio.channels.spi.SelectorProvider.
* gnu/java/nio/natPipeImpl.cc: New file.
* Makefile.am (nat_source_files): Added gnu/java/nio/natPipeImpl.cc.
* Makefile.in: Regenerated.
From-SVN: r72397
2003-10-09 Michael Koch <konqueror@gmx.de>
* gnu/java/nio/SelectorImpl.java (register):
Use ServerSocketChannelSelectionKey for server socket channels,
removed unneeded comments.
* gnu/java/nio/ServerSocketChannelImpl.java
(ServerSocketChannelImpl): Made class public final.
(impl): New member variable.
(ServerSocketChannelImpl): Initialize member variables correctly.
(initServerSocket): New method.
(getNativeFD): Likewise.
* gnu/java/nio/ServerSocketChannelSelectionKey.java,
gnu/java/nio/natServerSocketChannelImpl.cc: New files.
* Makefile.am (ordinary_java_source_files):
Added gnu/java/nio/ServerSocketChannelSelectionKey.java.
(nat_source_files): Added gnu/java/nio/natServerSocketChannelImpl.cc.
* Makefile.in: Regenrated.
From-SVN: r72277
* gnu/java/nio/DatagramChannelImpl.java
(DatagramChannelImpl): Made class final.
(blocking): Made private.
(socket): Made it a NIODatagramSocket and private.
(DatagramChannelImpl): create NIODatagramSocket instead of
DatagramSocket.
(implConfigureBlocking): Set socket timeout.
(connect): Check that channel is not closed.
(write): Implemented.
(write): Rewritten.
(read): Implemented.
(read): Rewritten.
(receive): Implemented.
(send): Implemented.
* gnu/java/nio/SelectionKeyImpl.java
(readyOps): Made private.
(interestOps): Made private.
(impl): Made private.
(ch): Made private.
(readyOps): Check if selection key is valid.
(interestOps): Likewise.
* gnu/java/nio/SelectorImpl.java
(closed): Removed.
(keys): Made private.
(selected): Made private.
(finalize): New method.
(implCloseSelector): Rewritten.
(keys): Return unmodifiable Set.
(deregisterCancelledKeys): Fixed typo in method name.
* gnu/java/nio/SocketChannelImpl.java
(SocketChannelImpl): Made class final.
(socket): Made it a NIOSocket and private.
(blocking): Made private.
(connected): Made private.
(connectionPending): New member variable.
(SocketChannelImpl): New implementation.
(finalizer): Use isConnected().
(connect): Rewritten.
(finishConnect): Throws IOException, implemented.
(isConnectionPending): Return connectionPending.
(read): Rewritten.
(write): Rewritten.
* gnu/java/nio/NIOConstants.java: New file.
* Makefile.am (ordinary_java_source_files):
Added gnu/java/nio/NIOConstants.java.
* Makefile.in: Regenerated.
From-SVN: r71769
2003-09-18 Dalibor Topic <robilad@kaffe.org>
* gnu/java/rmi/rmic/Compile_gcj.java (COMPILER_ARGS): New private
constant.
(computeArguments): use computeTypicalArguments.
* gnu/java/rmi/rmic/Makefile.am (EXTRA_DIST): Add Compile_kjc.java,
Compile_jikes.java and RMICException.java.
* gnu/java/rmi/rmic/Compile_kjc.java: New file.
* gnu/java/rmi/rmic/Compile_jikes.java: Likewise.
* gnu/java/rmi/rmic/RMICException.java: Likewise.
* gnu/java/rmi/rmic/Compiler.java (getDestination): New method.
* gnu/java/rmi/rmic/CompilerProcess.java: Import java.io.InputStream.
(computeTypicalArguments): New method.
(compile): Print compiler output to System.out. Collect compiler
error output and use it in exception message.
* gnu/java/rmi/rmic/RMIC.java: Import java.util.Set.
(destination): Initialize to null.
(run): Replace file separator with '.' when processing class.
(processClass): Replace '.' with file separator when compiling
classes.
(findClass): Use SystemClassLoader to load class.
(generateStub): Use full class name for generated stub, that puts
it in right path. Replace '.' with file separator when generating
stub file name. Write just the stub class name without package
information as class name, and constructor name. Write only
interface names for interfaces extending java.rmi.Remote as
implemented.
(generateSkel): Use full class name for generated skel, that puts
it in right path. Replace '.' with file separator when generating
stub file name. Write just the stub class name without package
information as class name.
2003-09-18 Michael Koch <konqueror@gmx.de>
* Makefile.am (rmi_java_source_files):
Added gnu/java/rmi/rmic/Compile_kjc.java,
gnu/java/rmi/rmic/Compile_jikes.java and
gnu/java/rmi/rmic/RMICException.java
* Makefile.in: Regenerated.
From-SVN: r71506
* configure.in: Standardized help text case of
--enable-hash-synchronization
New configure switch --enable-libgcj-multifile and corresponding
automake conditional ONESTEP.
* configure: Rebuilt.
* Makefile.am: Use automake conditional ONESTEP to determine
whether classfiles should be compiled individually or all
at once.
* Makefile.in: Rebuilt.
From-SVN: r71459
* Makefile.am: (MOSTLYCLEANFILES) Removed libtool objects.
(mostlyclean-local): New target patterned after clean-local
which recursively deletes all libtool objects using 'libtool rm'.
(clean-local): Slightly modified comment to alleviate monotony.
(distclean-local): New target patterned after clean-local
which recursively deletes all .d files.
* Makefile.in: Rebuilt.
From-SVN: r71451
* Makefile.in: Rebuilt.
* Makefile.am (ordinary_java_source_files): Added new files.
* java/lang/Class.h (_Jv_sharedlib_register_hook): Declare as
friend.
* java/net/URLClassLoader.java (findClass): Don't use
findURLResource. Use loader's getClass method.
(URLLoader.getClass): New method.
(addURL): Handle `gcjlib' URLs.
(SoURLLoader): New class.
(SoResource): Likewise.
* gnu/gcj/protocol/gcjlib/Connection.java: New file.
* gnu/gcj/protocol/gcjlib/Handler.java: New file.
* include/jvm.h (struct _Jv_core_chain): Moved from natCore.cc.
(_Jv_RegisterCoreHook): Declare.
(_Jv_FindCore): Declare.
* gnu/gcj/runtime/SharedLibHelper.java: New file.
* gnu/gcj/runtime/natSharedLibLoader.cc (CoreHookFunc): New
typedef.
(core_hook): New function.
(struct SharedLibDummy) [saved_core]: New field.
(init): Set _Jv_RegisterCoreHook. Throw exception on failure.
(register_hook): Set protection domain and class loader on new
class.
(finalize): Free core chain.
* gnu/gcj/Core.java (Core): New constructor.
* gnu/gcj/runtime/SharedLibLoader.java: Rewrote to use
SharedLibHelper.
* gnu/gcj/natCore.cc (_Jv_RegisterResource): Indentation fixlet.
(_Jv_create_core): New function.
(create): Use it.
(default_register_resource): New function.
(_Jv_RegisterCoreHook): New global.
(_Jv_RegisterResource): Use it.
(core_chain_struct): Removed.
(_Jv_FindCore): New function.
(_Jv_FreeCoreChain): New function.
From-SVN: r70892
* Makefile.am: (write_entries_to_file) New parameterized
function for writing entries to a file one line at a time.
(all_java_class_files): Removed definition.
(.java.class) Removed.target.
(libgcj-@gcc_version@.jar): Changed dependency to
$(all_java_source_files); added compilation step which compiles
all changed source files in one pass.
(libgcj.la) Refactored to use write_entries_to_file.
(lib-gnu-awt-xlib.la) Likewise.
(install-data-local) Likewise.
(write-entries-to-file-check) New target which tests write_entries_to_file.
(all-recursive): Changed dependency from $(all_java_class_files)
to libgcj-@gcc_version@.jar
* Makefile.in: Rebuilt.
From-SVN: r70842
* Makefile.am: added gnu/awt/xlib/XOffScreenImage.java.
* Makefile.in: re-generated.
* gnu/awt/j2d/IntegerGraphicsState.java
(ScreenCoupledImage): new interface.
(drawImage): detect ScreenCoupledImage instances.
* gnu/awt/xlib/XCanvasPeer.java (createImage) implemented.
* gnu/awt/xlib/XEventLoop.java
(createEvent): re-formatted, and rearranged to avoid null pointer.
* gnu/awt/xlib/XGraphics.java
(drawImage): added XOffScreenImage handling.
* gnu/awt/xlib/XOffScreenImage.java: new file.
* gnu/gcj/xlib/Drawable.java (getDepth): new native method.
* gnu/gcj/xlib/GC.java (copyArea): new native method.
* gnu/gcj/xlib/XAnyEvent.java
(TYPE_KEY_PRESS): new constant.
(TYPE_KEY_RELEASE): new constant.
(TYPE_MOTION_NOTIFY): new constant.
(TYPE_ENTER_NOTIFY): new constant.
(TYPE_LEAVE_NOTIFY): new constant.
(TYPE_FOCUS_IN): new constant.
(TYPE_FOCUS_OUT): new constant.
(TYPE_KEYMAP_NOTIFY): new constant.
(TYPE_GRAPHICS_EXPOSE): new constant.
(TYPE_NO_EXPOSE): new constant.
(TYPE_VISIBILITY_NOTIFY): new constant.
(TYPE_CREATE_NOTIFY): new constant.
(TYPE_DESTROY_NOTIFY): new constant.
(TYPE_MAP_REQUEST): new constant.
(TYPE_CONFIGURE_REQUEST): new constant.
(TYPE_GRAVITY_NOTIFY): new constant.
(TYPE_RESIZE_REQUEST): new constant.
(TYPE_CIRCULATE_NOTIFY): new constant.
(TYPE_CIRCULATE_REQUEST): new constant.
(TYPE_PROPERTY_NOTIFY): new constant.
(TYPE_SELECTION_CLEAR): new constant.
(TYPE_SELECTION_REQUEST): new constant.
(TYPE_SELECTION_NOTIFY): new constant.
(TYPE_COLORMAP_NOTIFY): new constant.
(TYPE_MAPPING_NOTIFY): new constant.
* gnu/gcj/xlib/natDrawable.cc (getDepth): new method.
* gnu/gcj/xlib/natGC.cc (copyArea): new method
* java/awt/Component.java (createImage): changed to use peer method.
From-SVN: r70776
Michael Koch <konqueror@gmx.de>
* gnu/java/awt/EmbeddedWindow.java
(EmbeddedWindow): Extends Frame instead of Window.
(window_id): New member variable to store the native window handle.
(create): Removed.
(EmbeddedWindow): New constructor.
(addNotify): New method.
(getHandler): Likewise.
(setWindowPeer): New native method.
* gnu/java/awt/EmbeddedWindowSupport.java
(EmbeddedWindowSupport): Fixed documentation.
(createEmbeddedWindow): Return EmbeddedWindowPeer instead of
WindowPeer, give it an EmbeddedWindow instance instead of the raw
window data.
* gnu/java/awt/natEmbeddedWindow.cc
(create): Removed.
(setWindowPeer): New method.
* gnu/java/awt/peer/EmbeddedWindowPeer.java,
gnu/java/awt/peer/gtk/GtkEmbeddedWindowPeer.java,
jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.c:
New files
* gnu/java/awt/peer/gtk/GtkToolkit.java
(GtkToolkit): Implements EmbeddedWindowSupport.
(createEmbeddedWindow): New method.
* java/awt/Window.java
(Window): Removed.
* Makefile.am
(java_source_files): Added EmbeddedWindowPeer.java.
(gtk_awt_peer_sources): Added GtkEmbeddedWindowPeer.java.
(gtk_c_source_files): Added gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.c.
* Makefile.in: Regenerated.
Co-Authored-By: Michael Koch <konqueror@gmx.de>
From-SVN: r69859
2003-07-26 Mohan Embar <gnustuff@thisiscool.com>
Ranjit Mathew <rmathew@hotmail.com>
* Makefile.am: Use cross-compiling gcjh from the path for
a crossed-native build.
* Makefile.in: Rebuilt.
* configure.in: Include libltdl in non-newlib builds.
Moved determination of gcj used to build libraries to
its own section. Fixed cross-compilation issues for
non-newlib builds.
* configure: Rebuilt.
Co-Authored-By: Ranjit Mathew <rmathew@hotmail.com>
From-SVN: r69836
2003-07-25 Mark Wielaard <mark@klomp.org>
* Makefile.am (awt_java_source_files): java/awt/GridBagLayoutInfo.java
added.
* Makefile.in: Likewise.
2003-07-25 Jeroen Frijters <jeroen@frijters.net>
* java/awt/Component.java
(getPreferredSize): Call preferredSize.
(preferredSize): Moved body of getPreferredSize here.
(getMinimumSize): Call minimumSize.
(minimumSize): Moved body of getMinimumSize here.
(prepareImage): Fall back on Toolkit.prepareImage if there is no peer
(checkImage(Image,ImageObserver)): Don't call getWidth/getHeight, but
pass -1
* java/awt/Container.java
(validate): Don't validate if there is no peer.
(update): Clear background before calling paint.
* java/awt/GridBagLayout.java
Completed the implementation and fixed several bugs.
* java/awt/MediaTracker.java
(MediaEntry.imageUpdate): Fixed typo. & instead of | was used to
combine flags.
* java/awt/Window.java
(Window): Don't call setVisible(false). Windows are invisible by
default and calling virtual methods from constructor causes
compatibility problems (e.g. subclasses may assume that the peer
already exists).
2003-07-25 Michael Koch <konqueror@gmx.de>
* java/awt/GridBagLayout.java:
Totally reworked and partly implemented.
* java/awt/GridBagLayoutInfo.java:
New file.
From-SVN: r69785
* gnu/java/nio/SelectorImpl.java
(register): Use fd with value 0 for now, will be fixed later.
* gnu/java/nio/ServerSocketChannelImpl.java
(fd): Removed.
(local_port): Removed.
(InetSocketAddress): Removed.
(ServerSocketChannelImpl): Just initialize internal socket object.
(implCloseSelectableChannel): Close internal socket object.
(implConfigureBlocking): Added comment.
(accept): Use jaba.net stuff to accept socket.
* gnu/java/nio/SocketChannelImpl.java
(fd): Removed.
(local_port): Removed.
(InetSocketAddress): Removed.
(SocketCreate): Removed.
(SocketConnect): Removed.
(SocketBind): Removed.
(SocketListen): Removed.
(SocketAvailable): Removed.
(SocketClose): Removed.
(SocketRead): Removed.
(SocketWrite): Removed.
(SocketChannelImpl): Just initialize internal socket object.
(implCloseSelectableChannel): Close internal socket object.
(implConfigureBlocking): Fixed implementation, added comment.
(connect): Use internal socket object to connect.
(socket): No need for sanity checks.
(read): Comment out some stuff, this will be reimplemented in the next
commit.
(write): Likewise.
* gnu/java/nio/natFileChannelImpl.cc
(nio_mmap_file): Line wrapped.
* gnu/java/nio/natSocketChannelImpl.cc: Removed.
* Makefile.am
(nat_source_files): Removeded gnu/java/nio/natSocketChannelImpl.cc.
* Makefile.in: Regenerated.
From-SVN: r68145
2003-03-02 Michael Koch <konqueror@gmx.de>
* java/awt/dnd/DnDEventMulticaster.java: New file.
* java/awt/dnd/DragSource.java
(flavorMap): New member variable.
(dragSourceListener): New member variable.
(dragSourceMotionListener): New member variable.
(getFlavorMap): Implemented.
(createDragGestureRecognizer): Implemented.
(addDragSourceListener): Implemented.
(removeDragSourceListener): Implemented.
(getDragSourceListeners): Implemented.
(addDragSourceMotionListener): Implemented.
(removeDragSourceMotionListener): Implemented.
(getDragSourceMotionListeners): Implemented.
(getListeners): Implemented.
* java/awt/dnd/DragSourceContext.java
(peer): New member variable.
(cursor): New member variable.
(transferable): New member variable.
(trigger): New member variable.
(dragSourceListener): New member variable.
(image): New member variable.
(offset): New member variable.
(DragSourceContext): Implemented.
(getDragSource): Implemented.
(getComponent): Implemented.
(getTrigger): Implemented.
(getSourceActions): Implemented.
(setCursor): Implemented.
(getCursor): Implemented.
(addDragSourceListener): Implemented.
(removeDragSourceListener): Implemented.
(getTransferable): Implemented.
* java/awt/dnd/DropTarget.java
(DropTargetAutoScroller.component): New member variable.
(DropTargetAutoScroller.point): New member variable.
(DropTargetAutoScroller.DropTargetAutoScroller): Implemented.
(DropTargetAutoScroller.updateLocation): Implemented.
(active): Renamed from isActive, defaults to true now.
(component): New member variable.
(flavorMap): New member variable.
(actions): New member variable.
(dropTargetContext): New member variable.
(dropTargetListener): New member variable.
(DropTarget): Implemented.
(getComponent): Implemented.
(setComponent): Implemented.
(setDefaultActions): Implemented.
(getDefaultActions): Implemented.
(setActive): Use active instead of isActive.
(isActive): Use active instead of isActive.
(addDropTargetListener): Implemented.
(removeDropTargetListener): Implemented.
(getFlavorMap): Implemented.
(setFlavorMap): Implemented.
(getDropTargetContext): Implemented.
(createDropTargetContext): Implemented.
(createDropTargetAutoScroller): Implemented.
* java/awt/dnd/DropTargetContext.java
(TransferableProxy.getTransferDataFlavors): Implemented.
(TransferableProxy.isDataFlavorSupported): Implemented.
(TransferableProxy.getTransferData): Implemented.
(dropTarget): New member variable.
(dtcp): New member variable.
(DropTargetContext): New package private constructor.
(getDropTarget): Implemented.
(getComponent): Implemented.
(addNotify): Implemented.
(removeNotify): Implemented.
(getCurrentDataFlavorsAsList): Implemented.
(isDataFlavorSupported): Implemented.
* java/awt/dnd/MouseDragGestureRecognizer.java
(registerListeners): Implemented.
(unregisterListeners): Implemented.
* Makefile.am
(awt_java_source_files): Added java/awt/dnd/DnDEventMulticaster.java.
* Makefile.in: Regenerated.
From-SVN: r63665
* Makefile.am (nat_source_files): Remove
java/io/natObjectOutputStream.cc.
* Makefile.in: Regenerated.
* mauve-libgcj: Don't exclude java.io.ObjectInputOutput tests.
* java/io/ObjectStreamField.java (typename): New field.
(ObjectStreamField(String, Class)): Initialize new field.
(ObjectStreamField(String, String)): New Constructor.
(getTypeCode): Use new field.
(getTypeString): Use new field.
* java/io/ObjectOutputStream.java (writeObject): Rethrow fatal
ObjectStreamExceptions. Remember and reset old BlockDataMode.
Handle reading of Proxy classes. Never drain(), just write
TC_ENDBLOCKDATA. Rethrow ObjectStreamExceptions.
(drain): Check writeDataAsBlocks before calling writeBlockDataHeader.
(flush): Call flush(), not just drain().
(writeBoolean): Always use blockDataOutput.
(writeByte): Likewise.
(writeShort): Likewise.
(writeChar): Likewise.
(writeInt): Likewise.
(writeLong): Likewise.
(writeFloat): Likewise.
(writeDouble): Likewise.
(writeBytes): Likewise.
(putfield (put(String,Object))): Throw IllegalArgumentException if
field cannot be found.
(putfield (write(ObjectOutput))): Remember old BlockDataMode.
(writeArraySizeAndElements): Write byte[] in one go.
(writeFields): Write TC_ENDBLOCKDATA when call_write_method, otherwise
set BlockDataMode to false.
(annotateProxyClass): New method.
(defaultProtocolVersion): Now defaults to PROTOCOL_VERSION_2
(getField): No longer native.
(getMethod): Likewise.
(setBlockDataMode): Always drain() on switch, return old mode.
(static): New static code block.
* java/io/natObjectOutputStream.cc: Removed.
* java/io/ObjectInputStream.java (getField): No longer native.
(getMethod): Likewise.
(readObject): Remember and reset old BlockDataMode. Track whether
object is consumed. Handle TC_ENDBLOCKDATA, TC_PROXYCLASSDESC and
TC_LONGSTRING.
(defaultReadObject): Set BlockDataMode to false during readFields.
(resolveClass): Create new SecurityManager if necessary.
Use Class.forName() if null ClassLoader found.
(read(byte[],int,int): Copy remaining bytes to data before calling
readNextBlock().
(readFields): Set and reset BlockDataMode on call_read_method.
Catch NoSuchFieldErrors.
(setBlockDataMode): Return old mode.
(static): New static code block.
* java/io/natObjectInputStream.cc (getField): Removed.
(getMethod): Likewise.
From-SVN: r63556
2003-01-15 Scott Gilbertson <scottg@mantatest.com>
* Makefile.in: Rebuilt.
* Makefile.am (xlib_includes): New macro.
(INCLUDES): Use it.
From-SVN: r61366
2002-12-21 Anthony Green <green@redhat.com>
* Makefile.am: Move org.xml.sax and org.w3c.dom into their own
libraries.
* Makefile.in: Rebuilt.
From-SVN: r60410
2002-12-03 Andrew Haley <aph@redhat.com>
* java/lang/natClassLoader.cc (_Jv_PrepareCompiledClass): Call
_Jv_PushClass.
(_Jv_InitNewClassFields): Set protectionDomain and chain = NULL.
(_Jv_PopClass): New.
(_Jv_PushClass): New.
* java/lang/natClass.cc (forName (jstring)): Use a StackTrace to
discover the ClassLoader of our caller.
(_Jv_CheckArrayStore): Don't check that a class is assignment
compatible with Object.
* java/lang/natVMTHrowable.cc: Delete.
* gnu/gcj/runtime/StackTrace.java: New, partly copied from
java.lang.VMThrowable.
(StackTrace(), StackTrace(int)): New constructors.
(classAt, methodAt, update, methodAtAddress): New methods.
(map): New field.
* java/lang/VMThrowable.java: Use StackTrace instead of
natVMTHrowable.
* java/lang/Class.h (getClassLoaderInternal): New.
(class Class): Be friendly with _Jv_PopClass and _Jv_PushClass.
Be friendly with gnu::gcj::runtime::StackTrace.
(Object.chain): New field.
* include/java-interp.h (class _Jv_InterpMethod): Be friendly with
gnu::gcj::runtime::StackTrace.
* prims.cc (_Jv_NewObjectArray): Use getClassLoaderInternal()
instead of getClassLoader().
* verify.cc (class _Jv_BytecodeVerifier): Likewise.
java::lang::VMThrowable.
* Makefile.am (core_java_source_files): Add MethodRef.java,
StackTrace.java.
(nat_source_files): Remove natVMThrowable.cc; add natStackTrace.cc.
* Makefile.in: Rebuild.
2002-12-03 Andrew Haley <aph@redhat.com>
* class.c (make_class_data): New field, "chain".
* decl.c (java_init_decl_processing): Likewise.
From-SVN: r59769
2002-11-01 Michael Koch <konqueror@gmx.de>
* java/nio/ByteOrder.java: New file.
* java/nio/channels/DatagramChannel.java:
(DatagramChannel): New constructor.
* java/nio/channels/Pipe.java: New file.
* java/nio/channels/SelectableChannel.java: New file.
* java/nio/channels/SelectionKey.java: New file.
* java/nio/channels/Selector.java: New file.
* java/nio/channels/ServerSocketChannel.java
(ServerSocketChannel): New constructor.
* java/nio/channels/SocketChannel.java
(SocketChannel): New constructor.
* java/nio/channels/Pipe.java: New file.
* java/nio/channels/spi/AbstractChannel.java: New file.
* java/nio/channels/spi/AbstractInterruptibleChannel.java: New file.
* java/nio/channels/spi/AbstractSelectableChannel.java:
License added
(AbstractSelectableChannel): New stubbed method.
* java/nio/channels/spi/AbstractSelectionKey.java: New file.
* java/nio/channels/spi/AbstractSelector.java: New file.
* java/nio/channels/spi/SelectorProvider.java: New file.
* java/nio/charset/Charset.java: New file.
* java/nio/charset/CoderMalfunctionError.java: New file.
* java/nio/charset/CodingErrorAction.java: New file.
* java/nio/charset/spi/CharsetProvider.java
(charsetForName): Uncommented.
* Makefile.am (java_native_source_files): Added new files.
* Makefile.in: Regenerated.
From-SVN: r58713
2002-10-07 Michael Koch <konqueror@gmx.de>
* java/nio/Buffer.java: New stub file.
* java/nio/charset/spi/CharsetProvider.java: Commented out all usages
of class Charset.
* Makefile.am (java_native_source_files): Added java/nio/Buffer.java.
* Makefile.in: Regenerated.
From-SVN: r57901
2002-10-07 Michael Koch <konqueror@gmx.de>
* java/nio/ByteBuffer.java,
java/nio/MappedByteBuffer.java:
New files, forgot to add these dummies.
* Makefile.am (java_native_source_files): Added new files.
* Makefile.in: Regenerated.
From-SVN: r57899
2002-10-07 Michael Koch <konqueror@gmx.de>
* java/nio/channels/AlreadyConnectedException.java,
java/nio/channels/ClosedChannelException.java,
java/nio/channels/ReadableByteChannel.java,
java/nio/channels/InterruptibleChannel.java,
java/nio/channels/Channel.java,
java/nio/channels/ByteChannel.java,
java/nio/channels/GatheringByteChannel.java,
java/nio/channels/ScatteringByteChannel.java,
java/nio/channels/WritableByteChannel.java,
java/nio/charset/CharacterCodingException.java,
java/nio/charset/IllegalCharsetNameException.java,
java/nio/charset/MalformedInputException.java,
java/nio/charset/UnmappableCharacterException.java,
java/nio/charset/UnsupportedCharsetException.java,
java/nio/charset/spi/CharsetProvider.java: New file.
These files are exceptions or interfaces,
no real or abstract classes.
* Makefile.am (java_native_source_files): Added new files.
* Makefile.in: Regenerated.
From-SVN: r57885
* Makefile.am (libgcj_la_SOURCES): Remove name-finder.cc.
(core_java_source_files): Add VMThrowable.java and NameFinder.java
(nat_source_files): Remove natThrowable.cc, add natVMThrowable.cc
and natNameFinder.cc.
* Makefile.in: Regenerate.
* prims.cc: Use trace_enabled from VMThrowable.
* name-finder.cc: Removed.
* gcj/javaprims.h: Add class VMThrowable.
* gnu/gcj/runtime/NameFinder.java: New file.
* gnu/gcj/runtime/natNameFinder.cc: Likewise.
* include/name-finder.h: Removed.
* java/lang/Throwable.java (printStackTrace (PrintStream)): Use new
method stackTraceString().
(printStackTrace (PrintWriter)): Likewise.
(stackTraceString): Complete rewrite of old printStackTrace using
StringBuffer.
(stackTraceStringBuffer): New helper method for stackTraceString().
(fillInStackTrace): Delegate to VMTrowable.
(getStackTrace): Likewise.
(getStackTrace0): Removed.
(trace_enabled, stackTraceBytes): Moved to new VMThrowable.java.
(setStackTrace): Copy given array.
* java/lang/natThrowable.cc: Removed (replaced by natVMThrowable).
* java/lang/VMThrowable.java: New class.
* java/lang/natVMThrowable.cc: New file.
From-SVN: r56556
2002-08-09 Mark Wielaard <mark@klomp.org>
* java/awt/image/MemoryImageSource.java: Change constructor to take
int[] not byte[].
* java/awt/Graphics2D.java: Uncomment methods that can now be
compiled.
* java/awt/GridBagLayout.java: New stub implementation.
* javax/swing/text/html/HTML.java: Stub implementation.
* javax/swing/text/html/parser/ParserDelegator.java: New stub
implementation.
2002-08-09 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
* gnu/awt/j2d/Graphics2DImpl.java: Implement stubs for new abstract
methods in Graphics2D.
* Makefile.am: Add new files.
* Makefile.in: Rebuilt.
From-SVN: r56152
Fixes PR libgcj/6389:
* Makefile.in: Rebuilt.
* Makefile.am (nat_source_files): Added natTimeZone.cc.
* java/util/natTimeZone.cc: New file.
* java/util/TimeZone.java (getDefaultTimeZoneId): New method.
* java/lang/System.java: Merged with Classpath.
* java/lang/Runtime.java: Merged with Classpath.
* java/lang/natSystem.cc (setErr0): Renamed from setErr; don't run
security check.
(setIn0): Renamed from setIn; don't run security check.
(setOut0): Renamed from setOut; don't run security check.
(file_encoding, getpwuid_adaptor, getSystemTimeZone,
init_properties): Moved to natRuntime.cc.
Moved many includes to natRuntime.cc.
(isWordsBigEndian): New method.
* java/lang/natRuntime.cc: Include Long.h, also other includes
previously in natSystem.cc.
(maxMemory): New function.
(exitInternal): Renamed from `_exit'.
(exit): Removed.
(init): Don't set finalize_on_exit.
(exitInternal): Use `finalizeOnExit'.
(file_encoding, getpwuid_adaptor): New functions from
natSystem.cc.
(insertSystemProperties): New method, renamed from
System::init_properties. Don't set user.timezone.
(_load): Don't call checkLink.
(execInternal): New method.
(availableProcessors): Likewise.
(nativeGetLibname): Likewise.
From-SVN: r53429
* java/jcf-write.c (write_classfile): Write the file to a
temporary file and then rename it.
* libjava/Makefile.am (all_java_source_files): New variable.
(all_java_class_files): Likewise.
.java.class: New rule.
(CLEANFILES): Remove tmp-list.
* libjava/Makefile.in: Regenerated.
From-SVN: r53298
zlib:
* Makefile.am: Make target library a convenience library.
* Makefile.in: Rebuilt.
libffi:
* Makefile.am: libfficonvenience -> libffi_convenience.
* Makefile.in: Rebuilt.
boehm-gc:
* Makefile.am: Make a convenience library.
* Makefile.in: Rebuilt.
libjava:
Build a single libgcj.so, without separate gc and zlib libraries.
* configure.in: Use convenience libraries for boehm-gc and zlib. Set
SYS_ZLIBS if system zlib is used.
* configure: Rebuilt.
* Makefile.am: Use boehm-gc and zlib convenience libraries.
* Makefile.in: Rebuilt.
* libtool-version: Increment .so version number.
From-SVN: r50900
* Makefile.am (jv_convert_LDADD): Don't list libraries that are
already implicitly brought in from libgcj.la.
(gij_LDADD, rmic_LDADD, rmiregistry_LDADD): Likewise.
* Makefile.in: Rebuilt.
From-SVN: r50853
2002-03-04 Eric Blake <ebb9@email.byu.edu>
* scripts/unicode-decomp.pl: Move from chartables.pl, and remove
the code for generating include/java-chartables.h.
* scripts/unicode-blocks.pl: Move from scripts/blocks.pl, and
merge with Classpath.
* scripts/unicode-muncher.pl: Copy from Classpath.
* scritps/MakeCharTables.java: New file.
* gnu/gcj/convert/Blocks-3.txt: New file.
* gnu/gcj/convert/UnicodeData-3.0.0.txt: New file.
* gnu/gcj/convert/UnicodeCharacterDatabase-3.0.0.html: New file.
* gnu/java/lang/CharData.java: Copy from Classpath.
* Makefile.am (ordinary_java_source_files): Add
gnu/java/lang/CharData.java.
* configure.in: Remove --enable-fast-character option.
* java/lang/Character.java: Merge algorithms and Javadoc with
Classpath.
* java/lang/natCharacter.cc: Implement Unicode lookup table more
efficiently.
* include/java-chardecomp.h: Regenerate.
* include/java-chartables.h: Regenerate.
From-SVN: r50368
* acinclude.m4 (LIB_AC_PROG_CXX): Copied from libstdc++-v3.
Use it.
* Makefile.am (LIBLINK): Use CXX (and its tag) for linking.
* aclocal.m4, configure, Makefile.in: Rebuilt.
From-SVN: r49954
2002-02-04 Adam Megacz <adam@xwt.org>
* win32.cc: Created it.
configure.in: Added PLATFORM_SPECIFIC_SOURCES,
which is set to posix.cc or win32.cc.
Makefile.am: Updated it to use $(PLATFORM_SPECIFIC_SOURCES).
From-SVN: r49509
* Makefile.in: Rebuilt.
* Makefile.am (awt_java_source_files): Added new files.
* java/awt/Toolkit.java: Merged with Classpath.
* java/awt/PrintGraphics.java: New file from Classpath.
* java/awt/PrintJob.java: New file from Classpath.
* java/awt/datatransfer/Clipboard.java: New file from Classpath.
* java/awt/datatransfer/ClipboardOwner.java: New file from
Classpath.
* java/awt/datatransfer/DataFlavor.java: New file from Classpath.
* java/awt/datatransfer/FlavorMap.java: New file from Classpath.
* java/awt/datatransfer/MimeTypeParseException.java: New file from
Classpath.
* java/awt/datatransfer/StringSelection.java: New file from
Classpath.
* java/awt/datatransfer/SystemFlavorMap.java: New file from
Classpath.
* java/awt/datatransfer/Transferable.java: New file from
Classpath.
* java/awt/datatransfer/UnsupportedFlavorException.java: New file
from Classpath.
From-SVN: r49171
* Makefile.in: Rebuilt.
* Makefile.am (awt_java_source_files): Added new files.
* java/awt/image/AreaAveragingScaleFilter.java: New file from
Classpath.
* java/awt/image/CropImageFilter.java: New file from Classpath.
* java/awt/image/FilteredImageSource.java: New file from
Classpath.
* java/awt/image/ImageFilter.java: New file from Classpath.
* java/awt/image/MemoryImageSource.java: New file from Classpath.
* java/awt/image/PixelGrabber.java: New file from Classpath.
* java/awt/image/RGBImageFilter.java: New file from Classpath.
* java/awt/image/ReplicateScaleFilter.java: New file from
Classpath.
* java/awt/image/ImageProducer.java: Replaced with Classpath
version.
* java/awt/image/ImageObserver.java: Replaced with Classpath
version.
* java/awt/image/ImageConsumer.java: Replaced with Classpath
version.
* java/awt/GridBagConstraints.java (clone): Catch
CloneNotSupportedException.
From-SVN: r49157
* Makefile.in: Rebuilt.
* Makefile.am (ordinary_java_source_files): Added new files.
* gnu/java/locale/LocaleInformation.java: Extend
LocaleInformation_en.
* gnu/java/locale/LocaleInformation_en.java: Added zone strings
and time/date formats.
* gnu/java/locale/LocaleInformation_en_US.java: Now automatically
generated.
* gnu/java/locale/LocaleInformation_af_ZA.java: New file.
* gnu/java/locale/LocaleInformation_ar_AE.java: New file.
* gnu/java/locale/LocaleInformation_ar_BH.java: New file.
* gnu/java/locale/LocaleInformation_ar_DZ.java: New file.
* gnu/java/locale/LocaleInformation_ar_EG.java: New file.
* gnu/java/locale/LocaleInformation_ar_IN.java: New file.
* gnu/java/locale/LocaleInformation_ar_IQ.java: New file.
* gnu/java/locale/LocaleInformation_ar_JO.java: New file.
* gnu/java/locale/LocaleInformation_ar_KW.java: New file.
* gnu/java/locale/LocaleInformation_ar_LB.java: New file.
* gnu/java/locale/LocaleInformation_ar_LY.java: New file.
* gnu/java/locale/LocaleInformation_ar_MA.java: New file.
* gnu/java/locale/LocaleInformation_ar_OM.java: New file.
* gnu/java/locale/LocaleInformation_ar_QA.java: New file.
* gnu/java/locale/LocaleInformation_ar_SD.java: New file.
* gnu/java/locale/LocaleInformation_ar_SY.java: New file.
* gnu/java/locale/LocaleInformation_ar_TN.java: New file.
* gnu/java/locale/LocaleInformation_ar_YE.java: New file.
* gnu/java/locale/LocaleInformation_be_BY.java: New file.
* gnu/java/locale/LocaleInformation_bn_IN.java: New file.
* gnu/java/locale/LocaleInformation_br_FR.java: New file.
* gnu/java/locale/LocaleInformation_bs_BA.java: New file.
* gnu/java/locale/LocaleInformation_ca_ES.java: New file.
* gnu/java/locale/LocaleInformation_cs_CZ.java: New file.
* gnu/java/locale/LocaleInformation_cy_GB.java: New file.
* gnu/java/locale/LocaleInformation_da_DK.java: New file.
* gnu/java/locale/LocaleInformation_de_AT.java: New file.
* gnu/java/locale/LocaleInformation_de_BE.java: New file.
* gnu/java/locale/LocaleInformation_de_CH.java: New file.
* gnu/java/locale/LocaleInformation_de_DE.java: New file.
* gnu/java/locale/LocaleInformation_de_LU.java: New file.
* gnu/java/locale/LocaleInformation_el_GR.java: New file.
* gnu/java/locale/LocaleInformation_en_AU.java: New file.
* gnu/java/locale/LocaleInformation_en_BW.java: New file.
* gnu/java/locale/LocaleInformation_en_CA.java: New file.
* gnu/java/locale/LocaleInformation_en_DK.java: New file.
* gnu/java/locale/LocaleInformation_en_GB.java: New file.
* gnu/java/locale/LocaleInformation_en_HK.java: New file.
* gnu/java/locale/LocaleInformation_en_IE.java: New file.
* gnu/java/locale/LocaleInformation_en_IN.java: New file.
* gnu/java/locale/LocaleInformation_en_NZ.java: New file.
* gnu/java/locale/LocaleInformation_en_PH.java: New file.
* gnu/java/locale/LocaleInformation_en_SG.java: New file.
* gnu/java/locale/LocaleInformation_en_ZA.java: New file.
* gnu/java/locale/LocaleInformation_en_ZW.java: New file.
* gnu/java/locale/LocaleInformation_es_AR.java: New file.
* gnu/java/locale/LocaleInformation_es_BO.java: New file.
* gnu/java/locale/LocaleInformation_es_CL.java: New file.
* gnu/java/locale/LocaleInformation_es_CO.java: New file.
* gnu/java/locale/LocaleInformation_es_CR.java: New file.
* gnu/java/locale/LocaleInformation_es_DO.java: New file.
* gnu/java/locale/LocaleInformation_es_EC.java: New file.
* gnu/java/locale/LocaleInformation_es_ES.java: New file.
* gnu/java/locale/LocaleInformation_es_GT.java: New file.
* gnu/java/locale/LocaleInformation_es_HN.java: New file.
* gnu/java/locale/LocaleInformation_es_MX.java: New file.
* gnu/java/locale/LocaleInformation_es_NI.java: New file.
* gnu/java/locale/LocaleInformation_es_PA.java: New file.
* gnu/java/locale/LocaleInformation_es_PE.java: New file.
* gnu/java/locale/LocaleInformation_es_PR.java: New file.
* gnu/java/locale/LocaleInformation_es_PY.java: New file.
* gnu/java/locale/LocaleInformation_es_SV.java: New file.
* gnu/java/locale/LocaleInformation_es_US.java: New file.
* gnu/java/locale/LocaleInformation_es_UY.java: New file.
* gnu/java/locale/LocaleInformation_es_VE.java: New file.
* gnu/java/locale/LocaleInformation_et_EE.java: New file.
* gnu/java/locale/LocaleInformation_eu_ES.java: New file.
* gnu/java/locale/LocaleInformation_fa_IR.java: New file.
* gnu/java/locale/LocaleInformation_fi_FI.java: New file.
* gnu/java/locale/LocaleInformation_fo_FO.java: New file.
* gnu/java/locale/LocaleInformation_fr_BE.java: New file.
* gnu/java/locale/LocaleInformation_fr_CA.java: New file.
* gnu/java/locale/LocaleInformation_fr_CH.java: New file.
* gnu/java/locale/LocaleInformation_fr_FR.java: New file.
* gnu/java/locale/LocaleInformation_fr_LU.java: New file.
* gnu/java/locale/LocaleInformation_ga_IE.java: New file.
* gnu/java/locale/LocaleInformation_gd_GB.java: New file.
* gnu/java/locale/LocaleInformation_gl_ES.java: New file.
* gnu/java/locale/LocaleInformation_gv_GB.java: New file.
* gnu/java/locale/LocaleInformation_he_IL.java: New file.
* gnu/java/locale/LocaleInformation_hi_IN.java: New file.
* gnu/java/locale/LocaleInformation_hr_HR.java: New file.
* gnu/java/locale/LocaleInformation_hu_HU.java: New file.
* gnu/java/locale/LocaleInformation_id_ID.java: New file.
* gnu/java/locale/LocaleInformation_it_CH.java: New file.
* gnu/java/locale/LocaleInformation_it_IT.java: New file.
* gnu/java/locale/LocaleInformation_iw_IL.java: New file.
* gnu/java/locale/LocaleInformation_ja_JP.java: New file.
* gnu/java/locale/LocaleInformation_ka_GE.java: New file.
* gnu/java/locale/LocaleInformation_kl_GL.java: New file.
* gnu/java/locale/LocaleInformation_ko_KR.java: New file.
* gnu/java/locale/LocaleInformation_kw_GB.java: New file.
* gnu/java/locale/LocaleInformation_lt_LT.java: New file.
* gnu/java/locale/LocaleInformation_lv_LV.java: New file.
* gnu/java/locale/LocaleInformation_mi_NZ.java: New file.
* gnu/java/locale/LocaleInformation_mk_MK.java: New file.
* gnu/java/locale/LocaleInformation_mr_IN.java: New file.
* gnu/java/locale/LocaleInformation_mt_MT.java: New file.
* gnu/java/locale/LocaleInformation_nl_BE.java: New file.
* gnu/java/locale/LocaleInformation_nl_NL.java: New file.
* gnu/java/locale/LocaleInformation_nn_NO.java: New file.
* gnu/java/locale/LocaleInformation_no_NO.java: New file.
* gnu/java/locale/LocaleInformation_oc_FR.java: New file.
* gnu/java/locale/LocaleInformation_pl_PL.java: New file.
* gnu/java/locale/LocaleInformation_pt_BR.java: New file.
* gnu/java/locale/LocaleInformation_pt_PT.java: New file.
* gnu/java/locale/LocaleInformation_ro_RO.java: New file.
* gnu/java/locale/LocaleInformation_ru_RU.java: New file.
* gnu/java/locale/LocaleInformation_ru_UA.java: New file.
* gnu/java/locale/LocaleInformation_se_NO.java: New file.
* gnu/java/locale/LocaleInformation_sk_SK.java: New file.
* gnu/java/locale/LocaleInformation_sl_SI.java: New file.
* gnu/java/locale/LocaleInformation_sq_AL.java: New file.
* gnu/java/locale/LocaleInformation_sr_YU.java: New file.
* gnu/java/locale/LocaleInformation_sv_FI.java: New file.
* gnu/java/locale/LocaleInformation_sv_SE.java: New file.
* gnu/java/locale/LocaleInformation_ta_IN.java: New file.
* gnu/java/locale/LocaleInformation_te_IN.java: New file.
* gnu/java/locale/LocaleInformation_tg_TJ.java: New file.
* gnu/java/locale/LocaleInformation_tl_PH.java: New file.
* gnu/java/locale/LocaleInformation_tr_TR.java: New file.
* gnu/java/locale/LocaleInformation_uk_UA.java: New file.
* gnu/java/locale/LocaleInformation_ur_PK.java: New file.
* gnu/java/locale/LocaleInformation_uz_UZ.java: New file.
* gnu/java/locale/LocaleInformation_vi_VN.java: New file.
* gnu/java/locale/LocaleInformation_yi_US.java: New file.
* gnu/java/locale/LocaleInformation_zh_CN.java: New file.
* gnu/java/locale/LocaleInformation_zh_HK.java: New file.
* gnu/java/locale/LocaleInformation_zh_SG.java: New file.
* gnu/java/locale/LocaleInformation_zh_TW.java: New file.
From-SVN: r48668
2001-12-15 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
* java/util/BitSet.java (and): Fix off-by-one bug, don't skip part of
the bitset.
(andNot): Likewise.
(xor): Likewise.
2001-12-15 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
* java/util/LinkedList.java (LinkedListItr.add): Don't skip the next
entry.
2001-12-15 Eric Blake <ebb9@email.byu.edu>
* java/util/TreeMap.java (removeNode): Fix bug in node removal.
2001-12-15 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
* java/util/AbstractCollection.java (containsAll): Use size of the
correct collection for loop bound.
* java/util/AbstractList.java (iterator.next): Increment pos after
calling get on backing list.
(listIterator.next): Likewise.
* java/util/LinkedList.java (addLastEntry): Don't increment size before
checking for size == 0.
(addFirstEntry): Rearrange to match addLastEntry.
(add): Do not increment size before inserting the new entry.
* java/util/AbstractCollection.java (addAll): Use size of the
correct collection for loop bound.
2001-12-15 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
* java/util/AbstractSet.java (removeAll): Fix scoping thinko.
* java/util/HashMap.java (putAllInternal): Set size here.
* java/util/Hashtable.java (putAllInternal): New method. Copy contents
of a map efficiently without calling put() or putAll().
(Hashtable (map)): Use putAllInternal.
(clone): Likewise.
2001-12-15 Eric Blake <ebb9@email.byu.edu>
* java/util/Collections.java:
* java/util/Vector.java:
* java/util/WeakHashMap.java: Fix spelling errors.
2001-12-15 Eric Blake <ebb9@email.byu.edu>
* java/util/AbstractCollection.java (removeAllInternal),
(retainAllInternal): Add hooks for use by ArrayList.
* java/util/AbstractList.java: Minor code updates. Fix some
scoping.
* java/util/AbstractMap.java: ditto
* java/util/ArrayList.java (readObject, writeObject): ditto
(removeAllInternal, retainAllInternal): Optimize.
* java/util/Arrays.java: ditto
* java/util/Collections.java: ditto. Change order of parameters
to equals(Object, Object) to match specs.
* java/util/Dictionary.java: Improve javadoc.
(Dictionary): Add explicit constructor.
* java/util/HashMap.java: Improve javadoc. Rearrange methods to
follow order in JDK. Cleanups related to recent code migration to
AbstractMap. Fix some scoping.
(entrySet): Cache the result.
(modCount): Ensure that this is updated correctly.
* java/util/HashSet.java: Improve javadoc. Fix some scoping.
(init): Add hooks for LinkedHashSet.
(map): Use "" instead of Boolean.TRUE in backing map. Use
package-private API where possible for less overhead.
(readObject, writeObject): Fix serialization.
* java/util/Hashtable.java: Improve javadoc. Fix some scoping.
(entrySet, keySet, values): Cache the result.
(modCount): Ensure that this is updated correctly.
(contains, remove): Fix NullPointer checking to match specs.
(class Enumeration): Make more like HashIterator.
* java/util/IdentityHashMap.java: Minor code updates.
(modCount): Ensure that this is updated correctly.
(readObject, writeObject): Fix serialization.
* java/util/LinkedHashMap.java: Minor code updates. Cleanups
related to recent code migration to AbstractMap.
* java/util/LinkedHashSet.java: New file.
* java/util/LinkedList.java:
(readObject, writeObject): Fix serialization.
* java/util/Makefile.am: List recently added files.
* java/util/Stack.java: Minor code updates.
* java/util/TreeMap.java: Improve javadoc. Overhaul the class to
be more efficient. Fix some scoping. Rearrange the methods.
(nil): Ensure that this can be thread-safe, and make it a static
final. Initialize it to be more useful as a sentinal node.
(Node): Specify color in constructor.
(deleteFixup, insertFixup): Improve comments and algorithm.
(fabricateTree): Redesign with less overhead.
(lowestGreaterThan): Add parameter first to make SubMap easier.
(removeNode): Patch hole where nil was being modified. Choose
predecessor instead of successor so in-place swap works.
(class VerifyResult, verifyTree, verifySub, verifyError): Remove
this dead code after verifying the class works.
(class SubMap): Rewrite several algorithms to avoid problems with
comparing nil.
* java/util/TreeSet.java: Improve javadoc. Fix some scoping.
(clone): Fix ClassCastException when cloning subSet().
(readObject, writeObject): Fix serialization.
* java/util/WeakHashMap.java: Improve javadoc. Fix some scoping.
(NULL_KEY): Make it compare as null, for ease elsewhere.
(Class WeakEntry): Rename from Entry, to avoid shadowing
Map.Entry. Add missing toString.
(modCount): Ensure that this is updated correctly.
(clear, containsValue, keySet, putAll, values, WeakHashMap(Map)):
Add missing methods and constructor.
2001-12-15 Eric Blake <ebb9@email.byu.edu>
* java/util/ArrayList.java (checkBoundExclusive),
(checkBoundInclusive): Rename from range??clusive, to match
AbstractList.
* java/util/LinkedList.java (checkBoundsExclusive),
(checkBoundsInclusive): ditto
* java/util/Vector.java (checkBoundExclusive),
(checkBoundInclusive): Move bounds checking into common methods.
2001-12-15 Eric Blake <ebb9@email.byu.edu>
* java/util/AbstractList.java:
(modCount): Make sure it is updated in all needed places.
* java/util/ArrayList.java: Improve javadoc. Implements
RandomAccess. Add serialVersionUID. Reorder methods.
(modCount): Make sure it is updated in all needed places.
(rangeExclusive, rangeInclusive): Add common methods for bounds
check.
(isEmpty): Add missing method.
* java/util/Collections.java: (class SynchronizedList): Make
package visible.
* java/util/ConcurrentModificationException.java: Improve
javadoc.
* java/util/EmptyStackException.java: Improve javadoc.
* java/util/LinkedList.java: Improve javadoc.
(modCount): Make sure it is updated in all needed places.
(rangeExclusive, rangeInclusive): Add common methods for bounds
check.
* java/util/NoSuchElementException.java: Improve javadoc.
* java/util/Stack.java: Improve javadoc. Fix synchronization
issues.
(modCount): Make sure it is updated in all needed places.
* java/util/Vector.java: Improve javadoc. Fix synchronization
issues. Implements RandomAccess. Reorder methods.
(modCount): Make sure it is updated in all needed places.
(setSize): Fix according to specifications: this does not dictate
the backing array size.
(removeAll, retainAll): Faster implementations.
2001-12-15 Eric Blake <ebb9@email.byu.edu>
* java/util/BitSet.java: Improve javadoc.
(cardinality(), clear(), clear(int, int), flip(int)),
(flip(int, int), get(int, int), intersects(BitSet), isEmpty()),
(nextClearBit(int), nextSetBit(int), set(int, boolean)),
(set(int, int), set(int, int, boolean)): Add new JDK 1.4 methods.
(clone): Fix so subclasses clone correctly.
2001-12-15 Eric Blake <ebb9@email.byu.edu>
* java/util/AbstractCollection.java: Improve javadoc.
(AbstractCollection()): Make constructor protected.
(equals(Object, Object), hashCode(Object)): Add utility methods.
* java/util/AbstractList.java: Improve javadoc.
(AbstractList()): Make constructor protected.
(indexOf(Object)): Call listIterator(), not listIterator(int).
(iterator()): Follow Sun's requirement to not use listIterator(0).
(listIterator(int)): Make AbstractListItr anonymous.
(subList(int, int)): Add support for RandomAccess.
(SubList.add(int, Object), SubList.remove(Object)): Fix bug with
modCount tracking.
(SubList.addAll(Collection)): Add missing method.
(SubList.listIterator(int)): Fix bugs in indexing, modCount
tracking.
(class RandomAccessSubList): Add new class.
* java/util/AbstractMap.java: Improve javadoc.
(keys, values, KEYS, VALUES, ENTRIES): Consolidate common map
fields.
(AbstractMap()): Make constructor protected.
(equals(Object, Object), hashCode(Object)): Add utility methods.
(equals(Object)): Change algorithm to
entrySet().equals(m.entrySet()), as documented by Sun.
(keySet(), values()): Cache the collections.
* java/util/AbstractSequentialList.java: Improve javadoc.
(AbstractSequentialList()): Make constructor protected.
* java/util/AbstractSet.java: Improve javadoc.
(AbstractSet()): Make constructor protected.
(removeAll(Collection)): Add missing method.
* java/util/Arrays.java: Improve javadoc, rearrange method orders.
(defaultComparator): Remove, in favor of
Collections.compare(Object, Object, Comparator).
(binarySearch, equals, sort): Fix natural order comparison of
floats and doubles. Also improve Object comparison - when
comparator is null, use natural order.
(fill, sort): Add missing checks for IllegalArgumentException.
(sort, qsort): Fix sorting bugs, rework the code for more
legibility.
(mergeSort): Inline into sort(Object[], int, int, Comparator).
(class ArrayList): Rename from ListImpl, and make compatible with
JDK serialization. Add methods which more efficiently override
those of AbstractList.
* java/util/Collections: Improve javadoc.
(isSequential(List)): Add and use a method for deciding between
RandomAccess and sequential algorithms on lists.
(class Empty*, class Synchronized*, class Unmodifiable*): Make
compliant with JDK serializability.
(class Singleton*, class CopiesList, class RevereseComparator),
(class UnmodifiableMap.UnmodifiableEntrySet),
(class *RandomAccessList): New classes for serial compatibility.
(class Empty*, class Singleton*, class CopiesList): Add methods
which more efficiently override those of Abstract*.
(search): Inline into binarySearch(List, Object, Comparator).
(binarySearch): Make sequential search only do log(n) comparisons,
instead of n.
(copy(List, List)): Do bounds checking before starting.
(indexOfSubList, lastIndexOfSubList, list, replaceAll, rotate),
(swap): Add new JDK 1.4 methods.
(binarySearch, max, min, sort): Allow null comparator to represent
natural ordering.
(reverse(List)): Avoid unnecessary swap.
(shuffle(List, Random)): Do shuffle in-place for RandomAccess
lists.
(SingletonList.get): Fix logic bug.
(SingletonMap.entrySet): Make the entry immutable, and cache the
returned set.
(SynchronizedCollection, SynchronizedMap, UnmodifiableCollection),
(UnmodifiableMap): Detect null pointer in construction.
(SynchronizedMap, UnmodifiableMap): Cache collection views.
* java/util/BasicMapEntry: Improve javadoc.
From-SVN: r48035
* Makefile.in: Rebuilt.
* Makefile.am (java/lang/reflect/Method.h): ObjectInputStream now
a friend.
* java/lang/natClass.cc (getSignature): Only look at elements of
non-null parameters.
(getPrivateMethod): Removed old FIXME comment.
* java/io/natObjectInputStream.cc (allocateObject): Removed old
FIXME comment.
(callConstructor): Simply use `NULL' for value of parameters.
(ObjectClass): Removed.
(ClassClass): Likewise.
* java/io/ObjectInputStream.java (readObject): Fixed typo.
From-SVN: r47800