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 bbed56eb2362f4f84863bfeb6b30ecedd852d2b1..d88c36a8e54335655a2ce28edc857357df51ea24 100644 |
--- a/pkg/analyzer/lib/src/summary/format.dart |
+++ b/pkg/analyzer/lib/src/summary/format.dart |
@@ -216,6 +216,17 @@ class CacheAnalysisErrorBuilder extends Object with _CacheAnalysisErrorMixin imp |
void flushInformative() { |
} |
+ /** |
+ * Accumulate non-[informative] data into [signature]. |
+ */ |
+ void collectApiSignature(fb.ApiSignature signature) { |
+ signature.addString(this._errorCodeUniqueName ?? ''); |
+ signature.addInt(this._offset ?? 0); |
+ signature.addInt(this._length ?? 0); |
+ signature.addString(this._message ?? ''); |
+ signature.addString(this._correction ?? ''); |
+ } |
+ |
fb.Offset finish(fb.Builder fbBuilder) { |
fb.Offset offset_correction; |
fb.Offset offset_errorCodeUniqueName; |
@@ -385,6 +396,37 @@ class CacheSourceContentBuilder extends Object with _CacheSourceContentMixin imp |
void flushInformative() { |
} |
+ /** |
+ * Accumulate non-[informative] data into [signature]. |
+ */ |
+ void collectApiSignature(fb.ApiSignature signature) { |
+ signature.addInt(this._kind == null ? 0 : this._kind.index); |
+ if (this._importedUris == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._importedUris.length); |
+ for (var x in this._importedUris) { |
+ signature.addString(x); |
+ } |
+ } |
+ if (this._exportedUris == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._exportedUris.length); |
+ for (var x in this._exportedUris) { |
+ signature.addString(x); |
+ } |
+ } |
+ if (this._partUris == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._partUris.length); |
+ for (var x in this._partUris) { |
+ signature.addString(x); |
+ } |
+ } |
+ } |
+ |
List<int> toBuffer() { |
fb.Builder fbBuilder = new fb.Builder(); |
return fbBuilder.finish(finish(fbBuilder), "CaSS"); |
@@ -514,6 +556,20 @@ class CacheSourceErrorsInLibraryBuilder extends Object with _CacheSourceErrorsIn |
_errors?.forEach((b) => b.flushInformative()); |
} |
+ /** |
+ * Accumulate non-[informative] data into [signature]. |
+ */ |
+ void collectApiSignature(fb.ApiSignature signature) { |
+ if (this._errors == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._errors.length); |
+ for (var x in this._errors) { |
+ x?.collectApiSignature(signature); |
+ } |
+ } |
+ } |
+ |
List<int> toBuffer() { |
fb.Builder fbBuilder = new fb.Builder(); |
return fbBuilder.finish(finish(fbBuilder), "CSEL"); |
@@ -612,6 +668,14 @@ class CodeRangeBuilder extends Object with _CodeRangeMixin implements idl.CodeRa |
void flushInformative() { |
} |
+ /** |
+ * Accumulate non-[informative] data into [signature]. |
+ */ |
+ void collectApiSignature(fb.ApiSignature signature) { |
+ signature.addInt(this._offset ?? 0); |
+ signature.addInt(this._length ?? 0); |
+ } |
+ |
fb.Offset finish(fb.Builder fbBuilder) { |
fbBuilder.startTable(); |
if (_length != null && _length != 0) { |
@@ -820,6 +884,41 @@ class EntityRefBuilder extends Object with _EntityRefMixin implements idl.Entity |
_typeArguments?.forEach((b) => b.flushInformative()); |
} |
+ /** |
+ * Accumulate non-[informative] data into [signature]. |
+ */ |
+ void collectApiSignature(fb.ApiSignature signature) { |
+ signature.addInt(this._reference ?? 0); |
+ if (this._typeArguments == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._typeArguments.length); |
+ for (var x in this._typeArguments) { |
+ x?.collectApiSignature(signature); |
+ } |
+ } |
+ signature.addInt(this._slot ?? 0); |
+ signature.addInt(this._paramReference ?? 0); |
+ if (this._implicitFunctionTypeIndices == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._implicitFunctionTypeIndices.length); |
+ for (var x in this._implicitFunctionTypeIndices) { |
+ signature.addInt(x); |
+ } |
+ } |
+ signature.addBool(this._syntheticReturnType != null); |
+ this._syntheticReturnType?.collectApiSignature(signature); |
+ if (this._syntheticParams == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._syntheticParams.length); |
+ for (var x in this._syntheticParams) { |
+ x?.collectApiSignature(signature); |
+ } |
+ } |
+ } |
+ |
fb.Offset finish(fb.Builder fbBuilder) { |
fb.Offset offset_implicitFunctionTypeIndices; |
fb.Offset offset_syntheticParams; |
@@ -995,6 +1094,21 @@ class LinkedDependencyBuilder extends Object with _LinkedDependencyMixin impleme |
void flushInformative() { |
} |
+ /** |
+ * Accumulate non-[informative] data into [signature]. |
+ */ |
+ void collectApiSignature(fb.ApiSignature signature) { |
+ signature.addString(this._uri ?? ''); |
+ if (this._parts == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._parts.length); |
+ for (var x in this._parts) { |
+ signature.addString(x); |
+ } |
+ } |
+ } |
+ |
fb.Offset finish(fb.Builder fbBuilder) { |
fb.Offset offset_parts; |
fb.Offset offset_uri; |
@@ -1128,6 +1242,16 @@ class LinkedExportNameBuilder extends Object with _LinkedExportNameMixin impleme |
void flushInformative() { |
} |
+ /** |
+ * Accumulate non-[informative] data into [signature]. |
+ */ |
+ void collectApiSignature(fb.ApiSignature signature) { |
+ signature.addInt(this._dependency ?? 0); |
+ signature.addString(this._name ?? ''); |
+ signature.addInt(this._unit ?? 0); |
+ signature.addInt(this._kind == null ? 0 : this._kind.index); |
+ } |
+ |
fb.Offset finish(fb.Builder fbBuilder) { |
fb.Offset offset_name; |
if (_name != null) { |
@@ -1341,6 +1465,54 @@ class LinkedLibraryBuilder extends Object with _LinkedLibraryMixin implements id |
_units?.forEach((b) => b.flushInformative()); |
} |
+ /** |
+ * Accumulate non-[informative] data into [signature]. |
+ */ |
+ void collectApiSignature(fb.ApiSignature signature) { |
+ if (this._dependencies == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._dependencies.length); |
+ for (var x in this._dependencies) { |
+ x?.collectApiSignature(signature); |
+ } |
+ } |
+ if (this._importDependencies == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._importDependencies.length); |
+ for (var x in this._importDependencies) { |
+ signature.addInt(x); |
+ } |
+ } |
+ signature.addInt(this._numPrelinkedDependencies ?? 0); |
+ if (this._units == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._units.length); |
+ for (var x in this._units) { |
+ x?.collectApiSignature(signature); |
+ } |
+ } |
+ if (this._exportNames == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._exportNames.length); |
+ for (var x in this._exportNames) { |
+ x?.collectApiSignature(signature); |
+ } |
+ } |
+ signature.addBool(this._fallbackMode == true); |
+ if (this._exportDependencies == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._exportDependencies.length); |
+ for (var x in this._exportDependencies) { |
+ signature.addInt(x); |
+ } |
+ } |
+ } |
+ |
List<int> toBuffer() { |
fb.Builder fbBuilder = new fb.Builder(); |
return fbBuilder.finish(finish(fbBuilder), "LLib"); |
@@ -1617,6 +1789,19 @@ class LinkedReferenceBuilder extends Object with _LinkedReferenceMixin implement |
void flushInformative() { |
} |
+ /** |
+ * Accumulate non-[informative] data into [signature]. |
+ */ |
+ void collectApiSignature(fb.ApiSignature signature) { |
+ signature.addInt(this._unit ?? 0); |
+ signature.addInt(this._dependency ?? 0); |
+ signature.addInt(this._kind == null ? 0 : this._kind.index); |
+ signature.addString(this._name ?? ''); |
+ signature.addInt(this._numTypeParameters ?? 0); |
+ signature.addInt(this._containingReference ?? 0); |
+ signature.addInt(this._localIndex ?? 0); |
+ } |
+ |
fb.Offset finish(fb.Builder fbBuilder) { |
fb.Offset offset_name; |
if (_name != null) { |
@@ -1797,6 +1982,36 @@ class LinkedUnitBuilder extends Object with _LinkedUnitMixin implements idl.Link |
_types?.forEach((b) => b.flushInformative()); |
} |
+ /** |
+ * Accumulate non-[informative] data into [signature]. |
+ */ |
+ void collectApiSignature(fb.ApiSignature signature) { |
+ if (this._references == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._references.length); |
+ for (var x in this._references) { |
+ x?.collectApiSignature(signature); |
+ } |
+ } |
+ if (this._types == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._types.length); |
+ for (var x in this._types) { |
+ x?.collectApiSignature(signature); |
+ } |
+ } |
+ if (this._constCycles == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._constCycles.length); |
+ for (var x in this._constCycles) { |
+ signature.addInt(x); |
+ } |
+ } |
+ } |
+ |
fb.Offset finish(fb.Builder fbBuilder) { |
fb.Offset offset_constCycles; |
fb.Offset offset_references; |
@@ -1882,6 +2097,7 @@ abstract class _LinkedUnitMixin implements idl.LinkedUnit { |
} |
class PackageBundleBuilder extends Object with _PackageBundleMixin implements idl.PackageBundle { |
+ String _apiSignature; |
List<LinkedLibraryBuilder> _linkedLibraries; |
List<String> _linkedLibraryUris; |
int _majorVersion; |
@@ -1891,6 +2107,18 @@ class PackageBundleBuilder extends Object with _PackageBundleMixin implements id |
List<String> _unlinkedUnitUris; |
@override |
+ String get apiSignature => _apiSignature ??= ''; |
+ |
+ /** |
+ * MD5 hash of the non-informative fields of the [PackageBundle] (not |
+ * including this one). This can be used to identify when the API of a |
+ * package may have changed. |
+ */ |
+ void set apiSignature(String _value) { |
+ _apiSignature = _value; |
+ } |
+ |
+ @override |
List<LinkedLibraryBuilder> get linkedLibraries => _linkedLibraries ??= <LinkedLibraryBuilder>[]; |
/** |
@@ -1966,8 +2194,9 @@ class PackageBundleBuilder extends Object with _PackageBundleMixin implements id |
_unlinkedUnitUris = _value; |
} |
- PackageBundleBuilder({List<LinkedLibraryBuilder> linkedLibraries, List<String> linkedLibraryUris, int majorVersion, int minorVersion, List<String> unlinkedUnitHashes, List<UnlinkedUnitBuilder> unlinkedUnits, List<String> unlinkedUnitUris}) |
- : _linkedLibraries = linkedLibraries, |
+ PackageBundleBuilder({String apiSignature, List<LinkedLibraryBuilder> linkedLibraries, List<String> linkedLibraryUris, int majorVersion, int minorVersion, List<String> unlinkedUnitHashes, List<UnlinkedUnitBuilder> unlinkedUnits, List<String> unlinkedUnitUris}) |
+ : _apiSignature = apiSignature, |
+ _linkedLibraries = linkedLibraries, |
_linkedLibraryUris = linkedLibraryUris, |
_majorVersion = majorVersion, |
_minorVersion = minorVersion, |
@@ -1984,17 +2213,62 @@ class PackageBundleBuilder extends Object with _PackageBundleMixin implements id |
_unlinkedUnits?.forEach((b) => b.flushInformative()); |
} |
+ /** |
+ * Accumulate non-[informative] data into [signature]. |
+ */ |
+ void collectApiSignature(fb.ApiSignature signature) { |
+ if (this._linkedLibraries == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._linkedLibraries.length); |
+ for (var x in this._linkedLibraries) { |
+ x?.collectApiSignature(signature); |
+ } |
+ } |
+ if (this._linkedLibraryUris == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._linkedLibraryUris.length); |
+ for (var x in this._linkedLibraryUris) { |
+ signature.addString(x); |
+ } |
+ } |
+ if (this._unlinkedUnits == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._unlinkedUnits.length); |
+ for (var x in this._unlinkedUnits) { |
+ x?.collectApiSignature(signature); |
+ } |
+ } |
+ if (this._unlinkedUnitUris == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._unlinkedUnitUris.length); |
+ for (var x in this._unlinkedUnitUris) { |
+ signature.addString(x); |
+ } |
+ } |
+ signature.addInt(this._majorVersion ?? 0); |
+ signature.addInt(this._minorVersion ?? 0); |
+ signature.addString(this._apiSignature ?? ''); |
+ } |
+ |
List<int> toBuffer() { |
fb.Builder fbBuilder = new fb.Builder(); |
return fbBuilder.finish(finish(fbBuilder), "PBdl"); |
} |
fb.Offset finish(fb.Builder fbBuilder) { |
+ fb.Offset offset_apiSignature; |
fb.Offset offset_linkedLibraries; |
fb.Offset offset_linkedLibraryUris; |
fb.Offset offset_unlinkedUnitHashes; |
fb.Offset offset_unlinkedUnits; |
fb.Offset offset_unlinkedUnitUris; |
+ if (_apiSignature != null) { |
+ offset_apiSignature = fbBuilder.writeString(_apiSignature); |
+ } |
if (!(_linkedLibraries == null || _linkedLibraries.isEmpty)) { |
offset_linkedLibraries = fbBuilder.writeList(_linkedLibraries.map((b) => b.finish(fbBuilder)).toList()); |
} |
@@ -2011,6 +2285,9 @@ class PackageBundleBuilder extends Object with _PackageBundleMixin implements id |
offset_unlinkedUnitUris = fbBuilder.writeList(_unlinkedUnitUris.map((b) => fbBuilder.writeString(b)).toList()); |
} |
fbBuilder.startTable(); |
+ if (offset_apiSignature != null) { |
+ fbBuilder.addOffset(7, offset_apiSignature); |
+ } |
if (offset_linkedLibraries != null) { |
fbBuilder.addOffset(0, offset_linkedLibraries); |
} |
@@ -2054,6 +2331,7 @@ class _PackageBundleImpl extends Object with _PackageBundleMixin implements idl. |
_PackageBundleImpl(this._bc, this._bcOffset); |
+ String _apiSignature; |
List<idl.LinkedLibrary> _linkedLibraries; |
List<String> _linkedLibraryUris; |
int _majorVersion; |
@@ -2063,6 +2341,12 @@ class _PackageBundleImpl extends Object with _PackageBundleMixin implements idl. |
List<String> _unlinkedUnitUris; |
@override |
+ String get apiSignature { |
+ _apiSignature ??= const fb.StringReader().vTableGet(_bc, _bcOffset, 7, ''); |
+ return _apiSignature; |
+ } |
+ |
+ @override |
List<idl.LinkedLibrary> get linkedLibraries { |
_linkedLibraries ??= const fb.ListReader<idl.LinkedLibrary>(const _LinkedLibraryReader()).vTableGet(_bc, _bcOffset, 0, const <idl.LinkedLibrary>[]); |
return _linkedLibraries; |
@@ -2109,6 +2393,7 @@ abstract class _PackageBundleMixin implements idl.PackageBundle { |
@override |
Map<String, Object> toJson() { |
Map<String, Object> _result = <String, Object>{}; |
+ if (apiSignature != '') _result["apiSignature"] = apiSignature; |
if (linkedLibraries.isNotEmpty) _result["linkedLibraries"] = linkedLibraries.map((_value) => _value.toJson()).toList(); |
if (linkedLibraryUris.isNotEmpty) _result["linkedLibraryUris"] = linkedLibraryUris; |
if (majorVersion != 0) _result["majorVersion"] = majorVersion; |
@@ -2121,6 +2406,7 @@ abstract class _PackageBundleMixin implements idl.PackageBundle { |
@override |
Map<String, Object> toMap() => { |
+ "apiSignature": apiSignature, |
"linkedLibraries": linkedLibraries, |
"linkedLibraryUris": linkedLibraryUris, |
"majorVersion": majorVersion, |
@@ -2279,6 +2565,84 @@ class PackageIndexBuilder extends Object with _PackageIndexMixin implements idl. |
_units?.forEach((b) => b.flushInformative()); |
} |
+ /** |
+ * Accumulate non-[informative] data into [signature]. |
+ */ |
+ void collectApiSignature(fb.ApiSignature signature) { |
+ if (this._elementUnits == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._elementUnits.length); |
+ for (var x in this._elementUnits) { |
+ signature.addInt(x); |
+ } |
+ } |
+ if (this._elementNameUnitMemberIds == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._elementNameUnitMemberIds.length); |
+ for (var x in this._elementNameUnitMemberIds) { |
+ signature.addInt(x); |
+ } |
+ } |
+ if (this._unitLibraryUris == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._unitLibraryUris.length); |
+ for (var x in this._unitLibraryUris) { |
+ signature.addInt(x); |
+ } |
+ } |
+ if (this._unitUnitUris == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._unitUnitUris.length); |
+ for (var x in this._unitUnitUris) { |
+ signature.addInt(x); |
+ } |
+ } |
+ if (this._units == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._units.length); |
+ for (var x in this._units) { |
+ x?.collectApiSignature(signature); |
+ } |
+ } |
+ if (this._elementKinds == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._elementKinds.length); |
+ for (var x in this._elementKinds) { |
+ signature.addInt(x.index); |
+ } |
+ } |
+ if (this._strings == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._strings.length); |
+ for (var x in this._strings) { |
+ signature.addString(x); |
+ } |
+ } |
+ if (this._elementNameClassMemberIds == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._elementNameClassMemberIds.length); |
+ for (var x in this._elementNameClassMemberIds) { |
+ signature.addInt(x); |
+ } |
+ } |
+ if (this._elementNameParameterIds == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._elementNameParameterIds.length); |
+ for (var x in this._elementNameParameterIds) { |
+ signature.addInt(x); |
+ } |
+ } |
+ } |
+ |
List<int> toBuffer() { |
fb.Builder fbBuilder = new fb.Builder(); |
return fbBuilder.finish(finish(fbBuilder), "Indx"); |
@@ -2656,6 +3020,109 @@ class UnitIndexBuilder extends Object with _UnitIndexMixin implements idl.UnitIn |
void flushInformative() { |
} |
+ /** |
+ * Accumulate non-[informative] data into [signature]. |
+ */ |
+ void collectApiSignature(fb.ApiSignature signature) { |
+ signature.addInt(this._unit ?? 0); |
+ if (this._usedElementLengths == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._usedElementLengths.length); |
+ for (var x in this._usedElementLengths) { |
+ signature.addInt(x); |
+ } |
+ } |
+ if (this._usedElementOffsets == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._usedElementOffsets.length); |
+ for (var x in this._usedElementOffsets) { |
+ signature.addInt(x); |
+ } |
+ } |
+ if (this._usedElements == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._usedElements.length); |
+ for (var x in this._usedElements) { |
+ signature.addInt(x); |
+ } |
+ } |
+ if (this._usedElementKinds == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._usedElementKinds.length); |
+ for (var x in this._usedElementKinds) { |
+ signature.addInt(x.index); |
+ } |
+ } |
+ if (this._definedNames == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._definedNames.length); |
+ for (var x in this._definedNames) { |
+ signature.addInt(x); |
+ } |
+ } |
+ if (this._definedNameKinds == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._definedNameKinds.length); |
+ for (var x in this._definedNameKinds) { |
+ signature.addInt(x.index); |
+ } |
+ } |
+ if (this._definedNameOffsets == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._definedNameOffsets.length); |
+ for (var x in this._definedNameOffsets) { |
+ signature.addInt(x); |
+ } |
+ } |
+ if (this._usedNames == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._usedNames.length); |
+ for (var x in this._usedNames) { |
+ signature.addInt(x); |
+ } |
+ } |
+ if (this._usedNameOffsets == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._usedNameOffsets.length); |
+ for (var x in this._usedNameOffsets) { |
+ signature.addInt(x); |
+ } |
+ } |
+ if (this._usedNameKinds == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._usedNameKinds.length); |
+ for (var x in this._usedNameKinds) { |
+ signature.addInt(x.index); |
+ } |
+ } |
+ if (this._usedElementIsQualifiedFlags == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._usedElementIsQualifiedFlags.length); |
+ for (var x in this._usedElementIsQualifiedFlags) { |
+ signature.addBool(x); |
+ } |
+ } |
+ if (this._usedNameIsQualifiedFlags == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._usedNameIsQualifiedFlags.length); |
+ for (var x in this._usedNameIsQualifiedFlags) { |
+ signature.addBool(x); |
+ } |
+ } |
+ } |
+ |
fb.Offset finish(fb.Builder fbBuilder) { |
fb.Offset offset_definedNameKinds; |
fb.Offset offset_definedNameOffsets; |
@@ -3089,6 +3556,66 @@ class UnlinkedClassBuilder extends Object with _UnlinkedClassMixin implements id |
_typeParameters?.forEach((b) => b.flushInformative()); |
} |
+ /** |
+ * Accumulate non-[informative] data into [signature]. |
+ */ |
+ void collectApiSignature(fb.ApiSignature signature) { |
+ signature.addString(this._name ?? ''); |
+ if (this._executables == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._executables.length); |
+ for (var x in this._executables) { |
+ x?.collectApiSignature(signature); |
+ } |
+ } |
+ signature.addBool(this._supertype != null); |
+ this._supertype?.collectApiSignature(signature); |
+ if (this._fields == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._fields.length); |
+ for (var x in this._fields) { |
+ x?.collectApiSignature(signature); |
+ } |
+ } |
+ if (this._annotations == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._annotations.length); |
+ for (var x in this._annotations) { |
+ x?.collectApiSignature(signature); |
+ } |
+ } |
+ if (this._interfaces == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._interfaces.length); |
+ for (var x in this._interfaces) { |
+ x?.collectApiSignature(signature); |
+ } |
+ } |
+ signature.addBool(this._isAbstract == true); |
+ if (this._typeParameters == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._typeParameters.length); |
+ for (var x in this._typeParameters) { |
+ x?.collectApiSignature(signature); |
+ } |
+ } |
+ if (this._mixins == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._mixins.length); |
+ for (var x in this._mixins) { |
+ x?.collectApiSignature(signature); |
+ } |
+ } |
+ signature.addBool(this._isMixinApplication == true); |
+ signature.addBool(this._hasNoSupertype == true); |
+ } |
+ |
fb.Offset finish(fb.Builder fbBuilder) { |
fb.Offset offset_annotations; |
fb.Offset offset_codeRange; |
@@ -3397,6 +3924,28 @@ class UnlinkedCombinatorBuilder extends Object with _UnlinkedCombinatorMixin imp |
_offset = null; |
} |
+ /** |
+ * Accumulate non-[informative] data into [signature]. |
+ */ |
+ void collectApiSignature(fb.ApiSignature signature) { |
+ if (this._shows == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._shows.length); |
+ for (var x in this._shows) { |
+ signature.addString(x); |
+ } |
+ } |
+ if (this._hides == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._hides.length); |
+ for (var x in this._hides) { |
+ signature.addString(x); |
+ } |
+ } |
+ } |
+ |
fb.Offset finish(fb.Builder fbBuilder) { |
fb.Offset offset_hides; |
fb.Offset offset_shows; |
@@ -3593,6 +4142,61 @@ class UnlinkedConstBuilder extends Object with _UnlinkedConstMixin implements id |
_references?.forEach((b) => b.flushInformative()); |
} |
+ /** |
+ * Accumulate non-[informative] data into [signature]. |
+ */ |
+ void collectApiSignature(fb.ApiSignature signature) { |
+ if (this._operations == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._operations.length); |
+ for (var x in this._operations) { |
+ signature.addInt(x.index); |
+ } |
+ } |
+ if (this._ints == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._ints.length); |
+ for (var x in this._ints) { |
+ signature.addInt(x); |
+ } |
+ } |
+ if (this._references == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._references.length); |
+ for (var x in this._references) { |
+ x?.collectApiSignature(signature); |
+ } |
+ } |
+ if (this._strings == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._strings.length); |
+ for (var x in this._strings) { |
+ signature.addString(x); |
+ } |
+ } |
+ if (this._doubles == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._doubles.length); |
+ for (var x in this._doubles) { |
+ signature.addDouble(x); |
+ } |
+ } |
+ signature.addBool(this._isValidConst == true); |
+ if (this._assignmentOperators == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._assignmentOperators.length); |
+ for (var x in this._assignmentOperators) { |
+ signature.addInt(x.index); |
+ } |
+ } |
+ } |
+ |
fb.Offset finish(fb.Builder fbBuilder) { |
fb.Offset offset_assignmentOperators; |
fb.Offset offset_doubles; |
@@ -3816,6 +4420,32 @@ class UnlinkedConstructorInitializerBuilder extends Object with _UnlinkedConstru |
_expression?.flushInformative(); |
} |
+ /** |
+ * Accumulate non-[informative] data into [signature]. |
+ */ |
+ void collectApiSignature(fb.ApiSignature signature) { |
+ signature.addString(this._name ?? ''); |
+ signature.addBool(this._expression != null); |
+ this._expression?.collectApiSignature(signature); |
+ signature.addInt(this._kind == null ? 0 : this._kind.index); |
+ if (this._arguments == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._arguments.length); |
+ for (var x in this._arguments) { |
+ x?.collectApiSignature(signature); |
+ } |
+ } |
+ if (this._argumentNames == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._argumentNames.length); |
+ for (var x in this._argumentNames) { |
+ signature.addString(x); |
+ } |
+ } |
+ } |
+ |
fb.Offset finish(fb.Builder fbBuilder) { |
fb.Offset offset_argumentNames; |
fb.Offset offset_arguments; |
@@ -3980,6 +4610,15 @@ class UnlinkedDocumentationCommentBuilder extends Object with _UnlinkedDocumenta |
void flushInformative() { |
} |
+ /** |
+ * Accumulate non-[informative] data into [signature]. |
+ */ |
+ void collectApiSignature(fb.ApiSignature signature) { |
+ signature.addInt(this._length ?? 0); |
+ signature.addString(this._text ?? ''); |
+ signature.addInt(this._offset ?? 0); |
+ } |
+ |
fb.Offset finish(fb.Builder fbBuilder) { |
fb.Offset offset_text; |
if (_text != null) { |
@@ -4145,6 +4784,29 @@ class UnlinkedEnumBuilder extends Object with _UnlinkedEnumMixin implements idl. |
_values?.forEach((b) => b.flushInformative()); |
} |
+ /** |
+ * Accumulate non-[informative] data into [signature]. |
+ */ |
+ void collectApiSignature(fb.ApiSignature signature) { |
+ signature.addString(this._name ?? ''); |
+ if (this._values == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._values.length); |
+ for (var x in this._values) { |
+ x?.collectApiSignature(signature); |
+ } |
+ } |
+ if (this._annotations == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._annotations.length); |
+ for (var x in this._annotations) { |
+ x?.collectApiSignature(signature); |
+ } |
+ } |
+ } |
+ |
fb.Offset finish(fb.Builder fbBuilder) { |
fb.Offset offset_annotations; |
fb.Offset offset_codeRange; |
@@ -4323,6 +4985,13 @@ class UnlinkedEnumValueBuilder extends Object with _UnlinkedEnumValueMixin imple |
_nameOffset = null; |
} |
+ /** |
+ * Accumulate non-[informative] data into [signature]. |
+ */ |
+ void collectApiSignature(fb.ApiSignature signature) { |
+ signature.addString(this._name ?? ''); |
+ } |
+ |
fb.Offset finish(fb.Builder fbBuilder) { |
fb.Offset offset_documentationComment; |
fb.Offset offset_name; |
@@ -4832,6 +5501,71 @@ class UnlinkedExecutableBuilder extends Object with _UnlinkedExecutableMixin imp |
_typeParameters?.forEach((b) => b.flushInformative()); |
} |
+ /** |
+ * Accumulate non-[informative] data into [signature]. |
+ */ |
+ void collectApiSignature(fb.ApiSignature signature) { |
+ signature.addString(this._name ?? ''); |
+ if (this._parameters == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._parameters.length); |
+ for (var x in this._parameters) { |
+ x?.collectApiSignature(signature); |
+ } |
+ } |
+ signature.addBool(this._returnType != null); |
+ this._returnType?.collectApiSignature(signature); |
+ signature.addInt(this._kind == null ? 0 : this._kind.index); |
+ signature.addInt(this._inferredReturnTypeSlot ?? 0); |
+ if (this._annotations == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._annotations.length); |
+ for (var x in this._annotations) { |
+ x?.collectApiSignature(signature); |
+ } |
+ } |
+ signature.addBool(this._isFactory == true); |
+ signature.addBool(this._isStatic == true); |
+ signature.addBool(this._isAbstract == true); |
+ signature.addBool(this._isExternal == true); |
+ signature.addBool(this._isConst == true); |
+ signature.addBool(this._isRedirectedConstructor == true); |
+ if (this._constantInitializers == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._constantInitializers.length); |
+ for (var x in this._constantInitializers) { |
+ x?.collectApiSignature(signature); |
+ } |
+ } |
+ signature.addBool(this._redirectedConstructor != null); |
+ this._redirectedConstructor?.collectApiSignature(signature); |
+ if (this._typeParameters == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._typeParameters.length); |
+ for (var x in this._typeParameters) { |
+ x?.collectApiSignature(signature); |
+ } |
+ } |
+ signature.addString(this._redirectedConstructorName ?? ''); |
+ if (this._localFunctions == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._localFunctions.length); |
+ for (var x in this._localFunctions) { |
+ x?.collectApiSignature(signature); |
+ } |
+ } |
+ signature.addInt(this._visibleLength ?? 0); |
+ signature.addInt(this._visibleOffset ?? 0); |
+ signature.addInt(this._constCycleSlot ?? 0); |
+ signature.addBool(this._bodyExpr != null); |
+ this._bodyExpr?.collectApiSignature(signature); |
+ } |
+ |
fb.Offset finish(fb.Builder fbBuilder) { |
fb.Offset offset_annotations; |
fb.Offset offset_bodyExpr; |
@@ -5351,6 +6085,20 @@ class UnlinkedExportNonPublicBuilder extends Object with _UnlinkedExportNonPubli |
_uriOffset = null; |
} |
+ /** |
+ * Accumulate non-[informative] data into [signature]. |
+ */ |
+ void collectApiSignature(fb.ApiSignature signature) { |
+ if (this._annotations == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._annotations.length); |
+ for (var x in this._annotations) { |
+ x?.collectApiSignature(signature); |
+ } |
+ } |
+ } |
+ |
fb.Offset finish(fb.Builder fbBuilder) { |
fb.Offset offset_annotations; |
if (!(_annotations == null || _annotations.isEmpty)) { |
@@ -5474,6 +6222,21 @@ class UnlinkedExportPublicBuilder extends Object with _UnlinkedExportPublicMixin |
_combinators?.forEach((b) => b.flushInformative()); |
} |
+ /** |
+ * Accumulate non-[informative] data into [signature]. |
+ */ |
+ void collectApiSignature(fb.ApiSignature signature) { |
+ signature.addString(this._uri ?? ''); |
+ if (this._combinators == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._combinators.length); |
+ for (var x in this._combinators) { |
+ x?.collectApiSignature(signature); |
+ } |
+ } |
+ } |
+ |
fb.Offset finish(fb.Builder fbBuilder) { |
fb.Offset offset_combinators; |
fb.Offset offset_uri; |
@@ -5690,6 +6453,32 @@ class UnlinkedImportBuilder extends Object with _UnlinkedImportMixin implements |
_uriOffset = null; |
} |
+ /** |
+ * Accumulate non-[informative] data into [signature]. |
+ */ |
+ void collectApiSignature(fb.ApiSignature signature) { |
+ signature.addString(this._uri ?? ''); |
+ if (this._combinators == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._combinators.length); |
+ for (var x in this._combinators) { |
+ x?.collectApiSignature(signature); |
+ } |
+ } |
+ signature.addBool(this._isImplicit == true); |
+ signature.addInt(this._prefixReference ?? 0); |
+ if (this._annotations == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._annotations.length); |
+ for (var x in this._annotations) { |
+ x?.collectApiSignature(signature); |
+ } |
+ } |
+ signature.addBool(this._isDeferred == true); |
+ } |
+ |
fb.Offset finish(fb.Builder fbBuilder) { |
fb.Offset offset_annotations; |
fb.Offset offset_combinators; |
@@ -5919,6 +6708,15 @@ class UnlinkedLabelBuilder extends Object with _UnlinkedLabelMixin implements id |
_nameOffset = null; |
} |
+ /** |
+ * Accumulate non-[informative] data into [signature]. |
+ */ |
+ void collectApiSignature(fb.ApiSignature signature) { |
+ signature.addString(this._name ?? ''); |
+ signature.addBool(this._isOnSwitchMember == true); |
+ signature.addBool(this._isOnSwitchStatement == true); |
+ } |
+ |
fb.Offset finish(fb.Builder fbBuilder) { |
fb.Offset offset_name; |
if (_name != null) { |
@@ -6209,6 +7007,39 @@ class UnlinkedParamBuilder extends Object with _UnlinkedParamMixin implements id |
_type?.flushInformative(); |
} |
+ /** |
+ * Accumulate non-[informative] data into [signature]. |
+ */ |
+ void collectApiSignature(fb.ApiSignature signature) { |
+ signature.addString(this._name ?? ''); |
+ signature.addInt(this._inferredTypeSlot ?? 0); |
+ signature.addBool(this._type != null); |
+ this._type?.collectApiSignature(signature); |
+ signature.addInt(this._kind == null ? 0 : this._kind.index); |
+ signature.addBool(this._isFunctionTyped == true); |
+ signature.addBool(this._isInitializingFormal == true); |
+ if (this._parameters == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._parameters.length); |
+ for (var x in this._parameters) { |
+ x?.collectApiSignature(signature); |
+ } |
+ } |
+ if (this._annotations == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._annotations.length); |
+ for (var x in this._annotations) { |
+ x?.collectApiSignature(signature); |
+ } |
+ } |
+ signature.addInt(this._visibleLength ?? 0); |
+ signature.addInt(this._visibleOffset ?? 0); |
+ signature.addBool(this._initializer != null); |
+ this._initializer?.collectApiSignature(signature); |
+ } |
+ |
fb.Offset finish(fb.Builder fbBuilder) { |
fb.Offset offset_annotations; |
fb.Offset offset_codeRange; |
@@ -6494,6 +7325,20 @@ class UnlinkedPartBuilder extends Object with _UnlinkedPartMixin implements idl. |
_uriOffset = null; |
} |
+ /** |
+ * Accumulate non-[informative] data into [signature]. |
+ */ |
+ void collectApiSignature(fb.ApiSignature signature) { |
+ if (this._annotations == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._annotations.length); |
+ for (var x in this._annotations) { |
+ x?.collectApiSignature(signature); |
+ } |
+ } |
+ } |
+ |
fb.Offset finish(fb.Builder fbBuilder) { |
fb.Offset offset_annotations; |
if (!(_annotations == null || _annotations.isEmpty)) { |
@@ -6636,6 +7481,23 @@ class UnlinkedPublicNameBuilder extends Object with _UnlinkedPublicNameMixin imp |
_members?.forEach((b) => b.flushInformative()); |
} |
+ /** |
+ * Accumulate non-[informative] data into [signature]. |
+ */ |
+ void collectApiSignature(fb.ApiSignature signature) { |
+ signature.addString(this._name ?? ''); |
+ signature.addInt(this._kind == null ? 0 : this._kind.index); |
+ if (this._members == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._members.length); |
+ for (var x in this._members) { |
+ x?.collectApiSignature(signature); |
+ } |
+ } |
+ signature.addInt(this._numTypeParameters ?? 0); |
+ } |
+ |
fb.Offset finish(fb.Builder fbBuilder) { |
fb.Offset offset_members; |
fb.Offset offset_name; |
@@ -6779,6 +7641,36 @@ class UnlinkedPublicNamespaceBuilder extends Object with _UnlinkedPublicNamespac |
_names?.forEach((b) => b.flushInformative()); |
} |
+ /** |
+ * Accumulate non-[informative] data into [signature]. |
+ */ |
+ void collectApiSignature(fb.ApiSignature signature) { |
+ if (this._names == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._names.length); |
+ for (var x in this._names) { |
+ x?.collectApiSignature(signature); |
+ } |
+ } |
+ if (this._parts == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._parts.length); |
+ for (var x in this._parts) { |
+ signature.addString(x); |
+ } |
+ } |
+ if (this._exports == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._exports.length); |
+ for (var x in this._exports) { |
+ x?.collectApiSignature(signature); |
+ } |
+ } |
+ } |
+ |
List<int> toBuffer() { |
fb.Builder fbBuilder = new fb.Builder(); |
return fbBuilder.finish(finish(fbBuilder), "UPNS"); |
@@ -6915,6 +7807,14 @@ class UnlinkedReferenceBuilder extends Object with _UnlinkedReferenceMixin imple |
void flushInformative() { |
} |
+ /** |
+ * Accumulate non-[informative] data into [signature]. |
+ */ |
+ void collectApiSignature(fb.ApiSignature signature) { |
+ signature.addString(this._name ?? ''); |
+ signature.addInt(this._prefixReference ?? 0); |
+ } |
+ |
fb.Offset finish(fb.Builder fbBuilder) { |
fb.Offset offset_name; |
if (_name != null) { |
@@ -7094,6 +7994,39 @@ class UnlinkedTypedefBuilder extends Object with _UnlinkedTypedefMixin implement |
_typeParameters?.forEach((b) => b.flushInformative()); |
} |
+ /** |
+ * Accumulate non-[informative] data into [signature]. |
+ */ |
+ void collectApiSignature(fb.ApiSignature signature) { |
+ signature.addString(this._name ?? ''); |
+ signature.addBool(this._returnType != null); |
+ this._returnType?.collectApiSignature(signature); |
+ if (this._parameters == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._parameters.length); |
+ for (var x in this._parameters) { |
+ x?.collectApiSignature(signature); |
+ } |
+ } |
+ if (this._annotations == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._annotations.length); |
+ for (var x in this._annotations) { |
+ x?.collectApiSignature(signature); |
+ } |
+ } |
+ if (this._typeParameters == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._typeParameters.length); |
+ for (var x in this._typeParameters) { |
+ x?.collectApiSignature(signature); |
+ } |
+ } |
+ } |
+ |
fb.Offset finish(fb.Builder fbBuilder) { |
fb.Offset offset_annotations; |
fb.Offset offset_codeRange; |
@@ -7330,6 +8263,23 @@ class UnlinkedTypeParamBuilder extends Object with _UnlinkedTypeParamMixin imple |
_nameOffset = null; |
} |
+ /** |
+ * Accumulate non-[informative] data into [signature]. |
+ */ |
+ void collectApiSignature(fb.ApiSignature signature) { |
+ signature.addString(this._name ?? ''); |
+ signature.addBool(this._bound != null); |
+ this._bound?.collectApiSignature(signature); |
+ if (this._annotations == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._annotations.length); |
+ for (var x in this._annotations) { |
+ x?.collectApiSignature(signature); |
+ } |
+ } |
+ } |
+ |
fb.Offset finish(fb.Builder fbBuilder) { |
fb.Offset offset_annotations; |
fb.Offset offset_bound; |
@@ -7686,6 +8636,96 @@ class UnlinkedUnitBuilder extends Object with _UnlinkedUnitMixin implements idl. |
_variables?.forEach((b) => b.flushInformative()); |
} |
+ /** |
+ * Accumulate non-[informative] data into [signature]. |
+ */ |
+ void collectApiSignature(fb.ApiSignature signature) { |
+ signature.addBool(this._publicNamespace != null); |
+ this._publicNamespace?.collectApiSignature(signature); |
+ if (this._references == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._references.length); |
+ for (var x in this._references) { |
+ x?.collectApiSignature(signature); |
+ } |
+ } |
+ if (this._classes == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._classes.length); |
+ for (var x in this._classes) { |
+ x?.collectApiSignature(signature); |
+ } |
+ } |
+ if (this._variables == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._variables.length); |
+ for (var x in this._variables) { |
+ x?.collectApiSignature(signature); |
+ } |
+ } |
+ if (this._executables == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._executables.length); |
+ for (var x in this._executables) { |
+ x?.collectApiSignature(signature); |
+ } |
+ } |
+ if (this._imports == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._imports.length); |
+ for (var x in this._imports) { |
+ x?.collectApiSignature(signature); |
+ } |
+ } |
+ signature.addString(this._libraryName ?? ''); |
+ if (this._typedefs == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._typedefs.length); |
+ for (var x in this._typedefs) { |
+ x?.collectApiSignature(signature); |
+ } |
+ } |
+ if (this._parts == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._parts.length); |
+ for (var x in this._parts) { |
+ x?.collectApiSignature(signature); |
+ } |
+ } |
+ if (this._enums == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._enums.length); |
+ for (var x in this._enums) { |
+ x?.collectApiSignature(signature); |
+ } |
+ } |
+ if (this._exports == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._exports.length); |
+ for (var x in this._exports) { |
+ x?.collectApiSignature(signature); |
+ } |
+ } |
+ if (this._libraryAnnotations == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._libraryAnnotations.length); |
+ for (var x in this._libraryAnnotations) { |
+ x?.collectApiSignature(signature); |
+ } |
+ } |
+ signature.addString(this._fallbackModePath ?? ''); |
+ } |
+ |
List<int> toBuffer() { |
fb.Builder fbBuilder = new fb.Builder(); |
return fbBuilder.finish(finish(fbBuilder), "UUnt"); |
@@ -8199,6 +9239,32 @@ class UnlinkedVariableBuilder extends Object with _UnlinkedVariableMixin impleme |
_type?.flushInformative(); |
} |
+ /** |
+ * Accumulate non-[informative] data into [signature]. |
+ */ |
+ void collectApiSignature(fb.ApiSignature signature) { |
+ signature.addString(this._name ?? ''); |
+ signature.addInt(this._propagatedTypeSlot ?? 0); |
+ signature.addBool(this._type != null); |
+ this._type?.collectApiSignature(signature); |
+ signature.addBool(this._isStatic == true); |
+ signature.addBool(this._isConst == true); |
+ signature.addBool(this._isFinal == true); |
+ if (this._annotations == null) { |
+ signature.addInt(0); |
+ } else { |
+ signature.addInt(this._annotations.length); |
+ for (var x in this._annotations) { |
+ x?.collectApiSignature(signature); |
+ } |
+ } |
+ signature.addInt(this._inferredTypeSlot ?? 0); |
+ signature.addInt(this._visibleLength ?? 0); |
+ signature.addInt(this._visibleOffset ?? 0); |
+ signature.addBool(this._initializer != null); |
+ this._initializer?.collectApiSignature(signature); |
+ } |
+ |
fb.Offset finish(fb.Builder fbBuilder) { |
fb.Offset offset_annotations; |
fb.Offset offset_codeRange; |