From 082ef52bcb15d779c6aff78d9860d328bf7df9b2 Mon Sep 17 00:00:00 2001 From: Florian Diebold Date: Mon, 7 Jan 2019 13:44:54 +0100 Subject: Implement basic inherent method resolution --- crates/ra_hir/src/code_model_api.rs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'crates/ra_hir/src/code_model_api.rs') diff --git a/crates/ra_hir/src/code_model_api.rs b/crates/ra_hir/src/code_model_api.rs index d4244f70c..9c28b62af 100644 --- a/crates/ra_hir/src/code_model_api.rs +++ b/crates/ra_hir/src/code_model_api.rs @@ -113,6 +113,11 @@ impl Module { self.child_impl(db, name) } + /// Iterates over all child modules. + pub fn children(&self, db: &impl HirDatabase) -> Cancelable> { + self.children_impl(db) + } + /// Finds a parent module. pub fn parent(&self, db: &impl HirDatabase) -> Cancelable> { self.parent_impl(db) @@ -270,6 +275,9 @@ pub struct FnSignature { pub(crate) name: Name, pub(crate) args: Vec, pub(crate) ret_type: TypeRef, + /// True if the first arg is `self`. This is relevant to decide whether this + /// can be called as a method. + pub(crate) has_self_arg: bool, } impl FnSignature { @@ -284,6 +292,12 @@ impl FnSignature { pub fn ret_type(&self) -> &TypeRef { &self.ret_type } + + /// True if the first arg is `self`. This is relevant to decide whether this + /// can be called as a method. + pub fn has_self_arg(&self) -> bool { + self.has_self_arg + } } impl Function { -- cgit v1.2.3