| 74 | } |
| 75 | |
| 76 | std::unique_ptr<ParsedExpression> Transformer::transformNotExpression( |
| 77 | CypherParser::OC_NotExpressionContext& ctx) { |
| 78 | auto result = transformComparisonExpression(*ctx.oC_ComparisonExpression()); |
| 79 | if (!ctx.NOT().empty()) { |
| 80 | for ([[maybe_unused]] auto& _ : ctx.NOT()) { |
| 81 | auto rawName = "NOT " + result->toString(); |
| 82 | result = std::make_unique<ParsedExpression>(ExpressionType::NOT, std::move(result), |
| 83 | std::move(rawName)); |
| 84 | } |
| 85 | } |
| 86 | return result; |
| 87 | } |
| 88 | |
| 89 | std::unique_ptr<ParsedExpression> Transformer::transformComparisonExpression( |
| 90 | CypherParser::OC_ComparisonExpressionContext& ctx) { |