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

Unified Diff: dart/lib/compiler/implementation/scanner/listener.dart

Issue 10913153: Parse methods named 'get' or 'set' (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge
Patch Set: Store type annotations Created 8 years, 3 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: dart/lib/compiler/implementation/scanner/listener.dart
diff --git a/dart/lib/compiler/implementation/scanner/listener.dart b/dart/lib/compiler/implementation/scanner/listener.dart
index f5cc57eb24fdb0d4e8f74e129b470b8e0dc0ab97..d3b354fa8cd5ddac92c00f0fd82d008e2a9875e3 100644
--- a/dart/lib/compiler/implementation/scanner/listener.dart
+++ b/dart/lib/compiler/implementation/scanner/listener.dart
@@ -659,6 +659,7 @@ class ElementListener extends Listener {
void endTopLevelMethod(Token beginToken, Token getOrSet, Token endToken) {
Identifier name = popNode();
+ TypeAnnotation type = popNode();
Modifiers modifiers = popNode();
ElementKind kind;
if (getOrSet === null) {
@@ -679,6 +680,7 @@ class ElementListener extends Listener {
name, fields, ElementKind.FIELD, compilationUnitElement));
}
NodeList variables = makeNodeList(count, null, null, ",");
+ TypeAnnotation type = popNode();
Modifiers modifiers = popNode();
buildFieldElements(modifiers, variables, compilationUnitElement,
buildFieldElement,
@@ -1300,8 +1302,9 @@ class NodeListener extends ElementListener {
void endFields(int count, Token beginToken, Token endToken) {
NodeList variables = makeNodeList(count, null, null, ",");
+ TypeAnnotation type = popNode();
Modifiers modifiers = popNode();
- pushNode(new VariableDefinitions(null, modifiers, variables, endToken));
+ pushNode(new VariableDefinitions(type, modifiers, variables, endToken));
}
void endMethod(Token getOrSet, Token beginToken, Token endToken) {
@@ -1309,8 +1312,9 @@ class NodeListener extends ElementListener {
NodeList initializers = popNode();
NodeList formalParameters = popNode();
Expression name = popNode();
+ TypeAnnotation returnType = popNode();
Modifiers modifiers = popNode();
- pushNode(new FunctionExpression(name, formalParameters, body, null,
+ pushNode(new FunctionExpression(name, formalParameters, body, returnType,
modifiers, initializers, getOrSet));
}

Powered by Google App Engine
This is Rietveld 408576698