summaryrefslogtreecommitdiff
path: root/tools/standalone_miri/hir_sim.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/standalone_miri/hir_sim.cpp')
-rw-r--r--tools/standalone_miri/hir_sim.cpp19
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
{