From 359e70d1b20402ca9cc8731909daecfab598e55d Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Thu, 27 Dec 2018 15:03:18 +0300 Subject: support literal suffixes --- crates/ra_syntax/src/validation/byte.rs | 4 ++++ crates/ra_syntax/src/validation/byte_string.rs | 4 ++++ crates/ra_syntax/src/validation/char.rs | 4 ++++ crates/ra_syntax/src/validation/string.rs | 4 ++++ 4 files changed, 16 insertions(+) (limited to 'crates/ra_syntax/src/validation') diff --git a/crates/ra_syntax/src/validation/byte.rs b/crates/ra_syntax/src/validation/byte.rs index e3603e761..2f9b7fac7 100644 --- a/crates/ra_syntax/src/validation/byte.rs +++ b/crates/ra_syntax/src/validation/byte.rs @@ -27,6 +27,10 @@ pub(super) fn validate_byte_node(node: ast::Byte, errors: &mut Vec) errors.push(SyntaxError::new(UnclosedByte, literal_range)); } + if let Some(range) = components.suffix { + errors.push(SyntaxError::new(InvalidSuffix, range)); + } + if len == 0 { errors.push(SyntaxError::new(EmptyByte, literal_range)); } diff --git a/crates/ra_syntax/src/validation/byte_string.rs b/crates/ra_syntax/src/validation/byte_string.rs index 2f98472f4..bf4c934a7 100644 --- a/crates/ra_syntax/src/validation/byte_string.rs +++ b/crates/ra_syntax/src/validation/byte_string.rs @@ -32,6 +32,10 @@ pub(crate) fn validate_byte_string_node(node: ast::ByteString, errors: &mut Vec< if !components.has_closing_quote { errors.push(SyntaxError::new(UnclosedString, literal_range)); } + + if let Some(range) = components.suffix { + errors.push(SyntaxError::new(InvalidSuffix, range)); + } } #[cfg(test)] diff --git a/crates/ra_syntax/src/validation/char.rs b/crates/ra_syntax/src/validation/char.rs index deb5b0a9e..50184aaf8 100644 --- a/crates/ra_syntax/src/validation/char.rs +++ b/crates/ra_syntax/src/validation/char.rs @@ -30,6 +30,10 @@ pub(super) fn validate_char_node(node: ast::Char, errors: &mut Vec) errors.push(SyntaxError::new(UnclosedChar, literal_range)); } + if let Some(range) = components.suffix { + errors.push(SyntaxError::new(InvalidSuffix, range)); + } + if len == 0 { errors.push(SyntaxError::new(EmptyChar, literal_range)); } diff --git a/crates/ra_syntax/src/validation/string.rs b/crates/ra_syntax/src/validation/string.rs index 456180ab6..ff1fb6edc 100644 --- a/crates/ra_syntax/src/validation/string.rs +++ b/crates/ra_syntax/src/validation/string.rs @@ -27,6 +27,10 @@ pub(crate) fn validate_string_node(node: ast::String, errors: &mut Vec