OLD | NEW |
| (Empty) |
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 | |
3 // BSD-style license that can be found in the LICENSE file. | |
4 // Dart test program for constructors and initializers. | |
5 | |
6 import "package:expect/expect.dart"; | |
7 | |
8 // Test 'expression as Type' casts. | |
9 | |
10 class C { | |
11 final int foo = 42; | |
12 | |
13 int val = 0; | |
14 void inc() { | |
15 ++val; | |
16 } | |
17 } | |
18 | |
19 class D extends C { | |
20 final int bar = 37; | |
21 } | |
22 | |
23 main() { | |
24 C oc = new C(); | |
25 D od = new D(); | |
26 | |
27 Expect.throws(() => (oc as dynamic).bar, (e) => e is NoSuchMethodError); | |
28 | |
29 // Casts should always evaluate the left-hand side, if only for its effects. | |
30 oc.inc() as dynamic; | |
31 Expect.equals(1, oc.val); | |
32 oc.inc() as Object; | |
33 Expect.equals(2, oc.val); | |
34 } | |
OLD | NEW |