| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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 import 'dart:mirrors'; | 5 import 'dart:mirrors'; |
| 6 | 6 |
| 7 import 'async_helper.dart'; | 7 import 'async_helper.dart'; |
| 8 | 8 |
| 9 void test(void onDone(bool success)) { | 9 void test(void onDone(bool success)) { |
| 10 var now = new Date.now(); | 10 var now = new DateTime.now(); |
| 11 InstanceMirror mirror = reflect(now); | 11 InstanceMirror mirror = reflect(now); |
| 12 print('now: ${now}'); | 12 print('now: ${now}'); |
| 13 print('mirror.type: ${mirror.type}'); | 13 print('mirror.type: ${mirror.type}'); |
| 14 print('now.toUtc(): ${now.toUtc()}'); | 14 print('now.toUtc(): ${now.toUtc()}'); |
| 15 | 15 |
| 16 mirror.invoke("toUtc", []).then((value) { | 16 mirror.invoke("toUtc", []).then((value) { |
| 17 print('mirror.invoke("toUtc", []): $value'); | 17 print('mirror.invoke("toUtc", []): $value'); |
| 18 Expect.isTrue(value.hasReflectee); | 18 Expect.isTrue(value.hasReflectee); |
| 19 Expect.equals(now.toUtc(), value.reflectee); | 19 Expect.equals(now.toUtc(), value.reflectee); |
| 20 onDone(true); | 20 onDone(true); |
| 21 }); | 21 }); |
| 22 } | 22 } |
| 23 | 23 |
| 24 void main() { | 24 void main() { |
| 25 reflect(""" | 25 reflect(""" |
| 26 | 26 |
| 27 This program is using an experimental feature called \"mirrors\". As | 27 This program is using an experimental feature called \"mirrors\". As |
| 28 currently implemented, mirrors do not work with minification, and will | 28 currently implemented, mirrors do not work with minification, and will |
| 29 cause spurious errors depending on how code was optimized. | 29 cause spurious errors depending on how code was optimized. |
| 30 | 30 |
| 31 The authors of this program are aware of these problems and have | 31 The authors of this program are aware of these problems and have |
| 32 decided the thrill of using an experimental feature is outweighing the | 32 decided the thrill of using an experimental feature is outweighing the |
| 33 risks. Furthermore, the authors of this program understand that | 33 risks. Furthermore, the authors of this program understand that |
| 34 long-term, to fix the problems mentioned above, mirrors may have | 34 long-term, to fix the problems mentioned above, mirrors may have |
| 35 negative impact on size and performance of Dart programs compiled to | 35 negative impact on size and performance of Dart programs compiled to |
| 36 JavaScript. | 36 JavaScript. |
| 37 """); | 37 """); |
| 38 asyncTest(test); | 38 asyncTest(test); |
| 39 } | 39 } |
| OLD | NEW |