| 984 | } |
| 985 | |
| 986 | std::any ParserVisitor::visitLogicalNot(CelParser::LogicalNotContext* ctx) { |
| 987 | if (ctx->ops.size() % 2 == 0) { |
| 988 | return visit(ctx->member()); |
| 989 | } |
| 990 | int64_t op_id = factory_.NextId(SourceRangeFromToken(ctx->ops[0])); |
| 991 | auto target = ExprFromAny(visit(ctx->member())); |
| 992 | return ExprToAny( |
| 993 | GlobalCallOrMacro(op_id, CelOperator::LOGICAL_NOT, std::move(target))); |
| 994 | } |
| 995 | |
| 996 | std::any ParserVisitor::visitNegate(CelParser::NegateContext* ctx) { |
| 997 | if (ctx->ops.size() % 2 == 0) { |
nothing calls this directly
no test coverage detected