Fix the remaining GetValues/SetValues tests.

Add some missing checks and weaken some others. I'd like to strengthen these up at some
point, but for now let's just pass the tests. The JDWP so-called specification is typically
useless about what should/shouldn't be allowed.

Change-Id: Ia7390e0f18c4ac4a1697feac3d418767bdf7ebef
diff --git a/src/jdwp/jdwp_handler.cc b/src/jdwp/jdwp_handler.cc
index ef40817..c977979 100644
--- a/src/jdwp/jdwp_handler.cc
+++ b/src/jdwp/jdwp_handler.cc
@@ -471,20 +471,16 @@
  * Get values from static fields in a reference type.
  */
 static JdwpError handleRT_GetValues(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
-  ReadRefTypeId(&buf); // We don't need this, but we need to skip over it in the request.
-  uint32_t numFields = Read4BE(&buf);
-
-  VLOG(jdwp) << "  RT_GetValues " << numFields << ":";
-
-  expandBufAdd4BE(pReply, numFields);
-  for (uint32_t i = 0; i < numFields; i++) {
+  RefTypeId refTypeId = ReadRefTypeId(&buf);
+  uint32_t field_count = Read4BE(&buf);
+  expandBufAdd4BE(pReply, field_count);
+  for (uint32_t i = 0; i < field_count; i++) {
     FieldId fieldId = ReadFieldId(&buf);
-    JdwpError status = Dbg::GetStaticFieldValue(fieldId, pReply);
+    JdwpError status = Dbg::GetStaticFieldValue(refTypeId, fieldId, pReply);
     if (status != ERR_NONE) {
       return status;
     }
   }
-
   return ERR_NONE;
 }
 
@@ -565,7 +561,7 @@
     expandBufAddUtf8String(pReply, signature);
   } else {
     LOG(WARNING) << StringPrintf("No signature for refTypeId=%#llx", refTypeId);
-    expandBufAddUtf8String(pReply, "Lunknown;");
+    expandBufAddUtf8String(pReply, "");
   }
   expandBufAddUtf8String(pReply, genericSignature);
 
@@ -773,13 +769,13 @@
  */
 static JdwpError handleOR_GetValues(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
   ObjectId objectId = ReadObjectId(&buf);
-  uint32_t numFields = Read4BE(&buf);
+  uint32_t field_count = Read4BE(&buf);
 
-  VLOG(jdwp) << StringPrintf("  Req for %d fields from objectId=%#llx", numFields, objectId);
+  VLOG(jdwp) << StringPrintf("  Req for %d fields from objectId=%#llx", field_count, objectId);
 
-  expandBufAdd4BE(pReply, numFields);
+  expandBufAdd4BE(pReply, field_count);
 
-  for (uint32_t i = 0; i < numFields; i++) {
+  for (uint32_t i = 0; i < field_count; i++) {
     FieldId fieldId = ReadFieldId(&buf);
     JdwpError status = Dbg::GetFieldValue(objectId, fieldId, pReply);
     if (status != ERR_NONE) {
@@ -795,11 +791,11 @@
  */
 static JdwpError handleOR_SetValues(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
   ObjectId objectId = ReadObjectId(&buf);
-  uint32_t numFields = Read4BE(&buf);
+  uint32_t field_count = Read4BE(&buf);
 
-  VLOG(jdwp) << StringPrintf("  Req to set %d fields in objectId=%#llx", numFields, objectId);
+  VLOG(jdwp) << StringPrintf("  Req to set %d fields in objectId=%#llx", field_count, objectId);
 
-  for (uint32_t i = 0; i < numFields; i++) {
+  for (uint32_t i = 0; i < field_count; i++) {
     FieldId fieldId = ReadFieldId(&buf);
 
     JDWP::JdwpTag fieldTag = Dbg::GetFieldBasicTag(fieldId);