| // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| |
| /// @assertion It is a static warning if a class has a setter named v= with |
| /// argument type T and a getter named v with return type S, and S may not be |
| /// assigned to T |
| /// @description Checks that it is a compile error if class defines a setter |
| /// named 'foo=' and a getter named 'foo' with argument/return types that are |
| /// not mutually assignable. Types in getter/setter signatures provided |
| /// explicitly (String and double). |
| /// @author iefremov |
| /// @issue 42179 |
| /// @issue 42702 |
| |
| |
| class C { |
| set foo(double d) {} |
| |
| String get foo => ""; |
| // ^^^ |
| // [analyzer] unspecified |
| // [cfe] unspecified |
| } |
| |
| main() { |
| new C().foo = 42; |
| } |