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

Unified Diff: frog/leg/tree/nodes.dart

Issue 9327001: Implement super initializers. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Rebase and update test expectations. Created 8 years, 10 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: frog/leg/tree/nodes.dart
diff --git a/frog/leg/tree/nodes.dart b/frog/leg/tree/nodes.dart
index 890094ab5a9fad587619fa57daec3be3c7292828..7496bf4431d8ffe2de6d204de21bb29d5e394a87 100644
--- a/frog/leg/tree/nodes.dart
+++ b/frog/leg/tree/nodes.dart
@@ -1442,3 +1442,27 @@ class CatchBlock extends Node {
Token getEndToken() => block.getEndToken();
}
+
+class Initializers {
+
+ static bool isSuperConstructorCall(Send node) {
+ return (node.receiver === null &&
+ node.selector.asIdentifier() !== null &&
+ node.selector.asIdentifier().isSuper()) ||
+ (node.receiver !== null &&
+ node.receiver.asIdentifier() !== null &&
+ node.receiver.asIdentifier().isSuper() &&
+ node.selector.asIdentifier() !== null);
+ }
+
+ static bool isConstructorRedirect(Send node) {
+ return (node.receiver === null &&
+ node.selector.asIdentifier() !== null &&
+ node.selector.asIdentifier().isThis()) ||
+ (node.receiver !== null &&
+ node.receiver.asIdentifier() !== null &&
+ node.receiver.asIdentifier().isThis() &&
+ node.selector.asIdentifier() !== null);
+ }
ngeoffray 2012/02/07 14:25:59 extra space.
karlklose 2012/02/08 14:12:00 Done.
+
+}

Powered by Google App Engine
This is Rietveld 408576698