check method
void
check(
- DcqRegistry registry
)
Implementation
@override
void check(DcqRegistry registry) {
var hasFlameImport = false;
registry.addImportDirective((node) {
final uri = node.uri.stringValue;
if (uri != null && uri.startsWith('package:flame/')) {
hasFlameImport = true;
}
});
final pendingTokens = <Token>[];
registry.addMethodDeclaration((node) {
if (node.name.lexeme != 'onLoad') return;
if (!node.body.isAsynchronous) return;
final visitor = _AwaitFinder();
node.body.accept(visitor);
if (!visitor.found) {
pendingTokens.add(node.name);
}
});
registry.afterLibrary(() {
if (!hasFlameImport) return;
for (final token in pendingTokens) {
reportAtToken(token);
}
});
}