[element model] migrate `unnecessary_nullable_for_final_variable_declarations`
Bug: https://github.com/dart-lang/linter/issues/5099
Change-Id: I6f6c34b27f46067ed474195a0716a0e474da68c7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/389222
Auto-Submit: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
diff --git a/pkg/linter/lib/src/rules/unnecessary_nullable_for_final_variable_declarations.dart b/pkg/linter/lib/src/rules/unnecessary_nullable_for_final_variable_declarations.dart
index 875e5b5..5f7bedd 100644
--- a/pkg/linter/lib/src/rules/unnecessary_nullable_for_final_variable_declarations.dart
+++ b/pkg/linter/lib/src/rules/unnecessary_nullable_for_final_variable_declarations.dart
@@ -43,7 +43,7 @@
void check(AstNode node) {
if (node is! DeclaredVariablePattern) return;
- var type = node.declaredElement?.type;
+ var type = node.declaredElement2?.type;
if (type == null) return;
if (type is DynamicType) return;
var valueType = node.matchedValueType;
@@ -89,17 +89,14 @@
}
void _visit(VariableDeclaration variable) {
- if (!variable.isFinal && !variable.isConst) {
- return;
- }
- if (variable.isSynthetic) {
- return;
- }
+ if (!variable.isFinal && !variable.isConst) return;
+ if (variable.isSynthetic) return;
+
var initializerType = variable.initializer?.staticType;
- if (initializerType == null) {
- return;
- }
- var declaredElement = variable.declaredElement;
+ if (initializerType == null) return;
+
+ var declaredElement =
+ variable.declaredElement2 ?? variable.declaredFragment?.element;
if (declaredElement == null || declaredElement.type is DynamicType) {
return;
}