* java/awt/CheckboxMenuItem.java
(CheckBoxMenuItem): Dont implement Serializable.
(getListeners): New method,
(getItemListeners): New method.
* java/awt/Choice.java
(getListeners): New method,
(getItemListeners): New method.
* java/awt/Container.java
(getListeners): Added exception documentation.
(setFocusTraversalKeys): Throw exceptions, added documentattion.
(getFocusTraversalKeys): Added documentation.
(areFocusTraversalKeysSet): Added documentation.
(applyComponentOrientation): Added documentation.
* java/awt/ContainerOrderFocusTraversalPolicy.java
(implicitDownCycleTraversal): Renamed from downCycle for
serialization.
(ContainerOrderFocusTraversalPolicy): Added documentation.
(accept): Reformated.
* java/awt/Dialog.java
(Dialog): Dont implement Serializable.
(Dialog): Added documentation.
* java/awt/Font.java
(Font): Dont use absolute class name.
* java/awt/Frame.java
(Frame): Font implement Serializable.
* java/awt/List.java
(getListeners): New method,
(getActionListeners): New method.
(getItemListeners): New method.
* java/awt/Menu.java
(countItems): New deprecated method.
* java/awt/Scrollbar.java
(getListeners): New method,
(getAdjustmentListeners): New method,
* java/awt/TextComponent.java
(getListeners): New method,
(getTextListeners): New method,
* java/awt/TextField.java
(getListeners): New method,
(getActionListeners): New method.
* java/awt/Window.java
(windowFocusListener): New member variable.
(windowStateListener): New member variable.
(getWindowFocusListeners): New method.
(getWindowStateListeners): New method.
(addWindowFocusListener): New method.
(addWindowStateListener): New method.
(removeWindowFocusListener): New method.
(removeWindowStateListener): New method.
* java/awt/datatransfer/DataFlavor.java
(isRepresentationClassByteBuffer): New method.
(isRepresentationClassCharBuffer): New method.
(isRepresentationClassReader): New method.
From-SVN: r62933
* libjava.mauve/mauve.exp (mauve_compute_uses): Add inner class
object files by changing all occurances of $ to ^.
(test_mauve): Replace ^ with $ for class file names and quote
them with "'"s.
From-SVN: r62914
* java/math/BigDecimal.java (BigDecimal(String)): Always set scale to
zero when there is an exponent and the significant is zero.
(divide): Always set scale to newScale even in special ZERO case.
From-SVN: r62908
2003-02-14 Michael Koch <konqueror@gmx.de>
* gnu/java/nio/natServerSocketChannelImpl.cc: Removed.
* gnu/java/nio/ServerSocketChannelImpl.java
(SocketAccept): Removed.
(accept): Commented out use of SocketAccept.
From-SVN: r62898
* verify.cc (state::seen_subrs): New field.
(state::state): Initialize it.
(state::clean_subrs): New method.
(state::~state): Call it.
(state::copy): Copy subroutine list.
(state::add_subr): New method.
(state::merge): Only register a change if the current subroutine
hasn't yet been noted.
From-SVN: r62878
* gnu/java/nio/FileChannelImpl.java
(lengthInternal): Must be native.
(size): Check if channel is already closed.
(implCloseChannel): Reformated.
(read): w was unused, removed it.
(read): Removed.
(read): New method.
(write): New method.
(map): Check arguments.
(force): Throws IOException, check if channel is closed.
(transferTo): New method.
(transferFrom): New method.
(lock): New method.
(tryLock): New method.
(position): New method.
(truncate): New method.
(nio_mmap_file): Uncommented.
(nio_munmap_file): Uncommented.
(nio_msync): Uncommented.
* gnu/java/nio/natFileChannelImpl.cc: New file.
From-SVN: r62841
* java/nio/ByteBuffer.java
(endian): New member variable.
(get): New methods.
(equals): New method.
(compareTo): New method.
(order): New methods.
(compact): New method.
(isDirect): New method.
(slice): New method.
(duplicate): New method.
(asReadOnlyBuffer): New method.
(asCharBuffer): New method.
(asDoubleBuffer): New method.
(asFloatBuffer): New method.
(asIntBuffer): New method.
(asLongBuffer): New method.
(asShortBuffer): New method.
(get*): New methods.
(put*): New methods.
(toString): New method.
* java/nio/CharBuffer.java
(CharBuffer): Implement Comparable instead of Cloneable.
(get): May not be final.
(put): May not be final.
From-SVN: r62836
2002-02-13 Ranjit Mathew <rmathew@hotmail.com>
* gnu/gcj/runtime/NameFinder.java (createStackTraceElement): Use
lastIndexOf( ) instead of indexOf( ) to find the colon before
the line number, because Win32 file names might contain a
drive letter and a colon at the start of an absolute path.
From-SVN: r62834
* java/net/NetPermission.java
(NetPermission): Make doucmentation match the method declaration.
* java/net/NetworkInterface.java
(equals): Reformated for GNU coding style.
* java/net/ServerSocket.java: Merged with classpath.
* java/net/Socket.java: Partly merged with classpath (Added some @since).
* java/net/SocketImpl.java
(localPort): Merged with classpath (initialize with -1).
* java/net/SocketPermission.java: Merged with classpath (reindented).
* java/net/URLDecoder.java: Merged with classpath (reindented).
From-SVN: r62824
2003-02-12 Ranjit Mathew <rmathew@hotmail.com>
* include/win32.h: Include ws2tcpip.h instead of
winsock.h to obtain definition of the socklen_t type.
Remove IP_TOS definition - not needed with ws2tcpip.h
(_Jv_connect): Correct slight formatting error.
From-SVN: r62801
2003-02-12 Ranjit Mathew <rmathew@hotmail.com>
* jni.cc (_Jv_LookupJNIMethod): Modify to accept the
size of the arguments for a JNI function. For Win32,
modify to search for all forms of possible exported
names of an stdcall JNI function.
(_Jv_JNIMethod::call): Modify to calculate the size
of the arguments passed to a JNI function and pass
it to _Jv_LookupJNIMethod.
From-SVN: r62796
* java/nio/Buffer.java
(cap, lim, pos, mark): Made private
(Buffer): Added package private constructor.
* java/nio/ByteBuffer.java
(ByteBuffer): Implements Cloneable.
(offset): New member variable.
(readOnly): New member variable.
(backing_buffer): New member variable.
(allocateDirect): Throw exception and tell that direct buffers are
not supported yet, documentation added.
(allocate): Documentation added.
(wrap): Documentation added.
(ByteBuffer): New constructor.
(hasArray): New method.
(array): New method.
(arrayOffset): New method.
(get): Documentation added.
(put): Documentation added.
* java/nio/CharBuffer.java
(CharBuffer): New constructor.
(compareTo): Don't access member variables of Buffer directly.
* java/nio/DoubleBuffer.java
(allocateDirect): Throw exception and tell that direct buffers are
not supported yet.
* java/nio/FloatBuffer.java
(allocateDirect): Throw exception and tell that direct buffers are
not supported yet.
* java/nio/IntBuffer.java
(allocateDirect): Throw exception and tell that direct buffers are
not supported yet.
* java/nio/LongBuffer.java
(allocateDirect): Throw exception and tell that direct buffers are
not supported yet.
* java/nio/MappedByteBuffer.java
(MappedByteBuffer): New method.
(force): New method.
(isLoaded): New method.
(load): New method.
* java/nio/ShortBuffer.java
(allocateDirect): Throw exception and tell that direct buffers are
not supported yet.
From-SVN: r62685
* java/nio/DoubleBuffer.java
(DoubleBuffer): Implements Comparable.
(endian): Removed.
(array_offset): New member variable.
(DoubleBuffer): New constuctor.
(get): May not be final.
(put): May not be final.
(arrayOffset): Implemented.
(order): Made abstract.
(order): Removed.
(as*Buffer): Removed.
(get*): Removed.
(put*): Removed.
* java/nio/FloatBuffer.java
(FloatBuffer): Implements Comparable.
(endian): Removed.
(array_offset): New member variable.
(FloatBuffer): New constuctor.
(get): May not be final.
(put): May not be final.
(arrayOffset): Implemented.
(order): Made abstract.
(order): Removed.
(as*Buffer): Removed.
(get*): Removed.
(put*): Removed.
* java/nio/IntBuffer.java
(IntBuffer): Implements Comparable.
(endian): Removed.
(array_offset): New member variable.
(IntBuffer): New constuctor.
(get): May not be final.
(put): May not be final.
(arrayOffset): Implemented.
(order): Made abstract.
(order): Removed.
(as*Buffer): Removed.
(get*): Removed.
(put*): Removed.
* java/nio/LongBuffer.java
(LongBuffer): Implements Comparable.
(endian): Removed.
(array_offset): New member variable.
(LongBuffer): New constuctor.
(get): May not be final.
(put): May not be final.
(arrayOffset): Implemented.
(order): Made abstract.
(order): Removed.
(as*Buffer): Removed.
(get*): Removed.
(put*): Removed.
* java/nio/ShortBuffer.java
(ShortBuffer): Implements Comparable.
(endian): Removed.
(array_offset): New member variable.
(ShortBuffer): New constuctor.
(get): May not be final.
(put): May not be final.
(arrayOffset): Implemented.
(order): Made abstract.
(order): Removed.
(as*Buffer): Removed.
(get*): Removed.
(put*): Removed.
From-SVN: r62684
* java/nio/charset/IllegalCharsetNameException.java
(serialVersionUID): New member variable.
(charsetName): New member variable.
(IllegalCharsetException): New implementation.
(getCharsetName): New implementation.
* java/nio/charset/UnsupportedCharsetException.java
(serialVersionUID): New member variable.
(charsetName): New member variable.
(UnsupportedCharsetException): New implementation.
(getCharsetName): New implementation.
From-SVN: r62680
2003-02-10 Raif S. Naffah <raif@fl.net.au>
* gnu/java/security/provider/SHA1PRNG.java (ensureIsSeeded): new
method used to ensure seeding has occurred and that a specific
seed can be set and used.
From-SVN: r62660
2003-02-10 Raif S. Naffah <raif@fl.net.au>
* java/math/BigInteger.java:
Updated notice to include years 2002 and 3.
Added 2 private (int) arrays with values from the HAC (Handbook of
Applied Cryptography -A. Menezes & al): k[] that contains bit lengths
and t[] that contains nbr. of tests --used in isProbablePrime().
* java/math/BigInteger.java (make(long)): Merged into valueOf(long).
* java/math/BigInteger.java (make(int[],int), add(int,int),
add(BI,BI,int), times(BI,int), divide(long,long,BI,BI,int), gcd(BI),
isProbablePrime(int), shift(BI,int), valueOf(String,int), neg(BI),
bitOp(int,BI,BI), and(BI,int)): Use valueOf(long) instead of
make(long).
* java/math/BigInteger.java (euclidInv): Reduce number of work vars
(euclidInv(int,int,int)): Now returns an array of 2 ints instead of 3.
(euclidInv(BI,BI,BI)): Used to return an array of 2 BIs; now accepts 6
BIs and returns void.
(modInverse(BI)): Use new signatures of euclidInv().
* java/math/BigInteger.java (isProbablePrime(int)): Use divide() with
static small primes instead of remainder().
Use pre-computed max nbr of trials based on bitlength of BI to test.
Use pre-computed small primes for the trial tests instead of random
numbers.
* java/math/BigInteger.java (isOdd, isMinusOne, pow): Removed.
not used.
* java/math/BigInteger.java (format(int,StringBuffer)): Removed
invoacation of MPN.chars_per_word(). not used.
* java/math/BigInteger.java (gcd(int,int)): Declared 'tmp' once as
local var and used where needed.
* java/math/BigInteger.java (modPow(BI,BI)): Fixed spelling.
Combined declaration with initialisation of locals.
Removed unused var.
* java/math/BigInteger.java: Style changes
(pow(int)): Removed 'else' keyword.
(toString(int)): idem.
(doubleValue()): idem.
(bitLength()): idem.
(equals(Object)): Use static methods name in same class w/o prepending
class name.
(doubleValue()): idem.
(setNegative(BI)): idem.
(negate()): idem.
(and(BI,int)): idem.
(and(BI)): idem.
(gcd(BI)): idem.
(byteArrayToIntArray()): Removed casting to (int). this is
std. behaviour.
(canonicalize()): idem.
(alloc(int)): Always instantiate a new BI.
From-SVN: r62656
* java/util/jar/JarFile.java (JarFile(String, boolean)): Read manifest
when verify is true.
(JarFile(File, boolean)): Likewise.
(manifestRead): Set manifestRead field correctly.
From-SVN: r62545
2003-02-07 Stephen Crawley <crawley@dstc.edu.au>
* java/math/BigDecimal(valueOf): fix DiagBigDecimal val008, val013
tests; see patch #1016 on Savannah.
2003-02-07 Stephen Crawley <crawley@dstc.edu.au>
* java/math/BigDecimal.java (BigDecimal): enhance parsing of exponents
(toString): do not return Strings starting with . and - erroneously.
Improves Mauve results to 12 of 600 instead of 16 of 338 on
DiagBigDecimal.
From-SVN: r62540
2003-02-03 Ranjit Mathew <rmathew@hotmail.com>
* java/lang/natRuntime.cc (java::lang::Runtime::_load)): Take care
of the fact that on Win32, JNI_OnLoad is an "stdcall" function and
could also have been exported as "JNI_OnLoad@8" (MinGW) or
"_JNI_OnLoad@8" (MSVC).
From-SVN: r62348
* jni.cc (_Jv_JNI_NewObjectArray): Check that initializer can be
cast to element type.
(_Jv_JNI_SetObjectArrayElement): Check array bounds.
(_Jv_JNI_GetObjectArrayElement): Likewise.
From-SVN: r62210
* aclocal.m4, configure, include/config.h.in: Rebuilt.
* acinclude.m4 (CHECK_FOR_BROKEN_MINGW_LD): Resurrected; was in
aclocal.m4 and lost in some merge.
From-SVN: r62188
2003-01-28 Oscar Pearce <oscar@pearceenterprises.com>
* java/awt/Component.java (processPaintEvent): Dispose of Graphics
object when finished.
From-SVN: r62052
2003-01-28 Ranjit Mathew <rmathew@hotmail.com>
Fixes PR java/9254:
* include/win32-threads.h (_Jv_Mutex_t): Convert to a struct
additionally containing id of the owner thread as well as
the number of nested times the thread has acquired the mutex.
(_Jv_MutexInit): Initialise owner thread id and refcount to 0.
(_Jv_MutexDestroy): Reset owner thread id and refcount to 0.
(_Jv_MutexUnlock): Check if really the owner thread, reset
owner thread id to 0 before leaving, if leaving for the last
time.
(_Jv_MutexLock): Set owner thread id in the mutex and increment
refcount.
(_Jv_ThreadYield): Yield using a call to Sleep(0).
* win32-threads.cc (_Jv_CondWait): Check if really owner of
the passed mutex.
Pass handle of the broadcast event, instead of a pointer to it
in Win32 ResetEvent( ) call.
Remove incorrect return values.
(_Jv_CondDestroy): Close both event handles and delete
critical section.
(_Jv_CondNotify): Check if really the owner thread.
(_Jv_CondNotifyAll): Check if really the owner thread.
(_Jv_InitThreads): Change daemon_cond to a manual-reset event.
(really_start): Use SetEvent( ) to signal daemon_cond.
(_Jv_ThreadWait): Remove SignalObjectAndWait( ) and use
WaitForSingleObject( ) instead to wait for daemon_cond to be
signalled.
From-SVN: r62033
2003-01-24 Ranjit Mathew <rmathew@hotmail.com>
Fixes PR java/9253:
* java/io/natFileWin32.cc (performList): Append only "*.*"
if the canonical file path already has a "\" at the end.
From-SVN: r61736
2003-01-21 Vladimir Puskas <vpuskas@eunet.yu>
* java/io/natFileWin32.cc (isAbsolute): Check path length before
looking at any characters.
* java/io/natFilePosix.cc (_stat): Only compute `buf' if it will
be used.
(isAbsolute): Check path's length as well.
From-SVN: r61566
2003-01-15 Scott Gilbertson <scottg@mantatest.com>
* Makefile.in: Rebuilt.
* Makefile.am (xlib_includes): New macro.
(INCLUDES): Use it.
From-SVN: r61366
2003-01-15 Scott Gilbertson <scottg@mantatest.com>
* java/awt/CardLayout.java (show): Rewrote.
(gotoComponent): Removed `target' argument. Simplified code.
Don't pre-compute `choice' unless `what' is FIRST or LAST.
Changed all callers.
(NONE): Removed.
From-SVN: r61357
Fix for PR libgcj/9139:
* lib/libjava.exp (find_javac): Put value of libgcj_jar into
return value when gcj is used.
* libjava.mauve/mauve.exp (test_mauve): Use libgcj_jar global.
From-SVN: r61237
* java/net/DatagramSocket.java
(ch): Description added.
(remotePort): Initialize with -1.
(connect): Doesnt throws SocketException.
* java/net/MulticastSocket.java
(setInterface): Merge with Classpath.
* java/net/ServerSocket.java
(closed): New member variable.
(bind): Check if socket is closed.
(close): Close an associated channel too, set new value to closed.
(isBound): Reindented.
(isClosed): Implemented.
* java/net/Socket.java
(closed): New member variable.
(bind): Check if socket is closed.
(connect): Check if socket is closed.
(close): Close an associated channel too, set new value to closed.
(isClosed): Implemented.
From-SVN: r61185
* java/io/FileDescriptor.java (position): New private field.
* java/io/natFileDescriptorPosix.cc (write): Up position.
(setLength): Use and set position.
(seek): Set position.
(getFilePointer): Return position.
(read): Up position.
From-SVN: r60869
* java/io/ObjectStreamClass.java (lookup): Split method and call
lookupForClassObject().
(lookupForClassObject): New method.
(isProxyClass): New field.
(setClass): Set isProxyClass, add object to classLookupTable, set
superClass and calculateOffsets.
(ObjectStreamClass): Set isProxyClass. Only set uid when Serializable
and not a proxy class.
(setFields): Set accessible true for serialPersistentFields.
(getClassUID): Same for suid. And check if suid is of type long.
(hasClassInitializer): Don't throw NoSuchMethodError.
From-SVN: r60867
2003-01-03 Eric Blake <ebb9@email.byu.edu>
* java/util/TreeMap.java (fabricateTree): Fix off-by-one error.
(TreeIterator.remove): Prefer IllegalStateException over
ConcurrentModificationException, to match Sun.
From-SVN: r60837
* java/net/HttpURLConnection.java (HTTP_NOT_IMPLEMENTED): Must be
public.
(HTTP_USE_PROXY): Add field.
(getResponseVals): Only set responseCode when not yet explicitly
set by subclass.
From-SVN: r60809
* java/util/zip/ZipFile.java (entries): Now HashMap.
(readLeShort(DataInput, byte[])): Read from given byte array.
(readLeInt(DataInput, byte[]): Likewise.
(readLeShort(byte[] b, int off)): New method.
(readLeInt(byte[] b, int off)): Likewise.
(readEntries): Use byte arrays to read info in bigger chunks.
(getEntries): Return HashMap.
(getEntry): Use HashMap.
(locBuf): New private field.
(checkLocalHeader): Use locBuf to read info in one chunk.
(getInputStream): Use entries HashMap, wrap PartialInputStream
in BufferedInputStream.
(ZipEntryEnumeration): Use HashMap and Interator.
Co-Authored-By: Mark Wielaard <mark@klomp.org>
From-SVN: r60803
Fix for PR libgcj/7416:
* javax/naming/InitialContext.java (init): Use
gnu.classpath.home.url.
* java/security/Security.java: Use new properties.
(loadProviders): Accept base url; use it.
* java/lang/System.java: Document gnu.classpath.vm.shortname, and
gnu.classpath.home.url.
(gnu.classpath.home.url): Define.
(gnu.classpath.vm.shortname): Likewise.
From-SVN: r60722
* exception.cc (PERSONALITY_FUNCTION): Clear least-significant-bit
of catch_type.
* java/lang/natClass.cc (initializeClass): Link vtable, otable,
idt tables after initializing superclass.
* java/lang/natClassLoader.cc (uaddr): New typedef.
(_Jv_PrepareCompiledClass): Resolve superclass, interfaces
if they are constant pool indicies. Don't link vtable, otable yet.
From-SVN: r60450
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-19 Andrew Haley <aph@redhat.com>
* java/util/natResourceBundle.cc: Include
ArrayIndexOutOfBoundsException.h.
(getCallingClassLoader): Don't put upper bound on stack search.
Catch ArrayIndexOutOfBoundsException.
From-SVN: r60348
* java/lang/natClassLoader.cc (defineClass0): Removed erroneous
comment.
* java/lang/ClassLoader.java (defineClass): Use chained
exception when rethrowing.
* defineclass.cc (handleClassBegin): Mark class as interpreted.
* java/lang/reflect/Modifier.java (INVISIBLE, INTERPRETED): New
constants.
* resolve.cc (_Jv_PrepareMissingMethods): New function.
(_Jv_PrepareClass): Use it.
* include/java-interp.h (_Jv_IsInterpretedClass): Rewrote.
(_Jv_InterpClass): _Jv_PrepareMissingMethods now friend.
* java/lang/Class.h (Class::getModifiers): Mask with ALL_FLAGS.
(Class): _Jv_PrepareMissingMethods now friend.
* java/lang/natClassLoader.cc (defineClass0): Use JvSynchronize.
Record `NULL' for system class loader.
(_Jv_RegisterInitiatingLoader): Use JvSynchronize. Special case
system class loader.
(_Jv_FindClassInCache): Likewise.
(_Jv_UnregisterClass): Use JvSynchronize. Free old loader info.
(_Jv_FindClass): Special case system class loader.
* java/lang/natClass.cc (_Jv_abstractMethodError): New function.
(_Jv_SetVTableEntries): Put _Jv_abstractMethodError into empty
vtable slots.
(_Jv_LayoutVTableMethods): Don't generate vtable slot for a method
in a final class.
(_getDeclaredMethod): Don't return synthetic methods.
(getDeclaredMethods): Likewise.
(_getMethod): Likewise.
(_getMethods): Likewise.
From-SVN: r60319
2002-12-18 Raif Naffah <raif@fl.net.au>
* java/math/BigInteger.java (euclidInv): Make sure quot and rem are in
canonical form after divide().
(modInverse): Likewise.
From-SVN: r60292
* java/lang/ClassLoader.java (resolveClass0): Transform
ClassNotFoundException to NoClassDefFoundError. Transform all other
throwables to LinkageError.
From-SVN: r60097
* libjava.loader/loader.exp (gcj_loader_test_one): Use
libjava_prune_warnings.
(gcj_loader_run): Likewise.
* libjava.mauve/mauve.exp (test_mauve): Use
libjava_prune_warnings.
(test_mauve_sim): Likewise.
* libjava.jni/jni.exp (gcj_jni_compile_c_to_so): Use
libjava_prune_warnings.
(gcj_jni_build_header): Likewise.
* lib/libjava.exp (libjava_prune_warnings): New proc.
(gcj_link): Use it.
(test_libjava_from_source): Likewise.
(test_libjava_from_javac): Likewise.
From-SVN: r60089
* java/lang/ClassLoader.java (loadedClasses): New field.
(defineClass): Fixed indentation. Put new class in
loadedClasses.
(findLoadedClass): Implement here.
* java/lang/natClassLoader.cc (findLoadedClass): Removed.
From-SVN: r60043
2002-12-10 Mark Wielaard <mark@klomp.org>
Tom Tromey <tromey@redhat.com>
* java/net/URLClassLoader.java (getCanonicalFileURL): New method.
(JarURLLoader): Use it.
(FileURLLoader): Likewise.
(JarURLResource.getURL): Use chained exception.
(FileResource.getURL): Likewise.
(FileURLLoader.getResource): Use canonical file name.
(addURL): Indentation fix.
Co-Authored-By: Tom Tromey <tromey@redhat.com>
From-SVN: r60019
* include/win32.h (_Jv_platform_solib_prefix): New define.
(_Jv_platform_solib_suffix): Likewise.
* include/posix.h (_Jv_platform_solib_prefix): New define.
(_Jv_platform_solib_suffix): Likewise.
* java/lang/natRuntime.cc: Include StackTrace.h.
(_load): Use findLibrary and new platform defines.
(nativeGetLibname): Use new platform defines.
From-SVN: r59976
* gnu/gcj/protocol/jar/Connection.java (getJarFile): download and
cache remote jar files.
* gnu/gcj/runtime/VMClassLoader.java: Don't construct jar URL, only
add File.separator to URL when it is a directory.
* java/lang/ClassLoader.java: Add Classpath javadoc.
(parent): final.
(getParent): Add (disabled) security check.
(findLibrary): New default method.
* java/net/JarURLConnection.java (getManifest): Implement.
(getInputStream): Only create InputStream when entry exists.
(getHeaders): Only use jarFileURLConnection or JarEntry to set length
when they exist.
* java/net/URLClassLoader.java: New/Rewritten version from Classpath.
From-SVN: r59949
* java/net/InetAddress.java (toString): Use hostname when not null,
don't do an explicit reverse getHostName() lookup.
* java/net/Socket.java (setSocketImplFactory): When fac == null throw
NullPointerException.
From-SVN: r59902
2002-12-05 Andrew Haley <aph@redhat.com>
* gnu/gcj/runtime/natStackTrace.cc (fillInStackTrace): Throw
#ifdef (HAVE_BACKTRACE) around the whole function body.
From-SVN: r59855
* java/lang/Class.h (_Jv_SetVTableEntries): Updated declaration.
* resolve.cc: Don't include AbstractMethodError.h.
(_Jv_abstractMethodError): Removed.
* defineclass.cc (handleMethodsBegin): Initialize method index to
-1.
* java/lang/natClass.cc (_Jv_LayoutVTableMethods): Don't set
method index for "new" final method.
(_Jv_SetVTableEntries): Compare index against -1 instead of using
isVirtualMethod. Added `flags' argument.
(_Jv_MakeVTable): Throw exception for abstract method in concrete
class.
From-SVN: r59847
* 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.
* gnu/gcj/runtime/natStackTrace.cc: New file.
* gnu/gcj/runtime/MethodRef.java: New file.
* 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: r59771
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
* libjava.jacks/jacks.exp (gcj_jacks_setup_xfail): New function.
(gcj_jacks_parse): Use it; set up xfails.
* libjava.jacks/jacks.xfail: New file.
From-SVN: r59702
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
* gnu/java/nio/DatagramChannelImpl:
(fd): New member variable to store file descriptor of socket.
* gnu/java/nio/SelectionKeyImpl.java:
(ops): Removed.
(readyOps): New member variable.
(interestOps): New member variable.
(readyOps): Implemented.
(readyOps): New method to set member variable readyOps.
(interestOps): Replaced ops by interestOps.
* gnu/java/nio/SelectorImpl.java:
(SelectorImpl): Initialize key sets.
(select): Call select with -1 instead of Long.MAX_VALUE).
(java_do_select): Make it a native method.
(getFDsAsArray): New helper method.
(select): Remove canceled keys, give only interested file discriptors
to java_do_select, set ready ops.
(add): No need to initialize keys set here.
(add_selected): No need to initialize selected set here.
(deregisterCanceledKeys): New helper method.
(register): Set interest ops, set attachments, added handling of datagram
channels.
* gnu/java/nio/ServerSocketChannelImpl:
(SocketAccept): Renamed from NioSocketAccept.
(implConfigureBlocking): Implemented.
(accept): Use SocketAccept instead of NioSocketAccept.
* gnu/java/nio/SocketChannelImpl:
Reactivate native methods.
From-SVN: r59632
* gnu/java/nio/ByteBufferImpl.java
(ByteBufferImpl): Moved position() after limit.
(nio_*): Use native implementation.
* gnu/java/nio/CharBufferImpl.java:
Reformated.
(endian): New member variable string endianess of buffer.
(CharBufferImpl): Moved position() after limit.
(nio_*): Use native implementation.
(subSequence): Implemented.
* gnu/java/nio/DoubleBufferImpl.java
(DoubleBufferImpl): Moved position() after limit.
(nio_*): Use native implementation.
* gnu/java/nio/FloatBufferImpl.java
Reformated.
(FloatBufferImpl): Moved position() after limit.
(nio_*): Use native implementation.
* gnu/java/nio/IntBufferImpl.java
Added needed imports, Reformated.
(IntBufferImpl): Moved position() after limit.
(nio_*): Use native implementation.
* gnu/java/nio/LongBufferImpl.java
Reformated.
(LongBufferImpl): Moved position() after limit.
(nio_*): Use native implementation.
* gnu/java/nio/ShortBufferImpl.java
Reformated.
(ShortBufferImpl): Moved position() after limit.
(nio_*): Use native implementation.
From-SVN: r59624
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_platform_on_close): Moved out of #ifndef DISBALE_JAVA_NET.
* include/win32.h:
(_Jv_platform_on_close): Moved out of #ifndef DISBALE_JAVA_NET.
(backtrace): Moved out of #ifndef DISBALE_JAVA_NET.
From-SVN: r59374
* libjava.loader/loader.exp (gcj_loader_test_one): Fix typo in
'type' argument to libjava_tcompile.
(gcj_loader_run): Use libjava_tcompile instead of running
GCJ_UNDER_TEST directly.
From-SVN: r59351
2002-11-21 Michael Koch <konqueror@gmx.de>
* include/posix.h: I put too much into the #ifndef DISABLE_JAVA_NET.
Only the new network functions should be in it.
From-SVN: r59350
2002-11-21 Michael Koch <konqueror@gmx.de>
* include/posic.h: Moved new functions into a #ifndef DISABLE_JAVA_NET
* include/win32.h: Moved new functions into a #ifndef DISABLE_JAVA_NET
From-SVN: r59346
* 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-19 Ranjit Mathew <rmathew@hotmail.com>
* include/jni.h: Add missing JNICALL and JNIEXPORT attributes
to function and function pointer declarations in accordance with
Sun's JDKs. Define JNIIMPEXP to either JNIEXPORT or JNIIMPORT
based on whether __GCJ_JNI_IMPL__ has been defined or not.
* jni.cc: Add missing JNICALL and JNIEXPORT attributes to
JNI function definitions.
From-SVN: r59277
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