| Index: pkg/analyzer/lib/src/summary/format.dart
|
| diff --git a/pkg/analyzer/lib/src/summary/format.dart b/pkg/analyzer/lib/src/summary/format.dart
|
| index c38e50bb8e24dbad0170bb3b9dc0b9be89db6160..8c6768a8ac493e6b642c9313f56e18a2070b0817 100644
|
| --- a/pkg/analyzer/lib/src/summary/format.dart
|
| +++ b/pkg/analyzer/lib/src/summary/format.dart
|
| @@ -7925,6 +7925,7 @@ class UnlinkedParamBuilder extends Object with _UnlinkedParamMixin implements id
|
| int _inferredTypeSlot;
|
| int _inheritsCovariantSlot;
|
| UnlinkedExecutableBuilder _initializer;
|
| + bool _isExplicitlyCovariant;
|
| bool _isFunctionTyped;
|
| bool _isInitializingFormal;
|
| idl.UnlinkedParamKind _kind;
|
| @@ -8013,6 +8014,16 @@ class UnlinkedParamBuilder extends Object with _UnlinkedParamMixin implements id
|
| }
|
|
|
| @override
|
| + bool get isExplicitlyCovariant => _isExplicitlyCovariant ??= false;
|
| +
|
| + /**
|
| + * Indicates whether this parameter is explicitly marked as being covariant.
|
| + */
|
| + void set isExplicitlyCovariant(bool value) {
|
| + this._isExplicitlyCovariant = value;
|
| + }
|
| +
|
| + @override
|
| bool get isFunctionTyped => _isFunctionTyped ??= false;
|
|
|
| /**
|
| @@ -8108,13 +8119,14 @@ class UnlinkedParamBuilder extends Object with _UnlinkedParamMixin implements id
|
| this._visibleOffset = value;
|
| }
|
|
|
| - UnlinkedParamBuilder({List<UnlinkedExprBuilder> annotations, CodeRangeBuilder codeRange, String defaultValueCode, int inferredTypeSlot, int inheritsCovariantSlot, UnlinkedExecutableBuilder initializer, bool isFunctionTyped, bool isInitializingFormal, idl.UnlinkedParamKind kind, String name, int nameOffset, List<UnlinkedParamBuilder> parameters, EntityRefBuilder type, int visibleLength, int visibleOffset})
|
| + UnlinkedParamBuilder({List<UnlinkedExprBuilder> annotations, CodeRangeBuilder codeRange, String defaultValueCode, int inferredTypeSlot, int inheritsCovariantSlot, UnlinkedExecutableBuilder initializer, bool isExplicitlyCovariant, bool isFunctionTyped, bool isInitializingFormal, idl.UnlinkedParamKind kind, String name, int nameOffset, List<UnlinkedParamBuilder> parameters, EntityRefBuilder type, int visibleLength, int visibleOffset})
|
| : _annotations = annotations,
|
| _codeRange = codeRange,
|
| _defaultValueCode = defaultValueCode,
|
| _inferredTypeSlot = inferredTypeSlot,
|
| _inheritsCovariantSlot = inheritsCovariantSlot,
|
| _initializer = initializer,
|
| + _isExplicitlyCovariant = isExplicitlyCovariant,
|
| _isFunctionTyped = isFunctionTyped,
|
| _isInitializingFormal = isInitializingFormal,
|
| _kind = kind,
|
| @@ -8170,6 +8182,7 @@ class UnlinkedParamBuilder extends Object with _UnlinkedParamMixin implements id
|
| signature.addBool(this._initializer != null);
|
| this._initializer?.collectApiSignature(signature);
|
| signature.addInt(this._inheritsCovariantSlot ?? 0);
|
| + signature.addBool(this._isExplicitlyCovariant == true);
|
| }
|
|
|
| fb.Offset finish(fb.Builder fbBuilder) {
|
| @@ -8220,6 +8233,9 @@ class UnlinkedParamBuilder extends Object with _UnlinkedParamMixin implements id
|
| if (offset_initializer != null) {
|
| fbBuilder.addOffset(12, offset_initializer);
|
| }
|
| + if (_isExplicitlyCovariant == true) {
|
| + fbBuilder.addBool(15, true);
|
| + }
|
| if (_isFunctionTyped == true) {
|
| fbBuilder.addBool(5, true);
|
| }
|
| @@ -8270,6 +8286,7 @@ class _UnlinkedParamImpl extends Object with _UnlinkedParamMixin implements idl.
|
| int _inferredTypeSlot;
|
| int _inheritsCovariantSlot;
|
| idl.UnlinkedExecutable _initializer;
|
| + bool _isExplicitlyCovariant;
|
| bool _isFunctionTyped;
|
| bool _isInitializingFormal;
|
| idl.UnlinkedParamKind _kind;
|
| @@ -8317,6 +8334,12 @@ class _UnlinkedParamImpl extends Object with _UnlinkedParamMixin implements idl.
|
| }
|
|
|
| @override
|
| + bool get isExplicitlyCovariant {
|
| + _isExplicitlyCovariant ??= const fb.BoolReader().vTableGet(_bc, _bcOffset, 15, false);
|
| + return _isExplicitlyCovariant;
|
| + }
|
| +
|
| + @override
|
| bool get isFunctionTyped {
|
| _isFunctionTyped ??= const fb.BoolReader().vTableGet(_bc, _bcOffset, 5, false);
|
| return _isFunctionTyped;
|
| @@ -8381,6 +8404,7 @@ abstract class _UnlinkedParamMixin implements idl.UnlinkedParam {
|
| if (inferredTypeSlot != 0) _result["inferredTypeSlot"] = inferredTypeSlot;
|
| if (inheritsCovariantSlot != 0) _result["inheritsCovariantSlot"] = inheritsCovariantSlot;
|
| if (initializer != null) _result["initializer"] = initializer.toJson();
|
| + if (isExplicitlyCovariant != false) _result["isExplicitlyCovariant"] = isExplicitlyCovariant;
|
| if (isFunctionTyped != false) _result["isFunctionTyped"] = isFunctionTyped;
|
| if (isInitializingFormal != false) _result["isInitializingFormal"] = isInitializingFormal;
|
| if (kind != idl.UnlinkedParamKind.required) _result["kind"] = kind.toString().split('.')[1];
|
| @@ -8401,6 +8425,7 @@ abstract class _UnlinkedParamMixin implements idl.UnlinkedParam {
|
| "inferredTypeSlot": inferredTypeSlot,
|
| "inheritsCovariantSlot": inheritsCovariantSlot,
|
| "initializer": initializer,
|
| + "isExplicitlyCovariant": isExplicitlyCovariant,
|
| "isFunctionTyped": isFunctionTyped,
|
| "isInitializingFormal": isInitializingFormal,
|
| "kind": kind,
|
| @@ -10254,6 +10279,7 @@ class UnlinkedVariableBuilder extends Object with _UnlinkedVariableMixin impleme
|
| int _inferredTypeSlot;
|
| UnlinkedExecutableBuilder _initializer;
|
| bool _isConst;
|
| + bool _isCovariant;
|
| bool _isFinal;
|
| bool _isStatic;
|
| String _name;
|
| @@ -10330,6 +10356,17 @@ class UnlinkedVariableBuilder extends Object with _UnlinkedVariableMixin impleme
|
| }
|
|
|
| @override
|
| + bool get isCovariant => _isCovariant ??= false;
|
| +
|
| + /**
|
| + * Indicates whether this variable is declared using the `covariant` keyword.
|
| + * This should be false for everything except instance fields.
|
| + */
|
| + void set isCovariant(bool value) {
|
| + this._isCovariant = value;
|
| + }
|
| +
|
| + @override
|
| bool get isFinal => _isFinal ??= false;
|
|
|
| /**
|
| @@ -10422,13 +10459,14 @@ class UnlinkedVariableBuilder extends Object with _UnlinkedVariableMixin impleme
|
| this._visibleOffset = value;
|
| }
|
|
|
| - UnlinkedVariableBuilder({List<UnlinkedExprBuilder> annotations, CodeRangeBuilder codeRange, UnlinkedDocumentationCommentBuilder documentationComment, int inferredTypeSlot, UnlinkedExecutableBuilder initializer, bool isConst, bool isFinal, bool isStatic, String name, int nameOffset, int propagatedTypeSlot, EntityRefBuilder type, int visibleLength, int visibleOffset})
|
| + UnlinkedVariableBuilder({List<UnlinkedExprBuilder> annotations, CodeRangeBuilder codeRange, UnlinkedDocumentationCommentBuilder documentationComment, int inferredTypeSlot, UnlinkedExecutableBuilder initializer, bool isConst, bool isCovariant, bool isFinal, bool isStatic, String name, int nameOffset, int propagatedTypeSlot, EntityRefBuilder type, int visibleLength, int visibleOffset})
|
| : _annotations = annotations,
|
| _codeRange = codeRange,
|
| _documentationComment = documentationComment,
|
| _inferredTypeSlot = inferredTypeSlot,
|
| _initializer = initializer,
|
| _isConst = isConst,
|
| + _isCovariant = isCovariant,
|
| _isFinal = isFinal,
|
| _isStatic = isStatic,
|
| _name = name,
|
| @@ -10474,6 +10512,7 @@ class UnlinkedVariableBuilder extends Object with _UnlinkedVariableMixin impleme
|
| signature.addInt(this._inferredTypeSlot ?? 0);
|
| signature.addBool(this._initializer != null);
|
| this._initializer?.collectApiSignature(signature);
|
| + signature.addBool(this._isCovariant == true);
|
| }
|
|
|
| fb.Offset finish(fb.Builder fbBuilder) {
|
| @@ -10520,6 +10559,9 @@ class UnlinkedVariableBuilder extends Object with _UnlinkedVariableMixin impleme
|
| if (_isConst == true) {
|
| fbBuilder.addBool(6, true);
|
| }
|
| + if (_isCovariant == true) {
|
| + fbBuilder.addBool(14, true);
|
| + }
|
| if (_isFinal == true) {
|
| fbBuilder.addBool(7, true);
|
| }
|
| @@ -10567,6 +10609,7 @@ class _UnlinkedVariableImpl extends Object with _UnlinkedVariableMixin implement
|
| int _inferredTypeSlot;
|
| idl.UnlinkedExecutable _initializer;
|
| bool _isConst;
|
| + bool _isCovariant;
|
| bool _isFinal;
|
| bool _isStatic;
|
| String _name;
|
| @@ -10613,6 +10656,12 @@ class _UnlinkedVariableImpl extends Object with _UnlinkedVariableMixin implement
|
| }
|
|
|
| @override
|
| + bool get isCovariant {
|
| + _isCovariant ??= const fb.BoolReader().vTableGet(_bc, _bcOffset, 14, false);
|
| + return _isCovariant;
|
| + }
|
| +
|
| + @override
|
| bool get isFinal {
|
| _isFinal ??= const fb.BoolReader().vTableGet(_bc, _bcOffset, 7, false);
|
| return _isFinal;
|
| @@ -10671,6 +10720,7 @@ abstract class _UnlinkedVariableMixin implements idl.UnlinkedVariable {
|
| if (inferredTypeSlot != 0) _result["inferredTypeSlot"] = inferredTypeSlot;
|
| if (initializer != null) _result["initializer"] = initializer.toJson();
|
| if (isConst != false) _result["isConst"] = isConst;
|
| + if (isCovariant != false) _result["isCovariant"] = isCovariant;
|
| if (isFinal != false) _result["isFinal"] = isFinal;
|
| if (isStatic != false) _result["isStatic"] = isStatic;
|
| if (name != '') _result["name"] = name;
|
| @@ -10690,6 +10740,7 @@ abstract class _UnlinkedVariableMixin implements idl.UnlinkedVariable {
|
| "inferredTypeSlot": inferredTypeSlot,
|
| "initializer": initializer,
|
| "isConst": isConst,
|
| + "isCovariant": isCovariant,
|
| "isFinal": isFinal,
|
| "isStatic": isStatic,
|
| "name": name,
|
|
|