| 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   print(""" | 25   print(""" | 
| 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 | 
|---|