Hans Boehm
a6fdf2d3bf
natMethod.cc (_Jv_CallAnyMethodA): Allocate a full jvalue for each argument.
...
* java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA): Allocate a full
jvalue for each argument. Simplify.
* testsuite/libjava.jni/calls.c (docall),
testsuite/libjava.jni/calls.java (longpb_f): check for argument
misalignment.
From-SVN: r63563
2003-02-28 17:26:29 +00:00
Tom Tromey
a1aba4f9a5
natClassLoader.cc (defineClass0): Removed erroneous comment.
...
* 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-19 19:31:55 +00:00
Mark Wielaard
396a80436c
natField.cc (getBoolean): Use getType().
...
* java/lang/reflect/natField.cc (getBoolean): Use getType().
(getByte): Likewise.
(getShort): Likewise.
(getInt): Likewise.
(getLong): Likewise.
(getFloat): Likewise.
(getDouble): Likewise.
(get): Likewise.
(setChar): Likewise.
(setByte): Likewise.
(setShort): Likewise.
(setInt): Likewise.
(setLong): Likewise.
(setFloat): Likewise.
(setDouble): Likewise.
From-SVN: r58899
2002-11-07 17:57:09 +00:00
Mark Wielaard
de36f65dd1
GNU Classpath merge.
...
2002-10-31 Stephen Crawley <crawley@dstc.edu.au>
* java/lang/Double.java (valueOf): Return new Double(parseDouble(s)).
2002-10-31 Wu Gansha <gansha.wu@intel.com>:
* java/util/ArrayList.java (readObject, writeObject): Only read/write
size items.
2002-10-31 Wu Gansha <gansha.wu@intel.com>:
* java/io/DataInputStream.java (convertFromUTF): Give StringBuffer an
initial estimated size to avoid enlarge buffer frequently.
2002-10-31 Wu Gansha <gansha.wu@intel.com>:
* java/lang/reflect/Proxy.java (ProxyType): Set loader to System
ClassLoader when null.
(ProxyType.hashCode): Loader null check no longer needed.
(ProxyType.sameTypes): New method.
(ProxyType.equals): Use new method.
2002-10-31 Mark Wielaard <mark@klomp.org>
* java/net/URLDecoder.java (decode): Initialize Stringbuffer size to
length of String.
* java/net/URLEncoder.java (encode): Likewise.
2002-10-31 Mark Wielaard <mark@klomp.org>
* java/util/zip/ZipInputStream.java (getNextEntry): Throw IOException
when stream is closed.
(closeEntry): Likewise.
(read): Likewise.
* java/util/zip/ZipOutputStream.java (putNextEntry): Throw
ZipException when no entry active.
(closeEntry): Likewise.
(write): Likewise.
From-SVN: r58772
2002-11-03 20:27:31 +00:00
Tom Tromey
fead5eb589
For PR java/8415:
...
* java/lang/reflect/natMethod.cc (getType): Use _Jv_FindClass.
* prims.cc (_Jv_FindClassFromSignature): Indentation fix.
From-SVN: r58757
2002-11-02 21:33:30 +00:00
Anthony Green
d3cc3f10da
Add Proxy support.
...
From-SVN: r57635
2002-09-30 05:19:09 +00:00
Tom Tromey
f87999337a
natConstructor.cc (newInstance): Initialize class.
...
* java/lang/reflect/natConstructor.cc (newInstance): Initialize
class.
* java/lang/reflect/natMethod.cc (invoke): Initialize class.
From-SVN: r56624
2002-08-27 23:57:17 +00:00
Mark Wielaard
5526ddf6fd
[multiple changes]
...
2002-07-24 Mark Wielaard <mark@klomp.org>
* java/lang/reflect/natField.cc (setAddr): Check isAccessible().
* java/io/ObjectInputStream.java (setBooleanField): Before setting
field call setAccessible(true).
(setByteField): Likewise.
(setCharField): Likewise.
(setDoubleField): Likewise.
(setFloatField): Likewise.
(setIntField): Likewise.
(setLongField): Likewise.
(setShortField): Likewise.
(setObjectField): Likewise.
2002-07-24 Tom Tromey <tromey@redhat.com>
* java/io/ObjectInputStream.java (readObject) [TC_ARRAY]: Don't
use toString() to format array element.
From-SVN: r55711
2002-07-24 16:05:34 +00:00
Tom Tromey
d74bba04e8
natPlainDatagramSocketImpl.cc (BooleanClass): Removed.
...
* java/net/natPlainDatagramSocketImpl.cc (BooleanClass): Removed.
(IntegerClass): Likewise.
* java/lang/natClass.cc (CloneableClass): Removed.
(ObjectClass, ErrorClass, ClassClass, MethodClass, FieldClass,
ConstructorClass): Likewise.
* java/lang/natClassLoader.cc (CloneableClass): Removed.
(ObjectClass, ClassClass, VMClassLoaderClass, ClassLoaderClass,
SerializableClass): Likewise.
* java/lang/reflect/natMethod.cc (BooleanClass): Removed.
(VoidClass, ByteClass, ShortClass, CharacterClass, IntegerClass,
LongClass, FloatClass, DoubleClass): Likewise.
From-SVN: r54977
2002-06-25 05:29:22 +00:00
Tom Tromey
3e1b181a67
AbstractMethodError.java: Re-merged with Classpath.
...
* java/lang/AbstractMethodError.java: Re-merged with Classpath.
* java/lang/ArithmeticException.java: Likewise.
* java/lang/ArrayIndexOutOfBoundsException.java: Likewise.
* java/lang/ArrayStoreException.java: Likewise.
* java/lang/Byte.java: Likewise.
* java/lang/CharSequence.java: Likewise.
* java/lang/ClassCastException.java: Likewise.
* java/lang/ClassCircularityError.java: Likewise.
* java/lang/ClassFormatError.java: Likewise.
* java/lang/CloneNotSupportedException.java: Likewise.
* java/lang/Cloneable.java: Likewise.
* java/lang/Comparable.java: Likewise.
* java/lang/Compiler.java: Likewise.
* java/lang/Error.java: Likewise.
* java/lang/ExceptionInInitializerError.java: Likewise.
* java/lang/IllegalAccessError.java: Likewise.
* java/lang/IllegalAccessException.java: Likewise.
* java/lang/IllegalArgumentException.java: Likewise.
* java/lang/IllegalMonitorStateException.java: Likewise.
* java/lang/IllegalStateException.java: Likewise.
* java/lang/IllegalThreadStateException.java: Likewise.
* java/lang/IncompatibleClassChangeError.java: Likewise.
* java/lang/IndexOutOfBoundsException.java: Likewise.
* java/lang/InheritableThreadLocal.java: Likewise.
* java/lang/InstantiationError.java: Likewise.
* java/lang/InstantiationException.java: Likewise.
* java/lang/InternalError.java: Likewise.
* java/lang/InterruptedException.java: Likewise.
* java/lang/LinkageError.java: Likewise.
* java/lang/NegativeArraySizeException.java: Likewise.
* java/lang/NoClassDefFoundError.java: Likewise.
* java/lang/NoSuchFieldError.java: Likewise.
* java/lang/NoSuchFieldException.java: Likewise.
* java/lang/NoSuchMethodError.java: Likewise.
* java/lang/NoSuchMethodException.java: Likewise.
* java/lang/NullPointerException.java: Likewise.
* java/lang/NumberFormatException.java: Likewise.
* java/lang/OutOfMemoryError.java: Likewise.
* java/lang/Process.java: Likewise.
* java/lang/Runnable.java: Likewise.
* java/lang/RuntimePermission.java: Likewise.
* java/lang/SecurityException.java: Likewise.
* java/lang/Short.java: Likewise.
* java/lang/StackOverflowError.java: Likewise.
* java/lang/StringIndexOutOfBoundsException.java: Likewise.
* java/lang/ThreadDeath.java: Likewise.
* java/lang/ThreadLocal.java: Likewise.
* java/lang/UnknownError.java: Likewise.
* java/lang/UnsatisfiedLinkError.java: Likewise.
* java/lang/UnsupportedClassVersionError.java: Likewise.
* java/lang/UnsupportedOperationException.java: Likewise.
* java/lang/VerifyError.java: Likewise.
* java/lang/VirtualMachineError.java: Likewise.
* java/lang/reflect/InvocationTargetException.java: Likewise.
* java/net/BindException.java: Likewise.
* java/net/ConnectException.java: Likewise.
* java/net/MalformedURLException.java: Likewise.
* java/net/NoRouteToHostException.java: Likewise.
* java/net/ProtocolException.java: Likewise.
* java/net/SocketException.java: Likewise.
* java/net/UnknownHostException.java: Likewise.
* java/net/UnknownServiceException.java: Likewise.
From-SVN: r54656
2002-06-15 19:45:34 +00:00
Mark Wielaard
2801df0ed6
Modifier.java (toString(int,StringBuffer)): Fix ordering.
...
* java/lang/reflect/Modifier.java (toString(int,StringBuffer)): Fix
ordering.
From-SVN: r51848
2002-04-04 08:32:28 +00:00
Anthony Green
562ff1637f
Add pointer support to the reflection code.
...
From-SVN: r50180
2002-03-01 05:36:31 +00:00
Jeff Sturm
a7261b2da0
natMethod.cc (_Jv_CallAnyMethodA): Define ffi_result union for ffi_call result.
...
* java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA):
Define ffi_result union for ffi_call result. Cast
ffi_result members to jvalue.
From-SVN: r50007
2002-02-24 17:55:44 +00:00
Per Bothner
033509daea
natField.cc (setAddr): New function.
...
* java/lang/reflect/natField.cc (setAddr): New function.
Calls getAddr and then checks that the field isn't final.
(setBoolean. setChar, setByte, setShort, setInt, setLong, setFloat,
setDouble, set): Use setAddr instead of getAddr, to check for FINAL.
(set): Call setAddr before check that new value has right type,
to better match specified semantics.
From-SVN: r49153
2002-01-23 11:42:18 -08:00
Mark Wielaard
92aaa24628
Add license clarification.
...
From-SVN: r49104
2002-01-22 22:40:42 +00:00
Andreas Tobler
66839ef65e
natMethod.cc: Don't include alloca.h.
...
2002-01-07 Andreas Tobler <a.tobler@schweiz.ch>
* java/lang/reflect/natMethod.cc: Don't include alloca.h.
(_Jv_CallAnyMethodA): Convert alloca to __builtin_alloca.
From-SVN: r48656
2002-01-08 20:00:50 +00:00
Tom Tromey
6d88e1c332
Constructor.java (toString): Use more efficient form of Modifier.toString().
...
* java/lang/reflect/Constructor.java (toString): Use more
efficient form of Modifier.toString().
From-SVN: r47031
2001-11-14 23:42:38 +00:00
Tom Tromey
81bc01c265
Re-merges with Classpath, from various people:
...
* java/lang/reflect/Modifier.java: Reindented.
(toString): Only trim trailing space if text was added to
StringBuffer.
* java/lang/reflect/ReflectPermission: Reindented.
From-SVN: r47028
2001-11-14 22:42:42 +00:00
Tom Tromey
852d3dad0d
Re-merges with Classpath, from various people:
...
* java/lang/Double.java (parseDouble): Fixed ordering of
modifiers.
* java/lang/reflect/AccessibleObject.java: Javadoc, reindented.
* java/lang/reflect/Member.java: Reindented.
* java/lang/reflect/Modifier.java: Reindented.
(toString): Only trim trailing space if text was added to
StringBuffer.
* java/util/ConcurrentModificationException.java: Javadoc
updates.
* java/util/EmptyStackException.java: Likewise.
* java/util/NoSuchElementException.java: Likewise.
From-SVN: r47018
2001-11-14 19:11:52 +00:00
Tom Tromey
b8a5867e51
* java/lang/reflect/Field.java: Made many methods private.
...
From-SVN: r46467
2001-10-24 18:06:48 +00:00
Tom Tromey
0a3abdb238
Field.java (Field): New constructor.
...
* java/lang/reflect/Field.java (Field): New constructor.
* java/lang/ClassLoader.java (defineClass(String,byte[],int,int)):
Throw ClassFormatError.
From-SVN: r46458
2001-10-24 04:38:08 +00:00
Tom Tromey
0e91d38470
AccessibleObject.java (checkPermission): Implemented.
...
* java/lang/reflect/AccessibleObject.java (checkPermission):
Implemented.
Updated copyright information.
From-SVN: r46272
2001-10-15 22:45:03 +00:00
Mark Wielaard
ffb0e73a97
* java/lang/reflect/Modifier.java: Merge with Classpath
...
From-SVN: r46019
2001-10-05 00:16:03 +00:00
Tom Tromey
62a040818a
prims.cc (_Jv_NewMultiArrayUnchecked): New method.
...
* prims.cc (_Jv_NewMultiArrayUnchecked): New method.
(_Jv_NewMultiArray): Use it. Check each array dimension.
(_Jv_NewMultiArray): Likewise.
* java/lang/reflect/natMethod.cc (can_widen): Nothing promotes to
`char'.
* java/lang/reflect/natArray.cc (newInstance): Throw
IllegalArgumentException if there are no dimensions.
From-SVN: r45951
2001-10-02 13:44:32 +00:00
Mark Wielaard
cfcdbe5480
DataInput.java: Merge with Classpath.
...
* java/io/DataInput.java: Merge with Classpath.
* java/io/DataOutput.java: Idem.
* java/io/FilenameFilter.java: Idem.
* java/io/Serializable.java: Idem.
* java/lang/Cloneable.java: Idem.
* java/lang/Comparable.java: Idem.
* java/lang/Runnable.java: Idem.
* java/lang/reflect/Member.java: Idem.
* java/net/ContentHandlerFactory.java: Idem.
* java/net/FileNameMap.java: Idem.
* java/net/SocketImplFactory.java: Idem.
* java/net/SocketOptions.java: Idem.
* java/net/URLStreamHandlerFactory.java: Idem.
From-SVN: r45910
2001-09-30 18:04:38 +00:00
Tom Tromey
9d09d14437
re PR libgcj/4208 (Problem using 'null' with Java reflection)
...
* java/lang/reflect/natField.cc (set): Allow for case when the
value is null. Fixes PR libgcj/4208.
From-SVN: r45367
2001-09-04 03:03:33 +00:00
Tom Tromey
7eee682ba8
Makefile.in: Rebuilt.
...
* Makefile.in: Rebuilt.
* Makefile.am (core_java_source_files): Added
UnsupportedClassVersionError.
* java/lang/UnsupportedClassVersionError.java: New file from
Classpath.
* java/io/CharConversionException.java, java/io/EOFException.java,
java/io/FileNotFoundException.java, java/io/IOException.java,
java/io/InterruptedIOException.java,
java/io/ObjectStreamException.java,
java/io/OptionalDataException.java,
java/io/StreamCorruptedException.java,
java/io/SyncFailedException.java,
java/io/UTFDataFormatException.java,
java/io/UnsupportedEncodingException.java,
java/lang/AbstractMethodError.java,
java/lang/ArithmeticException.java,
java/lang/ArrayIndexOutOfBoundsException.java,
java/lang/ArrayStoreException.java,
java/lang/ClassCastException.java,
java/lang/ClassCircularityError.java,
java/lang/ClassFormatError.java,
java/lang/CloneNotSupportedException.java, java/lang/Error.java,
java/lang/Exception.java,
java/lang/ExceptionInInitializerError.java,
java/lang/IllegalAccessError.java,
java/lang/IllegalAccessException.java,
java/lang/IllegalArgumentException.java,
java/lang/IllegalMonitorStateException.java,
java/lang/IllegalStateException.java,
java/lang/IllegalThreadStateException.java,
java/lang/IncompatibleClassChangeError.java,
java/lang/IndexOutOfBoundsException.java,
java/lang/InstantiationError.java,
java/lang/InstantiationException.java,
java/lang/InternalError.java, java/lang/InterruptedException.java,
java/lang/LinkageError.java,
java/lang/NegativeArraySizeException.java,
java/lang/NoClassDefFoundError.java,
java/lang/NoSuchFieldError.java,
java/lang/NoSuchFieldException.java,
java/lang/NoSuchMethodError.java,
java/lang/NoSuchMethodException.java,
java/lang/NullPointerException.java,
java/lang/NumberFormatException.java,
java/lang/OutOfMemoryError.java, java/lang/RuntimeException.java,
java/lang/SecurityException.java,
java/lang/StackOverflowError.java,
java/lang/StringIndexOutOfBoundsException.java,
java/lang/ThreadDeath.java, java/lang/UnknownError.java,
java/lang/UnsatisfiedLinkError.java,
java/lang/UnsupportedOperationException.java,
java/lang/VerifyError.java, java/lang/VirtualMachineError.java,
java/lang/reflect/InvocationTargetException.java,
java/net/BindException.java, java/net/ConnectException.java,
java/net/MalformedURLException.java,
java/net/NoRouteToHostException.java,
java/net/ProtocolException.java, java/net/SocketException.java,
java/net/UnknownHostException.java,
java/net/UnknownServiceException.java,
java/text/ParseException.java: Copied from Classpath, thanks to
Mark Wielaard who did the merge.
* java/lang/System.java (getProperty): Use single argument form of
SecurityManager.checkPropertyAccess.
* Makefile.in: Rebuilt.
* Makefile.am (core_java_source_files): Added VMSecurityManager.
* java/lang/VMSecurityManager.java: New file.
* java/lang/SecurityManager.java: Merged with Classpath.
From-SVN: r45353
2001-09-02 06:18:49 +00:00
Tom Tromey
224b7b7b0c
Field.java (toString): Use Method.appendClassName.
...
* java/lang/reflect/Field.java (toString): Use
Method.appendClassName.
* java/lang/reflect/Constructor.java (toString): Use
Method.appendClassName.
* java/lang/reflect/Method.java: Reindented.
(appendClassName): New method.
(toString): Use it.
* defineclass.cc (handleMethod ): Initialize `throws' field of
method.
(read_one_method_attribute): Handle Exceptions attribute.
* java/lang/reflect/natMethod.cc (ClassClass): Removed.
(ObjectClass): Removed.
(getType): Compute `exception_types'.
* java/lang/Class.h (struct _Jv_Method): Added `throws' field.
From-SVN: r45153
2001-08-24 17:24:44 +00:00
Anthony Green
c8fb98139d
USE_LIBFFI change
...
From-SVN: r42791
2001-06-02 08:49:31 +00:00
Richard Henderson
b3208f56cb
exception.cc (java_eh_info): Make value type jthrowable.
...
* exception.cc (java_eh_info): Make value type jthrowable.
(_Jv_type_matcher): Remove now unneeded cast.
(_Jv_Throw): Make argument type jthrowable. Munge name
for SJLJ_EXCEPTIONS here ...
* gcj/cni.h: ... not here.
(JvThrow): Remove.
* gcj/javaprims.h (_Jv_Throw, _Jv_Sjlj_Throw): Update declarations.
* defineclass.cc, interpret.cc, jni.cc, posix-threads.cc,
prims.cc, resolve.cc, gnu/gcj/runtime/natFirstThread.cc,
gnu/gcj/xlib/natDrawable.cc, gnu/gcj/xlib/natFont.cc,
gnu/gcj/xlib/natWMSizeHints.cc, gnu/gcj/xlib/natWindowAttributes.cc,
gnu/gcj/xlib/natXImage.cc, java/io/natFile.cc,
java/io/natFileDescriptorEcos.cc, java/io/natFileDescriptorPosix.cc,
java/io/natFileDescriptorWin32.cc, java/io/natFileWin32.cc,
java/lang/natClass.cc, java/lang/natClassLoader.cc,
java/lang/natDouble.cc, java/lang/natObject.cc,
java/lang/natPosixProcess.cc, java/lang/natRuntime.cc,
java/lang/natString.cc, java/lang/natSystem.cc,
java/lang/natThread.cc, java/lang/reflect/natArray.cc,
java/lang/reflect/natConstructor.cc, java/lang/reflect/natField.cc,
java/lang/reflect/natMethod.cc, java/util/zip/natDeflater.cc,
java/util/zip/natInflater.cc:
Use throw, not JvThrow or _Jv_Throw.
From-SVN: r40838
2001-03-25 23:05:32 -08:00
Tom Tromey
83c64db681
jni.cc (_Jv_JNI_GetAnyFieldID): Handle unresolved fields.
...
* jni.cc (_Jv_JNI_GetAnyFieldID): Handle unresolved fields.
* java/lang/reflect/natField.cc (getType): Use _Jv_ResolveField
unconditionally.
* include/jvm.h (_Jv_ResolveField): Declare.
* include/java-interp.h (_Jv_ResolveField): Don't declare.
* resolve.cc (_Jv_ResolveField): No longer conditional on
INTERPRETER.
From-SVN: r40785
2001-03-23 19:15:44 +00:00
Bryce McKinlay
595420bfea
Method.java (getExceptionTypes): Call getType() to initialize if exception_types is null.
...
* java/lang/reflect/Method.java (getExceptionTypes): Call getType() to
initialize if exception_types is null.
* java/lang/reflect/Constructor.java: Likewise.
* java/lang/reflect/natConstructor.cc (getType): Initialize
exception_types to an empty Object array.
From-SVN: r40730
2001-03-22 06:37:16 +00:00
Mark Wielaard
f74fd2bbc1
DataInputStream.java: update copyright notice
...
* java/io/DataInputStream.java: update copyright notice
* java/io/PrintWriter.java: idem
* java/io/Reader.java: idem
* java/io/StreamTokenizer.java: idem
* java/io/StringReader.java: idem
* java/lang/reflect/ReflectPermission.java: idem
From-SVN: r39798
2001-02-17 13:59:13 +00:00
Bryce McKinlay
5bb11b2e20
In gcc/java:
...
* class.c (make_class_data): Push initial value for "arrayclass".
* decl.c (init_decl_processing): Add new class field "arrayclass".
In libjava:
* java/lang/Class.h (_Jv_InitClass): Use __builtin_expect.
(_Jv_NewArrayClass): Renamed from _Jv_FindArrayClass.
(_Jv_GetArrayClass): New inline function.
(arrayclass): New field.
* prims.cc (_Jv_NewObjectArray): Use _Jv_GetArrayClass. Don't use
_Jv_GetArrayElementFromElementType.
(_Jv_NewPrimArray): Ditto.
(_Jv_PrimClass constructor): Initialize "depth", "ancestors", and
"idt" for completeness. Initialze "arrayclass" using _Jv_NewArrayClass.
Set Modifier::ABSTRACT.
* java/lang/natClassLoader.cc (_Jv_NewClass): Initialize "arrayclass".
(_Jv_NewArrayClass): Renamed from _Jv_FindArrayClass. Now void.
Now synchronized. Array classes are now referenced from
elementClass->arrayclass. Don't use _Jv_FindClassInCache.
Set array classes' accessibility flags correctly. Optimize so that
all array classes share the same IDT.
* java/lang/reflect/natArray.cc (newInstance): Use _Jv_GetArrayClass.
* java/lang/reflect/natMethod.cc (_Jv_GetTypesFromSignature): Ditto.
* java/lang/natClass.cc (_getFields): Increment offset. Prevent fields
in superclasses from overwriting classes own fields.
(_Jv_IsAssignableFrom): Check for NULL source idt instead of calling
Modifier::isAbstract().
(null_idt): New static field.
(_Jv_PrepareConstantTimeTables): Optimize case where class implements
no interfaces.
(_Jv_IndexOf): Made inline.
* boehm.cc (_Jv_MarkObj): Mark "arrayclass" field.
From-SVN: r38808
2001-01-08 23:28:56 +00:00
Bryce McKinlay
6147e9d0c9
re PR libgcj/1516 (Method.invoke won't accept boolean parameters)
...
Fix for PR libgcj/1516:
* java/lang/reflect/natMethod.cc (primitives): Remove void entry.
Add boolean entry.
(can_widen): Declared inline. Remove redundant checks for void
arguments and char->short conversion. Add special case for boolean
conversions.
(ffi_type): Declared inline.
(_Jv_CallAnyMethodA): Move unwrapping logic inside isPrimitive() block.
From-SVN: r38506
2000-12-28 04:34:33 +00:00
Tom Tromey
4de5a4d99a
Makefile.in: Rebuilt.
...
* Makefile.in: Rebuilt.
* Makefile.am (core_java_source_files): Added new files.
* java/lang/reflect/ReflectPermission.java: New class.
* java/io/FileFilter.java: From Classpath
* java/io/FilePermission.java: From Classpath.
From-SVN: r37586
2000-11-20 18:25:41 +00:00
Tom Tromey
f967de33d7
AccessibleObject.java (isAccessible, [...]): Now public.
...
* java/lang/reflect/AccessibleObject.java (isAccessible,
setAccessible): Now public.
From-SVN: r37540
2000-11-18 02:30:29 +00:00
Warren Levy
3cd22508eb
PropertyChangeSupport.java (propertyListeners): Made transient.
...
* java/beans/PropertyChangeSupport.java (propertyListeners): Made
transient.
(listeners): Made transient.
(source): Renamed from 'bean'.
(children): New field for serialization.
(propertyChangeSupportSerializedDataVersion): Ditto.
(serialVersionUID): Ditto.
(writeObject): New serialization method.
(readObject): New serialization method.
* java/beans/VetoableChangeSupport.java (propertyListeners): Made
transient.
(listeners): Made transient.
(source): Renamed from 'bean'.
(children): New field for serialization.
(vetoableChangeSupportSerializedDataVersion): Ditto.
(serialVersionUID): Ditto.
(writeObject): New serialization method.
(readObject): New serialization method.
* java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA): Fixed assert
to allow constructor to have a return type (i.e. the class that the
constructor constructs).
Serialization mods.
From-SVN: r37506
2000-11-16 21:34:48 +00:00
Tom Tromey
1d336a099d
natField.cc (BooleanClass): Don't define.
...
* java/lang/reflect/natField.cc (BooleanClass): Don't define.
* java/lang/reflect/natArray.cc (BooleanClass): Don't define.
* java/lang/Class.h (Object): Added `class$' field.
* java/lang/Object.h (Object): Added `class$' field.
* defineclass.cc (ClassClass): Use `class$' form.
(ClassObject): Likewise.
* resolve.cc (ClassObject): Use `class$' form.
(ObjectClass): Likewise.
* interpret.cc (ClassError): Removed.
* java/net/natPlainDatagramSocketImpl.cc (BooleanClass): Use
`class$' form.
(IntegerClass): Likewise.
* java/net/natPlainSocketImpl.cc (BooleanClass): Use `class$'
form.
* java/lang/natClassLoader.cc (CloneableClass): Use `class$' form.
(ObjectClass, ClassClass, VMClassLoaderClass, ClassLoaderClass,
SerializableClass): Likewise.
Include Serializable.h, Cloneable.h.
* java/lang/natSystem.cc (SystemClass): Removed.
(init_properties): Use `class$' form.
* java/lang/natObject.cc (CloneableClass): Removed.
(clone): Use `class$' form.
* java/lang/natClass.cc (CloneableClass): Use `class$' form.
(ObjectClass, ErrorClass, ClassClass, MethodClass, FieldClass,
ConstructorClass): Likewise.
* java/lang/reflect/natMethod.cc (ObjectClass): Use `class$' form.
(ClassClass, VoidClass, ByteClass, ShortClass, CharacterClass,
IntegerClass, LongClass, FloatClass, DoubleClass): Likewise.
* java/io/natObjectInputStream.cc (ObjectClass): Use `class$'
form.
(ClassClass): Likewise.
* include/jvm.h (StringClass): Use `class$' form.
* prims.cc (ObjectClass): Removed.
(_Jv_RunMain): Use `class$' form.
(_Jv_AllocObject): Likewise.
* jni.cc (ClassClass): Use `class$' form.
(ThrowableClass): Likewise.
(ObjectClass): Likewise.
(MethodClass): Likewise.
(ThreadGroupClass): Likewise.
(NativeThreadClass): Likewise.
* boehm.cc (ObjectClass): Removed.
(ClassClass): Removed.
(_Jv_MarkObj): Use `class$' form.
* gcj/field.h (JvFieldIsRef): Use `class$' form.
Include RawData.h.
From-SVN: r36740
2000-10-06 01:49:32 +00:00
Alexandre Oliva
e7e18a21d2
defineclass.cc: Include alloca.h only if HAVE_ALLOCA_H.
...
* defineclass.cc: Include alloca.h only if HAVE_ALLOCA_H.
* java/lang/natDouble.cc: Likewise.
* java/lang/reflect/natMethod.cc: Likewise.
* interpret.cc: Likewise. Fix NULLCHECKs that tested a _Jv_word.
From-SVN: r36404
2000-09-14 07:51:56 +00:00
Tom Tromey
96fa18eb49
natArray.cc (BooleanClass): New define.
...
* java/lang/reflect/natArray.cc (BooleanClass): New define.
(get): Ensure Boolean class is initialized.
* java/lang/reflect/natField.cc (BooleanClass): New define.
(get): Ensure Boolean class is initialized.
From-SVN: r36391
2000-09-13 18:15:42 +00:00
Tom Tromey
14203c9cac
Field.java (toString): Don't rely on Class.toString.
...
* java/lang/reflect/Field.java (toString): Don't rely on
Class.toString.
From-SVN: r36341
2000-09-11 22:49:29 +00:00
Warren Levy
bc6ccd3316
PropertyChangeEvent.java (serialVersionUID): Added.
...
* java/beans/PropertyChangeEvent.java (serialVersionUID): Added.
* java/beans/PropertyVetoException.java (serialVersionUID): Added.
* java/io/File.java (writeObject): Added.
(readObject): Added.
(serialVersionUID): Added.
* java/io/ObjectOutputStream.java (writeObject): Initialized
fieldsAlreadyWritten before recursion rather than after.
* java/io/ObjectStreamClass.java (serialVersionUID): Added.
* java/io/OptionalDataException.java (serialVersionUID): Added.
(OptionalDataException): Made package private.
* java/io/SyncFailedException.java (SyncFailedException): Removed
default constructor to match spec.
* java/lang/Boolean.java (serialVersionUID): Added.
* java/lang/Byte.java (serialVersionUID): Added.
* java/lang/Character.java (serialVersionUID): Added.
* java/lang/Double.java (serialVersionUID): Added.
* java/lang/Float.java (serialVersionUID): Added.
* java/lang/Integer.java (serialVersionUID): Added.
* java/lang/Long.java (serialVersionUID): Added.
* java/lang/Number.java (serialVersionUID): Added.
* java/lang/Short.java (serialVersionUID): Added.
* java/lang/String.java (serialVersionUID): Added.
* java/lang/ThreadDeath.java (ThreadDeath): Removed constructor
to match spec.
* java/lang/reflect/InvocationTargetException.java
(serialVersionUID): Added.
* java/net/URL.java (handler): Made transient.
(hashCode): Added field for serialization, per spec. and use
cached value if available.
(serialVersionUID): Added.
(URL): Initialize hashCode.
(set): Adjust hashCode.
(readObject): New Method to initialize the protocol handler when
deserializing.
(writeObject): New method.
* java/text/BreakIterator.java: Removed 'implements Serializable'.
* java/text/Collator.java: Removed 'implements Serializable'.
* java/util/GregorianCalendar.java (serialVersionUID): Added.
* java/util/Properties.java (serialVersionUID): Added.
* java/util/Random.java (serialVersionUID): Added.
(seed): Made private.
(nextNextGaussian): Made private.
(haveNextNextGaussian): Made private.
* java/util/Stack.java (serialVersionUID): Added.
* java/util/TimeZone.java (serialVersionUID): Added.
* java/util/Vector.java (serialVersionUID): Added.
Serialization mods.
From-SVN: r36272
2000-09-08 19:37:09 +00:00
Tom Tromey
9579ea7efd
Constructor.java (toString): Use `getName' for parameter types.
...
* java/lang/reflect/Constructor.java (toString): Use `getName' for
parameter types.
* java/lang/reflect/Method.java (toString): Use `getName' for
return type.
From-SVN: r36214
2000-09-06 22:24:34 +00:00
Tom Tromey
bcf98e48ef
natMethod.cc (_Jv_CallAnyMethodA): Accept null `args' if method takes no parameters.
...
* java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA): Accept null
`args' if method takes no parameters.
From-SVN: r36209
2000-09-06 21:20:45 +00:00
Tom Tromey
d7ec12ae74
Method.java (hashCode): Use getName().
...
* java/lang/reflect/Method.java (hashCode): Use getName().
(toString): Likewise.
* java/lang/reflect/natMethod.cc (getType): Initialize
exception_types.
From-SVN: r35561
2000-08-08 03:34:51 +00:00
Tom Tromey
8ac80386ca
PipedInputStream.java (read(byte[],int,int)): Mostly rewrote.
...
* java/io/PipedInputStream.java (read(byte[],int,int)): Mostly
rewrote.
(receive): Streamlined.
From-SVN: r35556
2000-08-07 19:59:48 +00:00
Bryce McKinlay
79c2c6da2c
[multiple changes]
...
2000-08-02 Bryce McKinlay <bryce@albatross.co.nz>
* interpret.cc (_Jv_InterpMethod::continue1): Type of `fun' changed
to match C declaration in ffi.h.
* Makefile.am: Add java/awt/Button.java.
* Makefile.in: Rebuilt.
2000-07-29 Alexandre Petit-Bianco <apbianco@cygnus.com>
* java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA): Type of the
cast of the second argument to `ffi_raw_call' changed to match
prototype.
2000-07-26 Alexandre Petit-Bianco <apbianco@cygnus.com>
* jni.cc (_Jv_JNIMethod::call): Type of the cast of the second
argument to `ffi_raw_call' changed to match prototype.
From-SVN: r35418
2000-08-02 04:25:13 +01:00
Warren Levy
7db51521a0
mauve-libgcj: Activated serialization tests.
...
* mauve-libgcj: Activated serialization tests.
* gcj/field.h (getModifiers): Mask off unknown flags.
* gnu/java/security/provider/SHA.java (munch): Reset buffer to 0 so
spurious bits don't cause discrepancies.
* java/io/ObjectOutputStream.java: Fixed typo in comment.
* java/io/ObjectStreamClass.java: Fixed typos in comments.
(lookup): Applied patch from Brian Jones <cbj@gnu.org> to optimize.
(hasClassInitializer): Call getDeclaredMethod instead of getMethod.
* java/lang/Throwable.java (serialVersionUID): New field.
* java/lang/reflect/Modifier.java (ALL_FLAGS): Preserve STRICT if used.
* java/lang/reflect/natConstructor.cc (getModifiers): Mask off
unknown flags.
* java/lang/reflect/natMethod.cc: Ditto.
* java/security/Key.java (serialVersionUID): Removed field for now.
* java/security/interfaces/DSAPrivateKey.java (serialVersionUID): Ditto.
* java/security/interfaces/DSAPublicKey.java (serialVersionUID): Ditto.
Serialization mods.
From-SVN: r35302
2000-07-27 23:57:07 +00:00
Tom Tromey
782c59d653
natMethod.cc: Include <alloca.h>.
...
* java/lang/reflect/natMethod.cc: Include <alloca.h>.
* java/lang/natDouble.cc: Always include <alloca.h>.
Fix for PR libgcj/267.
From-SVN: r34665
2000-06-23 17:39:00 +00:00