Skip to content

Commit 44702ce

Browse files
authored
fix: don't crash on unclosed brace in tuple inside map inside anonymous function (#125)
1 parent e3288a2 commit 44702ce

2 files changed

Lines changed: 9 additions & 0 deletions

File tree

lib/spitfire.ex

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3804,6 +3804,10 @@ defmodule Spitfire do
38043804
:eof
38053805
end
38063806

3807+
defp peek_token(%{peek_token: nil}) do
3808+
:eof
3809+
end
3810+
38073811
defp peek_token(%{tokens: :eot}) do
38083812
:eof
38093813
end

test/spitfire_test.exs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2439,6 +2439,11 @@ defmodule SpitfireTest do
24392439
], [1]},
24402440
:ok
24412441
]}, [{[line: 1, column: 1], "missing closing brace for tuple"}]}
2442+
2443+
code = "fn x -> %{a: {1,"
2444+
2445+
assert {:error, _ast, errors} = Spitfire.parse(code)
2446+
assert {[line: 1, column: 14], "missing closing brace for tuple"} in errors
24422447
end
24432448

24442449
test "missing closing map brace" do

0 commit comments

Comments
 (0)