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:
		
							parent
							
								
									8b31ffd10d
								
							
						
					
					
						commit
						c28de6d96e
					
				
					 5 changed files with 105 additions and 105 deletions
				
			
		|  | @ -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); | ||||
| }; | ||||
| 
 | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue