| OLD | NEW |
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 library dart2js.new_js_emitter.model_emitter; | 5 library dart2js.new_js_emitter.model_emitter; |
| 6 | 6 |
| 7 import '../../dart2jslib.dart' show Compiler; | 7 import '../../dart2jslib.dart' show Compiler; |
| 8 import '../../js/js.dart' as js; | 8 import '../../js/js.dart' as js; |
| 9 import '../../js_backend/js_backend.dart' show | 9 import '../../js_backend/js_backend.dart' show |
| 10 JavaScriptBackend, | 10 JavaScriptBackend, |
| (...skipping 353 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 364 js.number(cls.superclassHolderIndex)]; | 364 js.number(cls.superclassHolderIndex)]; |
| 365 | 365 |
| 366 if (cls.isMixinApplication) { | 366 if (cls.isMixinApplication) { |
| 367 MixinApplication mixin = cls; | 367 MixinApplication mixin = cls; |
| 368 elements.add(js.string(mixin.mixinClass.name)); | 368 elements.add(js.string(mixin.mixinClass.name)); |
| 369 elements.add(js.number(mixin.mixinClass.holder.index)); | 369 elements.add(js.number(mixin.mixinClass.holder.index)); |
| 370 } else { | 370 } else { |
| 371 elements.add(_generateConstructor(cls)); | 371 elements.add(_generateConstructor(cls)); |
| 372 } | 372 } |
| 373 Iterable<Method> methods = cls.methods; | 373 Iterable<Method> methods = cls.methods; |
| 374 Iterable<Method> isChecks = cls.isChecks; |
| 374 Iterable<Method> gettersSetters = _generateGettersSetters(cls); | 375 Iterable<Method> gettersSetters = _generateGettersSetters(cls); |
| 375 Iterable<Method> allMethods = [methods, gettersSetters].expand((x) => x); | 376 Iterable<Method> allMethods = |
| 377 [methods, isChecks, gettersSetters].expand((x) => x); |
| 376 elements.addAll(allMethods.expand((e) => [js.string(e.name), e.code])); | 378 elements.addAll(allMethods.expand((e) => [js.string(e.name), e.code])); |
| 377 return unparse(compiler, new js.ArrayInitializer(elements)); | 379 return unparse(compiler, new js.ArrayInitializer(elements)); |
| 378 } | 380 } |
| 379 | 381 |
| 380 js.Expression emitLazyInitializer(StaticField field) { | 382 js.Expression emitLazyInitializer(StaticField field) { |
| 381 assert(field.isLazy); | 383 assert(field.isLazy); |
| 382 return unparse(compiler, field.code); | 384 return unparse(compiler, field.code); |
| 383 } | 385 } |
| 384 | 386 |
| 385 js.Expression emitStaticMethod(StaticMethod method) { | 387 js.Expression emitStaticMethod(StaticMethod method) { |
| (...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 572 | 574 |
| 573 var end = Date.now(); | 575 var end = Date.now(); |
| 574 print('Setup: ' + (end - start) + ' ms.'); | 576 print('Setup: ' + (end - start) + ' ms.'); |
| 575 | 577 |
| 576 #main(); // Start main. | 578 #main(); // Start main. |
| 577 | 579 |
| 578 }(Date.now(), #code) | 580 }(Date.now(), #code) |
| 579 }"""; | 581 }"""; |
| 580 | 582 |
| 581 } | 583 } |
| OLD | NEW |