Elements. Migrate AddTypeAnnotation.
Change-Id: Ic613ceb4dc84be4136faf926100563da444d8ac7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/386735
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
diff --git a/pkg/analysis_server/analyzer_use_new_elements.txt b/pkg/analysis_server/analyzer_use_new_elements.txt
index 03c9f70..3d36bb3 100644
--- a/pkg/analysis_server/analyzer_use_new_elements.txt
+++ b/pkg/analysis_server/analyzer_use_new_elements.txt
@@ -226,6 +226,7 @@
lib/src/services/correction/dart/add_super_parameter.dart
lib/src/services/correction/dart/add_switch_case_break.dart
lib/src/services/correction/dart/add_trailing_comma.dart
+lib/src/services/correction/dart/add_type_annotation.dart
lib/src/services/correction/dart/assign_to_local_variable.dart
lib/src/services/correction/dart/change_argument_name.dart
lib/src/services/correction/dart/change_to_nearest_precise_value.dart
diff --git a/pkg/analysis_server/lib/src/services/correction/dart/add_type_annotation.dart b/pkg/analysis_server/lib/src/services/correction/dart/add_type_annotation.dart
index a442da2..26ebbf0 100644
--- a/pkg/analysis_server/lib/src/services/correction/dart/add_type_annotation.dart
+++ b/pkg/analysis_server/lib/src/services/correction/dart/add_type_annotation.dart
@@ -8,7 +8,7 @@
import 'package:analysis_server_plugin/edit/dart/correction_producer.dart';
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 'package:analyzer/dart/element/type.dart';
import 'package:analyzer/dart/element/type_system.dart';
import 'package:analyzer/src/utilities/extensions/ast.dart';
@@ -106,7 +106,7 @@
if (declaredIdentifier.type != null) {
return;
}
- var type = declaredIdentifier.declaredElement!.type;
+ var type = declaredIdentifier.declaredElement2!.type;
if (type is! InterfaceType &&
type is! FunctionType &&
type is! RecordType) {
@@ -128,7 +128,7 @@
return;
}
// Prepare the type.
- var type = parameter.declaredElement!.type;
+ var type = parameter.declaredFragment!.element.type;
// TODO(scheglov): If the parameter is in a method declaration, and if the
// method overrides a method that has a type for the corresponding
// parameter, it would be nice to copy down the type from the overridden
@@ -207,8 +207,8 @@
if (statement is! VariableDeclarationStatement || block is! Block) {
return null;
}
- var element = variable.declaredElement;
- if (element is! LocalVariableElement) {
+ var element = variable.declaredElement2;
+ if (element == null) {
return null;
}
var statements = block.statements;
@@ -225,7 +225,7 @@
/// The type system used to compute the best type.
final TypeSystem typeSystem;
- final LocalVariableElement variable;
+ final LocalVariableElement2 variable;
/// The types that are assigned to the variable.
final Set<DartType> assignedTypes = {};
@@ -247,8 +247,7 @@
@override
void visitAssignmentExpression(AssignmentExpression node) {
var leftHandSide = node.leftHandSide;
- if (leftHandSide is SimpleIdentifier &&
- leftHandSide.staticElement == variable) {
+ if (leftHandSide is SimpleIdentifier && leftHandSide.element == variable) {
var type = node.rightHandSide.staticType;
if (type != null) {
assignedTypes.add(type);