From 8779d4e9a7e5f9d1a23ac0972bfd663e94bf82de Mon Sep 17 00:00:00 2001 From: Konstantin Shcheglov Date: Thu, 11 Jun 2026 11:59:47 -0700 Subject: [PATCH] Breaking changes for analyzer version 14.0.0 Change-Id: I3bd6b1bbf60bb1b45f46e62ebf448f27f103f98e Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/509561 Commit-Queue: Konstantin Shcheglov Reviewed-by: Brian Wilkerson --- pkg/analysis_server_plugin/CHANGELOG.md | 5 + pkg/analysis_server_plugin/pubspec.yaml | 6 +- pkg/analyzer/CHANGELOG.md | 8 + pkg/analyzer/api.txt | 10 - pkg/analyzer/lib/dart/element/element.dart | 22 -- .../lib/src/dart/analysis/driver.dart | 2 +- .../lib/src/dart/element/element.dart | 112 ------- pkg/analyzer/lib/src/dart/element/member.dart | 91 +----- .../resolver/element_binding_visitor.dart | 25 +- .../src/dart/resolver/resolution_visitor.dart | 18 +- .../lib/src/dart/resolver/scope_context.dart | 4 +- .../lib/src/generated/element_walker.dart | 6 - .../lib/src/summary2/ast_binary_reader.dart | 28 +- .../lib/src/summary2/bundle_reader.dart | 22 +- .../lib/src/summary2/bundle_writer.dart | 27 +- .../lib/src/summary2/element_builder.dart | 69 ++--- .../lib/src/summary2/informative_data.dart | 3 - .../package_config_file_builder.dart | 112 ------- pkg/analyzer/pubspec.yaml | 2 +- .../test/src/summary/element_text.dart | 26 -- .../test/src/summary/elements/class_test.dart | 293 ++++-------------- .../summary/elements/default_value_test.dart | 21 -- .../test/src/summary/elements/enum_test.dart | 7 - .../elements/formal_parameter_test.dart | 38 +-- .../function_type_annotation_test.dart | 7 - .../src/summary/elements/offsets_test.dart | 30 +- .../elements/top_level_function_test.dart | 93 +----- .../summary/elements/type_inference_test.dart | 69 +---- .../src/summary/resolved_ast_printer.dart | 6 +- pkg/analyzer_plugin/CHANGELOG.md | 4 + pkg/analyzer_plugin/pubspec.yaml | 4 +- pkg/analyzer_testing/CHANGELOG.md | 4 + pkg/analyzer_testing/pubspec.yaml | 4 +- 33 files changed, 193 insertions(+), 985 deletions(-) delete mode 100644 pkg/analyzer/lib/utilities/package_config_file_builder.dart diff --git a/pkg/analysis_server_plugin/CHANGELOG.md b/pkg/analysis_server_plugin/CHANGELOG.md index b5ba2715e92..177fce4f07b 100644 --- a/pkg/analysis_server_plugin/CHANGELOG.md +++ b/pkg/analysis_server_plugin/CHANGELOG.md @@ -1,3 +1,8 @@ +## 0.3.19-dev + +- Require version `^14.0.0-0` of the `analyzer` package. +- Require version `0.14.13-dev` of the `analyzer_plugin` package. + ## 0.3.18 - Require version `13.3.0` of the `analyzer` package. diff --git a/pkg/analysis_server_plugin/pubspec.yaml b/pkg/analysis_server_plugin/pubspec.yaml index cacad391acb..fff3164c66f 100644 --- a/pkg/analysis_server_plugin/pubspec.yaml +++ b/pkg/analysis_server_plugin/pubspec.yaml @@ -1,6 +1,6 @@ name: analysis_server_plugin description: A framework and support code for building plugins for the analysis server. -version: 0.3.18 +version: 0.3.19-dev repository: https://github.com/dart-lang/sdk/tree/main/pkg/analysis_server_plugin environment: @@ -11,8 +11,8 @@ resolution: workspace dependencies: # See the release policy for managing this dependency at # pkg/analyzer/doc/implementation/releasing.md. - analyzer: 13.3.0 - analyzer_plugin: 0.14.12 + analyzer: ^14.0.0-0 + analyzer_plugin: 0.14.13-dev collection: ^1.19.0 meta: ^1.16.0 yaml: ^3.1.0 diff --git a/pkg/analyzer/CHANGELOG.md b/pkg/analyzer/CHANGELOG.md index 68ee247d9ec..bf7e2214a89 100644 --- a/pkg/analyzer/CHANGELOG.md +++ b/pkg/analyzer/CHANGELOG.md @@ -1,3 +1,11 @@ +## 14.0.0-dev + +* **Breaking Change:** Removed `FormalParameterElement.isInitializingFormal`. Use type checks (`element is FieldFormalParameterElement`) instead. +* **Breaking Change:** Removed `FormalParameterElement.isSuperFormal`. Use type checks (`element is SuperFormalParameterElement`) instead. +* **Breaking Change:** Removed `PackageConfigFileBuilder` from `package:analyzer/utilities/package_config_file_builder.dart`. Use `package:analyzer_testing/package_config_file_builder.dart` instead. +* **Breaking Change:** Removed `FormalParameterElement.formalParameters`. Use `FormalParameterElement.type` instead. +* **Breaking Change:** Removed `FormalParameterElement.typeParameters`. Use `FormalParameterElement.type` instead. + ## 13.3.0 * Add `Folder.getFile`, deprecate `Folder.getChildAssumingFile`. diff --git a/pkg/analyzer/api.txt b/pkg/analyzer/api.txt index 22ff50b6cf3..df6482c64e6 100644 --- a/pkg/analyzer/api.txt +++ b/pkg/analyzer/api.txt @@ -3672,11 +3672,9 @@ package:analyzer/dart/element/element.dart: baseElement (getter: FormalParameterElement) defaultValueCode (getter: String?) firstFragment (getter: FormalParameterFragment) - formalParameters (getter: List, deprecated) fragments (getter: List) hasDefaultValue (getter: bool) isCovariant (getter: bool) - isInitializingFormal (getter: bool, deprecated) isNamed (getter: bool) isOptional (getter: bool) isOptionalNamed (getter: bool) @@ -3685,8 +3683,6 @@ package:analyzer/dart/element/element.dart: isRequired (getter: bool) isRequiredNamed (getter: bool) isRequiredPositional (getter: bool) - isSuperFormal (getter: bool, deprecated) - typeParameters (getter: List, deprecated) appendToWithoutDelimiters (method: void Function(StringBuffer)) FormalParameterFragment (class extends Object implements VariableFragment, LocalFragment, abstract): new (constructor: FormalParameterFragment Function()) @@ -5029,12 +5025,6 @@ package:analyzer/utilities/extensions/uri.dart: UriExtension (extension on Uri): isImplementation (getter: bool) isSamePackageAs (method: bool Function(Uri)) -package:analyzer/utilities/package_config_file_builder.dart: - PackageConfigFileBuilder (class extends Object, deprecated): - new (constructor: PackageConfigFileBuilder Function(), deprecated) - add (method: void Function({String? languageVersion, required String name, String packageUri, required String rootPath})) - copy (method: PackageConfigFileBuilder Function()) - toContent (method: String Function({required Context pathContext})) package:analyzer/workspace/workspace.dart: WorkspacePackage (class extends Object, abstract): new (constructor: WorkspacePackage Function()) diff --git a/pkg/analyzer/lib/dart/element/element.dart b/pkg/analyzer/lib/dart/element/element.dart index 8025c641fbf..28992fb2e86 100644 --- a/pkg/analyzer/lib/dart/element/element.dart +++ b/pkg/analyzer/lib/dart/element/element.dart @@ -1374,13 +1374,6 @@ abstract class FormalParameterElement implements VariableElement, LocalElement { @override FormalParameterFragment get firstFragment; - /// The formal parameters defined by this formal parameter. - /// - /// A parameter will only define other parameters if it is a function typed - /// formal parameter. - @Deprecated('Use the function type of this parameter instead') - List get formalParameters; - @override List get fragments; @@ -1391,10 +1384,6 @@ abstract class FormalParameterElement implements VariableElement, LocalElement { /// narrower type in an override. bool get isCovariant; - /// Whether the parameter is an initializing formal parameter. - @Deprecated('Use element is FieldFormalParameterElement instead') - bool get isInitializingFormal; - /// Whether the parameter is a named parameter. /// /// Named parameters that are annotated with the `@required` annotation are @@ -1444,17 +1433,6 @@ abstract class FormalParameterElement implements VariableElement, LocalElement { /// Whether the parameter is both a required and positional parameter. bool get isRequiredPositional; - /// Whether the parameter is a super formal parameter. - @Deprecated('Use element is SuperFormalParameterElement instead') - bool get isSuperFormal; - - /// The type parameters defined by this parameter. - /// - /// A parameter will only define type parameters if it is a function typed - /// parameter. - @Deprecated('Use the function type of this parameter instead') - List get typeParameters; - /// Appends the type, name and possibly the default value of this parameter /// to the given [buffer]. void appendToWithoutDelimiters(StringBuffer buffer); diff --git a/pkg/analyzer/lib/src/dart/analysis/driver.dart b/pkg/analyzer/lib/src/dart/analysis/driver.dart index 6efb5b26c77..86b15c9a38c 100644 --- a/pkg/analyzer/lib/src/dart/analysis/driver.dart +++ b/pkg/analyzer/lib/src/dart/analysis/driver.dart @@ -109,7 +109,7 @@ testFineAfterLibraryAnalyzerHook; // TODO(scheglov): Clean up the list of implicitly analyzed files. class AnalysisDriver { /// The version of data format, should be incremented on every format change. - static const int DATA_VERSION = 639; + static const int DATA_VERSION = 640; /// The number of exception contexts allowed to write. Once this field is /// zero, we stop writing any new exception contexts in this process. diff --git a/pkg/analyzer/lib/src/dart/element/element.dart b/pkg/analyzer/lib/src/dart/element/element.dart index 10085142c85..1c4ad1d0ff4 100644 --- a/pkg/analyzer/lib/src/dart/element/element.dart +++ b/pkg/analyzer/lib/src/dart/element/element.dart @@ -3632,10 +3632,6 @@ class FieldFormalParameterElementImpl extends FormalParameterElementImpl @override bool get isFinal => true; - @Deprecated('Use element is FieldFormalParameterElement instead') - @override - bool get isInitializingFormal => true; - @override String? get privateName => _fieldFormalParameterFragment.privateName; @@ -3702,10 +3698,6 @@ class FieldFormalParameterFragmentImpl extends FormalParameterFragmentImpl /// is final. @override bool get isFinal => true; - - @Deprecated('Use fragment is FieldFormalParameterFragment instead') - @override - bool get isInitializingFormal => true; } @GenerateElementFlags(flags: _FieldElementFlags.values) @@ -3886,16 +3878,6 @@ class FormalParameterElementImpl extends PromotableElementImpl }) : _baseFormalParameter = baseFormalParameter { for (var fragment in _fragments) { fragment._element = this; - for (var typeParameter in fragment._typeParameters) { - if (typeParameter.previousFragment == null) { - TypeParameterElementImpl(firstFragment: typeParameter); - } - } - for (var formalParameter in fragment._formalParameters) { - if (formalParameter.previousFragment == null) { - formalParameter.initElement(); - } - } } } @@ -3938,18 +3920,6 @@ class FormalParameterElementImpl extends PromotableElementImpl return {...super.flagsForTesting, 'hasDefaultValue': hasDefaultValue}; } - // firstFragment.typeParameters - // .map((fragment) => (fragment as TypeParameterElementImpl).element) - // .toList(); - - @Deprecated('Use the function type of this parameter instead') - @override - // TODO(augmentations): Implement the merge of formal parameters. - List get formalParameters => _firstFragment - .formalParameters - .map((fragment) => fragment.element) - .toList(); - @override List get fragments { return _fragments; @@ -3967,10 +3937,6 @@ class FormalParameterElementImpl extends PromotableElementImpl return false; } - @Deprecated('Use element is FieldFormalParameterElement instead') - @override - bool get isInitializingFormal => this is FieldFormalParameterElement; - @override bool get isNamed => _firstFragment.isNamed; @@ -3995,11 +3961,6 @@ class FormalParameterElementImpl extends PromotableElementImpl @override bool get isRequiredPositional => _firstFragment.isRequiredPositional; - @Deprecated('Use element is SuperFormalParameterElement instead') - @override - // TODO(augmentations): Implement the merge of formal parameters. - bool get isSuperFormal => this is SuperFormalParameterElement; - @override ElementKind get kind => ElementKind.PARAMETER; @@ -4020,16 +3981,6 @@ class FormalParameterElementImpl extends PromotableElementImpl } @Deprecated('Use the function type of this parameter instead') - @override - // TODO(augmentations): Implement the merge of formal parameters. - List get typeParameters { - var typeParameters = _firstFragment.typeParameters; - return List.generate( - typeParameters.length, - (index) => typeParameters[index].element, - ); - } - @override TypeImpl get typeShared => type; @@ -4083,16 +4034,6 @@ class FormalParameterFragmentImpl extends VariableFragmentImpl @override int? nameOffset; - /// A list containing all of the parameters defined by this parameter element. - /// There will only be parameters if this parameter is a function typed - /// parameter. - List _formalParameters = const []; - - /// A list containing all of the type parameters defined for this parameter - /// element. There will only be parameters if this parameter is a function - /// typed parameter. - List _typeParameters = const []; - /// The kind of a parameter. A parameter can be either positional or named, and /// can be either required or optional. /// @@ -4167,23 +4108,6 @@ class FormalParameterFragmentImpl extends VariableFragmentImpl ]; } - /// The parameters defined by this parameter. - /// - /// A parameter will only define other parameters if it is a function typed - /// parameter. - List get formalParameters { - return _formalParameters; - } - - /// Set the parameters defined by this executable element to the given - /// [value]. - set formalParameters(List value) { - for (var formalParameter in value) { - formalParameter.enclosingFragment = this; - } - _formalParameters = value; - } - /// Whether the field was explicitly marked as being covariant. @generated bool get isExplicitlyCovariant { @@ -4200,10 +4124,6 @@ class FormalParameterFragmentImpl extends VariableFragmentImpl ); } - /// Whether the parameter is an initializing formal parameter. - @Deprecated('Use fragment is FieldFormalParameterFragment instead') - bool get isInitializingFormal => false; - /// Whether the parameter is a named parameter. /// /// Named parameters that are annotated with the `@required` annotation are @@ -4302,10 +4222,6 @@ class FormalParameterFragmentImpl extends VariableFragmentImpl /// Whether the parameter is both a required and positional parameter. bool get isRequiredPositional => parameterKind.isRequiredPositional; - /// Whether the parameter is a super formal parameter. - @Deprecated('Use fragment is SuperFormalParameterFragment instead') - bool get isSuperFormal => false; - @override LibraryFragmentImpl? get libraryFragment { return enclosingFragment?.libraryFragment; @@ -4323,23 +4239,6 @@ class FormalParameterFragmentImpl extends VariableFragmentImpl ]; } - /// The type parameters defined by this parameter. - /// - /// A parameter will only define type parameters if it is a function typed - /// parameter. - List get typeParameters { - return _typeParameters; - } - - /// Set the type parameters defined by this parameter element to the given - /// [typeParameters]. - set typeParameters(List typeParameters) { - for (var parameter in typeParameters) { - parameter.enclosingFragment = this; - } - _typeParameters = typeParameters; - } - void addFragment(FormalParameterFragmentImpl fragment) { fragment.previousFragment = this; nextFragment = fragment; @@ -6362,9 +6261,6 @@ mixin InternalFormalParameterElement on InternalVariableElement TypeImpl get type; @Deprecated('Use the function type of this parameter instead') - @override - List get typeParameters; - @override void appendToWithoutDelimiters(StringBuffer buffer) { buffer.write(type.getDisplayString()); @@ -10640,10 +10536,6 @@ class SuperFormalParameterElementImpl extends FormalParameterElementImpl @override bool get isFinal => true; - @Deprecated('Use element is SuperFormalParameterElement instead') - @override - bool get isSuperFormal => true; - @override InternalFormalParameterElement? get superConstructorParameter { var enclosingElement = this.enclosingElement; @@ -10736,10 +10628,6 @@ class SuperFormalParameterFragmentImpl extends FormalParameterFragmentImpl /// and introduce final variables. @override bool get isFinal => true; - - @Deprecated('Use fragment is SuperFormalParameterFragment instead') - @override - bool get isSuperFormal => true; } @elementClass diff --git a/pkg/analyzer/lib/src/dart/element/member.dart b/pkg/analyzer/lib/src/dart/element/member.dart index bf4262cdfe8..832f7587bde 100644 --- a/pkg/analyzer/lib/src/dart/element/member.dart +++ b/pkg/analyzer/lib/src/dart/element/member.dart @@ -460,27 +460,10 @@ class SubstitutedFieldElementImpl extends SubstitutedVariableElementImpl class SubstitutedFieldFormalParameterElementImpl extends SubstitutedFormalParameterElementImpl with InternalFieldFormalParameterElement { - factory SubstitutedFieldFormalParameterElementImpl({ - required FieldFormalParameterElementImpl baseElement, - required MapSubstitution substitution, - }) { - var freshTypeParameters = _SubstitutedTypeParameters( - // ignore: deprecated_member_use_from_same_package - baseElement.typeParameters, - substitution, - ); - return SubstitutedFieldFormalParameterElementImpl._( - baseElement: baseElement, - substitution: freshTypeParameters.substitution, - typeParameters: freshTypeParameters.elements, - ); - } - - SubstitutedFieldFormalParameterElementImpl._({ + SubstitutedFieldFormalParameterElementImpl({ required FieldFormalParameterElementImpl super.baseElement, required super.substitution, - required super.typeParameters, - }) : super._(); + }); @override FieldFormalParameterElementImpl get baseElement => @@ -520,39 +503,9 @@ class SubstitutedFieldFormalParameterElementImpl class SubstitutedFormalParameterElementImpl extends SubstitutedVariableElementImpl with InternalFormalParameterElement { - @Deprecated('Use the function type of this parameter instead') - @override - final List typeParameters; - - factory SubstitutedFormalParameterElementImpl({ - required FormalParameterElementImpl baseElement, - required MapSubstitution substitution, - }) { - // ignore: deprecated_member_use_from_same_package - var typeParameters = baseElement.typeParameters; - if (typeParameters.isEmpty) { - // Happens often. Avoid doing unneeded allocation. - return SubstitutedFormalParameterElementImpl._( - baseElement: baseElement, - substitution: substitution, - typeParameters: const [], - ); - } - var freshTypeParameters = _SubstitutedTypeParameters( - typeParameters, - substitution, - ); - return SubstitutedFormalParameterElementImpl._( - baseElement: baseElement, - substitution: freshTypeParameters.substitution, - typeParameters: freshTypeParameters.elements, - ); - } - - SubstitutedFormalParameterElementImpl._({ + SubstitutedFormalParameterElementImpl({ required FormalParameterElementImpl super.baseElement, required super.substitution, - required this.typeParameters, }); @override @@ -560,10 +513,7 @@ class SubstitutedFormalParameterElementImpl super.baseElement as FormalParameterElementImpl; @override - List get children { - // ignore: deprecated_member_use_from_same_package - return [...typeParameters, ...formalParameters]; - } + List get children => []; @override String? get defaultValueCode => baseElement.defaultValueCode; @@ -578,10 +528,6 @@ class SubstitutedFormalParameterElementImpl FormalParameterFragmentImpl get firstFragment => baseElement.firstFragment; @Deprecated('Use the function type of this parameter instead') - @override - List get formalParameters => - baseElement.formalParameters; - @override List get fragments { return baseElement.fragments; @@ -593,10 +539,6 @@ class SubstitutedFormalParameterElementImpl @override bool get isCovariant => baseElement.isCovariant; - @Deprecated('Use element is FieldFormalParameterElement instead') - @override - bool get isInitializingFormal => baseElement.isInitializingFormal; - @override bool get isNamed => baseElement.isNamed; @@ -621,10 +563,6 @@ class SubstitutedFormalParameterElementImpl @override bool get isRequiredPositional => baseElement.isRequiredPositional; - @Deprecated('Use element is SuperFormalParameterElement instead') - @override - bool get isSuperFormal => baseElement.isSuperFormal; - @override LibraryElement? get library => baseElement.library; @@ -904,27 +842,10 @@ class SubstitutedSetterElementImpl class SubstitutedSuperFormalParameterElementImpl extends SubstitutedFormalParameterElementImpl with InternalSuperFormalParameterElement { - factory SubstitutedSuperFormalParameterElementImpl({ - required SuperFormalParameterElementImpl baseElement, - required MapSubstitution substitution, - }) { - var freshTypeParameters = _SubstitutedTypeParameters( - // ignore: deprecated_member_use_from_same_package - baseElement.typeParameters, - substitution, - ); - return SubstitutedSuperFormalParameterElementImpl._( - baseElement: baseElement, - substitution: freshTypeParameters.substitution, - typeParameters: freshTypeParameters.elements, - ); - } - - SubstitutedSuperFormalParameterElementImpl._({ + SubstitutedSuperFormalParameterElementImpl({ required SuperFormalParameterElementImpl super.baseElement, required super.substitution, - required super.typeParameters, - }) : super._(); + }); @override SuperFormalParameterElementImpl get baseElement => diff --git a/pkg/analyzer/lib/src/dart/resolver/element_binding_visitor.dart b/pkg/analyzer/lib/src/dart/resolver/element_binding_visitor.dart index 767a2307826..403aa65200f 100644 --- a/pkg/analyzer/lib/src/dart/resolver/element_binding_visitor.dart +++ b/pkg/analyzer/lib/src/dart/resolver/element_binding_visitor.dart @@ -801,19 +801,18 @@ class ElementBindingVisitor extends RecursiveAstVisitor { if (functionTypedSuffix != null) { var holder = ElementHolder(fragment); _withElementHolder(holder, () { - _withElementWalker( - _elementWalker != null ? ElementWalker.forParameter(fragment) : null, - () { - node.documentationComment?.accept(this); - node.type?.accept(this); - functionTypedSuffix.typeParameters?.accept(this); - functionTypedSuffix.formalParameters.accept(this); - }, - ); + _withElementWalker(null, () { + node.documentationComment?.accept(this); + node.type?.accept(this); + functionTypedSuffix.typeParameters?.accept(this); + functionTypedSuffix.formalParameters.accept(this); + }); }); - if (_elementWalker == null) { - fragment.typeParameters = holder.typeParameters; - fragment.formalParameters = holder.formalParameters; + for (var typeParameter in holder.typeParameters) { + TypeParameterElementImpl(firstFragment: typeParameter); + } + for (var formalParameter in holder.formalParameters) { + formalParameter.initElement(); } } else { node.documentationComment?.accept(this); @@ -885,10 +884,12 @@ class ElementHolder { } void addParameter(FormalParameterFragmentImpl fragment) { + fragment.enclosingFragment = _fragment; _formalParameters.add(fragment); } void addTypeParameter(TypeParameterFragmentImpl fragment) { + fragment.enclosingFragment = _fragment; _typeParameters.add(fragment); } diff --git a/pkg/analyzer/lib/src/dart/resolver/resolution_visitor.dart b/pkg/analyzer/lib/src/dart/resolver/resolution_visitor.dart index 1677c5a69fe..48842dd224b 100644 --- a/pkg/analyzer/lib/src/dart/resolver/resolution_visitor.dart +++ b/pkg/analyzer/lib/src/dart/resolver/resolution_visitor.dart @@ -790,15 +790,22 @@ class ResolutionVisitor extends RecursiveAstVisitor { @override void visitRegularFormalParameter(covariant RegularFormalParameterImpl node) { + var element = node.declaredFragment!.element; + if (node.functionTypedSuffix case var functionTypedSuffix?) { _scopeContext.visitFormalParameter(node, visitor: this); - var element = node.declaredFragment!.element; element.type = FunctionTypeImpl( - // ignore: deprecated_member_use_from_same_package - typeParameters: element.typeParameters, - // ignore: deprecated_member_use_from_same_package - formalParameters: element.formalParameters, + typeParameters: [ + for (var typeParameter + in functionTypedSuffix.typeParameters?.typeParameters ?? + const []) + typeParameter.declaredFragment!.element, + ], + formalParameters: [ + for (var parameter in functionTypedSuffix.formalParameters.parameters) + parameter.declaredFragment!.element, + ], returnType: node.type?.type ?? _typeProvider.dynamicType, nullabilitySuffix: _getNullability( functionTypedSuffix.question != null, @@ -809,7 +816,6 @@ class ResolutionVisitor extends RecursiveAstVisitor { node.visitChildren(this); - var element = node.declaredFragment!.element; if (node.type case var type?) { element.type = type.type ?? _typeProvider.dynamicType; } else if (element.type is InvalidTypeImpl) { diff --git a/pkg/analyzer/lib/src/dart/resolver/scope_context.dart b/pkg/analyzer/lib/src/dart/resolver/scope_context.dart index c2ebbccf816..1578a1ddfbe 100644 --- a/pkg/analyzer/lib/src/dart/resolver/scope_context.dart +++ b/pkg/analyzer/lib/src/dart/resolver/scope_context.dart @@ -247,9 +247,7 @@ class ScopeContext { if (functionTypedSuffix == null) { node.type?.accept(visitor); } else { - var element = node.declaredFragment!.element; - // ignore: deprecated_member_use_from_same_package - withTypeParameterScope(element.typeParameters, () { + withTypeParameterList(functionTypedSuffix.typeParameters, () { node.type?.accept(visitor); functionTypedSuffix.typeParameters?.accept(visitor); functionTypedSuffix.formalParameters.accept(visitor); diff --git a/pkg/analyzer/lib/src/generated/element_walker.dart b/pkg/analyzer/lib/src/generated/element_walker.dart index 7a962f918a1..ec8fa4cc2cb 100644 --- a/pkg/analyzer/lib/src/generated/element_walker.dart +++ b/pkg/analyzer/lib/src/generated/element_walker.dart @@ -123,12 +123,6 @@ class ElementWalker { _typeParameters = fragment.typeParameters, _variables = fragment.fields.where((f) => f.isOriginDeclaration).toList(); - /// Creates an [ElementWalker] which walks the child elements of a parameter - /// element. - ElementWalker.forParameter(FormalParameterFragmentImpl this.fragment) - : _parameters = fragment.formalParameters, - _typeParameters = fragment.typeParameters; - /// Creates an [ElementWalker] which walks the child elements of a typedef /// element. ElementWalker.forTypedef(TypeAliasFragmentImpl this.fragment) diff --git a/pkg/analyzer/lib/src/summary2/ast_binary_reader.dart b/pkg/analyzer/lib/src/summary2/ast_binary_reader.dart index ceb0be0fb26..9e8c20a90cd 100644 --- a/pkg/analyzer/lib/src/summary2/ast_binary_reader.dart +++ b/pkg/analyzer/lib/src/summary2/ast_binary_reader.dart @@ -37,16 +37,9 @@ class AstBinaryReader { ) { fragment.constantInitializer = node.defaultClause?.value; if (node.functionTypedSuffix case var functionTypedSuffix?) { - fragment.formalParameters = functionTypedSuffix - .formalParameters - .parameters - .map((parameter) => parameter.declaredFragment!) - .toList(); - fragment.typeParameters = - functionTypedSuffix.typeParameters?.typeParameters - .map((parameter) => parameter.declaredFragment!) - .toList() ?? - const []; + for (var parameter in functionTypedSuffix.formalParameters.parameters) { + parameter.declaredFragment!.initElement(); + } } node.declaredFragment = fragment; } @@ -471,13 +464,16 @@ class AstBinaryReader { ); } - void _readFormalParameterListResolution( - List fragments, - ) { - for (var fragment in fragments) { + void _readFormalParameterListResolution(FormalParameterListImpl node) { + for (var parameter in node.parameters) { + var fragment = parameter.declaredFragment!; assert(fragment.nextFragment == null); fragment.element.type = _reader.readRequiredType(); - _readFormalParameterListResolution(fragment.formalParameters); + if (parameter.functionTypedSuffix case var functionTypedSuffix?) { + _readFormalParameterListResolution( + functionTypedSuffix.formalParameters, + ); + } } } @@ -565,7 +561,7 @@ class AstBinaryReader { var element = GenericFunctionTypeElementImpl(fragment); element.returnType = type.returnType; element.type = type; - _readFormalParameterListResolution(fragment.formalParameters); + _readFormalParameterListResolution(formalParameters); return node; } diff --git a/pkg/analyzer/lib/src/summary2/bundle_reader.dart b/pkg/analyzer/lib/src/summary2/bundle_reader.dart index 224509b1daa..1d067250dc3 100644 --- a/pkg/analyzer/lib/src/summary2/bundle_reader.dart +++ b/pkg/analyzer/lib/src/summary2/bundle_reader.dart @@ -736,14 +736,14 @@ class LibraryReader { return _reader.readTypedList(() { var id = _readFragmentId(); var fragmentName = _readFragmentName(); - var isInitializingFormal = _reader.readBool(); - var isSuperFormal = _reader.readBool(); + var isFieldFormalParameter = _reader.readBool(); + var isSuperParameter = _reader.readBool(); var kindIndex = _reader.readByte(); var kind = ResolutionReader._formalParameterKind(kindIndex); FormalParameterFragmentImpl fragment; - if (isInitializingFormal) { + if (isFieldFormalParameter) { var privateName = _reader.readOptionalStringReference(); fragment = FieldFormalParameterFragmentImpl( name: fragmentName, @@ -751,7 +751,7 @@ class LibraryReader { parameterKind: kind, privateName: privateName, ); - } else if (isSuperFormal) { + } else if (isSuperParameter) { fragment = SuperFormalParameterFragmentImpl( name: fragmentName, nameOffset: null, @@ -766,8 +766,6 @@ class LibraryReader { } idFragmentMap[id] = fragment; fragment.readFlags(_reader); - fragment.typeParameters = _readTypeParameterFragments(); - fragment.formalParameters = _readFormalParameterFragments(); return fragment; }); } @@ -783,18 +781,6 @@ class LibraryReader { for (var fragment in fragments) { var element = fragment.element; fragment.metadata = reader._readMetadata(); - _readTypeParameterFragmentsResolution( - libraryFragment, - reader, - fragment.typeParameters, - ); - // ignore: deprecated_member_use_from_same_package - _readTypeParameterElementResolutions(reader, element.typeParameters); - _readFormalParameterFragmentsResolution( - libraryFragment, - reader, - fragment.formalParameters, - ); element.inheritsCovariant = reader.readBool(); var type = reader.readType() ?? InvalidTypeImpl.instance; element.type = type; diff --git a/pkg/analyzer/lib/src/summary2/bundle_writer.dart b/pkg/analyzer/lib/src/summary2/bundle_writer.dart index 02b3d53d944..a85b8db11fb 100644 --- a/pkg/analyzer/lib/src/summary2/bundle_writer.dart +++ b/pkg/analyzer/lib/src/summary2/bundle_writer.dart @@ -493,24 +493,17 @@ class BundleWriter { _resolutionSink._writeMetadata(fragment.metadata); - // ignore: deprecated_member_use_from_same_package - _resolutionSink.withTypeParameters(fragment.element.typeParameters, () { - _sink.writeList(fragment.typeParameters, _writeTypeParameterFragment); - // ignore: deprecated_member_use_from_same_package - _writeTypeParameterElementResolutions(fragment.element.typeParameters); - _sink.writeList(fragment.formalParameters, _writeFormalParameterFragment); - _resolutionSink.writeBool(fragment.element.inheritsCovariant); - _resolutionSink.writeType(fragment.element.type); - _resolutionSink._writeOptionalNode(fragment.constantInitializer); + var element = fragment.element; - if (fragment is FieldFormalParameterFragmentImpl) { - // TODO(scheglov): formal parameter types? Anything else? - var element = fragment.element; - _resolutionSink.writeElement( - element is FieldFormalParameterElementImpl ? element.field : null, - ); - } - }); + _resolutionSink.writeBool(element.inheritsCovariant); + _resolutionSink.writeType(element.type); + _resolutionSink._writeOptionalNode(fragment.constantInitializer); + + if (fragment is FieldFormalParameterFragmentImpl) { + _resolutionSink.writeElement( + element is FieldFormalParameterElementImpl ? element.field : null, + ); + } } void _writeFragmentId(FragmentImpl fragment) { diff --git a/pkg/analyzer/lib/src/summary2/element_builder.dart b/pkg/analyzer/lib/src/summary2/element_builder.dart index eea3a6a6a11..7b31aff14fa 100644 --- a/pkg/analyzer/lib/src/summary2/element_builder.dart +++ b/pkg/analyzer/lib/src/summary2/element_builder.dart @@ -1747,20 +1747,7 @@ class FragmentBuilder extends ThrowingAstVisitor { node.declaredFragment = fragment; // TODO(scheglov): check that we don't set reference for parameters - var holder = _EnclosingContext(fragment: fragment); - _withEnclosing(holder, () { - var formalParameters = node.functionTypedSuffix?.formalParameters; - if (formalParameters != null) { - formalParameters.accept(this); - fragment.formalParameters = holder.formalParameters; - } - - var typeParameters = node.functionTypedSuffix?.typeParameters; - if (typeParameters != null) { - typeParameters.accept(this); - fragment.typeParameters = holder.typeParameters; - } - }); + _buildFunctionTypedParameterSuffix(fragment, node.functionTypedSuffix); node.type?.accept(this); } @@ -2191,20 +2178,7 @@ class FragmentBuilder extends ThrowingAstVisitor { node.declaredFragment = fragment; - if (node.functionTypedSuffix case var functionTypedSuffix?) { - var holder = _EnclosingContext(fragment: fragment); - _withEnclosing(holder, () { - var formalParameters = functionTypedSuffix.formalParameters; - formalParameters.accept(this); - fragment.formalParameters = holder.formalParameters; - - var typeParameters = functionTypedSuffix.typeParameters; - if (typeParameters != null) { - typeParameters.accept(this); - fragment.typeParameters = holder.typeParameters; - } - }); - } + _buildFunctionTypedParameterSuffix(fragment, node.functionTypedSuffix); node.type?.accept(this); } @@ -2231,20 +2205,7 @@ class FragmentBuilder extends ThrowingAstVisitor { node.declaredFragment = fragment; // TODO(scheglov): check that we don't set reference for parameters - var holder = _EnclosingContext(fragment: fragment); - _withEnclosing(holder, () { - var formalParameters = node.functionTypedSuffix?.formalParameters; - if (formalParameters != null) { - formalParameters.accept(this); - fragment.formalParameters = holder.formalParameters; - } - - var typeParameters = node.functionTypedSuffix?.typeParameters; - if (typeParameters != null) { - typeParameters.accept(this); - fragment.typeParameters = holder.typeParameters; - } - }); + _buildFunctionTypedParameterSuffix(fragment, node.functionTypedSuffix); node.type?.accept(this); } @@ -2338,6 +2299,28 @@ class FragmentBuilder extends ThrowingAstVisitor { }); } + void _buildFunctionTypedParameterSuffix( + FormalParameterFragmentImpl fragment, + FunctionTypedFormalParameterSuffix? suffix, + ) { + if (suffix == null) { + return; + } + + var holder = _EnclosingContext(fragment: fragment); + _withEnclosing(holder, () { + suffix.typeParameters?.accept(this); + suffix.formalParameters.accept(this); + }); + + for (var typeParameter in holder.typeParameters) { + TypeParameterElementImpl(firstFragment: typeParameter); + } + for (var formalParameter in holder.formalParameters) { + formalParameter.initElement(); + } + } + MetadataImpl _buildMetadata(List nodeList) { var length = nodeList.length; if (length == 0) return MetadataImpl(const []); @@ -2377,10 +2360,12 @@ class _EnclosingContext { _EnclosingContext({required this.fragment}); void addParameter(FormalParameterFragmentImpl fragment) { + fragment.enclosingFragment = this.fragment; formalParameters.add(fragment); } void addTypeParameter(TypeParameterFragmentImpl fragment) { + fragment.enclosingFragment = this.fragment; typeParameters.add(fragment); } } diff --git a/pkg/analyzer/lib/src/summary2/informative_data.dart b/pkg/analyzer/lib/src/summary2/informative_data.dart index 5582b0fb556..945c979c0d5 100644 --- a/pkg/analyzer/lib/src/summary2/informative_data.dart +++ b/pkg/analyzer/lib/src/summary2/informative_data.dart @@ -396,8 +396,6 @@ class InformativeDataApplier { fragment.firstTokenOffset = info.firstTokenOffset; fragment.nameOffset = info.nameOffset; fragment.documentationComment = info.documentationComment; - _applyToTypeParameters(fragment.typeParameters, info.typeParameters); - _applyToFormalParameters(fragment.formalParameters, info.parameters); }, ); } @@ -1765,7 +1763,6 @@ class _OffsetsApplier extends _OffsetsAstVisitor { ) { for (var formalParameters in formalParameters) { applyToMetadata(formalParameters.metadata); - applyToFormalParameters(formalParameters.formalParameters); applyToConstantInitializer(formalParameters); } } diff --git a/pkg/analyzer/lib/utilities/package_config_file_builder.dart b/pkg/analyzer/lib/utilities/package_config_file_builder.dart deleted file mode 100644 index 9ace4f0e59e..00000000000 --- a/pkg/analyzer/lib/utilities/package_config_file_builder.dart +++ /dev/null @@ -1,112 +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. - -@Deprecated('Use package:analyzer_testing/package_config_file_builder.dart.') -library; - -import 'package:path/path.dart' as path; - -/// Helper for building `.dart_tool/package_config.json` files. -/// -/// See accepted/future-releases/language-versioning/package-config-file-v2.md -/// in https://github.com/dart-lang/language/. -/// -/// Use the [add] method to add package configurations. These configurations -/// will accumulate into one package config file with the [toContent] method. -@Deprecated('Use PackageConfigFileBuilder from analyzer_testing') -class PackageConfigFileBuilder { - final List<_PackageDescription> _packages = []; - - /// The [rootPath] will be given to `toUriStr` of [toContent] to produce - /// the corresponding `file://` URI, normally a POSIX path. - /// - /// The [packageUri] is optional (defaults to `'lib/'`), a relative path - /// resolved against the file URI of the [rootPath]. The result must be inside - /// the [rootPath]. - /// - /// The [languageVersion] specifies the package's Dart language version, in - /// the form of 'X.Y', such as '3.9'. - void add({ - required String name, - required String rootPath, - String packageUri = 'lib/', - String? languageVersion, - }) { - if (_packages.any((e) => e.name == name)) { - throw StateError('Already added: $name'); - } - _packages.add( - _PackageDescription( - name: name, - rootPath: rootPath, - packageUri: packageUri, - languageVersion: languageVersion, - ), - ); - } - - /// Copies this [PackageConfigFileBuilder] into a new instance. - PackageConfigFileBuilder copy() { - var copy = PackageConfigFileBuilder(); - copy._packages.addAll(_packages); - return copy; - } - - /// Returns the contents of the built package config file. - String toContent({required path.Context pathContext}) { - var buffer = StringBuffer(); - - buffer.writeln('{'); - - var prefix = ' ' * 2; - buffer.writeln('$prefix"configVersion": 2,'); - buffer.writeln('$prefix"packages": ['); - - for (var i = 0; i < _packages.length; i++) { - var package = _packages[i]; - - var prefix = ' ' * 4; - buffer.writeln('$prefix{'); - - prefix = ' ' * 6; - buffer.writeln('$prefix"name": "${package.name}",'); - - var rootUri = pathContext.toUri(package.rootPath).toString(); - buffer.write('$prefix"rootUri": "$rootUri"'); - - buffer.writeln(','); - buffer.write('$prefix"packageUri": "${package.packageUri}"'); - - if (package.languageVersion != null) { - buffer.writeln(','); - buffer.write('$prefix"languageVersion": "${package.languageVersion}"'); - } - - buffer.writeln(); - - prefix = ' ' * 4; - buffer.write(prefix); - buffer.writeln(i < _packages.length - 1 ? '},' : '}'); - } - - buffer.writeln(' ]'); - buffer.writeln('}'); - - return buffer.toString(); - } -} - -class _PackageDescription { - final String name; - final String rootPath; - final String packageUri; - final String? languageVersion; - - _PackageDescription({ - required this.name, - required this.rootPath, - required this.packageUri, - required this.languageVersion, - }); -} diff --git a/pkg/analyzer/pubspec.yaml b/pkg/analyzer/pubspec.yaml index 23208d229f0..2b96fbf511d 100644 --- a/pkg/analyzer/pubspec.yaml +++ b/pkg/analyzer/pubspec.yaml @@ -1,5 +1,5 @@ name: analyzer -version: 13.3.0 +version: 14.0.0-dev description: >- This package provides a library that performs static analysis of Dart code. repository: https://github.com/dart-lang/sdk/tree/main/pkg/analyzer diff --git a/pkg/analyzer/test/src/summary/element_text.dart b/pkg/analyzer/test/src/summary/element_text.dart index 54eb82788f1..41b571c81ae 100644 --- a/pkg/analyzer/test/src/summary/element_text.dart +++ b/pkg/analyzer/test/src/summary/element_text.dart @@ -675,20 +675,6 @@ class _Element2Writer extends _AbstractElementWriter { _writeDocumentation(e.documentationComment); _writeMetadata(e.metadata); _writeSinceSdkVersion(e); - _writeElementList( - 'typeParameters', - e, - // ignore: deprecated_member_use_from_same_package - e.typeParameters, - _writeTypeParameterElement, - ); - _writeElementList( - 'formalParameters', - e, - // ignore: deprecated_member_use_from_same_package - e.formalParameters, - _writeFormalParameterElement, - ); _writeVariableElementConstantInitializer(e); switch (e) { @@ -737,18 +723,6 @@ class _Element2Writer extends _AbstractElementWriter { _writeDocumentation(f.documentationComment); _writeMetadata(f.metadata); // _writeCodeRange(f); - _writeFragmentList( - 'typeParameters', - f, - f.typeParameters, - _writeTypeParameterFragment, - ); - _writeFragmentList( - 'parameters', - f, - f.formalParameters, - _writeFormalParameterFragment, - ); _writeVariableFragmentInitializer(f); _writeFragmentReference('previousFragment', f.previousFragment); _writeFragmentReference('nextFragment', f.nextFragment); diff --git a/pkg/analyzer/test/src/summary/elements/class_test.dart b/pkg/analyzer/test/src/summary/elements/class_test.dart index 6782cd0a89e..9b188e35505 100644 --- a/pkg/analyzer/test/src/summary/elements/class_test.dart +++ b/pkg/analyzer/test/src/summary/elements/class_test.dart @@ -16221,9 +16221,6 @@ library formalParameters #F5 requiredPositional isOriginDeclaration p1 (nameOffset:87) (firstTokenOffset:82) (offset:87) element: ::@class::A::@constructor::named::@formalParameter::p1 - parameters - #F7 requiredPositional isOriginDeclaration a (nameOffset:94) (firstTokenOffset:90) (offset:94) - element: a@94 previousFragment: #F4 previousFragment: #F3 classes @@ -17375,11 +17372,8 @@ library formalParameters #F6 requiredPositional isOriginDeclaration p1 (nameOffset:50) (firstTokenOffset:45) (offset:50) element: ::@class::A::@constructor::new::@formalParameter::p1 - parameters - #F7 requiredPositional isOriginDeclaration a (nameOffset:57) (firstTokenOffset:53) (offset:57) - element: a@57 - nextFragment: #F8 - nextFragment: #F9 + nextFragment: #F7 + nextFragment: #F8 getters #F4 isComplete isOriginVariable p1 (nameOffset:) (firstTokenOffset:) (offset:37) element: ::@class::A::@getter::p1 @@ -17388,16 +17382,13 @@ library element: ::@class::A previousFragment: #F1 constructors - #F9 isAugmentation isComplete isOriginDeclaration new (nameOffset:) (firstTokenOffset:84) (offset:92) + #F8 isAugmentation isComplete isOriginDeclaration new (nameOffset:) (firstTokenOffset:84) (offset:92) element: ::@class::A::@constructor::new typeName: A typeNameOffset: 92 formalParameters - #F8 requiredPositional isFinal isOriginDeclaration this.p1 (nameOffset:104) (firstTokenOffset:94) (offset:104) + #F7 requiredPositional isFinal isOriginDeclaration this.p1 (nameOffset:104) (firstTokenOffset:94) (offset:104) element: ::@class::A::@constructor::new::@formalParameter::p1 - parameters - #F10 requiredPositional isOriginDeclaration a (nameOffset:111) (firstTokenOffset:107) (offset:111) - element: a@111 previousFragment: #F6 previousFragment: #F5 classes @@ -17418,10 +17409,6 @@ library #E0 requiredPositional isFinal this.p1 firstFragment: #F6 type: void Function(int) - formalParameters - #E1 requiredPositional a - firstFragment: #F7 - type: int field: ::@class::A::@field::p1 getters isOriginVariable p1 @@ -17461,22 +17448,19 @@ library formalParameters #F4 requiredPositional isOriginDeclaration p1 (nameOffset:25) (firstTokenOffset:20) (offset:25) element: ::@class::A::@constructor::named::@formalParameter::p1 - parameters - #F5 requiredPositional isOriginDeclaration a (nameOffset:32) (firstTokenOffset:28) (offset:32) - element: a@32 - nextFragment: #F6 - nextFragment: #F7 + nextFragment: #F5 + nextFragment: #F6 #F2 isAugmentation class A (nameOffset:53) (firstTokenOffset:39) (offset:53) element: ::@class::A previousFragment: #F1 constructors - #F7 isAugmentation isOriginDeclaration named (nameOffset:69) (firstTokenOffset:59) (offset:69) + #F6 isAugmentation isOriginDeclaration named (nameOffset:69) (firstTokenOffset:59) (offset:69) element: ::@class::A::@constructor::named typeName: A typeNameOffset: 67 periodOffset: 68 formalParameters - #F6 requiredPositional isOriginDeclaration p1 (nameOffset:94) (firstTokenOffset:75) (offset:94) + #F5 requiredPositional isOriginDeclaration p1 (nameOffset:94) (firstTokenOffset:75) (offset:94) element: ::@class::A::@constructor::named::@formalParameter::p1 previousFragment: #F4 previousFragment: #F3 @@ -17492,10 +17476,6 @@ library #E0 requiredPositional p1 firstFragment: #F4 type: void Function(int) - formalParameters - #E1 requiredPositional a - firstFragment: #F5 - type: int '''); } @@ -17528,26 +17508,20 @@ library formalParameters #F4 requiredPositional isOriginDeclaration p1 (nameOffset:25) (firstTokenOffset:20) (offset:25) element: ::@class::A::@constructor::named::@formalParameter::p1 - parameters - #F5 requiredPositional isOriginDeclaration a (nameOffset:32) (firstTokenOffset:28) (offset:32) - element: a@32 - nextFragment: #F6 - nextFragment: #F7 + nextFragment: #F5 + nextFragment: #F6 #F2 isAugmentation class A (nameOffset:53) (firstTokenOffset:39) (offset:53) element: ::@class::A previousFragment: #F1 constructors - #F7 isAugmentation isOriginDeclaration named (nameOffset:69) (firstTokenOffset:59) (offset:69) + #F6 isAugmentation isOriginDeclaration named (nameOffset:69) (firstTokenOffset:59) (offset:69) element: ::@class::A::@constructor::named typeName: A typeNameOffset: 67 periodOffset: 68 formalParameters - #F6 requiredPositional isOriginDeclaration p1 (nameOffset:80) (firstTokenOffset:75) (offset:80) + #F5 requiredPositional isOriginDeclaration p1 (nameOffset:80) (firstTokenOffset:75) (offset:80) element: ::@class::A::@constructor::named::@formalParameter::p1 - parameters - #F8 requiredPositional isOriginDeclaration a (nameOffset:87) (firstTokenOffset:83) (offset:87) - element: a@87 previousFragment: #F4 previousFragment: #F3 classes @@ -17562,10 +17536,6 @@ library #E0 requiredPositional p1 firstFragment: #F4 type: void Function(int) - formalParameters - #E1 requiredPositional a - firstFragment: #F5 - type: int '''); } @@ -17598,26 +17568,20 @@ library formalParameters #F4 requiredPositional isOriginDeclaration p1 (nameOffset:25) (firstTokenOffset:20) (offset:25) element: ::@class::A::@constructor::named::@formalParameter::p1 - parameters - #F5 requiredPositional isOriginDeclaration a (nameOffset:32) (firstTokenOffset:28) (offset:32) - element: a@32 - nextFragment: #F6 - nextFragment: #F7 + nextFragment: #F5 + nextFragment: #F6 #F2 isAugmentation class A (nameOffset:53) (firstTokenOffset:39) (offset:53) element: ::@class::A previousFragment: #F1 constructors - #F7 isAugmentation isOriginDeclaration named (nameOffset:69) (firstTokenOffset:59) (offset:69) + #F6 isAugmentation isOriginDeclaration named (nameOffset:69) (firstTokenOffset:59) (offset:69) element: ::@class::A::@constructor::named typeName: A typeNameOffset: 67 periodOffset: 68 formalParameters - #F6 requiredPositional isOriginDeclaration p1 (nameOffset:80) (firstTokenOffset:75) (offset:80) + #F5 requiredPositional isOriginDeclaration p1 (nameOffset:80) (firstTokenOffset:75) (offset:80) element: ::@class::A::@constructor::named::@formalParameter::p1 - parameters - #F8 requiredPositional isOriginDeclaration a (nameOffset:90) (firstTokenOffset:83) (offset:90) - element: a@90 previousFragment: #F4 previousFragment: #F3 classes @@ -17632,10 +17596,6 @@ library #E0 requiredPositional p1 firstFragment: #F4 type: void Function(int) - formalParameters - #E1 requiredPositional a - firstFragment: #F5 - type: int '''); } @@ -17669,41 +17629,32 @@ library formalParameters #F3 requiredPositional isOriginDeclaration p1 (nameOffset:19) (firstTokenOffset:14) (offset:19) element: ::@class::A::@constructor::new::@formalParameter::p1 - parameters - #F4 requiredPositional isOriginDeclaration a (nameOffset:26) (firstTokenOffset:22) (offset:26) - element: a@26 - #F5 hasExtendsClause class B (nameOffset:39) (firstTokenOffset:33) (offset:39) + #F4 hasExtendsClause class B (nameOffset:39) (firstTokenOffset:33) (offset:39) element: ::@class::B - nextFragment: #F6 + nextFragment: #F5 constructors - #F7 isOriginDeclaration new (nameOffset:) (firstTokenOffset:55) (offset:55) + #F6 isOriginDeclaration new (nameOffset:) (firstTokenOffset:55) (offset:55) element: ::@class::B::@constructor::new typeName: B typeNameOffset: 55 formalParameters - #F8 requiredPositional isOriginDeclaration p1 (nameOffset:62) (firstTokenOffset:57) (offset:62) + #F7 requiredPositional isOriginDeclaration p1 (nameOffset:62) (firstTokenOffset:57) (offset:62) element: ::@class::B::@constructor::new::@formalParameter::p1 - parameters - #F9 requiredPositional isOriginDeclaration a (nameOffset:69) (firstTokenOffset:65) (offset:69) - element: a@69 - nextFragment: #F10 - nextFragment: #F11 - #F6 isAugmentation class B (nameOffset:90) (firstTokenOffset:76) (offset:90) + nextFragment: #F8 + nextFragment: #F9 + #F5 isAugmentation class B (nameOffset:90) (firstTokenOffset:76) (offset:90) element: ::@class::B - previousFragment: #F5 + previousFragment: #F4 constructors - #F11 isAugmentation isComplete isOriginDeclaration new (nameOffset:) (firstTokenOffset:96) (offset:104) + #F9 isAugmentation isComplete isOriginDeclaration new (nameOffset:) (firstTokenOffset:96) (offset:104) element: ::@class::B::@constructor::new typeName: B typeNameOffset: 104 formalParameters - #F10 requiredPositional isFinal isOriginDeclaration super.p1 (nameOffset:117) (firstTokenOffset:106) (offset:117) + #F8 requiredPositional isFinal isOriginDeclaration super.p1 (nameOffset:117) (firstTokenOffset:106) (offset:117) element: ::@class::B::@constructor::new::@formalParameter::p1 - parameters - #F12 requiredPositional isOriginDeclaration a (nameOffset:124) (firstTokenOffset:120) (offset:124) - element: a@124 - previousFragment: #F8 - previousFragment: #F7 + previousFragment: #F7 + previousFragment: #F6 classes isSimplyBounded class A reference: ::@class::A @@ -17716,26 +17667,18 @@ library #E0 requiredPositional p1 firstFragment: #F3 type: void Function(int) - formalParameters - #E1 requiredPositional a - firstFragment: #F4 - type: int isSimplyBounded class B reference: ::@class::B - firstFragment: #F5 + firstFragment: #F4 supertype: A constructors isOriginDeclaration new reference: ::@class::B::@constructor::new - firstFragment: #F7 + firstFragment: #F6 formalParameters - #E2 requiredPositional isFinal super.p1 - firstFragment: #F8 + #E1 requiredPositional isFinal super.p1 + firstFragment: #F7 type: void Function(int) - formalParameters - #E3 requiredPositional a - firstFragment: #F9 - type: int superConstructorParameter: ::@class::A::@constructor::new::@formalParameter::p1 superConstructor: ::@class::A::@constructor::new '''); @@ -17770,32 +17713,20 @@ library formalParameters #F4 requiredPositional isOriginDeclaration p1 (nameOffset:24) (firstTokenOffset:20) (offset:24) element: ::@class::A::@constructor::named::@formalParameter::p1 - typeParameters - #F5 T (nameOffset:27) (firstTokenOffset:27) (offset:27) - element: #E0 T - parameters - #F6 requiredPositional isOriginDeclaration a (nameOffset:32) (firstTokenOffset:30) (offset:32) - element: a@32 - nextFragment: #F7 - nextFragment: #F8 + nextFragment: #F5 + nextFragment: #F6 #F2 isAugmentation class A (nameOffset:53) (firstTokenOffset:39) (offset:53) element: ::@class::A previousFragment: #F1 constructors - #F8 isAugmentation isOriginDeclaration named (nameOffset:69) (firstTokenOffset:59) (offset:69) + #F6 isAugmentation isOriginDeclaration named (nameOffset:69) (firstTokenOffset:59) (offset:69) element: ::@class::A::@constructor::named typeName: A typeNameOffset: 67 periodOffset: 68 formalParameters - #F7 requiredPositional isOriginDeclaration p1 (nameOffset:79) (firstTokenOffset:75) (offset:79) + #F5 requiredPositional isOriginDeclaration p1 (nameOffset:79) (firstTokenOffset:75) (offset:79) element: ::@class::A::@constructor::named::@formalParameter::p1 - typeParameters - #F9 T (nameOffset:82) (firstTokenOffset:82) (offset:82) - element: #E1 T - parameters - #F10 requiredPositional isOriginDeclaration a (nameOffset:87) (firstTokenOffset:85) (offset:87) - element: a@87 previousFragment: #F4 previousFragment: #F3 classes @@ -17807,16 +17738,9 @@ library reference: ::@class::A::@constructor::named firstFragment: #F3 formalParameters - #E2 requiredPositional p1 + #E0 requiredPositional p1 firstFragment: #F4 type: int Function(T) - typeParameters - #E0 T - firstFragment: #F5 - formalParameters - #E3 requiredPositional a - firstFragment: #F6 - type: T '''); } @@ -21009,9 +20933,6 @@ library formalParameters #F6 requiredPositional isFinal isOriginDeclaration this.x (nameOffset:28) (firstTokenOffset:23) (offset:28) element: ::@class::C::@constructor::new::@formalParameter::x - parameters - #F7 requiredPositional isOriginDeclaration b (nameOffset:37) (firstTokenOffset:30) (offset:37) - element: b@37 getters #F3 isComplete isOriginVariable x (nameOffset:) (firstTokenOffset:) (offset:16) element: ::@class::C::@getter::x @@ -21021,7 +20942,7 @@ library element: ::@class::C::@setter::x inducingVariable: #F2 formalParameters - #F8 requiredPositional value (nameOffset:) (firstTokenOffset:) (offset:16) + #F7 requiredPositional value (nameOffset:) (firstTokenOffset:) (offset:16) element: ::@class::C::@setter::x::@formalParameter::value classes hasNonFinalField isSimplyBounded class C @@ -21042,10 +20963,6 @@ library #E0 requiredPositional isFinal this.x firstFragment: #F6 type: dynamic Function(double) - formalParameters - #E1 requiredPositional b - firstFragment: #F7 - type: double field: ::@class::C::@field::x getters isOriginVariable x @@ -21058,8 +20975,8 @@ library reference: ::@class::C::@setter::x firstFragment: #F4 formalParameters - #E2 requiredPositional value - firstFragment: #F8 + #E1 requiredPositional value + firstFragment: #F7 type: dynamic returnType: void variable: ::@class::C::@field::x @@ -21095,9 +21012,6 @@ library formalParameters #F6 requiredPositional isFinal isOriginDeclaration this.x (nameOffset:32) (firstTokenOffset:23) (offset:32) element: ::@class::C::@constructor::new::@formalParameter::x - parameters - #F7 requiredPositional isOriginDeclaration b (nameOffset:41) (firstTokenOffset:34) (offset:41) - element: b@41 getters #F3 isComplete isOriginVariable x (nameOffset:) (firstTokenOffset:) (offset:16) element: ::@class::C::@getter::x @@ -21107,7 +21021,7 @@ library element: ::@class::C::@setter::x inducingVariable: #F2 formalParameters - #F8 requiredPositional value (nameOffset:) (firstTokenOffset:) (offset:16) + #F7 requiredPositional value (nameOffset:) (firstTokenOffset:) (offset:16) element: ::@class::C::@setter::x::@formalParameter::value classes hasNonFinalField isSimplyBounded class C @@ -21128,10 +21042,6 @@ library #E0 requiredPositional isFinal this.x firstFragment: #F6 type: int Function(double) - formalParameters - #E1 requiredPositional b - firstFragment: #F7 - type: double field: ::@class::C::@field::x getters isOriginVariable x @@ -21144,8 +21054,8 @@ library reference: ::@class::C::@setter::x firstFragment: #F4 formalParameters - #E2 requiredPositional value - firstFragment: #F8 + #E1 requiredPositional value + firstFragment: #F7 type: dynamic returnType: void variable: ::@class::C::@field::x @@ -21181,14 +21091,6 @@ library formalParameters #F6 requiredPositional isFinal isOriginDeclaration this.f (nameOffset:43) (firstTokenOffset:30) (offset:43) element: ::@class::C::@constructor::new::@formalParameter::f - typeParameters - #F7 T (nameOffset:45) (firstTokenOffset:45) (offset:45) - element: #E0 T - #F8 U (nameOffset:48) (firstTokenOffset:48) (offset:48) - element: #E1 U - parameters - #F9 requiredPositional isOriginDeclaration t (nameOffset:53) (firstTokenOffset:51) (offset:53) - element: t@53 getters #F3 isComplete isOriginVariable f (nameOffset:) (firstTokenOffset:) (offset:23) element: ::@class::C::@getter::f @@ -21198,7 +21100,7 @@ library element: ::@class::C::@setter::f inducingVariable: #F2 formalParameters - #F10 requiredPositional value (nameOffset:) (firstTokenOffset:) (offset:23) + #F7 requiredPositional value (nameOffset:) (firstTokenOffset:) (offset:23) element: ::@class::C::@setter::f::@formalParameter::value classes hasNonFinalField isSimplyBounded class C @@ -21216,18 +21118,9 @@ library reference: ::@class::C::@constructor::new firstFragment: #F5 formalParameters - #E2 requiredPositional isFinal this.f + #E0 requiredPositional isFinal this.f firstFragment: #F6 type: List Function(T) - typeParameters - #E0 T - firstFragment: #F7 - #E1 U - firstFragment: #F8 - formalParameters - #E3 requiredPositional t - firstFragment: #F9 - type: T field: ::@class::C::@field::f getters isOriginVariable f @@ -21240,8 +21133,8 @@ library reference: ::@class::C::@setter::f firstFragment: #F4 formalParameters - #E4 requiredPositional value - firstFragment: #F10 + #E1 requiredPositional value + firstFragment: #F7 type: dynamic Function() returnType: void variable: ::@class::C::@field::f @@ -22240,12 +22133,6 @@ library formalParameters #F6 requiredPositional isFinal isOriginDeclaration super.a (nameOffset:63) (firstTokenOffset:53) (offset:63) element: ::@class::B::@constructor::new::@formalParameter::a - typeParameters - #F7 T (nameOffset:65) (firstTokenOffset:65) (offset:65) - element: #E0 T - parameters - #F8 requiredPositional isOriginDeclaration d (nameOffset:82) (firstTokenOffset:80) (offset:82) - element: d@82 classes isSimplyBounded class A reference: ::@class::A @@ -22255,7 +22142,7 @@ library reference: ::@class::A::@constructor::new firstFragment: #F2 formalParameters - #E1 requiredPositional a + #E0 requiredPositional a firstFragment: #F3 type: Object? isSimplyBounded class B @@ -22267,17 +22154,9 @@ library reference: ::@class::B::@constructor::new firstFragment: #F5 formalParameters - #E2 requiredPositional isFinal super.a + #E1 requiredPositional isFinal super.a firstFragment: #F6 type: int Function(T)? - typeParameters - #E0 T - firstFragment: #F7 - bound: num - formalParameters - #E3 requiredPositional d - firstFragment: #F8 - type: T superConstructorParameter: ::@class::A::@constructor::new::@formalParameter::a superConstructor: ::@class::A::@constructor::new '''); @@ -39591,9 +39470,6 @@ library formalParameters #F6 requiredPositional isOriginDeclaration p1 (nameOffset:71) (firstTokenOffset:66) (offset:71) element: ::@class::A::@method::foo::@formalParameter::p1 - parameters - #F7 requiredPositional isOriginDeclaration a (nameOffset:78) (firstTokenOffset:74) (offset:78) - element: a@78 previousFragment: #F5 classes isSimplyBounded class A @@ -40303,15 +40179,12 @@ library formalParameters #F5 requiredPositional isOriginDeclaration p1 (nameOffset:26) (firstTokenOffset:21) (offset:26) element: ::@class::A::@method::foo::@formalParameter::p1 - parameters - #F6 requiredPositional isOriginDeclaration a (nameOffset:33) (firstTokenOffset:29) (offset:33) - element: a@33 - nextFragment: #F7 + nextFragment: #F6 #F4 isAugmentation isComplete isOriginDeclaration foo (nameOffset:55) (firstTokenOffset:42) (offset:55) element: ::@class::A::@method::foo previousFragment: #F3 formalParameters - #F7 requiredPositional isOriginDeclaration p1 (nameOffset:78) (firstTokenOffset:59) (offset:78) + #F6 requiredPositional isOriginDeclaration p1 (nameOffset:78) (firstTokenOffset:59) (offset:78) element: ::@class::A::@method::foo::@formalParameter::p1 previousFragment: #F5 classes @@ -40330,10 +40203,6 @@ library #E0 requiredPositional p1 firstFragment: #F5 type: void Function(int) - formalParameters - #E1 requiredPositional a - firstFragment: #F6 - type: int returnType: void '''); } @@ -40366,19 +40235,13 @@ library formalParameters #F5 requiredPositional isOriginDeclaration p1 (nameOffset:26) (firstTokenOffset:21) (offset:26) element: ::@class::A::@method::foo::@formalParameter::p1 - parameters - #F6 requiredPositional isOriginDeclaration a (nameOffset:33) (firstTokenOffset:29) (offset:33) - element: a@33 - nextFragment: #F7 + nextFragment: #F6 #F4 isAugmentation isComplete isOriginDeclaration foo (nameOffset:55) (firstTokenOffset:42) (offset:55) element: ::@class::A::@method::foo previousFragment: #F3 formalParameters - #F7 requiredPositional isOriginDeclaration p1 (nameOffset:64) (firstTokenOffset:59) (offset:64) + #F6 requiredPositional isOriginDeclaration p1 (nameOffset:64) (firstTokenOffset:59) (offset:64) element: ::@class::A::@method::foo::@formalParameter::p1 - parameters - #F8 requiredPositional isOriginDeclaration a (nameOffset:71) (firstTokenOffset:67) (offset:71) - element: a@71 previousFragment: #F5 classes isSimplyBounded class A @@ -40396,10 +40259,6 @@ library #E0 requiredPositional p1 firstFragment: #F5 type: void Function(int) - formalParameters - #E1 requiredPositional a - firstFragment: #F6 - type: int returnType: void '''); } @@ -40432,19 +40291,13 @@ library formalParameters #F5 requiredPositional isOriginDeclaration p1 (nameOffset:26) (firstTokenOffset:21) (offset:26) element: ::@class::A::@method::foo::@formalParameter::p1 - parameters - #F6 requiredPositional isOriginDeclaration a (nameOffset:33) (firstTokenOffset:29) (offset:33) - element: a@33 - nextFragment: #F7 + nextFragment: #F6 #F4 isAugmentation isComplete isOriginDeclaration foo (nameOffset:55) (firstTokenOffset:42) (offset:55) element: ::@class::A::@method::foo previousFragment: #F3 formalParameters - #F7 requiredPositional isOriginDeclaration p1 (nameOffset:64) (firstTokenOffset:59) (offset:64) + #F6 requiredPositional isOriginDeclaration p1 (nameOffset:64) (firstTokenOffset:59) (offset:64) element: ::@class::A::@method::foo::@formalParameter::p1 - parameters - #F8 requiredPositional isOriginDeclaration a (nameOffset:74) (firstTokenOffset:67) (offset:74) - element: a@74 previousFragment: #F5 classes isSimplyBounded class A @@ -40462,10 +40315,6 @@ library #E0 requiredPositional p1 firstFragment: #F5 type: void Function(int) - formalParameters - #E1 requiredPositional a - firstFragment: #F6 - type: int returnType: void '''); } @@ -40498,25 +40347,13 @@ library formalParameters #F5 requiredPositional isOriginDeclaration p1 (nameOffset:25) (firstTokenOffset:21) (offset:25) element: ::@class::A::@method::foo::@formalParameter::p1 - typeParameters - #F6 T (nameOffset:28) (firstTokenOffset:28) (offset:28) - element: #E0 T - parameters - #F7 requiredPositional isOriginDeclaration a (nameOffset:33) (firstTokenOffset:31) (offset:33) - element: a@33 - nextFragment: #F8 + nextFragment: #F6 #F4 isAugmentation isComplete isOriginDeclaration foo (nameOffset:55) (firstTokenOffset:42) (offset:55) element: ::@class::A::@method::foo previousFragment: #F3 formalParameters - #F8 requiredPositional isOriginDeclaration p1 (nameOffset:63) (firstTokenOffset:59) (offset:63) + #F6 requiredPositional isOriginDeclaration p1 (nameOffset:63) (firstTokenOffset:59) (offset:63) element: ::@class::A::@method::foo::@formalParameter::p1 - typeParameters - #F9 T (nameOffset:66) (firstTokenOffset:66) (offset:66) - element: #E1 T - parameters - #F10 requiredPositional isOriginDeclaration a (nameOffset:71) (firstTokenOffset:69) (offset:71) - element: a@71 previousFragment: #F5 classes isSimplyBounded class A @@ -40531,16 +40368,9 @@ library reference: ::@class::A::@method::foo firstFragment: #F3 formalParameters - #E2 requiredPositional p1 + #E0 requiredPositional p1 firstFragment: #F5 type: int Function(T) - typeParameters - #E0 T - firstFragment: #F6 - formalParameters - #E3 requiredPositional a - firstFragment: #F7 - type: T returnType: void '''); } @@ -44064,9 +43894,6 @@ library formalParameters #F6 requiredPositional isOriginDeclaration x (nameOffset:27) (firstTokenOffset:25) (offset:27) element: ::@class::C::@method::f::@formalParameter::x - parameters - #F7 requiredPositional isOriginDeclaration u (nameOffset:31) (firstTokenOffset:29) (offset:31) - element: u@31 classes isSimplyBounded class C reference: ::@class::C @@ -44088,10 +43915,6 @@ library #E2 requiredPositional x firstFragment: #F6 type: T Function(U) - formalParameters - #E3 requiredPositional u - firstFragment: #F7 - type: U returnType: void '''); } diff --git a/pkg/analyzer/test/src/summary/elements/default_value_test.dart b/pkg/analyzer/test/src/summary/elements/default_value_test.dart index e62c8dc0d9f..859cd177158 100644 --- a/pkg/analyzer/test/src/summary/elements/default_value_test.dart +++ b/pkg/analyzer/test/src/summary/elements/default_value_test.dart @@ -313,20 +313,6 @@ library formalParameters #F2 requiredPositional isOriginDeclaration g (nameOffset:8) (firstTokenOffset:8) (offset:8) element: ::@function::f::@formalParameter::g - parameters - #F3 optionalNamed hasImplicitType isOriginDeclaration a (nameOffset:11) (firstTokenOffset:11) (offset:11) - element: a@11 - initializer: expression_0 - IsExpression - expression: IntegerLiteral - literal: 0 @14 - staticType: null - isOperator: is @16 - type: NamedType - name: int @19 - element: - type: null - staticType: null functions isOriginDeclaration isStatic f reference: ::@function::f @@ -335,13 +321,6 @@ library #E0 requiredPositional g firstFragment: #F2 type: dynamic Function({dynamic a}) - formalParameters - #E1 optionalNamed hasDefaultValue hasImplicitType a - firstFragment: #F3 - type: dynamic - constantInitializer - fragment: #F3 - expression: expression_0 returnType: void '''); } diff --git a/pkg/analyzer/test/src/summary/elements/enum_test.dart b/pkg/analyzer/test/src/summary/elements/enum_test.dart index f633fc10c4a..41285660b64 100644 --- a/pkg/analyzer/test/src/summary/elements/enum_test.dart +++ b/pkg/analyzer/test/src/summary/elements/enum_test.dart @@ -8529,9 +8529,6 @@ library formalParameters #F9 requiredPositional isFinal isOriginDeclaration this.x (nameOffset:45) (firstTokenOffset:36) (offset:45) element: ::@enum::E::@constructor::new::@formalParameter::x - parameters - #F10 requiredPositional isOriginDeclaration a (nameOffset:54) (firstTokenOffset:47) (offset:54) - element: a@54 getters #F3 isComplete isOriginVariable isStatic v (nameOffset:) (firstTokenOffset:) (offset:11) element: ::@enum::E::@getter::v @@ -8577,10 +8574,6 @@ library #E0 requiredPositional isFinal this.x firstFragment: #F9 type: int Function(double) - formalParameters - #E1 requiredPositional a - firstFragment: #F10 - type: double field: ::@enum::E::@field::x superConstructor: dart:core::@class::Enum::@constructor::new getters diff --git a/pkg/analyzer/test/src/summary/elements/formal_parameter_test.dart b/pkg/analyzer/test/src/summary/elements/formal_parameter_test.dart index a92ec1b986b..84ec1389ff7 100644 --- a/pkg/analyzer/test/src/summary/elements/formal_parameter_test.dart +++ b/pkg/analyzer/test/src/summary/elements/formal_parameter_test.dart @@ -376,11 +376,6 @@ library formalParameters #F4 requiredPositional isOriginDeclaration g (nameOffset:14) (firstTokenOffset:14) (offset:14) element: ::@class::C::@method::f::@formalParameter::g - parameters - #F5 requiredPositional hasImplicitType isOriginDeclaration x (nameOffset:16) (firstTokenOffset:16) (offset:16) - element: x@16 - #F6 requiredPositional hasImplicitType isOriginDeclaration y (nameOffset:19) (firstTokenOffset:19) (offset:19) - element: y@19 classes isSimplyBounded class C reference: ::@class::C @@ -397,13 +392,6 @@ library #E0 requiredPositional g firstFragment: #F4 type: dynamic Function(dynamic, dynamic) - formalParameters - #E1 requiredPositional hasImplicitType x - firstFragment: #F5 - type: dynamic - #E2 requiredPositional hasImplicitType y - firstFragment: #F6 - type: dynamic returnType: dynamic '''); } @@ -438,9 +426,6 @@ library formalParameters #F6 requiredPositional isOriginDeclaration g (nameOffset:22) (firstTokenOffset:20) (offset:22) element: ::@class::C::@method::f::@formalParameter::g - parameters - #F7 requiredPositional isOriginDeclaration x (nameOffset:26) (firstTokenOffset:24) (offset:26) - element: x@26 classes isSimplyBounded class C reference: ::@class::C @@ -462,10 +447,6 @@ library #E2 requiredPositional g firstFragment: #F6 type: A Function(B) - formalParameters - #E3 requiredPositional x - firstFragment: #F7 - type: B returnType: dynamic '''); } @@ -576,31 +557,14 @@ library formalParameters #F2 requiredPositional isOriginDeclaration a (nameOffset:9) (firstTokenOffset:7) (offset:9) element: ::@function::f::@formalParameter::a - typeParameters - #F3 T (nameOffset:11) (firstTokenOffset:11) (offset:11) - element: #E0 T - #F4 U (nameOffset:14) (firstTokenOffset:14) (offset:14) - element: #E1 U - parameters - #F5 requiredPositional isOriginDeclaration u (nameOffset:19) (firstTokenOffset:17) (offset:19) - element: u@19 functions isOriginDeclaration isStatic f reference: ::@function::f firstFragment: #F1 formalParameters - #E2 requiredPositional a + #E0 requiredPositional a firstFragment: #F2 type: T Function(U) - typeParameters - #E0 T - firstFragment: #F3 - #E1 U - firstFragment: #F4 - formalParameters - #E3 requiredPositional u - firstFragment: #F5 - type: U returnType: void '''); } diff --git a/pkg/analyzer/test/src/summary/elements/function_type_annotation_test.dart b/pkg/analyzer/test/src/summary/elements/function_type_annotation_test.dart index 8148332e030..73b170e1600 100644 --- a/pkg/analyzer/test/src/summary/elements/function_type_annotation_test.dart +++ b/pkg/analyzer/test/src/summary/elements/function_type_annotation_test.dart @@ -157,9 +157,6 @@ library formalParameters #F2 requiredPositional isOriginDeclaration p (nameOffset:37) (firstTokenOffset:7) (offset:37) element: ::@function::f::@formalParameter::p - parameters - #F3 requiredPositional isOriginDeclaration c (nameOffset:43) (firstTokenOffset:39) (offset:43) - element: c@43 functions isOriginDeclaration isStatic f reference: ::@function::f @@ -168,10 +165,6 @@ library #E0 requiredPositional p firstFragment: #F2 type: int Function(int, String) Function(num) - formalParameters - #E1 requiredPositional c - firstFragment: #F3 - type: num returnType: void '''); } diff --git a/pkg/analyzer/test/src/summary/elements/offsets_test.dart b/pkg/analyzer/test/src/summary/elements/offsets_test.dart index 6b661b3b1a9..f17d732318b 100644 --- a/pkg/analyzer/test/src/summary/elements/offsets_test.dart +++ b/pkg/analyzer/test/src/summary/elements/offsets_test.dart @@ -3359,27 +3359,14 @@ library formalParameters #F2 requiredPositional isOriginDeclaration f (nameOffset:12) (firstTokenOffset:7) (offset:12) element: ::@function::f::@formalParameter::f - typeParameters - #F3 U (nameOffset:14) (firstTokenOffset:14) (offset:14) - element: #E0 U - parameters - #F4 requiredPositional isOriginDeclaration a (nameOffset:21) (firstTokenOffset:17) (offset:21) - element: a@21 functions isOriginDeclaration isStatic f reference: ::@function::f firstFragment: #F1 formalParameters - #E1 requiredPositional f + #E0 requiredPositional f firstFragment: #F2 type: void Function(int) - typeParameters - #E0 U - firstFragment: #F3 - formalParameters - #E2 requiredPositional a - firstFragment: #F4 - type: int returnType: void '''); } @@ -3400,27 +3387,14 @@ library formalParameters #F2 requiredNamed isOriginDeclaration f (nameOffset:22) (firstTokenOffset:8) (offset:22) element: ::@function::f::@formalParameter::f - typeParameters - #F3 U (nameOffset:24) (firstTokenOffset:24) (offset:24) - element: #E0 U - parameters - #F4 requiredPositional isOriginDeclaration a (nameOffset:31) (firstTokenOffset:27) (offset:31) - element: a@31 functions isOriginDeclaration isStatic f reference: ::@function::f firstFragment: #F1 formalParameters - #E1 requiredNamed f + #E0 requiredNamed f firstFragment: #F2 type: void Function(int) - typeParameters - #E0 U - firstFragment: #F3 - formalParameters - #E2 requiredPositional a - firstFragment: #F4 - type: int returnType: void '''); } diff --git a/pkg/analyzer/test/src/summary/elements/top_level_function_test.dart b/pkg/analyzer/test/src/summary/elements/top_level_function_test.dart index fb68e2e2134..d3928e10d3f 100644 --- a/pkg/analyzer/test/src/summary/elements/top_level_function_test.dart +++ b/pkg/analyzer/test/src/summary/elements/top_level_function_test.dart @@ -1115,9 +1115,6 @@ library formalParameters #F4 requiredPositional isOriginDeclaration p1 (nameOffset:57) (firstTokenOffset:52) (offset:57) element: ::@function::foo::@formalParameter::p1 - parameters - #F5 requiredPositional isOriginDeclaration a (nameOffset:64) (firstTokenOffset:60) (offset:64) - element: a@64 previousFragment: #F3 functions isOriginDeclaration isStatic foo @@ -1595,15 +1592,12 @@ library formalParameters #F3 requiredPositional isOriginDeclaration p1 (nameOffset:14) (firstTokenOffset:9) (offset:14) element: ::@function::foo::@formalParameter::p1 - parameters - #F4 requiredPositional isOriginDeclaration a (nameOffset:21) (firstTokenOffset:17) (offset:21) - element: a@21 - nextFragment: #F5 + nextFragment: #F4 #F2 isAugmentation isComplete isOriginDeclaration isStatic foo (nameOffset:41) (firstTokenOffset:28) (offset:41) element: ::@function::foo previousFragment: #F1 formalParameters - #F5 requiredPositional isOriginDeclaration p1 (nameOffset:64) (firstTokenOffset:45) (offset:64) + #F4 requiredPositional isOriginDeclaration p1 (nameOffset:64) (firstTokenOffset:45) (offset:64) element: ::@function::foo::@formalParameter::p1 previousFragment: #F3 functions @@ -1614,10 +1608,6 @@ library #E0 requiredPositional p1 firstFragment: #F3 type: void Function(int) - formalParameters - #E1 requiredPositional a - firstFragment: #F4 - type: int returnType: void '''); } @@ -1641,19 +1631,13 @@ library formalParameters #F3 requiredPositional isOriginDeclaration p1 (nameOffset:14) (firstTokenOffset:9) (offset:14) element: ::@function::foo::@formalParameter::p1 - parameters - #F4 requiredPositional isOriginDeclaration a (nameOffset:21) (firstTokenOffset:17) (offset:21) - element: a@21 - nextFragment: #F5 + nextFragment: #F4 #F2 isAugmentation isComplete isOriginDeclaration isStatic foo (nameOffset:41) (firstTokenOffset:28) (offset:41) element: ::@function::foo previousFragment: #F1 formalParameters - #F5 requiredPositional isOriginDeclaration p1 (nameOffset:50) (firstTokenOffset:45) (offset:50) + #F4 requiredPositional isOriginDeclaration p1 (nameOffset:50) (firstTokenOffset:45) (offset:50) element: ::@function::foo::@formalParameter::p1 - parameters - #F6 requiredPositional isOriginDeclaration a (nameOffset:57) (firstTokenOffset:53) (offset:57) - element: a@57 previousFragment: #F3 functions isOriginDeclaration isStatic foo @@ -1663,10 +1647,6 @@ library #E0 requiredPositional p1 firstFragment: #F3 type: void Function(int) - formalParameters - #E1 requiredPositional a - firstFragment: #F4 - type: int returnType: void '''); } @@ -1690,19 +1670,13 @@ library formalParameters #F3 requiredPositional isOriginDeclaration p1 (nameOffset:14) (firstTokenOffset:9) (offset:14) element: ::@function::foo::@formalParameter::p1 - parameters - #F4 requiredPositional isOriginDeclaration a (nameOffset:21) (firstTokenOffset:17) (offset:21) - element: a@21 - nextFragment: #F5 + nextFragment: #F4 #F2 isAugmentation isComplete isOriginDeclaration isStatic foo (nameOffset:41) (firstTokenOffset:28) (offset:41) element: ::@function::foo previousFragment: #F1 formalParameters - #F5 requiredPositional isOriginDeclaration p1 (nameOffset:50) (firstTokenOffset:45) (offset:50) + #F4 requiredPositional isOriginDeclaration p1 (nameOffset:50) (firstTokenOffset:45) (offset:50) element: ::@function::foo::@formalParameter::p1 - parameters - #F6 requiredPositional isOriginDeclaration a (nameOffset:60) (firstTokenOffset:53) (offset:60) - element: a@60 previousFragment: #F3 functions isOriginDeclaration isStatic foo @@ -1712,10 +1686,6 @@ library #E0 requiredPositional p1 firstFragment: #F3 type: void Function(int) - formalParameters - #E1 requiredPositional a - firstFragment: #F4 - type: int returnType: void '''); } @@ -1739,41 +1709,22 @@ library formalParameters #F3 requiredPositional isOriginDeclaration p1 (nameOffset:13) (firstTokenOffset:9) (offset:13) element: ::@function::foo::@formalParameter::p1 - typeParameters - #F4 T (nameOffset:16) (firstTokenOffset:16) (offset:16) - element: #E0 T - parameters - #F5 requiredPositional isOriginDeclaration a (nameOffset:21) (firstTokenOffset:19) (offset:21) - element: a@21 - nextFragment: #F6 + nextFragment: #F4 #F2 isAugmentation isComplete isOriginDeclaration isStatic foo (nameOffset:41) (firstTokenOffset:28) (offset:41) element: ::@function::foo previousFragment: #F1 formalParameters - #F6 requiredPositional isOriginDeclaration p1 (nameOffset:49) (firstTokenOffset:45) (offset:49) + #F4 requiredPositional isOriginDeclaration p1 (nameOffset:49) (firstTokenOffset:45) (offset:49) element: ::@function::foo::@formalParameter::p1 - typeParameters - #F7 T (nameOffset:52) (firstTokenOffset:52) (offset:52) - element: #E1 T - parameters - #F8 requiredPositional isOriginDeclaration a (nameOffset:57) (firstTokenOffset:55) (offset:57) - element: a@57 previousFragment: #F3 functions isOriginDeclaration isStatic foo reference: ::@function::foo firstFragment: #F1 formalParameters - #E2 requiredPositional p1 + #E0 requiredPositional p1 firstFragment: #F3 type: int Function(T) - typeParameters - #E0 T - firstFragment: #F4 - formalParameters - #E3 requiredPositional a - firstFragment: #F5 - type: T returnType: void '''); } @@ -2968,9 +2919,6 @@ library formalParameters #F2 requiredPositional isFinal isOriginDeclaration this.a (nameOffset:16) (firstTokenOffset:7) (offset:16) element: ::@function::f::@formalParameter::a - parameters - #F3 requiredPositional isOriginDeclaration b (nameOffset:22) (firstTokenOffset:18) (offset:22) - element: b@22 functions isOriginDeclaration isStatic f reference: ::@function::f @@ -2979,10 +2927,6 @@ library #E0 requiredPositional isFinal this.a firstFragment: #F2 type: int Function(int) - formalParameters - #E1 requiredPositional b - firstFragment: #F3 - type: int field: returnType: void '''); @@ -3116,11 +3060,6 @@ library formalParameters #F2 requiredPositional isOriginDeclaration g (nameOffset:2) (firstTokenOffset:2) (offset:2) element: ::@function::f::@formalParameter::g - parameters - #F3 requiredPositional hasImplicitType isOriginDeclaration x (nameOffset:4) (firstTokenOffset:4) (offset:4) - element: x@4 - #F4 requiredPositional hasImplicitType isOriginDeclaration y (nameOffset:7) (firstTokenOffset:7) (offset:7) - element: y@7 functions isOriginDeclaration isStatic f reference: ::@function::f @@ -3129,13 +3068,6 @@ library #E0 requiredPositional g firstFragment: #F2 type: dynamic Function(dynamic, dynamic) - formalParameters - #E1 requiredPositional hasImplicitType x - firstFragment: #F3 - type: dynamic - #E2 requiredPositional hasImplicitType y - firstFragment: #F4 - type: dynamic returnType: dynamic '''); } @@ -3451,9 +3383,6 @@ library formalParameters #F4 requiredPositional isOriginDeclaration x (nameOffset:15) (firstTokenOffset:13) (offset:15) element: ::@function::f::@formalParameter::x - parameters - #F5 requiredPositional isOriginDeclaration u (nameOffset:19) (firstTokenOffset:17) (offset:19) - element: u@19 functions isOriginDeclaration isStatic f reference: ::@function::f @@ -3467,10 +3396,6 @@ library #E2 requiredPositional x firstFragment: #F4 type: T Function(U) - formalParameters - #E3 requiredPositional u - firstFragment: #F5 - type: U returnType: void '''); } diff --git a/pkg/analyzer/test/src/summary/elements/type_inference_test.dart b/pkg/analyzer/test/src/summary/elements/type_inference_test.dart index fb4a7c476ff..81861f4d52a 100644 --- a/pkg/analyzer/test/src/summary/elements/type_inference_test.dart +++ b/pkg/analyzer/test/src/summary/elements/type_inference_test.dart @@ -2610,9 +2610,6 @@ library element: ::@class::D::@method::f::@formalParameter::x #F14 requiredPositional isOriginDeclaration g (nameOffset:102) (firstTokenOffset:100) (offset:102) element: ::@class::D::@method::f::@formalParameter::g - parameters - #F15 requiredPositional isOriginDeclaration s (nameOffset:106) (firstTokenOffset:104) (offset:106) - element: s@106 classes isSimplyBounded class C reference: ::@class::C @@ -2665,10 +2662,6 @@ library #E7 requiredPositional g firstFragment: #F14 type: W Function(V) - formalParameters - #E8 requiredPositional s - firstFragment: #F15 - type: V returnType: void '''); } @@ -2783,9 +2776,6 @@ library element: ::@class::D::@method::f::@formalParameter::x #F10 requiredPositional isOriginDeclaration g (nameOffset:84) (firstTokenOffset:80) (offset:84) element: ::@class::D::@method::f::@formalParameter::g - parameters - #F11 requiredPositional isOriginDeclaration s (nameOffset:93) (firstTokenOffset:86) (offset:93) - element: s@93 classes isSimplyBounded class C reference: ::@class::C @@ -2826,10 +2816,6 @@ library #E3 requiredPositional g firstFragment: #F10 type: int Function(String) - formalParameters - #E4 requiredPositional s - firstFragment: #F11 - type: String returnType: void '''); } @@ -2867,11 +2853,6 @@ library formalParameters #F6 requiredPositional isOriginDeclaration g (nameOffset:7) (firstTokenOffset:2) (offset:7) element: ::@function::f::@formalParameter::g - parameters - #F7 requiredPositional isOriginDeclaration x (nameOffset:13) (firstTokenOffset:9) (offset:13) - element: x@13 - #F8 requiredPositional isOriginDeclaration h (nameOffset:21) (firstTokenOffset:16) (offset:21) - element: h@21 topLevelVariables hasImplicitType hasInitializer isOriginDeclaration isStatic isTypeInferredFromInitializer v reference: ::@topLevelVariable::v @@ -2903,13 +2884,6 @@ library #E1 requiredPositional g firstFragment: #F6 type: void Function(int, void Function()) - formalParameters - #E2 requiredPositional x - firstFragment: #F7 - type: int - #E3 requiredPositional h - firstFragment: #F8 - type: void Function() returnType: dynamic '''); } @@ -2947,11 +2921,6 @@ library formalParameters #F6 optionalNamed isOriginDeclaration g (nameOffset:8) (firstTokenOffset:3) (offset:8) element: ::@function::f::@formalParameter::g - parameters - #F7 requiredPositional isOriginDeclaration x (nameOffset:14) (firstTokenOffset:10) (offset:14) - element: x@14 - #F8 requiredPositional isOriginDeclaration h (nameOffset:22) (firstTokenOffset:17) (offset:22) - element: h@22 topLevelVariables hasImplicitType hasInitializer isOriginDeclaration isStatic isTypeInferredFromInitializer v reference: ::@topLevelVariable::v @@ -2983,13 +2952,6 @@ library #E1 optionalNamed g firstFragment: #F6 type: void Function(int, void Function()) - formalParameters - #E2 requiredPositional x - firstFragment: #F7 - type: int - #E3 requiredPositional h - firstFragment: #F8 - type: void Function() returnType: dynamic '''); } @@ -3041,9 +3003,6 @@ library formalParameters #F10 requiredPositional isOriginDeclaration g (nameOffset:78) (firstTokenOffset:74) (offset:78) element: ::@class::D::@setter::f::@formalParameter::g - parameters - #F11 requiredPositional isOriginDeclaration s (nameOffset:87) (firstTokenOffset:80) (offset:87) - element: s@87 classes isSimplyBounded class C reference: ::@class::C @@ -3091,10 +3050,6 @@ library #E1 requiredPositional g firstFragment: #F10 type: int Function(String) - formalParameters - #E2 requiredPositional s - firstFragment: #F11 - type: String returnType: void variable: ::@class::D::@field::f '''); @@ -3417,17 +3372,11 @@ library formalParameters #F6 requiredPositional isOriginDeclaration x (nameOffset:10) (firstTokenOffset:6) (offset:10) element: ::@function::f::@formalParameter::x - parameters - #F7 requiredPositional isOriginDeclaration y (nameOffset:19) (firstTokenOffset:12) (offset:19) - element: y@19 - #F8 isComplete isOriginDeclaration isStatic g (nameOffset:39) (firstTokenOffset:32) (offset:39) + #F7 isComplete isOriginDeclaration isStatic g (nameOffset:39) (firstTokenOffset:32) (offset:39) element: ::@function::g formalParameters - #F9 requiredPositional isOriginDeclaration x (nameOffset:45) (firstTokenOffset:41) (offset:45) + #F8 requiredPositional isOriginDeclaration x (nameOffset:45) (firstTokenOffset:41) (offset:45) element: ::@function::g::@formalParameter::x - parameters - #F10 requiredPositional isOriginDeclaration y (nameOffset:54) (firstTokenOffset:47) (offset:54) - element: y@54 topLevelVariables hasImplicitType hasInitializer isOriginDeclaration isStatic isTypeInferredFromInitializer v reference: ::@topLevelVariable::v @@ -3459,22 +3408,14 @@ library #E1 requiredPositional x firstFragment: #F6 type: int Function(String) - formalParameters - #E2 requiredPositional y - firstFragment: #F7 - type: String returnType: int isOriginDeclaration isStatic g reference: ::@function::g - firstFragment: #F8 + firstFragment: #F7 formalParameters - #E3 requiredPositional x - firstFragment: #F9 + #E2 requiredPositional x + firstFragment: #F8 type: int Function(String) - formalParameters - #E4 requiredPositional y - firstFragment: #F10 - type: String returnType: String '''); } diff --git a/pkg/analyzer/test/src/summary/resolved_ast_printer.dart b/pkg/analyzer/test/src/summary/resolved_ast_printer.dart index e3605c852db..fc2375912ca 100644 --- a/pkg/analyzer/test/src/summary/resolved_ast_printer.dart +++ b/pkg/analyzer/test/src/summary/resolved_ast_printer.dart @@ -2203,9 +2203,9 @@ Expected parent: (${parent.runtimeType}) $parent var declaredFragment = parametersParent.declaredFragment!; return declaredFragment.formalParameters; } else if (parametersParent is FormalParameter) { - var declaredFragment = parametersParent.declaredFragment!; - declaredFragment as FormalParameterFragmentImpl; - return declaredFragment.formalParameters; + return parametersParent.functionTypedSuffix!.formalParameters.parameters + .map((parameter) => parameter.declaredFragment!) + .toList(); } else if (parametersParent is FunctionExpression) { var declaredFragment = parametersParent.declaredFragment!; return declaredFragment.formalParameters; diff --git a/pkg/analyzer_plugin/CHANGELOG.md b/pkg/analyzer_plugin/CHANGELOG.md index 3e00f202b34..6c608cdeaa6 100644 --- a/pkg/analyzer_plugin/CHANGELOG.md +++ b/pkg/analyzer_plugin/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.14.13-dev + +- Require version `^14.0.0-0` of the `analyzer` package. + ## 0.14.12 - Require version `13.3.0` of the `analyzer` package. diff --git a/pkg/analyzer_plugin/pubspec.yaml b/pkg/analyzer_plugin/pubspec.yaml index 8ed09d75eaf..6e3f67052d5 100644 --- a/pkg/analyzer_plugin/pubspec.yaml +++ b/pkg/analyzer_plugin/pubspec.yaml @@ -1,6 +1,6 @@ name: analyzer_plugin description: A framework and support code for building plugins for the analysis server. -version: 0.14.12 +version: 0.14.13-dev repository: https://github.com/dart-lang/sdk/tree/main/pkg/analyzer_plugin environment: @@ -11,7 +11,7 @@ resolution: workspace dependencies: # See the release policy for managing this dependency at # pkg/analyzer/doc/implementation/releasing.md. - analyzer: 13.3.0 + analyzer: ^14.0.0-0 collection: ^1.15.0 dart_style: ^3.0.0 pub_semver: ^2.1.0 diff --git a/pkg/analyzer_testing/CHANGELOG.md b/pkg/analyzer_testing/CHANGELOG.md index 122fa7c5dc4..d6bacb3a241 100644 --- a/pkg/analyzer_testing/CHANGELOG.md +++ b/pkg/analyzer_testing/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.3.3-dev + +- Require version `^14.0.0-0` of the `analyzer` package. + ## 0.3.2 - Require version `13.3.0` of the `analyzer` package. diff --git a/pkg/analyzer_testing/pubspec.yaml b/pkg/analyzer_testing/pubspec.yaml index f007f5f5777..d0751c3c975 100644 --- a/pkg/analyzer_testing/pubspec.yaml +++ b/pkg/analyzer_testing/pubspec.yaml @@ -1,6 +1,6 @@ name: analyzer_testing description: Testing utilities related to the analyzer and analysis_server_plugin packages. -version: 0.3.2 +version: 0.3.3-dev repository: https://github.com/dart-lang/sdk/tree/main/pkg/analyzer_testing environment: @@ -11,7 +11,7 @@ resolution: workspace dependencies: # See the release policy for managing this dependency at # pkg/analyzer/doc/implementation/releasing.md. - analyzer: 13.3.0 + analyzer: ^14.0.0-0 meta: ^1.10.0 path: ^1.9.0 test: ^1.25.0