check method

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

Implementation

@override
void check(
  DcqRegistry registry,
) {
  registry.addMethodDeclaration((node) {
    final typeParams = node.typeParameters;
    if (typeParams == null) return;

    if (configBool(ruleConfig, 'ignore-overridden') ?? false) {
      final hasOverride = node.metadata.any(
        (a) => a.name.name == 'override',
      );
      if (hasOverride) return;
    }

    for (final typeParam in typeParams.typeParameters) {
      final name = typeParam.name.lexeme;
      if (!_isTypeParamUsed(name, node)) {
        reportAtToken(typeParam.name);
      }
    }
  });

  registry.addFunctionDeclaration((node) {
    final typeParams = node.functionExpression.typeParameters;
    if (typeParams == null) return;

    for (final typeParam in typeParams.typeParameters) {
      final name = typeParam.name.lexeme;
      if (!_isFuncTypeParamUsed(name, node)) {
        reportAtToken(typeParam.name);
      }
    }
  });
}