| Index: dart/frog/leg/resolver.dart
|
| diff --git a/dart/frog/leg/resolver.dart b/dart/frog/leg/resolver.dart
|
| index 1e378adb9e42588d5a4ea29c922695106edd0b5e..af36a18debfcb81f049e1c62674386bad4b2f4a3 100644
|
| --- a/dart/frog/leg/resolver.dart
|
| +++ b/dart/frog/leg/resolver.dart
|
| @@ -123,14 +123,10 @@ class ResolverTask extends CompilerTask {
|
| && constructor.functionParameters.parameterCount === 0) {
|
| constructor.implementation = defaultClass.getSynthesizedConstructor();
|
| }
|
| - }
|
| - if (constructor === null) {
|
| - error(node.send, MessageKind.CANNOT_FIND_CONSTRUCTOR, [node.send]);
|
| - return null;
|
| - }
|
|
|
| - if (constructor.implementation === null) {
|
| - error(node, MessageKind.CANNOT_FIND_CONSTRUCTOR, [name]);
|
| + if (constructor.implementation === null) {
|
| + error(node, MessageKind.CANNOT_FIND_CONSTRUCTOR, [name]);
|
| + }
|
| }
|
| }
|
|
|
| @@ -661,7 +657,7 @@ class ResolverVisitor extends CommonResolverVisitor<Element> {
|
| SourceString name = node.selector.asIdentifier().source;
|
| if (node.receiver === null) {
|
| target = lookup(node, name);
|
| - if (target === null && !enclosingElement.isInstanceMember()) {
|
| + if (target === null && !inInstanceContext) {
|
| error(node, MessageKind.CANNOT_RESOLVE, [name]);
|
| }
|
| } else if (node.isSuperCall) {
|
| @@ -1234,6 +1230,12 @@ class SignatureResolver extends CommonResolverVisitor<Element> {
|
| return element;
|
| }
|
|
|
| + Element visitFunctionExpression(FunctionExpression node) {
|
| + // This is a function typed parameter.
|
| + // TODO(ahe): Resolve the function type.
|
| + return visit(node.name);
|
| + }
|
| +
|
| LinkBuilder<Element> analyzeNodes(Link<Node> link) {
|
| LinkBuilder<Element> elements = new LinkBuilder<Element>();
|
| for (; !link.isEmpty(); link = link.tail) {
|
|
|