diff options
author | John Hodge <tpg@mutabah.net> | 2016-08-26 13:24:16 +0800 |
---|---|---|
committer | John Hodge <tpg@mutabah.net> | 2016-08-26 13:24:16 +0800 |
commit | 82340c7f243f7cd1e61675d842d3faa50d3bdab5 (patch) | |
tree | efff3550eaa2e15681d02361c755e2ee5d0b26d2 /src/hir/serialise.cpp | |
parent | ac1455931445ad01afce05846614b7709d760e02 (diff) | |
download | mrust-82340c7f243f7cd1e61675d842d3faa50d3bdab5.tar.gz |
HIR Serialise - Only serialise MIR if present
Diffstat (limited to 'src/hir/serialise.cpp')
-rw-r--r-- | src/hir/serialise.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/hir/serialise.cpp b/src/hir/serialise.cpp index 7ae977bd..7682b278 100644 --- a/src/hir/serialise.cpp +++ b/src/hir/serialise.cpp @@ -346,6 +346,7 @@ namespace { } void serialise_typeimpl(const ::HIR::TypeImpl& impl) { + TRACE_FUNCTION_F("impl" << impl.m_params.fmt_args() << " " << impl.m_type); serialise_generics(impl.m_params); serialise_type(impl.m_type); @@ -360,24 +361,28 @@ namespace { } void serialise_traitimpl(const ::HIR::TraitImpl& impl) { + TRACE_FUNCTION_F("impl" << impl.m_params.fmt_args() << " ?" << impl.m_trait_args << " for " << impl.m_type); serialise_generics(impl.m_params); serialise_pathparams(impl.m_trait_args); serialise_type(impl.m_type); write_count(impl.m_methods.size()); for(const auto& v : impl.m_methods) { + DEBUG("fn " << v.first); write_string(v.first); write_bool(v.second.is_specialisable); serialise(v.second.data); } write_count(impl.m_constants.size()); for(const auto& v : impl.m_constants) { + DEBUG("const " << v.first); write_string(v.first); write_bool(v.second.is_specialisable); serialise(v.second.data); } write_count(impl.m_types.size()); for(const auto& v : impl.m_types) { + DEBUG("type " << v.first); write_string(v.first); write_bool(v.second.is_specialisable); serialise(v.second.data); @@ -458,7 +463,9 @@ namespace { void serialise(const ::HIR::ExprPtr& exp) { - serialise(*exp.m_mir); + if( exp.m_mir ) { + serialise(*exp.m_mir); + } } void serialise(const ::MIR::Function& mir) { |