* gnu/classpath/jdwp/natVMVirtualMachine.cc

(getAllClassMethods): Implement.

From-SVN: r121142
This commit is contained in:
Keith Seitz 2007-01-24 22:35:43 +00:00 committed by Keith Seitz
parent c3a7e886ee
commit c65110e44c
2 changed files with 37 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2007-01-24 Keith Seitz <keiths@redhat.com>
* gnu/classpath/jdwp/natVMVirtualMachine.cc
(getAllClassMethods): Implement.
2007-01-24 Andrew Haley <aph@redhat.com>
* gnu/classpath/natVMStackWalker.cc: Call InitClass everywhere.

View File

@ -301,9 +301,39 @@ getClassStatus (MAYBE_UNUSED jclass klass)
JArray<gnu::classpath::jdwp::VMMethod *> *
gnu::classpath::jdwp::VMVirtualMachine::
getAllClassMethods (MAYBE_UNUSED jclass klass)
getAllClassMethods (jclass klass)
{
return NULL;
jint count;
jmethodID *methods;
jvmtiError err = _jdwp_jvmtiEnv->GetClassMethods (klass, &count, &methods);
if (err != JVMTI_ERROR_NONE)
{
char *error;
jstring msg;
if (_jdwp_jvmtiEnv->GetErrorName (err, &error) != JVMTI_ERROR_NONE)
{
msg = JvNewStringLatin1 (error);
_jdwp_jvmtiEnv->Deallocate ((unsigned char *) error);
}
else
msg = JvNewStringLatin1 ("out of memory");
using namespace gnu::classpath::jdwp::exception;
throw new JdwpInternalErrorException (msg);
}
JArray<VMMethod *> *result
= (JArray<VMMethod *> *) JvNewObjectArray (count,
&VMMethod::class$, NULL);
VMMethod **rmeth = elements (result);
for (int i = 0; i < count; ++i)
{
jlong id = reinterpret_cast<jlong> (methods[i]);
rmeth[i] = getClassMethod (klass, id);
}
_jdwp_jvmtiEnv->Deallocate ((unsigned char *) methods);
return result;
}
gnu::classpath::jdwp::VMMethod *