diff options
author | Griffin Smith <grfn@gws.fyi> | 2020-11-22T21·25-0500 |
---|---|---|
committer | glittershark <grfn@gws.fyi> | 2020-11-22T21·59+0000 |
commit | 9a24294b8a90c31cdb55f0cffeb406cadb7d3c07 (patch) | |
tree | 8114cb4949186b41073fe76798ef1a297f744ad9 /third_party/nix/src/libexpr/nixexpr.hh | |
parent | 9f4d37e5dfb41409e5a7e9bac43db93012d77f9f (diff) |
feat(tvix): Add a pos field to more expr classes r/1906
To aid in both debugging and (eventually) printing stacktraces, add a Pos member to a few more Expr variants. Change-Id: Ic1d2a056fc7e6c07bc3e79fa38845cb4a5da5ca5 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2133 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
Diffstat (limited to 'third_party/nix/src/libexpr/nixexpr.hh')
-rw-r--r-- | third_party/nix/src/libexpr/nixexpr.hh | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/third_party/nix/src/libexpr/nixexpr.hh b/third_party/nix/src/libexpr/nixexpr.hh index 22b5f871f0ad..16b58dec2e84 100644 --- a/third_party/nix/src/libexpr/nixexpr.hh +++ b/third_party/nix/src/libexpr/nixexpr.hh @@ -179,9 +179,12 @@ struct ExprSelect : Expr { }; struct ExprOpHasAttr : Expr { + Pos pos; Expr* e; AttrPath attrPath; ExprOpHasAttr(Expr* e, const AttrPath& attrPath) : e(e), attrPath(attrPath){}; + ExprOpHasAttr(const Pos& pos, Expr* e, const AttrPath& attrPath) + : pos(pos), e(e), attrPath(attrPath){}; COMMON_METHODS }; @@ -279,9 +282,12 @@ struct ExprWith : Expr { }; struct ExprIf : Expr { + Pos pos; Expr *cond, *then, *else_; ExprIf(Expr* cond, Expr* then, Expr* else_) : cond(cond), then(then), else_(else_){}; + ExprIf(const Pos& pos, Expr* cond, Expr* then, Expr* else_) + : pos(pos), cond(cond), then(then), else_(else_){}; COMMON_METHODS }; @@ -294,8 +300,10 @@ struct ExprAssert : Expr { }; struct ExprOpNot : Expr { + Pos pos; Expr* e; - ExprOpNot(Expr* e) : e(e){}; + explicit ExprOpNot(Expr* e) : e(e){}; + ExprOpNot(const Pos& pos, Expr* e) : pos(pos), e(e){}; COMMON_METHODS }; |