mirror of
https://github.com/ruby/ruby.git
synced 2026-08-01 02:20:48 +08:00
merge revision(s) 4644e4f2fafe45e2c49f18bc9712d0f5fff3d341: [Backport #21986]
[PATCH] [Bug #21986] Fix location of numeric literal When checking for suffixes, do not flush the numeric literal token even if no suffix is found.
This commit is contained in:
parent
e4271b554c
commit
926b0ec4ed
1
parse.y
1
parse.y
@ -8959,7 +8959,6 @@ number_literal_suffix(struct parser_params *p, int mask)
|
||||
}
|
||||
if (!ISASCII(c) || ISALPHA(c) || c == '_') {
|
||||
p->lex.pcur = lastp;
|
||||
literal_flush(p, p->lex.pcur);
|
||||
return 0;
|
||||
}
|
||||
pushback(p, c);
|
||||
|
||||
@ -1739,6 +1739,14 @@ dummy
|
||||
assert_locations(node.children.last.locations, [[1, 0, 1, 2]])
|
||||
end
|
||||
|
||||
def test_numeric_location_with_nonsuffix
|
||||
node = ast_parse("1if true")
|
||||
assert_locations(node.children.last.children[1].locations, [[1, 0, 1, 1]])
|
||||
|
||||
node = ast_parse("1q", error_tolerant: true)
|
||||
assert_locations(node.children.last.locations, [[1, 0, 1, 1]])
|
||||
end
|
||||
|
||||
private
|
||||
def ast_parse(src, **options)
|
||||
begin
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user