@@ -21,7 +21,6 @@ import 'package:analyzer/src/dart/ast/ast.dart';
21
21
import 'package:analyzer/src/dart/ast/extensions.dart' ;
22
22
import 'package:analyzer/src/dart/element/element.dart' ;
23
23
import 'package:analyzer/src/dart/element/extensions.dart' ;
24
- import 'package:analyzer/src/dart/element/inheritance_manager3.dart' ;
25
24
import 'package:analyzer/src/dart/element/member.dart' show ExecutableMember;
26
25
import 'package:analyzer/src/dart/element/type_provider.dart' ;
27
26
import 'package:analyzer/src/dart/element/type_system.dart' ;
@@ -60,9 +59,6 @@ class BestPracticesVerifier extends RecursiveAstVisitor<void> {
60
59
/// The type system primitives.
61
60
final TypeSystemImpl _typeSystem;
62
61
63
- /// The inheritance manager to access interface type hierarchy.
64
- final InheritanceManager3 _inheritanceManager;
65
-
66
62
/// The current library.
67
63
final LibraryElementImpl _currentLibrary;
68
64
@@ -101,13 +97,11 @@ class BestPracticesVerifier extends RecursiveAstVisitor<void> {
101
97
this ._currentLibrary,
102
98
CompilationUnit unit, {
103
99
required TypeSystemImpl typeSystem,
104
- required InheritanceManager3 inheritanceManager,
105
100
required AnalysisOptions analysisOptions,
106
101
required WorkspacePackage ? workspacePackage,
107
102
}) : _nullType = typeProvider.nullType,
108
103
_typeSystem = typeSystem,
109
104
_strictInference = analysisOptions.strictInference,
110
- _inheritanceManager = inheritanceManager,
111
105
_annotationVerifier = AnnotationVerifier (
112
106
_errorReporter,
113
107
_currentLibrary,
@@ -393,38 +387,26 @@ class BestPracticesVerifier extends RecursiveAstVisitor<void> {
393
387
try {
394
388
super .visitFieldDeclaration (node);
395
389
for (var field in node.fields.variables) {
396
- ExecutableElement ? getOverriddenPropertyAccessor () {
397
- var element = field.declaredFragment! .element;
398
- if (element is PropertyAccessorElement || element is FieldElement ) {
399
- var name = element.name3;
400
- if (name == null ) {
401
- return null ;
402
- }
403
- var nameObj = Name (_currentLibrary.source.uri, name);
404
- var enclosingElement = element.enclosingElement2! ;
405
- var enclosingDeclaration = enclosingElement;
406
- if (enclosingDeclaration is InterfaceElement ) {
407
- var overridden = _inheritanceManager.getMember4 (
408
- enclosingDeclaration,
409
- nameObj,
410
- forSuper: true ,
411
- );
412
- // Check for a setter.
413
- if (overridden == null ) {
414
- var setterName = Name (_currentLibrary.source.uri, '$name =' );
415
- overridden = _inheritanceManager.getMember4 (
416
- enclosingDeclaration,
417
- setterName,
418
- forSuper: true ,
419
- );
420
- }
421
- return overridden;
422
- }
423
- }
424
- return null ;
390
+ if (! _invalidAccessVerifier._inTestDirectory) {
391
+ _checkForAssignmentOfDoNotStore (field.initializer);
392
+ }
393
+
394
+ var element = field.declaredFragment! .element;
395
+ var enclosingElement = element.enclosingElement2! ;
396
+ if (enclosingElement is ! InterfaceElement ) {
397
+ continue ;
398
+ }
399
+
400
+ ExecutableElement ? overriddenElement;
401
+ if (element
402
+ case PropertyAccessorElement (name3: var name? ) ||
403
+ FieldElement (name3: var name? )) {
404
+ var nameObj = Name (_currentLibrary.source.uri, name);
405
+ overriddenElement =
406
+ enclosingElement.getInheritedConcreteMember (nameObj) ??
407
+ enclosingElement.getInheritedConcreteMember (nameObj.forSetter);
425
408
}
426
409
427
- var overriddenElement = getOverriddenPropertyAccessor ();
428
410
if (overriddenElement != null &&
429
411
_hasNonVirtualAnnotation (overriddenElement)) {
430
412
// Overridden members are always inside classes or mixins, which are
@@ -439,9 +421,6 @@ class BestPracticesVerifier extends RecursiveAstVisitor<void> {
439
421
],
440
422
);
441
423
}
442
- if (! _invalidAccessVerifier._inTestDirectory) {
443
- _checkForAssignmentOfDoNotStore (field.initializer);
444
- }
445
424
}
446
425
} finally {
447
426
_deprecatedVerifier.popInDeprecated ();
@@ -619,9 +598,7 @@ class BestPracticesVerifier extends RecursiveAstVisitor<void> {
619
598
var elementIsOverride = false ;
620
599
if (enclosingElement is InterfaceElement ) {
621
600
if (element is MethodElement || element is PropertyAccessorElement ) {
622
- elementIsOverride =
623
- _inheritanceManager.getOverridden4 (enclosingElement, name) !=
624
- null ;
601
+ elementIsOverride = enclosingElement.getOverridden (name) != null ;
625
602
}
626
603
}
627
604
@@ -638,11 +615,7 @@ class BestPracticesVerifier extends RecursiveAstVisitor<void> {
638
615
639
616
var overriddenElement =
640
617
enclosingElement is InterfaceElement
641
- ? _inheritanceManager.getMember4 (
642
- enclosingElement,
643
- name,
644
- forSuper: true ,
645
- )
618
+ ? enclosingElement.getInheritedConcreteMember (name)
646
619
: null ;
647
620
648
621
if (overriddenElement != null &&
0 commit comments