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

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

Issue 1589823007: Generate enum readers. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 11 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/tool/summary/generate.dart » ('j') | no next file with comments »
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 7f4f9129b3a1b8b82102b087a835944ea477cc80..7f284fca067232dae5966645b386fbb5be22ec3f 100644
--- a/pkg/analyzer/lib/src/summary/format.dart
+++ b/pkg/analyzer/lib/src/summary/format.dart
@@ -23,6 +23,19 @@ enum ReferenceKind {
unresolved,
}
+class _ReferenceKindReader extends fb.Reader<ReferenceKind> {
+ const _ReferenceKindReader() : super();
+
+ @override
+ int get size => 4;
+
+ @override
+ ReferenceKind read(fb.BufferPointer bp) {
+ int index = const fb.Int32Reader().read(bp);
+ return ReferenceKind.values[index];
+ }
+}
+
/**
* Enum used to indicate the kind of an executable.
*/
@@ -33,6 +46,19 @@ enum UnlinkedExecutableKind {
constructor,
}
+class _UnlinkedExecutableKindReader extends fb.Reader<UnlinkedExecutableKind> {
+ const _UnlinkedExecutableKindReader() : super();
+
+ @override
+ int get size => 4;
+
+ @override
+ UnlinkedExecutableKind read(fb.BufferPointer bp) {
+ int index = const fb.Int32Reader().read(bp);
+ return UnlinkedExecutableKind.values[index];
+ }
+}
+
/**
* Enum used to indicate the kind of a parameter.
*/
@@ -42,6 +68,19 @@ enum UnlinkedParamKind {
named,
}
+class _UnlinkedParamKindReader extends fb.Reader<UnlinkedParamKind> {
+ const _UnlinkedParamKindReader() : super();
+
+ @override
+ int get size => 4;
+
+ @override
+ UnlinkedParamKind read(fb.BufferPointer bp) {
+ int index = const fb.Int32Reader().read(bp);
+ return UnlinkedParamKind.values[index];
+ }
+}
+
class LinkedDependencyBuilder extends Object with _LinkedDependencyMixin implements LinkedDependency {
bool _finished = false;
@@ -315,7 +354,7 @@ class _LinkedExportNameImpl extends Object with _LinkedExportNameMixin implement
@override
ReferenceKind get kind {
- _kind ??= ReferenceKind.values[const fb.Int32Reader().vTableGet(_bp, 3, 0)];
+ _kind ??= const _ReferenceKindReader().vTableGet(_bp, 3, ReferenceKind.classOrEnum);
return _kind;
}
}
@@ -686,7 +725,7 @@ class _LinkedReferenceImpl extends Object with _LinkedReferenceMixin implements
@override
ReferenceKind get kind {
- _kind ??= ReferenceKind.values[const fb.Int32Reader().vTableGet(_bp, 1, 0)];
+ _kind ??= const _ReferenceKindReader().vTableGet(_bp, 1, ReferenceKind.classOrEnum);
return _kind;
}
@@ -2363,7 +2402,7 @@ class _UnlinkedExecutableImpl extends Object with _UnlinkedExecutableMixin imple
@override
UnlinkedExecutableKind get kind {
- _kind ??= UnlinkedExecutableKind.values[const fb.Int32Reader().vTableGet(_bp, 6, 0)];
+ _kind ??= const _UnlinkedExecutableKindReader().vTableGet(_bp, 6, UnlinkedExecutableKind.functionOrMethod);
return _kind;
}
@@ -3244,7 +3283,7 @@ class _UnlinkedParamImpl extends Object with _UnlinkedParamMixin implements Unli
@override
UnlinkedParamKind get kind {
- _kind ??= UnlinkedParamKind.values[const fb.Int32Reader().vTableGet(_bp, 4, 0)];
+ _kind ??= const _UnlinkedParamKindReader().vTableGet(_bp, 4, UnlinkedParamKind.required);
return _kind;
}
@@ -3507,7 +3546,7 @@ class _UnlinkedPublicNameImpl extends Object with _UnlinkedPublicNameMixin imple
@override
ReferenceKind get kind {
- _kind ??= ReferenceKind.values[const fb.Int32Reader().vTableGet(_bp, 1, 0)];
+ _kind ??= const _ReferenceKindReader().vTableGet(_bp, 1, ReferenceKind.classOrEnum);
return _kind;
}
« no previous file with comments | « no previous file | pkg/analyzer/tool/summary/generate.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698