check method

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

Implementation

@override
void check(
  DcqRegistry registry,
) {
  registry.addBlock((node) {
    final statements = node.statements;

    for (var i = 0; i < statements.length; i++) {
      final current = statements[i];
      if (current is! VariableDeclarationStatement) continue;

      final variables = current.variables.variables;
      for (final variable in variables) {
        if (variable.initializer != null) continue;

        final name = variable.name.lexeme;
        if (name.startsWith('_')) continue;

        if (_isUsedWithoutAnyAssignment(statements, name, fromIndex: i + 1)) {
          reportAtNode(variable);
        }
      }
    }
  });
}