| 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 dd3901a8bb8f454ad1a479530a32136b17c8d1c4..83aa875d7ebbe4cd01c6871680b15e06f856a3cf 100644
|
| --- a/pkg/analyzer/lib/src/summary/format.dart
|
| +++ b/pkg/analyzer/lib/src/summary/format.dart
|
| @@ -1718,6 +1718,7 @@ class UnitIndexBuilder extends Object with _UnitIndexMixin implements idl.UnitIn
|
| List<int> _definedNameOffsets;
|
| List<int> _definedNames;
|
| int _unit;
|
| + List<bool> _usedElementIsQualifiedFlags;
|
| List<idl.IndexRelationKind> _usedElementKinds;
|
| List<int> _usedElementLengths;
|
| List<int> _usedElementOffsets;
|
| @@ -1779,6 +1780,18 @@ class UnitIndexBuilder extends Object with _UnitIndexMixin implements idl.UnitIn
|
| }
|
|
|
| @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) {
|
| + assert(!_finished);
|
| + _usedElementIsQualifiedFlags = _value;
|
| + }
|
| +
|
| + @override
|
| List<idl.IndexRelationKind> get usedElementKinds => _usedElementKinds ??= <idl.IndexRelationKind>[];
|
|
|
| /**
|
| @@ -1866,11 +1879,12 @@ class UnitIndexBuilder extends Object with _UnitIndexMixin implements idl.UnitIn
|
| _usedNames = _value;
|
| }
|
|
|
| - UnitIndexBuilder({List<idl.IndexNameKind> definedNameKinds, List<int> definedNameOffsets, List<int> definedNames, int unit, List<idl.IndexRelationKind> usedElementKinds, List<int> usedElementLengths, List<int> usedElementOffsets, List<int> usedElements, List<idl.IndexRelationKind> usedNameKinds, List<int> usedNameOffsets, List<int> usedNames})
|
| + UnitIndexBuilder({List<idl.IndexNameKind> definedNameKinds, List<int> definedNameOffsets, List<int> definedNames, int unit, List<bool> usedElementIsQualifiedFlags, List<idl.IndexRelationKind> usedElementKinds, List<int> usedElementLengths, List<int> usedElementOffsets, List<int> usedElements, List<idl.IndexRelationKind> usedNameKinds, List<int> usedNameOffsets, List<int> usedNames})
|
| : _definedNameKinds = definedNameKinds,
|
| _definedNameOffsets = definedNameOffsets,
|
| _definedNames = definedNames,
|
| _unit = unit,
|
| + _usedElementIsQualifiedFlags = usedElementIsQualifiedFlags,
|
| _usedElementKinds = usedElementKinds,
|
| _usedElementLengths = usedElementLengths,
|
| _usedElementOffsets = usedElementOffsets,
|
| @@ -1885,6 +1899,7 @@ class UnitIndexBuilder extends Object with _UnitIndexMixin implements idl.UnitIn
|
| fb.Offset offset_definedNameKinds;
|
| fb.Offset offset_definedNameOffsets;
|
| fb.Offset offset_definedNames;
|
| + fb.Offset offset_usedElementIsQualifiedFlags;
|
| fb.Offset offset_usedElementKinds;
|
| fb.Offset offset_usedElementLengths;
|
| fb.Offset offset_usedElementOffsets;
|
| @@ -1901,6 +1916,9 @@ class UnitIndexBuilder extends Object with _UnitIndexMixin implements idl.UnitIn
|
| if (!(_definedNames == null || _definedNames.isEmpty)) {
|
| offset_definedNames = fbBuilder.writeListUint32(_definedNames);
|
| }
|
| + 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());
|
| }
|
| @@ -1924,37 +1942,40 @@ class UnitIndexBuilder extends Object with _UnitIndexMixin implements idl.UnitIn
|
| }
|
| fbBuilder.startTable();
|
| if (offset_definedNameKinds != null) {
|
| - fbBuilder.addOffset(6, offset_definedNameKinds);
|
| + fbBuilder.addOffset(7, offset_definedNameKinds);
|
| }
|
| if (offset_definedNameOffsets != null) {
|
| - fbBuilder.addOffset(7, offset_definedNameOffsets);
|
| + fbBuilder.addOffset(8, offset_definedNameOffsets);
|
| }
|
| if (offset_definedNames != null) {
|
| - fbBuilder.addOffset(5, offset_definedNames);
|
| + fbBuilder.addOffset(6, offset_definedNames);
|
| }
|
| if (_unit != null && _unit != 0) {
|
| fbBuilder.addUint32(0, _unit);
|
| }
|
| + if (offset_usedElementIsQualifiedFlags != null) {
|
| + fbBuilder.addOffset(5, offset_usedElementIsQualifiedFlags);
|
| + }
|
| if (offset_usedElementKinds != null) {
|
| - fbBuilder.addOffset(4, offset_usedElementKinds);
|
| + fbBuilder.addOffset(2, offset_usedElementKinds);
|
| }
|
| if (offset_usedElementLengths != null) {
|
| - fbBuilder.addOffset(1, offset_usedElementLengths);
|
| + fbBuilder.addOffset(4, offset_usedElementLengths);
|
| }
|
| if (offset_usedElementOffsets != null) {
|
| - fbBuilder.addOffset(2, offset_usedElementOffsets);
|
| + fbBuilder.addOffset(3, offset_usedElementOffsets);
|
| }
|
| if (offset_usedElements != null) {
|
| - fbBuilder.addOffset(3, offset_usedElements);
|
| + fbBuilder.addOffset(1, offset_usedElements);
|
| }
|
| if (offset_usedNameKinds != null) {
|
| - fbBuilder.addOffset(10, offset_usedNameKinds);
|
| + fbBuilder.addOffset(11, offset_usedNameKinds);
|
| }
|
| if (offset_usedNameOffsets != null) {
|
| - fbBuilder.addOffset(9, offset_usedNameOffsets);
|
| + fbBuilder.addOffset(10, offset_usedNameOffsets);
|
| }
|
| if (offset_usedNames != null) {
|
| - fbBuilder.addOffset(8, offset_usedNames);
|
| + fbBuilder.addOffset(9, offset_usedNames);
|
| }
|
| return fbBuilder.endTable();
|
| }
|
| @@ -1976,6 +1997,7 @@ class _UnitIndexImpl extends Object with _UnitIndexMixin implements idl.UnitInde
|
| List<int> _definedNameOffsets;
|
| List<int> _definedNames;
|
| int _unit;
|
| + List<bool> _usedElementIsQualifiedFlags;
|
| List<idl.IndexRelationKind> _usedElementKinds;
|
| List<int> _usedElementLengths;
|
| List<int> _usedElementOffsets;
|
| @@ -1986,19 +2008,19 @@ class _UnitIndexImpl extends Object with _UnitIndexMixin implements idl.UnitInde
|
|
|
| @override
|
| List<idl.IndexNameKind> get definedNameKinds {
|
| - _definedNameKinds ??= const fb.ListReader<idl.IndexNameKind>(const _IndexNameKindReader()).vTableGet(_bp, 6, const <idl.IndexNameKind>[]);
|
| + _definedNameKinds ??= const fb.ListReader<idl.IndexNameKind>(const _IndexNameKindReader()).vTableGet(_bp, 7, const <idl.IndexNameKind>[]);
|
| return _definedNameKinds;
|
| }
|
|
|
| @override
|
| List<int> get definedNameOffsets {
|
| - _definedNameOffsets ??= const fb.Uint32ListReader().vTableGet(_bp, 7, const <int>[]);
|
| + _definedNameOffsets ??= const fb.Uint32ListReader().vTableGet(_bp, 8, const <int>[]);
|
| return _definedNameOffsets;
|
| }
|
|
|
| @override
|
| List<int> get definedNames {
|
| - _definedNames ??= const fb.Uint32ListReader().vTableGet(_bp, 5, const <int>[]);
|
| + _definedNames ??= const fb.Uint32ListReader().vTableGet(_bp, 6, const <int>[]);
|
| return _definedNames;
|
| }
|
|
|
| @@ -2009,44 +2031,50 @@ class _UnitIndexImpl extends Object with _UnitIndexMixin implements idl.UnitInde
|
| }
|
|
|
| @override
|
| + List<bool> get usedElementIsQualifiedFlags {
|
| + _usedElementIsQualifiedFlags ??= const fb.BoolListReader().vTableGet(_bp, 5, const <bool>[]);
|
| + return _usedElementIsQualifiedFlags;
|
| + }
|
| +
|
| + @override
|
| List<idl.IndexRelationKind> get usedElementKinds {
|
| - _usedElementKinds ??= const fb.ListReader<idl.IndexRelationKind>(const _IndexRelationKindReader()).vTableGet(_bp, 4, const <idl.IndexRelationKind>[]);
|
| + _usedElementKinds ??= const fb.ListReader<idl.IndexRelationKind>(const _IndexRelationKindReader()).vTableGet(_bp, 2, const <idl.IndexRelationKind>[]);
|
| return _usedElementKinds;
|
| }
|
|
|
| @override
|
| List<int> get usedElementLengths {
|
| - _usedElementLengths ??= const fb.Uint32ListReader().vTableGet(_bp, 1, const <int>[]);
|
| + _usedElementLengths ??= const fb.Uint32ListReader().vTableGet(_bp, 4, const <int>[]);
|
| return _usedElementLengths;
|
| }
|
|
|
| @override
|
| List<int> get usedElementOffsets {
|
| - _usedElementOffsets ??= const fb.Uint32ListReader().vTableGet(_bp, 2, const <int>[]);
|
| + _usedElementOffsets ??= const fb.Uint32ListReader().vTableGet(_bp, 3, const <int>[]);
|
| return _usedElementOffsets;
|
| }
|
|
|
| @override
|
| List<int> get usedElements {
|
| - _usedElements ??= const fb.Uint32ListReader().vTableGet(_bp, 3, const <int>[]);
|
| + _usedElements ??= const fb.Uint32ListReader().vTableGet(_bp, 1, const <int>[]);
|
| return _usedElements;
|
| }
|
|
|
| @override
|
| List<idl.IndexRelationKind> get usedNameKinds {
|
| - _usedNameKinds ??= const fb.ListReader<idl.IndexRelationKind>(const _IndexRelationKindReader()).vTableGet(_bp, 10, const <idl.IndexRelationKind>[]);
|
| + _usedNameKinds ??= const fb.ListReader<idl.IndexRelationKind>(const _IndexRelationKindReader()).vTableGet(_bp, 11, const <idl.IndexRelationKind>[]);
|
| return _usedNameKinds;
|
| }
|
|
|
| @override
|
| List<int> get usedNameOffsets {
|
| - _usedNameOffsets ??= const fb.Uint32ListReader().vTableGet(_bp, 9, const <int>[]);
|
| + _usedNameOffsets ??= const fb.Uint32ListReader().vTableGet(_bp, 10, const <int>[]);
|
| return _usedNameOffsets;
|
| }
|
|
|
| @override
|
| List<int> get usedNames {
|
| - _usedNames ??= const fb.Uint32ListReader().vTableGet(_bp, 8, const <int>[]);
|
| + _usedNames ??= const fb.Uint32ListReader().vTableGet(_bp, 9, const <int>[]);
|
| return _usedNames;
|
| }
|
| }
|
| @@ -2059,6 +2087,7 @@ abstract class _UnitIndexMixin implements idl.UnitIndex {
|
| if (definedNameOffsets.isNotEmpty) _result["definedNameOffsets"] = definedNameOffsets;
|
| if (definedNames.isNotEmpty) _result["definedNames"] = definedNames;
|
| if (unit != 0) _result["unit"] = unit;
|
| + 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;
|
| @@ -2075,6 +2104,7 @@ abstract class _UnitIndexMixin implements idl.UnitIndex {
|
| "definedNameOffsets": definedNameOffsets,
|
| "definedNames": definedNames,
|
| "unit": unit,
|
| + "usedElementIsQualifiedFlags": usedElementIsQualifiedFlags,
|
| "usedElementKinds": usedElementKinds,
|
| "usedElementLengths": usedElementLengths,
|
| "usedElementOffsets": usedElementOffsets,
|
|
|