* java/util/jar/JarFile.java (manifest): Not final.
(manifestRead): New field.
(JarFile): Don't read Manifest in constructor.
(getManifest): New method.
(JarEnumeration.nextElement): Use new method.
(getEntry): Likewise.
* java/util/zip/ZipFile.java (name): Final.
(raf): Likewsie.
(entries): Change type to Hashtable.
(closed): New field.
(ZipFile): Don't read enties in constructor.
(readEntries): Use Hashtable.
(close): Set new close flag and set entries to null inside
synchronized block.
(entries): Contruct enumeration using new getEntries() method and
entries Hashtable.
(getEntryIndex): Removed.
(getEntries): New method.
(getEntry): Use new getEntries() method and entries Hastable.
(getInputStream): Likewise.
(size): Return getEntries().size().
(ZipEntryEnumeration): Wrap entries Hashtable elements.
* java/util/zip/ZipEntry.java (cal): Don't initialize.
(time): Removed
(dostime): New field.
(zipFileIndex): Removed.
(ZipEntry(ZipEntry)): Copy dostime.
(setDOSTime): Now final and doesn't convert dos time.
(getDOSTime): Likewise.
(setTime): Convert dos time.
(getTime): Likewise.
(getCalendar): New method.
(setExtra): Use setTime().
* java/util/zip/ZipInputStream.java (getNextEntry): Format error msg.
From-SVN: r59785
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.
From-SVN: r59770
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-29 Scott Gilbertson <scottg@mantatest.com>
* java/awt/image/ColorModel.java (getUnnormalizedComponents,
getNormalizedComponents): Fix calculation which was using one too
many bits in the unnormalized format.
From-SVN: r59651
2002-11-27 Julian Dolby <dolby@us.ibm.com>
* java/util/Locale.java (toString): Improve efficiency if country
and variant are both empty.
From-SVN: r59590
* include/posix.h
(_Jv_socket): New method.
(_Jv_connect): New method.
(_Jv_close): New method.
(_Jv_platform_close_on_exec): Prefixed system function with "::".
(_Jv_bind): New method.
(_Jv_listen): New method.
(_Jv_write): New method.
(_Jv_read): New method.
* include/win32.h
(_Jv_socket): New method.
(_Jv_connect): New method.
(_Jv_close): New method.
(_Jv_bind): New method.
(_Jv_listen): New method.
(_Jv_write): New method.
(_Jv_read): New method.
* java/net/natNetworkInterface.cc:
Include platform.h, removed inclusion of socket.h
(getRealNetworkInterfaces): Replaced ::socket() by _Jv_socket() and
::close() by _Jv_close().
* java/net/natPlainDatagramSocketImpl.cc:
Removed include of socket.h, definition of NATIVE_CLOSE and _Jv_bind,
added some new lines to make code more readable.
(create): Replaced ::socket() by _Jv_socket().
(close): Replaced NATIVE_CLOSE() by _Jv_close().
* java/net/natPlainSocketImpl.cc:
Removed definition of NATIVE_CLOSE, _Jv_bind, Jv_connect and _Jv_accept,
removed include of socket.h, removed some windows defines
(now in include/win32.h).
(create): Replaced ::socket() by _Jv_socket().
(close): Replaced NATIVE_CLOSE() by _Jv_close().
(write): Replaced ::read by _Jv_write().
(read): Replaced ::read by _Jv_read().
From-SVN: r59338
2002-11-18 Jesse Rosenstock <jmr@ugcs.caltech.edu>
* java/nio/charset/CoderResult.java (Cache.get): Fix a bug
that was causing CoderResults to be cached, not WeakReferences
to CoderResults.
From-SVN: r59233
2002-11-18 Joerg Brunsmann <joerg_brunsmann@yahoo.de>
* java/security/KeyStore.java (getInstance): Fix
comment and throw IllegalArgumentException if
given provider is null.
(getInstance): New method for jdk1.4 compatibility.
From-SVN: r59226
* java/nio/charset/Charset.java
(<clinit>): New method.
(encode): Synchronize use of cached encoder object.
(decode): Synchronize use of cached encoder object.
From-SVN: r59218
Integrate work by Raif S. Naffah (raif@fl.net.au)
* java/security/DummyKeyPairGenerator.java (clone): New method.
* java/security/DummyMessageDigest.java (clone): New method.
(engineUpdate): Now public.
(engineReset): Likewise.
(engineDigest): Likewise.
(engineGetDigestLength): New method.
* java/security/DummySignature.java (clone): New method.
* java/security/KeyPairGenerator.java (provider): Now package private.
(getInstance(String)): Use getInstance(String,Provider).
(getInstance(String,String): Use getInstance(String,Provider)
(getInstance(String,Provider): New method.
(getInstance(String,String,Provider): Don't cast DummyKeyPairGenerator.
* java/security/KeyPairGeneratorSpi.java (clone): New method.
* java/security/MessageDigest.java (provider): Now package private.
(getInstance(String): Use getInstance(String,Provider).
(getInstance(String,String): Use getInstance(String,Provider)
(getInstance(String,Provider): New method.
* java/security/Provider.java (toCanonicalKey): New method.
(get): New method that uses toCanonicalKey().
(put): Use toCanonicalKey().
(remove): Likewise.
* java/security/Security.java (insertProviderAt): Provider index is one
based, not zero based.
(addProvider): Likewise.
(removeProvider): Likewise.
* java/security/Signature.java (provider): Now package private.
(getInstance(String)): Use getInstance(String,Provider).
(getInstance(String,String): Use getInstance(String,Provider)
(getInstance(String,Provider): New method.
(getInstance(String,String,Provider): Don't cast DummySignature.
From-SVN: r59179
2002-11-11 Michael Koch <konqueror@gmx.de>
* java/nio/charset/CharacterCodingException.java:
This class must be public.
* java/nio/charset/CoderMalfunctionError.java:
This class must be public.
* java/nio/charset/CodingErrorAction.java:
This class must be public.
* java/nio/charset/IllegalCharsetNameException.java:
This class must be public, better implementation.
* java/nio/charset/MalformedInputException.java:
This class must be public, better implementation.
* java/nio/charset/UnmappableCharacterException.java:
This class must be public, better implementation.
* java/nio/charset/UnsupportedCharsetException.java:
This class must be public, better implementation.
From-SVN: r59012
* java/awt/GridLayout.java (layoutContainer): Use tree lock.
(getSize): Likewise.
* java/awt/FlowLayout.java (layoutContainer): Use tree lock.
(getSize): Likewise.
* java/awt/BorderLayout.java (layoutContainer): Use tree lock.
(calcSize): Likewise.
* java/awt/CardLayout.java (getSize): Use tree lock.
(gotoComponent): Likewise.
(layoutContainer): Likewise.
From-SVN: r58998
* java/io/natFileDescriptorWin32.cc (read): Handle case where
count is 0.
* java/io/natFileDescriptorPosix.cc (read): Handle case where
count is 0.
From-SVN: r58997
* java/lang/natClass.cc (initializeClass): Throw NoClassDefFoundError
with getName() as message.
(_Jv_CheckArrayStore): Throw ArrayStoreException with object and array
type as message.
* java/lang/natVMThrowable.cc: Don't declare parameter t, it is
unused.
From-SVN: r58991
Merge Orp RMI patches from Wu Gansha <gansha.wu@intel.com>
* java/rmi/MarshalledObject.java (equals): Check hashcode first.
* java/rmi/server/RMIClassLoader.java (MyClassLoader): Create/Use
annotation.
(loadClass): Take String as codebases.
(getClassAnnotation): Use MyClassLoader annotations.
* java/rmi/server/UnicastRemoteObject.java (UnicastRemoteObject):
call exportObject(this).
* gnu/java/rmi/RMIMarshalledObjectOutputStream.java
(RMIMarshalledObjectOutputStream): set locBytesStream and locStream.
(setAnnotation): Don't set locBytesStream and locStream.
(replaceObject): Removed.
(flush): Don't test locStream.
(getLocBytes): LikeWise.
* gnu/java/rmi/dgc/DGCImpl.java: extends UnicastServerRef.
(leaseCache): New field.
(dirty): Use leaseCache.
(LeaseRecord): New inner class.
* gnu/java/rmi/registry/RegistryImpl.java (RegistryImpl): Don't
explicitly call exportObject().
* gnu/java/rmi/registry/RegistryImpl_Stub.java: set useNewInvoke to
false to communicate with Sun JDK130.
* gnu/java/rmi/server/ConnectionRunnerPool.java: Add CPU comment.
* gnu/java/rmi/server/RMIObjectInputStream.java
(UnicastConnectionManager): Removed field.
* gnu/java/rmi/server/RMIObjectOutputStream.java (replaceObject):
Use UnicastServer.getExportedRef().
* gnu/java/rmi/server/UnicastConnection.java (reviveTime): New field.
(expireTime): Likewise.
(CONNECTION_TIMEOUT): Likewise.
(disconnect): Call sock.close().
(isExpired): New method.
(resetTime): Likewise.
(run): Use do while loop and catch Exception for discardConnection().
* gnu/java/rmi/server/UnicastConnectionManager.java: Pool connections.
* gnu/java/rmi/server/UnicastRef.java: Lots of changes.
* gnu/java/rmi/server/UnicastRemoteCall.java: Lots of changes.
* gnu/java/rmi/server/UnicastServer.java (refcache): New field.
(exportObject): Use refcache.
(unexportObject): Likewise.
(getExportedRef): New method.
* gnu/java/rmi/server/UnicastServerRef.java (UnicastServerRef): New
constructor.
(exportObject): Save manager.serverobj.
(getStub): New method.
From-SVN: r58900
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
* java/util/zip/ZipFile.java (readLeShort): Take and use DataInput as
argument.
(readLeShort): Likewise and use byte[].
(readLeInt): Likewise.
(readEntries): Use new versions of methods and use byte[] for reading
a complete zip entry. Add ZipFile name to exceptions.
(entries): Add ZipFile name to exceptions.
(getEntry): Likewise.
(checkLocalHeader): Use new versions of methods and add ZipFile name
to exceptions.
From-SVN: r58697
2002-10-23 Ranjit Mathew <rmathew@hotmail.com>
* java/io/natFileWin32.cc (attr): Use FindFirstFile( ) instead of
GetFileAttributesEx( ) to find file length and modification times,
as the latter is not present on Windows 95.
From-SVN: r58466
2002-10-19 Ranjit Mathew <rmathew@hotmail.com>
* java/lang/natRuntime.cc (insertSystemProperties): Added GCJ
runtime property "gnu.gcj.progname" containing the name used to
invoke the current Java program (similar to argv[0] for C
programs).
From-SVN: r58343
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
2002-10-03 Adam Megacz <adam@xwt.org>
* natNetworkInterface.cc (getRealNetworkInterfaces): ifdef out
some functionality that isn't supported yet on WIN32.
From-SVN: r57794
2002-10-03 Michael Koch <konqueror@gmx.de>
* java/awt/dnd/Autoscroll.java:
New file, merge from Classpath.
* java/awt/dnd/DragSourceAdapter.java:
(dragExit): Fixed typos in argument type.
(dragDropEnd): Fixed typos in argument type.
* java/awt/dnd/DragSourceDropEvent.java:
New file, merge from Classpath.
* java/awt/dnd/DropTarget.java:
Added stubs, merge from Classpath.
* java/awt/dnd/DropTargetAdapter.java:
New file, merge from Classpath.
* java/awt/dnd/DropTargetContext.java:
New file, merge from Classpath.
* java/awt/dnd/DropTargetDragEvent.java:
New file, merge from Classpath.
* java/awt/dnd/DropTargetDropEvent.java:
New file, merge from Classpath.
* java/awt/dnd/DropTargetEvent.java:
New file, merge from Classpath.
* java/awt/dnd/DropTargetListener.java:
New file, merge from Classpath.
* java/awt/dnd/MouseDragGestureRecognizer.java:
New file, merge from Classpath.
* java/awt/dnd/peer/DropTargetContextPeer.java:
New file, merge from Classpath.
From-SVN: r57777
* java/net/DatagramSocket.java
(receive): Check with SecurityManager AFTER the packet is received,
check if connected to multicast address, documentation added.
(send): Only check SecurityManager if connected, check address of
packet to send.
(connect): Implemented, documentation added.
* java/net/Inet6Address.java: New file (not added yet to Makefile.am).
* java/net/InetSocketAddress.java
(whole file): Reindented.
(hostname): New attribute.
(InetSocketAddress): Initialize new attribute.
(getAddress): Documentation added.
(getHostName): Documentation added.
(getPort): Documentation added.
(hashCode): Documentation added.
(isUnresolved): Documentation added.
(toString): Conform to output of JDK 1.4.1, documentation added.
* java/net/MulticastSocket.java
(joinGroup): Removed FIXME, documentation added.
(leaveGroup): Removed FIXME, documentation added.
(send): Documentation added.
* java/net/Socket.java
(inputShutdown): New variable.
(outputShutdown): New variable.
(Socket): Initialize new variables.
(getRemoteSocketAddress): Check if connected.
(shutdownInput): Set new variable.
(shutdownOutput): Set new variable.
(isConnected): New method.
(isClosed): New method.
(isInputShutdown): New method.
(isOutputShutdown): New method.
* java/net/URLStreamHandler.java
(URLStreamHandler): New method.
(openConnection): Added documentation.
(parseURL): Added documentation.
(getHostAddress): New method.
(getDefaultPort): New method.
From-SVN: r57772
(_Jv_PrepareCompiledClass): Throw NoClassDefFoundError, per spec.
* resolve.cc: Include NoClassDefFoundError.h, not
ClassNotFoundException.h.
(_Jv_ResolvePoolEntry): Throw NoClassDefFoundError, per spec.
* defineclass.cc: Don't include ClassNotFoundException.h.
From-SVN: r57516
2002-09-25 Jesse Rosenstock <jmr@ugcs.caltech.edu>
Fix for PR libgcj/7766:
* java/util/zip/ZipInputStream.java (entryAtEOF): New field.
(getNextEntry): Set it.
(closeEntry): Likewise.
(read): Likewise.
(close): Likewise.
(available): Use it.
From-SVN: r57513
Fix for PR libgcj/6576:
* java/util/ResourceBundle.java (tryBundle): Cache `null' if we
didn't find a given bundle.
(getBundle): Don't require base bundle.
(setParent): Removed old comment.
(tryLocalBundle): Try components even if preceding components were
empty.
From-SVN: r57442
* java/net/Socket.java
(sendUrgentData): New method.
(getChannel): New method.
* java/net/ServerSocket.java
(getChannel): New method.
(isBound): New method.
* java/net/DatagramSocket.java
(DatagramSocket): Two new methods.
(bind): New method.
(getChannel): New method.
(isBound): New method.
(send): Added newline to to make shorter lines.
* java/net/PlainDatagramSocketImpl.java
(mcastGrp): Added argument.
(join): Use new mcastGrp.
(leave): Use new mcastGrp.
(joinGroup): New method.
(leaveGroup): New method.
* java/net/natPlainDatagramSocketImpl.cc
(mcastGrp): Added argument, no yet really implemented.
(getOption): Added newline for shorter lines.
* java/net/natPlainSocketImpl.cc
(read, setOption, getOption): Added newline for shorter lines.
From-SVN: r57380