mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-09-27 12:29:21 +00:00
Introduce Location and make SyntaxError fields private
This commit is contained in:
parent
3b42ddae60
commit
fda8ddc5fe
10 changed files with 82 additions and 52 deletions
|
@ -33,17 +33,11 @@ fn validate_char(node: ast::Char, errors: &mut Vec<SyntaxError>) {
|
|||
AsciiEscape => {
|
||||
if text.len() == 1 {
|
||||
// Escape sequence consists only of leading `\`
|
||||
errors.push(SyntaxError {
|
||||
kind: EmptyAsciiEscape,
|
||||
range: range,
|
||||
});
|
||||
errors.push(SyntaxError::new(EmptyAsciiEscape, range));
|
||||
} else {
|
||||
let escape_code = text.chars().skip(1).next().unwrap();
|
||||
if !is_ascii_escape(escape_code) {
|
||||
errors.push(SyntaxError {
|
||||
kind: InvalidAsciiEscape,
|
||||
range: range,
|
||||
});
|
||||
errors.push(SyntaxError::new(InvalidAsciiEscape, range));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -64,24 +58,15 @@ fn validate_char(node: ast::Char, errors: &mut Vec<SyntaxError>) {
|
|||
}
|
||||
|
||||
if !components.has_closing_quote {
|
||||
errors.push(SyntaxError {
|
||||
kind: UnclosedChar,
|
||||
range: node.syntax().range(),
|
||||
});
|
||||
errors.push(SyntaxError::new(UnclosedChar, node.syntax().range()));
|
||||
}
|
||||
|
||||
if len == 0 {
|
||||
errors.push(SyntaxError {
|
||||
kind: EmptyChar,
|
||||
range: node.syntax().range(),
|
||||
});
|
||||
errors.push(SyntaxError::new(EmptyChar, node.syntax().range()));
|
||||
}
|
||||
|
||||
if len > 1 {
|
||||
errors.push(SyntaxError {
|
||||
kind: LongChar,
|
||||
range: node.syntax().range(),
|
||||
});
|
||||
errors.push(SyntaxError::new(LongChar, node.syntax().range()));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue