avoid-wildcard-cases-with-sealed-classes
Warns when a switch on a sealed class has a wildcard pattern case.
Once the sealed class has a new subclass, the analyzer will highlight all cases where this new subclass should be used, unless there is a wildcard case.
Example
❌ Bad:
void someFn(Vehicle value) {
final result = switch (value) {
Car() => 1,
// LINT: Avoid wildcard cases with sealed classes.
// Try enumerating all the possible values of the switch expression.
_ => 2,
};
}
sealed class Vehicle {}
class Car extends Vehicle {}
class Truck extends Vehicle {}
✅ Good:
void someFn(Vehicle value) {
final result = switch (value) {
Car() => 1,
Truck() => 2,
};
}
sealed class Vehicle {}
class Car extends Vehicle {}
class Truck extends Vehicle {}