aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_ide_api/src/diagnostics.rs
diff options
context:
space:
mode:
authorAleksey Kladov <[email protected]>2019-09-26 10:18:26 +0100
committerAleksey Kladov <[email protected]>2019-09-26 13:29:28 +0100
commit183a38fb50f284de1ca02c05ed945e240f3c0274 (patch)
tree6f318218b3a97c9a2dba3e8311de4fddbce23b27 /crates/ra_ide_api/src/diagnostics.rs
parentd6bbdfefa7ed4b2b567558e76d5adadda9d9b83f (diff)
keep ast creation API simple
Diffstat (limited to 'crates/ra_ide_api/src/diagnostics.rs')
-rw-r--r--crates/ra_ide_api/src/diagnostics.rs9
1 files changed, 3 insertions, 6 deletions
diff --git a/crates/ra_ide_api/src/diagnostics.rs b/crates/ra_ide_api/src/diagnostics.rs
index f07061e99..144bc0a70 100644
--- a/crates/ra_ide_api/src/diagnostics.rs
+++ b/crates/ra_ide_api/src/diagnostics.rs
@@ -2,11 +2,11 @@ use std::cell::RefCell;
2 2
3use hir::diagnostics::{AstDiagnostic, Diagnostic as _, DiagnosticSink}; 3use hir::diagnostics::{AstDiagnostic, Diagnostic as _, DiagnosticSink};
4use itertools::Itertools; 4use itertools::Itertools;
5use ra_assists::{ast_builder::Make, ast_editor::AstEditor}; 5use ra_assists::ast_editor::AstEditor;
6use ra_db::SourceDatabase; 6use ra_db::SourceDatabase;
7use ra_prof::profile; 7use ra_prof::profile;
8use ra_syntax::{ 8use ra_syntax::{
9 ast::{self, AstNode}, 9 ast::{self, make, AstNode},
10 Location, SyntaxNode, TextRange, T, 10 Location, SyntaxNode, TextRange, T,
11}; 11};
12use ra_text_edit::{TextEdit, TextEditBuilder}; 12use ra_text_edit::{TextEdit, TextEditBuilder};
@@ -59,10 +59,7 @@ pub(crate) fn diagnostics(db: &RootDatabase, file_id: FileId) -> Vec<Diagnostic>
59 let node = d.ast(db); 59 let node = d.ast(db);
60 let mut ast_editor = AstEditor::new(node); 60 let mut ast_editor = AstEditor::new(node);
61 for f in d.missed_fields.iter() { 61 for f in d.missed_fields.iter() {
62 let field = Make::<ast::RecordField>::from( 62 let field = make::record_field(make::name_ref(&f.to_string()), Some(make::expr_unit()));
63 Make::<ast::NameRef>::from(&f.to_string()),
64 Some(Make::<ast::Expr>::unit()),
65 );
66 ast_editor.append_field(&field); 63 ast_editor.append_field(&field);
67 } 64 }
68 65