| OLD | NEW |
| 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 #include "vm/debugger.h" | 5 #include "vm/debugger.h" |
| 6 #include "vm/disassembler.h" | 6 #include "vm/disassembler.h" |
| 7 #include "vm/object.h" | 7 #include "vm/object.h" |
| 8 #include "vm/object_store.h" | 8 #include "vm/object_store.h" |
| 9 #include "vm/stub_code.h" | 9 #include "vm/stub_code.h" |
| 10 #include "vm/symbols.h" | 10 #include "vm/symbols.h" |
| (...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 271 return; | 271 return; |
| 272 } | 272 } |
| 273 // Oddball functions (not known to their owner) fall back to use the object | 273 // Oddball functions (not known to their owner) fall back to use the object |
| 274 // id ring. Current known examples are signature functions of closures | 274 // id ring. Current known examples are signature functions of closures |
| 275 // and stubs like 'megamorphic_miss'. | 275 // and stubs like 'megamorphic_miss'. |
| 276 jsobj.AddServiceId(f); | 276 jsobj.AddServiceId(f); |
| 277 } | 277 } |
| 278 | 278 |
| 279 | 279 |
| 280 void Function::PrintJSONImpl(JSONStream* stream, bool ref) const { | 280 void Function::PrintJSONImpl(JSONStream* stream, bool ref) const { |
| 281 // TODO(regis): Handle signature functions separately. |
| 281 Class& cls = Class::Handle(Owner()); | 282 Class& cls = Class::Handle(Owner()); |
| 282 ASSERT(!cls.IsNull()); | 283 ASSERT(!cls.IsNull()); |
| 283 Error& err = Error::Handle(); | 284 Error& err = Error::Handle(); |
| 284 err ^= cls.EnsureIsFinalized(Thread::Current()); | 285 err ^= cls.EnsureIsFinalized(Thread::Current()); |
| 285 ASSERT(err.IsNull()); | 286 ASSERT(err.IsNull()); |
| 286 JSONObject jsobj(stream); | 287 JSONObject jsobj(stream); |
| 287 AddCommonObjectProperties(&jsobj, "Function", ref); | 288 AddCommonObjectProperties(&jsobj, "Function", ref); |
| 288 AddFunctionServiceId(jsobj, *this, cls); | 289 AddFunctionServiceId(jsobj, *this, cls); |
| 289 const String& user_name = String::Handle(UserVisibleName()); | 290 const String& user_name = String::Handle(UserVisibleName()); |
| 290 const String& vm_name = String::Handle(name()); | 291 const String& vm_name = String::Handle(name()); |
| (...skipping 801 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1092 } | 1093 } |
| 1093 } | 1094 } |
| 1094 | 1095 |
| 1095 | 1096 |
| 1096 void AbstractType::PrintJSONImpl(JSONStream* stream, bool ref) const { | 1097 void AbstractType::PrintJSONImpl(JSONStream* stream, bool ref) const { |
| 1097 UNREACHABLE(); | 1098 UNREACHABLE(); |
| 1098 } | 1099 } |
| 1099 | 1100 |
| 1100 | 1101 |
| 1101 void Type::PrintJSONImpl(JSONStream* stream, bool ref) const { | 1102 void Type::PrintJSONImpl(JSONStream* stream, bool ref) const { |
| 1103 // TODO(regis): Function types are not handled properly. |
| 1102 JSONObject jsobj(stream); | 1104 JSONObject jsobj(stream); |
| 1103 PrintSharedInstanceJSON(&jsobj, ref); | 1105 PrintSharedInstanceJSON(&jsobj, ref); |
| 1104 jsobj.AddProperty("kind", "Type"); | 1106 jsobj.AddProperty("kind", "Type"); |
| 1105 if (HasResolvedTypeClass()) { | 1107 if (HasResolvedTypeClass()) { |
| 1106 const Class& type_cls = Class::Handle(type_class()); | 1108 const Class& type_cls = Class::Handle(type_class()); |
| 1107 if (type_cls.CanonicalType() == raw()) { | 1109 if (type_cls.CanonicalType() == raw()) { |
| 1108 intptr_t cid = type_cls.id(); | 1110 intptr_t cid = type_cls.id(); |
| 1109 jsobj.AddFixedServiceId("classes/%" Pd "/types/%d", cid, 0); | 1111 jsobj.AddFixedServiceId("classes/%" Pd "/types/%d", cid, 0); |
| 1110 } else { | 1112 } else { |
| 1111 jsobj.AddServiceId(*this); | 1113 jsobj.AddServiceId(*this); |
| (...skipping 467 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1579 jsobj.AddProperty("mirrorReferent", referent_handle); | 1581 jsobj.AddProperty("mirrorReferent", referent_handle); |
| 1580 } | 1582 } |
| 1581 | 1583 |
| 1582 void UserTag::PrintJSONImpl(JSONStream* stream, bool ref) const { | 1584 void UserTag::PrintJSONImpl(JSONStream* stream, bool ref) const { |
| 1583 Instance::PrintJSONImpl(stream, ref); | 1585 Instance::PrintJSONImpl(stream, ref); |
| 1584 } | 1586 } |
| 1585 | 1587 |
| 1586 #endif | 1588 #endif |
| 1587 | 1589 |
| 1588 } // namespace dart | 1590 } // namespace dart |
| OLD | NEW |