From ef416e0154767619fcbfa0d1682b28bd338a8ce9 Mon Sep 17 00:00:00 2001 From: oxalica Date: Sun, 14 Mar 2021 20:03:39 +0800 Subject: Impl HirDisplay for function hover message --- crates/hir_def/src/path.rs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'crates/hir_def/src') diff --git a/crates/hir_def/src/path.rs b/crates/hir_def/src/path.rs index 0e60dc2b6..8c923bb7b 100644 --- a/crates/hir_def/src/path.rs +++ b/crates/hir_def/src/path.rs @@ -9,7 +9,10 @@ use std::{ use crate::{body::LowerCtx, type_ref::LifetimeRef}; use base_db::CrateId; -use hir_expand::{hygiene::Hygiene, name::Name}; +use hir_expand::{ + hygiene::Hygiene, + name::{name, Name}, +}; use syntax::ast; use crate::{ @@ -209,6 +212,12 @@ impl Path { }; Some(res) } + + pub fn is_self_type(&self) -> bool { + self.type_anchor.is_none() + && self.generic_args == &[None] + && self.mod_path.as_ident() == Some(&name!(Self)) + } } #[derive(Debug, Clone, PartialEq, Eq, Hash)] -- cgit v1.2.3