analyzer: Convert callers of InheritanceManager3 to use InterfaceElement API
This includes all callers in analysis_server and analyzer_plugin. And
callers of `getOverridden4`.
Change-Id: Ia744f6c7260b445c6b1e02d3cf5515aaa9c7feeb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/432962
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
diff --git a/pkg/analysis_server/test/src/utilities/selection_coverage_test.dart b/pkg/analysis_server/test/src/utilities/selection_coverage_test.dart
index 4506cc8..2bf01cd 100644
--- a/pkg/analysis_server/test/src/utilities/selection_coverage_test.dart
+++ b/pkg/analysis_server/test/src/utilities/selection_coverage_test.dart
@@ -8,7 +8,6 @@
import 'package:analyzer/dart/ast/visitor.dart';
import 'package:analyzer/dart/element/element.dart';
import 'package:analyzer/file_system/physical_file_system.dart';
-import 'package:analyzer/src/dart/element/inheritance_manager3.dart';
import 'package:analyzer_testing/package_root.dart' as package_root;
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
@@ -209,7 +208,6 @@
var astImplData = processAstImpl(astImplResult as ResolvedUnitResult);
var selectionData = processSelection(selectionResult as ResolvedUnitResult);
var visitedLists = selectionData.visitedLists;
- var inheritanceManager = InheritanceManager3();
var buffer = StringBuffer();
for (var interface in astImplData.instantiableInterfaces) {
@@ -244,8 +242,9 @@
var unvisitedNodeLists = {...declaredNodeLists};
for (var visitedNodeList in visitedNodeLists) {
unvisitedNodeLists.remove(visitedNodeList);
- var overridden = inheritanceManager.getOverridden4(
- visitedNodeList.enclosingElement as InterfaceElement,
+ var enclosingElement =
+ visitedNodeList.enclosingElement as InterfaceElement;
+ var overridden = enclosingElement.getOverridden(
Name(visitedNodeList.library2.uri, visitedNodeList.name3!),
);
if (overridden != null) {
diff --git a/pkg/analysis_server/tool/code_completion/relevance_metrics.dart b/pkg/analysis_server/tool/code_completion/relevance_metrics.dart
index 1c7e55a..652913d 100644
--- a/pkg/analysis_server/tool/code_completion/relevance_metrics.dart
+++ b/pkg/analysis_server/tool/code_completion/relevance_metrics.dart
@@ -261,8 +261,6 @@
/// The relevance data being collected.
final RelevanceData data;
- InheritanceManager3 inheritanceManager = InheritanceManager3();
-
/// The library containing the compilation unit being visited.
late LibraryElement enclosingLibrary;
@@ -529,7 +527,6 @@
enclosingLibrary = node.declaredFragment!.element;
typeProvider = enclosingLibrary.typeProvider;
typeSystem = enclosingLibrary.typeSystem;
- inheritanceManager = InheritanceManager3();
featureComputer = FeatureComputer(typeSystem, typeProvider);
var hasPrefix = false;
@@ -1132,8 +1129,7 @@
var element = fragment.element;
var enclosingElement = element.enclosingElement;
if (!element.isStatic && enclosingElement is InterfaceElement) {
- var overriddenMembers = inheritanceManager.getOverridden4(
- enclosingElement,
+ var overriddenMembers = enclosingElement.getOverridden(
Name(fragment.libraryFragment.source.uri, element.name3!),
);
if (overriddenMembers != null) {
diff --git a/pkg/analysis_server/tool/code_completion/relevance_table_generator.dart b/pkg/analysis_server/tool/code_completion/relevance_table_generator.dart
index a178c85..fd61b0f 100644
--- a/pkg/analysis_server/tool/code_completion/relevance_table_generator.dart
+++ b/pkg/analysis_server/tool/code_completion/relevance_table_generator.dart
@@ -21,7 +21,6 @@
import 'package:analyzer/diagnostic/diagnostic.dart';
import 'package:analyzer/file_system/file_system.dart';
import 'package:analyzer/file_system/physical_file_system.dart';
-import 'package:analyzer/src/dart/element/inheritance_manager3.dart';
import 'package:analyzer/src/util/file_paths.dart' as file_paths;
import 'package:analyzer/src/utilities/extensions/flutter.dart';
import 'package:analyzer_testing/package_root.dart' as package_root;
@@ -303,8 +302,6 @@
/// The compilation unit in which data is currently being collected.
late CompilationUnit unit;
- late InheritanceManager3 inheritanceManager = InheritanceManager3();
-
/// The library containing the compilation unit being visited.
late LibraryElement enclosingLibrary;
@@ -532,7 +529,6 @@
enclosingLibrary = node.declaredFragment!.element;
typeProvider = enclosingLibrary.typeProvider;
typeSystem = enclosingLibrary.typeSystem;
- inheritanceManager = InheritanceManager3();
featureComputer = FeatureComputer(typeSystem, typeProvider);
for (var directive in node.directives) {
diff --git a/pkg/analyzer/lib/src/dart/analysis/library_analyzer.dart b/pkg/analyzer/lib/src/dart/analysis/library_analyzer.dart
index 9b9fa86..bb02742 100644
--- a/pkg/analyzer/lib/src/dart/analysis/library_analyzer.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/library_analyzer.dart
@@ -519,7 +519,7 @@
),
);
- unit.accept(OverrideVerifier(_inheritance, errorReporter));
+ unit.accept(OverrideVerifier(errorReporter));
unit.accept(RedeclareVerifier(errorReporter));
@@ -543,7 +543,6 @@
UnusedLocalElementsVerifier(
fileAnalysis.errorListener,
usedElements,
- _inheritance,
_libraryElement,
),
);
diff --git a/pkg/analyzer/lib/src/error/override_verifier.dart b/pkg/analyzer/lib/src/error/override_verifier.dart
index afa859c..789f617 100644
--- a/pkg/analyzer/lib/src/error/override_verifier.dart
+++ b/pkg/analyzer/lib/src/error/override_verifier.dart
@@ -6,23 +6,19 @@
import 'package:analyzer/dart/ast/visitor.dart';
import 'package:analyzer/dart/element/element.dart';
import 'package:analyzer/error/listener.dart';
-import 'package:analyzer/src/dart/element/inheritance_manager3.dart';
import 'package:analyzer/src/error/codes.dart';
/// Instances of the class `OverrideVerifier` visit all of the declarations in a
/// compilation unit to verify that if they have an override annotation it is
/// being used correctly.
class OverrideVerifier extends RecursiveAstVisitor<void> {
- /// The inheritance manager used to find overridden methods.
- final InheritanceManager3 _inheritance;
-
/// The error reporter used to report errors.
final ErrorReporter _errorReporter;
/// The current class or mixin.
InterfaceElement? _currentClass;
- OverrideVerifier(this._inheritance, this._errorReporter);
+ OverrideVerifier(this._errorReporter);
@override
void visitClassDeclaration(ClassDeclaration node) {
@@ -93,7 +89,7 @@
var currentClass = _currentClass?.firstFragment;
if (currentClass != null) {
var name = Name.forElement(member)!;
- return _inheritance.getOverridden4(currentClass.element, name) != null;
+ return currentClass.element.getOverridden(name) != null;
} else {
return false;
}
diff --git a/pkg/analyzer/lib/src/error/unused_local_elements_verifier.dart b/pkg/analyzer/lib/src/error/unused_local_elements_verifier.dart
index 754702a..b0756e4 100644
--- a/pkg/analyzer/lib/src/error/unused_local_elements_verifier.dart
+++ b/pkg/analyzer/lib/src/error/unused_local_elements_verifier.dart
@@ -17,7 +17,6 @@
import 'package:analyzer/src/dart/element/element.dart'
show JoinPatternVariableElementImpl2, MetadataImpl;
import 'package:analyzer/src/dart/element/extensions.dart';
-import 'package:analyzer/src/dart/element/inheritance_manager3.dart';
import 'package:analyzer/src/dart/element/member.dart' show ExecutableMember;
import 'package:analyzer/src/dart/element/type.dart';
import 'package:analyzer/src/error/codes.dart';
@@ -499,9 +498,6 @@
/// The elements know to be used.
final UsedLocalElements _usedElements;
- /// The inheritance manager used to find overridden methods.
- final InheritanceManager3 _inheritanceManager;
-
/// The URI of the library being verified.
final Uri _libraryUri;
@@ -516,7 +512,6 @@
UnusedLocalElementsVerifier(
this._errorListener,
this._usedElements,
- this._inheritanceManager,
LibraryElement library,
) : _libraryUri = library.uri,
_wildCardVariablesEnabled = library.featureSet.isEnabled(
@@ -963,12 +958,9 @@
var elementName = element.name3;
if (elementName != null) {
Name name = Name(_libraryUri, elementName);
- var overridden = _inheritanceManager.getOverridden4(
- enclosingElement,
- name,
- );
+ var overridden = enclosingElement.getOverridden(name);
if (overridden == null) {
- return [];
+ return const [];
}
return overridden.map(
(e) => (e is ExecutableMember) ? e.baseElement : e,
diff --git a/pkg/analyzer_plugin/test/src/utilities/change_builder/change_builder_dart_test.dart b/pkg/analyzer_plugin/test/src/utilities/change_builder/change_builder_dart_test.dart
index f13ad19..1941a9a 100644
--- a/pkg/analyzer_plugin/test/src/utilities/change_builder/change_builder_dart_test.dart
+++ b/pkg/analyzer_plugin/test/src/utilities/change_builder/change_builder_dart_test.dart
@@ -9,7 +9,6 @@
import 'package:analyzer/dart/element/type.dart';
import 'package:analyzer/file_system/file_system.dart';
import 'package:analyzer/source/source_range.dart';
-import 'package:analyzer/src/dart/element/inheritance_manager3.dart';
import 'package:analyzer/src/test_utilities/find_node.dart';
import 'package:analyzer/utilities/package_config_file_builder.dart';
import 'package:analyzer_plugin/protocol/protocol_common.dart' hide Element;
@@ -4137,13 +4136,9 @@
}
}
- var inherited = InheritanceManager3().getInherited4(
- targetElement,
- Name(null, nameToOverride),
- );
-
+ var inherited =
+ targetElement.getInheritedMember(Name(null, nameToOverride));
var displayBuffer = displayText != null ? StringBuffer() : null;
-
var builder = await newBuilder();
await builder.addDartFileEdit(path, (builder) {
builder.addInsertion(content.length - 2, (builder) {