Elements. Migrate ConvertToSuperParameters.
Change-Id: I7315b1d910f375d19bd593571d574ab059691d05
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/387346
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 f93904d..3d6c59a 100644
--- a/pkg/analysis_server/analyzer_use_new_elements.txt
+++ b/pkg/analysis_server/analyzer_use_new_elements.txt
@@ -269,6 +269,7 @@
lib/src/services/correction/dart/convert_to_on_type.dart
lib/src/services/correction/dart/convert_to_raw_string.dart
lib/src/services/correction/dart/convert_to_set_literal.dart
+lib/src/services/correction/dart/convert_to_super_parameters.dart
lib/src/services/correction/dart/convert_to_where_type.dart
lib/src/services/correction/dart/convert_to_wildcard_pattern.dart
lib/src/services/correction/dart/convert_to_wildcard_variable.dart
diff --git a/pkg/analysis_server/lib/src/services/correction/dart/convert_to_super_parameters.dart b/pkg/analysis_server/lib/src/services/correction/dart/convert_to_super_parameters.dart
index 79c00e7..a9f37b8 100644
--- a/pkg/analysis_server/lib/src/services/correction/dart/convert_to_super_parameters.dart
+++ b/pkg/analysis_server/lib/src/services/correction/dart/convert_to_super_parameters.dart
@@ -10,7 +10,7 @@
import 'package:analyzer/dart/ast/ast.dart';
import 'package:analyzer/dart/ast/token.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/source/source_range.dart';
import 'package:analyzer/src/dart/ast/extensions.dart';
import 'package:analyzer_plugin/utilities/assist/assist.dart';
@@ -36,7 +36,7 @@
@override
Future<void> compute(ChangeBuilder builder) async {
- if (!libraryElement.featureSet.isEnabled(Feature.super_parameters)) {
+ if (!libraryElement2.featureSet.isEnabled(Feature.super_parameters)) {
// If the library doesn't support super_parameters then the change isn't
// appropriate.
return;
@@ -54,7 +54,7 @@
// constructors because factory constructors can't have initializers.
return;
}
- var superConstructor = superInvocation.staticElement;
+ var superConstructor = superInvocation.element;
if (superConstructor == null) {
// If the super constructor wasn't resolved then we can't apply the
// change.
@@ -84,7 +84,7 @@
var data = _dataForParameter(
parameter,
argumentIndex,
- argument.staticParameterElement,
+ argument.correspondingParameter,
);
if (data != null) {
named.add(data);
@@ -100,7 +100,7 @@
var data = _dataForParameter(
parameter,
argumentIndex,
- argument.staticParameterElement,
+ argument.correspondingParameter,
);
if (data == null) {
positional = null;
@@ -229,7 +229,7 @@
/// If the [parameter] can be converted into a super initializing formal
/// parameter then return the data needed to do so.
_ParameterData? _dataForParameter(_Parameter parameter, int argumentIndex,
- ParameterElement? superParameter) {
+ FormalParameterElement? superParameter) {
if (superParameter == null) {
return null;
}
@@ -265,8 +265,11 @@
/// Return the range of the default value associated with the [parameter], or
/// `null` if the parameter doesn't have a default value or if the default
/// value is not the same as the default value in the super constructor.
- SourceRange? _defaultValueRange(FormalParameter parameter,
- ParameterElement superParameter, ParameterElement thisParameter) {
+ SourceRange? _defaultValueRange(
+ FormalParameter parameter,
+ FormalParameterElement superParameter,
+ FormalParameterElement thisParameter,
+ ) {
if (parameter is DefaultFormalParameter) {
var defaultValue = parameter.defaultValue;
if (defaultValue != null) {
@@ -335,7 +338,9 @@
/// Return `true` if the parameter has no default value
/// and the parameter in the super constructor has a default one
bool _nullInitializer(
- FormalParameter parameter, ParameterElement superParameter) {
+ FormalParameter parameter,
+ FormalParameterElement superParameter,
+ ) {
return parameter is DefaultFormalParameter &&
!parameter.isRequired &&
parameter.defaultValue == null &&
@@ -346,9 +351,10 @@
/// expression isn't a simple reference to one of the normal parameters in the
/// constructor being converted.
_Parameter? _parameterFor(
- Map<ParameterElement, _Parameter> parameterMap, Expression expression) {
+ Map<FormalParameterElement, _Parameter> parameterMap,
+ Expression expression) {
if (expression is SimpleIdentifier) {
- var element = expression.staticElement;
+ var element = expression.element;
return parameterMap[element];
}
return null;
@@ -356,7 +362,7 @@
/// Return a map from parameter elements to the parameters that define those
/// elements.
- Map<ParameterElement, _Parameter> _parameterMap(
+ Map<FormalParameterElement, _Parameter> _parameterMap(
FormalParameterList parameterList) {
bool validParameter(FormalParameter parameter) {
parameter = parameter.notDefault;
@@ -364,12 +370,12 @@
parameter is FunctionTypedFormalParameter;
}
- var map = <ParameterElement, _Parameter>{};
+ var map = <FormalParameterElement, _Parameter>{};
var parameters = parameterList.parameters;
for (var i = 0; i < parameters.length; i++) {
var parameter = parameters[i];
if (validParameter(parameter)) {
- var element = parameter.declaredElement;
+ var element = parameter.declaredFragment?.element;
if (element != null) {
map[element] = _Parameter(parameter, element, i);
}
@@ -380,7 +386,7 @@
/// Return a set containing the elements of all of the parameters that are
/// referenced in the body of the [constructor].
- Set<ParameterElement> _referencedParameters(
+ Set<FormalParameterElement> _referencedParameters(
ConstructorDeclaration constructor) {
var collector = _ReferencedParameterCollector();
constructor.body.accept(collector);
@@ -430,7 +436,7 @@
class _Parameter {
final FormalParameter parameter;
- final ParameterElement element;
+ final FormalParameterElement element;
final int index;
@@ -481,12 +487,12 @@
}
class _ReferencedParameterCollector extends RecursiveAstVisitor<void> {
- final Set<ParameterElement> foundParameters = {};
+ final Set<FormalParameterElement> foundParameters = {};
@override
void visitSimpleIdentifier(SimpleIdentifier node) {
- var element = node.staticElement;
- if (element is ParameterElement) {
+ var element = node.element;
+ if (element is FormalParameterElement) {
foundParameters.add(element);
}
}