Index: sdk/lib/_internal/compiler/implementation/js_backend/native_emitter.dart |
diff --git a/sdk/lib/_internal/compiler/implementation/js_backend/native_emitter.dart b/sdk/lib/_internal/compiler/implementation/js_backend/native_emitter.dart |
index caaf5b744b3d0d629ccdb8849701b165d2ce01ec..076ab69eaf9a92f5dc10b57b382b6eab835c9f67 100644 |
--- a/sdk/lib/_internal/compiler/implementation/js_backend/native_emitter.dart |
+++ b/sdk/lib/_internal/compiler/implementation/js_backend/native_emitter.dart |
@@ -90,14 +90,15 @@ class NativeEmitter { |
String get defineNativeClassFunction { |
return """ |
function(cls, desc) { |
- var fields = desc[''] || []; |
var generateGetterSetter = ${emitter.generateGetterSetterFunction}; |
- for (var i = 0; i < fields.length; i++) { |
- generateGetterSetter(fields[i], desc); |
+ var fields = desc['']; |
+ var fields_array = fields ? fields.split(',') : []; |
+ for (var i = 0; i < fields_array.length; i++) { |
+ generateGetterSetter(fields_array[i], desc); |
} |
var hasOwnProperty = Object.prototype.hasOwnProperty; |
for (var method in desc) { |
- if (method !== '') { |
+ if (method) { """/* Short version of: if (method != '') */""" |
if (hasOwnProperty.call(desc, method)) { |
$dynamicName(method)[cls] = desc[method]; |
} |
@@ -160,7 +161,7 @@ function(cls, desc) { |
CodeBuffer getterSetterBuffer = new CodeBuffer(); |
CodeBuffer methodBuffer = new CodeBuffer(); |
- emitter.emitClassFields(classElement, fieldBuffer, false); |
+ emitter.emitClassFields(classElement, fieldBuffer, false, isNative: true); |
emitter.emitClassGettersSetters(classElement, getterSetterBuffer, false); |
emitter.emitInstanceMembers(classElement, methodBuffer, false); |