From c6372d8f5cbc6d8edfd94e4dd7381da0663c52e2 Mon Sep 17 00:00:00 2001 From: Konstantin Shcheglov Date: Mon, 12 Jun 2023 20:32:45 +0000 Subject: [PATCH] Move FormalParameterReference hierarchy to framework. Change-Id: If3dc2f14ca0d1dec41f8ed89dae5a37a8e4c6f2b Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/308803 Reviewed-by: Brian Wilkerson Reviewed-by: Samuel Rawlins Commit-Queue: Konstantin Shcheglov --- .../correction/fix/data_driven/accessor.dart | 4 +- .../fix/data_driven/code_fragment_parser.dart | 8 +-- .../fix/data_driven/modify_parameters.dart | 12 ++-- .../fix/data_driven/parameter_reference.dart | 63 ------------------- .../fix/data_driven/transform_set_parser.dart | 10 +-- .../agnostic/change_method_signature.dart | 10 ++- .../framework/formal_parameter.dart | 61 ++++++++++++++++++ .../framework/write_invocation_arguments.dart | 8 +-- .../fix/data_driven/code_template_test.dart | 6 +- .../data_driven/modify_parameters_test.dart | 62 +++++++++--------- .../transform_set_parser_test.dart | 30 ++++----- 11 files changed, 136 insertions(+), 138 deletions(-) delete mode 100644 pkg/analysis_server/lib/src/services/correction/fix/data_driven/parameter_reference.dart diff --git a/pkg/analysis_server/lib/src/services/correction/fix/data_driven/accessor.dart b/pkg/analysis_server/lib/src/services/correction/fix/data_driven/accessor.dart index bd0dde1e104..9917f0db701 100644 --- a/pkg/analysis_server/lib/src/services/correction/fix/data_driven/accessor.dart +++ b/pkg/analysis_server/lib/src/services/correction/fix/data_driven/accessor.dart @@ -2,7 +2,7 @@ // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. -import 'package:analysis_server/src/services/correction/fix/data_driven/parameter_reference.dart'; +import 'package:analysis_server/src/services/refactoring/framework/formal_parameter.dart'; import 'package:analyzer/dart/ast/ast.dart'; /// A class that can be used to access a value from a target. @@ -29,7 +29,7 @@ abstract class AccessorResult { /// An accessor that returns a specific argument from an argument list. class ArgumentAccessor extends Accessor { /// The parameter corresponding to the argument from the original invocation. - final ParameterReference parameter; + final FormalParameterReference parameter; /// Initialize a newly created accessor to access the argument that /// corresponds to the given [parameter]. diff --git a/pkg/analysis_server/lib/src/services/correction/fix/data_driven/code_fragment_parser.dart b/pkg/analysis_server/lib/src/services/correction/fix/data_driven/code_fragment_parser.dart index 87974c55cc7..d0935af2616 100644 --- a/pkg/analysis_server/lib/src/services/correction/fix/data_driven/code_fragment_parser.dart +++ b/pkg/analysis_server/lib/src/services/correction/fix/data_driven/code_fragment_parser.dart @@ -4,9 +4,9 @@ import 'package:analysis_server/src/services/correction/fix/data_driven/accessor.dart'; import 'package:analysis_server/src/services/correction/fix/data_driven/expression.dart'; -import 'package:analysis_server/src/services/correction/fix/data_driven/parameter_reference.dart'; import 'package:analysis_server/src/services/correction/fix/data_driven/transform_set_error_code.dart'; import 'package:analysis_server/src/services/correction/fix/data_driven/variable_scope.dart'; +import 'package:analysis_server/src/services/refactoring/framework/formal_parameter.dart'; import 'package:analyzer/error/listener.dart'; /// A parser for the textual representation of a code fragment. @@ -176,12 +176,12 @@ class CodeFragmentParser { // The error has already been reported. return null; } - ParameterReference reference; + FormalParameterReference reference; if (token.kind == _TokenKind.identifier) { - reference = NamedParameterReference(token.lexeme); + reference = NamedFormalParameterReference(token.lexeme); } else { var argumentIndex = int.parse(token.lexeme); - reference = PositionalParameterReference(argumentIndex); + reference = PositionalFormalParameterReference(argumentIndex); } advance(); token = _expect(const [_TokenKind.closeSquareBracket]); diff --git a/pkg/analysis_server/lib/src/services/correction/fix/data_driven/modify_parameters.dart b/pkg/analysis_server/lib/src/services/correction/fix/data_driven/modify_parameters.dart index aec8988ba63..cd41a0a73ce 100644 --- a/pkg/analysis_server/lib/src/services/correction/fix/data_driven/modify_parameters.dart +++ b/pkg/analysis_server/lib/src/services/correction/fix/data_driven/modify_parameters.dart @@ -5,7 +5,7 @@ import 'package:analysis_server/src/services/correction/dart/data_driven.dart'; import 'package:analysis_server/src/services/correction/fix/data_driven/change.dart'; import 'package:analysis_server/src/services/correction/fix/data_driven/code_template.dart'; -import 'package:analysis_server/src/services/correction/fix/data_driven/parameter_reference.dart'; +import 'package:analysis_server/src/services/refactoring/framework/formal_parameter.dart'; import 'package:analysis_server/src/utilities/index_range.dart'; import 'package:analyzer/dart/ast/ast.dart'; import 'package:analyzer/source/source_range.dart'; @@ -45,7 +45,7 @@ class AddParameter extends ParameterModification { /// The type change of a parameter. class ChangeParameterType extends ParameterModification { /// The location of the changed parameter. - final ParameterReference reference; + final FormalParameterReference reference; /// The nullability of the parameter. final String nullability; @@ -124,7 +124,7 @@ class ModifyParameters extends Change<_Data> { if (argument == null) { // If there is no argument corresponding to the parameter then we assume // that the parameter was absent. - var index = reference is PositionalParameterReference + var index = reference is PositionalFormalParameterReference ? reference.index : remainingArguments.last + 1; remainingArguments.add(index); @@ -167,10 +167,10 @@ class ModifyParameters extends Change<_Data> { var argumentValue = parameter.argumentValue; if (argumentValue != null) { switch (parameter.reference) { - case NamedParameterReference(:final name): + case NamedFormalParameterReference(:final name): builder.write(name); builder.write(': '); - case PositionalParameterReference(): + case PositionalFormalParameterReference(): // Nothing. } argumentValue.writeOn(builder, templateContext); @@ -373,7 +373,7 @@ abstract class ParameterModification {} /// The removal of an existing parameter. class RemoveParameter extends ParameterModification { /// The parameter that was removed. - final ParameterReference parameter; + final FormalParameterReference parameter; /// Initialize a newly created parameter modification to represent the removal /// of an existing [parameter]. diff --git a/pkg/analysis_server/lib/src/services/correction/fix/data_driven/parameter_reference.dart b/pkg/analysis_server/lib/src/services/correction/fix/data_driven/parameter_reference.dart deleted file mode 100644 index 575171836bc..00000000000 --- a/pkg/analysis_server/lib/src/services/correction/fix/data_driven/parameter_reference.dart +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -import 'package:analyzer/dart/ast/ast.dart'; - -/// A reference to a named formal parameter. -final class NamedParameterReference extends ParameterReference { - /// The name of the named formal parameter. - final String name; - - /// Initialize a newly created reference to refer to the named formal - /// parameter with the given [name]. - NamedParameterReference(this.name) : assert(name.isNotEmpty); - - @override - Expression? argumentFrom(ArgumentList argumentList) { - for (var argument in argumentList.arguments) { - if (argument is NamedExpression && argument.name.label.name == name) { - return argument.expression; - } - } - return null; - } - - @override - String toString() => name; -} - -/// A reference to a formal parameter. -sealed class ParameterReference { - /// Return the expression used to compute the value of the referenced - /// formal parameter, or `null` if there is no argument corresponding to the - /// formal parameter. Note that for named formal parameters this will be an - /// expression whose parent is a named expression. - Expression? argumentFrom(ArgumentList argumentList); -} - -/// A reference to a positional formal parameter. -final class PositionalParameterReference extends ParameterReference { - /// The index of the positional formal parameter. - final int index; - - /// Initialize a newly created reference to refer to the positional formal - /// parameter with the given [index]. - PositionalParameterReference(this.index) : assert(index >= 0); - - @override - Expression? argumentFrom(ArgumentList argumentList) { - var arguments = argumentList.arguments; - if (index >= arguments.length) { - return null; - } - var argument = arguments[index]; - if (argument is NamedExpression) { - return null; - } - return argument; - } - - @override - String toString() => '$index'; -} diff --git a/pkg/analysis_server/lib/src/services/correction/fix/data_driven/transform_set_parser.dart b/pkg/analysis_server/lib/src/services/correction/fix/data_driven/transform_set_parser.dart index 74e2b34bdd7..2393f077111 100644 --- a/pkg/analysis_server/lib/src/services/correction/fix/data_driven/transform_set_parser.dart +++ b/pkg/analysis_server/lib/src/services/correction/fix/data_driven/transform_set_parser.dart @@ -11,7 +11,6 @@ import 'package:analysis_server/src/services/correction/fix/data_driven/element_ import 'package:analysis_server/src/services/correction/fix/data_driven/element_kind.dart'; import 'package:analysis_server/src/services/correction/fix/data_driven/expression.dart'; import 'package:analysis_server/src/services/correction/fix/data_driven/modify_parameters.dart'; -import 'package:analysis_server/src/services/correction/fix/data_driven/parameter_reference.dart'; import 'package:analysis_server/src/services/correction/fix/data_driven/rename.dart'; import 'package:analysis_server/src/services/correction/fix/data_driven/rename_parameter.dart'; import 'package:analysis_server/src/services/correction/fix/data_driven/replaced_by.dart'; @@ -20,6 +19,7 @@ import 'package:analysis_server/src/services/correction/fix/data_driven/transfor import 'package:analysis_server/src/services/correction/fix/data_driven/transform_set_error_code.dart'; import 'package:analysis_server/src/services/correction/fix/data_driven/value_generator.dart'; import 'package:analysis_server/src/services/correction/fix/data_driven/variable_scope.dart'; +import 'package:analysis_server/src/services/refactoring/framework/formal_parameter.dart'; import 'package:analyzer/error/listener.dart'; import 'package:analyzer/src/util/yaml.dart'; import 'package:analyzer/src/utilities/extensions/string.dart'; @@ -538,7 +538,7 @@ class TransformSetParser { ErrorContext(key: _indexKey, parentNode: node), ); if (index != null) { - return PositionalParameterReference(index); + return PositionalFormalParameterReference(index); } }, const {_nameKey}: (key, value) { @@ -547,7 +547,7 @@ class TransformSetParser { ErrorContext(key: _nameKey, parentNode: node), ); if (name != null) { - return NamedParameterReference(name); + return NamedFormalParameterReference(name); } }, }, @@ -934,7 +934,7 @@ class TransformSetParser { // The error has already been reported. return null; } - return PositionalParameterReference(index); + return PositionalFormalParameterReference(index); }, {_nameKey}: (key, value) { var name = _translateString( @@ -945,7 +945,7 @@ class TransformSetParser { // The error has already been reported. return null; } - return NamedParameterReference(name); + return NamedFormalParameterReference(name); }, }, errorNode: node, diff --git a/pkg/analysis_server/lib/src/services/refactoring/agnostic/change_method_signature.dart b/pkg/analysis_server/lib/src/services/refactoring/agnostic/change_method_signature.dart index f47336af207..e419b8816fc 100644 --- a/pkg/analysis_server/lib/src/services/refactoring/agnostic/change_method_signature.dart +++ b/pkg/analysis_server/lib/src/services/refactoring/agnostic/change_method_signature.dart @@ -2,10 +2,8 @@ // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. -import 'package:analysis_server/src/services/correction/fix/data_driven/parameter_reference.dart'; import 'package:analysis_server/src/services/correction/util.dart'; -import 'package:analysis_server/src/services/refactoring/framework/formal_parameter.dart' - show FormalParameterKind; +import 'package:analysis_server/src/services/refactoring/framework/formal_parameter.dart'; import 'package:analysis_server/src/services/refactoring/framework/refactoring_context.dart'; import 'package:analysis_server/src/services/refactoring/framework/write_invocation_arguments.dart' as framework; @@ -714,14 +712,14 @@ class _SignatureUpdater { } } - ParameterReference _asFrameworkFormalParameterReference( + FormalParameterReference _asFrameworkFormalParameterReference( FormalParameterState existing, ) { final positionalIndex = existing.positionalIndex; if (positionalIndex != null) { - return PositionalParameterReference(positionalIndex); + return PositionalFormalParameterReference(positionalIndex); } else { - return NamedParameterReference(existing.name); + return NamedFormalParameterReference(existing.name); } } } diff --git a/pkg/analysis_server/lib/src/services/refactoring/framework/formal_parameter.dart b/pkg/analysis_server/lib/src/services/refactoring/framework/formal_parameter.dart index 4254dbaed1c..08e70fea976 100644 --- a/pkg/analysis_server/lib/src/services/refactoring/framework/formal_parameter.dart +++ b/pkg/analysis_server/lib/src/services/refactoring/framework/formal_parameter.dart @@ -2,6 +2,8 @@ // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. +import 'package:analyzer/dart/ast/ast.dart'; + /// The kind of a formal parameter. enum FormalParameterKind { requiredPositional, @@ -21,3 +23,62 @@ enum FormalParameterKind { return this == requiredPositional || this == optionalPositional; } } + +/// A reference to a formal parameter. +sealed class FormalParameterReference { + /// Return the expression used to compute the value of the referenced + /// formal parameter, or `null` if there is no argument corresponding to the + /// formal parameter. Note that for named formal parameters this will be an + /// expression whose parent is a named expression. + Expression? argumentFrom(ArgumentList argumentList); +} + +/// A reference to a named formal parameter. +final class NamedFormalParameterReference extends FormalParameterReference { + /// The name of the named formal parameter. + final String name; + + /// Initialize a newly created reference to refer to the named formal + /// parameter with the given [name]. + NamedFormalParameterReference(this.name) : assert(name.isNotEmpty); + + @override + Expression? argumentFrom(ArgumentList argumentList) { + for (var argument in argumentList.arguments) { + if (argument is NamedExpression && argument.name.label.name == name) { + return argument.expression; + } + } + return null; + } + + @override + String toString() => name; +} + +/// A reference to a positional formal parameter. +final class PositionalFormalParameterReference + extends FormalParameterReference { + /// The index of the positional formal parameter. + final int index; + + /// Initialize a newly created reference to refer to the positional formal + /// parameter with the given [index]. + PositionalFormalParameterReference(this.index) : assert(index >= 0); + + @override + Expression? argumentFrom(ArgumentList argumentList) { + var arguments = argumentList.arguments; + if (index >= arguments.length) { + return null; + } + var argument = arguments[index]; + if (argument is NamedExpression) { + return null; + } + return argument; + } + + @override + String toString() => '$index'; +} diff --git a/pkg/analysis_server/lib/src/services/refactoring/framework/write_invocation_arguments.dart b/pkg/analysis_server/lib/src/services/refactoring/framework/write_invocation_arguments.dart index 42958c7a779..eeae5038d37 100644 --- a/pkg/analysis_server/lib/src/services/refactoring/framework/write_invocation_arguments.dart +++ b/pkg/analysis_server/lib/src/services/refactoring/framework/write_invocation_arguments.dart @@ -2,8 +2,8 @@ // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. -import 'package:analysis_server/src/services/correction/fix/data_driven/parameter_reference.dart'; import 'package:analysis_server/src/services/correction/util.dart'; +import 'package:analysis_server/src/services/refactoring/framework/formal_parameter.dart'; import 'package:analyzer/dart/analysis/results.dart'; import 'package:analyzer/dart/ast/ast.dart'; import 'package:analyzer/dart/ast/token.dart'; @@ -29,7 +29,7 @@ Future writeArguments({ switch (update) { case FormalParameterUpdateExisting(:final reference): switch (reference) { - case NamedParameterReference(): + case NamedFormalParameterReference(): final argument = namedArguments[reference.name]; if (argument == null) { return ChangeStatusFailure(); @@ -48,7 +48,7 @@ Future writeArguments({ ), ); } - case PositionalParameterReference(): + case PositionalFormalParameterReference(): final argument = positionArguments.elementAtOrNull(reference.index); if (argument == null) { return ChangeStatusFailure(); @@ -140,7 +140,7 @@ sealed class FormalParameterUpdate {} /// Existing formal parameter update. sealed class FormalParameterUpdateExisting extends FormalParameterUpdate { /// The original formal parameter reference. - final ParameterReference reference; + final FormalParameterReference reference; FormalParameterUpdateExisting({ required this.reference, diff --git a/pkg/analysis_server/test/src/services/correction/fix/data_driven/code_template_test.dart b/pkg/analysis_server/test/src/services/correction/fix/data_driven/code_template_test.dart index c3691e15138..def4d893c4d 100644 --- a/pkg/analysis_server/test/src/services/correction/fix/data_driven/code_template_test.dart +++ b/pkg/analysis_server/test/src/services/correction/fix/data_driven/code_template_test.dart @@ -4,9 +4,9 @@ import 'package:analysis_server/src/services/correction/fix/data_driven/accessor.dart'; import 'package:analysis_server/src/services/correction/fix/data_driven/code_template.dart'; -import 'package:analysis_server/src/services/correction/fix/data_driven/parameter_reference.dart'; import 'package:analysis_server/src/services/correction/fix/data_driven/value_generator.dart'; import 'package:analysis_server/src/services/correction/util.dart'; +import 'package:analysis_server/src/services/refactoring/framework/formal_parameter.dart'; import 'package:analyzer/dart/ast/ast.dart'; import 'package:analyzer_plugin/utilities/change_builder/change_builder_core.dart'; import 'package:test/test.dart'; @@ -91,6 +91,6 @@ void g(int x, int y) {} TemplateText _text(String text) => TemplateText(text); - TemplateVariable _variable(int index) => TemplateVariable( - CodeFragment([ArgumentAccessor(PositionalParameterReference(index))])); + TemplateVariable _variable(int index) => TemplateVariable(CodeFragment( + [ArgumentAccessor(PositionalFormalParameterReference(index))])); } diff --git a/pkg/analysis_server/test/src/services/correction/fix/data_driven/modify_parameters_test.dart b/pkg/analysis_server/test/src/services/correction/fix/data_driven/modify_parameters_test.dart index d51cf23d15d..80c41f92c21 100644 --- a/pkg/analysis_server/test/src/services/correction/fix/data_driven/modify_parameters_test.dart +++ b/pkg/analysis_server/test/src/services/correction/fix/data_driven/modify_parameters_test.dart @@ -6,9 +6,9 @@ import 'package:analysis_server/src/services/correction/fix/data_driven/changes_ import 'package:analysis_server/src/services/correction/fix/data_driven/element_descriptor.dart'; import 'package:analysis_server/src/services/correction/fix/data_driven/element_kind.dart'; import 'package:analysis_server/src/services/correction/fix/data_driven/modify_parameters.dart'; -import 'package:analysis_server/src/services/correction/fix/data_driven/parameter_reference.dart'; import 'package:analysis_server/src/services/correction/fix/data_driven/rename.dart'; import 'package:analysis_server/src/services/correction/fix/data_driven/transform.dart'; +import 'package:analysis_server/src/services/refactoring/framework/formal_parameter.dart'; import 'package:test_reflective_loader/test_reflective_loader.dart'; import 'data_driven_test_support.dart'; @@ -334,7 +334,7 @@ class C { 'm', 'C' ], [ - RemoveParameter(PositionalParameterReference(0)), + RemoveParameter(PositionalFormalParameterReference(0)), AddParameter(2, 'c', true, true, codeTemplate('2')) ], newName: 'm2')); await resolveTestCode(''' @@ -365,7 +365,7 @@ class C { 'm', 'C' ], [ - RemoveParameter(PositionalParameterReference(1)), + RemoveParameter(PositionalFormalParameterReference(1)), AddParameter(0, 'a', true, true, codeTemplate('0')) ], newName: 'm2')); await resolveTestCode(''' @@ -397,8 +397,8 @@ class C { 'C' ], [ AddParameter(1, 'c', true, false, codeTemplate('3')), - RemoveParameter(NamedParameterReference('b')), - RemoveParameter(NamedParameterReference('d')), + RemoveParameter(NamedFormalParameterReference('b')), + RemoveParameter(NamedFormalParameterReference('d')), ], newName: 'm2')); await resolveTestCode(''' import '$importUri'; @@ -428,8 +428,8 @@ class C { 'm1', 'C' ], [ - RemoveParameter(PositionalParameterReference(0)), - RemoveParameter(PositionalParameterReference(1)), + RemoveParameter(PositionalFormalParameterReference(0)), + RemoveParameter(PositionalFormalParameterReference(1)), AddParameter(0, 'c', true, true, codeTemplate('2')), ], newName: 'm2')); await resolveTestCode(''' @@ -460,8 +460,8 @@ class C { 'm1', 'C' ], [ - RemoveParameter(PositionalParameterReference(1)), - RemoveParameter(PositionalParameterReference(2)), + RemoveParameter(PositionalFormalParameterReference(1)), + RemoveParameter(PositionalFormalParameterReference(2)), AddParameter(1, 'd', true, true, codeTemplate('3')), ], newName: 'm2')); await resolveTestCode(''' @@ -493,8 +493,8 @@ class C { 'C' ], [ AddParameter(0, 'a', true, true, codeTemplate('0')), - RemoveParameter(PositionalParameterReference(1)), - RemoveParameter(PositionalParameterReference(3)), + RemoveParameter(PositionalFormalParameterReference(1)), + RemoveParameter(PositionalFormalParameterReference(3)), AddParameter(2, 'd', true, true, codeTemplate('3')), ], newName: 'm2')); await resolveTestCode(''' @@ -526,7 +526,7 @@ class C { 'C' ], [ AddParameter(0, 'b', true, false, codeTemplate('0')), - RemoveParameter(NamedParameterReference('a')), + RemoveParameter(NamedFormalParameterReference('a')), ], newName: 'm2')); await resolveTestCode(''' import '$importUri'; @@ -557,7 +557,7 @@ class C { 'C' ], [ AddParameter(0, 'b', true, false, codeTemplate('0')), - RemoveParameter(NamedParameterReference('a')), + RemoveParameter(NamedFormalParameterReference('a')), ], newName: 'm2')); await resolveTestCode(''' import '$importUri'; @@ -594,7 +594,7 @@ class C { 'm', 'C' ], [ - RemoveParameter(NamedParameterReference('a')), + RemoveParameter(NamedFormalParameterReference('a')), AddParameter(1, 'b', true, false, codeTemplate('1')), AddParameter(2, 'd', true, false, codeTemplate('2')), AddParameter(3, 'e', true, false, codeTemplate('3')), @@ -624,7 +624,7 @@ class C { } '''); setPackageData(_modify( - ['m', 'C'], [RemoveParameter(NamedParameterReference('a'))], + ['m', 'C'], [RemoveParameter(NamedFormalParameterReference('a'))], newName: 'm2')); await resolveTestCode(''' import '$importUri'; @@ -651,7 +651,7 @@ class C { } '''); setPackageData(_modify( - ['m', 'C'], [RemoveParameter(PositionalParameterReference(0))], + ['m', 'C'], [RemoveParameter(PositionalFormalParameterReference(0))], newName: 'm2')); await resolveTestCode(''' import '$importUri'; @@ -678,7 +678,7 @@ class C { } '''); setPackageData(_modify( - ['m', 'C'], [RemoveParameter(PositionalParameterReference(0))], + ['m', 'C'], [RemoveParameter(PositionalFormalParameterReference(0))], newName: 'm2')); await resolveTestCode(''' import '$importUri'; @@ -705,7 +705,7 @@ class C { } '''); setPackageData(_modify( - ['m', 'C'], [RemoveParameter(NamedParameterReference('b'))], + ['m', 'C'], [RemoveParameter(NamedFormalParameterReference('b'))], newName: 'm2')); await resolveTestCode(''' import '$importUri'; @@ -732,7 +732,7 @@ class C { } '''); setPackageData(_modify( - ['m', 'C'], [RemoveParameter(PositionalParameterReference(1))], + ['m', 'C'], [RemoveParameter(PositionalFormalParameterReference(1))], newName: 'm2')); await resolveTestCode(''' import '$importUri'; @@ -759,7 +759,7 @@ class C { } '''); setPackageData(_modify( - ['m', 'C'], [RemoveParameter(PositionalParameterReference(1))], + ['m', 'C'], [RemoveParameter(PositionalFormalParameterReference(1))], newName: 'm2')); await resolveTestCode(''' import '$importUri'; @@ -784,8 +784,8 @@ class C { void m({int a, @deprecated int b, int c}) {} } '''); - setPackageData( - _modify(['m', 'C'], [RemoveParameter(NamedParameterReference('b'))])); + setPackageData(_modify( + ['m', 'C'], [RemoveParameter(NamedFormalParameterReference('b'))])); await resolveTestCode(''' import '$importUri'; @@ -814,9 +814,9 @@ class C { 'm', 'C' ], [ - RemoveParameter(PositionalParameterReference(0)), - RemoveParameter(PositionalParameterReference(2)), - RemoveParameter(PositionalParameterReference(3)), + RemoveParameter(PositionalFormalParameterReference(0)), + RemoveParameter(PositionalFormalParameterReference(2)), + RemoveParameter(PositionalFormalParameterReference(3)), ], newName: 'm2')); await resolveTestCode(''' import '$importUri'; @@ -843,7 +843,7 @@ class C { } '''); setPackageData(_modify( - ['m', 'C'], [RemoveParameter(NamedParameterReference('a'))], + ['m', 'C'], [RemoveParameter(NamedFormalParameterReference('a'))], newName: 'm2')); await resolveTestCode(''' import '$importUri'; @@ -870,7 +870,7 @@ class C { } '''); setPackageData(_modify( - ['m', 'C'], [RemoveParameter(NamedParameterReference('a'))], + ['m', 'C'], [RemoveParameter(NamedFormalParameterReference('a'))], newName: 'm2')); await resolveTestCode(''' import '$importUri'; @@ -897,7 +897,7 @@ class C { } '''); setPackageData(_modify( - ['m', 'C'], [RemoveParameter(PositionalParameterReference(0))], + ['m', 'C'], [RemoveParameter(PositionalFormalParameterReference(0))], newName: 'm2')); await resolveTestCode(''' import '$importUri'; @@ -925,7 +925,7 @@ class C { } '''); setPackageData(_modify( - ['m', 'C'], [RemoveParameter(PositionalParameterReference(0))], + ['m', 'C'], [RemoveParameter(PositionalFormalParameterReference(0))], newName: 'm2')); await resolveTestCode(''' import '$importUri'; @@ -952,7 +952,7 @@ class C { } '''); setPackageData(_modify( - ['m', 'C'], [RemoveParameter(PositionalParameterReference(0))], + ['m', 'C'], [RemoveParameter(PositionalFormalParameterReference(0))], newName: 'm2')); await resolveTestCode(''' import '$importUri'; @@ -1018,7 +1018,7 @@ void f(int a, int b) {} void g(int b) {} '''); setPackageData(_modify( - ['f'], [RemoveParameter(PositionalParameterReference(0))], + ['f'], [RemoveParameter(PositionalFormalParameterReference(0))], newName: 'g')); await resolveTestCode(''' import '$importUri'; diff --git a/pkg/analysis_server/test/src/services/correction/fix/data_driven/transform_set_parser_test.dart b/pkg/analysis_server/test/src/services/correction/fix/data_driven/transform_set_parser_test.dart index bab25b471d9..d63e0f5f99d 100644 --- a/pkg/analysis_server/test/src/services/correction/fix/data_driven/transform_set_parser_test.dart +++ b/pkg/analysis_server/test/src/services/correction/fix/data_driven/transform_set_parser_test.dart @@ -11,12 +11,12 @@ import 'package:analysis_server/src/services/correction/fix/data_driven/element_ import 'package:analysis_server/src/services/correction/fix/data_driven/element_matcher.dart'; import 'package:analysis_server/src/services/correction/fix/data_driven/expression.dart'; import 'package:analysis_server/src/services/correction/fix/data_driven/modify_parameters.dart'; -import 'package:analysis_server/src/services/correction/fix/data_driven/parameter_reference.dart'; import 'package:analysis_server/src/services/correction/fix/data_driven/rename.dart'; import 'package:analysis_server/src/services/correction/fix/data_driven/replaced_by.dart'; import 'package:analysis_server/src/services/correction/fix/data_driven/transform.dart'; import 'package:analysis_server/src/services/correction/fix/data_driven/transform_set_error_code.dart'; import 'package:analysis_server/src/services/correction/fix/data_driven/value_generator.dart'; +import 'package:analysis_server/src/services/refactoring/framework/formal_parameter.dart'; import 'package:test/test.dart'; import 'package:test_reflective_loader/test_reflective_loader.dart'; @@ -70,7 +70,7 @@ transforms: var components = modification.argumentValue!.components; expect(components, hasLength(1)); var value = _accessor(components[0]) as ArgumentAccessor; - var parameter = value.parameter as PositionalParameterReference; + var parameter = value.parameter as PositionalFormalParameterReference; expect(parameter.index, 1); } @@ -145,7 +145,7 @@ transforms: var components = modification.argumentValue!.components; expect(components, hasLength(1)); var value = _accessor(components[0]) as ArgumentAccessor; - var parameter = value.parameter as PositionalParameterReference; + var parameter = value.parameter as PositionalFormalParameterReference; expect(parameter.index, 1); } @@ -187,7 +187,7 @@ transforms: var components = modification.argumentValue!.components; expect(components, hasLength(1)); var value = _accessor(components[0]) as ArgumentAccessor; - var parameter = value.parameter as PositionalParameterReference; + var parameter = value.parameter as PositionalFormalParameterReference; expect(parameter.index, 1); } @@ -232,11 +232,11 @@ transforms: var components = modification.argumentValue!.components; expect(components, hasLength(4)); var extractorA = _accessor(components[0]) as ArgumentAccessor; - var parameterA = extractorA.parameter as PositionalParameterReference; + var parameterA = extractorA.parameter as PositionalFormalParameterReference; expect(parameterA.index, 1); expect((components[1] as TemplateText).text, '('); var extractorB = _accessor(components[2]) as ArgumentAccessor; - var parameterB = extractorB.parameter as PositionalParameterReference; + var parameterB = extractorB.parameter as PositionalFormalParameterReference; expect(parameterB.index, 2); expect((components[3] as TemplateText).text, ')'); } @@ -314,7 +314,7 @@ transforms: var components = change.argumentValue.components; expect(components, hasLength(1)); var value = _accessor(components[0]) as ArgumentAccessor; - var parameter = value.parameter as NamedParameterReference; + var parameter = value.parameter as NamedFormalParameterReference; expect(parameter.name, 'p'); } @@ -358,7 +358,7 @@ transforms: var argumentComponents = change.argumentValue.components; expect(argumentComponents, hasLength(1)); var value = _accessor(argumentComponents[0]) as ArgumentAccessor; - var parameter = value.parameter as PositionalParameterReference; + var parameter = value.parameter as PositionalFormalParameterReference; expect(parameter.index, 2); } @@ -402,7 +402,7 @@ transforms: var argumentComponents = change.argumentValue.components; expect(argumentComponents, hasLength(1)); var value = _accessor(argumentComponents[0]) as ArgumentAccessor; - var parameter = value.parameter as PositionalParameterReference; + var parameter = value.parameter as PositionalFormalParameterReference; expect(parameter.index, 2); } @@ -452,7 +452,7 @@ transforms: var modifications = change.modifications; expect(modifications, hasLength(1)); var modification = modifications[0] as ChangeParameterType; - var reference = modification.reference as NamedParameterReference; + var reference = modification.reference as NamedFormalParameterReference; expect(reference.name, 'p'); var components = modification.argumentValue!.components; expect(components, hasLength(1)); @@ -526,7 +526,8 @@ transforms: var modifications = change.modifications; expect(modifications, hasLength(1)); var modification = modifications[0] as ChangeParameterType; - var reference = modification.reference as PositionalParameterReference; + var reference = + modification.reference as PositionalFormalParameterReference; expect(reference.index, 0); var components = modification.argumentValue!.components; expect(components, hasLength(1)); @@ -721,7 +722,7 @@ transforms: var modifications = change.modifications; expect(modifications, hasLength(1)); var modification = modifications[0] as RemoveParameter; - var parameter = modification.parameter as NamedParameterReference; + var parameter = modification.parameter as NamedFormalParameterReference; expect(parameter.name, 'p'); } @@ -748,7 +749,8 @@ transforms: var modifications = change.modifications; expect(modifications, hasLength(1)); var modification = modifications[0] as RemoveParameter; - var parameter = modification.parameter as PositionalParameterReference; + var parameter = + modification.parameter as PositionalFormalParameterReference; expect(parameter.index, 0); } @@ -913,7 +915,7 @@ transforms: var components = argumentValue.components; expect(components, hasLength(1)); var value = _accessor(components[0]) as ArgumentAccessor; - var parameter = value.parameter as PositionalParameterReference; + var parameter = value.parameter as PositionalFormalParameterReference; expect(parameter.index, 1); }