| 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) {
|
|
|