check method

  1. @override
void check(
  1. DcqRegistry registry
)

Implementation

@override
void check(
  DcqRegistry registry,
) {
  registry.addSwitchStatement((node) {
    if (!_isEnumType(node.expression.staticType)) return;

    for (final member in node.members) {
      if (member is SwitchDefault) {
        reportAtNode(node);
        return;
      }
      if (member is SwitchPatternCase) {
        if (_isWildcardPattern(member.guardedPattern.pattern)) {
          reportAtNode(node);
          return;
        }
      }
    }
  });

  registry.addSwitchExpression((node) {
    if (!_isEnumType(node.expression.staticType)) return;

    for (final member in node.cases) {
      if (_isWildcardPattern(member.guardedPattern.pattern)) {
        reportAtNode(node);
        return;
      }
    }
  });
}