Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2010)

Unified Diff: runtime/vm/object.cc

Issue 82793004: Add field and function view for libraries. Rough cut. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: runtime/vm/object.cc
===================================================================
--- runtime/vm/object.cc (revision 30547)
+++ runtime/vm/object.cc (working copy)
@@ -5918,18 +5918,21 @@
jsobj.AddProperty("id", id);
jsobj.AddProperty("name", internal_field_name);
jsobj.AddProperty("user_name", field_name);
- if (ref) {
- return;
+ if (is_static()) {
+ const Object& valueObj = Object::Handle(value());
+ jsobj.AddProperty("value", valueObj);
}
Class& cls = Class::Handle(owner());
- jsobj.AddProperty("type", "Field");
- jsobj.AddProperty("id", id);
- jsobj.AddProperty("name", internal_field_name);
- jsobj.AddProperty("user_name", field_name);
- jsobj.AddProperty("class", cls);
+ jsobj.AddProperty("owner", cls);
+ AbstractType& declared_type = AbstractType::Handle(type());
+ cls = declared_type.type_class();
+ jsobj.AddProperty("declared_type", cls);
jsobj.AddProperty("static", is_static());
jsobj.AddProperty("final", is_final());
jsobj.AddProperty("const", is_const());
+ if (ref) {
+ return;
+ }
jsobj.AddProperty("guard_nullable", is_nullable());
if (guarded_cid() == kIllegalCid) {
jsobj.AddProperty("guard_class", "unknown");
@@ -8123,15 +8126,18 @@
jsobj.AddProperty("type", JSONType(ref));
jsobj.AddProperty("id", id);
jsobj.AddProperty("name", library_name);
+ jsobj.AddProperty("url", library_url);
if (ref) return;
- jsobj.AddProperty("url", library_url);
{
JSONArray jsarr(&jsobj, "classes");
ClassDictionaryIterator class_iter(*this);
Class& klass = Class::Handle();
while (class_iter.HasNext()) {
klass = class_iter.GetNextClass();
- jsarr.AddValue(klass);
+ if (!klass.IsCanonicalSignatureClass() &&
+ !klass.IsAnonymousMixinApplication()) {
+ jsarr.AddValue(klass);
+ }
}
}
{
@@ -8142,6 +8148,33 @@
jsarr.AddValue(lib);
}
}
+ {
+ JSONArray jsarr(&jsobj, "variables");
+ DictionaryIterator entries(*this);
+ Object& entry = Object::Handle();
+ while (entries.HasNext()) {
+ entry = entries.GetNext();
+ if (entry.IsField()) {
+ jsarr.AddValue(entry);
+ }
+ }
+ }
+ {
+ JSONArray jsarr(&jsobj, "functions");
+ DictionaryIterator entries(*this);
+ Object& entry = Object::Handle();
+ while (entries.HasNext()) {
+ entry = entries.GetNext();
+ if (entry.IsFunction()) {
+ const Function& func = Function::Cast(entry);
+ if (func.kind() == RawFunction::kRegularFunction ||
+ func.kind() == RawFunction::kGetterFunction ||
+ func.kind() == RawFunction::kSetterFunction) {
+ jsarr.AddValue(func);
+ }
+ }
+ }
+ }
}
@@ -11342,7 +11375,23 @@
void Instance::PrintToJSONStream(JSONStream* stream, bool ref) const {
+ ObjectIdRing* ring = Isolate::Current()->object_id_ring();
+ intptr_t id = ring->GetIdForObject(raw());
+
JSONObject jsobj(stream);
+ jsobj.AddProperty("type", JSONType(ref));
+ jsobj.AddProperty("id", id);
+
+ // Set the "preview" property for this instance.
+ if (IsNull()) {
+ jsobj.AddProperty("preview", "null");
+ } else if (raw() == Object::sentinel().raw() ||
+ raw() == Object::transition_sentinel().raw()) {
+ jsobj.AddProperty("preview", "<uninitialized>");
+ } else {
+ // TODO(turnidge): Handle special characters? Truncate?
+ jsobj.AddProperty("preview", ToCString());
+ }
}
@@ -12677,7 +12726,7 @@
void Number::PrintToJSONStream(JSONStream* stream, bool ref) const {
- JSONObject jsobj(stream);
+ Instance::PrintToJSONStream(stream, ref);
}
@@ -12689,7 +12738,7 @@
void Integer::PrintToJSONStream(JSONStream* stream, bool ref) const {
- JSONObject jsobj(stream);
+ Number::PrintToJSONStream(stream, ref);
}
@@ -13107,7 +13156,7 @@
void Smi::PrintToJSONStream(JSONStream* stream, bool ref) const {
- JSONObject jsobj(stream);
+ Number::PrintToJSONStream(stream, ref);
}
@@ -13226,7 +13275,7 @@
void Mint::PrintToJSONStream(JSONStream* stream, bool ref) const {
- JSONObject jsobj(stream);
+ Number::PrintToJSONStream(stream, ref);
}
@@ -13332,7 +13381,7 @@
void Double::PrintToJSONStream(JSONStream* stream, bool ref) const {
- JSONObject jsobj(stream);
+ Number::PrintToJSONStream(stream, ref);
}
@@ -13503,7 +13552,7 @@
void Bigint::PrintToJSONStream(JSONStream* stream, bool ref) const {
- JSONObject jsobj(stream);
+ Number::PrintToJSONStream(stream, ref);
}
@@ -14126,7 +14175,7 @@
void String::PrintToJSONStream(JSONStream* stream, bool ref) const {
- JSONObject jsobj(stream);
+ Instance::PrintToJSONStream(stream, ref);
}
@@ -14884,7 +14933,7 @@
void Bool::PrintToJSONStream(JSONStream* stream, bool ref) const {
- JSONObject jsobj(stream);
+ Instance::PrintToJSONStream(stream, ref);
}
@@ -14970,7 +15019,7 @@
void Array::PrintToJSONStream(JSONStream* stream, bool ref) const {
- JSONObject jsobj(stream);
+ Instance::PrintToJSONStream(stream, ref);
}
@@ -15183,7 +15232,7 @@
void GrowableObjectArray::PrintToJSONStream(JSONStream* stream,
bool ref) const {
- JSONObject jsobj(stream);
+ Instance::PrintToJSONStream(stream, ref);
}
@@ -15288,7 +15337,7 @@
void Float32x4::PrintToJSONStream(JSONStream* stream, bool ref) const {
- JSONObject jsobj(stream);
+ Instance::PrintToJSONStream(stream, ref);
}
@@ -15393,7 +15442,7 @@
void Int32x4::PrintToJSONStream(JSONStream* stream, bool ref) const {
- JSONObject jsobj(stream);
+ Instance::PrintToJSONStream(stream, ref);
}
@@ -15443,7 +15492,7 @@
void TypedData::PrintToJSONStream(JSONStream* stream, bool ref) const {
- JSONObject jsobj(stream);
+ Instance::PrintToJSONStream(stream, ref);
}
@@ -15479,7 +15528,7 @@
void ExternalTypedData::PrintToJSONStream(JSONStream* stream,
bool ref) const {
- JSONObject jsobj(stream);
+ Instance::PrintToJSONStream(stream, ref);
}
@@ -15666,7 +15715,7 @@
void Stacktrace::PrintToJSONStream(JSONStream* stream, bool ref) const {
- JSONObject jsobj(stream);
+ Instance::PrintToJSONStream(stream, ref);
}
@@ -15876,7 +15925,7 @@
void JSRegExp::PrintToJSONStream(JSONStream* stream, bool ref) const {
- JSONObject jsobj(stream);
+ Instance::PrintToJSONStream(stream, ref);
}
@@ -15896,7 +15945,7 @@
void WeakProperty::PrintToJSONStream(JSONStream* stream, bool ref) const {
- JSONObject jsobj(stream);
+ Instance::PrintToJSONStream(stream, ref);
}
RawAbstractType* MirrorReference::GetAbstractTypeReferent() const {
@@ -15958,7 +16007,7 @@
void MirrorReference::PrintToJSONStream(JSONStream* stream, bool ref) const {
- JSONObject jsobj(stream);
+ Instance::PrintToJSONStream(stream, ref);
}

Powered by Google App Engine
This is Rietveld 408576698