| 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 44e90287d1527ef205800c490b743af186b307dc..0046aa7818292a891578f20289a0d3946af64470 100644
|
| --- a/pkg/compiler/lib/src/js_backend/namer.dart
|
| +++ b/pkg/compiler/lib/src/js_backend/namer.dart
|
| @@ -527,8 +527,8 @@ class Namer {
|
| final NamingScope instanceScope = new NamingScope();
|
| final Map<String, jsAst.Name> userInstanceMembers =
|
| new HashMap<String, jsAst.Name>();
|
| - final Map<Element, jsAst.Name> internalInstanceMembers =
|
| - new HashMap<Element, jsAst.Name>();
|
| + final Map<MemberEntity, jsAst.Name> internalInstanceMembers =
|
| + new HashMap<MemberEntity, jsAst.Name>();
|
| final Map<String, jsAst.Name> userInstanceOperators =
|
| new HashMap<String, jsAst.Name>();
|
|
|
| @@ -769,7 +769,7 @@ class Namer {
|
| }
|
|
|
| /// Name for a constructor body.
|
| - jsAst.Name constructorBodyName(FunctionElement ctor) {
|
| + jsAst.Name constructorBodyName(ConstructorBodyElement ctor) {
|
| return _disambiguateInternalMember(
|
| ctor, () => _proposeNameForConstructorBody(ctor));
|
| }
|
| @@ -984,10 +984,11 @@ class Namer {
|
| }
|
|
|
| /// Annotated name for the getter of [element].
|
| - jsAst.Name getterForElement(MemberElement element) {
|
| + jsAst.Name getterForElement(MemberEntity element) {
|
| // We dynamically create getters from the field-name. The getter name must
|
| // therefore be derived from the instance field-name.
|
| - jsAst.Name name = _disambiguateMember(element.memberName);
|
| + jsAst.Name name = _disambiguateMember(
|
| + new Name(element.name, element.library, isSetter: element.isSetter));
|
| return deriveGetterName(name);
|
| }
|
|
|
| @@ -1158,14 +1159,13 @@ class Namer {
|
| ///
|
| /// The resulting name is unique within the instance-member namespace.
|
| jsAst.Name _disambiguateInternalMember(
|
| - Element element, String proposeName()) {
|
| + MemberEntity element, String proposeName()) {
|
| jsAst.Name newName = internalInstanceMembers[element];
|
| if (newName == null) {
|
| String name = proposeName();
|
|
|
| - Entity asEntity = element;
|
| - if (asEntity is PrivatelyNamedJSEntity) {
|
| - NamingScope scope = _getPrivateScopeFor(asEntity);
|
| + if (element is PrivatelyNamedJSEntity) {
|
| + NamingScope scope = _getPrivateScopeFor(element);
|
| newName = getFreshName(scope, name,
|
| sanitizeForAnnotations: true, sanitizeForNatives: false);
|
| internalInstanceMembers[element] = newName;
|
| @@ -1468,7 +1468,7 @@ class Namer {
|
| /// this.super$A$foo(); // super.foo()
|
| /// }
|
| ///
|
| - jsAst.Name aliasedSuperMemberPropertyName(MemberElement member) {
|
| + jsAst.Name aliasedSuperMemberPropertyName(MemberEntity member) {
|
| assert(!member.isField); // Fields do not need super aliases.
|
| return _disambiguateInternalMember(member, () {
|
| String invocationName = operatorNameToIdentifier(member.name);
|
|
|