gcc/libjava/java/lang
Tom Tromey 0f918fea8b [multiple changes]
2000-01-04  Tom Tromey  <tromey@cygnus.com>

	* java/lang/reflect/natConstructor.cc (newInstance): Pass
	declaring class as return_type argument to
	_Jv_CallNonvirtualMethodA.
	* java/lang/reflect/natMethod.cc (_Jv_CallNonvirtualMethodA): In
	constructor case, create object and use it as `this' argument.
	* java/lang/Class.h (_getConstructors): Declare.
	(_getFields): Declare.
	* java/lang/Class.java (getConstructors): Wrote.
	(_getConstructors): New native method.
	(getDeclaredConstructors): Wrote.
	(_getFields): Declare new native method.
	* java/lang/natClass.cc (_Jv_LookupInterfaceMethod): Removed
	incorrect comment.
	(getMethod): Work correctly when class is primitive.
	(getDeclaredMethods): Likewise.  Compute offset using `method',
	not `mptr'.
	(getDeclaredMethod): Likewise.
	(getConstructor): Wrote.
	(ConstructorClass): New define.
	(getDeclaredConstructor): Wrote.
	(_getConstructors): New method.
	(_getFields): New method.
	(getFields): Wrote.

	* Makefile.in: Rebuilt.
	* Makefile.am (AM_CXXFLAGS): Added -D_GNU_SOURCE.

	* prims.cc: Remove `#pragma implementation'.
	* gcj/array.h: Remove `#pragma interface'.

	* prims.cc (_Jv_equaln): New function.
	* java/lang/Class.java (getSignature): Declare.
	* resolve.cc (_Jv_LookupDeclaredMethod): Moved to natClass.cc.
	* java/lang/natClass.cc (_Jv_LookupDeclaredMethod): Moved from
	resolve.cc.
	(getSignature): New method.
	(getDeclaredMethod): Wrote.
	(getMethod): Wrote.
	Include StringBuffer.h.
	* java/lang/Class.h (Class): Added _Jv_FromReflectedConstructor
	as a friend.  Unconditionally declare _Jv_LookupDeclaredMethod as
	a friend.
	(getSignature): Declare.
	* include/jvm.h (_Jv_GetTypesFromSignature): Declare.
	(_Jv_equaln): Declare.
	(_Jv_CallNonvirtualMethodA): Declare.
	* Makefile.in: Rebuilt.
	* Makefile.am (nat_source_files): Added natConstructor.cc.
	(java/lang/reflect/Constructor.h): New target.
	* java/lang/reflect/natConstructor.cc: New file.
	* java/lang/reflect/Constructor.java (newInstance): Now native.
	(declaringClass): Renamed from decl_class.
	(offset): Renamed from index.
	(getType): New native method.
	(getModifiers): Now native.
	(getParameterTypes): Call getType if required.
	(hashCode): Include hash code from declaring class.
	(modifiers): Removed.
	(toString): Call getType if required.
	* gcj/method.h (_Jv_FromReflectedConstructor): New function.
	* java/lang/reflect/natMethod.cc (hack_call): New method.
	Removed `#if 0' around FFI code.
	Include <gnu/gcj/RawData.h>.
	(invoke): Use _Jv_CallNonvirtualMethodA.  Throw
	IllegalArgumentException when argument object and class disagree.
	(_Jv_GetTypesFromSignature): New function.
	(getType): Use it.
	(ObjectClass): New define.
	(_Jv_CallNonvirtualMethodA): New function.
	* java/lang/reflect/Method.java (hack_trampoline): New method.
	(hack_call): New native method.

1999-12-21  Per Bothner  <per@bothner.com>

	* java/lang/natClass.cc (getDeclaredMethods): Correctly compute
	offset in new Method.

