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) {} |