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 class A { | 5 class A { |
6 var __PROTO__ = 499; | 6 var __PROTO__ = 499; |
7 var constructor = 1; | 7 var constructor = 1; |
8 var prototype = 2; | 8 var prototype = 2; |
9 } | 9 } |
10 | 10 |
11 class B extends A { | 11 class B extends A { |
12 get __PROTO__() => 42; | 12 get __PROTO__ => 42; |
13 get constructor() => 3; | 13 get constructor => 3; |
14 get prototype() => 4; | 14 get prototype => 4; |
15 } | 15 } |
16 | 16 |
17 main() { | 17 main() { |
18 var a = new A(); | 18 var a = new A(); |
19 var b = new B(); | 19 var b = new B(); |
20 var list = [a, b]; | 20 var list = [a, b]; |
21 for (int i = 0; i < list.length; i++) { | 21 for (int i = 0; i < list.length; i++) { |
22 var proto = list[i].__PROTO__; | 22 var proto = list[i].__PROTO__; |
23 var constructor = list[i].constructor; | 23 var constructor = list[i].constructor; |
24 var prototype = list[i].prototype; | 24 var prototype = list[i].prototype; |
25 if (i == 0) { | 25 if (i == 0) { |
26 Expect.equals(499, proto); | 26 Expect.equals(499, proto); |
27 Expect.equals(1, constructor); | 27 Expect.equals(1, constructor); |
28 Expect.equals(2, prototype); | 28 Expect.equals(2, prototype); |
29 } else { | 29 } else { |
30 Expect.equals(42, proto); | 30 Expect.equals(42, proto); |
31 Expect.equals(3, constructor); | 31 Expect.equals(3, constructor); |
32 Expect.equals(4, prototype); | 32 Expect.equals(4, prototype); |
33 } | 33 } |
34 } | 34 } |
35 } | 35 } |
OLD | NEW |