| 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 202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 213 type_arg = TypeAt(i); | 213 type_arg = TypeAt(i); |
| 214 jsarr.AddValue(type_arg); | 214 jsarr.AddValue(type_arg); |
| 215 } | 215 } |
| 216 } | 216 } |
| 217 if (!IsInstantiated()) { | 217 if (!IsInstantiated()) { |
| 218 JSONArray jsarr(&jsobj, "_instantiations"); | 218 JSONArray jsarr(&jsobj, "_instantiations"); |
| 219 Array& prior_instantiations = Array::Handle(instantiations()); | 219 Array& prior_instantiations = Array::Handle(instantiations()); |
| 220 ASSERT(prior_instantiations.Length() > 0); // Always at least a sentinel. | 220 ASSERT(prior_instantiations.Length() > 0); // Always at least a sentinel. |
| 221 TypeArguments& type_args = TypeArguments::Handle(); | 221 TypeArguments& type_args = TypeArguments::Handle(); |
| 222 intptr_t i = 0; | 222 intptr_t i = 0; |
| 223 while (true) { | 223 while (prior_instantiations.At(i) != Smi::New(StubCode::kNoInstantiator)) { |
| 224 if (prior_instantiations.At(i) == Smi::New(StubCode::kNoInstantiator)) { | |
| 225 break; | |
| 226 } | |
| 227 JSONObject instantiation(&jsarr); | 224 JSONObject instantiation(&jsarr); |
| 228 type_args ^= prior_instantiations.At(i); | 225 type_args ^= prior_instantiations.At(i); |
| 229 instantiation.AddProperty("instantiator", type_args, true); | 226 instantiation.AddProperty("instantiatorTypeArguments", type_args, true); |
| 230 type_args ^= prior_instantiations.At(i + 1); | 227 type_args ^= prior_instantiations.At(i + 1); |
| 228 instantiation.AddProperty("functionTypeArguments", type_args, true); |
| 229 type_args ^= prior_instantiations.At(i + 2); |
| 231 instantiation.AddProperty("instantiated", type_args, true); | 230 instantiation.AddProperty("instantiated", type_args, true); |
| 232 i += 2; | 231 i += StubCode::kInstantiationSizeInWords; |
| 233 } | 232 } |
| 234 } | 233 } |
| 235 } | 234 } |
| 236 | 235 |
| 237 | 236 |
| 238 void PatchClass::PrintJSONImpl(JSONStream* stream, bool ref) const { | 237 void PatchClass::PrintJSONImpl(JSONStream* stream, bool ref) const { |
| 239 Object::PrintJSONImpl(stream, ref); | 238 Object::PrintJSONImpl(stream, ref); |
| 240 } | 239 } |
| 241 | 240 |
| 242 | 241 |
| (...skipping 1339 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1582 jsobj.AddProperty("mirrorReferent", referent_handle); | 1581 jsobj.AddProperty("mirrorReferent", referent_handle); |
| 1583 } | 1582 } |
| 1584 | 1583 |
| 1585 void UserTag::PrintJSONImpl(JSONStream* stream, bool ref) const { | 1584 void UserTag::PrintJSONImpl(JSONStream* stream, bool ref) const { |
| 1586 Instance::PrintJSONImpl(stream, ref); | 1585 Instance::PrintJSONImpl(stream, ref); |
| 1587 } | 1586 } |
| 1588 | 1587 |
| 1589 #endif | 1588 #endif |
| 1590 | 1589 |
| 1591 } // namespace dart | 1590 } // namespace dart |
| OLD | NEW |