aboutsummaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2017-08-30 11:39:11 +0200
committerClifford Wolf <clifford@clifford.at>2017-08-30 11:39:11 +0200
commit85303334396904edfa0d77852b77c64870468f79 (patch)
tree97cfa6102f45951053642c358d7fb390bbb70123 /kernel
parent393b18e8e17432349797a1f228a7ddc7e2f7a16c (diff)
downloadyosys-85303334396904edfa0d77852b77c64870468f79.tar.gz
yosys-85303334396904edfa0d77852b77c64870468f79.tar.bz2
yosys-85303334396904edfa0d77852b77c64870468f79.zip
Add {get,set}_src_attribute() methods on RTLIL::AttrObject
Diffstat (limited to 'kernel')
-rw-r--r--kernel/rtlil.cc16
-rw-r--r--kernel/rtlil.h4
2 files changed, 20 insertions, 0 deletions
diff --git a/kernel/rtlil.cc b/kernel/rtlil.cc
index 4427303cc..f3522e30b 100644
--- a/kernel/rtlil.cc
+++ b/kernel/rtlil.cc
@@ -234,6 +234,22 @@ 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("\\src");
+ else
+ attributes["\\src"] = src;
+}
+
+std::string RTLIL::AttrObject::get_src_attribute() const
+{
+ std::string src;
+ if (attributes.count("\\src"))
+ src = attributes.at("\\src").decode_string();
+ return src;
+}
+
bool RTLIL::Selection::selected_module(RTLIL::IdString mod_name) const
{
if (full_selection)
diff --git a/kernel/rtlil.h b/kernel/rtlil.h
index be558932f..31f7f9d31 100644
--- a/kernel/rtlil.h
+++ b/kernel/rtlil.h
@@ -505,9 +505,13 @@ struct RTLIL::AttrObject
void set_bool_attribute(RTLIL::IdString id);
bool get_bool_attribute(RTLIL::IdString id) const;
+
void set_strpool_attribute(RTLIL::IdString id, const pool<string> &data);
void add_strpool_attribute(RTLIL::IdString id, const pool<string> &data);
pool<string> get_strpool_attribute(RTLIL::IdString id) const;
+
+ void set_src_attribute(const std::string &src);
+ std::string get_src_attribute() const;
};
struct RTLIL::SigChunk