Implement static field getting/setting, and basic Eclipse support.

Eclipse uses a few new calls that I hadn't seen from any of the other
debuggers.

Change-Id: Iccb45f226431b6cd30a17f7b5ee8397e0838c1fc
diff --git a/src/class_linker.cc b/src/class_linker.cc
index 266c1f0..9e4a76d 100644
--- a/src/class_linker.cc
+++ b/src/class_linker.cc
@@ -1714,6 +1714,26 @@
   return NULL;
 }
 
+void ClassLinker::LookupClasses(const std::string& descriptor, std::vector<Class*>& classes) {
+  classes.clear();
+  size_t hash = StringPieceHash()(descriptor);
+  MutexLock mu(classes_lock_);
+  typedef Table::const_iterator It;  // TODO: C++0x auto
+  // TODO: determine if its better to search classes_ or image_classes_ first
+  for (It it = classes_.find(hash), end = classes_.end(); it != end; ++it) {
+    Class* c = it->second;
+    if (c->GetDescriptor()->Equals(descriptor)) {
+      classes.push_back(c);
+    }
+  }
+  for (It it = image_classes_.find(hash), end = image_classes_.end(); it != end; ++it) {
+    Class* c = it->second;
+    if (c->GetDescriptor()->Equals(descriptor)) {
+      classes.push_back(c);
+    }
+  }
+}
+
 void ClassLinker::VerifyClass(Class* klass) {
   if (klass->IsVerified()) {
     return;