non_constant_case_expression
Case expressions must be constant.
Description
#The analyzer produces this diagnostic when the expression in a case
clause isn't a constant expression.
Example
#The following code produces this diagnostic because j
isn't a constant:
dart
void f(int i, int j) {
switch (i) {
case j:
// ...
break;
}
}
Common fixes
#Either make the expression a constant expression, or rewrite the switch
statement as a sequence of if
statements:
dart
void f(int i, int j) {
if (i == j) {
// ...
}
}
Was this page's content helpful?
Thank you for your feedback!
Provide details Thank you for your feedback! Please let us know what we can do to improve.
Provide details Unless stated otherwise, the documentation on this site reflects Dart 3.8.1. Page last updated on 2025-05-08. View source or report an issue.