Chromium Code Reviews| Index: lib/compiler/implementation/resolver.dart |
| diff --git a/lib/compiler/implementation/resolver.dart b/lib/compiler/implementation/resolver.dart |
| index 1c569db76aa3ae4dd5089a5a9c735ee873db2887..085e663d0340704b324956aa6373fd8d5c966f06 100644 |
| --- a/lib/compiler/implementation/resolver.dart |
| +++ b/lib/compiler/implementation/resolver.dart |
| @@ -941,6 +941,7 @@ class ResolverVisitor extends CommonResolverVisitor<Element> { |
| void setupFunction(FunctionExpression node, FunctionElement function) { |
| context = new MethodScope(context, function); |
| + if (node.returnType !== null) resolveTypeAnnotation(node.returnType); |
| // Put the parameters in scope. |
| FunctionSignature functionParameters = |
| function.computeSignature(compiler); |
| @@ -952,6 +953,9 @@ class ResolverVisitor extends CommonResolverVisitor<Element> { |
| } |
| VariableDefinitions variableDefinitions = parameterNodes.head; |
| Node parameterNode = variableDefinitions.definitions.nodes.head; |
| + if (variableDefinitions.type !== null) { |
|
Roman
2012/07/24 08:22:49
I removed this because it is the reason of stack o
|
| + resolveTypeAnnotation(variableDefinitions.type); |
| + } |
| initializerDo(parameterNode, (n) => n.accept(this)); |
| // Field parameters (this.x) are not visible inside the constructor. The |
| // fields they reference are visible, but must be resolved independently. |