Index: runtime/vm/object_service.cc |
diff --git a/runtime/vm/object_service.cc b/runtime/vm/object_service.cc |
index bb0bb26d2d2c985f86528399da413ce983b6500c..578d97aa1b13d4b47d4c7eadfccfd13fed78bab3 100644 |
--- a/runtime/vm/object_service.cc |
+++ b/runtime/vm/object_service.cc |
@@ -15,11 +15,11 @@ namespace dart { |
#ifndef PRODUCT |
static void AddNameProperties(JSONObject* jsobj, |
- const String& name, |
- const String& vm_name) { |
- jsobj->AddProperty("name", name.ToCString()); |
- if (!name.Equals(vm_name)) { |
- jsobj->AddProperty("_vmName", vm_name.ToCString()); |
+ const char* name, |
+ const char* vm_name) { |
+ jsobj->AddProperty("name", name); |
+ if (strcmp(name, vm_name) != 0) { |
+ jsobj->AddProperty("_vmName", vm_name); |
} |
} |
@@ -87,7 +87,9 @@ void Class::PrintJSONImpl(JSONStream* stream, bool ref) const { |
jsobj.AddFixedServiceId("classes/%" Pd "", id()); |
const String& scrubbed_name = String::Handle(ScrubbedName()); |
const String& vm_name = String::Handle(Name()); |
- AddNameProperties(&jsobj, scrubbed_name, vm_name); |
+ AddNameProperties(&jsobj, |
+ scrubbed_name.ToCString(), |
+ vm_name.ToCString()); |
if (ref) { |
return; |
} |
@@ -202,7 +204,7 @@ void TypeArguments::PrintJSONImpl(JSONStream* stream, bool ref) const { |
jsobj.AddServiceId(*this); |
const String& user_name = String::Handle(UserVisibleName()); |
const String& vm_name = String::Handle(Name()); |
- AddNameProperties(&jsobj, user_name, vm_name); |
+ AddNameProperties(&jsobj, user_name.ToCString(), vm_name.ToCString()); |
if (ref) { |
return; |
} |
@@ -265,9 +267,9 @@ static void AddFunctionServiceId(const JSONObject& jsobj, |
// Regular functions known to their owner use their name (percent-encoded). |
String& name = String::Handle(f.name()); |
if (cls.LookupFunction(name) == f.raw()) { |
- name = String::EncodeIRI(name); |
+ const char* encoded_name = String::EncodeIRI(name); |
jsobj.AddFixedServiceId("classes/%" Pd "/functions/%s", |
- cls.id(), name.ToCString()); |
+ cls.id(), encoded_name); |
return; |
} |
// Oddball functions (not known to their owner) fall back to use the object |
@@ -288,7 +290,7 @@ void Function::PrintJSONImpl(JSONStream* stream, bool ref) const { |
AddFunctionServiceId(jsobj, *this, cls); |
const String& user_name = String::Handle(UserVisibleName()); |
const String& vm_name = String::Handle(name()); |
- AddNameProperties(&jsobj, user_name, vm_name); |
+ AddNameProperties(&jsobj, user_name.ToCString(), vm_name.ToCString()); |
const Function& parent = Function::Handle(parent_function()); |
if (!parent.IsNull()) { |
jsobj.AddProperty("owner", parent); |
@@ -352,14 +354,14 @@ void Field::PrintJSONImpl(JSONStream* stream, bool ref) const { |
JSONObject jsobj(stream); |
Class& cls = Class::Handle(Owner()); |
String& field_name = String::Handle(name()); |
- field_name = String::EncodeIRI(field_name); |
+ const char* encoded_field_name = String::EncodeIRI(field_name); |
AddCommonObjectProperties(&jsobj, "Field", ref); |
jsobj.AddFixedServiceId("classes/%" Pd "/fields/%s", |
- cls.id(), field_name.ToCString()); |
+ cls.id(), encoded_field_name); |
const String& user_name = String::Handle(UserVisibleName()); |
const String& vm_name = String::Handle(name()); |
- AddNameProperties(&jsobj, user_name, vm_name); |
+ AddNameProperties(&jsobj, user_name.ToCString(), vm_name.ToCString()); |
if (cls.IsTopLevel()) { |
const Library& library = Library::Handle(cls.library()); |
jsobj.AddProperty("owner", library); |
@@ -434,14 +436,13 @@ void Script::PrintJSONImpl(JSONStream* stream, bool ref) const { |
AddCommonObjectProperties(&jsobj, "Script", ref); |
const String& uri = String::Handle(url()); |
ASSERT(!uri.IsNull()); |
- const String& encoded_uri = String::Handle(String::EncodeIRI(uri)); |
- ASSERT(!encoded_uri.IsNull()); |
+ const char* encoded_uri = String::EncodeIRI(uri); |
const Library& lib = Library::Handle(FindLibrary()); |
if (lib.IsNull()) { |
jsobj.AddServiceId(*this); |
} else { |
jsobj.AddFixedServiceId("libraries/%" Pd "/scripts/%s/%" Px64 "", |
- lib.index(), encoded_uri.ToCString(), |
+ lib.index(), encoded_uri, |
load_timestamp()); |
} |
jsobj.AddPropertyStr("uri", uri); |
@@ -499,7 +500,7 @@ void Library::PrintJSONImpl(JSONStream* stream, bool ref) const { |
jsobj.AddFixedServiceId("libraries/%" Pd "", id); |
const String& vm_name = String::Handle(name()); |
const String& scrubbed_name = String::Handle(String::ScrubName(vm_name)); |
- AddNameProperties(&jsobj, scrubbed_name, vm_name); |
+ AddNameProperties(&jsobj, scrubbed_name.ToCString(), vm_name.ToCString()); |
const String& library_url = String::Handle(url()); |
jsobj.AddPropertyStr("uri", library_url); |
if (ref) { |
@@ -808,8 +809,8 @@ void Code::PrintJSONImpl(JSONStream* stream, bool ref) const { |
jsobj.AddFixedServiceId("code/%" Px64"-%" Px "", |
compile_timestamp(), |
PayloadStart()); |
- const String& qualified_name = String::Handle(QualifiedName()); |
- const String& vm_name = String::Handle(Name()); |
+ const char* qualified_name = QualifiedName(); |
+ const char* vm_name = Name(); |
AddNameProperties(&jsobj, qualified_name, vm_name); |
const bool is_stub = IsStubCode() || IsAllocationStubCode(); |
if (is_stub) { |
@@ -837,8 +838,8 @@ void Code::PrintJSONImpl(JSONStream* stream, bool ref) const { |
JSONObject func(&jsobj, "function"); |
func.AddProperty("type", "@Function"); |
func.AddProperty("_kind", "Stub"); |
- ASSERT(qualified_name.Equals(vm_name)); |
- func.AddProperty("name", vm_name.ToCString()); |
+ ASSERT(strcmp(qualified_name, vm_name) == 0); |
+ func.AddProperty("name", vm_name); |
AddNameProperties(&func, vm_name, vm_name); |
} |
jsobj.AddPropertyF("_startAddress", "%" Px "", PayloadStart()); |
@@ -1122,7 +1123,7 @@ void Type::PrintJSONImpl(JSONStream* stream, bool ref) const { |
} |
const String& user_name = String::Handle(UserVisibleName()); |
const String& vm_name = String::Handle(Name()); |
- AddNameProperties(&jsobj, user_name, vm_name); |
+ AddNameProperties(&jsobj, user_name.ToCString(), vm_name.ToCString()); |
if (ref) { |
return; |
} |
@@ -1140,7 +1141,7 @@ void TypeRef::PrintJSONImpl(JSONStream* stream, bool ref) const { |
jsobj.AddServiceId(*this); |
const String& user_name = String::Handle(UserVisibleName()); |
const String& vm_name = String::Handle(Name()); |
- AddNameProperties(&jsobj, user_name, vm_name); |
+ AddNameProperties(&jsobj, user_name.ToCString(), vm_name.ToCString()); |
if (ref) { |
return; |
} |
@@ -1155,7 +1156,7 @@ void TypeParameter::PrintJSONImpl(JSONStream* stream, bool ref) const { |
jsobj.AddServiceId(*this); |
const String& user_name = String::Handle(UserVisibleName()); |
const String& vm_name = String::Handle(Name()); |
- AddNameProperties(&jsobj, user_name, vm_name); |
+ AddNameProperties(&jsobj, user_name.ToCString(), vm_name.ToCString()); |
const Class& param_cls = Class::Handle(parameterized_class()); |
jsobj.AddProperty("parameterizedClass", param_cls); |
if (ref) { |
@@ -1174,7 +1175,7 @@ void BoundedType::PrintJSONImpl(JSONStream* stream, bool ref) const { |
jsobj.AddServiceId(*this); |
const String& user_name = String::Handle(UserVisibleName()); |
const String& vm_name = String::Handle(Name()); |
- AddNameProperties(&jsobj, user_name, vm_name); |
+ AddNameProperties(&jsobj, user_name.ToCString(), vm_name.ToCString()); |
if (ref) { |
return; |
} |