| 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.js_emitter.lazy_emitter.model_emitter; | 5 library dart2js.js_emitter.lazy_emitter.model_emitter; |
| 6 | 6 |
| 7 import 'package:js_runtime/shared/embedded_names.dart' | 7 import 'package:js_runtime/shared/embedded_names.dart' |
| 8 show | 8 show |
| 9 CREATE_NEW_ISOLATE, | 9 CREATE_NEW_ISOLATE, |
| 10 DEFERRED_LIBRARY_URIS, | 10 DEFERRED_LIBRARY_URIS, |
| (...skipping 361 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 372 } | 372 } |
| 373 | 373 |
| 374 Iterable<js.Property> emitEmbeddedGlobalsForDeferredLoading( | 374 Iterable<js.Property> emitEmbeddedGlobalsForDeferredLoading( |
| 375 Map<String, List<Fragment>> loadMap) { | 375 Map<String, List<Fragment>> loadMap) { |
| 376 List<js.Property> globals = <js.Property>[]; | 376 List<js.Property> globals = <js.Property>[]; |
| 377 | 377 |
| 378 js.ArrayInitializer fragmentUris(List<Fragment> fragments) { | 378 js.ArrayInitializer fragmentUris(List<Fragment> fragments) { |
| 379 return js.stringArray(fragments.map((DeferredFragment fragment) => | 379 return js.stringArray(fragments.map((DeferredFragment fragment) => |
| 380 "${fragment.outputFileName}.$deferredExtension")); | 380 "${fragment.outputFileName}.$deferredExtension")); |
| 381 } | 381 } |
| 382 |
| 382 js.ArrayInitializer fragmentHashes(List<Fragment> fragments) { | 383 js.ArrayInitializer fragmentHashes(List<Fragment> fragments) { |
| 383 // TODO(floitsch): the hash must depend on the generated code. | 384 // TODO(floitsch): the hash must depend on the generated code. |
| 384 return js.numArray( | 385 return js.numArray( |
| 385 fragments.map((DeferredFragment fragment) => fragment.hashCode)); | 386 fragments.map((DeferredFragment fragment) => fragment.hashCode)); |
| 386 } | 387 } |
| 387 | 388 |
| 388 List<js.Property> uris = new List<js.Property>(loadMap.length); | 389 List<js.Property> uris = new List<js.Property>(loadMap.length); |
| 389 List<js.Property> hashes = new List<js.Property>(loadMap.length); | 390 List<js.Property> hashes = new List<js.Property>(loadMap.length); |
| 390 int count = 0; | 391 int count = 0; |
| 391 loadMap.forEach((String loadId, List<Fragment> fragmentList) { | 392 loadMap.forEach((String loadId, List<Fragment> fragmentList) { |
| (...skipping 266 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 658 switch (flags) { | 659 switch (flags) { |
| 659 case 1: | 660 case 1: |
| 660 return "function(val) { return this[#] = val; }"; | 661 return "function(val) { return this[#] = val; }"; |
| 661 case 2: | 662 case 2: |
| 662 return "function(receiver, val) { return receiver[#] = val; }"; | 663 return "function(receiver, val) { return receiver[#] = val; }"; |
| 663 case 3: | 664 case 3: |
| 664 return "function(receiver, val) { return this[#] = val; }"; | 665 return "function(receiver, val) { return this[#] = val; }"; |
| 665 } | 666 } |
| 666 return null; | 667 return null; |
| 667 } | 668 } |
| 669 |
| 668 js.Expression fieldName = js.quoteName(field.name); | 670 js.Expression fieldName = js.quoteName(field.name); |
| 669 js.Expression code = js.js(setterTemplateFor(field.setterFlags), fieldName); | 671 js.Expression code = js.js(setterTemplateFor(field.setterFlags), fieldName); |
| 670 js.Name setterName = namer.deriveSetterName(field.accessorName); | 672 js.Name setterName = namer.deriveSetterName(field.accessorName); |
| 671 return new StubMethod(setterName, code); | 673 return new StubMethod(setterName, code); |
| 672 } | 674 } |
| 673 | 675 |
| 674 Iterable<Method> _generateGettersSetters(Class cls) { | 676 Iterable<Method> _generateGettersSetters(Class cls) { |
| 675 Iterable<Method> getters = cls.fields | 677 Iterable<Method> getters = cls.fields |
| 676 .where((Field field) => field.needsGetter) | 678 .where((Field field) => field.needsGetter) |
| 677 .map(_generateGetter); | 679 .map(_generateGetter); |
| (...skipping 584 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1262 #eagerClasses; | 1264 #eagerClasses; |
| 1263 | 1265 |
| 1264 var end = Date.now(); | 1266 var end = Date.now(); |
| 1265 // print('Setup: ' + (end - start) + ' ms.'); | 1267 // print('Setup: ' + (end - start) + ' ms.'); |
| 1266 | 1268 |
| 1267 #invokeMain; // Start main. | 1269 #invokeMain; // Start main. |
| 1268 | 1270 |
| 1269 })(Date.now(), #code) | 1271 })(Date.now(), #code) |
| 1270 }"""; | 1272 }"""; |
| 1271 } | 1273 } |
| OLD | NEW |