Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(266)

Unified Diff: sdk/lib/_internal/compiler/implementation/js_backend/native_emitter.dart

Issue 11414258: Reapply dart2js: Dot-separated field-and-super descriptor string in classes. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);

Powered by Google App Engine
This is Rietveld 408576698