- simgrid::dwarf::DwarfExpression expression;
- void* lowpc, *highpc;
-
- LocationListEntry() : lowpc(nullptr), highpc(nullptr) {}
-
- bool always_valid() const
+ typedef simgrid::xbt::Range<std::uint64_t> range_type;
+private:
+ DwarfExpression expression_;
+ // By default, the expression is always valid:
+ range_type range_ = {0, UINT64_MAX};
+public:
+ LocationListEntry() {}
+ LocationListEntry(DwarfExpression expression, range_type range)
+ : expression_(std::move(expression)), range_(range)
+ {}
+ LocationListEntry(DwarfExpression expression)
+ : expression_(std::move(expression)), range_({0, UINT64_MAX})
+ {}
+
+ DwarfExpression& expression()
+ {
+ return expression_;
+ }
+ DwarfExpression const& expression() const