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..82c98b0fd27f20d39679c80be6f2abd25d17a44b 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); |
| + // [target] may be null which means invoking noSuchMethod on |
| + // super. |
|
ngeoffray
2012/03/13 11:32:30
No warning?
|
| } else if (resolvedReceiver === null) { |
| return null; |
| } else if (resolvedReceiver.kind === ElementKind.CLASS) { |