check method

  1. @override
void check(
  1. DcqRegistry registry
)

Implementation

@override
void check(
  DcqRegistry registry,
) {
  registry.addMethodInvocation((node) {
    if (!(configStringList(ruleConfig, 'methods') ?? const ['setState'])
        .contains(node.methodName.name)) {
      return;
    }

    if (!_isInStateSubclass(node)) return;

    final body = _findEnclosingFunctionBody(node);
    if (body == null) return;
    if (!body.isAsynchronous) return;

    if (_isInsideMountedCheck(node)) return;

    if (_hasAwaitBeforeSetState(body, node)) {
      reportAtNode(node);
    }
  });
}