Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(628)

Unified Diff: runtime/observatory/lib/src/service/object.dart

Issue 1160943002: Give structured information about imports and export in the service's library response. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: add test Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: runtime/observatory/lib/src/service/object.dart
diff --git a/runtime/observatory/lib/src/service/object.dart b/runtime/observatory/lib/src/service/object.dart
index 6d31de273846f07df22476aed4e50b369719112f..bef1037e86428d743b7401e792a7f557de3a38c0 100644
--- a/runtime/observatory/lib/src/service/object.dart
+++ b/runtime/observatory/lib/src/service/object.dart
@@ -1585,9 +1585,27 @@ class Breakpoint extends ServiceObject {
}
}
+
+class LibraryDependency {
+ @reflectable final bool isImport;
+ @reflectable final bool isDeferred;
+ @reflectable final String prefix;
+ @reflectable final Library target;
+
+ bool get isExport => !isImport;
+
+ LibraryDependency._(this.isImport, this.isDeferred, this.prefix, this.target);
+
+ static _fromMap(map) => new LibraryDependency._(map["isImport"],
+ map["isDeferred"],
+ map["prefix"],
+ map["target"]);
+}
+
+
class Library extends ServiceObject with Coverage {
@observable String uri;
- @reflectable final imports = new ObservableList<Library>();
+ @reflectable final dependencies = new ObservableList<LibraryDependency>();
@reflectable final scripts = new ObservableList<Script>();
@reflectable final classes = new ObservableList<Class>();
@reflectable final variables = new ObservableList<Field>();
@@ -1616,8 +1634,8 @@ class Library extends ServiceObject with Coverage {
}
_loaded = true;
_upgradeCollection(map, isolate);
- imports.clear();
- imports.addAll(removeDuplicatesAndSortLexical(map['imports']));
+ dependencies.clear();
+ dependencies.addAll(map["dependencies"].map(LibraryDependency._fromMap));
scripts.clear();
scripts.addAll(removeDuplicatesAndSortLexical(map['scripts']));
classes.clear();

Powered by Google App Engine
This is Rietveld 408576698