Skip to content

Commit 1da9ade

Browse files
committed
Make GenericParams::type_or_consts private
1 parent 9671841 commit 1da9ade

File tree

11 files changed

+239
-233
lines changed

11 files changed

+239
-233
lines changed

src/tools/rust-analyzer/crates/hir-def/src/child_by_source.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@ impl ChildBySource for GenericDefId {
214214
}
215215

216216
let generic_params = db.generic_params(*self);
217-
let mut toc_idx_iter = generic_params.type_or_consts.iter().map(|(idx, _)| idx);
217+
let mut toc_idx_iter = generic_params.iter_type_or_consts().map(|(idx, _)| idx);
218218
let lts_idx_iter = generic_params.lifetimes.iter().map(|(idx, _)| idx);
219219

220220
// For traits the first type index is `Self`, skip it.

src/tools/rust-analyzer/crates/hir-def/src/generics.rs

Lines changed: 209 additions & 198 deletions
Large diffs are not rendered by default.

src/tools/rust-analyzer/crates/hir-def/src/item_tree/pretty.rs

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -540,7 +540,7 @@ impl Printer<'_> {
540540
self.print_attrs_of(AttrOwner::LifetimeParamData(parent, idx), " ");
541541
w!(self, "{}", lt.name.display(self.db.upcast()));
542542
}
543-
for (idx, x) in params.type_or_consts.iter() {
543+
for (idx, x) in params.iter_type_or_consts() {
544544
if !first {
545545
w!(self, ", ");
546546
}
@@ -607,12 +607,10 @@ impl Printer<'_> {
607607

608608
match target {
609609
WherePredicateTypeTarget::TypeRef(ty) => this.print_type_ref(ty),
610-
WherePredicateTypeTarget::TypeOrConstParam(id) => {
611-
match &params.type_or_consts[*id].name() {
612-
Some(name) => w!(this, "{}", name.display(self.db.upcast())),
613-
None => w!(this, "_anon_{}", id.into_raw()),
614-
}
615-
}
610+
WherePredicateTypeTarget::TypeOrConstParam(id) => match params[*id].name() {
611+
Some(name) => w!(this, "{}", name.display(self.db.upcast())),
612+
None => w!(this, "_anon_{}", id.into_raw()),
613+
},
616614
}
617615
w!(this, ": ");
618616
this.print_type_bounds(std::slice::from_ref(bound));

src/tools/rust-analyzer/crates/hir-def/src/resolver.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -758,10 +758,10 @@ impl Scope {
758758
}
759759
Scope::GenericParams { params, def: parent } => {
760760
let parent = *parent;
761-
for (local_id, param) in params.type_or_consts.iter() {
761+
for (local_id, param) in params.iter_type_or_consts() {
762762
if let Some(name) = &param.name() {
763763
let id = TypeOrConstParamId { parent, local_id };
764-
let data = &db.generic_params(parent).type_or_consts[local_id];
764+
let data = &db.generic_params(parent)[local_id];
765765
acc.add(
766766
name,
767767
ScopeDef::GenericParam(match data {

src/tools/rust-analyzer/crates/hir-def/src/src.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ impl HasChildSource<LocalTypeOrConstParamId> for GenericDefId {
6464
db: &dyn DefDatabase,
6565
) -> InFile<ArenaMap<LocalTypeOrConstParamId, Self::Value>> {
6666
let generic_params = db.generic_params(*self);
67-
let mut idx_iter = generic_params.type_or_consts.iter().map(|(idx, _)| idx);
67+
let mut idx_iter = generic_params.iter_type_or_consts().map(|(idx, _)| idx);
6868

6969
let (file_id, generic_params_list) = self.file_id_and_params_of(db);
7070

src/tools/rust-analyzer/crates/hir-ty/src/chalk_ext.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -309,7 +309,7 @@ impl TyExt for Ty {
309309
TyKind::Placeholder(idx) => {
310310
let id = from_placeholder_idx(db, *idx);
311311
let generic_params = db.generic_params(id.parent);
312-
let param_data = &generic_params.type_or_consts[id.local_id];
312+
let param_data = &generic_params[id.local_id];
313313
match param_data {
314314
TypeOrConstParamData::TypeParamData(p) => match p.provenance {
315315
hir_def::generics::TypeParamProvenance::ArgumentImplTrait => {

src/tools/rust-analyzer/crates/hir-ty/src/generics.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ impl Generics {
145145
fn find_type_or_const_param(&self, param: TypeOrConstParamId) -> Option<usize> {
146146
if param.parent == self.def {
147147
let idx = param.local_id.into_raw().into_u32() as usize;
148-
debug_assert!(idx <= self.params.type_or_consts.len());
148+
debug_assert!(idx <= self.params.len_type_or_consts());
149149
Some(idx)
150150
} else {
151151
debug_assert_eq!(self.parent_generics().map(|it| it.def), Some(param.parent));
@@ -164,7 +164,7 @@ impl Generics {
164164
if lifetime.parent == self.def {
165165
let idx = lifetime.local_id.into_raw().into_u32() as usize;
166166
debug_assert!(idx <= self.params.lifetimes.len());
167-
Some(self.params.type_or_consts.len() + idx)
167+
Some(self.params.len_type_or_consts() + idx)
168168
} else {
169169
debug_assert_eq!(self.parent_generics().map(|it| it.def), Some(lifetime.parent));
170170
self.parent_generics()

src/tools/rust-analyzer/crates/hir-ty/src/lower.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2071,7 +2071,7 @@ pub(crate) fn impl_self_ty_query(db: &dyn HirDatabase, impl_id: ImplId) -> Binde
20712071
// returns None if def is a type arg
20722072
pub(crate) fn const_param_ty_query(db: &dyn HirDatabase, def: ConstParamId) -> Ty {
20732073
let parent_data = db.generic_params(def.parent());
2074-
let data = &parent_data.type_or_consts[def.local_id()];
2074+
let data = &parent_data[def.local_id()];
20752075
let resolver = def.parent().resolver(db.upcast());
20762076
let ctx = TyLoweringContext::new(db, &resolver, def.parent().into());
20772077
match data {

src/tools/rust-analyzer/crates/hir-ty/src/mir/lower.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ impl MirLowerError {
183183
},
184184
MirLowerError::GenericArgNotProvided(id, subst) => {
185185
let parent = id.parent;
186-
let param = &db.generic_params(parent).type_or_consts[id.local_id];
186+
let param = &db.generic_params(parent)[id.local_id];
187187
writeln!(
188188
f,
189189
"Generic arg not provided for {}",

src/tools/rust-analyzer/crates/hir/src/display.rs

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -452,7 +452,7 @@ impl HirDisplay for TypeOrConstParam {
452452
impl HirDisplay for TypeParam {
453453
fn hir_fmt(&self, f: &mut HirFormatter<'_>) -> Result<(), HirDisplayError> {
454454
let params = f.db.generic_params(self.id.parent());
455-
let param_data = &params.type_or_consts[self.id.local_id()];
455+
let param_data = &params[self.id.local_id()];
456456
let substs = TyBuilder::placeholder_subst(f.db, self.id.parent());
457457
let krate = self.id.parent().krate(f.db).id;
458458
let ty =
@@ -540,10 +540,9 @@ fn write_generic_params(
540540
) -> Result<(), HirDisplayError> {
541541
let params = f.db.generic_params(def);
542542
if params.lifetimes.is_empty()
543-
&& params.type_or_consts.iter().all(|it| it.1.const_param().is_none())
543+
&& params.iter_type_or_consts().all(|it| it.1.const_param().is_none())
544544
&& params
545-
.type_or_consts
546-
.iter()
545+
.iter_type_or_consts()
547546
.filter_map(|it| it.1.type_param())
548547
.all(|param| !matches!(param.provenance, TypeParamProvenance::TypeParamList))
549548
{
@@ -564,7 +563,7 @@ fn write_generic_params(
564563
delim(f)?;
565564
write!(f, "{}", lifetime.name.display(f.db.upcast()))?;
566565
}
567-
for (_, ty) in params.type_or_consts.iter() {
566+
for (_, ty) in params.iter_type_or_consts() {
568567
if let Some(name) = &ty.name() {
569568
match ty {
570569
TypeOrConstParamData::TypeParamData(ty) => {
@@ -616,7 +615,7 @@ fn has_disaplayable_predicates(params: &Interned<GenericParams>) -> bool {
616615
!matches!(
617616
pred,
618617
WherePredicate::TypeBound { target: WherePredicateTypeTarget::TypeOrConstParam(id), .. }
619-
if params.type_or_consts[*id].name().is_none()
618+
if params[*id].name().is_none()
620619
)
621620
})
622621
}
@@ -631,13 +630,13 @@ fn write_where_predicates(
631630
let is_unnamed_type_target =
632631
|params: &Interned<GenericParams>, target: &WherePredicateTypeTarget| {
633632
matches!(target,
634-
WherePredicateTypeTarget::TypeOrConstParam(id) if params.type_or_consts[*id].name().is_none()
633+
WherePredicateTypeTarget::TypeOrConstParam(id) if params[*id].name().is_none()
635634
)
636635
};
637636

638637
let write_target = |target: &WherePredicateTypeTarget, f: &mut HirFormatter<'_>| match target {
639638
WherePredicateTypeTarget::TypeRef(ty) => ty.hir_fmt(f),
640-
WherePredicateTypeTarget::TypeOrConstParam(id) => match params.type_or_consts[*id].name() {
639+
WherePredicateTypeTarget::TypeOrConstParam(id) => match params[*id].name() {
641640
Some(name) => write!(f, "{}", name.display(f.db.upcast())),
642641
None => f.write_str("{unnamed}"),
643642
},

0 commit comments

Comments
 (0)