Index: runtime/vm/json_stream.cc |
diff --git a/runtime/vm/json_stream.cc b/runtime/vm/json_stream.cc |
index 4d2f27bea542c4c3ee6ef2dfabb4c5e83be3ce95..6a2694a94e4d824d4fbaa975b2c7c5767e68af91 100644 |
--- a/runtime/vm/json_stream.cc |
+++ b/runtime/vm/json_stream.cc |
@@ -444,6 +444,12 @@ void JSONStream::PrintValue(Breakpoint* bpt) { |
} |
+void JSONStream::PrintValue(TokenPosition tp) { |
+ PrintCommaIfNeeded(); |
+ PrintValue(tp.value()); |
+} |
+ |
+ |
void JSONStream::PrintValue(const ServiceEvent* event) { |
PrintCommaIfNeeded(); |
event->PrintJSON(this); |
@@ -561,6 +567,12 @@ void JSONStream::PrintProperty(const char* name, Breakpoint* bpt) { |
} |
+void JSONStream::PrintProperty(const char* name, TokenPosition tp) { |
+ PrintPropertyName(name); |
+ PrintValue(tp); |
+} |
+ |
+ |
void JSONStream::PrintProperty(const char* name, Metric* metric) { |
PrintPropertyName(name); |
PrintValue(metric); |
@@ -753,13 +765,13 @@ void JSONObject::AddFixedServiceId(const char* format, ...) const { |
void JSONObject::AddLocation(const Script& script, |
- intptr_t token_pos, |
- intptr_t end_token_pos) const { |
+ TokenPosition token_pos, |
+ TokenPosition end_token_pos) const { |
JSONObject location(this, "location"); |
location.AddProperty("type", "SourceLocation"); |
location.AddProperty("script", script); |
location.AddProperty("tokenPos", token_pos); |
- if (end_token_pos >= 0) { |
+ if (end_token_pos.IsReal()) { |
location.AddProperty("endTokenPos", end_token_pos); |
} |
} |
@@ -771,7 +783,7 @@ void JSONObject::AddLocation(const BreakpointLocation* bpt_loc) const { |
Zone* zone = Thread::Current()->zone(); |
Library& library = Library::Handle(zone); |
Script& script = Script::Handle(zone); |
- intptr_t token_pos; |
+ TokenPosition token_pos = TokenPosition::kNoSource; |
bpt_loc->GetCodeLocation(&library, &script, &token_pos); |
AddLocation(script, token_pos); |
} |
@@ -784,7 +796,7 @@ void JSONObject::AddUnresolvedLocation( |
Zone* zone = Thread::Current()->zone(); |
Library& library = Library::Handle(zone); |
Script& script = Script::Handle(zone); |
- intptr_t token_pos; |
+ TokenPosition token_pos = TokenPosition::kNoSource; |
bpt_loc->GetCodeLocation(&library, &script, &token_pos); |
JSONObject location(this, "location"); |