From 2125725fa7d1f51d8709318364b175ce85050e99 Mon Sep 17 00:00:00 2001 From: jilen Date: Tue, 10 Dec 2024 11:05:52 +0800 Subject: [PATCH] More FromExpr --- src/main/scala/minisql/ast/FromExprs.scala | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/main/scala/minisql/ast/FromExprs.scala b/src/main/scala/minisql/ast/FromExprs.scala index 7a050b6..ef62299 100644 --- a/src/main/scala/minisql/ast/FromExprs.scala +++ b/src/main/scala/minisql/ast/FromExprs.scala @@ -102,8 +102,22 @@ private given FromExpr[Query] with { Some(Map(b, id, body)) case '{ Map(${ Expr(b) }, ${ Expr(id) }, ${ Expr(body) }) } => Some(Map(b, id, body)) + case '{ + val x: Ast = ${ Expr(b) } + val y: Ident = ${ Expr(id) } + val z: Ast = ${ Expr(body) } + Filter(x, y, z) + } => + Some(Filter(b, id, body)) case '{ Filter(${ Expr(b) }, ${ Expr(id) }, ${ Expr(body) }) } => Some(Filter(b, id, body)) + case '{ + val x: Ast = ${ Expr(b) } + val y: Ident = ${ Expr(id) } + val z: Ast = ${ Expr(body) } + FlatMap(x, y, z) + } => + Some(FlatMap(b, id, body)) case '{ FlatMap(${ Expr(b) }, ${ Expr(id) }, ${ Expr(body) }) } => Some(FlatMap(b, id, body)) case '{ ConcatMap(${ Expr(b) }, ${ Expr(id) }, ${ Expr(body) }) } =>