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:
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.9.2. Page last updated on 2025-9-1. View source or report an issue.