summaryrefslogtreecommitdiff
path: root/src/ast/ast.cpp
diff options
context:
space:
mode:
authorJohn Hodge <tpg@ucc.asn.au>2017-09-10 09:01:01 +0800
committerJohn Hodge <tpg@ucc.asn.au>2017-09-10 09:01:01 +0800
commit32d747bd0c20c5b8ee0dedd71eea58b0c12cfe50 (patch)
tree3e4f27bedc5f2fe0f52a27e41eedb5ce32f057a1 /src/ast/ast.cpp
parentf75212eed999502f05605ff747ab71185b2269c5 (diff)
downloadmrust-32d747bd0c20c5b8ee0dedd71eea58b0c12cfe50.tar.gz
Parse - Store attributes for trait items
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;