284296f862
Not fixed for nullable record types in https://dart-review.googlesource.com/c/sdk/+/280106. Fixes: https://dartbug.com/52439 Closes: https://dartbug.com/52462 Change-Id: I52f42406f2e1c6b7c874a9828ef7f1de397b3c83 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/304642 Reviewed-by: Paul Berry <paulberry@google.com> Reviewed-by: Johnni Winther <johnniwinther@google.com> Commit-Queue: Jens Johansen <jensj@google.com>
56 lines
3.1 KiB
Plaintext
56 lines
3.1 KiB
Plaintext
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]
|