Skip to content

Commit 8afa3fb

Browse files
committed
refactor: impl Bridge for BridgeTys
1 parent acc8370 commit 8afa3fb

File tree

1 file changed

+138
-0
lines changed

1 file changed

+138
-0
lines changed

compiler/rustc_smir/src/stable_mir/compiler_interface.rs

Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,144 @@ use stable_mir::{
2525

2626
use crate::{rustc_smir, stable_mir};
2727

28+
pub struct BridgeTys;
29+
30+
impl Bridge for BridgeTys {
31+
type DefId = stable_mir::DefId;
32+
type AllocId = stable_mir::mir::alloc::AllocId;
33+
type Span = stable_mir::ty::Span;
34+
type Ty = stable_mir::ty::Ty;
35+
type InstanceDef = stable_mir::mir::mono::InstanceDef;
36+
type TyConstId = stable_mir::ty::TyConstId;
37+
type MirConstId = stable_mir::ty::MirConstId;
38+
type Layout = stable_mir::abi::Layout;
39+
type Error = stable_mir::Error;
40+
}
41+
42+
impl<'tcx> Tables<'tcx, BridgeTys> {
43+
pub(crate) fn crate_item(&mut self, did: rustc_span::def_id::DefId) -> stable_mir::CrateItem {
44+
stable_mir::CrateItem(self.create_def_id(did))
45+
}
46+
47+
pub(crate) fn adt_def(&mut self, did: rustc_span::def_id::DefId) -> stable_mir::ty::AdtDef {
48+
stable_mir::ty::AdtDef(self.create_def_id(did))
49+
}
50+
51+
pub(crate) fn foreign_module_def(
52+
&mut self,
53+
did: rustc_span::def_id::DefId,
54+
) -> stable_mir::ty::ForeignModuleDef {
55+
stable_mir::ty::ForeignModuleDef(self.create_def_id(did))
56+
}
57+
58+
pub(crate) fn foreign_def(
59+
&mut self,
60+
did: rustc_span::def_id::DefId,
61+
) -> stable_mir::ty::ForeignDef {
62+
stable_mir::ty::ForeignDef(self.create_def_id(did))
63+
}
64+
65+
pub(crate) fn fn_def(&mut self, did: rustc_span::def_id::DefId) -> stable_mir::ty::FnDef {
66+
stable_mir::ty::FnDef(self.create_def_id(did))
67+
}
68+
69+
pub(crate) fn closure_def(
70+
&mut self,
71+
did: rustc_span::def_id::DefId,
72+
) -> stable_mir::ty::ClosureDef {
73+
stable_mir::ty::ClosureDef(self.create_def_id(did))
74+
}
75+
76+
pub(crate) fn coroutine_def(
77+
&mut self,
78+
did: rustc_span::def_id::DefId,
79+
) -> stable_mir::ty::CoroutineDef {
80+
stable_mir::ty::CoroutineDef(self.create_def_id(did))
81+
}
82+
83+
pub(crate) fn coroutine_closure_def(
84+
&mut self,
85+
did: rustc_span::def_id::DefId,
86+
) -> stable_mir::ty::CoroutineClosureDef {
87+
stable_mir::ty::CoroutineClosureDef(self.create_def_id(did))
88+
}
89+
90+
pub(crate) fn alias_def(&mut self, did: rustc_span::def_id::DefId) -> stable_mir::ty::AliasDef {
91+
stable_mir::ty::AliasDef(self.create_def_id(did))
92+
}
93+
94+
pub(crate) fn param_def(&mut self, did: rustc_span::def_id::DefId) -> stable_mir::ty::ParamDef {
95+
stable_mir::ty::ParamDef(self.create_def_id(did))
96+
}
97+
98+
pub(crate) fn br_named_def(
99+
&mut self,
100+
did: rustc_span::def_id::DefId,
101+
) -> stable_mir::ty::BrNamedDef {
102+
stable_mir::ty::BrNamedDef(self.create_def_id(did))
103+
}
104+
105+
pub(crate) fn trait_def(&mut self, did: rustc_span::def_id::DefId) -> stable_mir::ty::TraitDef {
106+
stable_mir::ty::TraitDef(self.create_def_id(did))
107+
}
108+
109+
pub(crate) fn generic_def(
110+
&mut self,
111+
did: rustc_span::def_id::DefId,
112+
) -> stable_mir::ty::GenericDef {
113+
stable_mir::ty::GenericDef(self.create_def_id(did))
114+
}
115+
116+
pub(crate) fn const_def(&mut self, did: rustc_span::def_id::DefId) -> stable_mir::ty::ConstDef {
117+
stable_mir::ty::ConstDef(self.create_def_id(did))
118+
}
119+
120+
pub(crate) fn impl_def(&mut self, did: rustc_span::def_id::DefId) -> stable_mir::ty::ImplDef {
121+
stable_mir::ty::ImplDef(self.create_def_id(did))
122+
}
123+
124+
/*
125+
pub(crate) fn region_def(
126+
&mut self,
127+
did: rustc_span::def_id::DefId,
128+
) -> stable_mir::ty::RegionDef {
129+
stable_mir::ty::RegionDef(self.create_def_id(did))
130+
}
131+
*/
132+
133+
pub(crate) fn coroutine_witness_def(
134+
&mut self,
135+
did: rustc_span::def_id::DefId,
136+
) -> stable_mir::ty::CoroutineWitnessDef {
137+
stable_mir::ty::CoroutineWitnessDef(self.create_def_id(did))
138+
}
139+
140+
pub(crate) fn assoc_def(&mut self, did: rustc_span::def_id::DefId) -> stable_mir::ty::AssocDef {
141+
stable_mir::ty::AssocDef(self.create_def_id(did))
142+
}
143+
144+
pub(crate) fn opaque_def(
145+
&mut self,
146+
did: rustc_span::def_id::DefId,
147+
) -> stable_mir::ty::OpaqueDef {
148+
stable_mir::ty::OpaqueDef(self.create_def_id(did))
149+
}
150+
151+
pub(crate) fn prov(
152+
&mut self,
153+
aid: rustc_middle::mir::interpret::AllocId,
154+
) -> stable_mir::ty::Prov {
155+
stable_mir::ty::Prov(self.create_alloc_id(aid))
156+
}
157+
158+
pub(crate) fn static_def(
159+
&mut self,
160+
did: rustc_span::def_id::DefId,
161+
) -> stable_mir::mir::mono::StaticDef {
162+
stable_mir::mir::mono::StaticDef(self.create_def_id(did))
163+
}
164+
}
165+
28166
/// Stable public API for querying compiler information.
29167
///
30168
/// All queries are delegated to an internal [`SmirCtxt`] that provides

0 commit comments

Comments
 (0)