[element model] migrate `recursive_getters`
Bug: https://github.com/dart-lang/linter/issues/5099
Change-Id: I1555e7088a67037513a10600443c9d8385a402e8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/390120
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Auto-Submit: Phil Quitslund <pquitslund@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
diff --git a/pkg/linter/lib/src/rules/recursive_getters.dart b/pkg/linter/lib/src/rules/recursive_getters.dart
index a7ce0c0..d2c0a3e 100644
--- a/pkg/linter/lib/src/rules/recursive_getters.dart
+++ b/pkg/linter/lib/src/rules/recursive_getters.dart
@@ -4,7 +4,7 @@
import 'package:analyzer/dart/ast/ast.dart';
import 'package:analyzer/dart/ast/visitor.dart';
-import 'package:analyzer/dart/element/element.dart';
+import 'package:analyzer/dart/element/element2.dart';
import '../analyzer.dart';
@@ -31,11 +31,11 @@
class _BodyVisitor extends RecursiveAstVisitor<void> {
final LintRule rule;
- final ExecutableElement element;
+ final ExecutableElement2 element;
_BodyVisitor(this.element, this.rule);
bool isSelfReference(SimpleIdentifier node) {
- if (node.staticElement != element) return false;
+ if (node.element != element) return false;
var parent = node.parent;
if (parent is PrefixedIdentifier) return false;
if (parent is PropertyAccess && parent.target is! ThisExpression) {
@@ -76,7 +76,7 @@
// getters have null arguments, methods have parameters, could be empty.
if (node.functionExpression.parameters != null) return;
- _verifyElement(node.functionExpression, node.declaredElement);
+ _verifyElement(node.functionExpression, node.declaredFragment?.element);
}
@override
@@ -84,10 +84,10 @@
// getters have null arguments, methods have parameters, could be empty.
if (node.parameters != null) return;
- _verifyElement(node.body, node.declaredElement);
+ _verifyElement(node.body, node.declaredFragment?.element);
}
- void _verifyElement(AstNode node, ExecutableElement? element) {
+ void _verifyElement(AstNode node, ExecutableElement2? element) {
if (element == null) return;
node.accept(_BodyVisitor(element, rule));
}