check method

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

Implementation

@override
void check(DcqRegistry registry) {
  registry.addInstanceCreationExpression((node) {
    final typeName = node.constructorName.type.name.lexeme;
    if (!_rxTypes.contains(typeName)) return;

    if (_isInsideBuild(node)) {
      reportAtNode(node);
    }
  });

  registry.addPropertyAccess((node) {
    if (node.propertyName.name != 'obs') return;

    // Verify the result type is a known Rx type.
    final resultType = node.staticType;
    if (resultType is! InterfaceType) return;
    final resultName = resultType.element.name;
    if (resultName == null || !_rxTypes.contains(resultName)) return;

    if (_isInsideBuild(node)) {
      reportAtNode(node);
    }
  });
}