| abstract class A { | |
| B get b; | |
| int get i; | |
| } | |
| abstract class B { | |
| C get c; | |
| int get i; | |
| } | |
| abstract class C { | |
| int get i; | |
| } | |
| ifCase(o) {} | |
| switchExpression(o) => switch (o) { | |
| A a => a, | |
| A(:var b) => b, | |
| A(b: B(:var c)) => c, | |
| A(b: B(c: C(:var i))) => i, | |
| A(:var b, :var i) => '$b$i', | |
| A(i: 5, :var b) => b, | |
| A(:var b, i: 5) => b, | |
| A(:var b, i: 5) && A(b: B(:var c, i: 7)) => '$b$c', | |
| _ => null, | |
| }; | |
| switchStatement(o) {} |