summaryrefslogtreecommitdiffstats
path: root/libjava/gnu/classpath/jdwp/natVMFrame.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/gnu/classpath/jdwp/natVMFrame.cc')
-rw-r--r--libjava/gnu/classpath/jdwp/natVMFrame.cc15
1 files changed, 15 insertions, 0 deletions
diff --git a/libjava/gnu/classpath/jdwp/natVMFrame.cc b/libjava/gnu/classpath/jdwp/natVMFrame.cc
index e32e7334136..6f2d5233233 100644
--- a/libjava/gnu/classpath/jdwp/natVMFrame.cc
+++ b/libjava/gnu/classpath/jdwp/natVMFrame.cc
@@ -24,6 +24,7 @@ details. */
#include <gnu/classpath/jdwp/exception/JdwpInternalErrorException.h>
#include <gnu/classpath/jdwp/exception/TypeMismatchException.h>
#include <gnu/classpath/jdwp/util/NullObject.h>
+#include <gnu/classpath/jdwp/value/ArrayValue.h>
#include <gnu/classpath/jdwp/value/ByteValue.h>
#include <gnu/classpath/jdwp/value/BooleanValue.h>
#include <gnu/classpath/jdwp/value/CharValue.h>
@@ -240,6 +241,14 @@ gnu::classpath::jdwp::VMFrame::getValue (jint slot, jbyte sig)
case 'V':
value = new VoidValue ();
break;
+ case '[':
+ {
+ Object *obj = getObjectJVMTI (env, thread, slot, depth, sig);
+ if (obj == NULL)
+ obj = new util::NullObject ();
+ value = new ArrayValue (obj);
+ break;
+ }
default:
Object *obj = getObjectJVMTI (env, thread, slot, depth, sig);
if (obj == NULL)
@@ -313,6 +322,12 @@ gnu::classpath::jdwp::VMFrame::setValue (jint slot, Value* value)
}
case 'V':
break;
+ case '[':
+ {
+ ArrayValue *val = reinterpret_cast<ArrayValue *> (value);
+ setObjectJVMTI (env, thread, slot, depth, sig, val->getObject ());
+ break;
+ }
default:
{
ObjectValue *val = reinterpret_cast<ObjectValue *> (value);
OpenPOWER on IntegriCloud