check method
void
check(
- DcqRegistry registry
)
Implementation
@override
void check(DcqRegistry registry) {
registry.addCompilationUnit((unit) {
final collector = _StringCollector(
configStringList(ruleConfig, 'ignored-invocations') ??
const ['print', 'debugPrint'],
);
unit.accept(collector);
final candidates = collector.candidates;
if (configBool(ruleConfig, 'allow-only-once') ?? false) {
// Group by string value and only flag those appearing 2+ times.
final counts = <String, List<_StringInfo>>{};
for (final info in candidates) {
(counts[info.value] ??= []).add(info);
}
for (final entry in counts.entries) {
if (entry.value.length >= 2) {
for (final info in entry.value) {
reportAtNode(info.node);
}
}
}
} else {
for (final info in candidates) {
reportAtNode(info.node);
}
}
});
}