aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir/src/ty/lower.rs
diff options
context:
space:
mode:
authorAleksey Kladov <[email protected]>2019-11-21 11:13:49 +0000
committerAleksey Kladov <[email protected]>2019-11-21 11:13:49 +0000
commit061e6c77b5fdb63aa1cad63f1420a7fc810fa17d (patch)
treec24ffc3fe582c84ad78be3129aef472253b5d9f7 /crates/ra_hir/src/ty/lower.rs
parent621cf06156975f8bd75e35af46da034f72e11fad (diff)
Decouple
Diffstat (limited to 'crates/ra_hir/src/ty/lower.rs')
-rw-r--r--crates/ra_hir/src/ty/lower.rs16
1 files changed, 8 insertions, 8 deletions
diff --git a/crates/ra_hir/src/ty/lower.rs b/crates/ra_hir/src/ty/lower.rs
index d4fbddac0..8ea2806dd 100644
--- a/crates/ra_hir/src/ty/lower.rs
+++ b/crates/ra_hir/src/ty/lower.rs
@@ -553,8 +553,8 @@ pub(crate) fn callable_item_sig(db: &impl HirDatabase, def: CallableDef) -> FnSi
553pub(crate) fn type_for_field(db: &impl HirDatabase, field: StructField) -> Ty { 553pub(crate) fn type_for_field(db: &impl HirDatabase, field: StructField) -> Ty {
554 let parent_def = field.parent_def(db); 554 let parent_def = field.parent_def(db);
555 let resolver = match parent_def { 555 let resolver = match parent_def {
556 VariantDef::Struct(it) => it.resolver(db), 556 VariantDef::Struct(it) => it.id.resolver(db),
557 VariantDef::EnumVariant(it) => it.parent_enum(db).resolver(db), 557 VariantDef::EnumVariant(it) => it.parent.id.resolver(db),
558 }; 558 };
559 let var_data = parent_def.variant_data(db); 559 let var_data = parent_def.variant_data(db);
560 let type_ref = &var_data.fields().unwrap()[field.id].type_ref; 560 let type_ref = &var_data.fields().unwrap()[field.id].type_ref;
@@ -623,7 +623,7 @@ pub(crate) fn generic_defaults_query(db: &impl HirDatabase, def: GenericDef) ->
623 623
624fn fn_sig_for_fn(db: &impl HirDatabase, def: Function) -> FnSig { 624fn fn_sig_for_fn(db: &impl HirDatabase, def: Function) -> FnSig {
625 let data = def.data(db); 625 let data = def.data(db);
626 let resolver = def.resolver(db); 626 let resolver = def.id.resolver(db);
627 let params = data.params().iter().map(|tr| Ty::from_hir(db, &resolver, tr)).collect::<Vec<_>>(); 627 let params = data.params().iter().map(|tr| Ty::from_hir(db, &resolver, tr)).collect::<Vec<_>>();
628 let ret = Ty::from_hir(db, &resolver, data.ret_type()); 628 let ret = Ty::from_hir(db, &resolver, data.ret_type());
629 FnSig::from_params_and_return(params, ret) 629 FnSig::from_params_and_return(params, ret)
@@ -640,7 +640,7 @@ fn type_for_fn(db: &impl HirDatabase, def: Function) -> Ty {
640/// Build the declared type of a const. 640/// Build the declared type of a const.
641fn type_for_const(db: &impl HirDatabase, def: Const) -> Ty { 641fn type_for_const(db: &impl HirDatabase, def: Const) -> Ty {
642 let data = def.data(db); 642 let data = def.data(db);
643 let resolver = def.resolver(db); 643 let resolver = def.id.resolver(db);
644 644
645 Ty::from_hir(db, &resolver, data.type_ref()) 645 Ty::from_hir(db, &resolver, data.type_ref())
646} 646}
@@ -648,7 +648,7 @@ fn type_for_const(db: &impl HirDatabase, def: Const) -> Ty {
648/// Build the declared type of a static. 648/// Build the declared type of a static.
649fn type_for_static(db: &impl HirDatabase, def: Static) -> Ty { 649fn type_for_static(db: &impl HirDatabase, def: Static) -> Ty {
650 let data = def.data(db); 650 let data = def.data(db);
651 let resolver = def.resolver(db); 651 let resolver = def.id.resolver(db);
652 652
653 Ty::from_hir(db, &resolver, data.type_ref()) 653 Ty::from_hir(db, &resolver, data.type_ref())
654} 654}
@@ -700,7 +700,7 @@ fn fn_sig_for_struct_constructor(db: &impl HirDatabase, def: Struct) -> FnSig {
700 Some(fields) => fields, 700 Some(fields) => fields,
701 None => panic!("fn_sig_for_struct_constructor called on unit struct"), 701 None => panic!("fn_sig_for_struct_constructor called on unit struct"),
702 }; 702 };
703 let resolver = def.resolver(db); 703 let resolver = def.id.resolver(db);
704 let params = fields 704 let params = fields
705 .iter() 705 .iter()
706 .map(|(_, field)| Ty::from_hir(db, &resolver, &field.type_ref)) 706 .map(|(_, field)| Ty::from_hir(db, &resolver, &field.type_ref))
@@ -726,7 +726,7 @@ fn fn_sig_for_enum_variant_constructor(db: &impl HirDatabase, def: EnumVariant)
726 Some(fields) => fields, 726 Some(fields) => fields,
727 None => panic!("fn_sig_for_enum_variant_constructor called for unit variant"), 727 None => panic!("fn_sig_for_enum_variant_constructor called for unit variant"),
728 }; 728 };
729 let resolver = def.parent_enum(db).resolver(db); 729 let resolver = def.parent.id.resolver(db);
730 let params = fields 730 let params = fields
731 .iter() 731 .iter()
732 .map(|(_, field)| Ty::from_hir(db, &resolver, &field.type_ref)) 732 .map(|(_, field)| Ty::from_hir(db, &resolver, &field.type_ref))
@@ -755,7 +755,7 @@ fn type_for_adt(db: &impl HirDatabase, adt: impl Into<Adt> + HasGenericParams) -
755 755
756fn type_for_type_alias(db: &impl HirDatabase, t: TypeAlias) -> Ty { 756fn type_for_type_alias(db: &impl HirDatabase, t: TypeAlias) -> Ty {
757 let generics = t.generic_params(db); 757 let generics = t.generic_params(db);
758 let resolver = t.resolver(db); 758 let resolver = t.id.resolver(db);
759 let type_ref = t.type_ref(db); 759 let type_ref = t.type_ref(db);
760 let substs = Substs::identity(&generics); 760 let substs = Substs::identity(&generics);
761 let inner = Ty::from_hir(db, &resolver, &type_ref.unwrap_or(TypeRef::Error)); 761 let inner = Ty::from_hir(db, &resolver, &type_ref.unwrap_or(TypeRef::Error));