check method
void
check(
- DcqRegistry registry
)
Implementation
@override
void check(
DcqRegistry registry,
) {
if (!(configBool(ruleConfig, 'ignore-parameters') ?? false)) {
registry.addFormalParameterList((node) {
for (final param in node.parameters) {
final effectiveParam = param is DefaultFormalParameter
? param.parameter
: param;
if (effectiveParam is! SimpleFormalParameter) continue;
if (!_isBoolType(effectiveParam.type)) continue;
final name = effectiveParam.name?.lexeme;
if (name == null || name.startsWith('_')) continue;
if ((configStringList(ruleConfig, 'ignored-names') ?? const [])
.contains(name)) {
continue;
}
if (_hasValidPrefix(name)) continue;
reportAtToken(effectiveParam.name!);
}
});
}
if (!(configBool(ruleConfig, 'ignore-fields') ?? false)) {
registry.addFieldDeclaration((node) {
if (!_isBoolType(node.fields.type)) return;
if (_hasIgnoredAnnotation(node.metadata)) return;
for (final variable in node.fields.variables) {
final name = variable.name.lexeme;
if (name.startsWith('_')) continue;
if ((configStringList(ruleConfig, 'ignored-names') ?? const [])
.contains(name)) {
continue;
}
if (_hasValidPrefix(name)) continue;
reportAtToken(variable.name);
}
});
}
if (!(configBool(ruleConfig, 'ignore-methods') ?? false)) {
registry.addMethodDeclaration((node) {
if (node.isOperator) return;
final returnType = node.returnType;
if (!_isBoolType(returnType)) return;
if (_hasIgnoredAnnotation(node.metadata)) return;
final name = node.name.lexeme;
if (name.startsWith('_')) return;
if ((configStringList(ruleConfig, 'ignored-names') ?? const [])
.contains(name)) {
return;
}
if (_hasValidPrefix(name)) return;
reportAtToken(node.name);
});
}
}