about summary refs log tree commit diff
path: root/src/libexpr/nixexpr.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/libexpr/nixexpr.hh')
-rw-r--r--src/libexpr/nixexpr.hh10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/libexpr/nixexpr.hh b/src/libexpr/nixexpr.hh
index 8f976f1de8f9..205f579daf3d 100644
--- a/src/libexpr/nixexpr.hh
+++ b/src/libexpr/nixexpr.hh
@@ -40,6 +40,12 @@ struct EvalState;
 struct StaticEnv;
 
 
+/* An attribute path is a sequence of attribute names. */
+typedef vector<Symbol> AttrPath;
+
+string showAttrPath(const AttrPath & attrPath);
+
+
 /* Abstract syntax of Nix expressions. */
 
 struct Expr
@@ -124,8 +130,8 @@ struct ExprSelect : Expr
 struct ExprOpHasAttr : Expr
 {
     Expr * e;
-    Symbol name;
-    ExprOpHasAttr(Expr * e, const Symbol & name) : e(e), name(name) { };
+    AttrPath attrPath;
+    ExprOpHasAttr(Expr * e, const AttrPath & attrPath) : e(e), attrPath(attrPath) { };
     COMMON_METHODS
 };