| Index: sdk/lib/_internal/compiler/implementation/js_backend/emitter.dart
|
| diff --git a/sdk/lib/_internal/compiler/implementation/js_backend/emitter.dart b/sdk/lib/_internal/compiler/implementation/js_backend/emitter.dart
|
| index 0055ba20eda2dcdff45a57b3409f83b7ce296973..f1cd9791094191663ee2a3749d8ec49e798b714f 100644
|
| --- a/sdk/lib/_internal/compiler/implementation/js_backend/emitter.dart
|
| +++ b/sdk/lib/_internal/compiler/implementation/js_backend/emitter.dart
|
| @@ -731,7 +731,6 @@ $lazyInitializerLogic
|
| compiler.codegenWorld.instantiatedClasses.contains(classElement);
|
|
|
| void visitField(ClassElement enclosingClass, Element member) {
|
| - assert(!member.isNative());
|
| assert(invariant(classElement, member.isDeclaration));
|
|
|
| LibraryElement library = member.getLibrary();
|
| @@ -756,9 +755,12 @@ $lazyInitializerLogic
|
| if ((isInstantiated && !enclosingClass.isNative())
|
| || needsGetter
|
| || needsSetter) {
|
| - String fieldName = isShadowed
|
| + String accessorName = isShadowed
|
| ? namer.shadowedFieldName(member)
|
| : namer.getName(member);
|
| + String fieldName = member.isNative()
|
| + ? member.nativeName()
|
| + : accessorName;
|
| bool needsCheckedSetter = false;
|
| if (needsSetter && compiler.enableTypeAssertions
|
| && canGenerateCheckedSetter(member)) {
|
| @@ -1253,7 +1255,9 @@ $classesCollector.$mangledName = {'':
|
| if (member.isGetter()) {
|
| getter = "this.${namer.getterName(member.getLibrary(), member.name)}()";
|
| } else {
|
| - String name = namer.instanceFieldName(memberLibrary, member.name);
|
| + String name = member.isNative()
|
| + ? member.nativeName()
|
| + : namer.instanceFieldName(memberLibrary, member.name);
|
| getter = "this.$name";
|
| }
|
| for (Selector selector in selectors) {
|
|
|