Chromium Code Reviews| Index: tests/kernel/unsorted/super_test.dart |
| diff --git a/tests/kernel/unsorted/super_test.dart b/tests/kernel/unsorted/super_test.dart |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..a2785ea6c94c4a34008871227efd138edc076c13 |
| --- /dev/null |
| +++ b/tests/kernel/unsorted/super_test.dart |
| @@ -0,0 +1,36 @@ |
| +import 'expect.dart'; |
|
Kevin Millikin (Google)
2016/10/21 09:10:58
Copyright header.
Vyacheslav Egorov (Google)
2016/10/21 13:39:43
Done.
|
| + |
| +class A { |
| + var field = 9; |
| + var called = false; |
| + |
| + superMethod() { |
| + Expect.isTrue(field == 10); |
| + called = true; |
| + return true; |
| + } |
| +} |
| + |
| +class B extends A { |
| + doit() { |
| + Expect.isTrue((super.field = 10) == 10); |
| + Expect.isTrue(super.superMethod()); |
| + if (called) { |
| + Expect.isTrue((super.field = 11) == 11); |
| + } |
| + return super.field; |
| + } |
| +} |
| + |
| +class C extends B { |
| + set field(v) { |
| + throw 'should not happen'; |
| + } |
| +} |
| + |
| +main() { |
| + var c = new C(); |
| + Expect.isTrue(c.field == 9); |
| + Expect.isTrue(c.doit() == 11); |
| + Expect.isTrue(c.field == 11); |
| +} |