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

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

Issue 2211603002: Centralized event streams (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Merged with master Created 4 years, 4 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/observatory/lib/src/repositories/target.dart ('k') | runtime/observatory/observatory_sources.gypi » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 d2f44d9ac82824df9ad02a6eecb11cb42b63f329..dadf631777f1efadaa2d00e4c34c556d39757625 100644
--- a/runtime/observatory/lib/src/service/object.dart
+++ b/runtime/observatory/lib/src/service/object.dart
@@ -927,6 +927,8 @@ abstract class VM extends ServiceObjectOwner implements M.VM {
}
class FakeVM extends VM {
+ String get displayName => name;
+
final Map _responses = {};
FakeVM(Map responses) {
if (responses == null) {
@@ -1851,16 +1853,29 @@ class ServiceMap extends ServiceObject implements ObservableMap {
String toString() => "ServiceMap($_map)";
}
+M.ErrorKind stringToErrorKind(String value) {
+ switch(value) {
+ case 'UnhandledException': return M.ErrorKind.UnhandledException;
+ case 'LanguageError': return M.ErrorKind.UnhandledException;
+ case 'InternalError': return M.ErrorKind.InternalError;
+ case 'TerminationError': return M.ErrorKind.TerminationError;
+ }
+ Logger.root.severe('Unrecognized error kind: $value');
+ throw new FallThroughError();
+}
+
/// A [DartError] is peered to a Dart Error object.
-class DartError extends ServiceObject {
+class DartError extends ServiceObject implements M.Error {
DartError._empty(ServiceObject owner) : super._empty(owner);
+ M.ErrorKind kind;
@observable String message;
@observable Instance exception;
@observable Instance stacktrace;
void _update(ObservableMap map, bool mapIsRef) {
message = map['message'];
+ kind = stringToErrorKind(map['kind']);
exception = new ServiceObject._fromMap(owner, map['exception']);
stacktrace = new ServiceObject._fromMap(owner, map['stacktrace']);
name = 'DartError($message)';
@@ -1916,13 +1931,15 @@ class ServiceEvent extends ServiceObject {
@observable String kind;
@observable DateTime timestamp;
+ List<M.Breakpoint> pauseBreakpoints;
@observable Breakpoint breakpoint;
@observable Frame topFrame;
+ @observable DartError error;
@observable String extensionRPC;
@observable Instance exception;
@observable Instance reloadError;
@observable bool atAsyncSuspension;
- @observable ServiceObject inspectee;
+ @observable Instance inspectee;
@observable ByteData data;
@observable int count;
@observable String reason;
@@ -1960,13 +1977,16 @@ class ServiceEvent extends ServiceObject {
if (map['breakpoint'] != null) {
breakpoint = map['breakpoint'];
}
- // TODO(turnidge): Expose the full list of breakpoints. For now
- // we just pretend like there is only one active breakpoint.
if (map['pauseBreakpoints'] != null) {
- var pauseBpts = map['pauseBreakpoints'];
- if (pauseBpts.length > 0) {
- breakpoint = pauseBpts[0];
+ pauseBreakpoints = map['pauseBreakpoints'];
+ if (pauseBreakpoints.length > 0) {
+ breakpoint = pauseBreakpoints[0];
}
+ } else {
+ pauseBreakpoints = const [];
+ }
+ if (map['error'] != null) {
+ error = map['error'];
}
if (map['extensionRPC'] != null) {
extensionRPC = map['extensionRPC'];
@@ -2243,7 +2263,7 @@ class Class extends HeapObject implements M.ClassRef {
@observable SourceLocation location;
- @observable ServiceMap error;
+ @observable DartError error;
@observable int vmCid;
final Allocations newSpace = new Allocations();
@@ -2370,7 +2390,7 @@ class Class extends HeapObject implements M.ClassRef {
String toString() => 'Class($vmName)';
}
-class Instance extends HeapObject {
+class Instance extends HeapObject implements M.InstanceRef {
@observable String kind;
@observable String valueAsString; // If primitive.
@observable bool valueAsStringIsTruncated;
« no previous file with comments | « runtime/observatory/lib/src/repositories/target.dart ('k') | runtime/observatory/observatory_sources.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698