Chromium Code Reviews| 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..e89b98da271b7efe2b602646620ab79ca06aaa68 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) { """/* method != '' */""" |
|
ngeoffray
2012/11/30 12:11:46
What is this about?
erikcorry
2012/11/30 12:20:02
As above.
|
| if (hasOwnProperty.call(desc, method)) { |
| $dynamicName(method)[cls] = desc[method]; |
| } |
| @@ -160,7 +161,8 @@ function(cls, desc) { |
| CodeBuffer getterSetterBuffer = new CodeBuffer(); |
| CodeBuffer methodBuffer = new CodeBuffer(); |
| - emitter.emitClassFields(classElement, fieldBuffer, false); |
| + emitter.emitClassFields( |
| + classElement, fieldBuffer, isNative: true, emitEndingComma: false); |
| emitter.emitClassGettersSetters(classElement, getterSetterBuffer, false); |
| emitter.emitInstanceMembers(classElement, methodBuffer, false); |