check method

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

Implementation

@override
void check(
  DcqRegistry registry,
) {
  registry.addClassDeclaration((node) {
    var hasCreateRenderObject = false;
    var hasUpdateRenderObject = false;

    final body = node.body;
    if (body is! BlockClassBody) return;
    for (final member in body.members) {
      if (member is! MethodDeclaration) continue;
      final name = member.name.lexeme;
      if (name == 'createRenderObject') hasCreateRenderObject = true;
      if (name == 'updateRenderObject') hasUpdateRenderObject = true;
    }

    if (!hasCreateRenderObject) return;
    if (hasUpdateRenderObject) return;

    // Skip classes with no constructor parameters — nothing to sync.
    if (_hasNoConstructorParams(node)) return;

    reportAtToken(node.namePart.typeName);
  });
}