Skip to content

Commit 8f77b2e

Browse files
pqCommit Queue
authored andcommitted
[element model] migrate search_get_type_hierarchy
Change-Id: I5b494f6f387172e777c184e2f9c8fb99417234f5 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/399632 Commit-Queue: Brian Wilkerson <[email protected]> Commit-Queue: Phil Quitslund <[email protected]> Auto-Submit: Phil Quitslund <[email protected]> Reviewed-by: Brian Wilkerson <[email protected]>
1 parent 17eb619 commit 8f77b2e

File tree

3 files changed

+10
-5
lines changed

3 files changed

+10
-5
lines changed

pkg/analysis_server/analyzer_use_new_elements.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ lib/src/computer/computer_documentation.dart
66
lib/src/domains/analysis/occurrences_dart.dart
77
lib/src/handler/legacy/edit_get_available_refactorings.dart
88
lib/src/handler/legacy/search_find_element_references.dart
9-
lib/src/handler/legacy/search_get_type_hierarchy.dart
109
lib/src/lsp/completion_utils.dart
1110
lib/src/lsp/handlers/handler_completion.dart
1211
lib/src/lsp/handlers/handler_completion_resolve.dart

pkg/analysis_server/lib/src/analysis_server.dart

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ import 'package:analyzer/src/generated/sdk.dart';
8383
import 'package:analyzer/src/util/file_paths.dart' as file_paths;
8484
import 'package:analyzer/src/util/performance/operation_performance.dart';
8585
import 'package:analyzer/src/utilities/extensions/analysis_session.dart';
86+
import 'package:analyzer/src/utilities/extensions/element.dart';
8687
import 'package:analyzer_plugin/protocol/protocol.dart';
8788
import 'package:analyzer_plugin/src/protocol/protocol_internal.dart'
8889
as analyzer_plugin;
@@ -675,6 +676,12 @@ abstract class AnalysisServer {
675676
return getElementOfNode(node);
676677
}
677678

679+
/// Return a [Future] that completes with the [Element2] at the given
680+
/// [offset] of the given [file], or with `null` if there is no node at the
681+
/// [offset] or the node does not have an element.
682+
Future<Element2?> getElementAtOffset2(String file, int offset) async =>
683+
(await getElementAtOffset(file, offset)).asElement2;
684+
678685
/// Return the [Element] of the given [node], or `null` if [node] is `null` or
679686
/// does not have an element.
680687
Element? getElementOfNode(AstNode? node) {

pkg/analysis_server/lib/src/handler/legacy/search_get_type_hierarchy.dart

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import 'package:analysis_server/protocol/protocol.dart' as protocol;
88
import 'package:analysis_server/protocol/protocol_generated.dart' as protocol;
99
import 'package:analysis_server/src/handler/legacy/legacy_handler.dart';
1010
import 'package:analysis_server/src/search/type_hierarchy.dart';
11-
import 'package:analyzer/src/utilities/extensions/element.dart';
1211

1312
/// The handler for the `search.getTypeHierarchy` request.
1413
class SearchGetTypeHierarchyHandler extends LegacyHandler {
@@ -30,14 +29,14 @@ class SearchGetTypeHierarchyHandler extends LegacyHandler {
3029
);
3130
var file = params.file;
3231
// prepare element
33-
var element = await server.getElementAtOffset(file, params.offset);
32+
var element = await server.getElementAtOffset2(file, params.offset);
3433
if (element == null) {
3534
_sendTypeHierarchyNull(request);
3635
return;
3736
}
3837
// maybe supertype hierarchy only
3938
if (params.superOnly == true) {
40-
var computer = TypeHierarchyComputer(searchEngine, element.asElement2!);
39+
var computer = TypeHierarchyComputer(searchEngine, element);
4140
var items = computer.computeSuper();
4241
var response = protocol.SearchGetTypeHierarchyResult(
4342
hierarchyItems: items,
@@ -46,7 +45,7 @@ class SearchGetTypeHierarchyHandler extends LegacyHandler {
4645
return;
4746
}
4847
// prepare type hierarchy
49-
var computer = TypeHierarchyComputer(searchEngine, element.asElement2!);
48+
var computer = TypeHierarchyComputer(searchEngine, element);
5049
var items = await computer.compute();
5150
var response = protocol.SearchGetTypeHierarchyResult(
5251
hierarchyItems: items,

0 commit comments

Comments
 (0)