check method

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

Implementation

@override
void check(
  DcqRegistry registry,
) {
  registry.addNamedType((node) {
    final outerName = node.name.lexeme;
    if (!_asyncTypes.contains(outerName)) return;

    final typeArgs = node.typeArguments;
    if (typeArgs == null) return;

    for (final arg in typeArgs.arguments) {
      if (arg is! NamedType) continue;
      final innerName = arg.name.lexeme;
      if (!_asyncTypes.contains(innerName)) continue;
      if (_futureOnly.contains(outerName) &&
          _futureOnly.contains(innerName)) {
        continue;
      }
      reportAtNode(node);
      return;
    }
  });
}