| Index: lib/compiler/implementation/typechecker.dart
|
| diff --git a/lib/compiler/implementation/typechecker.dart b/lib/compiler/implementation/typechecker.dart
|
| index 290b68a73e5f58d783a688d94943537d26df3484..9344d233a888ae4952a10597793b9728a97218d7 100644
|
| --- a/lib/compiler/implementation/typechecker.dart
|
| +++ b/lib/compiler/implementation/typechecker.dart
|
| @@ -421,9 +421,7 @@ class TypeCheckerVisitor implements Visitor<Type> {
|
| }
|
|
|
| Type visitSend(Send node) {
|
| - Element element = elements[node];
|
| -
|
| - if (Elements.isClosureSend(node, element)) {
|
| + if (Elements.isClosureSend(node, elements)) {
|
| // TODO(karlklose): Finish implementation.
|
| return types.dynamicType;
|
| }
|
| @@ -466,6 +464,7 @@ class TypeCheckerVisitor implements Visitor<Type> {
|
| // TODO(karlklose): we cannot handle fields.
|
| return unhandledExpression();
|
| }
|
| + Element element = elements[node];
|
| if (element === null) return types.dynamicType;
|
| return computeType(element);
|
|
|
| @@ -503,6 +502,7 @@ class TypeCheckerVisitor implements Visitor<Type> {
|
| if (memberType.element === compiler.dynamicClass) return null;
|
| return memberType;
|
| } else {
|
| + Element element = elements[node];
|
| if (element === null) {
|
| fail(node, 'unresolved ${node.selector}');
|
| } else if (element.kind === ElementKind.FUNCTION) {
|
|
|