natVMProxy.cc (ncode_closure.meth): Delete.

2007-03-05  Andrew Haley  <aph@redhat.com>

	* java/lang/reflect/natVMProxy.cc (ncode_closure.meth): Delete.
	(generateProxyClass): Don't pass method to ncode.
	(run_proxy): Call _Jv_GetReflectedMethod to find the proxy method.
	* java/lang/reflect/Method.h: Rebuild.
	* java/lang/reflect/Method.java (internalGetParameterTypes,
	internalGetExceptionTypes): New methods.
	* headers.txt (class java/lang/reflect/Method): Declare
	_Jv_GetReflectedMethod.  Be its friend.
	* java/lang/natClass.cc (_Jv_GetReflectedMethod): New method.
	* java/lang/Class.h: Declare it.  Be its friend.

From-SVN: r122554
This commit is contained in:
Andrew Haley 2007-03-05 16:06:27 +00:00 committed by Andrew Haley
parent f4a2a1deec
commit a29114a3be
8 changed files with 83 additions and 13 deletions

View file

@ -153,6 +153,15 @@ public final class Method
return (Class<?>[]) parameter_types.clone();
}
// Just like getParameterTypes, but don't clone the array.
// Package private for use by VMProxy.
final Class<?>[] internalGetParameterTypes ()
{
if (parameter_types == null)
getType();
return (Class<?>[]) parameter_types;
}
/**
* Get the exception types this method says it throws, in no particular
* order. If the method has no throws clause, returns a 0-length array
@ -167,6 +176,15 @@ public final class Method
return (Class<?>[]) exception_types.clone();
}
// Just like getExceptionTypes, but don't clone the array.
// Package private for use by VMProxy.
final Class<?>[] internalGetExceptionTypes ()
{
if (exception_types == null)
getType();
return (Class<?>[]) exception_types;
}
/**
* Compare two objects to see if they are semantically equivalent.
* Two Methods are semantically equivalent if they have the same declaring