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 <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
This commit is contained in:
Konstantin Shcheglov
2026-06-11 11:59:47 -07:00
committed by dart-scoped@luci-project-accounts.iam.gserviceaccount.com
parent c46d0a8b81
commit 8779d4e9a7
33 changed files with 193 additions and 985 deletions
+5
View File
@@ -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.
+3 -3
View File
@@ -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
+8
View File
@@ -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`.
-10
View File
@@ -3672,11 +3672,9 @@ package:analyzer/dart/element/element.dart:
baseElement (getter: FormalParameterElement)
defaultValueCode (getter: String?)
firstFragment (getter: FormalParameterFragment)
formalParameters (getter: List<FormalParameterElement>, deprecated)
fragments (getter: List<FormalParameterFragment>)
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<TypeParameterElement>, 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())
@@ -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<FormalParameterElement> get formalParameters;
@override
List<FormalParameterFragment> 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<TypeParameterElement> get typeParameters;
/// Appends the type, name and possibly the default value of this parameter
/// to the given [buffer].
void appendToWithoutDelimiters(StringBuffer buffer);
@@ -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.
@@ -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<FormalParameterElementImpl> get formalParameters => _firstFragment
.formalParameters
.map((fragment) => fragment.element)
.toList();
@override
List<FormalParameterFragmentImpl> 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<TypeParameterElementImpl> 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<FormalParameterFragmentImpl> _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<TypeParameterFragmentImpl> _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<FormalParameterFragmentImpl> get formalParameters {
return _formalParameters;
}
/// Set the parameters defined by this executable element to the given
/// [value].
set formalParameters(List<FormalParameterFragmentImpl> 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<TypeParameterFragmentImpl> get typeParameters {
return _typeParameters;
}
/// Set the type parameters defined by this parameter element to the given
/// [typeParameters].
set typeParameters(List<TypeParameterFragmentImpl> 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<TypeParameterElementImpl> 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
+6 -85
View File
@@ -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<TypeParameterElementImpl> 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<Element> get children {
// ignore: deprecated_member_use_from_same_package
return [...typeParameters, ...formalParameters];
}
List<Element> 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<FormalParameterElementImpl> get formalParameters =>
baseElement.formalParameters;
@override
List<FormalParameterFragmentImpl> 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 =>
@@ -801,19 +801,18 @@ class ElementBindingVisitor extends RecursiveAstVisitor<void> {
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);
}
@@ -790,15 +790,22 @@ class ResolutionVisitor extends RecursiveAstVisitor<void> {
@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 <TypeParameterImpl>[])
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<void> {
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) {
@@ -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);
@@ -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)
@@ -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<FormalParameterFragmentImpl> 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;
}
@@ -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;
@@ -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) {
@@ -1747,20 +1747,7 @@ class FragmentBuilder extends ThrowingAstVisitor<void> {
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<void> {
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<void> {
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> {
});
}
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<AnnotationImpl> 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);
}
}
@@ -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);
}
}
@@ -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,
});
}
+1 -1
View File
@@ -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
@@ -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);
@@ -16221,9 +16221,6 @@ library
formalParameters
#F5 requiredPositional isOriginDeclaration p1 (nameOffset:87) (firstTokenOffset:82) (offset:87)
element: <testLibrary>::@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: <testLibrary>::@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:<null>) (firstTokenOffset:<null>) (offset:37)
element: <testLibrary>::@class::A::@getter::p1
@@ -17388,16 +17382,13 @@ library
element: <testLibrary>::@class::A
previousFragment: #F1
constructors
#F9 isAugmentation isComplete isOriginDeclaration new (nameOffset:<null>) (firstTokenOffset:84) (offset:92)
#F8 isAugmentation isComplete isOriginDeclaration new (nameOffset:<null>) (firstTokenOffset:84) (offset:92)
element: <testLibrary>::@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: <testLibrary>::@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: <testLibrary>::@class::A::@field::p1
getters
isOriginVariable p1
@@ -17461,22 +17448,19 @@ library
formalParameters
#F4 requiredPositional isOriginDeclaration p1 (nameOffset:25) (firstTokenOffset:20) (offset:25)
element: <testLibrary>::@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: <testLibrary>::@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: <testLibrary>::@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: <testLibrary>::@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: <testLibrary>::@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: <testLibrary>::@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: <testLibrary>::@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: <testLibrary>::@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: <testLibrary>::@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: <testLibrary>::@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: <testLibrary>::@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: <testLibrary>::@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: <testLibrary>::@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: <testLibrary>::@class::B
nextFragment: #F6
nextFragment: #F5
constructors
#F7 isOriginDeclaration new (nameOffset:<null>) (firstTokenOffset:55) (offset:55)
#F6 isOriginDeclaration new (nameOffset:<null>) (firstTokenOffset:55) (offset:55)
element: <testLibrary>::@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: <testLibrary>::@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: <testLibrary>::@class::B
previousFragment: #F5
previousFragment: #F4
constructors
#F11 isAugmentation isComplete isOriginDeclaration new (nameOffset:<null>) (firstTokenOffset:96) (offset:104)
#F9 isAugmentation isComplete isOriginDeclaration new (nameOffset:<null>) (firstTokenOffset:96) (offset:104)
element: <testLibrary>::@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: <testLibrary>::@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: <testLibrary>::@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: <testLibrary>::@class::B
firstFragment: #F5
firstFragment: #F4
supertype: A
constructors
isOriginDeclaration new
reference: <testLibrary>::@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: <testLibrary>::@class::A::@constructor::new::@formalParameter::p1
superConstructor: <testLibrary>::@class::A::@constructor::new
''');
@@ -17770,32 +17713,20 @@ library
formalParameters
#F4 requiredPositional isOriginDeclaration p1 (nameOffset:24) (firstTokenOffset:20) (offset:24)
element: <testLibrary>::@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: <testLibrary>::@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: <testLibrary>::@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: <testLibrary>::@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: <testLibrary>::@class::A::@constructor::named
firstFragment: #F3
formalParameters
#E2 requiredPositional p1
#E0 requiredPositional p1
firstFragment: #F4
type: int Function<T>(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: <testLibrary>::@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:<null>) (firstTokenOffset:<null>) (offset:16)
element: <testLibrary>::@class::C::@getter::x
@@ -21021,7 +20942,7 @@ library
element: <testLibrary>::@class::C::@setter::x
inducingVariable: #F2
formalParameters
#F8 requiredPositional value (nameOffset:<null>) (firstTokenOffset:<null>) (offset:16)
#F7 requiredPositional value (nameOffset:<null>) (firstTokenOffset:<null>) (offset:16)
element: <testLibrary>::@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: <testLibrary>::@class::C::@field::x
getters
isOriginVariable x
@@ -21058,8 +20975,8 @@ library
reference: <testLibrary>::@class::C::@setter::x
firstFragment: #F4
formalParameters
#E2 requiredPositional value
firstFragment: #F8
#E1 requiredPositional value
firstFragment: #F7
type: dynamic
returnType: void
variable: <testLibrary>::@class::C::@field::x
@@ -21095,9 +21012,6 @@ library
formalParameters
#F6 requiredPositional isFinal isOriginDeclaration this.x (nameOffset:32) (firstTokenOffset:23) (offset:32)
element: <testLibrary>::@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:<null>) (firstTokenOffset:<null>) (offset:16)
element: <testLibrary>::@class::C::@getter::x
@@ -21107,7 +21021,7 @@ library
element: <testLibrary>::@class::C::@setter::x
inducingVariable: #F2
formalParameters
#F8 requiredPositional value (nameOffset:<null>) (firstTokenOffset:<null>) (offset:16)
#F7 requiredPositional value (nameOffset:<null>) (firstTokenOffset:<null>) (offset:16)
element: <testLibrary>::@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: <testLibrary>::@class::C::@field::x
getters
isOriginVariable x
@@ -21144,8 +21054,8 @@ library
reference: <testLibrary>::@class::C::@setter::x
firstFragment: #F4
formalParameters
#E2 requiredPositional value
firstFragment: #F8
#E1 requiredPositional value
firstFragment: #F7
type: dynamic
returnType: void
variable: <testLibrary>::@class::C::@field::x
@@ -21181,14 +21091,6 @@ library
formalParameters
#F6 requiredPositional isFinal isOriginDeclaration this.f (nameOffset:43) (firstTokenOffset:30) (offset:43)
element: <testLibrary>::@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:<null>) (firstTokenOffset:<null>) (offset:23)
element: <testLibrary>::@class::C::@getter::f
@@ -21198,7 +21100,7 @@ library
element: <testLibrary>::@class::C::@setter::f
inducingVariable: #F2
formalParameters
#F10 requiredPositional value (nameOffset:<null>) (firstTokenOffset:<null>) (offset:23)
#F7 requiredPositional value (nameOffset:<null>) (firstTokenOffset:<null>) (offset:23)
element: <testLibrary>::@class::C::@setter::f::@formalParameter::value
classes
hasNonFinalField isSimplyBounded class C
@@ -21216,18 +21118,9 @@ library
reference: <testLibrary>::@class::C::@constructor::new
firstFragment: #F5
formalParameters
#E2 requiredPositional isFinal this.f
#E0 requiredPositional isFinal this.f
firstFragment: #F6
type: List<U> Function<T, U>(T)
typeParameters
#E0 T
firstFragment: #F7
#E1 U
firstFragment: #F8
formalParameters
#E3 requiredPositional t
firstFragment: #F9
type: T
field: <testLibrary>::@class::C::@field::f
getters
isOriginVariable f
@@ -21240,8 +21133,8 @@ library
reference: <testLibrary>::@class::C::@setter::f
firstFragment: #F4
formalParameters
#E4 requiredPositional value
firstFragment: #F10
#E1 requiredPositional value
firstFragment: #F7
type: dynamic Function()
returnType: void
variable: <testLibrary>::@class::C::@field::f
@@ -22240,12 +22133,6 @@ library
formalParameters
#F6 requiredPositional isFinal isOriginDeclaration super.a (nameOffset:63) (firstTokenOffset:53) (offset:63)
element: <testLibrary>::@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: <testLibrary>::@class::A
@@ -22255,7 +22142,7 @@ library
reference: <testLibrary>::@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: <testLibrary>::@class::B::@constructor::new
firstFragment: #F5
formalParameters
#E2 requiredPositional isFinal super.a
#E1 requiredPositional isFinal super.a
firstFragment: #F6
type: int Function<T extends num>(T)?
typeParameters
#E0 T
firstFragment: #F7
bound: num
formalParameters
#E3 requiredPositional d
firstFragment: #F8
type: T
superConstructorParameter: <testLibrary>::@class::A::@constructor::new::@formalParameter::a
superConstructor: <testLibrary>::@class::A::@constructor::new
''');
@@ -39591,9 +39470,6 @@ library
formalParameters
#F6 requiredPositional isOriginDeclaration p1 (nameOffset:71) (firstTokenOffset:66) (offset:71)
element: <testLibrary>::@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: <testLibrary>::@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: <testLibrary>::@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: <testLibrary>::@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: <testLibrary>::@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: <testLibrary>::@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: <testLibrary>::@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: <testLibrary>::@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: <testLibrary>::@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: <testLibrary>::@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: <testLibrary>::@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: <testLibrary>::@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: <testLibrary>::@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: <testLibrary>::@class::A::@method::foo
firstFragment: #F3
formalParameters
#E2 requiredPositional p1
#E0 requiredPositional p1
firstFragment: #F5
type: int Function<T>(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: <testLibrary>::@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: <testLibrary>::@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
''');
}
@@ -313,20 +313,6 @@ library
formalParameters
#F2 requiredPositional isOriginDeclaration g (nameOffset:8) (firstTokenOffset:8) (offset:8)
element: <testLibrary>::@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: <null>
type: null
staticType: null
functions
isOriginDeclaration isStatic f
reference: <testLibrary>::@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
''');
}
@@ -8529,9 +8529,6 @@ library
formalParameters
#F9 requiredPositional isFinal isOriginDeclaration this.x (nameOffset:45) (firstTokenOffset:36) (offset:45)
element: <testLibrary>::@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:<null>) (firstTokenOffset:<null>) (offset:11)
element: <testLibrary>::@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: <testLibrary>::@enum::E::@field::x
superConstructor: dart:core::@class::Enum::@constructor::new
getters
@@ -376,11 +376,6 @@ library
formalParameters
#F4 requiredPositional isOriginDeclaration g (nameOffset:14) (firstTokenOffset:14) (offset:14)
element: <testLibrary>::@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: <testLibrary>::@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: <testLibrary>::@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: <testLibrary>::@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: <testLibrary>::@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: <testLibrary>::@function::f
firstFragment: #F1
formalParameters
#E2 requiredPositional a
#E0 requiredPositional a
firstFragment: #F2
type: T Function<T, U>(U)
typeParameters
#E0 T
firstFragment: #F3
#E1 U
firstFragment: #F4
formalParameters
#E3 requiredPositional u
firstFragment: #F5
type: U
returnType: void
''');
}
@@ -157,9 +157,6 @@ library
formalParameters
#F2 requiredPositional isOriginDeclaration p (nameOffset:37) (firstTokenOffset:7) (offset:37)
element: <testLibrary>::@function::f::@formalParameter::p
parameters
#F3 requiredPositional isOriginDeclaration c (nameOffset:43) (firstTokenOffset:39) (offset:43)
element: c@43
functions
isOriginDeclaration isStatic f
reference: <testLibrary>::@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
''');
}
@@ -3359,27 +3359,14 @@ library
formalParameters
#F2 requiredPositional isOriginDeclaration f (nameOffset:12) (firstTokenOffset:7) (offset:12)
element: <testLibrary>::@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: <testLibrary>::@function::f
firstFragment: #F1
formalParameters
#E1 requiredPositional f
#E0 requiredPositional f
firstFragment: #F2
type: void Function<U>(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: <testLibrary>::@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: <testLibrary>::@function::f
firstFragment: #F1
formalParameters
#E1 requiredNamed f
#E0 requiredNamed f
firstFragment: #F2
type: void Function<U>(int)
typeParameters
#E0 U
firstFragment: #F3
formalParameters
#E2 requiredPositional a
firstFragment: #F4
type: int
returnType: void
''');
}
@@ -1115,9 +1115,6 @@ library
formalParameters
#F4 requiredPositional isOriginDeclaration p1 (nameOffset:57) (firstTokenOffset:52) (offset:57)
element: <testLibrary>::@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: <testLibrary>::@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: <testLibrary>::@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: <testLibrary>::@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: <testLibrary>::@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: <testLibrary>::@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: <testLibrary>::@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: <testLibrary>::@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: <testLibrary>::@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: <testLibrary>::@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: <testLibrary>::@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: <testLibrary>::@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: <testLibrary>::@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: <testLibrary>::@function::foo
firstFragment: #F1
formalParameters
#E2 requiredPositional p1
#E0 requiredPositional p1
firstFragment: #F3
type: int Function<T>(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: <testLibrary>::@function::f::@formalParameter::a
parameters
#F3 requiredPositional isOriginDeclaration b (nameOffset:22) (firstTokenOffset:18) (offset:22)
element: b@22
functions
isOriginDeclaration isStatic f
reference: <testLibrary>::@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: <null>
returnType: void
''');
@@ -3116,11 +3060,6 @@ library
formalParameters
#F2 requiredPositional isOriginDeclaration g (nameOffset:2) (firstTokenOffset:2) (offset:2)
element: <testLibrary>::@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: <testLibrary>::@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: <testLibrary>::@function::f::@formalParameter::x
parameters
#F5 requiredPositional isOriginDeclaration u (nameOffset:19) (firstTokenOffset:17) (offset:19)
element: u@19
functions
isOriginDeclaration isStatic f
reference: <testLibrary>::@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
''');
}
@@ -2610,9 +2610,6 @@ library
element: <testLibrary>::@class::D::@method::f::@formalParameter::x
#F14 requiredPositional isOriginDeclaration g (nameOffset:102) (firstTokenOffset:100) (offset:102)
element: <testLibrary>::@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: <testLibrary>::@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: <testLibrary>::@class::D::@method::f::@formalParameter::x
#F10 requiredPositional isOriginDeclaration g (nameOffset:84) (firstTokenOffset:80) (offset:84)
element: <testLibrary>::@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: <testLibrary>::@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: <testLibrary>::@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: <testLibrary>::@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: <testLibrary>::@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: <testLibrary>::@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: <testLibrary>::@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: <testLibrary>::@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: <testLibrary>::@class::D::@field::f
''');
@@ -3417,17 +3372,11 @@ library
formalParameters
#F6 requiredPositional isOriginDeclaration x (nameOffset:10) (firstTokenOffset:6) (offset:10)
element: <testLibrary>::@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: <testLibrary>::@function::g
formalParameters
#F9 requiredPositional isOriginDeclaration x (nameOffset:45) (firstTokenOffset:41) (offset:45)
#F8 requiredPositional isOriginDeclaration x (nameOffset:45) (firstTokenOffset:41) (offset:45)
element: <testLibrary>::@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: <testLibrary>::@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: <testLibrary>::@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
''');
}
@@ -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;
+4
View File
@@ -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.
+2 -2
View File
@@ -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
+4
View File
@@ -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.
+2 -2
View File
@@ -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