mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-09-28 04:44:57 +00:00
Make GenericParams::type_or_consts private
This commit is contained in:
parent
73c97e3fe0
commit
372e2d22e6
11 changed files with 239 additions and 233 deletions
|
@ -2503,8 +2503,7 @@ impl Trait {
|
|||
count_required_only: bool,
|
||||
) -> usize {
|
||||
db.generic_params(self.id.into())
|
||||
.type_or_consts
|
||||
.iter()
|
||||
.iter_type_or_consts()
|
||||
.filter(|(_, ty)| !matches!(ty, TypeOrConstParamData::TypeParamData(ty) if ty.provenance != TypeParamProvenance::TypeParamList))
|
||||
.filter(|(_, ty)| !count_required_only || !ty.has_default())
|
||||
.count()
|
||||
|
@ -3125,7 +3124,7 @@ impl_from!(
|
|||
impl GenericDef {
|
||||
pub fn params(self, db: &dyn HirDatabase) -> Vec<GenericParam> {
|
||||
let generics = db.generic_params(self.into());
|
||||
let ty_params = generics.type_or_consts.iter().map(|(local_id, _)| {
|
||||
let ty_params = generics.iter_type_or_consts().map(|(local_id, _)| {
|
||||
let toc = TypeOrConstParam { id: TypeOrConstParamId { parent: self.into(), local_id } };
|
||||
match toc.split(db) {
|
||||
Either::Left(it) => GenericParam::ConstParam(it),
|
||||
|
@ -3153,8 +3152,7 @@ impl GenericDef {
|
|||
pub fn type_or_const_params(self, db: &dyn HirDatabase) -> Vec<TypeOrConstParam> {
|
||||
let generics = db.generic_params(self.into());
|
||||
generics
|
||||
.type_or_consts
|
||||
.iter()
|
||||
.iter_type_or_consts()
|
||||
.map(|(local_id, _)| TypeOrConstParam {
|
||||
id: TypeOrConstParamId { parent: self.into(), local_id },
|
||||
})
|
||||
|
@ -3496,7 +3494,7 @@ impl TypeParam {
|
|||
/// argument)?
|
||||
pub fn is_implicit(self, db: &dyn HirDatabase) -> bool {
|
||||
let params = db.generic_params(self.id.parent());
|
||||
let data = ¶ms.type_or_consts[self.id.local_id()];
|
||||
let data = ¶ms[self.id.local_id()];
|
||||
match data.type_param().unwrap().provenance {
|
||||
hir_def::generics::TypeParamProvenance::TypeParamList => false,
|
||||
hir_def::generics::TypeParamProvenance::TraitSelf
|
||||
|
@ -3574,7 +3572,7 @@ impl ConstParam {
|
|||
|
||||
pub fn name(self, db: &dyn HirDatabase) -> Name {
|
||||
let params = db.generic_params(self.id.parent());
|
||||
match params.type_or_consts[self.id.local_id()].name() {
|
||||
match params[self.id.local_id()].name() {
|
||||
Some(it) => it.clone(),
|
||||
None => {
|
||||
never!();
|
||||
|
@ -3617,7 +3615,7 @@ pub struct TypeOrConstParam {
|
|||
impl TypeOrConstParam {
|
||||
pub fn name(self, db: &dyn HirDatabase) -> Name {
|
||||
let params = db.generic_params(self.id.parent);
|
||||
match params.type_or_consts[self.id.local_id].name() {
|
||||
match params[self.id.local_id].name() {
|
||||
Some(n) => n.clone(),
|
||||
_ => Name::missing(),
|
||||
}
|
||||
|
@ -3633,7 +3631,7 @@ impl TypeOrConstParam {
|
|||
|
||||
pub fn split(self, db: &dyn HirDatabase) -> Either<ConstParam, TypeParam> {
|
||||
let params = db.generic_params(self.id.parent);
|
||||
match ¶ms.type_or_consts[self.id.local_id] {
|
||||
match ¶ms[self.id.local_id] {
|
||||
hir_def::generics::TypeOrConstParamData::TypeParamData(_) => {
|
||||
Either::Right(TypeParam { id: TypeParamId::from_unchecked(self.id) })
|
||||
}
|
||||
|
@ -3652,7 +3650,7 @@ impl TypeOrConstParam {
|
|||
|
||||
pub fn as_type_param(self, db: &dyn HirDatabase) -> Option<TypeParam> {
|
||||
let params = db.generic_params(self.id.parent);
|
||||
match ¶ms.type_or_consts[self.id.local_id] {
|
||||
match ¶ms[self.id.local_id] {
|
||||
hir_def::generics::TypeOrConstParamData::TypeParamData(_) => {
|
||||
Some(TypeParam { id: TypeParamId::from_unchecked(self.id) })
|
||||
}
|
||||
|
@ -3662,7 +3660,7 @@ impl TypeOrConstParam {
|
|||
|
||||
pub fn as_const_param(self, db: &dyn HirDatabase) -> Option<ConstParam> {
|
||||
let params = db.generic_params(self.id.parent);
|
||||
match ¶ms.type_or_consts[self.id.local_id] {
|
||||
match ¶ms[self.id.local_id] {
|
||||
hir_def::generics::TypeOrConstParamData::TypeParamData(_) => None,
|
||||
hir_def::generics::TypeOrConstParamData::ConstParamData(_) => {
|
||||
Some(ConstParam { id: ConstParamId::from_unchecked(self.id) })
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue