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 12a8d4f4c3cfc97481d4aa974d9e77f961744b38..531eb1506f41eda8df0d91876d66c0f4f8fa513d 100644 |
--- a/sdk/lib/_internal/compiler/implementation/js_backend/emitter.dart |
+++ b/sdk/lib/_internal/compiler/implementation/js_backend/emitter.dart |
@@ -750,7 +750,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(); |
@@ -778,8 +777,9 @@ $lazyInitializerLogic |
String accessorName = isShadowed |
? namer.shadowedFieldName(member) |
: namer.getName(member); |
- String fieldName = enclosingClass.isNative() ? |
- member.name.slowToString() : accessorName; |
+ String fieldName = member.isNative() |
+ ? member.nativeName() |
+ : accessorName; |
bool needsCheckedSetter = false; |
if (needsSetter && compiler.enableTypeAssertions |
&& canGenerateCheckedSetter(member)) { |
@@ -1289,7 +1289,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) { |