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

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

Issue 10389113: Make a single labeled statement hold all its labels. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 7 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: lib/compiler/implementation/tree/nodes.dart
diff --git a/lib/compiler/implementation/tree/nodes.dart b/lib/compiler/implementation/tree/nodes.dart
index e7cfc3a6c2829b3ce4a92e3089d89af21955f95f..f5aa5adcded14326fc9d60e49603f1ca1b960fd2 100644
--- a/lib/compiler/implementation/tree/nodes.dart
+++ b/lib/compiler/implementation/tree/nodes.dart
@@ -1474,31 +1474,27 @@ class Label extends Node {
}
class LabeledStatement extends Statement {
- final Label label;
+ final NodeList labels;
final Statement statement;
- LabeledStatement(this.label, this.statement);
+ LabeledStatement(this.labels, this.statement);
LabeledStatement asLabeledStatement() => this;
accept(Visitor visitor) => visitor.visitLabeledStatement(this);
visitChildren(Visitor visitor) {
- label.accept(visitor);
+ labels.accept(visitor);
statement.accept(visitor);
}
- Token getBeginToken() => label.getBeginToken();
+ Token getBeginToken() => labels.getBeginToken();
Token getEndToken() => statement.getEndToken();
bool isValidContinueTarget() => statement.isValidContinueTarget();
- Node getBody() {
- if (statement is! LabeledStatement) return statement;
- LabeledStatement labeled = statement;
- return labeled.getBody();
- }
+ Node getBody() => statement;
}
class ScriptTag extends Node {

Powered by Google App Engine
This is Rietveld 408576698