aboutsummaryrefslogtreecommitdiff
path: root/src/libexpr
diff options
context:
space:
mode:
authorTim Engler <engler@gmail.com>2018-03-09 03:16:33 +0000
committerTim Engler <engler@gmail.com>2018-03-09 03:16:33 +0000
commit383afab9ad0ebfcc17cb7155f66fc60a4bdcd9a8 (patch)
tree6f1c80a6d5efc0005b68a5c79ab0828b4da07d81 /src/libexpr
parent16551f54c94f2b551ebaf00a7bd0245dc3b0b9e4 (diff)
Modified MakeBinOp to no longer produce its name using concatenation and "##".
Doing so prevents emacs tags from working, as well as makes the code extremely confusing for a newbie. In the prior state, if someone wants to find the definition of "ExprApp" for example, a grep through the code reveals nothing. Since the definition could be hiding in numerous ".h" files, it's really difficult to find. This personally took me several hours to figure out.
Diffstat (limited to 'src/libexpr')
-rw-r--r--src/libexpr/nixexpr.hh22
1 files changed, 11 insertions, 11 deletions
diff --git a/src/libexpr/nixexpr.hh b/src/libexpr/nixexpr.hh
index 30be79bb5..eb9fac25c 100644
--- a/src/libexpr/nixexpr.hh
+++ b/src/libexpr/nixexpr.hh
@@ -283,12 +283,12 @@ struct ExprOpNot : Expr
};
#define MakeBinOp(name, s) \
- struct Expr##name : Expr \
+ struct name : Expr \
{ \
Pos pos; \
Expr * e1, * e2; \
- Expr##name(Expr * e1, Expr * e2) : e1(e1), e2(e2) { }; \
- Expr##name(const Pos & pos, Expr * e1, Expr * e2) : pos(pos), e1(e1), e2(e2) { }; \
+ name(Expr * e1, Expr * e2) : e1(e1), e2(e2) { }; \
+ name(const Pos & pos, Expr * e1, Expr * e2) : pos(pos), e1(e1), e2(e2) { }; \
void show(std::ostream & str) \
{ \
str << "(" << *e1 << " " s " " << *e2 << ")"; \
@@ -300,14 +300,14 @@ struct ExprOpNot : Expr
void eval(EvalState & state, Env & env, Value & v); \
};
-MakeBinOp(App, "")
-MakeBinOp(OpEq, "==")
-MakeBinOp(OpNEq, "!=")
-MakeBinOp(OpAnd, "&&")
-MakeBinOp(OpOr, "||")
-MakeBinOp(OpImpl, "->")
-MakeBinOp(OpUpdate, "//")
-MakeBinOp(OpConcatLists, "++")
+MakeBinOp(ExprApp, "")
+MakeBinOp(ExprOpEq, "==")
+MakeBinOp(ExprOpNEq, "!=")
+MakeBinOp(ExprOpAnd, "&&")
+MakeBinOp(ExprOpOr, "||")
+MakeBinOp(ExprOpImpl, "->")
+MakeBinOp(ExprOpUpdate, "//")
+MakeBinOp(ExprOpConcatLists, "++")
struct ExprConcatStrings : Expr
{