aboutsummaryrefslogtreecommitdiff
path: root/src/libexpr/eval-cache.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/libexpr/eval-cache.hh')
-rw-r--r--src/libexpr/eval-cache.hh14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/libexpr/eval-cache.hh b/src/libexpr/eval-cache.hh
index 30261fd3a..674bb03c1 100644
--- a/src/libexpr/eval-cache.hh
+++ b/src/libexpr/eval-cache.hh
@@ -50,7 +50,17 @@ struct misc_t {};
struct failed_t {};
typedef uint64_t AttrId;
typedef std::pair<AttrId, Symbol> AttrKey;
-typedef std::variant<std::vector<Symbol>, std::string, placeholder_t, missing_t, misc_t, failed_t, bool> AttrValue;
+typedef std::pair<std::string, std::vector<std::pair<Path, std::string>>> string_t;
+
+typedef std::variant<
+ std::vector<Symbol>,
+ string_t,
+ placeholder_t,
+ missing_t,
+ misc_t,
+ failed_t,
+ bool
+ > AttrValue;
class AttrCursor : public std::enable_shared_from_this<AttrCursor>
{
@@ -94,6 +104,8 @@ public:
std::string getString();
+ string_t getStringWithContext();
+
bool getBool();
std::vector<Symbol> getAttrs();