check method
void
check(
- DcqRegistry registry
)
Implementation
@override
void check(
DcqRegistry registry,
) {
registry.addMethodInvocation((node) {
if (node.methodName.name != 'setState') return;
final enclosingMethod = _findEnclosingMethod(node);
if (enclosingMethod == null) return;
if (!_lifecycleMethods.contains(enclosingMethod.name.lexeme)) return;
final bodyNode = enclosingMethod.parent;
if (bodyNode is! BlockClassBody) return;
final classDecl = bodyNode.parent;
if (classDecl is! ClassDeclaration) return;
final superclass = classDecl.extendsClause?.superclass;
if (superclass == null) return;
if (superclass.name.lexeme != 'State') return;
if (!isFromExpectedPackage(superclass, 'flutter')) return;
reportAtNode(node);
});
}