Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1446)

Unified Diff: pkg/analyzer/lib/src/summary/format.dart

Issue 2657583007: Record isFinal for parameters into summaries. (Closed)
Patch Set: Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pkg/analyzer/lib/src/dart/element/element.dart ('k') | pkg/analyzer/lib/src/summary/format.fbs » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 8c6768a8ac493e6b642c9313f56e18a2070b0817..95f7186cded3701cdd587286bf6d5c4539a3a03f 100644
--- a/pkg/analyzer/lib/src/summary/format.dart
+++ b/pkg/analyzer/lib/src/summary/format.dart
@@ -7926,6 +7926,7 @@ class UnlinkedParamBuilder extends Object with _UnlinkedParamMixin implements id
int _inheritsCovariantSlot;
UnlinkedExecutableBuilder _initializer;
bool _isExplicitlyCovariant;
+ bool _isFinal;
bool _isFunctionTyped;
bool _isInitializingFormal;
idl.UnlinkedParamKind _kind;
@@ -8024,6 +8025,16 @@ class UnlinkedParamBuilder extends Object with _UnlinkedParamMixin implements id
}
@override
+ bool get isFinal => _isFinal ??= false;
+
+ /**
+ * Indicates whether the parameter is declared using the `final` keyword.
+ */
+ void set isFinal(bool value) {
+ this._isFinal = value;
+ }
+
+ @override
bool get isFunctionTyped => _isFunctionTyped ??= false;
/**
@@ -8119,7 +8130,7 @@ 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 isExplicitlyCovariant, 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 isFinal, 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,
@@ -8127,6 +8138,7 @@ class UnlinkedParamBuilder extends Object with _UnlinkedParamMixin implements id
_inheritsCovariantSlot = inheritsCovariantSlot,
_initializer = initializer,
_isExplicitlyCovariant = isExplicitlyCovariant,
+ _isFinal = isFinal,
_isFunctionTyped = isFunctionTyped,
_isInitializingFormal = isInitializingFormal,
_kind = kind,
@@ -8183,6 +8195,7 @@ class UnlinkedParamBuilder extends Object with _UnlinkedParamMixin implements id
this._initializer?.collectApiSignature(signature);
signature.addInt(this._inheritsCovariantSlot ?? 0);
signature.addBool(this._isExplicitlyCovariant == true);
+ signature.addBool(this._isFinal == true);
}
fb.Offset finish(fb.Builder fbBuilder) {
@@ -8236,6 +8249,9 @@ class UnlinkedParamBuilder extends Object with _UnlinkedParamMixin implements id
if (_isExplicitlyCovariant == true) {
fbBuilder.addBool(15, true);
}
+ if (_isFinal == true) {
+ fbBuilder.addBool(16, true);
+ }
if (_isFunctionTyped == true) {
fbBuilder.addBool(5, true);
}
@@ -8287,6 +8303,7 @@ class _UnlinkedParamImpl extends Object with _UnlinkedParamMixin implements idl.
int _inheritsCovariantSlot;
idl.UnlinkedExecutable _initializer;
bool _isExplicitlyCovariant;
+ bool _isFinal;
bool _isFunctionTyped;
bool _isInitializingFormal;
idl.UnlinkedParamKind _kind;
@@ -8340,6 +8357,12 @@ class _UnlinkedParamImpl extends Object with _UnlinkedParamMixin implements idl.
}
@override
+ bool get isFinal {
+ _isFinal ??= const fb.BoolReader().vTableGet(_bc, _bcOffset, 16, false);
+ return _isFinal;
+ }
+
+ @override
bool get isFunctionTyped {
_isFunctionTyped ??= const fb.BoolReader().vTableGet(_bc, _bcOffset, 5, false);
return _isFunctionTyped;
@@ -8405,6 +8428,7 @@ abstract class _UnlinkedParamMixin implements idl.UnlinkedParam {
if (inheritsCovariantSlot != 0) _result["inheritsCovariantSlot"] = inheritsCovariantSlot;
if (initializer != null) _result["initializer"] = initializer.toJson();
if (isExplicitlyCovariant != false) _result["isExplicitlyCovariant"] = isExplicitlyCovariant;
+ if (isFinal != false) _result["isFinal"] = isFinal;
if (isFunctionTyped != false) _result["isFunctionTyped"] = isFunctionTyped;
if (isInitializingFormal != false) _result["isInitializingFormal"] = isInitializingFormal;
if (kind != idl.UnlinkedParamKind.required) _result["kind"] = kind.toString().split('.')[1];
@@ -8426,6 +8450,7 @@ abstract class _UnlinkedParamMixin implements idl.UnlinkedParam {
"inheritsCovariantSlot": inheritsCovariantSlot,
"initializer": initializer,
"isExplicitlyCovariant": isExplicitlyCovariant,
+ "isFinal": isFinal,
"isFunctionTyped": isFunctionTyped,
"isInitializingFormal": isInitializingFormal,
"kind": kind,
« no previous file with comments | « pkg/analyzer/lib/src/dart/element/element.dart ('k') | pkg/analyzer/lib/src/summary/format.fbs » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698