| 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 1034bc584ebe3a1bc9b0607be85ebaae2a91bc60..bbed56eb2362f4f84863bfeb6b30ecedd852d2b1 100644
|
| --- a/pkg/analyzer/lib/src/summary/format.dart
|
| +++ b/pkg/analyzer/lib/src/summary/format.dart
|
| @@ -2136,7 +2136,9 @@ abstract class _PackageBundleMixin implements idl.PackageBundle {
|
|
|
| class PackageIndexBuilder extends Object with _PackageIndexMixin implements idl.PackageIndex {
|
| List<idl.IndexSyntheticElementKind> _elementKinds;
|
| - List<int> _elementOffsets;
|
| + List<int> _elementNameClassMemberIds;
|
| + List<int> _elementNameParameterIds;
|
| + List<int> _elementNameUnitMemberIds;
|
| List<int> _elementUnits;
|
| List<String> _strings;
|
| List<int> _unitLibraryUris;
|
| @@ -2155,17 +2157,47 @@ class PackageIndexBuilder extends Object with _PackageIndexMixin implements idl.
|
| }
|
|
|
| @override
|
| - List<int> get elementOffsets => _elementOffsets ??= <int>[];
|
| + List<int> get elementNameClassMemberIds => _elementNameClassMemberIds ??= <int>[];
|
|
|
| /**
|
| * Each item of this list corresponds to a unique referenced element. It is
|
| - * the offset of the element name relative to the beginning of the file. The
|
| - * list is sorted in ascending order, so that the client can quickly check
|
| - * whether an element is referenced in this [PackageIndex].
|
| + * 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
|
| + * [PackageIndex].
|
| */
|
| - void set elementOffsets(List<int> _value) {
|
| + void set elementNameClassMemberIds(List<int> _value) {
|
| assert(_value == null || _value.every((e) => e >= 0));
|
| - _elementOffsets = _value;
|
| + _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
|
| + * [PackageIndex].
|
| + */
|
| + void set elementNameParameterIds(List<int> _value) {
|
| + assert(_value == null || _value.every((e) => e >= 0));
|
| + _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 [PackageIndex].
|
| + */
|
| + void set elementNameUnitMemberIds(List<int> _value) {
|
| + assert(_value == null || _value.every((e) => e >= 0));
|
| + _elementNameUnitMemberIds = _value;
|
| }
|
|
|
| @override
|
| @@ -2229,9 +2261,11 @@ class PackageIndexBuilder extends Object with _PackageIndexMixin implements idl.
|
| _unitUnitUris = _value;
|
| }
|
|
|
| - PackageIndexBuilder({List<idl.IndexSyntheticElementKind> elementKinds, List<int> elementOffsets, List<int> elementUnits, List<String> strings, List<int> unitLibraryUris, List<UnitIndexBuilder> units, List<int> unitUnitUris})
|
| + PackageIndexBuilder({List<idl.IndexSyntheticElementKind> elementKinds, List<int> elementNameClassMemberIds, List<int> elementNameParameterIds, List<int> elementNameUnitMemberIds, List<int> elementUnits, List<String> strings, List<int> unitLibraryUris, List<UnitIndexBuilder> units, List<int> unitUnitUris})
|
| : _elementKinds = elementKinds,
|
| - _elementOffsets = elementOffsets,
|
| + _elementNameClassMemberIds = elementNameClassMemberIds,
|
| + _elementNameParameterIds = elementNameParameterIds,
|
| + _elementNameUnitMemberIds = elementNameUnitMemberIds,
|
| _elementUnits = elementUnits,
|
| _strings = strings,
|
| _unitLibraryUris = unitLibraryUris,
|
| @@ -2252,7 +2286,9 @@ class PackageIndexBuilder extends Object with _PackageIndexMixin implements idl.
|
|
|
| fb.Offset finish(fb.Builder fbBuilder) {
|
| fb.Offset offset_elementKinds;
|
| - fb.Offset offset_elementOffsets;
|
| + fb.Offset offset_elementNameClassMemberIds;
|
| + fb.Offset offset_elementNameParameterIds;
|
| + fb.Offset offset_elementNameUnitMemberIds;
|
| fb.Offset offset_elementUnits;
|
| fb.Offset offset_strings;
|
| fb.Offset offset_unitLibraryUris;
|
| @@ -2261,8 +2297,14 @@ class PackageIndexBuilder extends Object with _PackageIndexMixin implements idl.
|
| if (!(_elementKinds == null || _elementKinds.isEmpty)) {
|
| offset_elementKinds = fbBuilder.writeListUint8(_elementKinds.map((b) => b.index).toList());
|
| }
|
| - if (!(_elementOffsets == null || _elementOffsets.isEmpty)) {
|
| - offset_elementOffsets = fbBuilder.writeListUint32(_elementOffsets);
|
| + 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);
|
| @@ -2283,8 +2325,14 @@ class PackageIndexBuilder extends Object with _PackageIndexMixin implements idl.
|
| if (offset_elementKinds != null) {
|
| fbBuilder.addOffset(5, offset_elementKinds);
|
| }
|
| - if (offset_elementOffsets != null) {
|
| - fbBuilder.addOffset(1, offset_elementOffsets);
|
| + if (offset_elementNameClassMemberIds != null) {
|
| + fbBuilder.addOffset(7, offset_elementNameClassMemberIds);
|
| + }
|
| + if (offset_elementNameParameterIds != null) {
|
| + fbBuilder.addOffset(8, offset_elementNameParameterIds);
|
| + }
|
| + if (offset_elementNameUnitMemberIds != null) {
|
| + fbBuilder.addOffset(1, offset_elementNameUnitMemberIds);
|
| }
|
| if (offset_elementUnits != null) {
|
| fbBuilder.addOffset(0, offset_elementUnits);
|
| @@ -2324,7 +2372,9 @@ class _PackageIndexImpl extends Object with _PackageIndexMixin implements idl.Pa
|
| _PackageIndexImpl(this._bc, this._bcOffset);
|
|
|
| List<idl.IndexSyntheticElementKind> _elementKinds;
|
| - List<int> _elementOffsets;
|
| + List<int> _elementNameClassMemberIds;
|
| + List<int> _elementNameParameterIds;
|
| + List<int> _elementNameUnitMemberIds;
|
| List<int> _elementUnits;
|
| List<String> _strings;
|
| List<int> _unitLibraryUris;
|
| @@ -2338,9 +2388,21 @@ class _PackageIndexImpl extends Object with _PackageIndexMixin implements idl.Pa
|
| }
|
|
|
| @override
|
| - List<int> get elementOffsets {
|
| - _elementOffsets ??= const fb.Uint32ListReader().vTableGet(_bc, _bcOffset, 1, const <int>[]);
|
| - return _elementOffsets;
|
| + 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, 1, const <int>[]);
|
| + return _elementNameUnitMemberIds;
|
| }
|
|
|
| @override
|
| @@ -2379,7 +2441,9 @@ abstract class _PackageIndexMixin implements idl.PackageIndex {
|
| Map<String, Object> toJson() {
|
| Map<String, Object> _result = <String, Object>{};
|
| if (elementKinds.isNotEmpty) _result["elementKinds"] = elementKinds.map((_value) => _value.toString().split('.')[1]).toList();
|
| - if (elementOffsets.isNotEmpty) _result["elementOffsets"] = elementOffsets;
|
| + 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 (strings.isNotEmpty) _result["strings"] = strings;
|
| if (unitLibraryUris.isNotEmpty) _result["unitLibraryUris"] = unitLibraryUris;
|
| @@ -2391,7 +2455,9 @@ abstract class _PackageIndexMixin implements idl.PackageIndex {
|
| @override
|
| Map<String, Object> toMap() => {
|
| "elementKinds": elementKinds,
|
| - "elementOffsets": elementOffsets,
|
| + "elementNameClassMemberIds": elementNameClassMemberIds,
|
| + "elementNameParameterIds": elementNameParameterIds,
|
| + "elementNameUnitMemberIds": elementNameUnitMemberIds,
|
| "elementUnits": elementUnits,
|
| "strings": strings,
|
| "unitLibraryUris": unitLibraryUris,
|
|
|