From-SVN: r31199
2000-01-04 08:46:52 +00:00
..
reflect [multiple changes] 2000-01-04 08:46:52 +00:00
AbstractMethodError.java Initial revision 1999-04-07 14:42:40 +00:00
ArithmeticException.java Initial revision 1999-04-07 14:42:40 +00:00
ArrayIndexOutOfBoundsException.java Initial revision 1999-04-07 14:42:40 +00:00
ArrayStoreException.java Initial revision 1999-04-07 14:42:40 +00:00
Boolean.java Boolean.java (Boolean(String)): Set Value' to false on a null String constructor parameter. 1999-12-17 05:11:28 +00:00
Byte.java Initial revision 1999-04-07 14:42:40 +00:00
Character.java Initial revision 1999-04-07 14:42:40 +00:00
Class.h [multiple changes] 2000-01-04 08:46:52 +00:00
Class.java [multiple changes] 2000-01-04 08:46:52 +00:00
ClassCastException.java Initial revision 1999-04-07 14:42:40 +00:00
ClassCircularityError.java Initial revision 1999-04-07 14:42:40 +00:00
ClassFormatError.java Initial revision 1999-04-07 14:42:40 +00:00
ClassLoader.java VMClassLoader.java (getVMClassLoader): New method. 1999-10-18 22:57:07 +00:00
ClassNotFoundException.java Initial revision 1999-04-07 14:42:40 +00:00
CloneNotSupportedException.java Initial revision 1999-04-07 14:42:40 +00:00
Cloneable.java Initial revision 1999-04-07 14:42:40 +00:00
Comparable.java Initial revision 1999-04-07 14:42:40 +00:00
Compiler.java Initial revision 1999-04-07 14:42:40 +00:00
Double.java Initial revision 1999-04-07 14:42:40 +00:00
EcosProcess.java javaprims.h: Updated namespace declarations. 1999-05-12 11:23:44 +00:00
Error.java Initial revision 1999-04-07 14:42:40 +00:00
Exception.java Initial revision 1999-04-07 14:42:40 +00:00
ExceptionInInitializerError.java Initial revision 1999-04-07 14:42:40 +00:00
FirstThread.java natFirstThread.cc (run): Renamed from `run0'. 1999-09-23 19:05:50 +00:00
Float.java Initial revision 1999-04-07 14:42:40 +00:00
IllegalAccessError.java Initial revision 1999-04-07 14:42:40 +00:00
IllegalAccessException.java Initial revision 1999-04-07 14:42:40 +00:00
IllegalArgumentException.java Initial revision 1999-04-07 14:42:40 +00:00
IllegalMonitorStateException.java Initial revision 1999-04-07 14:42:40 +00:00
IllegalStateException.java Initial revision 1999-04-07 14:42:40 +00:00
IllegalThreadStateException.java Initial revision 1999-04-07 14:42:40 +00:00
IncompatibleClassChangeError.java Initial revision 1999-04-07 14:42:40 +00:00
IndexOutOfBoundsException.java Initial revision 1999-04-07 14:42:40 +00:00
InstantiationError.java Initial revision 1999-04-07 14:42:40 +00:00
InstantiationException.java Initial revision 1999-04-07 14:42:40 +00:00
Integer.java Long.java (parseLong): Corrected overflow detection code. 1999-04-08 11:57:28 +00:00
InternalError.java Initial revision 1999-04-07 14:42:40 +00:00
InterruptedException.java Initial revision 1999-04-07 14:42:40 +00:00
LinkageError.java Initial revision 1999-04-07 14:42:40 +00:00
Long.java Long.java (parseLong): Corrected overflow detection code. 1999-04-08 11:57:28 +00:00
Math.java Initial revision 1999-04-07 14:42:40 +00:00
NegativeArraySizeException.java Initial revision 1999-04-07 14:42:40 +00:00
NoClassDefFoundError.java Initial revision 1999-04-07 14:42:40 +00:00
NoSuchFieldError.java Initial revision 1999-04-07 14:42:40 +00:00
NoSuchFieldException.java Initial revision 1999-04-07 14:42:40 +00:00
NoSuchMethodError.java Initial revision 1999-04-07 14:42:40 +00:00
NoSuchMethodException.java Initial revision 1999-04-07 14:42:40 +00:00
NullPointerException.java Initial revision 1999-04-07 14:42:40 +00:00
Number.java Initial revision 1999-04-07 14:42:40 +00:00
NumberFormatException.java Initial revision 1999-04-07 14:42:40 +00:00
Object.h configure: Rebuilt. 1999-09-10 22:03:10 +00:00
Object.java Initial revision 1999-04-07 14:42:40 +00:00
OutOfMemoryError.java Initial revision 1999-04-07 14:42:40 +00:00
PosixProcess.java javaprims.h: Updated namespace declarations. 1999-05-12 11:23:44 +00:00
Process.java Initial revision 1999-04-07 14:42:40 +00:00
Runnable.java Initial revision 1999-04-07 14:42:40 +00:00
Runtime.java Runtime.java (exec): Convert prog name and arguments to string array. 1999-06-09 18:42:26 +01:00
RuntimeException.java Initial revision 1999-04-07 14:42:40 +00:00
SecurityException.java Initial revision 1999-04-07 14:42:40 +00:00
SecurityManager.java Initial revision 1999-04-07 14:42:40 +00:00
Short.java Initial revision 1999-04-07 14:42:40 +00:00
StackOverflowError.java Initial revision 1999-04-07 14:42:40 +00:00
String.java String.java (toString): Check for this == null and throw NullPointerException. 1999-07-01 20:58:04 +01:00
StringBuffer.java StringBuffer.java (ensureCapacity): Don't resize vector when shared. 1999-04-30 09:31:00 +00:00
StringIndexOutOfBoundsException.java Initial revision 1999-04-07 14:42:40 +00:00
System.java Initial revision 1999-04-07 14:42:40 +00:00
Thread.java Commit forgotten Thread.java patch. 1999-12-27 07:33:22 +00:00
ThreadDeath.java Initial revision 1999-04-07 14:42:40 +00:00
ThreadGroup.java natThread.cc (stop): Removed argument name. 1999-11-05 17:10:17 +00:00
Throwable.java Initial revision 1999-04-07 14:42:40 +00:00
UnknownError.java Initial revision 1999-04-07 14:42:40 +00:00
UnsatisfiedLinkError.java Initial revision 1999-04-07 14:42:40 +00:00
UnsupportedOperationException.java Initial revision 1999-04-07 14:42:40 +00:00
VerifyError.java Initial revision 1999-04-07 14:42:40 +00:00
VirtualMachineError.java [multiple changes] 1999-08-08 14:06:23 +00:00
Void.java Initial revision 1999-04-07 14:42:40 +00:00
dtoa.c [multiple changes] 1999-06-24 20:06:09 +00:00
e_acos.c [multiple changes] 1999-06-24 20:06:09 +00:00
e_asin.c [multiple changes] 1999-06-24 20:41:47 +00:00
e_atan2.c [multiple changes] 1999-06-24 20:06:09 +00:00
e_exp.c [multiple changes] 1999-06-24 20:06:09 +00:00
e_fmod.c [multiple changes] 1999-06-24 20:06:09 +00:00
e_log.c [multiple changes] 1999-06-24 20:06:09 +00:00
e_pow.c [multiple changes] 1999-06-24 20:06:09 +00:00
e_rem_pio2.c [multiple changes] 1999-06-24 20:06:09 +00:00
e_remainder.c [multiple changes] 1999-06-24 20:06:09 +00:00
e_scalb.c Initial revision 1999-04-07 14:42:40 +00:00
e_sqrt.c [multiple changes] 1999-06-24 20:06:09 +00:00
fdlibm.h [multiple changes] 1999-06-24 20:41:47 +00:00
ieeefp.h The following patches include a couple of fixes for cross toolchains, 1999-10-02 15:44:24 +00:00
k_cos.c [multiple changes] 1999-06-24 20:06:09 +00:00
k_rem_pio2.c [multiple changes] 1999-06-24 20:06:09 +00:00
k_sin.c [multiple changes] 1999-06-24 20:06:09 +00:00
k_tan.c [multiple changes] 1999-06-24 20:06:09 +00:00
mprec.c Initial revision 1999-04-07 14:42:40 +00:00
mprec.h mprec.h: Protect definition of uint32_t with #ifndef _UINT32_T. 1999-07-12 09:40:07 +00:00
natCharacter.cc configure: Rebuilt. 1999-09-10 22:03:10 +00:00
natClass.cc [multiple changes] 2000-01-04 08:46:52 +00:00
natClassLoader.cc Makefile.in: Rebuilt. 1999-10-22 19:43:41 +00:00
natDouble.cc sjlj jumbo patch 1999-11-19 19:13:42 +00:00
natEcosProcess.cc configure: Rebuilt. 1999-09-10 22:03:10 +00:00
natFirstThread.cc natFirstThread.cc (run): Renamed from `run0'. 1999-09-23 19:05:50 +00:00
natFloat.cc natDouble.java (doubleToLongBits): ensure that all NaNs are always converted to the same long value. 1999-04-14 07:10:22 +00:00
natMath.cc configure: Rebuilt. 1999-09-10 22:03:10 +00:00
natObject.cc natObject.cc (notify): Throw message with IllegalMonitorStateException. 1999-12-24 01:00:46 +00:00
natPosixProcess.cc * java/lang/natPosixProcess.cc (startProcess): Don't use sprintf. 1999-12-17 16:06:17 +00:00
natRuntime.cc configure: Rebuilt. 1999-09-10 22:03:10 +00:00
natString.cc natString.cc (equalsIgnoreCase): return false if anotherString is null. 1999-12-02 19:59:30 +00:00
natSystem.cc natSystem.cc (init_properties): Don't set user.name or user.home if NO_GETUID defined. 1999-12-15 22:38:56 +00:00
natThread.cc natObject.cc (notify): Throw message with IllegalMonitorStateException. 1999-12-24 01:00:46 +00:00
s_atan.c [multiple changes] 1999-06-24 20:06:09 +00:00
s_ceil.c [multiple changes] 1999-06-24 20:06:09 +00:00
s_copysign.c [multiple changes] 1999-06-24 20:06:09 +00:00
s_cos.c [multiple changes] 1999-06-24 20:06:09 +00:00
s_fabs.c [multiple changes] 1999-06-24 20:06:09 +00:00
s_floor.c [multiple changes] 1999-06-24 20:06:09 +00:00
s_rint.c [multiple changes] 1999-06-24 20:06:09 +00:00
s_scalbn.c [multiple changes] 1999-06-24 20:06:09 +00:00
s_sin.c [multiple changes] 1999-06-24 20:06:09 +00:00
s_tan.c [multiple changes] 1999-06-24 20:06:09 +00:00
sf_rint.c [multiple changes] 1999-06-24 20:06:09 +00:00
strtod.c Initial revision 1999-04-07 14:42:40 +00:00
w_acos.c Initial revision 1999-04-07 14:42:40 +00:00
w_asin.c Initial revision 1999-04-07 14:42:40 +00:00
w_atan2.c Initial revision 1999-04-07 14:42:40 +00:00
w_exp.c Initial revision 1999-04-07 14:42:40 +00:00
w_fmod.c Initial revision 1999-04-07 14:42:40 +00:00
w_log.c Initial revision 1999-04-07 14:42:40 +00:00
w_pow.c Initial revision 1999-04-07 14:42:40 +00:00
w_remainder.c Initial revision 1999-04-07 14:42:40 +00:00
w_sqrt.c Initial revision 1999-04-07 14:42:40 +00:00