Chromium Code Reviews| Index: pkg/compiler/lib/src/js_emitter/old_emitter/container_builder.dart |
| diff --git a/pkg/compiler/lib/src/js_emitter/old_emitter/container_builder.dart b/pkg/compiler/lib/src/js_emitter/old_emitter/container_builder.dart |
| index 802887d9b73b5bb69d124378c73a37b1a6fa380f..6fa8fa44b0f86b69b7404c1edc2ad2e3489e6053 100644 |
| --- a/pkg/compiler/lib/src/js_emitter/old_emitter/container_builder.dart |
| +++ b/pkg/compiler/lib/src/js_emitter/old_emitter/container_builder.dart |
| @@ -414,7 +414,7 @@ class ContainerBuilder extends CodeEmitterHelper { |
| void addMemberMethodFromInfo(MemberInfo info, ClassBuilder builder) { |
| final FunctionElement member = info.member; |
| - final String name = info.name; |
| + String name = info.name; |
| final FunctionSignature parameters = info.parameters; |
| jsAst.Expression code = info.code; |
| final bool needsStubs = info.needsStubs; |
| @@ -427,6 +427,13 @@ class ContainerBuilder extends CodeEmitterHelper { |
| emitter.interceptorEmitter.recordMangledNameOfMemberMethod(member, name); |
| + // If this member is called from a subclass via super, we have to add a |
| + // renaming. This is encoded by using two names separated with a : as |
| + // the property name. |
| + if (backend.isAliasedSuperMember(member)) { |
| + name = "$name:${namer.getNameOfAliasedSuperMember(member)}"; |
|
floitsch
2014/11/24 10:47:52
Too far away from the code that extracts it.
Try t
ahe
2014/11/25 09:33:03
I'm concerned that using ':' (colon) here is likel
herhut
2014/11/25 14:03:19
This has been removed.
herhut
2014/11/25 14:03:19
Done.
|
| + } |
| + |
| if (!needStructuredInfo) { |
| compiler.dumpInfoTask.registerElementAst(member, |
| builder.addProperty(name, code)); |