[analyzer] Tidy up some LSP null-safe changes
Change-Id: I0090d524180463ccd0c0240ece59b2386b9eb408
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/195993
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
diff --git a/pkg/analysis_server/lib/src/analysis_server_abstract.dart b/pkg/analysis_server/lib/src/analysis_server_abstract.dart
index 796e555..09a9fbe 100644
--- a/pkg/analysis_server/lib/src/analysis_server_abstract.dart
+++ b/pkg/analysis_server/lib/src/analysis_server_abstract.dart
@@ -74,7 +74,7 @@
final DartSdkManager sdkManager;
/// The [SearchEngine] for this server.
- late SearchEngine searchEngine;
+ late final SearchEngine searchEngine;
late ByteStore byteStore;
diff --git a/pkg/analysis_server/lib/src/edit/edit_domain.dart b/pkg/analysis_server/lib/src/edit/edit_domain.dart
index 2468770..4c5becb 100644
--- a/pkg/analysis_server/lib/src/edit/edit_domain.dart
+++ b/pkg/analysis_server/lib/src/edit/edit_domain.dart
@@ -72,9 +72,6 @@
/// Instances of the class [EditDomainHandler] implement a [RequestHandler]
/// that handles requests in the edit domain.
class EditDomainHandler extends AbstractRequestHandler {
- /// The [SearchEngine] for this server.
- SearchEngine? searchEngine;
-
/// The workspace for rename refactorings.
RefactoringWorkspace? refactoringWorkspace;
@@ -84,9 +81,8 @@
/// Initialize a newly created handler to handle requests for the given
/// [server].
EditDomainHandler(AnalysisServer server) : super(server) {
- var search = searchEngine = server.searchEngine;
refactoringWorkspace =
- RefactoringWorkspace(server.driverMap.values, search);
+ RefactoringWorkspace(server.driverMap.values, server.searchEngine);
_newRefactoringManager();
}
@@ -815,10 +811,6 @@
}
Response _getAvailableRefactorings(Request request) {
- if (searchEngine == null) {
- var result = EditGetAvailableRefactoringsResult([]);
- return result.toResponse(request.id);
- }
_getAvailableRefactoringsImpl(request);
return Response.DELAYED_RESPONSE;
}
@@ -836,7 +828,7 @@
// add refactoring kinds
var kinds = <RefactoringKind>[];
// Check nodes.
- final searchEngine = this.searchEngine;
+ final searchEngine = server.searchEngine;
{
var resolvedUnit = await server.getResolvedUnit(file);
if (resolvedUnit != null) {
@@ -845,19 +837,15 @@
.isAvailable()) {
kinds.add(RefactoringKind.EXTRACT_LOCAL_VARIABLE);
}
- if (searchEngine != null) {
- // Try EXTRACT_METHOD.
- if (ExtractMethodRefactoring(
- searchEngine, resolvedUnit, offset, length)
- .isAvailable()) {
- kinds.add(RefactoringKind.EXTRACT_METHOD);
- }
- // Try EXTRACT_WIDGETS.
- if (ExtractWidgetRefactoring(
- searchEngine, resolvedUnit, offset, length)
- .isAvailable()) {
- kinds.add(RefactoringKind.EXTRACT_WIDGET);
- }
+ // Try EXTRACT_METHOD.
+ if (ExtractMethodRefactoring(searchEngine, resolvedUnit, offset, length)
+ .isAvailable()) {
+ kinds.add(RefactoringKind.EXTRACT_METHOD);
+ }
+ // Try EXTRACT_WIDGETS.
+ if (ExtractWidgetRefactoring(searchEngine, resolvedUnit, offset, length)
+ .isAvailable()) {
+ kinds.add(RefactoringKind.EXTRACT_WIDGET);
}
}
}
@@ -869,7 +857,7 @@
var element = server.getElementOfNode(node);
if (element != null) {
// try CONVERT_METHOD_TO_GETTER
- if (element is ExecutableElement && searchEngine != null) {
+ if (element is ExecutableElement) {
Refactoring refactoring = ConvertMethodToGetterRefactoring(
searchEngine, resolvedUnit.session, element);
var status = await refactoring.checkInitialConditions();
diff --git a/pkg/analysis_server/lib/src/lsp/handlers/handler_code_actions.dart b/pkg/analysis_server/lib/src/lsp/handlers/handler_code_actions.dart
index c74cdb2..5bbfefc 100644
--- a/pkg/analysis_server/lib/src/lsp/handlers/handler_code_actions.dart
+++ b/pkg/analysis_server/lib/src/lsp/handlers/handler_code_actions.dart
@@ -178,8 +178,8 @@
/// If multiple actions have the same position, one will arbitrarily be chosen.
List<CodeAction> _dedupeActions(Iterable<CodeAction> actions, Position pos) {
final groups = groupBy(actions, (CodeAction action) => action.title);
- return groups.keys.map((title) {
- final actions = groups[title]!;
+ return groups.entries.map((entry) {
+ final actions = entry.value;
// If there's only one in the group, just return it.
if (actions.length == 1) {
diff --git a/pkg/analysis_server/lib/src/lsp/handlers/handler_completion.dart b/pkg/analysis_server/lib/src/lsp/handlers/handler_completion.dart
index 751fdca..634324a 100644
--- a/pkg/analysis_server/lib/src/lsp/handlers/handler_completion.dart
+++ b/pkg/analysis_server/lib/src/lsp/handlers/handler_completion.dart
@@ -150,8 +150,8 @@
final key =
_createImportedSymbolKey(elementName, declaringLibraryUri);
- alreadyImportedSymbols.putIfAbsent(key, () => <String>{});
- alreadyImportedSymbols[key]!
+ alreadyImportedSymbols
+ .putIfAbsent(key, () => <String>{})
.add('${importedLibrary.librarySource.uri}');
}
}
diff --git a/pkg/analysis_server/lib/src/lsp/notification_manager.dart b/pkg/analysis_server/lib/src/lsp/notification_manager.dart
index dc45460..6afaeec 100644
--- a/pkg/analysis_server/lib/src/lsp/notification_manager.dart
+++ b/pkg/analysis_server/lib/src/lsp/notification_manager.dart
@@ -30,7 +30,8 @@
String filePath, List<protocol.AnalysisError> errors) {
final diagnostics = errors
.map((error) => pluginToDiagnostic(
- // We should never errors for a file we can't get a LineInfo for
+ // We should never return errors for a file we can't get a
+ // LineInfo for
(path) => server.getLineInfo(path)!,
error,
supportedTags: server.clientCapabilities?.diagnosticTags,
diff --git a/pkg/analysis_server/lib/src/search/search_domain.dart b/pkg/analysis_server/lib/src/search/search_domain.dart
index 0ee46f1..0ae754c 100644
--- a/pkg/analysis_server/lib/src/search/search_domain.dart
+++ b/pkg/analysis_server/lib/src/search/search_domain.dart
@@ -18,23 +18,15 @@
/// The analysis server that is using this handler to process requests.
final AnalysisServer server;
- /// The [SearchEngine] for this server.
- final SearchEngine? searchEngine;
-
/// The next search response id.
int _nextSearchId = 0;
/// Initialize a newly created handler to handle requests for the given
/// [server].
- SearchDomainHandler(this.server) : searchEngine = server.searchEngine;
+ SearchDomainHandler(this.server);
Future<void> findElementReferences(protocol.Request request) async {
- final searchEngine = this.searchEngine;
- if (searchEngine == null) {
- server.sendResponse(
- Response.unsupportedFeature(request.id, 'Search has been disabled.'));
- return;
- }
+ final searchEngine = server.searchEngine;
var params =
protocol.SearchFindElementReferencesParams.fromRequest(request);
var file = params.file;
@@ -66,12 +58,7 @@
}
Future findMemberDeclarations(protocol.Request request) async {
- final searchEngine = this.searchEngine;
- if (searchEngine == null) {
- server.sendResponse(
- Response.unsupportedFeature(request.id, 'Search has been disabled.'));
- return;
- }
+ final searchEngine = server.searchEngine;
var params =
protocol.SearchFindMemberDeclarationsParams.fromRequest(request);
await server.onAnalysisComplete;
@@ -85,12 +72,7 @@
}
Future findMemberReferences(protocol.Request request) async {
- final searchEngine = this.searchEngine;
- if (searchEngine == null) {
- server.sendResponse(
- Response.unsupportedFeature(request.id, 'Search has been disabled.'));
- return;
- }
+ final searchEngine = server.searchEngine;
var params = protocol.SearchFindMemberReferencesParams.fromRequest(request);
await server.onAnalysisComplete;
// respond
@@ -103,12 +85,7 @@
}
Future findTopLevelDeclarations(protocol.Request request) async {
- final searchEngine = this.searchEngine;
- if (searchEngine == null) {
- server.sendResponse(
- Response.unsupportedFeature(request.id, 'Search has been disabled.'));
- return;
- }
+ final searchEngine = server.searchEngine;
var params =
protocol.SearchFindTopLevelDeclarationsParams.fromRequest(request);
try {
@@ -217,12 +194,7 @@
/// Implement the `search.getTypeHierarchy` request.
Future getTypeHierarchy(protocol.Request request) async {
- final searchEngine = this.searchEngine;
- if (searchEngine == null) {
- server.sendResponse(
- Response.unsupportedFeature(request.id, 'Search has been disabled.'));
- return;
- }
+ final searchEngine = server.searchEngine;
var params = protocol.SearchGetTypeHierarchyParams.fromRequest(request);
var file = params.file;
// prepare element