OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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 // Test that we do not report a compile-time error when a static setter named | 5 // Test that we do not report a compile-time error when a static setter named |
6 // foo= is declared in a class inheriting an instance method or getter named | 6 // foo= is declared in a class inheriting an instance method or getter named |
7 // foo, and that we do report an error if an instance setter named foo= or | 7 // foo, and that we do report an error if an instance setter named foo= or |
8 // instance field name foo is inherited. | 8 // instance field name foo is inherited. |
9 | 9 |
10 import "package:expect/expect.dart"; | 10 import "package:expect/expect.dart"; |
11 | 11 |
12 class A { | 12 class A { |
13 var foo = 42; // //# 00: compile-time error | 13 var foo = 42; // //# 00: compile-time error |
14 get foo => 42; // //# 01: static type warning | 14 get foo => 42; // //# 01: static type warning |
15 foo() => 42; // //# 02: static type warning | 15 foo() => 42; // //# 02: static type warning |
16 set foo(value) { } // //# 03: compile-time error | 16 set foo(value) { } // //# 03: compile-time error |
17 } | 17 } |
18 | 18 |
19 class B extends A { | 19 class B extends A { |
20 static var foo_; | 20 static var foo_; |
21 static set foo(value) { foo_ = value; } | 21 static set foo(value) { |
| 22 foo_ = value; |
| 23 } |
22 } | 24 } |
23 | 25 |
24 main() { | 26 main() { |
25 B.foo = 42; | 27 B.foo = 42; |
26 Expect.equals(42, B.foo_); | 28 Expect.equals(42, B.foo_); |
27 } | 29 } |
OLD | NEW |