non_ constant_ case_ expression
Details about the 'non_constant_case_expression' diagnostic produced by the Dart analyzer.
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:
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:
void f(int i, int j) {
if (i == j) {
// ...
}
}
Unless stated otherwise, the documentation on this site reflects Dart 3.10.3. Report an issue.