From 9e3842d624b1a58a86cf5d9f5192a5d8dac9c5b6 Mon Sep 17 00:00:00 2001 From: Paul Berry Date: Wed, 30 May 2018 20:50:24 +0000 Subject: [PATCH] Observatory strong mode fix: fix type errors with onDisconnect. The method ObservatoryApplication._switchVM calls newVM.onDisconnect and requires the resulting future to be completed with a String. In normal operation, this is satisfied and we just need to change a few static types to enforce it. But when FakeVM was in use, the future was completed with `this`. Since ObservatoryApplication._switchVM is the only call site that cares what the future is completed with, it makes sense to just change all the types to Future and modify FakeVM accordingly. Change-Id: Id94d27ac6a42f31ab19ccc9ad8dd270ecf4042b4 Reviewed-on: https://dart-review.googlesource.com/57400 Reviewed-by: Ryan Macnak Commit-Queue: Paul Berry --- runtime/observatory/lib/service_common.dart | 4 ++-- runtime/observatory/lib/src/service/object.dart | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/runtime/observatory/lib/service_common.dart b/runtime/observatory/lib/service_common.dart index d023f6e20ab..c2166c1e900 100644 --- a/runtime/observatory/lib/service_common.dart +++ b/runtime/observatory/lib/service_common.dart @@ -77,7 +77,7 @@ abstract class CommonWebSocket { /// The Dart VM can be embedded in Chromium or standalone. abstract class CommonWebSocketVM extends VM { final Completer _connected = new Completer(); - final Completer _disconnected = new Completer(); + final Completer _disconnected = new Completer(); final WebSocketVMTarget target; final Map _delayedRequests = new Map(); @@ -114,7 +114,7 @@ abstract class CommonWebSocketVM extends VM { } } - Future get onDisconnect => _disconnected.future; + Future get onDisconnect => _disconnected.future; bool get isDisconnected => _disconnected.isCompleted; void disconnect({String reason: 'WebSocket closed'}) { diff --git a/runtime/observatory/lib/src/service/object.dart b/runtime/observatory/lib/src/service/object.dart index 6c526773d3f..58503e14f87 100644 --- a/runtime/observatory/lib/src/service/object.dart +++ b/runtime/observatory/lib/src/service/object.dart @@ -963,7 +963,7 @@ abstract class VM extends ServiceObjectOwner implements M.VM { Future get onConnect; /// Completes when the VM disconnects or there was an error connecting. - Future get onDisconnect; + Future get onDisconnect; void _update(Map map, bool mapIsRef) { name = map['name']; @@ -1047,7 +1047,7 @@ class FakeVM extends VM { /// Force the VM to disconnect. void disconnect() { - _onDisconnect.complete(this); + _onDisconnect.complete('Disconnected'); } // Always connected. @@ -1062,8 +1062,8 @@ class FakeVM extends VM { bool get isConnected => !isDisconnected; // Only complete when requested. - Completer _onDisconnect = new Completer(); - Future get onDisconnect => _onDisconnect.future; + Completer _onDisconnect = new Completer(); + Future get onDisconnect => _onDisconnect.future; bool get isDisconnected => _onDisconnect.isCompleted; Future invokeRpcRaw(String method, Map params) {