| 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 a99894036787c338dd6fed66dc59662f167fe9c1..e63fbadbe7596b749fca0ce0bbe56e9ca198f34d 100644
|
| --- a/pkg/analyzer/lib/src/summary/format.dart
|
| +++ b/pkg/analyzer/lib/src/summary/format.dart
|
| @@ -1698,6 +1698,7 @@ class AnalysisDriverUnlinkedUnitBuilder extends Object
|
| List<String> _definedClassMemberNames;
|
| List<String> _definedTopLevelNames;
|
| List<String> _referencedNames;
|
| + List<String> _subtypedNames;
|
| UnlinkedUnitBuilder _unit;
|
|
|
| @override
|
| @@ -1732,6 +1733,17 @@ class AnalysisDriverUnlinkedUnitBuilder extends Object
|
| }
|
|
|
| @override
|
| + List<String> get subtypedNames => _subtypedNames ??= <String>[];
|
| +
|
| + /**
|
| + * List of names which are used in `extends`, `with` or `implements` clauses
|
| + * in the file. Import prefixes and type arguments are not included.
|
| + */
|
| + void set subtypedNames(List<String> value) {
|
| + this._subtypedNames = value;
|
| + }
|
| +
|
| + @override
|
| UnlinkedUnitBuilder get unit => _unit;
|
|
|
| /**
|
| @@ -1745,10 +1757,12 @@ class AnalysisDriverUnlinkedUnitBuilder extends Object
|
| {List<String> definedClassMemberNames,
|
| List<String> definedTopLevelNames,
|
| List<String> referencedNames,
|
| + List<String> subtypedNames,
|
| UnlinkedUnitBuilder unit})
|
| : _definedClassMemberNames = definedClassMemberNames,
|
| _definedTopLevelNames = definedTopLevelNames,
|
| _referencedNames = referencedNames,
|
| + _subtypedNames = subtypedNames,
|
| _unit = unit;
|
|
|
| /**
|
| @@ -1788,6 +1802,14 @@ class AnalysisDriverUnlinkedUnitBuilder extends Object
|
| signature.addString(x);
|
| }
|
| }
|
| + if (this._subtypedNames == null) {
|
| + signature.addInt(0);
|
| + } else {
|
| + signature.addInt(this._subtypedNames.length);
|
| + for (var x in this._subtypedNames) {
|
| + signature.addString(x);
|
| + }
|
| + }
|
| }
|
|
|
| List<int> toBuffer() {
|
| @@ -1799,6 +1821,7 @@ class AnalysisDriverUnlinkedUnitBuilder extends Object
|
| fb.Offset offset_definedClassMemberNames;
|
| fb.Offset offset_definedTopLevelNames;
|
| fb.Offset offset_referencedNames;
|
| + fb.Offset offset_subtypedNames;
|
| fb.Offset offset_unit;
|
| if (!(_definedClassMemberNames == null ||
|
| _definedClassMemberNames.isEmpty)) {
|
| @@ -1815,6 +1838,10 @@ class AnalysisDriverUnlinkedUnitBuilder extends Object
|
| offset_referencedNames = fbBuilder.writeList(
|
| _referencedNames.map((b) => fbBuilder.writeString(b)).toList());
|
| }
|
| + if (!(_subtypedNames == null || _subtypedNames.isEmpty)) {
|
| + offset_subtypedNames = fbBuilder.writeList(
|
| + _subtypedNames.map((b) => fbBuilder.writeString(b)).toList());
|
| + }
|
| if (_unit != null) {
|
| offset_unit = _unit.finish(fbBuilder);
|
| }
|
| @@ -1828,6 +1855,9 @@ class AnalysisDriverUnlinkedUnitBuilder extends Object
|
| if (offset_referencedNames != null) {
|
| fbBuilder.addOffset(0, offset_referencedNames);
|
| }
|
| + if (offset_subtypedNames != null) {
|
| + fbBuilder.addOffset(4, offset_subtypedNames);
|
| + }
|
| if (offset_unit != null) {
|
| fbBuilder.addOffset(1, offset_unit);
|
| }
|
| @@ -1862,6 +1892,7 @@ class _AnalysisDriverUnlinkedUnitImpl extends Object
|
| List<String> _definedClassMemberNames;
|
| List<String> _definedTopLevelNames;
|
| List<String> _referencedNames;
|
| + List<String> _subtypedNames;
|
| idl.UnlinkedUnit _unit;
|
|
|
| @override
|
| @@ -1888,6 +1919,13 @@ class _AnalysisDriverUnlinkedUnitImpl extends Object
|
| }
|
|
|
| @override
|
| + List<String> get subtypedNames {
|
| + _subtypedNames ??= const fb.ListReader<String>(const fb.StringReader())
|
| + .vTableGet(_bc, _bcOffset, 4, const <String>[]);
|
| + return _subtypedNames;
|
| + }
|
| +
|
| + @override
|
| idl.UnlinkedUnit get unit {
|
| _unit ??= const _UnlinkedUnitReader().vTableGet(_bc, _bcOffset, 1, null);
|
| return _unit;
|
| @@ -1905,6 +1943,7 @@ abstract class _AnalysisDriverUnlinkedUnitMixin
|
| _result["definedTopLevelNames"] = definedTopLevelNames;
|
| if (referencedNames.isNotEmpty)
|
| _result["referencedNames"] = referencedNames;
|
| + if (subtypedNames.isNotEmpty) _result["subtypedNames"] = subtypedNames;
|
| if (unit != null) _result["unit"] = unit.toJson();
|
| return _result;
|
| }
|
| @@ -1914,6 +1953,7 @@ abstract class _AnalysisDriverUnlinkedUnitMixin
|
| "definedClassMemberNames": definedClassMemberNames,
|
| "definedTopLevelNames": definedTopLevelNames,
|
| "referencedNames": referencedNames,
|
| + "subtypedNames": subtypedNames,
|
| "unit": unit,
|
| };
|
|
|
|
|