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); |