Chromium Code Reviews| Index: pkg/compiler/lib/src/js_backend/namer.dart |
| diff --git a/pkg/compiler/lib/src/js_backend/namer.dart b/pkg/compiler/lib/src/js_backend/namer.dart |
| index 4eff34a459a1a27cfae6151df1b119eab7803b15..0fe858bd225d1be9097935c12a968c4d74cf2962 100644 |
| --- a/pkg/compiler/lib/src/js_backend/namer.dart |
| +++ b/pkg/compiler/lib/src/js_backend/namer.dart |
| @@ -220,6 +220,7 @@ class Namer implements ClosureNamer { |
| final String currentIsolate = r'$'; |
| final String getterPrefix = r'get$'; |
| final String setterPrefix = r'set$'; |
| + final String superPrefix = r'super$'; |
| final String metadataField = '@'; |
| final String callPrefix = 'call'; |
| final String callCatchAllName = r'call$catchAll'; |
| @@ -809,6 +810,14 @@ class Namer implements ClosureNamer { |
| // TODO(ahe): Remove this method. Use get getNameOfMember instead. |
| String getNameOfInstanceMember(Element member) => getNameX(member); |
| + String getNameOfAliasedSuperMember(Element member) { |
| + ClassElement superClass = member.enclosingClass; |
| + String className = getNameOfClass(superClass); |
| + String memberName = getNameOfMember(member); |
| + String proposal = "$superPrefix$className\$$memberName"; |
| + return getMappedInstanceName(proposal); |
|
sra1
2014/11/25 18:02:48
Maybe add a TODO.
Since super aliases are always k
herhut
2014/11/26 09:41:36
Thanks! Great catch! Done.
|
| + } |
| + |
| String getNameOfMember(Element member) => getNameX(member); |
| String getNameOfGlobalField(VariableElement field) => getNameX(field); |