Index: pkg/compiler/lib/src/parser/node_listener.dart |
diff --git a/pkg/compiler/lib/src/parser/node_listener.dart b/pkg/compiler/lib/src/parser/node_listener.dart |
index 9f6e18b75b7c73f425a569d037b06dcf685cdec6..4039330d70bff11cccae0885849c0e46ab64569a 100644 |
--- a/pkg/compiler/lib/src/parser/node_listener.dart |
+++ b/pkg/compiler/lib/src/parser/node_listener.dart |
@@ -344,13 +344,13 @@ class NodeListener extends ElementListener { |
AsyncModifier asyncModifier = popNode(); |
NodeList initializers = popNode(); |
NodeList formals = popNode(); |
- popNode(); // typeVariables |
+ NodeList typeVariables = popNode(); |
// The name can be an identifier or a send in case of named constructors. |
Expression name = popNode(); |
TypeAnnotation type = popNode(); |
Modifiers modifiers = popNode(); |
- pushNode(new FunctionExpression(name, formals, body, type, modifiers, |
- initializers, getOrSet, asyncModifier)); |
+ pushNode(new FunctionExpression(name, typeVariables, formals, body, type, |
+ modifiers, initializers, getOrSet, asyncModifier)); |
} |
void endFunctionDeclaration(Token endToken) { |
@@ -493,12 +493,12 @@ class NodeListener extends ElementListener { |
AsyncModifier asyncModifier = popNode(); |
NodeList initializers = popNode(); |
NodeList formalParameters = popNode(); |
- popNode(); // typeVariables |
+ NodeList typeVariables = popNode(); |
Expression name = popNode(); |
TypeAnnotation returnType = popNode(); |
Modifiers modifiers = popNode(); |
- pushNode(new FunctionExpression(name, formalParameters, body, returnType, |
- modifiers, initializers, getOrSet, asyncModifier)); |
+ pushNode(new FunctionExpression(name, typeVariables, formalParameters, |
+ body, returnType, modifiers, initializers, getOrSet, asyncModifier)); |
} |
void handleLiteralMap( |
@@ -564,12 +564,12 @@ class NodeListener extends ElementListener { |
void handleFunctionTypedFormalParameter(Token endToken) { |
NodeList formals = popNode(); |
- popNode(); // typeVariables |
+ NodeList typeVariables = popNode(); |
Identifier name = popNode(); |
TypeAnnotation returnType = popNode(); |
pushNode(null); // Signal "no type" to endFormalParameter. |
- pushNode(new FunctionExpression( |
- name, formals, null, returnType, Modifiers.EMPTY, null, null, null)); |
+ pushNode(new FunctionExpression(name, typeVariables, formals, null, |
+ returnType, Modifiers.EMPTY, null, null, null)); |
} |
void handleValuedFormalParameter(Token equals, Token token) { |
@@ -675,7 +675,7 @@ class NodeListener extends ElementListener { |
Modifiers modifiers = popNode(); |
pushNode(new FunctionExpression( |
- name, formals, body, null, modifiers, null, null, asyncModifier)); |
+ name, null, formals, body, null, modifiers, null, null, asyncModifier)); |
} |
void endForIn( |
@@ -754,9 +754,9 @@ class NodeListener extends ElementListener { |
Statement body = popNode(); |
AsyncModifier asyncModifier = popNode(); |
NodeList formals = popNode(); |
- popNode(); // typeVariables |
- pushNode(new FunctionExpression( |
- null, formals, body, null, Modifiers.EMPTY, null, null, asyncModifier)); |
+ NodeList typeVariables = popNode(); |
+ pushNode(new FunctionExpression(null, typeVariables, formals, body, null, |
+ Modifiers.EMPTY, null, null, asyncModifier)); |
} |
void handleIsOperator(Token operathor, Token not, Token endToken) { |