check method
void
check(
- DcqRegistry registry
)
Implementation
@override
void check(
DcqRegistry registry,
) {
registry.addClassDeclaration((node) {
final superclass = node.extendsClause?.superclass;
if (superclass == null) return;
if (!_widgetBaseClasses.contains(superclass.name.lexeme)) return;
final body = node.body;
if (body is! BlockClassBody) return;
for (final member in body.members) {
if (member is! MethodDeclaration) continue;
if ((configBool(ruleConfig, 'ignore-static') ?? false) &&
member.isStatic) {
continue;
}
final name = member.name.lexeme;
if (name.startsWith('_')) continue;
if (name == 'build') continue;
if ((configStringList(ruleConfig, 'ignored-names') ?? const [])
.contains(name)) {
continue;
}
final hasOverride = member.metadata.any(
(annotation) => annotation.name.name == 'override',
);
if (hasOverride) continue;
reportAtToken(member.name);
}
});
}