summaryrefslogtreecommitdiff
path: root/src/ast/ast.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ast/ast.cpp')
-rw-r--r--src/ast/ast.cpp16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/ast/ast.cpp b/src/ast/ast.cpp
index 7b92be33..35407cc4 100644
--- a/src/ast/ast.cpp
+++ b/src/ast/ast.cpp
@@ -256,14 +256,18 @@ UseStmt UseStmt::clone() const
return rv;
}
-void Module::add_item( Named<Item> i ) {
- m_items.push_back( mv$(i) );
- DEBUG("Item " << m_items.back().data.tag_str() << " - attrs = " << m_items.back().data.attrs);
+void Module::add_item( Named<Item> named_item ) {
+ m_items.push_back( mv$(named_item) );
+ const auto& i = m_items.back();
+ if( i.name == "" ) {
+ }
+ else {
+ DEBUG(m_my_path << "::" << i.name << " = " << i.data.tag_str() << ", attrs = " << i.data.attrs);
+ }
}
void Module::add_item(bool is_pub, ::std::string name, Item it, MetaItems attrs) {
- m_items.push_back( Named<Item>( mv$(name), mv$(it), is_pub ) );
- m_items.back().data.attrs = mv$(attrs);
- DEBUG("Item " << ::AST::Item::tag_to_str( m_items.back().data.tag() ) << " - attrs = " << m_items.back().data.attrs);
+ it.attrs = mv$(attrs);
+ add_item( Named<Item>( mv$(name), mv$(it), is_pub ) );
}
void Module::add_ext_crate(bool is_public, ::std::string ext_name, ::std::string imp_name, MetaItems attrs) {
this->add_item( is_public, imp_name, Item::make_Crate({mv$(ext_name)}), mv$(attrs) );