From 46bc8675edd403ffcd8963e4f26447b283e9d09e Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Tue, 11 Jun 2019 17:13:20 +0300 Subject: use Source for statics and consts --- crates/ra_hir/src/code_model.rs | 34 ++++++++++++++++++++++------------ 1 file changed, 22 insertions(+), 12 deletions(-) (limited to 'crates/ra_hir/src/code_model.rs') diff --git a/crates/ra_hir/src/code_model.rs b/crates/ra_hir/src/code_model.rs index aa6eb741b..a8a0875e0 100644 --- a/crates/ra_hir/src/code_model.rs +++ b/crates/ra_hir/src/code_model.rs @@ -761,12 +761,17 @@ pub struct Const { pub(crate) id: ConstId, } +impl HasSource for Const { + type Ast = TreeArc; + + fn source(self, db: &(impl DefDatabase + AstDatabase)) -> Source> { + self.id.source(db).into() + } +} + impl Const { - pub fn source( - self, - db: &(impl DefDatabase + AstDatabase), - ) -> (HirFileId, TreeArc) { - self.id.source(db) + pub fn source(self, db: &(impl DefDatabase + AstDatabase)) -> Source> { + self.id.source(db).into() } pub fn module(self, db: &impl DefDatabase) -> Module { @@ -819,7 +824,7 @@ impl ConstSignature { db: &(impl DefDatabase + AstDatabase), konst: Const, ) -> Arc { - let (_, node) = konst.source(db); + let node = konst.source(db).ast; const_signature_for(&*node) } @@ -827,7 +832,7 @@ impl ConstSignature { db: &(impl DefDatabase + AstDatabase), konst: Static, ) -> Arc { - let (_, node) = konst.source(db); + let node = konst.source(db).ast; const_signature_for(&*node) } } @@ -844,12 +849,17 @@ pub struct Static { pub(crate) id: StaticId, } +impl HasSource for Static { + type Ast = TreeArc; + + fn source(self, db: &(impl DefDatabase + AstDatabase)) -> Source> { + self.id.source(db).into() + } +} + impl Static { - pub fn source( - self, - db: &(impl DefDatabase + AstDatabase), - ) -> (HirFileId, TreeArc) { - self.id.source(db) + pub fn source(self, db: &(impl DefDatabase + AstDatabase)) -> Source> { + self.id.source(db).into() } pub fn module(self, db: &impl DefDatabase) -> Module { -- cgit v1.2.3