Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(14)

Unified Diff: pkg/analyzer/lib/src/summary/format.dart

Issue 1814013004: Add source kind to the incremental cache. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | pkg/analyzer/lib/src/summary/format.fbs » ('j') | pkg/analyzer/lib/src/summary/idl.dart » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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,
};
« no previous file with comments | « no previous file | pkg/analyzer/lib/src/summary/format.fbs » ('j') | pkg/analyzer/lib/src/summary/idl.dart » ('J')

Powered by Google App Engine
This is Rietveld 408576698