diff options
Diffstat (limited to 'kernel/rtlil.cc')
-rw-r--r-- | kernel/rtlil.cc | 39 |
1 files changed, 22 insertions, 17 deletions
diff --git a/kernel/rtlil.cc b/kernel/rtlil.cc index 6996a02c4..8af941c85 100644 --- a/kernel/rtlil.cc +++ b/kernel/rtlil.cc @@ -273,6 +273,11 @@ bool RTLIL::Const::is_fully_undef() const return true; } +bool RTLIL::AttrObject::has_attribute(RTLIL::IdString id) const +{ + return attributes.count(id); +} + void RTLIL::AttrObject::set_bool_attribute(RTLIL::IdString id, bool value) { if (value) @@ -289,6 +294,23 @@ bool RTLIL::AttrObject::get_bool_attribute(RTLIL::IdString id) const return it->second.as_bool(); } +void RTLIL::AttrObject::set_string_attribute(RTLIL::IdString id, string value) +{ + if (value.empty()) + attributes.erase(id); + else + attributes[id] = value; +} + +string RTLIL::AttrObject::get_string_attribute(RTLIL::IdString id) const +{ + std::string value; + const auto it = attributes.find(id); + if (it != attributes.end()) + value = it->second.decode_string(); + return value; +} + void RTLIL::AttrObject::set_strpool_attribute(RTLIL::IdString id, const pool<string> &data) { string attrval; @@ -317,23 +339,6 @@ pool<string> RTLIL::AttrObject::get_strpool_attribute(RTLIL::IdString id) const return data; } -void RTLIL::AttrObject::set_src_attribute(const std::string &src) -{ - if (src.empty()) - attributes.erase(ID::src); - else - attributes[ID::src] = src; -} - -std::string RTLIL::AttrObject::get_src_attribute() const -{ - std::string src; - const auto it = attributes.find(ID::src); - if (it != attributes.end()) - src = it->second.decode_string(); - return src; -} - bool RTLIL::Selection::selected_module(RTLIL::IdString mod_name) const { if (full_selection) |