diff --git a/README.md b/README.md index be1eb92..de83bb9 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,25 @@ private def compileImpl(x: Expr[Dsl])(using Quotes): Expr[Option[String]] = { ``` 如上述代码所示,只要提供 `FromExpr[Dsl]` 就可以通过 `x.value` 在编译期获取到值 -## Function parsing +## 函数解析 `scala` 当前没有对函数进行模式匹配简单方法,所以还是只能通过解析 Ast 来实现,或者如 `slick` 那样通过操作符重载实现 + + +## 待办事项 ++ [x] 基础 Ast 及相关操作 ++ [x] 验证 `inline` 和 `FromExpr` 是否生效 ++ [ ] 验证 `lift` / `liftCaseClass` 如何处理 ++ [ ] 验证 `Insert/Update` 实现 ++ [ ] DSL + - [x] Map + - [ ] Filter/FlatMap/ConcatMap/Union + - [ ] Join + - [ ] GroupBy/Aggeration ++ [ ] 函数解析 + - [x] Ident + - [x] Property + - [ ] BinaryOperation + - [ ] UnaryOperation + - [ ] CaseClass + - [ ] Tuple