check method
void
check(
- DcqRegistry registry
)
Implementation
@override
void check(
DcqRegistry registry,
) {
registry.addPrefixExpression((node) {
if (node.operator.type != TokenType.BANG) return;
final operand = _unparenthesize(node.operand);
if (operand is PrefixExpression &&
operand.operator.type == TokenType.BANG) {
reportAtNode(node);
return;
}
if (operand is BooleanLiteral) {
reportAtNode(node);
}
});
registry.addBinaryExpression((node) {
final op = node.operator.type;
if (op != TokenType.EQ_EQ && op != TokenType.BANG_EQ) return;
final left = _unparenthesize(node.leftOperand);
final right = _unparenthesize(node.rightOperand);
if (left is PrefixExpression &&
left.operator.type == TokenType.BANG &&
right is PrefixExpression &&
right.operator.type == TokenType.BANG) {
reportAtNode(node);
}
});
}