blob: 3bc87ef60b7ab99b62142afdc1f6047c4daa3d32 [file]
// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
exhaustiveDynamicAsStringOrInt(
o) => /*
checkingOrder={Object?,Object,Null},
subtypes={Object,Null},
type=Object?
*/
switch (o) {
final String value /*space=String*/ => value,
final value as int /*space=()*/ => '$value',
};
exhaustiveDynamicAsStringOrIntAnd(
o) => /*
checkingOrder={Object?,Object,Null},
subtypes={Object,Null},
type=Object?
*/
switch (o) {
final String value /*space=String*/ => value,
(final value && final value2) as int /*space=()*/ => '$value$value2',
};
exhaustiveDynamicAsStringOrNum(
o) => /*
checkingOrder={Object?,Object,Null},
subtypes={Object,Null},
type=Object?
*/
switch (o) {
final String value /*space=String*/ => value,
final num value as int /*space=()*/ => '$value',
};
nonExhaustiveDynamicAsStringOrDouble(
o) => /*
checkingOrder={Object?,Object,Null},
error=non-exhaustive:Object(),
subtypes={Object,Null},
type=Object?
*/
switch (o) {
final String value /*space=String*/ => value,
final double value as num /*space=double?*/ => '$value',
};
exhaustiveDynamicAsStringOrIntUnrestricted(
o) => /*
checkingOrder={Object?,Object,Null},
subtypes={Object,Null},
type=Object?
*/
switch (o) {
final String value /*space=String*/ => value,
int(:bool isEven) as int /*space=()*/ => '$isEven',
};
nonExhaustiveDynamicAsStringOrIntRestricted(
o) => /*
checkingOrder={Object?,Object,Null},
error=non-exhaustive:Object(),
fields={isEven:-},
subtypes={Object,Null},
type=Object?
*/
switch (o) {
final String value /*space=String*/ => value,
int(isEven: true) as int /*space=int(isEven: true)|Null*/ => '',
};
sealed class M {}
class A extends M {}
class B extends M {}
class C extends M {}
exhaustiveMAsM(
M m) => /*
checkingOrder={M,A,B,C},
subtypes={A,B,C},
type=M
*/
switch (m) {
(A() || B() || C()) as M /*space=M?*/ => 0,
};
exhaustiveDynamicAsM(
dynamic
m) => /*
checkingOrder={Object?,Object,Null},
subtypes={Object,Null},
type=Object?
*/
switch (m) {
(A() || B() || C()) as M /*space=()*/ => 0,
};
exhaustiveDynamicAsMUnrestricted(
dynamic
m) => /*
checkingOrder={Object?,Object,Null},
subtypes={Object,Null},
type=Object?
*/
switch (m) {
(A() || B() || C(hashCode: int())) as M /*space=()*/ => 0,
};
nonExhaustiveDynamicAsMRestricted(
dynamic
m) => /*
checkingOrder={Object?,Object,Null},
error=non-exhaustive:Object(),
fields={hashCode:int},
subtypes={Object,Null},
type=Object?
*/
switch (m) {
(A() || B() || C(hashCode: 5)) as M /*space=A|B|C(hashCode: 5)|Null*/ =>
0,
};
exhaustiveDynamicAsMSeeminglyRestricted(
dynamic
m) => /*
checkingOrder={Object?,Object,Null},
subtypes={Object,Null},
type=Object?
*/
switch (m) {
(A() || B() || C(hashCode: 5)) as A /*space=()*/ => 0,
};
exhaustiveList(
o) => /*
checkingOrder={Object?,Object,Null},
subtypes={Object,Null},
type=Object?
*/
switch (o) {
[_] /*space=<[()]>*/ => 1,
[...] as List /*space=()*/ => 0,
};
nonExhaustiveList(
o) => /*
checkingOrder={Object?,Object,Null},
error=non-exhaustive:Object(),
subtypes={Object,Null},
type=Object?
*/
switch (o) {
[] as List /*space=<[]?>*/ => 0,
};