< prev index next >

src/jdk.jdwp.agent/share/native/libjdwp/ObjectReferenceImpl.c

Print this page




  59 }
  60 
  61 static jboolean
  62 getValues(PacketInputStream *in, PacketOutputStream *out)
  63 {
  64     sharedGetFieldValues(in, out, JNI_FALSE);
  65     return JNI_TRUE;
  66 }
  67 
  68 
  69 static jvmtiError
  70 readFieldValue(JNIEnv *env, PacketInputStream *in, jclass clazz,
  71                jobject object, jfieldID field, char *signature)
  72 {
  73     jvalue value;
  74     jvmtiError error;
  75 
  76     switch (signature[0]) {
  77         case JDWP_TAG(ARRAY):
  78         case JDWP_TAG(OBJECT):

  79             value.l = inStream_readObjectRef(env, in);
  80             JNI_FUNC_PTR(env,SetObjectField)(env, object, field, value.l);
  81             break;
  82 
  83         case JDWP_TAG(BYTE):
  84             value.b = inStream_readByte(in);
  85             JNI_FUNC_PTR(env,SetByteField)(env, object, field, value.b);
  86             break;
  87 
  88         case JDWP_TAG(CHAR):
  89             value.c = inStream_readChar(in);
  90             JNI_FUNC_PTR(env,SetCharField)(env, object, field, value.c);
  91             break;
  92 
  93         case JDWP_TAG(FLOAT):
  94             value.f = inStream_readFloat(in);
  95             JNI_FUNC_PTR(env,SetFloatField)(env, object, field, value.f);
  96             break;
  97 
  98         case JDWP_TAG(DOUBLE):




  59 }
  60 
  61 static jboolean
  62 getValues(PacketInputStream *in, PacketOutputStream *out)
  63 {
  64     sharedGetFieldValues(in, out, JNI_FALSE);
  65     return JNI_TRUE;
  66 }
  67 
  68 
  69 static jvmtiError
  70 readFieldValue(JNIEnv *env, PacketInputStream *in, jclass clazz,
  71                jobject object, jfieldID field, char *signature)
  72 {
  73     jvalue value;
  74     jvmtiError error;
  75 
  76     switch (signature[0]) {
  77         case JDWP_TAG(ARRAY):
  78         case JDWP_TAG(OBJECT):
  79         case JDWP_TAG(INLINE_OBJECT):
  80             value.l = inStream_readObjectRef(env, in);
  81             JNI_FUNC_PTR(env,SetObjectField)(env, object, field, value.l);
  82             break;
  83 
  84         case JDWP_TAG(BYTE):
  85             value.b = inStream_readByte(in);
  86             JNI_FUNC_PTR(env,SetByteField)(env, object, field, value.b);
  87             break;
  88 
  89         case JDWP_TAG(CHAR):
  90             value.c = inStream_readChar(in);
  91             JNI_FUNC_PTR(env,SetCharField)(env, object, field, value.c);
  92             break;
  93 
  94         case JDWP_TAG(FLOAT):
  95             value.f = inStream_readFloat(in);
  96             JNI_FUNC_PTR(env,SetFloatField)(env, object, field, value.f);
  97             break;
  98 
  99         case JDWP_TAG(DOUBLE):


< prev index next >