aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_syntax/src/validation/mod.rs
diff options
context:
space:
mode:
authorbors[bot] <bors[bot]@users.noreply.github.com>2018-11-10 14:36:45 +0000
committerbors[bot] <bors[bot]@users.noreply.github.com>2018-11-10 14:36:45 +0000
commit477de790b0211196256a772befe4f577d1a8ba14 (patch)
tree42c40e9201adf64d1c06bc1c69524f5688ee6e9f /crates/ra_syntax/src/validation/mod.rs
parent5a9150df9bcdaf5faed5b500c22333f1f7c99f32 (diff)
parent3b4c02c19e4af645fd37e8bff774b05d546dc0b6 (diff)
Merge #222
222: Validate string literals r=aochagavia a=aochagavia Related: #6 (some validators are still missing), fixes #27 Co-authored-by: Adolfo OchagavĂ­a <[email protected]>
Diffstat (limited to 'crates/ra_syntax/src/validation/mod.rs')
-rw-r--r--crates/ra_syntax/src/validation/mod.rs20
1 files changed, 20 insertions, 0 deletions
diff --git a/crates/ra_syntax/src/validation/mod.rs b/crates/ra_syntax/src/validation/mod.rs
new file mode 100644
index 000000000..2ff0bc26d
--- /dev/null
+++ b/crates/ra_syntax/src/validation/mod.rs
@@ -0,0 +1,20 @@
1use crate::{
2 algo::visit::{visitor_ctx, VisitorCtx},
3 ast,
4 SourceFileNode,
5 yellow::SyntaxError,
6};
7
8mod char;
9mod string;
10
11pub(crate) fn validate(file: &SourceFileNode) -> Vec<SyntaxError> {
12 let mut errors = Vec::new();
13 for node in file.syntax().descendants() {
14 let _ = visitor_ctx(&mut errors)
15 .visit::<ast::Char, _>(self::char::validate_char_node)
16 .visit::<ast::String, _>(self::string::validate_string_node)
17 .accept(node);
18 }
19 errors
20}