summaryrefslogtreecommitdiff
path: root/src/ast/ast.cpp
diff options
context:
space:
mode:
authorJohn Hodge <tpg@mutabah.net>2015-03-19 11:22:18 +0800
committerJohn Hodge <tpg@mutabah.net>2015-03-19 11:22:18 +0800
commita1e8e5a056ec064177cf5f67766450175e435639 (patch)
treed04d9ca1e7795c08f555256159879827f7360c41 /src/ast/ast.cpp
parent2eb0ef0364591ff9ad30fcefa795bfd8eba17dea (diff)
downloadmrust-a1e8e5a056ec064177cf5f67766450175e435639.tar.gz
Clean up copy constructor use, switch part of AST::Pattern to tagged union
Diffstat (limited to 'src/ast/ast.cpp')
-rw-r--r--src/ast/ast.cpp10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/ast/ast.cpp b/src/ast/ast.cpp
index 3eb646e5..48517095 100644
--- a/src/ast/ast.cpp
+++ b/src/ast/ast.cpp
@@ -287,11 +287,7 @@ void Crate::load_extern_crate(::std::string name)
m_extern_crates.insert( make_pair(::std::move(name), ::std::move(ret)) );
}
-SERIALISE_TYPE(Crate::, "AST_Crate", {
- s << m_load_std;
- s << m_extern_crates;
- s << m_root_module;
-},{
+SERIALISE_TYPE_A(Crate::, "AST_Crate", {
s.item(m_load_std);
s.item(m_extern_crates);
s.item(m_root_module);
@@ -441,7 +437,7 @@ void Module::add_macro_import(const Crate& crate, ::std::string modname, ::std::
void Module::iterate_functions(fcn_visitor_t *visitor, const Crate& crate)
{
- for( auto fcn_item : this->m_functions )
+ for( auto& fcn_item : this->m_functions )
{
visitor(crate, *this, fcn_item.data);
}
@@ -493,6 +489,7 @@ SERIALISE_TYPE(Static::, "AST_Static", {
case Function::CLASS_REFMETHOD: s << "REFMETHOD"; break;
case Function::CLASS_MUTMETHOD: s << "MUTMETHOD"; break;
case Function::CLASS_VALMETHOD: s << "VALMETHOD"; break;
+ case Function::CLASS_MUTVALMETHOD: s << "MUTVALMETHOD"; break;
}
return s;
}
@@ -504,6 +501,7 @@ void operator>>(::Deserialiser& s, Function::Class& fc)
else if(n == "REFMETHOD") fc = Function::CLASS_REFMETHOD;
else if(n == "MUTMETHOD") fc = Function::CLASS_MUTMETHOD;
else if(n == "VALMETHOD") fc = Function::CLASS_VALMETHOD;
+ else if(n == "MUTVALMETHOD") fc = Function::CLASS_MUTVALMETHOD;
else
throw ::std::runtime_error("Deserialise Function::Class");
}