about summary refs log tree commit diff
diff options
context:
space:
mode:
authorouz-a <ouz.agz@gmail.com>2023-09-30 16:40:15 +0300
committerouz-a <ouz.agz@gmail.com>2023-09-30 16:40:15 +0300
commit9130484db91e609686e287f7547fc7c085068d9b (patch)
tree8b07fba4a11e9b19de0e8a472b937e9e39402b94
parent5282e5e120128ba589728ee4bcb4f18511ba9fb0 (diff)
downloadrust-9130484db91e609686e287f7547fc7c085068d9b.tar.gz
rust-9130484db91e609686e287f7547fc7c085068d9b.zip
create localdecl and add span to it
-rw-r--r--compiler/rustc_smir/src/rustc_smir/mod.rs9
-rw-r--r--compiler/stable_mir/src/mir/body.rs8
2 files changed, 15 insertions, 2 deletions
diff --git a/compiler/rustc_smir/src/rustc_smir/mod.rs b/compiler/rustc_smir/src/rustc_smir/mod.rs
index c6c97ce35e8..d83b92b578b 100644
--- a/compiler/rustc_smir/src/rustc_smir/mod.rs
+++ b/compiler/rustc_smir/src/rustc_smir/mod.rs
@@ -106,7 +106,14 @@ impl<'tcx> Context for Tables<'tcx> {
                         .collect(),
                 })
                 .collect(),
-            locals: mir.local_decls.iter().map(|decl| self.intern_ty(decl.ty)).collect(),
+            locals: mir
+                .local_decls
+                .iter()
+                .map(|decl| stable_mir::mir::LocalDecl {
+                    ty: self.intern_ty(decl.ty),
+                    span: decl.source_info.span.stable(self),
+                })
+                .collect(),
         }
     }
 
diff --git a/compiler/stable_mir/src/mir/body.rs b/compiler/stable_mir/src/mir/body.rs
index 6f8f7b06fa3..f2cdee0aafc 100644
--- a/compiler/stable_mir/src/mir/body.rs
+++ b/compiler/stable_mir/src/mir/body.rs
@@ -5,7 +5,13 @@ use crate::{ty::Ty, Span};
 #[derive(Clone, Debug)]
 pub struct Body {
     pub blocks: Vec<BasicBlock>,
-    pub locals: Vec<Ty>,
+    pub locals: Vec<LocalDecl>,
+}
+
+#[derive(Clone, Debug)]
+pub struct LocalDecl {
+    pub ty: Ty,
+    pub span: Span,
 }
 
 #[derive(Clone, Debug)]