aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Seitz <keiths@redhat.com>2007-01-23 06:40:49 +0000
committerKeith Seitz <kseitz@gcc.gnu.org>2007-01-23 06:40:49 +0000
commitc56b658bded715a47a8f53efef923c40328f797b (patch)
tree51eb5d9c837a53959da01297b3d87af2194ee542
parent2b3c67882eba70e9b8ca8e6ce6465b4d3363a49a (diff)
downloadgcc-c56b658bded715a47a8f53efef923c40328f797b.zip
gcc-c56b658bded715a47a8f53efef923c40328f797b.tar.gz
gcc-c56b658bded715a47a8f53efef923c40328f797b.tar.bz2
* gnu/classpath/jdwp/natVMVirtualMachine.cc
(getClassMethod): Implement. From-SVN: r121078
-rw-r--r--libjava/ChangeLog5
-rw-r--r--libjava/gnu/classpath/jdwp/natVMVirtualMachine.cc10
2 files changed, 13 insertions, 2 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index ff434f8..5ab1789 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,8 @@
+2007-01-22 Keith Seitz <keiths@redhat.com>
+
+ * gnu/classpath/jdwp/natVMVirtualMachine.cc
+ (getClassMethod): Implement.
+
2007-01-22 Keith Seitz <keiths@redhat.com>
* java/lang/Class.h (_Jv_GetClassStatus): Declare.
diff --git a/libjava/gnu/classpath/jdwp/natVMVirtualMachine.cc b/libjava/gnu/classpath/jdwp/natVMVirtualMachine.cc
index 8c599fb..84b75ec 100644
--- a/libjava/gnu/classpath/jdwp/natVMVirtualMachine.cc
+++ b/libjava/gnu/classpath/jdwp/natVMVirtualMachine.cc
@@ -30,6 +30,7 @@ details. */
#include <gnu/classpath/jdwp/VMVirtualMachine.h>
#include <gnu/classpath/jdwp/event/EventRequest.h>
#include <gnu/classpath/jdwp/event/VmInitEvent.h>
+#include <gnu/classpath/jdwp/exception/InvalidMethodException.h>
#include <gnu/classpath/jdwp/exception/JdwpInternalErrorException.h>
#include <gnu/classpath/jdwp/util/MethodResult.h>
@@ -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<jmethodID> (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 *