diff options
Diffstat (limited to 'src/include/expr_manager.h')
-rw-r--r-- | src/include/expr_manager.h | 56 |
1 files changed, 19 insertions, 37 deletions
diff --git a/src/include/expr_manager.h b/src/include/expr_manager.h index 0c265f57f..5dae5b854 100644 --- a/src/include/expr_manager.h +++ b/src/include/expr_manager.h @@ -23,47 +23,29 @@ public: static ExprManager* currentEM() { return s_current; } // general expression-builders - Expr build(Kind kind); - Expr build(Kind kind, Expr child1); - Expr build(Kind kind, Expr child1, Expr child2); - Expr build(Kind kind, Expr child1, Expr child2, Expr child3); - Expr build(Kind kind, Expr child1, Expr child2, Expr child3, Expr child4); - Expr build(Kind kind, Expr child1, Expr child2, Expr child3, Expr child4, Expr child5); - Expr build(Kind kind, Expr child1, Expr child2, Expr child3, Expr child4, Expr child5, Expr child6); - Expr build(Kind kind, Expr child1, Expr child2, Expr child3, Expr child4, Expr child5, Expr child6, Expr child7); - Expr build(Kind kind, Expr child1, Expr child2, Expr child3, Expr child4, Expr child5, Expr child6, Expr child7, Expr child8); - Expr build(Kind kind, Expr child1, Expr child2, Expr child3, Expr child4, Expr child5, Expr child6, Expr child7, Expr child8, Expr child9); - Expr build(Kind kind, Expr child1, Expr child2, Expr child3, Expr child4, Expr child5, Expr child6, Expr child7, Expr child8, Expr child9, Expr child10); + Expr mkExpr(Kind kind); + Expr mkExpr(Kind kind, Expr child1); + Expr mkExpr(Kind kind, Expr child1, Expr child2); + Expr mkExpr(Kind kind, Expr child1, Expr child2, Expr child3); + Expr mkExpr(Kind kind, Expr child1, Expr child2, Expr child3, Expr child4); + Expr mkExpr(Kind kind, Expr child1, Expr child2, Expr child3, Expr child4, Expr child5); // N-ary version - Expr build(Kind kind, std::vector<Expr> children); + Expr mkExpr(Kind kind, std::vector<Expr> children); // TODO: these use the current EM (but must be renamed) /* - static Expr build(Kind kind) - { currentEM()->build(kind); } - static Expr build(Kind kind, Expr child1); - { currentEM()->build(kind, child1); } - static Expr build(Kind kind, Expr child1, Expr child2); - { currentEM()->build(kind, child1, child2); } - static Expr build(Kind kind, Expr child1, Expr child2, Expr child3); - { currentEM()->build(kind, child1, child2, child3); } - static Expr build(Kind kind, Expr child1, Expr child2, Expr child3, Expr child4); - { currentEM()->build(kind, child1, child2, child3, child4); } - static Expr build(Kind kind, Expr child1, Expr child2, Expr child3, Expr child4, Expr child5); - { currentEM()->build(kind, child1, child2, child3, child4, child5); } - static Expr build(Kind kind, Expr child1, Expr child2, Expr child3, Expr child4, Expr child5, Expr child6); - { currentEM()->build(kind, child1, child2, child3, child4, child5, child6); } - static Expr build(Kind kind, Expr child1, Expr child2, Expr child3, Expr child4, Expr child5, Expr child6, Expr child7); - { currentEM()->build(kind, child1, child2, child3, child4, child5, child6, child7); } - static Expr build(Kind kind, Expr child1, Expr child2, Expr child3, Expr child4, Expr child5, Expr child6, Expr child7, Expr child8); - { currentEM()->build(kind, child1, child2, child3, child4, child5, child6, child7, child8); } - static Expr build(Kind kind, Expr child1, Expr child2, Expr child3, Expr child4, Expr child5, Expr child6, Expr child7, Expr child8, Expr child9); - { currentEM()->build(kind, child1, child2, child3, child4, child5, child6, child7, child8, child9); } - static Expr build(Kind kind, Expr child1, Expr child2, Expr child3, Expr child4, Expr child5, Expr child6, Expr child7, Expr child8, Expr child9, Expr child10); - { currentEM()->build(kind, child1, child2, child3, child4, child5, child6, child7, child8, child9, child10); } - // N-ary version - static Expr build(Kind kind, vector<Expr> children) - { currentEM()->build(kind, children); } + static Expr mkExpr(Kind kind) + { currentEM()->mkExpr(kind); } + static Expr mkExpr(Kind kind, Expr child1); + { currentEM()->mkExpr(kind, child1); } + static Expr mkExpr(Kind kind, Expr child1, Expr child2); + { currentEM()->mkExpr(kind, child1, child2); } + static Expr mkExpr(Kind kind, Expr child1, Expr child2, Expr child3); + { currentEM()->mkExpr(kind, child1, child2, child3); } + static Expr mkExpr(Kind kind, Expr child1, Expr child2, Expr child3, Expr child4); + { currentEM()->mkExpr(kind, child1, child2, child3, child4); } + static Expr mkExpr(Kind kind, Expr child1, Expr child2, Expr child3, Expr child4, Expr child5); + { currentEM()->mkExpr(kind, child1, child2, child3, child4, child5); } */ // do we want a varargs one? perhaps not.. |