check method
void
check(
- DcqRegistry registry
)
Implementation
@override
void check(
DcqRegistry registry,
) {
registry.addMethodDeclaration((node) {
final bodyNode = node.parent;
if (bodyNode is! BlockClassBody) return;
final parent = bodyNode.parent;
if (parent is! ClassDeclaration) return;
final superclass = parent.extendsClause?.superclass;
if (superclass == null) return;
final superName = superclass.name.lexeme;
if (superName != 'State') return;
if (!isFromExpectedPackage(superclass, 'flutter')) return;
final body = node.body;
if (body is! BlockFunctionBody) return;
final statements = body.block.statements;
if (statements.length != 1) return;
final statement = statements.first;
if (statement is! ExpressionStatement) return;
final expression = statement.expression;
if (expression is! MethodInvocation) return;
final target = expression.target;
if (target is! SuperExpression) return;
if (expression.methodName.name != node.name.lexeme) return;
reportAtToken(node.name);
});
}