Chromium Code Reviews| Index: dart/frog/leg/resolver.dart |
| diff --git a/dart/frog/leg/resolver.dart b/dart/frog/leg/resolver.dart |
| index e3334f6bb2917f09350b28a29562fa8170e86a7b..fe04a7e5df98dc2f1cf80c6dea4cd7daac93b6dc 100644 |
| --- a/dart/frog/leg/resolver.dart |
| +++ b/dart/frog/leg/resolver.dart |
| @@ -723,11 +723,14 @@ class ResolverVisitor extends CommonResolverVisitor<Element> { |
| error(node.receiver, MessageKind.NO_INSTANCE_AVAILABLE, [name]); |
| return null; |
| } |
| - target = currentClass.lookupSuperMember(name); |
| - if (target === null) { |
| - error(node.selector, MessageKind.METHOD_NOT_FOUND, |
| - [currentClass.superclass.name, name]); |
| + if (currentClass.supertype === null) { |
| + // This is just to guard against internal errors, so no need |
| + // for a real error message. |
| + error(node.receiver, MessageKind.GENERIC, "Object has no superclass"); |
| } |
| + target = currentClass.lookupSuperMember(name); |
| + // It is OK for target to be null, it means invoking |
|
kasperl
2012/03/13 08:55:30
Maybe rephrase: That target can be null which mean
ahe
2012/03/13 09:12:11
Done.
|
| + // noSuchMethod on super. |
| } else if (resolvedReceiver === null) { |
| return null; |
| } else if (resolvedReceiver.kind === ElementKind.CLASS) { |