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.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/ast/ast.cpp b/src/ast/ast.cpp
index df5f4d5a..a4825a89 100644
--- a/src/ast/ast.cpp
+++ b/src/ast/ast.cpp
@@ -109,15 +109,18 @@ Function Function::clone() const
return rv;
}
-void Trait::add_type(::std::string name, TypeRef type) {
+void Trait::add_type(::std::string name, MetaItems attrs, TypeRef type) {
m_items.push_back( Named<Item>(mv$(name), Item::make_Type({TypeAlias(GenericParams(), mv$(type))}), true) );
+ m_items.back().data.attrs = mv$(attrs);
}
-void Trait::add_function(::std::string name, Function fcn) {
+void Trait::add_function(::std::string name, MetaItems attrs, Function fcn) {
DEBUG("trait fn " << name);
m_items.push_back( Named<Item>(mv$(name), Item::make_Function({mv$(fcn)}), true) );
+ m_items.back().data.attrs = mv$(attrs);
}
-void Trait::add_static(::std::string name, Static v) {
+void Trait::add_static(::std::string name, MetaItems attrs, Static v) {
m_items.push_back( Named<Item>(mv$(name), Item::make_Static({mv$(v)}), true) );
+ m_items.back().data.attrs = mv$(attrs);
}
void Trait::set_is_marker() {
m_is_marker = true;