| 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 2e610a6fad87be66295c3935dc82b6b32f5c4fe2..24c55f610435bfd8dd908fb17c41f430143395f3 100644
|
| --- a/pkg/analyzer/lib/src/summary/format.dart
|
| +++ b/pkg/analyzer/lib/src/summary/format.dart
|
| @@ -11,6 +11,19 @@ import 'flat_buffers.dart' as fb;
|
| import 'idl.dart' as idl;
|
| import 'dart:convert' as convert;
|
|
|
| +class _CacheSourceKindReader extends fb.Reader<idl.CacheSourceKind> {
|
| + const _CacheSourceKindReader() : super();
|
| +
|
| + @override
|
| + int get size => 1;
|
| +
|
| + @override
|
| + idl.CacheSourceKind read(fb.BufferPointer bp) {
|
| + int index = const fb.Uint8Reader().read(bp);
|
| + return index < idl.CacheSourceKind.values.length ? idl.CacheSourceKind.values[index] : idl.CacheSourceKind.library;
|
| + }
|
| +}
|
| +
|
| class _IndexNameKindReader extends fb.Reader<idl.IndexNameKind> {
|
| const _IndexNameKindReader() : super();
|
|
|
| @@ -115,11 +128,12 @@ class _UnlinkedParamKindReader extends fb.Reader<idl.UnlinkedParamKind> {
|
| }
|
| }
|
|
|
| -class CacheLibraryUrisBuilder extends Object with _CacheLibraryUrisMixin implements idl.CacheLibraryUris {
|
| +class CacheSourceContentBuilder extends Object with _CacheSourceContentMixin implements idl.CacheSourceContent {
|
| bool _finished = false;
|
|
|
| List<String> _exportedUris;
|
| List<String> _importedUris;
|
| + idl.CacheSourceKind _kind;
|
| List<String> _partUris;
|
|
|
| @override
|
| @@ -147,6 +161,17 @@ class CacheLibraryUrisBuilder extends Object with _CacheLibraryUrisMixin impleme
|
| }
|
|
|
| @override
|
| + idl.CacheSourceKind get kind => _kind ??= idl.CacheSourceKind.library;
|
| +
|
| + /**
|
| + * The kind of the source.
|
| + */
|
| + void set kind(idl.CacheSourceKind _value) {
|
| + assert(!_finished);
|
| + _kind = _value;
|
| + }
|
| +
|
| + @override
|
| List<String> get partUris => _partUris ??= <String>[];
|
|
|
| /**
|
| @@ -157,14 +182,15 @@ class CacheLibraryUrisBuilder extends Object with _CacheLibraryUrisMixin impleme
|
| _partUris = _value;
|
| }
|
|
|
| - CacheLibraryUrisBuilder({List<String> exportedUris, List<String> importedUris, List<String> partUris})
|
| + CacheSourceContentBuilder({List<String> exportedUris, List<String> importedUris, idl.CacheSourceKind kind, List<String> partUris})
|
| : _exportedUris = exportedUris,
|
| _importedUris = importedUris,
|
| + _kind = kind,
|
| _partUris = partUris;
|
|
|
| List<int> toBuffer() {
|
| fb.Builder fbBuilder = new fb.Builder();
|
| - return fbBuilder.finish(finish(fbBuilder), "CaLU");
|
| + return fbBuilder.finish(finish(fbBuilder), "CaSS");
|
| }
|
|
|
| fb.Offset finish(fb.Builder fbBuilder) {
|
| @@ -184,64 +210,75 @@ class CacheLibraryUrisBuilder extends Object with _CacheLibraryUrisMixin impleme
|
| }
|
| fbBuilder.startTable();
|
| if (offset_exportedUris != null) {
|
| - fbBuilder.addOffset(1, offset_exportedUris);
|
| + fbBuilder.addOffset(2, offset_exportedUris);
|
| }
|
| if (offset_importedUris != null) {
|
| - fbBuilder.addOffset(0, offset_importedUris);
|
| + fbBuilder.addOffset(1, offset_importedUris);
|
| + }
|
| + if (_kind != null && _kind != idl.CacheSourceKind.library) {
|
| + fbBuilder.addUint8(0, _kind.index);
|
| }
|
| if (offset_partUris != null) {
|
| - fbBuilder.addOffset(2, offset_partUris);
|
| + fbBuilder.addOffset(3, offset_partUris);
|
| }
|
| return fbBuilder.endTable();
|
| }
|
| }
|
|
|
| -idl.CacheLibraryUris readCacheLibraryUris(List<int> buffer) {
|
| +idl.CacheSourceContent readCacheSourceContent(List<int> buffer) {
|
| fb.BufferPointer rootRef = new fb.BufferPointer.fromBytes(buffer);
|
| - return const _CacheLibraryUrisReader().read(rootRef);
|
| + return const _CacheSourceContentReader().read(rootRef);
|
| }
|
|
|
| -class _CacheLibraryUrisReader extends fb.TableReader<_CacheLibraryUrisImpl> {
|
| - const _CacheLibraryUrisReader();
|
| +class _CacheSourceContentReader extends fb.TableReader<_CacheSourceContentImpl> {
|
| + const _CacheSourceContentReader();
|
|
|
| @override
|
| - _CacheLibraryUrisImpl createObject(fb.BufferPointer bp) => new _CacheLibraryUrisImpl(bp);
|
| + _CacheSourceContentImpl createObject(fb.BufferPointer bp) => new _CacheSourceContentImpl(bp);
|
| }
|
|
|
| -class _CacheLibraryUrisImpl extends Object with _CacheLibraryUrisMixin implements idl.CacheLibraryUris {
|
| +class _CacheSourceContentImpl extends Object with _CacheSourceContentMixin implements idl.CacheSourceContent {
|
| final fb.BufferPointer _bp;
|
|
|
| - _CacheLibraryUrisImpl(this._bp);
|
| + _CacheSourceContentImpl(this._bp);
|
|
|
| List<String> _exportedUris;
|
| List<String> _importedUris;
|
| + idl.CacheSourceKind _kind;
|
| List<String> _partUris;
|
|
|
| @override
|
| List<String> get exportedUris {
|
| - _exportedUris ??= const fb.ListReader<String>(const fb.StringReader()).vTableGet(_bp, 1, const <String>[]);
|
| + _exportedUris ??= const fb.ListReader<String>(const fb.StringReader()).vTableGet(_bp, 2, const <String>[]);
|
| return _exportedUris;
|
| }
|
|
|
| @override
|
| List<String> get importedUris {
|
| - _importedUris ??= const fb.ListReader<String>(const fb.StringReader()).vTableGet(_bp, 0, const <String>[]);
|
| + _importedUris ??= const fb.ListReader<String>(const fb.StringReader()).vTableGet(_bp, 1, const <String>[]);
|
| return _importedUris;
|
| }
|
|
|
| @override
|
| + idl.CacheSourceKind get kind {
|
| + _kind ??= const _CacheSourceKindReader().vTableGet(_bp, 0, idl.CacheSourceKind.library);
|
| + return _kind;
|
| + }
|
| +
|
| + @override
|
| List<String> get partUris {
|
| - _partUris ??= const fb.ListReader<String>(const fb.StringReader()).vTableGet(_bp, 2, const <String>[]);
|
| + _partUris ??= const fb.ListReader<String>(const fb.StringReader()).vTableGet(_bp, 3, const <String>[]);
|
| return _partUris;
|
| }
|
| }
|
|
|
| -abstract class _CacheLibraryUrisMixin implements idl.CacheLibraryUris {
|
| +abstract class _CacheSourceContentMixin implements idl.CacheSourceContent {
|
| @override
|
| Map<String, Object> toJson() {
|
| Map<String, Object> _result = <String, Object>{};
|
| if (exportedUris.isNotEmpty) _result["exportedUris"] = exportedUris;
|
| if (importedUris.isNotEmpty) _result["importedUris"] = importedUris;
|
| + if (kind != idl.CacheSourceKind.library) _result["kind"] = kind.toString().split('.')[1];
|
| if (partUris.isNotEmpty) _result["partUris"] = partUris;
|
| return _result;
|
| }
|
| @@ -250,6 +287,7 @@ abstract class _CacheLibraryUrisMixin implements idl.CacheLibraryUris {
|
| Map<String, Object> toMap() => {
|
| "exportedUris": exportedUris,
|
| "importedUris": importedUris,
|
| + "kind": kind,
|
| "partUris": partUris,
|
| };
|
|
|
|
|