diff options
| author | John Hodge <tpg@mutabah.net> | 2016-08-26 15:46:21 +0800 | 
|---|---|---|
| committer | John Hodge <tpg@mutabah.net> | 2016-08-26 15:46:21 +0800 | 
| commit | 83d6381873a22ce8395721199b068b96e059af20 (patch) | |
| tree | 16cae88460348fe8ed142ce13da7385d048fcad8 | |
| parent | c7b6302d5ced1544ce70b054a76efe9da785937e (diff) | |
| download | mrust-83d6381873a22ce8395721199b068b96e059af20.tar.gz | |
HIR Serialise - Literals
| -rw-r--r-- | src/hir/serialise.cpp | 28 | 
1 files changed, 27 insertions, 1 deletions
| diff --git a/src/hir/serialise.cpp b/src/hir/serialise.cpp index fc157704..75375265 100644 --- a/src/hir/serialise.cpp +++ b/src/hir/serialise.cpp @@ -469,6 +469,31 @@ namespace {              write_string(tmp.str());          } +        void serialise(const ::HIR::Literal& lit) +        { +            write_tag(lit.tag()); +            TU_MATCHA( (lit), (e), +            (Invalid, +                BUG(Span(), "Literal::Invalid in HIR"); +                ), +            (List, +                serialise_vec(e); +                ), +            (Integer, +                write_u64(e); +                ), +            (Float, +                write_double(e); +                ), +            (BorrowOf, +                serialise_simplepath(e); +                ), +            (String, +                write_string(e); +                ) +            ) +        } +                  void serialise(const ::HIR::ExprPtr& exp)          {              if( exp.m_mir ) { @@ -766,7 +791,8 @@ namespace {              (Unit,                  ),              (Value, -                // TODO: Should be fully known now +                // NOTE: e.expr skipped as it's not needed anymore +                serialise(e.val);                  ),              (Tuple,                  serialise_vec(e); | 
