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

Unified Diff: runtime/bin/vmservice/client/lib/src/service/object.dart

Issue 262303002: Observatory grab-bag for 1.4 release. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: gen js Created 6 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
« no previous file with comments | « runtime/bin/vmservice/client/lib/src/elements/stack_trace.html ('k') | runtime/vm/object.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/bin/vmservice/client/lib/src/service/object.dart
diff --git a/runtime/bin/vmservice/client/lib/src/service/object.dart b/runtime/bin/vmservice/client/lib/src/service/object.dart
index d5d54079ba3f5e1063b227eb7ac7de6f9b92a371..1dfdeceb38ebbbc73fc881f9888320bd881ba05c 100644
--- a/runtime/bin/vmservice/client/lib/src/service/object.dart
+++ b/runtime/bin/vmservice/client/lib/src/service/object.dart
@@ -30,6 +30,7 @@ abstract class ServiceObject extends Observable {
@reflectable String get link => isolate.relativeLink(_id);
/// The complete service url of this object with a '#/' prefix.
+ // TODO(turnidge): Figure out why using a getter here messes up polymer.
@reflectable String get hashLink => '#/${link}';
@reflectable set hashLink(var o) { /* silence polymer */ }
@@ -73,6 +74,9 @@ abstract class ServiceObject extends Observable {
case 'Isolate':
obj = new Isolate._empty(owner);
break;
+ case 'Library':
+ obj = new Library._empty(owner);
+ break;
case 'ServiceError':
obj = new ServiceError._empty(owner);
break;
@@ -576,9 +580,9 @@ class Isolate extends ServiceObjectOwner {
});
}
- @observable ServiceMap rootLib;
- @observable ObservableList<ServiceMap> libraries =
- new ObservableList<ServiceMap>();
+ @observable Library rootLib;
+ @observable ObservableList<Library> libraries =
+ new ObservableList<Library>();
@observable ObservableMap topFrame;
@observable String name;
@@ -739,10 +743,10 @@ class ServiceMap extends ServiceObject implements ObservableMap {
bool get canCache {
return (_serviceType == 'Class' ||
_serviceType == 'Function' ||
- _serviceType == 'Library') &&
+ _serviceType == 'Field') &&
!_id.startsWith(objectIdRingPrefix);
}
- bool get immutable => canCache;
+ bool get immutable => false;
ServiceMap._empty(ServiceObjectOwner owner) : super._empty(owner);
@@ -851,6 +855,49 @@ class ServiceException extends ServiceObject {
}
}
+class Library extends ServiceObject {
+ @observable String url;
+ @reflectable final imports = new ObservableList<Library>();
+ @reflectable final scripts = new ObservableList<Script>();
+ @reflectable final classes = new ObservableList<ServiceMap>();
+ @reflectable final variables = new ObservableList<ServiceMap>();
+ @reflectable final functions = new ObservableList<ServiceMap>();
+
+ bool get canCache => true;
+ bool get immutable => false;
+
+ Library._empty(ServiceObjectOwner owner) : super._empty(owner);
+
+ void _update(ObservableMap map, bool mapIsRef) {
+ url = map['url'];
+ var shortUrl = url;
+ if (url.startsWith('file://') ||
+ url.startsWith('http://')) {
+ shortUrl = url.substring(url.lastIndexOf('/') + 1);
+ }
+ name = map['user_name'];
+ if (name.isEmpty) {
+ name = shortUrl;
+ }
+ vmName = map['name'];
+ if (mapIsRef) {
+ return;
+ }
+ _loaded = true;
+ _upgradeCollection(map, isolate);
+ imports.clear();
+ imports.addAll(map['imports']);
+ scripts.clear();
+ scripts.addAll(map['scripts']);
+ classes.clear();
+ classes.addAll(map['classes']);
+ variables.clear();
+ variables.addAll(map['variables']);
+ functions.clear();
+ functions.addAll(map['functions']);
+ }
+}
+
class ScriptLine {
@reflectable final int line;
@reflectable final String text;
« no previous file with comments | « runtime/bin/vmservice/client/lib/src/elements/stack_trace.html ('k') | runtime/vm/object.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698