diff options
Diffstat (limited to 'crates/ra_hir/src/code_model.rs')
-rw-r--r-- | crates/ra_hir/src/code_model.rs | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/crates/ra_hir/src/code_model.rs b/crates/ra_hir/src/code_model.rs index 43f932e20..3f645a1dd 100644 --- a/crates/ra_hir/src/code_model.rs +++ b/crates/ra_hir/src/code_model.rs | |||
@@ -13,8 +13,8 @@ use hir_def::{ | |||
13 | resolver::{HasResolver, Resolver}, | 13 | resolver::{HasResolver, Resolver}, |
14 | type_ref::{Mutability, TypeRef}, | 14 | type_ref::{Mutability, TypeRef}, |
15 | AdtId, AssocContainerId, ConstId, DefWithBodyId, EnumId, FunctionId, GenericDefId, HasModule, | 15 | AdtId, AssocContainerId, ConstId, DefWithBodyId, EnumId, FunctionId, GenericDefId, HasModule, |
16 | ImplId, LocalEnumVariantId, LocalModuleId, LocalStructFieldId, Lookup, ModuleId, StaticId, | 16 | ImplId, LocalEnumVariantId, LocalFieldId, LocalModuleId, Lookup, ModuleId, StaticId, StructId, |
17 | StructId, TraitId, TypeAliasId, TypeParamId, UnionId, | 17 | TraitId, TypeAliasId, TypeParamId, UnionId, |
18 | }; | 18 | }; |
19 | use hir_expand::{ | 19 | use hir_expand::{ |
20 | diagnostics::DiagnosticSink, | 20 | diagnostics::DiagnosticSink, |
@@ -294,9 +294,9 @@ impl Module { | |||
294 | } | 294 | } |
295 | 295 | ||
296 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] | 296 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] |
297 | pub struct StructField { | 297 | pub struct Field { |
298 | pub(crate) parent: VariantDef, | 298 | pub(crate) parent: VariantDef, |
299 | pub(crate) id: LocalStructFieldId, | 299 | pub(crate) id: LocalFieldId, |
300 | } | 300 | } |
301 | 301 | ||
302 | #[derive(Debug, PartialEq, Eq)] | 302 | #[derive(Debug, PartialEq, Eq)] |
@@ -305,7 +305,7 @@ pub enum FieldSource { | |||
305 | Pos(ast::TupleFieldDef), | 305 | Pos(ast::TupleFieldDef), |
306 | } | 306 | } |
307 | 307 | ||
308 | impl StructField { | 308 | impl Field { |
309 | pub fn name(&self, db: &dyn HirDatabase) -> Name { | 309 | pub fn name(&self, db: &dyn HirDatabase) -> Name { |
310 | self.parent.variant_data(db).fields()[self.id].name.clone() | 310 | self.parent.variant_data(db).fields()[self.id].name.clone() |
311 | } | 311 | } |
@@ -331,7 +331,7 @@ impl StructField { | |||
331 | } | 331 | } |
332 | } | 332 | } |
333 | 333 | ||
334 | impl HasVisibility for StructField { | 334 | impl HasVisibility for Field { |
335 | fn visibility(&self, db: &dyn HirDatabase) -> Visibility { | 335 | fn visibility(&self, db: &dyn HirDatabase) -> Visibility { |
336 | let variant_data = self.parent.variant_data(db); | 336 | let variant_data = self.parent.variant_data(db); |
337 | let visibility = &variant_data.fields()[self.id].visibility; | 337 | let visibility = &variant_data.fields()[self.id].visibility; |
@@ -358,12 +358,12 @@ impl Struct { | |||
358 | db.struct_data(self.id).name.clone() | 358 | db.struct_data(self.id).name.clone() |
359 | } | 359 | } |
360 | 360 | ||
361 | pub fn fields(self, db: &dyn HirDatabase) -> Vec<StructField> { | 361 | pub fn fields(self, db: &dyn HirDatabase) -> Vec<Field> { |
362 | db.struct_data(self.id) | 362 | db.struct_data(self.id) |
363 | .variant_data | 363 | .variant_data |
364 | .fields() | 364 | .fields() |
365 | .iter() | 365 | .iter() |
366 | .map(|(id, _)| StructField { parent: self.into(), id }) | 366 | .map(|(id, _)| Field { parent: self.into(), id }) |
367 | .collect() | 367 | .collect() |
368 | } | 368 | } |
369 | 369 | ||
@@ -394,12 +394,12 @@ impl Union { | |||
394 | Type::from_def(db, self.id.lookup(db.upcast()).container.module(db.upcast()).krate, self.id) | 394 | Type::from_def(db, self.id.lookup(db.upcast()).container.module(db.upcast()).krate, self.id) |
395 | } | 395 | } |
396 | 396 | ||
397 | pub fn fields(self, db: &dyn HirDatabase) -> Vec<StructField> { | 397 | pub fn fields(self, db: &dyn HirDatabase) -> Vec<Field> { |
398 | db.union_data(self.id) | 398 | db.union_data(self.id) |
399 | .variant_data | 399 | .variant_data |
400 | .fields() | 400 | .fields() |
401 | .iter() | 401 | .iter() |
402 | .map(|(id, _)| StructField { parent: self.into(), id }) | 402 | .map(|(id, _)| Field { parent: self.into(), id }) |
403 | .collect() | 403 | .collect() |
404 | } | 404 | } |
405 | 405 | ||
@@ -457,11 +457,11 @@ impl EnumVariant { | |||
457 | db.enum_data(self.parent.id).variants[self.id].name.clone() | 457 | db.enum_data(self.parent.id).variants[self.id].name.clone() |
458 | } | 458 | } |
459 | 459 | ||
460 | pub fn fields(self, db: &dyn HirDatabase) -> Vec<StructField> { | 460 | pub fn fields(self, db: &dyn HirDatabase) -> Vec<Field> { |
461 | self.variant_data(db) | 461 | self.variant_data(db) |
462 | .fields() | 462 | .fields() |
463 | .iter() | 463 | .iter() |
464 | .map(|(id, _)| StructField { parent: self.into(), id }) | 464 | .map(|(id, _)| Field { parent: self.into(), id }) |
465 | .collect() | 465 | .collect() |
466 | } | 466 | } |
467 | 467 | ||
@@ -527,7 +527,7 @@ pub enum VariantDef { | |||
527 | impl_froms!(VariantDef: Struct, Union, EnumVariant); | 527 | impl_froms!(VariantDef: Struct, Union, EnumVariant); |
528 | 528 | ||
529 | impl VariantDef { | 529 | impl VariantDef { |
530 | pub fn fields(self, db: &dyn HirDatabase) -> Vec<StructField> { | 530 | pub fn fields(self, db: &dyn HirDatabase) -> Vec<Field> { |
531 | match self { | 531 | match self { |
532 | VariantDef::Struct(it) => it.fields(db), | 532 | VariantDef::Struct(it) => it.fields(db), |
533 | VariantDef::Union(it) => it.fields(db), | 533 | VariantDef::Union(it) => it.fields(db), |
@@ -1148,7 +1148,7 @@ impl Type { | |||
1148 | } | 1148 | } |
1149 | } | 1149 | } |
1150 | 1150 | ||
1151 | pub fn fields(&self, db: &dyn HirDatabase) -> Vec<(StructField, Type)> { | 1151 | pub fn fields(&self, db: &dyn HirDatabase) -> Vec<(Field, Type)> { |
1152 | if let Ty::Apply(a_ty) = &self.ty.value { | 1152 | if let Ty::Apply(a_ty) = &self.ty.value { |
1153 | if let TypeCtor::Adt(AdtId::StructId(s)) = a_ty.ctor { | 1153 | if let TypeCtor::Adt(AdtId::StructId(s)) = a_ty.ctor { |
1154 | let var_def = s.into(); | 1154 | let var_def = s.into(); |
@@ -1156,7 +1156,7 @@ impl Type { | |||
1156 | .field_types(var_def) | 1156 | .field_types(var_def) |
1157 | .iter() | 1157 | .iter() |
1158 | .map(|(local_id, ty)| { | 1158 | .map(|(local_id, ty)| { |
1159 | let def = StructField { parent: var_def.into(), id: local_id }; | 1159 | let def = Field { parent: var_def.into(), id: local_id }; |
1160 | let ty = ty.clone().subst(&a_ty.parameters); | 1160 | let ty = ty.clone().subst(&a_ty.parameters); |
1161 | (def, self.derived(ty)) | 1161 | (def, self.derived(ty)) |
1162 | }) | 1162 | }) |
@@ -1352,7 +1352,7 @@ impl ScopeDef { | |||
1352 | #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)] | 1352 | #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)] |
1353 | pub enum AttrDef { | 1353 | pub enum AttrDef { |
1354 | Module(Module), | 1354 | Module(Module), |
1355 | StructField(StructField), | 1355 | Field(Field), |
1356 | Adt(Adt), | 1356 | Adt(Adt), |
1357 | Function(Function), | 1357 | Function(Function), |
1358 | EnumVariant(EnumVariant), | 1358 | EnumVariant(EnumVariant), |
@@ -1365,7 +1365,7 @@ pub enum AttrDef { | |||
1365 | 1365 | ||
1366 | impl_froms!( | 1366 | impl_froms!( |
1367 | AttrDef: Module, | 1367 | AttrDef: Module, |
1368 | StructField, | 1368 | Field, |
1369 | Adt(Struct, Enum, Union), | 1369 | Adt(Struct, Enum, Union), |
1370 | EnumVariant, | 1370 | EnumVariant, |
1371 | Static, | 1371 | Static, |