From 04beead7fe0c6547a7d14ad16902cddd74bb2ba3 Mon Sep 17 00:00:00 2001 From: TcMits Date: Tue, 30 Sep 2025 12:49:26 +0700 Subject: [PATCH] correct span in ParseUnexpectedToken --- parser/src/parser.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/parser/src/parser.rs b/parser/src/parser.rs index d8c52b9f0..87ed5cabf 100644 --- a/parser/src/parser.rs +++ b/parser/src/parser.rs @@ -23,12 +23,13 @@ macro_rules! peek_expect { match token.token_type.unwrap() { $($x => token,)* tt => { + let token_len = token.value.len(); // handle fallback TK_ID match (TK_ID, tt.fallback_id_if_ok()) { $(($x, TK_ID) => token,)* _ => { return Err(Error::ParseUnexpectedToken { - parsed_offset: ($parser.offset(), 1).into(), + parsed_offset: ($parser.offset(), token_len).into(), expected: &[ $($x,)* ], @@ -1472,7 +1473,7 @@ impl<'a> Parser<'a> { } else if tok.token_type == Some(TK_LP) { if can_be_lit_str { return Err(Error::ParseUnexpectedToken { - parsed_offset: (self.offset(), 1).into(), + parsed_offset: (self.offset() - name.len(), name.len()).into(), got: TK_STRING, expected: &[TK_ID, TK_INDEXED, TK_JOIN_KW], });