check method
void
check(
- DcqRegistry registry
)
Implementation
@override
void check(
DcqRegistry registry,
) {
registry.addIndexExpression((node) {
final index = node.index;
if (index is! IntegerLiteral) return;
if (index.value != 0) return;
final target = node.target;
if (target == null) return;
final targetType = target.staticType;
if (targetType is InterfaceType && _isListLike(targetType)) {
reportAtNode(node);
}
});
// Also detect iterable.elementAt(0).
registry.addMethodInvocation((node) {
if (node.methodName.name != 'elementAt') return;
final args = node.argumentList.arguments;
if (args.length != 1) return;
final arg = args.first;
if (arg is! IntegerLiteral) return;
if (arg.value != 0) return;
reportAtNode(node);
});
}