check method
void
check(
- DcqRegistry registry
)
Implementation
@override
void check(
DcqRegistry registry,
) {
registry.addMethodDeclaration((node) {
if (node.isStatic) return;
if (node.isAbstract) return;
if (node.isGetter || node.isSetter) return;
if (node.isOperator) return;
final name = node.name.lexeme;
if ((configBool(ruleConfig, 'ignore-private') ?? false) &&
name.startsWith('_')) {
return;
}
if ((configBool(ruleConfig, 'ignore-public') ?? false) &&
!name.startsWith('_')) {
return;
}
final metadata = node.metadata;
for (final annotation in metadata) {
if (annotation.name.name == 'override') return;
}
final bodyNode = node.parent;
if (bodyNode is! BlockClassBody) return;
final parent = bodyNode.parent;
if (parent is! ClassDeclaration) return;
final instanceMembers = _collectInstanceMemberNames(parent);
final visitor = _InstanceMemberVisitor(instanceMembers);
for (final param in node.parameters?.parameters ?? <FormalParameter>[]) {
final name = param.name?.lexeme;
if (name != null) visitor.excludedNames.add(name);
}
node.body.accept(visitor);
if (!visitor.usesInstanceMember) {
reportAtToken(node.name);
}
});
}