1
0
Fork 0
mirror of https://github.com/NixOS/nix synced 2025-06-26 20:01:15 +02:00

Pass position information to primop calls

For example:

  error: `tail' called on an empty list, at
    /home/eelco/Dev/nixpkgs/pkgs/applications/misc/hello/ex-2/default.nix:13:7
This commit is contained in:
Eelco Dolstra 2014-04-04 18:51:01 +02:00
parent 8b31ffd10d
commit c28de6d96e
5 changed files with 105 additions and 105 deletions

View file

@ -36,7 +36,7 @@ public:
};
typedef void (* PrimOpFun) (EvalState & state, Value * * args, Value & v);
typedef void (* PrimOpFun) (EvalState & state, const Pos & pos, Value * * args, Value & v);
struct PrimOp
@ -227,7 +227,7 @@ public:
bool eqValues(Value & v1, Value & v2);
void callFunction(Value & fun, Value & arg, Value & v, const Pos & pos);
void callPrimOp(Value & fun, Value & arg, Value & v);
void callPrimOp(Value & fun, Value & arg, Value & v, const Pos & pos);
/* Automatically call a function for which each argument has a
default value or has a binding in the `args' map. */
@ -278,7 +278,7 @@ private:
friend struct ExprOpUpdate;
friend struct ExprOpConcatLists;
friend struct ExprSelect;
friend void prim_getAttr(EvalState & state, Value * * args, Value & v);
friend void prim_getAttr(EvalState & state, const Pos & pos, Value * * args, Value & v);
};