check method
void
check(
- DcqRegistry registry
)
Implementation
@override
void check(
DcqRegistry registry,
) {
registry.addVariableDeclaration((node) {
final initializer = node.initializer;
if (initializer == null) return;
final type = initializer.staticType;
if (type is! InterfaceType) return;
final isNotifier = type.element.allSupertypes.any((s) {
final name = s.element.name;
if (!_notifierBaseClasses.contains(name)) return false;
final uri = Uri.tryParse(s.element.library.identifier);
if (uri == null || uri.scheme != 'package') return true;
final pkg = uri.pathSegments.firstOrNull;
final expectedPackage = name == 'StateNotifier'
? 'state_notifier'
: 'riverpod';
return pkg == expectedPackage;
});
if (isNotifier) {
reportAtNode(node);
}
});
}