* Keep attribute sets in sorted order to speed up attribute lookups.
* Simplify the representation of attributes in the AST. * Change the behaviour of listToAttrs() in case of duplicate names.
This commit is contained in:
		
							parent
							
								
									2dc6d50941
								
							
						
					
					
						commit
						e0b7fb8f27
					
				
					 12 changed files with 186 additions and 148 deletions
				
			
		|  | @ -132,7 +132,7 @@ static void getAllExprs(EvalState & state, | |||
|             if (hasSuffix(attrName, ".nix")) | ||||
|                 attrName = string(attrName, 0, attrName.size() - 4); | ||||
|             attrs.attrs[state.symbols.create(attrName)] = | ||||
|                 ExprAttrs::Attr(parseExprFromFile(state, absPath(path2)), noPos); | ||||
|                 ExprAttrs::AttrDef(parseExprFromFile(state, absPath(path2)), noPos); | ||||
|         } | ||||
|         else | ||||
|             /* `path2' is a directory (with no default.nix in it);
 | ||||
|  | @ -154,7 +154,7 @@ static Expr * loadSourceExpr(EvalState & state, const Path & path) | |||
|        some system-wide directory). */ | ||||
|     ExprAttrs * attrs = new ExprAttrs; | ||||
|     attrs->attrs[state.symbols.create("_combineChannels")] = | ||||
|         ExprAttrs::Attr(new ExprList(), noPos); | ||||
|         ExprAttrs::AttrDef(new ExprList(), noPos); | ||||
|     getAllExprs(state, path, *attrs); | ||||
|     return attrs; | ||||
| } | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue