blob: 1ca1c65110715b5c4435c20723d2786cf77b788e [file] [log] [blame]
// 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);
}