mirror of
https://github.com/dart-lang/sdk
synced 2024-09-18 21:11:19 +00:00
fix unused result checking for switch expression cases
Fixes: https://github.com/dart-lang/sdk/issues/52314 Change-Id: I02a952ee94084599273193b509987f46ac6198e7 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/302381 Commit-Queue: Phil Quitslund <pquitslund@google.com> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
This commit is contained in:
parent
65630baac9
commit
b0b393773f
|
@ -235,6 +235,7 @@ class UseResultVerifier {
|
|||
parent is PropertyAccess ||
|
||||
parent is ReturnStatement ||
|
||||
parent is SetOrMapLiteral ||
|
||||
parent is SwitchExpressionCase ||
|
||||
parent is SwitchStatement ||
|
||||
parent is ThrowExpression ||
|
||||
parent is VariableDeclaration ||
|
||||
|
|
|
@ -1222,6 +1222,25 @@ const a = 'a';
|
|||
''');
|
||||
}
|
||||
|
||||
/// https://github.com/dart-lang/sdk/issues/52314
|
||||
test_switchExpression() async {
|
||||
await assertNoErrorsInCode(r'''
|
||||
import 'package:meta/meta.dart';
|
||||
|
||||
class C {
|
||||
bool m(Object o) {
|
||||
return switch (o) {
|
||||
String() => methodWithAnnotation(),
|
||||
_ => false,
|
||||
};
|
||||
}
|
||||
|
||||
@useResult
|
||||
bool methodWithAnnotation() => true;
|
||||
}
|
||||
''');
|
||||
}
|
||||
|
||||
test_topLevelFunction_prefixExpression_bang() async {
|
||||
await assertNoErrorsInCode(r'''
|
||||
import 'package:meta/meta.dart';
|
||||
|
|
Loading…
Reference in a new issue