mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-09-08 19:40:46 +00:00
fix suffix ranges
This commit is contained in:
parent
a912b261d3
commit
49b0fe20ab
6 changed files with 95 additions and 4 deletions
|
@ -28,7 +28,10 @@ pub(super) fn validate_byte_node(node: ast::Byte, errors: &mut Vec<SyntaxError>)
|
|||
}
|
||||
|
||||
if let Some(range) = components.suffix {
|
||||
errors.push(SyntaxError::new(InvalidSuffix, range));
|
||||
errors.push(SyntaxError::new(
|
||||
InvalidSuffix,
|
||||
range + literal_range.start(),
|
||||
));
|
||||
}
|
||||
|
||||
if len == 0 {
|
||||
|
|
|
@ -34,7 +34,10 @@ pub(crate) fn validate_byte_string_node(node: ast::ByteString, errors: &mut Vec<
|
|||
}
|
||||
|
||||
if let Some(range) = components.suffix {
|
||||
errors.push(SyntaxError::new(InvalidSuffix, range));
|
||||
errors.push(SyntaxError::new(
|
||||
InvalidSuffix,
|
||||
range + literal_range.start(),
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -31,7 +31,10 @@ pub(super) fn validate_char_node(node: ast::Char, errors: &mut Vec<SyntaxError>)
|
|||
}
|
||||
|
||||
if let Some(range) = components.suffix {
|
||||
errors.push(SyntaxError::new(InvalidSuffix, range));
|
||||
errors.push(SyntaxError::new(
|
||||
InvalidSuffix,
|
||||
range + literal_range.start(),
|
||||
));
|
||||
}
|
||||
|
||||
if len == 0 {
|
||||
|
|
|
@ -29,7 +29,10 @@ pub(crate) fn validate_string_node(node: ast::String, errors: &mut Vec<SyntaxErr
|
|||
}
|
||||
|
||||
if let Some(range) = components.suffix {
|
||||
errors.push(SyntaxError::new(InvalidSuffix, range));
|
||||
errors.push(SyntaxError::new(
|
||||
InvalidSuffix,
|
||||
range + literal_range.start(),
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
fn main() {
|
||||
let _ = 'c'u32;
|
||||
let _ = "string"invalid;
|
||||
let _ = b'b'_suff;
|
||||
let _ = b"bs"invalid;
|
||||
}
|
|
@ -0,0 +1,73 @@
|
|||
SOURCE_FILE@[0; 112)
|
||||
FN_DEF@[0; 111)
|
||||
FN_KW@[0; 2)
|
||||
WHITESPACE@[2; 3)
|
||||
NAME@[3; 7)
|
||||
IDENT@[3; 7) "main"
|
||||
PARAM_LIST@[7; 9)
|
||||
L_PAREN@[7; 8)
|
||||
R_PAREN@[8; 9)
|
||||
WHITESPACE@[9; 10)
|
||||
BLOCK@[10; 111)
|
||||
L_CURLY@[10; 11)
|
||||
WHITESPACE@[11; 16)
|
||||
LET_STMT@[16; 27)
|
||||
LET_KW@[16; 19)
|
||||
WHITESPACE@[19; 20)
|
||||
PLACEHOLDER_PAT@[20; 21)
|
||||
UNDERSCORE@[20; 21)
|
||||
WHITESPACE@[21; 22)
|
||||
EQ@[22; 23)
|
||||
WHITESPACE@[23; 24)
|
||||
LITERAL@[24; 27)
|
||||
CHAR@[24; 27)
|
||||
err: `expected SEMI`
|
||||
EXPR_STMT@[27; 31)
|
||||
PATH_EXPR@[27; 30)
|
||||
PATH@[27; 30)
|
||||
PATH_SEGMENT@[27; 30)
|
||||
NAME_REF@[27; 30)
|
||||
IDENT@[27; 30) "u32"
|
||||
SEMI@[30; 31)
|
||||
WHITESPACE@[31; 36)
|
||||
LET_STMT@[36; 60)
|
||||
LET_KW@[36; 39)
|
||||
WHITESPACE@[39; 40)
|
||||
PLACEHOLDER_PAT@[40; 41)
|
||||
UNDERSCORE@[40; 41)
|
||||
WHITESPACE@[41; 42)
|
||||
EQ@[42; 43)
|
||||
WHITESPACE@[43; 44)
|
||||
LITERAL@[44; 59)
|
||||
STRING@[44; 59)
|
||||
err: `Invalid literal suffix`
|
||||
SEMI@[59; 60)
|
||||
WHITESPACE@[60; 65)
|
||||
LET_STMT@[65; 83)
|
||||
LET_KW@[65; 68)
|
||||
WHITESPACE@[68; 69)
|
||||
PLACEHOLDER_PAT@[69; 70)
|
||||
UNDERSCORE@[69; 70)
|
||||
WHITESPACE@[70; 71)
|
||||
EQ@[71; 72)
|
||||
WHITESPACE@[72; 73)
|
||||
LITERAL@[73; 82)
|
||||
BYTE@[73; 82)
|
||||
err: `Invalid literal suffix`
|
||||
SEMI@[82; 83)
|
||||
WHITESPACE@[83; 88)
|
||||
LET_STMT@[88; 109)
|
||||
LET_KW@[88; 91)
|
||||
WHITESPACE@[91; 92)
|
||||
PLACEHOLDER_PAT@[92; 93)
|
||||
UNDERSCORE@[92; 93)
|
||||
WHITESPACE@[93; 94)
|
||||
EQ@[94; 95)
|
||||
WHITESPACE@[95; 96)
|
||||
LITERAL@[96; 108)
|
||||
BYTE_STRING@[96; 108)
|
||||
err: `Invalid literal suffix`
|
||||
SEMI@[108; 109)
|
||||
WHITESPACE@[109; 110)
|
||||
R_CURLY@[110; 111)
|
||||
WHITESPACE@[111; 112)
|
Loading…
Add table
Add a link
Reference in a new issue