switch_ on_ type
Avoid switch statements on a 'Type'.
Description
#
The analyzer produces this diagnostic when a switch statement or switch
expression is used on either the value of a
Type
or a
toString
call
on a
Type
.
Example
#
The following code produces this diagnostic because the switch statement
is used on a
Type
:
void f(Object o) {
switch (o.runtimeType) {
case const (int):
print('int');
case const (String):
print('String');
}
}
Common fixes
#Use pattern matching on the variable instead:
void f(Object o) {
switch (o) {
case int():
print('int');
case String():
print('String');
}
}
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.