| OLD | NEW | 
|---|
| 1 // Copyright (c) 2011, the Dart project authors.  Please see the AUTHORS file | 1 // Copyright (c) 2011, 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 // Tests that we can call functions through getters. | 5 // Tests that we can call functions through getters. | 
| 6 | 6 | 
| 7 final TOP_LEVEL_CONST = 1; | 7 const TOP_LEVEL_CONST = 1; | 
| 8 final TOP_LEVEL_CONST_REF = TOP_LEVEL_CONST; | 8 const TOP_LEVEL_CONST_REF = TOP_LEVEL_CONST; | 
| 9 final TOP_LEVEL_NULL = null; | 9 const TOP_LEVEL_NULL = null; | 
| 10 | 10 | 
| 11 var topLevel; | 11 var topLevel; | 
| 12 | 12 | 
| 13 class CallThroughGetterTest { | 13 class CallThroughGetterTest { | 
| 14 | 14 | 
| 15   static void testMain() { | 15   static void testMain() { | 
| 16     testTopLevel(); | 16     testTopLevel(); | 
| 17     testField(); | 17     testField(); | 
| 18     testGetter(); | 18     testGetter(); | 
| 19     testMethod(); | 19     testMethod(); | 
| 20     testEvaluationOrder(); | 20     testEvaluationOrder(); | 
| 21   } | 21   } | 
| 22 | 22 | 
| 23   static void testTopLevel() { | 23   static void testTopLevel() { | 
| 24     topLevel = function() { | 24     topLevel = function() { | 
| 25       return 2; | 25       return 2; | 
| 26     }; | 26     }; | 
| 27     Expect.equals(1, TOP_LEVEL_CONST); | 27     Expect.equals(1, TOP_LEVEL_CONST); | 
| 28     Expect.equals(1, TOP_LEVEL_CONST_REF); | 28     Expect.equals(1, TOP_LEVEL_CONST_REF); | 
| 29     Expect.equals(2, topLevel()); | 29     Expect.equals(2, topLevel()); | 
| 30 | 30 | 
| 31     expectThrowsNotClosure(() { | 31     expectThrowsNotClosure(() { | 
| 32       TOP_LEVEL_CONST(); /// static type warning | 32       TOP_LEVEL_CONST(); /// static type warning | 
| 33     }); | 33     }); | 
| 34     expectThrowsNotClosure(() { | 34     expectThrowsNotClosure(() { | 
| 35       (TOP_LEVEL_CONST)();  /// static type warning | 35       (TOP_LEVEL_CONST)();  /// static type warning | 
| 36     }); | 36     }); | 
| 37   } | 37   } | 
| 38 | 38 | 
| 39   static void testField() { | 39   static void testField() { | 
| 40     A a = new A(); | 40     A a = new A(); | 
| 41     a.field = () => 42; | 41     a.field = () => 42; | 
| 42     Expect.equals(42, a.field()); | 42     Expect.equals(42, a.field()); | 
| 43     Expect.equals(42, (a.field)()); | 43     Expect.equals(42, (a.field)()); | 
| 44 | 44 | 
| (...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 156   get z { _mark('z'); return 2; } | 156   get z { _mark('z'); return 2; } | 
| 157 | 157 | 
| 158   _mark(m) { _order.add(m); return _order.toString(); } | 158   _mark(m) { _order.add(m); return _order.toString(); } | 
| 159   StringBuffer _order; | 159   StringBuffer _order; | 
| 160 | 160 | 
| 161 } | 161 } | 
| 162 | 162 | 
| 163 main() { | 163 main() { | 
| 164   CallThroughGetterTest.testMain(); | 164   CallThroughGetterTest.testMain(); | 
| 165 } | 165 } | 
| OLD | NEW | 
|---|