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
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| reflect | Loading commit data... | |
| AbstractMethodError.java | Loading commit data... | |
| ArithmeticException.java | Loading commit data... | |
| ArrayIndexOutOfBoundsException.java | Loading commit data... | |
| ArrayStoreException.java | Loading commit data... | |
| Boolean.java | Loading commit data... | |
| Byte.java | Loading commit data... | |
| Character.java | Loading commit data... | |
| Class.h | Loading commit data... | |
| Class.java | Loading commit data... | |
| ClassCastException.java | Loading commit data... | |
| ClassCircularityError.java | Loading commit data... | |
| ClassFormatError.java | Loading commit data... | |
| ClassLoader.java | Loading commit data... | |
| ClassNotFoundException.java | Loading commit data... | |
| CloneNotSupportedException.java | Loading commit data... | |
| Cloneable.java | Loading commit data... | |
| Comparable.java | Loading commit data... | |
| Compiler.java | Loading commit data... | |
| Double.java | Loading commit data... | |
| EcosProcess.java | Loading commit data... | |
| Error.java | Loading commit data... | |
| Exception.java | Loading commit data... | |
| ExceptionInInitializerError.java | Loading commit data... | |
| FirstThread.java | Loading commit data... | |
| Float.java | Loading commit data... | |
| IllegalAccessError.java | Loading commit data... | |
| IllegalAccessException.java | Loading commit data... | |
| IllegalArgumentException.java | Loading commit data... | |
| IllegalMonitorStateException.java | Loading commit data... | |
| IllegalStateException.java | Loading commit data... | |
| IllegalThreadStateException.java | Loading commit data... | |
| IncompatibleClassChangeError.java | Loading commit data... | |
| IndexOutOfBoundsException.java | Loading commit data... | |
| InstantiationError.java | Loading commit data... | |
| InstantiationException.java | Loading commit data... | |
| Integer.java | Loading commit data... | |
| InternalError.java | Loading commit data... | |
| InterruptedException.java | Loading commit data... | |
| LinkageError.java | Loading commit data... | |
| Long.java | Loading commit data... | |
| Math.java | Loading commit data... | |
| NegativeArraySizeException.java | Loading commit data... | |
| NoClassDefFoundError.java | Loading commit data... | |
| NoSuchFieldError.java | Loading commit data... | |
| NoSuchFieldException.java | Loading commit data... | |
| NoSuchMethodError.java | Loading commit data... | |
| NoSuchMethodException.java | Loading commit data... | |
| NullPointerException.java | Loading commit data... | |
| Number.java | Loading commit data... | |
| NumberFormatException.java | Loading commit data... | |
| Object.h | Loading commit data... | |
| Object.java | Loading commit data... | |
| OutOfMemoryError.java | Loading commit data... | |
| PosixProcess.java | Loading commit data... | |
| Process.java | Loading commit data... | |
| Runnable.java | Loading commit data... | |
| Runtime.java | Loading commit data... | |
| RuntimeException.java | Loading commit data... | |
| SecurityException.java | Loading commit data... | |
| SecurityManager.java | Loading commit data... | |
| Short.java | Loading commit data... | |
| StackOverflowError.java | Loading commit data... | |
| String.java | Loading commit data... | |
| StringBuffer.java | Loading commit data... | |
| StringIndexOutOfBoundsException.java | Loading commit data... | |
| System.java | Loading commit data... | |
| Thread.java | Loading commit data... | |
| ThreadDeath.java | Loading commit data... | |
| ThreadGroup.java | Loading commit data... | |
| Throwable.java | Loading commit data... | |
| UnknownError.java | Loading commit data... | |
| UnsatisfiedLinkError.java | Loading commit data... | |
| UnsupportedOperationException.java | Loading commit data... | |
| VerifyError.java | Loading commit data... | |
| VirtualMachineError.java | Loading commit data... | |
| Void.java | Loading commit data... | |
| dtoa.c | Loading commit data... | |
| e_acos.c | Loading commit data... | |
| e_asin.c | Loading commit data... | |
| e_atan2.c | Loading commit data... | |
| e_exp.c | Loading commit data... | |
| e_fmod.c | Loading commit data... | |
| e_log.c | Loading commit data... | |
| e_pow.c | Loading commit data... | |
| e_rem_pio2.c | Loading commit data... | |
| e_remainder.c | Loading commit data... | |
| e_scalb.c | Loading commit data... | |
| e_sqrt.c | Loading commit data... | |
| fdlibm.h | Loading commit data... | |
| ieeefp.h | Loading commit data... | |
| k_cos.c | Loading commit data... | |
| k_rem_pio2.c | Loading commit data... | |
| k_sin.c | Loading commit data... | |
| k_tan.c | Loading commit data... | |
| mprec.c | Loading commit data... | |
| mprec.h | Loading commit data... | |
| natCharacter.cc | Loading commit data... | |
| natClass.cc | Loading commit data... | |
| natClassLoader.cc | Loading commit data... | |
| natDouble.cc | Loading commit data... | |
| natEcosProcess.cc | Loading commit data... | |
| natFirstThread.cc | Loading commit data... | |
| natFloat.cc | Loading commit data... | |
| natMath.cc | Loading commit data... | |
| natObject.cc | Loading commit data... | |
| natPosixProcess.cc | Loading commit data... | |
| natRuntime.cc | Loading commit data... | |
| natString.cc | Loading commit data... | |
| natSystem.cc | Loading commit data... | |
| natThread.cc | Loading commit data... | |
| s_atan.c | Loading commit data... | |
| s_ceil.c | Loading commit data... | |
| s_copysign.c | Loading commit data... | |
| s_cos.c | Loading commit data... | |
| s_fabs.c | Loading commit data... | |
| s_floor.c | Loading commit data... | |
| s_rint.c | Loading commit data... | |
| s_scalbn.c | Loading commit data... | |
| s_sin.c | Loading commit data... | |
| s_tan.c | Loading commit data... | |
| sf_rint.c | Loading commit data... | |
| strtod.c | Loading commit data... | |
| w_acos.c | Loading commit data... | |
| w_asin.c | Loading commit data... | |
| w_atan2.c | Loading commit data... | |
| w_exp.c | Loading commit data... | |
| w_fmod.c | Loading commit data... | |
| w_log.c | Loading commit data... | |
| w_pow.c | Loading commit data... | |
| w_remainder.c | Loading commit data... | |
| w_sqrt.c | Loading commit data... |