diff --git a/pkg/analysis_server/analyzer_use_new_elements.txt b/pkg/analysis_server/analyzer_use_new_elements.txt index 77af4af0711d..aa2fc8d9eadf 100644 --- a/pkg/analysis_server/analyzer_use_new_elements.txt +++ b/pkg/analysis_server/analyzer_use_new_elements.txt @@ -284,6 +284,7 @@ lib/src/services/correction/dart/create_local_variable.dart lib/src/services/correction/dart/create_method_or_function.dart lib/src/services/correction/dart/create_no_such_method.dart lib/src/services/correction/dart/create_parameter.dart +lib/src/services/correction/dart/create_setter.dart lib/src/services/correction/dart/data_driven.dart lib/src/services/correction/dart/encapsulate_field.dart lib/src/services/correction/dart/exchange_operands.dart diff --git a/pkg/analysis_server/lib/src/services/correction/dart/create_setter.dart b/pkg/analysis_server/lib/src/services/correction/dart/create_setter.dart index 23e8f424bc24..48592028a4f6 100644 --- a/pkg/analysis_server/lib/src/services/correction/dart/create_setter.dart +++ b/pkg/analysis_server/lib/src/services/correction/dart/create_setter.dart @@ -8,6 +8,7 @@ import 'package:analysis_server/src/utilities/extensions/ast.dart'; import 'package:analysis_server_plugin/edit/dart/correction_producer.dart'; import 'package:analyzer/dart/ast/ast.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_plugin/utilities/change_builder/change_builder_core.dart'; import 'package:analyzer_plugin/utilities/fixes/fixes.dart'; @@ -49,12 +50,11 @@ class CreateSetter extends ResolvedCorrectionProducer { } // prepare target element var staticModifier = false; - Element? targetElement; + InstanceElement2? targetElement; if (target is ExtensionOverride) { - targetElement = target.element; - } else if (target is Identifier && - target.staticElement is ExtensionElement) { - targetElement = target.staticElement; + targetElement = target.element2; + } else if (target is Identifier && target.element is ExtensionElement2) { + targetElement = target.element as ExtensionElement2; staticModifier = true; } else if (target != null) { // prepare target interface type @@ -62,31 +62,29 @@ class CreateSetter extends ResolvedCorrectionProducer { if (targetType is! InterfaceType) { return; } - targetElement = targetType.element; + targetElement = targetType.element3; // maybe static if (target is Identifier) { var targetIdentifier = target; - var targetElement = targetIdentifier.staticElement; + var targetElement = targetIdentifier.element; staticModifier = targetElement?.kind == ElementKind.CLASS; } } else { targetElement = - node.enclosingInterfaceElement ?? node.enclosingExtensionElement; + node.enclosingInterfaceElement2 ?? node.enclosingExtensionElement2; if (targetElement == null) { return; } staticModifier = inStaticContext; } - if (targetElement == null) { - return; - } - var targetSource = targetElement.source; - if (targetSource == null || targetElement.library?.isInSdk == true) { + var targetFragment = targetElement.firstFragment; + var targetSource = targetFragment.libraryFragment.source; + if (targetElement.library2.isInSdk == true) { return; } // prepare target declaration var targetDeclarationResult = - await sessionHelper.getElementDeclaration(targetElement); + await sessionHelper.getElementDeclaration2(targetFragment); if (targetDeclarationResult == null) { return; }