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

Unified Diff: sdk/lib/_internal/compiler/implementation/tree/nodes.dart

Issue 11953048: Support 'implements' clause on typedef mixin applications. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Merge. Created 7 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
Index: sdk/lib/_internal/compiler/implementation/tree/nodes.dart
diff --git a/sdk/lib/_internal/compiler/implementation/tree/nodes.dart b/sdk/lib/_internal/compiler/implementation/tree/nodes.dart
index 9de0183165e8acfc46c80a9dc23390a572f940d9..9875b254ada47a304e593c6a2ae888ac3e16d92a 100644
--- a/sdk/lib/_internal/compiler/implementation/tree/nodes.dart
+++ b/sdk/lib/_internal/compiler/implementation/tree/nodes.dart
@@ -242,18 +242,16 @@ class ClassNode extends Node {
}
class MixinApplication extends Node {
- final Modifiers modifiers;
final TypeAnnotation superclass;
final NodeList mixins;
- MixinApplication(this.modifiers, this.superclass, this.mixins);
+ MixinApplication(this.superclass, this.mixins);
MixinApplication asMixinApplication() => this;
accept(Visitor visitor) => visitor.visitMixinApplication(this);
visitChildren(Visitor visitor) {
- if (modifiers != null) modifiers.accept(visitor);
if (superclass != null) superclass.accept(visitor);
if (mixins != null) mixins.accept(visitor);
}
@@ -267,15 +265,18 @@ class MixinApplication extends Node {
class NamedMixinApplication extends Node implements MixinApplication {
final Identifier name;
final NodeList typeParameters;
+
+ final Modifiers modifiers;
final MixinApplication mixinApplication;
+ final NodeList interfaces;
final Token typedefKeyword;
final Token endToken;
- NamedMixinApplication(this.name, this.typeParameters, this.mixinApplication,
+ NamedMixinApplication(this.name, this.typeParameters,
+ this.modifiers, this.mixinApplication, this.interfaces,
this.typedefKeyword, this.endToken);
- Modifiers get modifiers => mixinApplication.modifiers;
TypeAnnotation get superclass => mixinApplication.superclass;
NodeList get mixins => mixinApplication.mixins;
@@ -287,6 +288,8 @@ class NamedMixinApplication extends Node implements MixinApplication {
visitChildren(Visitor visitor) {
name.accept(visitor);
if (typeParameters != null) typeParameters.accept(visitor);
+ if (modifiers != null) modifiers.accept(visitor);
+ if (interfaces != null) interfaces.accept(visitor);
mixinApplication.accept(visitor);
}

Powered by Google App Engine
This is Rietveld 408576698