| 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 508 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 519 while (class_iter.HasNext()) { | 519 while (class_iter.HasNext()) { |
| 520 klass = class_iter.GetNextClass(); | 520 klass = class_iter.GetNextClass(); |
| 521 if (!klass.IsMixinApplication()) { | 521 if (!klass.IsMixinApplication()) { |
| 522 jsarr.AddValue(klass); | 522 jsarr.AddValue(klass); |
| 523 } | 523 } |
| 524 } | 524 } |
| 525 } | 525 } |
| 526 { | 526 { |
| 527 JSONArray jsarr(&jsobj, "dependencies"); | 527 JSONArray jsarr(&jsobj, "dependencies"); |
| 528 | 528 |
| 529 Array& ports = Array::Handle(); | |
| 530 Namespace& ns = Namespace::Handle(); | 529 Namespace& ns = Namespace::Handle(); |
| 531 Library& target = Library::Handle(); | 530 Library& target = Library::Handle(); |
| 532 | 531 |
| 533 // Unprefixed imports. | 532 // Unprefixed imports. |
| 534 ports = imports(); | 533 Array& imports = Array::Handle(this->imports()); |
| 535 for (intptr_t i = 0; i < ports.Length(); i++) { | 534 for (intptr_t i = 0; i < imports.Length(); i++) { |
| 536 ns ^= ports.At(i); | 535 ns ^= imports.At(i); |
| 537 if (ns.IsNull()) continue; | 536 if (ns.IsNull()) continue; |
| 538 | 537 |
| 539 JSONObject jsdep(&jsarr); | 538 JSONObject jsdep(&jsarr); |
| 540 jsdep.AddProperty("isDeferred", false); | 539 jsdep.AddProperty("isDeferred", false); |
| 541 jsdep.AddProperty("isExport", false); | 540 jsdep.AddProperty("isExport", false); |
| 542 jsdep.AddProperty("isImport", true); | 541 jsdep.AddProperty("isImport", true); |
| 543 target = ns.library(); | 542 target = ns.library(); |
| 544 jsdep.AddProperty("target", target); | 543 jsdep.AddProperty("target", target); |
| 545 } | 544 } |
| 546 | 545 |
| 547 // Exports. | 546 // Exports. |
| 548 ports = exports(); | 547 const Array& exports = Array::Handle(this->exports()); |
| 549 for (intptr_t i = 0; i < ports.Length(); i++) { | 548 for (intptr_t i = 0; i < exports.Length(); i++) { |
| 550 ns ^= ports.At(i); | 549 ns ^= exports.At(i); |
| 551 if (ns.IsNull()) continue; | 550 if (ns.IsNull()) continue; |
| 552 | 551 |
| 553 JSONObject jsdep(&jsarr); | 552 JSONObject jsdep(&jsarr); |
| 554 jsdep.AddProperty("isDeferred", false); | 553 jsdep.AddProperty("isDeferred", false); |
| 555 jsdep.AddProperty("isExport", true); | 554 jsdep.AddProperty("isExport", true); |
| 556 jsdep.AddProperty("isImport", false); | 555 jsdep.AddProperty("isImport", false); |
| 557 target = ns.library(); | 556 target = ns.library(); |
| 558 jsdep.AddProperty("target", target); | 557 jsdep.AddProperty("target", target); |
| 559 } | 558 } |
| 560 | 559 |
| 561 // Prefixed imports. | 560 // Prefixed imports. |
| 562 DictionaryIterator entries(*this); | 561 DictionaryIterator entries(*this); |
| 563 Object& entry = Object::Handle(); | 562 Object& entry = Object::Handle(); |
| 564 LibraryPrefix& prefix = LibraryPrefix::Handle(); | 563 LibraryPrefix& prefix = LibraryPrefix::Handle(); |
| 565 String& prefixName = String::Handle(); | 564 String& prefixName = String::Handle(); |
| 566 while (entries.HasNext()) { | 565 while (entries.HasNext()) { |
| 567 entry = entries.GetNext(); | 566 entry = entries.GetNext(); |
| 568 if (entry.IsLibraryPrefix()) { | 567 if (entry.IsLibraryPrefix()) { |
| 569 prefix ^= entry.raw(); | 568 prefix ^= entry.raw(); |
| 570 ports = prefix.imports(); | 569 imports = prefix.imports(); |
| 571 for (intptr_t i = 0; i < ports.Length(); i++) { | 570 if (!imports.IsNull()) { |
| 572 ns ^= ports.At(i); | 571 for (intptr_t i = 0; i < imports.Length(); i++) { |
| 573 if (ns.IsNull()) continue; | 572 ns ^= imports.At(i); |
| 573 if (ns.IsNull()) continue; |
| 574 | 574 |
| 575 JSONObject jsdep(&jsarr); | 575 JSONObject jsdep(&jsarr); |
| 576 jsdep.AddProperty("isDeferred", prefix.is_deferred_load()); | 576 jsdep.AddProperty("isDeferred", prefix.is_deferred_load()); |
| 577 jsdep.AddProperty("isExport", false); | 577 jsdep.AddProperty("isExport", false); |
| 578 jsdep.AddProperty("isImport", true); | 578 jsdep.AddProperty("isImport", true); |
| 579 prefixName = prefix.name(); | 579 prefixName = prefix.name(); |
| 580 ASSERT(!prefixName.IsNull()); | 580 ASSERT(!prefixName.IsNull()); |
| 581 jsdep.AddProperty("prefix", prefixName.ToCString()); | 581 jsdep.AddProperty("prefix", prefixName.ToCString()); |
| 582 target = ns.library(); | 582 target = ns.library(); |
| 583 jsdep.AddProperty("target", target); | 583 jsdep.AddProperty("target", target); |
| 584 } |
| 584 } | 585 } |
| 585 } | 586 } |
| 586 } | 587 } |
| 587 } | 588 } |
| 588 { | 589 { |
| 589 JSONArray jsarr(&jsobj, "variables"); | 590 JSONArray jsarr(&jsobj, "variables"); |
| 590 DictionaryIterator entries(*this); | 591 DictionaryIterator entries(*this); |
| 591 Object& entry = Object::Handle(); | 592 Object& entry = Object::Handle(); |
| 592 while (entries.HasNext()) { | 593 while (entries.HasNext()) { |
| 593 entry = entries.GetNext(); | 594 entry = entries.GetNext(); |
| (...skipping 987 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1581 jsobj.AddProperty("mirrorReferent", referent_handle); | 1582 jsobj.AddProperty("mirrorReferent", referent_handle); |
| 1582 } | 1583 } |
| 1583 | 1584 |
| 1584 void UserTag::PrintJSONImpl(JSONStream* stream, bool ref) const { | 1585 void UserTag::PrintJSONImpl(JSONStream* stream, bool ref) const { |
| 1585 Instance::PrintJSONImpl(stream, ref); | 1586 Instance::PrintJSONImpl(stream, ref); |
| 1586 } | 1587 } |
| 1587 | 1588 |
| 1588 #endif | 1589 #endif |
| 1589 | 1590 |
| 1590 } // namespace dart | 1591 } // namespace dart |
| OLD | NEW |