summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJohn Hodge <tpg@mutabah.net>2016-03-16 22:45:01 +0800
committerJohn Hodge <tpg@mutabah.net>2016-03-16 22:45:01 +0800
commiteba015ba443d72d49e6b3ddcb29a7f3d1efe799a (patch)
treea80f76e723101230863c238d0c3c6c5fb4619e8d /src
parenta3d37e1f829fc974238815a9d9d468c9087048b4 (diff)
downloadmrust-eba015ba443d72d49e6b3ddcb29a7f3d1efe799a.tar.gz
Expand - Handle AST::TupleItem attributes
Diffstat (limited to 'src')
-rw-r--r--src/expand/mod.cpp4
-rw-r--r--src/include/synext.hpp3
2 files changed, 5 insertions, 2 deletions
diff --git a/src/expand/mod.cpp b/src/expand/mod.cpp
index d7a142e9..f1bea16c 100644
--- a/src/expand/mod.cpp
+++ b/src/expand/mod.cpp
@@ -500,9 +500,9 @@ void Expand_Mod(bool is_early, ::AST::Crate& crate, LList<const AST::Module*> mo
(Tuple,
for(auto it = sd.ents.begin(); it != sd.ents.end(); ) {
auto& si = *it;
- //Expand_Attrs(si.m_attrs, stage_pre (is_early), [&](const auto& d, const auto& a){ d.handle(a, crate, si); });
+ Expand_Attrs(si.m_attrs, stage_pre (is_early), [&](const auto& d, const auto& a){ d.handle(a, crate, si); });
Expand_Type(is_early, crate, modstack, mod, si.m_type);
- //Expand_Attrs(si.m_attrs, stage_post(is_early), [&](const auto& d, const auto& a){ d.handle(a, crate, si); });
+ Expand_Attrs(si.m_attrs, stage_post(is_early), [&](const auto& d, const auto& a){ d.handle(a, crate, si); });
if( ! si.m_type.is_valid() )
it = sd.ents.erase(it);
diff --git a/src/include/synext.hpp b/src/include/synext.hpp
index c1c7659d..0b9ec3f1 100644
--- a/src/include/synext.hpp
+++ b/src/include/synext.hpp
@@ -14,6 +14,7 @@ namespace AST {
class Path;
class StructItem;
+ class TupleItem;
class EnumVariant;
class Module;
@@ -51,6 +52,8 @@ public:
virtual void handle(const AST::MetaItem& mi, AST::Crate& crate, const AST::Path& path, AST::Module& mod, AST::Item&i) const {}
// NOTE: To delete, clear the name
virtual void handle(const AST::MetaItem& mi, AST::Crate& crate, ::AST::StructItem& si) const {}
+ // NOTE: To delete, make the type invalid
+ virtual void handle(const AST::MetaItem& mi, AST::Crate& crate, ::AST::TupleItem& si) const {}
// NOTE: To delete, clear the name
virtual void handle(const AST::MetaItem& mi, AST::Crate& crate, ::AST::EnumVariant& ev) const {}