| // Copyright (c) 2017, 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. |
| |
| /*@testedFeatures=inference*/ |
| library test; |
| |
| class A { |
| int x = 0; |
| |
| test1() { |
| var /*@type=int*/ a = /*@target=A.x*/ x; |
| a = /*error:INVALID_ASSIGNMENT*/ "hi"; |
| a = 3; |
| var /*@type=int*/ b = /*@target=A.y*/ y; |
| b = /*error:INVALID_ASSIGNMENT*/ "hi"; |
| b = 4; |
| var /*@type=int*/ c = /*@target=A.z*/ z; |
| c = /*error:INVALID_ASSIGNMENT*/ "hi"; |
| c = 4; |
| } |
| |
| int y = throw ''; // field def after use |
| final z = 42; // should infer `int` |
| } |
| |
| main() {} |