Skip to content

Commit e02a139

Browse files
committed
Eliminate with_tables helper
1 parent af68593 commit e02a139

File tree

2 files changed

+18
-78
lines changed

2 files changed

+18
-78
lines changed

compiler/rustc_smir/src/rustc_internal/mod.rs

Lines changed: 1 addition & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -8,71 +8,14 @@ use std::ops::{ControlFlow, Index};
88

99
use crate::rustc_internal;
1010
use crate::stable_mir::CompilerError;
11-
use crate::{
12-
rustc_smir::Tables,
13-
stable_mir::{self, with},
14-
};
11+
use crate::{rustc_smir::Tables, stable_mir};
1512
use rustc_driver::{Callbacks, Compilation, RunCompiler};
1613
use rustc_interface::{interface, Queries};
1714
use rustc_middle::mir::interpret::AllocId;
1815
use rustc_middle::ty::TyCtxt;
1916
pub use rustc_span::def_id::{CrateNum, DefId};
2017
use rustc_span::Span;
2118

22-
fn with_tables<R>(mut f: impl FnMut(&mut Tables<'_>) -> R) -> R {
23-
let mut ret = None;
24-
with(|tables| tables.rustc_tables(&mut |t| ret = Some(f(t))));
25-
ret.unwrap()
26-
}
27-
28-
pub fn item_def_id(item: &stable_mir::CrateItem) -> DefId {
29-
with_tables(|t| t[item.0])
30-
}
31-
32-
pub fn crate_item(did: DefId) -> stable_mir::CrateItem {
33-
with_tables(|t| t.crate_item(did))
34-
}
35-
36-
pub fn adt_def(did: DefId) -> stable_mir::ty::AdtDef {
37-
with_tables(|t| t.adt_def(did))
38-
}
39-
40-
pub fn foreign_def(did: DefId) -> stable_mir::ty::ForeignDef {
41-
with_tables(|t| t.foreign_def(did))
42-
}
43-
44-
pub fn fn_def(did: DefId) -> stable_mir::ty::FnDef {
45-
with_tables(|t| t.fn_def(did))
46-
}
47-
48-
pub fn closure_def(did: DefId) -> stable_mir::ty::ClosureDef {
49-
with_tables(|t| t.closure_def(did))
50-
}
51-
52-
pub fn generator_def(did: DefId) -> stable_mir::ty::GeneratorDef {
53-
with_tables(|t| t.generator_def(did))
54-
}
55-
56-
pub fn alias_def(did: DefId) -> stable_mir::ty::AliasDef {
57-
with_tables(|t| t.alias_def(did))
58-
}
59-
60-
pub fn param_def(did: DefId) -> stable_mir::ty::ParamDef {
61-
with_tables(|t| t.param_def(did))
62-
}
63-
64-
pub fn br_named_def(did: DefId) -> stable_mir::ty::BrNamedDef {
65-
with_tables(|t| t.br_named_def(did))
66-
}
67-
68-
pub fn trait_def(did: DefId) -> stable_mir::ty::TraitDef {
69-
with_tables(|t| t.trait_def(did))
70-
}
71-
72-
pub fn impl_def(did: DefId) -> stable_mir::ty::ImplDef {
73-
with_tables(|t| t.impl_def(did))
74-
}
75-
7619
impl<'tcx> Index<stable_mir::DefId> for Tables<'tcx> {
7720
type Output = DefId;
7821

compiler/rustc_smir/src/rustc_smir/mod.rs

Lines changed: 17 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
//!
88
//! For now, we are developing everything inside `rustc`, thus, we keep this module private.
99
10-
use crate::rustc_internal::{self, opaque};
10+
use crate::rustc_internal::opaque;
1111
use crate::stable_mir::mir::{CopyNonOverlapping, UserTypeProjection, VariantIdx};
1212
use crate::stable_mir::ty::{
1313
FloatTy, GenericParamDef, IntTy, Movability, RigidTy, Span, TyKind, UintTy,
@@ -276,7 +276,7 @@ impl<'tcx> Stable<'tcx> for mir::Rvalue<'tcx> {
276276
place.stable(tables),
277277
),
278278
ThreadLocalRef(def_id) => {
279-
stable_mir::mir::Rvalue::ThreadLocalRef(rustc_internal::crate_item(*def_id))
279+
stable_mir::mir::Rvalue::ThreadLocalRef(tables.crate_item(*def_id))
280280
}
281281
AddressOf(mutability, place) => {
282282
stable_mir::mir::Rvalue::AddressOf(mutability.stable(tables), place.stable(tables))
@@ -739,7 +739,7 @@ impl<'tcx> Stable<'tcx> for mir::AggregateKind<'tcx> {
739739
mir::AggregateKind::Tuple => stable_mir::mir::AggregateKind::Tuple,
740740
mir::AggregateKind::Adt(def_id, var_idx, generic_arg, user_ty_index, field_idx) => {
741741
stable_mir::mir::AggregateKind::Adt(
742-
rustc_internal::adt_def(*def_id),
742+
tables.adt_def(*def_id),
743743
var_idx.index(),
744744
generic_arg.stable(tables),
745745
user_ty_index.map(|idx| idx.index()),
@@ -748,13 +748,13 @@ impl<'tcx> Stable<'tcx> for mir::AggregateKind<'tcx> {
748748
}
749749
mir::AggregateKind::Closure(def_id, generic_arg) => {
750750
stable_mir::mir::AggregateKind::Closure(
751-
rustc_internal::closure_def(*def_id),
751+
tables.closure_def(*def_id),
752752
generic_arg.stable(tables),
753753
)
754754
}
755755
mir::AggregateKind::Generator(def_id, generic_arg, movability) => {
756756
stable_mir::mir::AggregateKind::Generator(
757-
rustc_internal::generator_def(*def_id),
757+
tables.generator_def(*def_id),
758758
generic_arg.stable(tables),
759759
movability.stable(tables),
760760
)
@@ -964,13 +964,13 @@ impl<'tcx> Stable<'tcx> for ty::FnSig<'tcx> {
964964
impl<'tcx> Stable<'tcx> for ty::BoundTyKind {
965965
type T = stable_mir::ty::BoundTyKind;
966966

967-
fn stable(&self, _: &mut Tables<'tcx>) -> Self::T {
967+
fn stable(&self, tables: &mut Tables<'tcx>) -> Self::T {
968968
use stable_mir::ty::BoundTyKind;
969969

970970
match self {
971971
ty::BoundTyKind::Anon => BoundTyKind::Anon,
972972
ty::BoundTyKind::Param(def_id, symbol) => {
973-
BoundTyKind::Param(rustc_internal::param_def(*def_id), symbol.to_string())
973+
BoundTyKind::Param(tables.param_def(*def_id), symbol.to_string())
974974
}
975975
}
976976
}
@@ -985,7 +985,7 @@ impl<'tcx> Stable<'tcx> for ty::BoundRegionKind {
985985
match self {
986986
ty::BoundRegionKind::BrAnon => BoundRegionKind::BrAnon,
987987
ty::BoundRegionKind::BrNamed(def_id, symbol) => {
988-
BoundRegionKind::BrNamed(rustc_internal::br_named_def(*def_id), symbol.to_string())
988+
BoundRegionKind::BrNamed(tables.br_named_def(*def_id), symbol.to_string())
989989
}
990990
ty::BoundRegionKind::BrEnv => BoundRegionKind::BrEnv,
991991
}
@@ -1072,12 +1072,10 @@ impl<'tcx> Stable<'tcx> for Ty<'tcx> {
10721072
ty::Uint(uint_ty) => TyKind::RigidTy(RigidTy::Uint(uint_ty.stable(tables))),
10731073
ty::Float(float_ty) => TyKind::RigidTy(RigidTy::Float(float_ty.stable(tables))),
10741074
ty::Adt(adt_def, generic_args) => TyKind::RigidTy(RigidTy::Adt(
1075-
rustc_internal::adt_def(adt_def.did()),
1075+
tables.adt_def(adt_def.did()),
10761076
generic_args.stable(tables),
10771077
)),
1078-
ty::Foreign(def_id) => {
1079-
TyKind::RigidTy(RigidTy::Foreign(rustc_internal::foreign_def(*def_id)))
1080-
}
1078+
ty::Foreign(def_id) => TyKind::RigidTy(RigidTy::Foreign(tables.foreign_def(*def_id))),
10811079
ty::Str => TyKind::RigidTy(RigidTy::Str),
10821080
ty::Array(ty, constant) => {
10831081
TyKind::RigidTy(RigidTy::Array(tables.intern_ty(*ty), constant.stable(tables)))
@@ -1091,10 +1089,9 @@ impl<'tcx> Stable<'tcx> for Ty<'tcx> {
10911089
tables.intern_ty(*ty),
10921090
mutbl.stable(tables),
10931091
)),
1094-
ty::FnDef(def_id, generic_args) => TyKind::RigidTy(RigidTy::FnDef(
1095-
rustc_internal::fn_def(*def_id),
1096-
generic_args.stable(tables),
1097-
)),
1092+
ty::FnDef(def_id, generic_args) => {
1093+
TyKind::RigidTy(RigidTy::FnDef(tables.fn_def(*def_id), generic_args.stable(tables)))
1094+
}
10981095
ty::FnPtr(poly_fn_sig) => TyKind::RigidTy(RigidTy::FnPtr(poly_fn_sig.stable(tables))),
10991096
ty::Dynamic(existential_predicates, region, dyn_kind) => {
11001097
TyKind::RigidTy(RigidTy::Dynamic(
@@ -1107,11 +1104,11 @@ impl<'tcx> Stable<'tcx> for Ty<'tcx> {
11071104
))
11081105
}
11091106
ty::Closure(def_id, generic_args) => TyKind::RigidTy(RigidTy::Closure(
1110-
rustc_internal::closure_def(*def_id),
1107+
tables.closure_def(*def_id),
11111108
generic_args.stable(tables),
11121109
)),
11131110
ty::Generator(def_id, generic_args, movability) => TyKind::RigidTy(RigidTy::Generator(
1114-
rustc_internal::generator_def(*def_id),
1111+
tables.generator_def(*def_id),
11151112
generic_args.stable(tables),
11161113
movability.stable(tables),
11171114
)),
@@ -1223,7 +1220,7 @@ impl<'tcx> Stable<'tcx> for ty::TraitDef {
12231220
use stable_mir::ty::TraitDecl;
12241221

12251222
TraitDecl {
1226-
def_id: rustc_internal::trait_def(self.def_id),
1223+
def_id: tables.trait_def(self.def_id),
12271224
unsafety: self.unsafety.stable(tables),
12281225
paren_sugar: self.paren_sugar,
12291226
has_auto_impl: self.has_auto_impl,
@@ -1272,7 +1269,7 @@ impl<'tcx> Stable<'tcx> for ty::TraitRef<'tcx> {
12721269
fn stable(&self, tables: &mut Tables<'tcx>) -> Self::T {
12731270
use stable_mir::ty::TraitRef;
12741271

1275-
TraitRef { def_id: rustc_internal::trait_def(self.def_id), args: self.args.stable(tables) }
1272+
TraitRef { def_id: tables.trait_def(self.def_id), args: self.args.stable(tables) }
12761273
}
12771274
}
12781275

0 commit comments

Comments
 (0)