check method

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

Implementation

@override
void check(
  DcqRegistry registry,
) {
  final maxNumber = configInt(ruleConfig, 'max-number') ?? 3;

  registry.addIfStatement((node) {
    if (node.parent is IfStatement) return;

    var count = 1;
    IfStatement current = node;
    for (
      var next = current.elseStatement;
      next is IfStatement;
      next = current.elseStatement
    ) {
      count++;
      current = next;
    }
    if (current.elseStatement != null) count++;

    if (count > maxNumber) {
      reportAtToken(node.ifKeyword);
    }
  });
}