| 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 1d91db31f51385ac0238e835a655b86c98910507..5cb6b53dfee001cbea089a5e0d283efd988470a8 100644
|
| --- a/pkg/analyzer/lib/src/summary/format.dart
|
| +++ b/pkg/analyzer/lib/src/summary/format.dart
|
| @@ -419,6 +419,742 @@ abstract class _AnalysisDriverUnitErrorMixin implements idl.AnalysisDriverUnitEr
|
| String toString() => convert.JSON.encode(toJson());
|
| }
|
|
|
| +class AnalysisDriverUnitIndexBuilder extends Object with _AnalysisDriverUnitIndexMixin implements idl.AnalysisDriverUnitIndex {
|
| + List<idl.IndexSyntheticElementKind> _elementKinds;
|
| + List<int> _elementNameClassMemberIds;
|
| + List<int> _elementNameParameterIds;
|
| + List<int> _elementNameUnitMemberIds;
|
| + List<int> _elementUnits;
|
| + int _nullStringId;
|
| + List<String> _strings;
|
| + List<int> _unitLibraryUris;
|
| + List<int> _unitUnitUris;
|
| + List<bool> _usedElementIsQualifiedFlags;
|
| + List<idl.IndexRelationKind> _usedElementKinds;
|
| + List<int> _usedElementLengths;
|
| + List<int> _usedElementOffsets;
|
| + List<int> _usedElements;
|
| + List<bool> _usedNameIsQualifiedFlags;
|
| + List<idl.IndexRelationKind> _usedNameKinds;
|
| + List<int> _usedNameOffsets;
|
| + List<int> _usedNames;
|
| +
|
| + @override
|
| + List<idl.IndexSyntheticElementKind> get elementKinds => _elementKinds ??= <idl.IndexSyntheticElementKind>[];
|
| +
|
| + /**
|
| + * Each item of this list corresponds to a unique referenced element. It is
|
| + * the kind of the synthetic element.
|
| + */
|
| + void set elementKinds(List<idl.IndexSyntheticElementKind> value) {
|
| + this._elementKinds = value;
|
| + }
|
| +
|
| + @override
|
| + List<int> get elementNameClassMemberIds => _elementNameClassMemberIds ??= <int>[];
|
| +
|
| + /**
|
| + * Each item of this list corresponds to a unique referenced element. It is
|
| + * the identifier of the class member element name, or `null` if the element
|
| + * is a top-level element. The list is sorted in ascending order, so that the
|
| + * client can quickly check whether an element is referenced in this index.
|
| + */
|
| + void set elementNameClassMemberIds(List<int> value) {
|
| + assert(value == null || value.every((e) => e >= 0));
|
| + this._elementNameClassMemberIds = value;
|
| + }
|
| +
|
| + @override
|
| + List<int> get elementNameParameterIds => _elementNameParameterIds ??= <int>[];
|
| +
|
| + /**
|
| + * Each item of this list corresponds to a unique referenced element. It is
|
| + * the identifier of the named parameter name, or `null` if the element is not
|
| + * a named parameter. The list is sorted in ascending order, so that the
|
| + * client can quickly check whether an element is referenced in this index.
|
| + */
|
| + void set elementNameParameterIds(List<int> value) {
|
| + assert(value == null || value.every((e) => e >= 0));
|
| + this._elementNameParameterIds = value;
|
| + }
|
| +
|
| + @override
|
| + List<int> get elementNameUnitMemberIds => _elementNameUnitMemberIds ??= <int>[];
|
| +
|
| + /**
|
| + * Each item of this list corresponds to a unique referenced element. It is
|
| + * the identifier of the top-level element name, or `null` if the element is
|
| + * the unit. The list is sorted in ascending order, so that the client can
|
| + * quickly check whether an element is referenced in this index.
|
| + */
|
| + void set elementNameUnitMemberIds(List<int> value) {
|
| + assert(value == null || value.every((e) => e >= 0));
|
| + this._elementNameUnitMemberIds = value;
|
| + }
|
| +
|
| + @override
|
| + List<int> get elementUnits => _elementUnits ??= <int>[];
|
| +
|
| + /**
|
| + * Each item of this list corresponds to a unique referenced element. It is
|
| + * the index into [unitLibraryUris] and [unitUnitUris] for the library
|
| + * specific unit where the element is declared.
|
| + */
|
| + void set elementUnits(List<int> value) {
|
| + assert(value == null || value.every((e) => e >= 0));
|
| + this._elementUnits = value;
|
| + }
|
| +
|
| + @override
|
| + int get nullStringId => _nullStringId ??= 0;
|
| +
|
| + /**
|
| + * Identifier of the null string in [strings].
|
| + */
|
| + void set nullStringId(int value) {
|
| + assert(value == null || value >= 0);
|
| + this._nullStringId = value;
|
| + }
|
| +
|
| + @override
|
| + List<String> get strings => _strings ??= <String>[];
|
| +
|
| + /**
|
| + * List of unique element strings used in this index. The list is sorted in
|
| + * ascending order, so that the client can quickly check the presence of a
|
| + * string in this index.
|
| + */
|
| + void set strings(List<String> value) {
|
| + this._strings = value;
|
| + }
|
| +
|
| + @override
|
| + List<int> get unitLibraryUris => _unitLibraryUris ??= <int>[];
|
| +
|
| + /**
|
| + * Each item of this list corresponds to the library URI of a unique library
|
| + * specific unit referenced in the index. It is an index into [strings] list.
|
| + */
|
| + void set unitLibraryUris(List<int> value) {
|
| + assert(value == null || value.every((e) => e >= 0));
|
| + this._unitLibraryUris = value;
|
| + }
|
| +
|
| + @override
|
| + List<int> get unitUnitUris => _unitUnitUris ??= <int>[];
|
| +
|
| + /**
|
| + * Each item of this list corresponds to the unit URI of a unique library
|
| + * specific unit referenced in the index. It is an index into [strings] list.
|
| + */
|
| + void set unitUnitUris(List<int> value) {
|
| + assert(value == null || value.every((e) => e >= 0));
|
| + this._unitUnitUris = value;
|
| + }
|
| +
|
| + @override
|
| + List<bool> get usedElementIsQualifiedFlags => _usedElementIsQualifiedFlags ??= <bool>[];
|
| +
|
| + /**
|
| + * Each item of this list is the `true` if the corresponding element usage
|
| + * is qualified with some prefix.
|
| + */
|
| + void set usedElementIsQualifiedFlags(List<bool> value) {
|
| + this._usedElementIsQualifiedFlags = value;
|
| + }
|
| +
|
| + @override
|
| + List<idl.IndexRelationKind> get usedElementKinds => _usedElementKinds ??= <idl.IndexRelationKind>[];
|
| +
|
| + /**
|
| + * Each item of this list is the kind of the element usage.
|
| + */
|
| + void set usedElementKinds(List<idl.IndexRelationKind> value) {
|
| + this._usedElementKinds = value;
|
| + }
|
| +
|
| + @override
|
| + List<int> get usedElementLengths => _usedElementLengths ??= <int>[];
|
| +
|
| + /**
|
| + * Each item of this list is the length of the element usage.
|
| + */
|
| + void set usedElementLengths(List<int> value) {
|
| + assert(value == null || value.every((e) => e >= 0));
|
| + this._usedElementLengths = value;
|
| + }
|
| +
|
| + @override
|
| + List<int> get usedElementOffsets => _usedElementOffsets ??= <int>[];
|
| +
|
| + /**
|
| + * Each item of this list is the offset of the element usage relative to the
|
| + * beginning of the file.
|
| + */
|
| + void set usedElementOffsets(List<int> value) {
|
| + assert(value == null || value.every((e) => e >= 0));
|
| + this._usedElementOffsets = value;
|
| + }
|
| +
|
| + @override
|
| + List<int> get usedElements => _usedElements ??= <int>[];
|
| +
|
| + /**
|
| + * Each item of this list is the index into [elementUnits],
|
| + * [elementNameUnitMemberIds], [elementNameClassMemberIds] and
|
| + * [elementNameParameterIds]. The list is sorted in ascending order, so
|
| + * that the client can quickly find element references in this index.
|
| + */
|
| + void set usedElements(List<int> value) {
|
| + assert(value == null || value.every((e) => e >= 0));
|
| + this._usedElements = value;
|
| + }
|
| +
|
| + @override
|
| + List<bool> get usedNameIsQualifiedFlags => _usedNameIsQualifiedFlags ??= <bool>[];
|
| +
|
| + /**
|
| + * Each item of this list is the `true` if the corresponding name usage
|
| + * is qualified with some prefix.
|
| + */
|
| + void set usedNameIsQualifiedFlags(List<bool> value) {
|
| + this._usedNameIsQualifiedFlags = value;
|
| + }
|
| +
|
| + @override
|
| + List<idl.IndexRelationKind> get usedNameKinds => _usedNameKinds ??= <idl.IndexRelationKind>[];
|
| +
|
| + /**
|
| + * Each item of this list is the kind of the name usage.
|
| + */
|
| + void set usedNameKinds(List<idl.IndexRelationKind> value) {
|
| + this._usedNameKinds = value;
|
| + }
|
| +
|
| + @override
|
| + List<int> get usedNameOffsets => _usedNameOffsets ??= <int>[];
|
| +
|
| + /**
|
| + * Each item of this list is the offset of the name usage relative to the
|
| + * beginning of the file.
|
| + */
|
| + void set usedNameOffsets(List<int> value) {
|
| + assert(value == null || value.every((e) => e >= 0));
|
| + this._usedNameOffsets = value;
|
| + }
|
| +
|
| + @override
|
| + List<int> get usedNames => _usedNames ??= <int>[];
|
| +
|
| + /**
|
| + * Each item of this list is the index into [strings] for a used name. The
|
| + * list is sorted in ascending order, so that the client can quickly find
|
| + * whether a name is used in this index.
|
| + */
|
| + void set usedNames(List<int> value) {
|
| + assert(value == null || value.every((e) => e >= 0));
|
| + this._usedNames = value;
|
| + }
|
| +
|
| + AnalysisDriverUnitIndexBuilder({List<idl.IndexSyntheticElementKind> elementKinds, List<int> elementNameClassMemberIds, List<int> elementNameParameterIds, List<int> elementNameUnitMemberIds, List<int> elementUnits, int nullStringId, List<String> strings, List<int> unitLibraryUris, List<int> unitUnitUris, List<bool> usedElementIsQualifiedFlags, List<idl.IndexRelationKind> usedElementKinds, List<int> usedElementLengths, List<int> usedElementOffsets, List<int> usedElements, List<bool> usedNameIsQualifiedFlags, List<idl.IndexRelationKind> usedNameKinds, List<int> usedNameOffsets, List<int> usedNames})
|
| + : _elementKinds = elementKinds,
|
| + _elementNameClassMemberIds = elementNameClassMemberIds,
|
| + _elementNameParameterIds = elementNameParameterIds,
|
| + _elementNameUnitMemberIds = elementNameUnitMemberIds,
|
| + _elementUnits = elementUnits,
|
| + _nullStringId = nullStringId,
|
| + _strings = strings,
|
| + _unitLibraryUris = unitLibraryUris,
|
| + _unitUnitUris = unitUnitUris,
|
| + _usedElementIsQualifiedFlags = usedElementIsQualifiedFlags,
|
| + _usedElementKinds = usedElementKinds,
|
| + _usedElementLengths = usedElementLengths,
|
| + _usedElementOffsets = usedElementOffsets,
|
| + _usedElements = usedElements,
|
| + _usedNameIsQualifiedFlags = usedNameIsQualifiedFlags,
|
| + _usedNameKinds = usedNameKinds,
|
| + _usedNameOffsets = usedNameOffsets,
|
| + _usedNames = usedNames;
|
| +
|
| + /**
|
| + * Flush [informative] data recursively.
|
| + */
|
| + void flushInformative() {
|
| + }
|
| +
|
| + /**
|
| + * Accumulate non-[informative] data into [signature].
|
| + */
|
| + void collectApiSignature(api_sig.ApiSignature signature) {
|
| + if (this._strings == null) {
|
| + signature.addInt(0);
|
| + } else {
|
| + signature.addInt(this._strings.length);
|
| + for (var x in this._strings) {
|
| + signature.addString(x);
|
| + }
|
| + }
|
| + signature.addInt(this._nullStringId ?? 0);
|
| + 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._elementKinds == null) {
|
| + signature.addInt(0);
|
| + } else {
|
| + signature.addInt(this._elementKinds.length);
|
| + for (var x in this._elementKinds) {
|
| + signature.addInt(x.index);
|
| + }
|
| + }
|
| + 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._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);
|
| + }
|
| + }
|
| + 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._usedElementOffsets == null) {
|
| + signature.addInt(0);
|
| + } else {
|
| + signature.addInt(this._usedElementOffsets.length);
|
| + for (var x in this._usedElementOffsets) {
|
| + signature.addInt(x);
|
| + }
|
| + }
|
| + if (this._usedElementLengths == null) {
|
| + signature.addInt(0);
|
| + } else {
|
| + signature.addInt(this._usedElementLengths.length);
|
| + for (var x in this._usedElementLengths) {
|
| + signature.addInt(x);
|
| + }
|
| + }
|
| + if (this._usedElementIsQualifiedFlags == null) {
|
| + signature.addInt(0);
|
| + } else {
|
| + signature.addInt(this._usedElementIsQualifiedFlags.length);
|
| + for (var x in this._usedElementIsQualifiedFlags) {
|
| + signature.addBool(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._usedNameKinds == null) {
|
| + signature.addInt(0);
|
| + } else {
|
| + signature.addInt(this._usedNameKinds.length);
|
| + for (var x in this._usedNameKinds) {
|
| + signature.addInt(x.index);
|
| + }
|
| + }
|
| + if (this._usedNameOffsets == null) {
|
| + signature.addInt(0);
|
| + } else {
|
| + signature.addInt(this._usedNameOffsets.length);
|
| + for (var x in this._usedNameOffsets) {
|
| + signature.addInt(x);
|
| + }
|
| + }
|
| + if (this._usedNameIsQualifiedFlags == null) {
|
| + signature.addInt(0);
|
| + } else {
|
| + signature.addInt(this._usedNameIsQualifiedFlags.length);
|
| + for (var x in this._usedNameIsQualifiedFlags) {
|
| + signature.addBool(x);
|
| + }
|
| + }
|
| + }
|
| +
|
| + List<int> toBuffer() {
|
| + fb.Builder fbBuilder = new fb.Builder();
|
| + return fbBuilder.finish(finish(fbBuilder), "ADUI");
|
| + }
|
| +
|
| + fb.Offset finish(fb.Builder fbBuilder) {
|
| + fb.Offset offset_elementKinds;
|
| + fb.Offset offset_elementNameClassMemberIds;
|
| + fb.Offset offset_elementNameParameterIds;
|
| + fb.Offset offset_elementNameUnitMemberIds;
|
| + fb.Offset offset_elementUnits;
|
| + fb.Offset offset_strings;
|
| + fb.Offset offset_unitLibraryUris;
|
| + fb.Offset offset_unitUnitUris;
|
| + fb.Offset offset_usedElementIsQualifiedFlags;
|
| + fb.Offset offset_usedElementKinds;
|
| + fb.Offset offset_usedElementLengths;
|
| + fb.Offset offset_usedElementOffsets;
|
| + fb.Offset offset_usedElements;
|
| + fb.Offset offset_usedNameIsQualifiedFlags;
|
| + fb.Offset offset_usedNameKinds;
|
| + fb.Offset offset_usedNameOffsets;
|
| + fb.Offset offset_usedNames;
|
| + if (!(_elementKinds == null || _elementKinds.isEmpty)) {
|
| + offset_elementKinds = fbBuilder.writeListUint8(_elementKinds.map((b) => b.index).toList());
|
| + }
|
| + if (!(_elementNameClassMemberIds == null || _elementNameClassMemberIds.isEmpty)) {
|
| + offset_elementNameClassMemberIds = fbBuilder.writeListUint32(_elementNameClassMemberIds);
|
| + }
|
| + if (!(_elementNameParameterIds == null || _elementNameParameterIds.isEmpty)) {
|
| + offset_elementNameParameterIds = fbBuilder.writeListUint32(_elementNameParameterIds);
|
| + }
|
| + if (!(_elementNameUnitMemberIds == null || _elementNameUnitMemberIds.isEmpty)) {
|
| + offset_elementNameUnitMemberIds = fbBuilder.writeListUint32(_elementNameUnitMemberIds);
|
| + }
|
| + if (!(_elementUnits == null || _elementUnits.isEmpty)) {
|
| + offset_elementUnits = fbBuilder.writeListUint32(_elementUnits);
|
| + }
|
| + if (!(_strings == null || _strings.isEmpty)) {
|
| + offset_strings = fbBuilder.writeList(_strings.map((b) => fbBuilder.writeString(b)).toList());
|
| + }
|
| + if (!(_unitLibraryUris == null || _unitLibraryUris.isEmpty)) {
|
| + offset_unitLibraryUris = fbBuilder.writeListUint32(_unitLibraryUris);
|
| + }
|
| + if (!(_unitUnitUris == null || _unitUnitUris.isEmpty)) {
|
| + offset_unitUnitUris = fbBuilder.writeListUint32(_unitUnitUris);
|
| + }
|
| + if (!(_usedElementIsQualifiedFlags == null || _usedElementIsQualifiedFlags.isEmpty)) {
|
| + offset_usedElementIsQualifiedFlags = fbBuilder.writeListBool(_usedElementIsQualifiedFlags);
|
| + }
|
| + if (!(_usedElementKinds == null || _usedElementKinds.isEmpty)) {
|
| + offset_usedElementKinds = fbBuilder.writeListUint8(_usedElementKinds.map((b) => b.index).toList());
|
| + }
|
| + if (!(_usedElementLengths == null || _usedElementLengths.isEmpty)) {
|
| + offset_usedElementLengths = fbBuilder.writeListUint32(_usedElementLengths);
|
| + }
|
| + if (!(_usedElementOffsets == null || _usedElementOffsets.isEmpty)) {
|
| + offset_usedElementOffsets = fbBuilder.writeListUint32(_usedElementOffsets);
|
| + }
|
| + if (!(_usedElements == null || _usedElements.isEmpty)) {
|
| + offset_usedElements = fbBuilder.writeListUint32(_usedElements);
|
| + }
|
| + if (!(_usedNameIsQualifiedFlags == null || _usedNameIsQualifiedFlags.isEmpty)) {
|
| + offset_usedNameIsQualifiedFlags = fbBuilder.writeListBool(_usedNameIsQualifiedFlags);
|
| + }
|
| + if (!(_usedNameKinds == null || _usedNameKinds.isEmpty)) {
|
| + offset_usedNameKinds = fbBuilder.writeListUint8(_usedNameKinds.map((b) => b.index).toList());
|
| + }
|
| + if (!(_usedNameOffsets == null || _usedNameOffsets.isEmpty)) {
|
| + offset_usedNameOffsets = fbBuilder.writeListUint32(_usedNameOffsets);
|
| + }
|
| + if (!(_usedNames == null || _usedNames.isEmpty)) {
|
| + offset_usedNames = fbBuilder.writeListUint32(_usedNames);
|
| + }
|
| + fbBuilder.startTable();
|
| + if (offset_elementKinds != null) {
|
| + fbBuilder.addOffset(4, offset_elementKinds);
|
| + }
|
| + if (offset_elementNameClassMemberIds != null) {
|
| + fbBuilder.addOffset(7, offset_elementNameClassMemberIds);
|
| + }
|
| + if (offset_elementNameParameterIds != null) {
|
| + fbBuilder.addOffset(8, offset_elementNameParameterIds);
|
| + }
|
| + if (offset_elementNameUnitMemberIds != null) {
|
| + fbBuilder.addOffset(6, offset_elementNameUnitMemberIds);
|
| + }
|
| + if (offset_elementUnits != null) {
|
| + fbBuilder.addOffset(5, offset_elementUnits);
|
| + }
|
| + if (_nullStringId != null && _nullStringId != 0) {
|
| + fbBuilder.addUint32(1, _nullStringId);
|
| + }
|
| + if (offset_strings != null) {
|
| + fbBuilder.addOffset(0, offset_strings);
|
| + }
|
| + if (offset_unitLibraryUris != null) {
|
| + fbBuilder.addOffset(2, offset_unitLibraryUris);
|
| + }
|
| + if (offset_unitUnitUris != null) {
|
| + fbBuilder.addOffset(3, offset_unitUnitUris);
|
| + }
|
| + if (offset_usedElementIsQualifiedFlags != null) {
|
| + fbBuilder.addOffset(13, offset_usedElementIsQualifiedFlags);
|
| + }
|
| + if (offset_usedElementKinds != null) {
|
| + fbBuilder.addOffset(10, offset_usedElementKinds);
|
| + }
|
| + if (offset_usedElementLengths != null) {
|
| + fbBuilder.addOffset(12, offset_usedElementLengths);
|
| + }
|
| + if (offset_usedElementOffsets != null) {
|
| + fbBuilder.addOffset(11, offset_usedElementOffsets);
|
| + }
|
| + if (offset_usedElements != null) {
|
| + fbBuilder.addOffset(9, offset_usedElements);
|
| + }
|
| + if (offset_usedNameIsQualifiedFlags != null) {
|
| + fbBuilder.addOffset(17, offset_usedNameIsQualifiedFlags);
|
| + }
|
| + if (offset_usedNameKinds != null) {
|
| + fbBuilder.addOffset(15, offset_usedNameKinds);
|
| + }
|
| + if (offset_usedNameOffsets != null) {
|
| + fbBuilder.addOffset(16, offset_usedNameOffsets);
|
| + }
|
| + if (offset_usedNames != null) {
|
| + fbBuilder.addOffset(14, offset_usedNames);
|
| + }
|
| + return fbBuilder.endTable();
|
| + }
|
| +}
|
| +
|
| +idl.AnalysisDriverUnitIndex readAnalysisDriverUnitIndex(List<int> buffer) {
|
| + fb.BufferContext rootRef = new fb.BufferContext.fromBytes(buffer);
|
| + return const _AnalysisDriverUnitIndexReader().read(rootRef, 0);
|
| +}
|
| +
|
| +class _AnalysisDriverUnitIndexReader extends fb.TableReader<_AnalysisDriverUnitIndexImpl> {
|
| + const _AnalysisDriverUnitIndexReader();
|
| +
|
| + @override
|
| + _AnalysisDriverUnitIndexImpl createObject(fb.BufferContext bc, int offset) => new _AnalysisDriverUnitIndexImpl(bc, offset);
|
| +}
|
| +
|
| +class _AnalysisDriverUnitIndexImpl extends Object with _AnalysisDriverUnitIndexMixin implements idl.AnalysisDriverUnitIndex {
|
| + final fb.BufferContext _bc;
|
| + final int _bcOffset;
|
| +
|
| + _AnalysisDriverUnitIndexImpl(this._bc, this._bcOffset);
|
| +
|
| + List<idl.IndexSyntheticElementKind> _elementKinds;
|
| + List<int> _elementNameClassMemberIds;
|
| + List<int> _elementNameParameterIds;
|
| + List<int> _elementNameUnitMemberIds;
|
| + List<int> _elementUnits;
|
| + int _nullStringId;
|
| + List<String> _strings;
|
| + List<int> _unitLibraryUris;
|
| + List<int> _unitUnitUris;
|
| + List<bool> _usedElementIsQualifiedFlags;
|
| + List<idl.IndexRelationKind> _usedElementKinds;
|
| + List<int> _usedElementLengths;
|
| + List<int> _usedElementOffsets;
|
| + List<int> _usedElements;
|
| + List<bool> _usedNameIsQualifiedFlags;
|
| + List<idl.IndexRelationKind> _usedNameKinds;
|
| + List<int> _usedNameOffsets;
|
| + List<int> _usedNames;
|
| +
|
| + @override
|
| + List<idl.IndexSyntheticElementKind> get elementKinds {
|
| + _elementKinds ??= const fb.ListReader<idl.IndexSyntheticElementKind>(const _IndexSyntheticElementKindReader()).vTableGet(_bc, _bcOffset, 4, const <idl.IndexSyntheticElementKind>[]);
|
| + return _elementKinds;
|
| + }
|
| +
|
| + @override
|
| + List<int> get elementNameClassMemberIds {
|
| + _elementNameClassMemberIds ??= const fb.Uint32ListReader().vTableGet(_bc, _bcOffset, 7, const <int>[]);
|
| + return _elementNameClassMemberIds;
|
| + }
|
| +
|
| + @override
|
| + List<int> get elementNameParameterIds {
|
| + _elementNameParameterIds ??= const fb.Uint32ListReader().vTableGet(_bc, _bcOffset, 8, const <int>[]);
|
| + return _elementNameParameterIds;
|
| + }
|
| +
|
| + @override
|
| + List<int> get elementNameUnitMemberIds {
|
| + _elementNameUnitMemberIds ??= const fb.Uint32ListReader().vTableGet(_bc, _bcOffset, 6, const <int>[]);
|
| + return _elementNameUnitMemberIds;
|
| + }
|
| +
|
| + @override
|
| + List<int> get elementUnits {
|
| + _elementUnits ??= const fb.Uint32ListReader().vTableGet(_bc, _bcOffset, 5, const <int>[]);
|
| + return _elementUnits;
|
| + }
|
| +
|
| + @override
|
| + int get nullStringId {
|
| + _nullStringId ??= const fb.Uint32Reader().vTableGet(_bc, _bcOffset, 1, 0);
|
| + return _nullStringId;
|
| + }
|
| +
|
| + @override
|
| + List<String> get strings {
|
| + _strings ??= const fb.ListReader<String>(const fb.StringReader()).vTableGet(_bc, _bcOffset, 0, const <String>[]);
|
| + return _strings;
|
| + }
|
| +
|
| + @override
|
| + List<int> get unitLibraryUris {
|
| + _unitLibraryUris ??= const fb.Uint32ListReader().vTableGet(_bc, _bcOffset, 2, const <int>[]);
|
| + return _unitLibraryUris;
|
| + }
|
| +
|
| + @override
|
| + List<int> get unitUnitUris {
|
| + _unitUnitUris ??= const fb.Uint32ListReader().vTableGet(_bc, _bcOffset, 3, const <int>[]);
|
| + return _unitUnitUris;
|
| + }
|
| +
|
| + @override
|
| + List<bool> get usedElementIsQualifiedFlags {
|
| + _usedElementIsQualifiedFlags ??= const fb.BoolListReader().vTableGet(_bc, _bcOffset, 13, const <bool>[]);
|
| + return _usedElementIsQualifiedFlags;
|
| + }
|
| +
|
| + @override
|
| + List<idl.IndexRelationKind> get usedElementKinds {
|
| + _usedElementKinds ??= const fb.ListReader<idl.IndexRelationKind>(const _IndexRelationKindReader()).vTableGet(_bc, _bcOffset, 10, const <idl.IndexRelationKind>[]);
|
| + return _usedElementKinds;
|
| + }
|
| +
|
| + @override
|
| + List<int> get usedElementLengths {
|
| + _usedElementLengths ??= const fb.Uint32ListReader().vTableGet(_bc, _bcOffset, 12, const <int>[]);
|
| + return _usedElementLengths;
|
| + }
|
| +
|
| + @override
|
| + List<int> get usedElementOffsets {
|
| + _usedElementOffsets ??= const fb.Uint32ListReader().vTableGet(_bc, _bcOffset, 11, const <int>[]);
|
| + return _usedElementOffsets;
|
| + }
|
| +
|
| + @override
|
| + List<int> get usedElements {
|
| + _usedElements ??= const fb.Uint32ListReader().vTableGet(_bc, _bcOffset, 9, const <int>[]);
|
| + return _usedElements;
|
| + }
|
| +
|
| + @override
|
| + List<bool> get usedNameIsQualifiedFlags {
|
| + _usedNameIsQualifiedFlags ??= const fb.BoolListReader().vTableGet(_bc, _bcOffset, 17, const <bool>[]);
|
| + return _usedNameIsQualifiedFlags;
|
| + }
|
| +
|
| + @override
|
| + List<idl.IndexRelationKind> get usedNameKinds {
|
| + _usedNameKinds ??= const fb.ListReader<idl.IndexRelationKind>(const _IndexRelationKindReader()).vTableGet(_bc, _bcOffset, 15, const <idl.IndexRelationKind>[]);
|
| + return _usedNameKinds;
|
| + }
|
| +
|
| + @override
|
| + List<int> get usedNameOffsets {
|
| + _usedNameOffsets ??= const fb.Uint32ListReader().vTableGet(_bc, _bcOffset, 16, const <int>[]);
|
| + return _usedNameOffsets;
|
| + }
|
| +
|
| + @override
|
| + List<int> get usedNames {
|
| + _usedNames ??= const fb.Uint32ListReader().vTableGet(_bc, _bcOffset, 14, const <int>[]);
|
| + return _usedNames;
|
| + }
|
| +}
|
| +
|
| +abstract class _AnalysisDriverUnitIndexMixin implements idl.AnalysisDriverUnitIndex {
|
| + @override
|
| + Map<String, Object> toJson() {
|
| + Map<String, Object> _result = <String, Object>{};
|
| + if (elementKinds.isNotEmpty) _result["elementKinds"] = elementKinds.map((_value) => _value.toString().split('.')[1]).toList();
|
| + if (elementNameClassMemberIds.isNotEmpty) _result["elementNameClassMemberIds"] = elementNameClassMemberIds;
|
| + if (elementNameParameterIds.isNotEmpty) _result["elementNameParameterIds"] = elementNameParameterIds;
|
| + if (elementNameUnitMemberIds.isNotEmpty) _result["elementNameUnitMemberIds"] = elementNameUnitMemberIds;
|
| + if (elementUnits.isNotEmpty) _result["elementUnits"] = elementUnits;
|
| + if (nullStringId != 0) _result["nullStringId"] = nullStringId;
|
| + if (strings.isNotEmpty) _result["strings"] = strings;
|
| + if (unitLibraryUris.isNotEmpty) _result["unitLibraryUris"] = unitLibraryUris;
|
| + if (unitUnitUris.isNotEmpty) _result["unitUnitUris"] = unitUnitUris;
|
| + if (usedElementIsQualifiedFlags.isNotEmpty) _result["usedElementIsQualifiedFlags"] = usedElementIsQualifiedFlags;
|
| + if (usedElementKinds.isNotEmpty) _result["usedElementKinds"] = usedElementKinds.map((_value) => _value.toString().split('.')[1]).toList();
|
| + if (usedElementLengths.isNotEmpty) _result["usedElementLengths"] = usedElementLengths;
|
| + if (usedElementOffsets.isNotEmpty) _result["usedElementOffsets"] = usedElementOffsets;
|
| + if (usedElements.isNotEmpty) _result["usedElements"] = usedElements;
|
| + if (usedNameIsQualifiedFlags.isNotEmpty) _result["usedNameIsQualifiedFlags"] = usedNameIsQualifiedFlags;
|
| + if (usedNameKinds.isNotEmpty) _result["usedNameKinds"] = usedNameKinds.map((_value) => _value.toString().split('.')[1]).toList();
|
| + if (usedNameOffsets.isNotEmpty) _result["usedNameOffsets"] = usedNameOffsets;
|
| + if (usedNames.isNotEmpty) _result["usedNames"] = usedNames;
|
| + return _result;
|
| + }
|
| +
|
| + @override
|
| + Map<String, Object> toMap() => {
|
| + "elementKinds": elementKinds,
|
| + "elementNameClassMemberIds": elementNameClassMemberIds,
|
| + "elementNameParameterIds": elementNameParameterIds,
|
| + "elementNameUnitMemberIds": elementNameUnitMemberIds,
|
| + "elementUnits": elementUnits,
|
| + "nullStringId": nullStringId,
|
| + "strings": strings,
|
| + "unitLibraryUris": unitLibraryUris,
|
| + "unitUnitUris": unitUnitUris,
|
| + "usedElementIsQualifiedFlags": usedElementIsQualifiedFlags,
|
| + "usedElementKinds": usedElementKinds,
|
| + "usedElementLengths": usedElementLengths,
|
| + "usedElementOffsets": usedElementOffsets,
|
| + "usedElements": usedElements,
|
| + "usedNameIsQualifiedFlags": usedNameIsQualifiedFlags,
|
| + "usedNameKinds": usedNameKinds,
|
| + "usedNameOffsets": usedNameOffsets,
|
| + "usedNames": usedNames,
|
| + };
|
| +
|
| + @override
|
| + String toString() => convert.JSON.encode(toJson());
|
| +}
|
| +
|
| class CodeRangeBuilder extends Object with _CodeRangeMixin implements idl.CodeRange {
|
| int _length;
|
| int _offset;
|
|
|