aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir_def/src/diagnostics.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_hir_def/src/diagnostics.rs')
-rw-r--r--crates/ra_hir_def/src/diagnostics.rs26
1 files changed, 26 insertions, 0 deletions
diff --git a/crates/ra_hir_def/src/diagnostics.rs b/crates/ra_hir_def/src/diagnostics.rs
new file mode 100644
index 000000000..637184c58
--- /dev/null
+++ b/crates/ra_hir_def/src/diagnostics.rs
@@ -0,0 +1,26 @@
1use std::any::Any;
2
3use hir_expand::diagnostics::Diagnostic;
4use ra_syntax::{ast, AstPtr, SyntaxNodePtr};
5use relative_path::RelativePathBuf;
6
7use hir_expand::{HirFileId, Source};
8
9#[derive(Debug)]
10pub struct UnresolvedModule {
11 pub file: HirFileId,
12 pub decl: AstPtr<ast::Module>,
13 pub candidate: RelativePathBuf,
14}
15
16impl Diagnostic for UnresolvedModule {
17 fn message(&self) -> String {
18 "unresolved module".to_string()
19 }
20 fn source(&self) -> Source<SyntaxNodePtr> {
21 Source { file_id: self.file, ast: self.decl.into() }
22 }
23 fn as_any(&self) -> &(dyn Any + Send + 'static) {
24 self
25 }
26}