// Copyright (c) 2021, 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. import 'package:expect/expect.dart'; class Foo { int x = 0; int _y = 0; int get y => _y; void set y(int y) => _y = y; static late int z; late int w; } void main() { final foo = Foo(); int a = 0; late int b; late int c; late int d; b = a = 1; Expect.equals(a, 1); Expect.equals(b, 1); a = b = 2; Expect.equals(a, 2); Expect.equals(b, 2); b = foo.x = 3; Expect.equals(foo.x, 3); Expect.equals(b, 3); foo.x = b = 4; Expect.equals(foo.x, 4); Expect.equals(b, 4); b = foo.y = 5; Expect.equals(foo.y, 5); Expect.equals(b, 5); foo.y = b = 6; Expect.equals(foo.y, 6); Expect.equals(b, 6); b = c = 7; Expect.equals(b, 7); Expect.equals(c, 7); d = b = 8; Expect.equals(b, 8); Expect.equals(d, 8); Foo.z = a = 9; Expect.equals(a, 9); Expect.equals(Foo.z, 9); a = Foo.z = 10; Expect.equals(a, 10); Expect.equals(Foo.z, 10); Foo.z = foo.x = 11; Expect.equals(foo.x, 11); Expect.equals(Foo.z, 11); foo.x = Foo.z = 12; Expect.equals(foo.x, 12); Expect.equals(Foo.z, 12); Foo.z = foo.y = 13; Expect.equals(foo.y, 13); Expect.equals(Foo.z, 13); foo.y = Foo.z = 14; Expect.equals(foo.y, 14); Expect.equals(Foo.z, 14); foo.w = a = 15; Expect.equals(a, 15); Expect.equals(foo.w, 15); a = foo.w = 16; Expect.equals(a, 16); Expect.equals(foo.w, 16); foo.w = foo.x = 17; Expect.equals(foo.x, 17); Expect.equals(foo.w, 17); foo.x = foo.w = 18; Expect.equals(foo.x, 18); Expect.equals(foo.w, 18); foo.w = foo.y = 19; Expect.equals(foo.y, 19); Expect.equals(foo.w, 19); foo.y = foo.w = 20; Expect.equals(foo.y, 20); Expect.equals(foo.w, 20); }