diff --git a/libjava/ChangeLog b/libjava/ChangeLog index ff434f80d4c..5ab17892b40 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,8 @@ +2007-01-22 Keith Seitz + + * gnu/classpath/jdwp/natVMVirtualMachine.cc + (getClassMethod): Implement. + 2007-01-22 Keith Seitz * java/lang/Class.h (_Jv_GetClassStatus): Declare. diff --git a/libjava/gnu/classpath/jdwp/natVMVirtualMachine.cc b/libjava/gnu/classpath/jdwp/natVMVirtualMachine.cc index 8c599fb2e68..84b75ec386c 100644 --- a/libjava/gnu/classpath/jdwp/natVMVirtualMachine.cc +++ b/libjava/gnu/classpath/jdwp/natVMVirtualMachine.cc @@ -30,6 +30,7 @@ details. */ #include #include #include +#include #include #include @@ -307,9 +308,14 @@ getAllClassMethods (MAYBE_UNUSED jclass klass) gnu::classpath::jdwp::VMMethod * gnu::classpath::jdwp::VMVirtualMachine:: -getClassMethod (MAYBE_UNUSED jclass klass, MAYBE_UNUSED jlong id) +getClassMethod (jclass klass, jlong id) { - return NULL; + jmethodID method = reinterpret_cast (id); + _Jv_MethodBase *bmeth = _Jv_FindInterpreterMethod (klass, method); + if (bmeth != NULL) + return new gnu::classpath::jdwp::VMMethod (klass, id); + + throw new gnu::classpath::jdwp::exception::InvalidMethodException (id); } java::util::ArrayList *