From dbb066b99e2e644437ddecb20127bcfdba975614 Mon Sep 17 00:00:00 2001 From: Lukas Wirth Date: Sat, 7 May 2022 12:52:15 +0200 Subject: [PATCH] fix: Remap float parts as integers when parsed as indices --- crates/parser/src/grammar.rs | 4 ++-- .../parser/test_data/parser/inline/ok/0011_field_expr.rast | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/crates/parser/src/grammar.rs b/crates/parser/src/grammar.rs index 92f3302538..f68d7196c8 100644 --- a/crates/parser/src/grammar.rs +++ b/crates/parser/src/grammar.rs @@ -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(); } diff --git a/crates/parser/test_data/parser/inline/ok/0011_field_expr.rast b/crates/parser/test_data/parser/inline/ok/0011_field_expr.rast index a1efb3a9fb..19fab593fa 100644 --- a/crates/parser/test_data/parser/inline/ok/0011_field_expr.rast +++ b/crates/parser/test_data/parser/inline/ok/0011_field_expr.rast @@ -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