diff options
author | John Hodge <tpg@mutabah.net> | 2018-02-23 20:25:50 +0800 |
---|---|---|
committer | John Hodge <tpg@mutabah.net> | 2018-02-23 20:25:50 +0800 |
commit | bfd34179d8dbc78ebd248805e9f4b3f337b212d8 (patch) | |
tree | 50c8d0f94e40d5bf1d78207992b2513070e85c7a /tools/standalone_miri/hir_sim.cpp | |
parent | 350769c002b51c7fcb7e2d632222fbae3e7a8ab5 (diff) | |
download | mrust-bfd34179d8dbc78ebd248805e9f4b3f337b212d8.tar.gz |
Standalone MIRI - Slice derefs, pointer comparisons, uni-ops, intrinsics, strings
Diffstat (limited to 'tools/standalone_miri/hir_sim.cpp')
-rw-r--r-- | tools/standalone_miri/hir_sim.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/tools/standalone_miri/hir_sim.cpp b/tools/standalone_miri/hir_sim.cpp index ef6c4df1..d549fa1d 100644 --- a/tools/standalone_miri/hir_sim.cpp +++ b/tools/standalone_miri/hir_sim.cpp @@ -90,6 +90,25 @@ size_t HIR::TypeRef::get_size(size_t ofs) const } throw ""; } +bool HIR::TypeRef::has_slice_meta() const +{ + if( this->wrappers.size() == 0 ) + { + if(this->inner_type == RawType::Composite) + { + // TODO: Handle metadata better + return false; + } + else + { + return (this->inner_type == RawType::Str); + } + } + else + { + return (this->wrappers[0].type == TypeWrapper::Ty::Slice); + } +} HIR::TypeRef HIR::TypeRef::get_inner() const { |