Migrate SocketServer and some of its subclasses
Change-Id: Icf3c06b0b022a35e722c5f2ac4ec5a97d6aa996c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/196024
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
diff --git a/pkg/analysis_server/lib/src/server/dev_server.dart b/pkg/analysis_server/lib/src/server/dev_server.dart
index f15d228..62886da6 100644
--- a/pkg/analysis_server/lib/src/server/dev_server.dart
+++ b/pkg/analysis_server/lib/src/server/dev_server.dart
@@ -2,8 +2,6 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart = 2.9
-
import 'dart:async';
import 'dart:io';
@@ -26,7 +24,7 @@
final SocketServer socketServer;
int _nextId = 0;
- DevChannel _channel;
+ late DevChannel _channel;
/// Initialize a newly created stdio server.
DevAnalysisServer(this.socketServer);
@@ -53,9 +51,10 @@
var exitCode = 0;
void handleStatusNotification(Notification notification) {
- Map<String, dynamic> params = notification.params;
- if (params.containsKey('analysis')) {
- bool isAnalyzing = params['analysis']['isAnalyzing'];
+ var params = notification.params;
+ if (params != null && params.containsKey('analysis')) {
+ var isAnalyzing =
+ (params['analysis'] as Map<String, Object>)['isAnalyzing'] as bool;
if (!isAnalyzing) {
timer.stop();
var seconds = timer.elapsedMilliseconds / 1000.0;
@@ -66,8 +65,9 @@
}
void handleErrorsNotification(Notification notification) {
- String filePath = notification.params['file'];
- List<Map> errors = notification.params['errors'];
+ var params = notification.params!;
+ var filePath = params['file'] as String;
+ var errors = params['errors'] as List<Map>;
if (errors.isEmpty) {
return;
@@ -101,9 +101,9 @@
}
void handleServerError(Notification notification) {
- Map<String, dynamic> params = notification.params;
- String message = params['message'];
- String stackTrace = params['stackTrace'];
+ var params = notification.params!;
+ var message = params['message'] as String;
+ var stackTrace = params['stackTrace'] as String?;
print(message);
if (stackTrace != null) {
@@ -172,8 +172,8 @@
@override
void listen(
void Function(Request request) onRequest, {
- Function onError,
- void Function() onDone,
+ Function? onError,
+ void Function()? onDone,
}) {
_requestController.stream.listen(
onRequest,
diff --git a/pkg/analysis_server/lib/src/server/isolate_analysis_server.dart b/pkg/analysis_server/lib/src/server/isolate_analysis_server.dart
index aaf2ae3..2ef30d3 100644
--- a/pkg/analysis_server/lib/src/server/isolate_analysis_server.dart
+++ b/pkg/analysis_server/lib/src/server/isolate_analysis_server.dart
@@ -2,8 +2,6 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart = 2.9
-
import 'dart:io' show IOSink;
import 'dart:isolate';
diff --git a/pkg/analysis_server/lib/src/server/stdio_server.dart b/pkg/analysis_server/lib/src/server/stdio_server.dart
index 337436e..06c5030 100644
--- a/pkg/analysis_server/lib/src/server/stdio_server.dart
+++ b/pkg/analysis_server/lib/src/server/stdio_server.dart
@@ -2,8 +2,6 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart = 2.9
-
import 'dart:io';
import 'package:analysis_server/src/channel/byte_stream_channel.dart';
diff --git a/pkg/analysis_server/lib/src/socket_server.dart b/pkg/analysis_server/lib/src/socket_server.dart
index df0d3e2..59cafe6 100644
--- a/pkg/analysis_server/lib/src/socket_server.dart
+++ b/pkg/analysis_server/lib/src/socket_server.dart
@@ -2,8 +2,6 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart = 2.9
-
import 'package:analysis_server/protocol/protocol.dart';
import 'package:analysis_server/protocol/protocol_generated.dart';
import 'package:analysis_server/src/analysis_server.dart';
@@ -18,11 +16,11 @@
import 'package:analyzer/src/generated/sdk.dart';
abstract class AbstractSocketServer {
- AbstractAnalysisServer get analysisServer;
+ AbstractAnalysisServer? get analysisServer;
AnalysisServerOptions get analysisServerOptions;
- DiagnosticServer get diagnosticServer;
+ DiagnosticServer? get diagnosticServer;
}
/// Instances of the class [SocketServer] implement the common parts of
@@ -38,15 +36,15 @@
final CrashReportingAttachmentsBuilder crashReportingAttachmentsBuilder;
final InstrumentationService instrumentationService;
- final RequestStatisticsHelper requestStatistics;
+ final RequestStatisticsHelper? requestStatistics;
@override
- final DiagnosticServer diagnosticServer;
- final DetachableFileSystemManager detachableFileSystemManager;
+ final DiagnosticServer? diagnosticServer;
+ final DetachableFileSystemManager? detachableFileSystemManager;
/// The analysis server that was created when a client established a
/// connection, or `null` if no such connection has yet been established.
@override
- AnalysisServer analysisServer;
+ AnalysisServer? analysisServer;
SocketServer(
this.analysisServerOptions,
@@ -73,7 +71,7 @@
var resourceProvider = PhysicalResourceProvider(
stateLocation: analysisServerOptions.cacheFolder);
- analysisServer = AnalysisServer(
+ var server = analysisServer = AnalysisServer(
serverChannel,
resourceProvider,
analysisServerOptions,
@@ -85,6 +83,6 @@
detachableFileSystemManager: detachableFileSystemManager,
enableBazelWatcher: true,
);
- detachableFileSystemManager?.setAnalysisServer(analysisServer);
+ detachableFileSystemManager?.setAnalysisServer(server);
}
}
diff --git a/pkg/analysis_server/test/socket_server_test.dart b/pkg/analysis_server/test/socket_server_test.dart
index b7877f9..53d4588 100644
--- a/pkg/analysis_server/test/socket_server_test.dart
+++ b/pkg/analysis_server/test/socket_server_test.dart
@@ -2,8 +2,6 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart = 2.9
-
import 'package:analysis_server/protocol/protocol.dart';
import 'package:analysis_server/protocol/protocol_constants.dart';
import 'package:analysis_server/protocol/protocol_generated.dart';
@@ -40,15 +38,14 @@
channel2.expectMsgCount(responseCount: 1);
expect(channel2.responsesReceived[0].id, equals(''));
expect(channel2.responsesReceived[0].error, isNotNull);
- expect(channel2.responsesReceived[0].error.code,
+ expect(channel2.responsesReceived[0].error!.code,
equals(RequestErrorCode.SERVER_ALREADY_STARTED));
channel2
.sendRequest(ServerShutdownParams().toRequest('0'))
.then((Response response) {
expect(response.id, equals('0'));
- expect(response.error, isNotNull);
- expect(
- response.error.code, equals(RequestErrorCode.SERVER_ALREADY_STARTED));
+ var error = response.error!;
+ expect(error.code, equals(RequestErrorCode.SERVER_ALREADY_STARTED));
channel2.expectMsgCount(responseCount: 2);
});
}
@@ -75,15 +72,15 @@
expect(
channel.notificationsReceived[0].event, SERVER_NOTIFICATION_CONNECTED);
var handler = _MockRequestHandler(false);
- server.analysisServer.handlers = [handler];
+ server.analysisServer!.handlers = [handler];
var request = ServerGetVersionParams().toRequest('0');
return channel.sendRequest(request).then((Response response) {
expect(response.id, equals('0'));
- expect(response.error, isNotNull);
- expect(response.error.code, equals(RequestErrorCode.SERVER_ERROR));
- expect(response.error.message, equals('mock request exception'));
- expect(response.error.stackTrace, isNotNull);
- expect(response.error.stackTrace, isNotEmpty);
+ var error = response.error!;
+ expect(error.code, equals(RequestErrorCode.SERVER_ERROR));
+ expect(error.message, equals('mock request exception'));
+ expect(error.stackTrace, isNotNull);
+ expect(error.stackTrace, isNotEmpty);
channel.expectMsgCount(responseCount: 1, notificationCount: 1);
});
}
@@ -92,7 +89,7 @@
var channel = MockServerChannel();
var server = _createSocketServer(channel);
var handler = _MockRequestHandler(true);
- server.analysisServer.handlers = [handler];
+ server.analysisServer!.handlers = [handler];
var request = ServerGetVersionParams().toRequest('0');
var response = await channel.sendRequest(request, throwOnError: false);
expect(response.id, equals('0'));
@@ -113,7 +110,7 @@
null);
server.createAnalysisServer(channel);
- errorNotifier.server = server.analysisServer;
+ errorNotifier.server = server.analysisServer!;
AnalysisEngine.instance.instrumentationService = errorNotifier;
return server;