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

Unified Diff: pkg/kernel/lib/binary/ast_to_binary.dart

Issue 2982373002: Resynthesize mixins from Kernel. (Closed)
Patch Set: Created 3 years, 5 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
Index: pkg/kernel/lib/binary/ast_to_binary.dart
diff --git a/pkg/kernel/lib/binary/ast_to_binary.dart b/pkg/kernel/lib/binary/ast_to_binary.dart
index f0c2efd4299e12166ae9c8bab8bb86e9838aa7eb..b1a55e58ba29b308fea6ec75e91bdc2ad28206b4 100644
--- a/pkg/kernel/lib/binary/ast_to_binary.dart
+++ b/pkg/kernel/lib/binary/ast_to_binary.dart
@@ -363,14 +363,18 @@ class BinaryPrinter extends Visitor {
writeList(annotations, writeAnnotation);
}
- int _encodeClassFlags(bool isAbstract, ClassLevel level) {
- int abstactFlag = isAbstract ? 1 : 0;
- int levelFlags = (level.index - 1) << 1;
- return abstactFlag | levelFlags;
+ int _encodeClassFlags(
+ bool isAbstract, bool isSyntheticMixinImplementation, ClassLevel level) {
+ int abstractFlag = isAbstract ? 1 : 0;
+ int isSyntheticMixinImplementationFlag =
+ isSyntheticMixinImplementation ? 2 : 0;
+ int levelFlags = (level.index - 1) << 2;
+ return abstractFlag | isSyntheticMixinImplementationFlag | levelFlags;
}
visitClass(Class node) {
- int flags = _encodeClassFlags(node.isAbstract, node.level);
+ int flags = _encodeClassFlags(
+ node.isAbstract, node.isSyntheticMixinImplementation, node.level);
if (node.canonicalName == null) {
throw 'Missing canonical name for $node';
}
« pkg/kernel/lib/binary/ast_from_binary.dart ('K') | « pkg/kernel/lib/binary/ast_from_binary.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698