Chromium Code Reviews| Index: dart/pkg/compiler/lib/src/js_backend/backend.dart |
| diff --git a/dart/pkg/compiler/lib/src/js_backend/backend.dart b/dart/pkg/compiler/lib/src/js_backend/backend.dart |
| index 75238e4afa7d0c13f0826c011d8b72b76aa08c14..66e50c44659ab370bd21093e03d10b710576bc55 100644 |
| --- a/dart/pkg/compiler/lib/src/js_backend/backend.dart |
| +++ b/dart/pkg/compiler/lib/src/js_backend/backend.dart |
| @@ -557,8 +557,17 @@ class JavaScriptBackend extends Backend { |
| /** |
| * Record that [method] is called from a subclass via `super`. |
| */ |
| - void registerAliasedSuperMember(FunctionElement method) { |
| - aliasedSuperMembers.add(method); |
| + bool registerAliasedSuperMember(Element member, Selector selector) { |
|
herhut
2014/11/27 09:13:26
I think we usually use something like
maybeRegist
ahe
2014/12/01 09:58:13
Done.
|
| + if (selector.isGetter || compiler.hasIncrementalSupport) { |
| + // Invoking a super getter isn't supported, this would require changes to |
| + // compact field descriptors in the emitter. |
| + // We also turn off this optimization in incremental compilation, to |
| + // avoid having to regenerate a method just because someone started |
| + // calling it through super. |
| + return false; |
| + } |
| + aliasedSuperMembers.add(member); |
| + return true; |
| } |
| /** |