fix: Remap float parts as integers when parsed as indices

This commit is contained in:
Lukas Wirth 2022-05-07 12:52:15 +02:00
parent 81b3e6d124
commit dbb066b99e
2 changed files with 5 additions and 5 deletions

View file

@ -323,8 +323,8 @@ fn name_ref_or_index(p: &mut Parser) {
p.at(IDENT) || p.at(INT_NUMBER) || p.at(FLOAT_NUMBER_PART) || p.at_ts(FLOAT_LITERAL_FIRST)
);
let m = p.start();
if p.at_ts(FLOAT_LITERAL_FIRST) {
p.bump_remap(FLOAT_NUMBER_PART);
if p.at(FLOAT_NUMBER_PART) || p.at_ts(FLOAT_LITERAL_FIRST) {
p.bump_remap(INT_NUMBER);
} else {
p.bump_any();
}

View file

@ -50,7 +50,7 @@ SOURCE_FILE
IDENT "x"
DOT "."
NAME_REF
FLOAT_NUMBER_PART "0"
INT_NUMBER "0"
DOT "."
WHITESPACE " "
NAME_REF
@ -67,10 +67,10 @@ SOURCE_FILE
IDENT "x"
DOT "."
NAME_REF
FLOAT_NUMBER_PART "0"
INT_NUMBER "0"
DOT "."
NAME_REF
FLOAT_NUMBER_PART "1"
INT_NUMBER "1"
SEMICOLON ";"
WHITESPACE "\n "
EXPR_STMT