Elements. Migrate lib/src/cider/fixes.dart
Change-Id: I01867f48ac6d39c65a9a21961079232399e05c1b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/399029
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
diff --git a/pkg/analysis_server/analyzer_use_new_elements.txt b/pkg/analysis_server/analyzer_use_new_elements.txt
index 00c26e4..b6bf96e 100644
--- a/pkg/analysis_server/analyzer_use_new_elements.txt
+++ b/pkg/analysis_server/analyzer_use_new_elements.txt
@@ -1,12 +1,10 @@
lib/plugin/protocol/protocol_dart.dart
lib/src/analysis_server.dart
-lib/src/cider/fixes.dart
lib/src/cider/rename.dart
lib/src/computer/computer_call_hierarchy.dart
lib/src/computer/computer_documentation.dart
lib/src/domains/analysis/implemented_dart.dart
lib/src/domains/analysis/occurrences_dart.dart
-lib/src/handler/legacy/completion_get_suggestions2.dart
lib/src/handler/legacy/edit_get_available_refactorings.dart
lib/src/handler/legacy/legacy_handler.dart
lib/src/handler/legacy/search_find_element_references.dart
diff --git a/pkg/analysis_server/lib/src/cider/fixes.dart b/pkg/analysis_server/lib/src/cider/fixes.dart
index ec1c45a6..87fb28b 100644
--- a/pkg/analysis_server/lib/src/cider/fixes.dart
+++ b/pkg/analysis_server/lib/src/cider/fixes.dart
@@ -6,7 +6,7 @@
import 'package:analysis_server_plugin/edit/fix/fix.dart';
import 'package:analysis_server_plugin/src/correction/dart_change_workspace.dart';
import 'package:analysis_server_plugin/src/correction/fix_processor.dart';
-import 'package:analyzer/dart/element/element.dart';
+import 'package:analyzer/dart/element/element2.dart';
import 'package:analyzer/error/error.dart';
import 'package:analyzer/instrumentation/service.dart';
import 'package:analyzer/source/line_info.dart';
@@ -83,10 +83,10 @@
}) : super(instrumentationService: InstrumentationService.NULL_SERVICE);
@override
- Future<Map<LibraryElement, Element>> getTopLevelDeclarations(
+ Future<Map<LibraryElement2, Element2>> getTopLevelDeclarations(
String name,
) async {
- var result = <LibraryElement, Element>{};
+ var result = <LibraryElement2, Element2>{};
var files = _fileResolver.getFilesWithTopLevelDeclarations(name);
for (var file in files) {
var kind = file.kind;
@@ -94,12 +94,12 @@
var libraryElement = await _fileResolver.getLibraryByUri2(
uriStr: file.uriStr,
);
- TopLevelDeclarations.addElement(result, libraryElement, name);
+ TopLevelDeclarations.addElement2(result, libraryElement, name);
}
}
return result;
}
@override
- Stream<LibraryElement> librariesWithExtensions(String memberName) async* {}
+ Stream<LibraryElement2> librariesWithExtensions(String memberName) async* {}
}
diff --git a/pkg/analysis_server/lib/src/services/correction/dart/import_library.dart b/pkg/analysis_server/lib/src/services/correction/dart/import_library.dart
index 88a0c61..605a83b 100644
--- a/pkg/analysis_server/lib/src/services/correction/dart/import_library.dart
+++ b/pkg/analysis_server/lib/src/services/correction/dart/import_library.dart
@@ -287,7 +287,7 @@
}
}
// Find new top-level declarations.
- var librariesWithElements = await getTopLevelDeclarations2(name);
+ var librariesWithElements = await getTopLevelDeclarations(name);
for (var libraryEntry in librariesWithElements.entries) {
var libraryElement = libraryEntry.key;
var declaration = libraryEntry.value;
@@ -426,7 +426,7 @@
memberName,
);
var producers = <ResolvedCorrectionProducer>[];
- await for (var libraryToImport in librariesWithExtensions2(memberName)) {
+ await for (var libraryToImport in librariesWithExtensions(memberName)) {
producers.addAll(
_importExtensionInLibrary(libraryToImport, targetType, name),
);
diff --git a/pkg/analysis_server/lib/src/services/correction/dart/use_different_division_operator.dart b/pkg/analysis_server/lib/src/services/correction/dart/use_different_division_operator.dart
index 6ba8ffc..f10bbc7 100644
--- a/pkg/analysis_server/lib/src/services/correction/dart/use_different_division_operator.dart
+++ b/pkg/analysis_server/lib/src/services/correction/dart/use_different_division_operator.dart
@@ -108,7 +108,7 @@
otherOperator.lexeme,
);
var hasNoExtensionWithOtherDivisionOperator =
- await librariesWithExtensions2(otherOperator.lexeme).where((library) {
+ await librariesWithExtensions(otherOperator.lexeme).where((library) {
return library.exportedExtensions
.havingMemberWithBaseName(name)
.applicableTo(
diff --git a/pkg/analysis_server_plugin/lib/edit/dart/correction_producer.dart b/pkg/analysis_server_plugin/lib/edit/dart/correction_producer.dart
index f9862a6..27e65fe2 100644
--- a/pkg/analysis_server_plugin/lib/edit/dart/correction_producer.dart
+++ b/pkg/analysis_server_plugin/lib/edit/dart/correction_producer.dart
@@ -27,7 +27,6 @@
import 'package:analyzer/src/dart/element/inheritance_manager3.dart';
import 'package:analyzer/src/dart/element/type.dart';
import 'package:analyzer/src/utilities/extensions/ast.dart';
-import 'package:analyzer/src/utilities/extensions/element.dart';
import 'package:analyzer_plugin/utilities/assist/assist.dart';
import 'package:analyzer_plugin/utilities/change_builder/change_builder_core.dart';
import 'package:analyzer_plugin/utilities/fixes/fixes.dart';
@@ -775,21 +774,10 @@
/// library, and has the requested base name.
///
/// For getters and setters the corresponding top-level variable is returned.
- Future<Map<LibraryElement, Element>> getTopLevelDeclarations(
- String baseName,
- ) =>
- _context.dartFixContext!.getTopLevelDeclarations(baseName);
-
- /// Returns the mapping from a library (that is available to this context) to
- /// a top-level declaration that is exported (not necessary declared) by this
- /// library, and has the requested base name.
- ///
- /// For getters and setters the corresponding top-level variable is returned.
- Future<Map<LibraryElement2, Element2>> getTopLevelDeclarations2(
+ Future<Map<LibraryElement2, Element2>> getTopLevelDeclarations(
String baseName,
) async {
- var map = await _context.dartFixContext!.getTopLevelDeclarations(baseName);
- return map.map((key, value) => MapEntry(key.asElement2, value.asElement2!));
+ return await _context.dartFixContext!.getTopLevelDeclarations(baseName);
}
/// Returns whether the selection covers an operator of the given
@@ -816,13 +804,7 @@
/// Returns libraries with extensions that declare non-static public
/// extension members with the [memberName].
- Stream<LibraryElement> librariesWithExtensions(String memberName) {
+ Stream<LibraryElement2> librariesWithExtensions(String memberName) {
return _context.dartFixContext!.librariesWithExtensions(memberName);
}
-
- /// Returns libraries with extensions that declare non-static public
- /// extension members with the [memberName].
- Stream<LibraryElement2> librariesWithExtensions2(String memberName) {
- return _context.dartFixContext!.librariesWithExtensions2(memberName);
- }
}
diff --git a/pkg/analysis_server_plugin/lib/edit/fix/dart_fix_context.dart b/pkg/analysis_server_plugin/lib/edit/fix/dart_fix_context.dart
index f460e48..f0652e5 100644
--- a/pkg/analysis_server_plugin/lib/edit/fix/dart_fix_context.dart
+++ b/pkg/analysis_server_plugin/lib/edit/fix/dart_fix_context.dart
@@ -5,7 +5,6 @@
import 'package:analysis_server_plugin/edit/fix/fix_context.dart';
import 'package:analysis_server_plugin/src/correction/change_workspace.dart';
import 'package:analyzer/dart/analysis/results.dart';
-import 'package:analyzer/dart/element/element.dart';
import 'package:analyzer/dart/element/element2.dart';
import 'package:analyzer/error/error.dart';
import 'package:analyzer/instrumentation/service.dart';
@@ -56,7 +55,7 @@
/// this library, and has the requested base name.
///
/// For getters and setters the corresponding top-level variable is returned.
- Future<Map<LibraryElement, Element>> getTopLevelDeclarations(
+ Future<Map<LibraryElement2, Element2>> getTopLevelDeclarations(
String name) async {
return TopLevelDeclarations(unitResult).withName(name);
}
@@ -64,34 +63,7 @@
/// Returns libraries with extensions that declare non-static public
/// extension members with the [memberName].
// TODO(srawlins): The documentation above is wrong; `memberName` is unused.
- Stream<LibraryElement> librariesWithExtensions(String memberName) async* {
- var analysisContext = unitResult.session.analysisContext;
- var analysisDriver = (analysisContext as DriverBasedAnalysisContext).driver;
- await analysisDriver.discoverAvailableFiles();
-
- var fsState = analysisDriver.fsState;
- var filter = FileStateFilter(
- fsState.getFileForPath(unitResult.path),
- );
-
- for (var file in fsState.knownFiles.toList()) {
- if (!filter.shouldInclude(file)) {
- continue;
- }
-
- var elementResult = await analysisDriver.getLibraryByUri(file.uriStr);
- if (elementResult is! LibraryElementResult) {
- continue;
- }
-
- yield elementResult.element;
- }
- }
-
- /// Returns libraries with extensions that declare non-static public
- /// extension members with the [memberName].
- // TODO(srawlins): The documentation above is wrong; `memberName` is unused.
- Stream<LibraryElement2> librariesWithExtensions2(String memberName) async* {
+ Stream<LibraryElement2> librariesWithExtensions(String memberName) async* {
var analysisContext = unitResult.session.analysisContext;
if (analysisContext is! DriverBasedAnalysisContext) {
return;
diff --git a/pkg/analyzer/lib/src/dart/micro/analysis_context.dart b/pkg/analyzer/lib/src/dart/micro/analysis_context.dart
index c32de27..d6d165a 100644
--- a/pkg/analyzer/lib/src/dart/micro/analysis_context.dart
+++ b/pkg/analyzer/lib/src/dart/micro/analysis_context.dart
@@ -19,6 +19,7 @@
import 'package:analyzer/src/dart/micro/resolve_file.dart';
import 'package:analyzer/src/generated/source.dart';
import 'package:analyzer/src/summary2/linked_element_factory.dart';
+import 'package:analyzer/src/utilities/extensions/element.dart';
MicroContextObjects createMicroContextObjects({
required FileResolver fileResolver,
@@ -162,7 +163,7 @@
var element = await analysisContext.fileResolver.getLibraryByUri2(
uriStr: uriStr,
);
- return LibraryElementResultImpl(element);
+ return LibraryElementResultImpl(element.asElement);
}
@override
diff --git a/pkg/analyzer/lib/src/dart/micro/resolve_file.dart b/pkg/analyzer/lib/src/dart/micro/resolve_file.dart
index b0629a2..1fb3adb 100644
--- a/pkg/analyzer/lib/src/dart/micro/resolve_file.dart
+++ b/pkg/analyzer/lib/src/dart/micro/resolve_file.dart
@@ -8,6 +8,7 @@
import 'package:analyzer/dart/analysis/features.dart';
import 'package:analyzer/dart/analysis/results.dart';
import 'package:analyzer/dart/element/element.dart';
+import 'package:analyzer/dart/element/element2.dart';
import 'package:analyzer/error/error.dart';
import 'package:analyzer/file_system/file_system.dart';
import 'package:analyzer/source/line_info.dart';
@@ -389,7 +390,7 @@
return fsState.getFilesWithTopLevelDeclarations(name);
}
- Future<LibraryElement> getLibraryByUri2({
+ Future<LibraryElement2> getLibraryByUri2({
required String uriStr,
OperationPerformanceImpl? performance,
}) async {
diff --git a/pkg/analyzer/lib/src/services/top_level_declarations.dart b/pkg/analyzer/lib/src/services/top_level_declarations.dart
index ec6a75a..5e60820 100644
--- a/pkg/analyzer/lib/src/services/top_level_declarations.dart
+++ b/pkg/analyzer/lib/src/services/top_level_declarations.dart
@@ -112,7 +112,7 @@
/// a top-level declaration that is exported (not necessary declared) by this
/// library, and has the requested base name. For getters and setters the
/// corresponding top-level variable is returned.
- Future<Map<LibraryElement, Element>> withName(String baseName) async {
+ Future<Map<LibraryElement2, Element2>> withName(String baseName) async {
var analysisDriver = _analysisContext.driver;
await analysisDriver.discoverAvailableFiles();
@@ -121,7 +121,7 @@
fsState.getFileForPath(resolvedUnit.path),
);
- var result = <LibraryElement, Element>{};
+ var result = <LibraryElement2, Element2>{};
for (var file in fsState.knownFiles.toList()) {
if (!filter.shouldInclude(file)) {
@@ -133,7 +133,7 @@
continue;
}
- addElement(result, elementResult.element, baseName);
+ addElement2(result, elementResult.element2, baseName);
}
return result;
diff --git a/pkg/analyzer/test/src/dart/micro/simple_file_resolver_test.dart b/pkg/analyzer/test/src/dart/micro/simple_file_resolver_test.dart
index 43f8965..ab321e2 100644
--- a/pkg/analyzer/test/src/dart/micro/simple_file_resolver_test.dart
+++ b/pkg/analyzer/test/src/dart/micro/simple_file_resolver_test.dart
@@ -1479,14 +1479,14 @@
var element = await fileResolver.getLibraryByUri2(
uriStr: 'package:dart.my/a.dart',
);
- expect(element.definingCompilationUnit.classes, hasLength(1));
+ expect(element.classes, hasLength(1));
}
test_getLibraryByUri_notExistingFile() async {
var element = await fileResolver.getLibraryByUri2(
uriStr: 'package:dart.my/a.dart',
);
- expect(element.definingCompilationUnit.classes, isEmpty);
+ expect(element.classes, isEmpty);
}
test_getLibraryByUri_partOf() async {
@@ -1663,8 +1663,7 @@
);
// Ask types for top-level variables.
- var b_unit = b_library.definingCompilationUnit;
- for (var topLevelVariable in b_unit.topLevelVariables) {
+ for (var topLevelVariable in b_library.topLevelVariables) {
topLevelVariable.type;
}