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

Unified Diff: pkg/kernel/lib/ast.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/ast.dart
diff --git a/pkg/kernel/lib/ast.dart b/pkg/kernel/lib/ast.dart
index 8236e0905a58bd512afb385fac9ba32b166114d3..5c432803f549d673c68e4be3251a29179143b1d6 100644
--- a/pkg/kernel/lib/ast.dart
+++ b/pkg/kernel/lib/ast.dart
@@ -616,6 +616,21 @@ class Class extends NamedNode {
String name;
bool isAbstract;
+ /// Whether this class is a synthetic implementation created for each
+ /// mixed-in class. For example the following code:
+ /// class Z extends A with B, C, D {}
+ /// class A {}
+ /// class B {}
+ /// class C {}
+ /// class D {}
+ /// ...creates:
+ /// abstract class A&B extends A mixedIn B {}
+ /// abstract class A&B&C extends A&B mixedIn C {}
+ /// abstract class A&B&C&D extends A&B&C mixedIn D {}
+ /// class Z extends A&B&C&D {}
+ /// All X&Y classes are marked as synthetic.
+ bool isSyntheticMixinImplementation;
+
/// The uri of the source file this class was loaded from.
String fileUri;
@@ -646,6 +661,7 @@ class Class extends NamedNode {
Class(
{this.name,
this.isAbstract: false,
+ this.isSyntheticMixinImplementation: false,
this.supertype,
this.mixedInType,
List<TypeParameter> typeParameters,

Powered by Google App Engine
This is Rietveld 408576698