| class Class { | |
| dynamic field; | |
| Class(this.field); | |
| } | |
| test(a) { | |
| switch (a) { | |
| case (foo: int b) when b != 2: | |
| print(b); | |
| case (foo: (int, int) b) when b != (2, 3): | |
| print(b); | |
| case Class(field: int b) when b != 2: | |
| print(b); | |
| case Class(field: (int, int) b) when b != (2, 3): | |
| print(b); | |
| } | |
| } | |
| testNullable(a) { | |
| switch (a) { | |
| case (foo: (int, int)? b) when b != (2, 3): | |
| print(b); | |
| case Class(field: (int, int)? b) when b != (2, 3): | |
| print(b); | |
| } | |
| } | |
| class[KeywordToken] Class[StringToken] {[BeginToken] | |
| dynamic[KeywordToken] field[StringToken];[SimpleToken] | |
| Class[StringToken]([BeginToken]this[KeywordToken].[SimpleToken]field[StringToken])[SimpleToken];[SimpleToken] | |
| }[SimpleToken] | |
| test[StringToken]([BeginToken]a[StringToken])[SimpleToken] {[BeginToken] | |
| switch[KeywordToken] ([BeginToken]a[StringToken])[SimpleToken] {[BeginToken] | |
| case[KeywordToken] ([BeginToken]foo[StringToken]:[SimpleToken] int[StringToken] b[StringToken])[SimpleToken] when[KeywordToken] b[StringToken] !=[SimpleToken] 2[StringToken]:[SimpleToken] | |
| print[StringToken]([BeginToken]b[StringToken])[SimpleToken];[SimpleToken] | |
| case[KeywordToken] ([BeginToken]foo[StringToken]:[SimpleToken] ([BeginToken]int[StringToken],[SimpleToken] int[StringToken])[SimpleToken] b[StringToken])[SimpleToken] when[KeywordToken] b[StringToken] !=[SimpleToken] ([BeginToken]2[StringToken],[SimpleToken] 3[StringToken])[SimpleToken]:[SimpleToken] | |
| print[StringToken]([BeginToken]b[StringToken])[SimpleToken];[SimpleToken] | |
| case[KeywordToken] Class[StringToken]([BeginToken]field[StringToken]:[SimpleToken] int[StringToken] b[StringToken])[SimpleToken] when[KeywordToken] b[StringToken] !=[SimpleToken] 2[StringToken]:[SimpleToken] | |
| print[StringToken]([BeginToken]b[StringToken])[SimpleToken];[SimpleToken] | |
| case[KeywordToken] Class[StringToken]([BeginToken]field[StringToken]:[SimpleToken] ([BeginToken]int[StringToken],[SimpleToken] int[StringToken])[SimpleToken] b[StringToken])[SimpleToken] when[KeywordToken] b[StringToken] !=[SimpleToken] ([BeginToken]2[StringToken],[SimpleToken] 3[StringToken])[SimpleToken]:[SimpleToken] | |
| print[StringToken]([BeginToken]b[StringToken])[SimpleToken];[SimpleToken] | |
| }[SimpleToken] | |
| }[SimpleToken] | |
| testNullable[StringToken]([BeginToken]a[StringToken])[SimpleToken] {[BeginToken] | |
| switch[KeywordToken] ([BeginToken]a[StringToken])[SimpleToken] {[BeginToken] | |
| case[KeywordToken] ([BeginToken]foo[StringToken]:[SimpleToken] ([BeginToken]int[StringToken],[SimpleToken] int[StringToken])[SimpleToken]?[SimpleToken] b[StringToken])[SimpleToken] when[KeywordToken] b[StringToken] !=[SimpleToken] ([BeginToken]2[StringToken],[SimpleToken] 3[StringToken])[SimpleToken]:[SimpleToken] | |
| print[StringToken]([BeginToken]b[StringToken])[SimpleToken];[SimpleToken] | |
| case[KeywordToken] Class[StringToken]([BeginToken]field[StringToken]:[SimpleToken] ([BeginToken]int[StringToken],[SimpleToken] int[StringToken])[SimpleToken]?[SimpleToken] b[StringToken])[SimpleToken] when[KeywordToken] b[StringToken] !=[SimpleToken] ([BeginToken]2[StringToken],[SimpleToken] 3[StringToken])[SimpleToken]:[SimpleToken] | |
| print[StringToken]([BeginToken]b[StringToken])[SimpleToken];[SimpleToken] | |
| }[SimpleToken] | |
| }[SimpleToken] | |
| [SimpleToken] |