check method

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

Implementation

@override
void check(
  DcqRegistry registry,
) {
  registry.addClassDeclaration((node) {
    if (node.abstractKeyword != null) return;
    if (node.extendsClause != null) return;
    if (node.withClause != null) return;
    if (node.implementsClause != null) return;

    final body = node.body;
    if (body is! BlockClassBody) return;
    final members = body.members;
    if (members.isEmpty) return;

    final hasOnlyStatic = members.every((member) {
      if (member is ConstructorDeclaration) return false;
      if (member is MethodDeclaration) return member.isStatic;
      if (member is FieldDeclaration) return member.isStatic;
      return false;
    });

    if (hasOnlyStatic) {
      reportAtToken(node.namePart.typeName);
    }
  });
}