Skip to content

Commit 3d97b22

Browse files
committed
Bugfix: compile negative numbers to unary exprs
Made a typo earlier and there was no unit test to catch it. There is now.
1 parent c589ac5 commit 3d97b22

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed

src/compile.ls

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@ looks-like-positive-number = (atom-text) ->
44
atom-text.match /^\d+(\.\d+)?$/
55
looks-like-negative-number = (atom-text) ->
66
atom-text.match /^-\d+(\.\d+)?$/
7-
looks-like-number = ->
8-
(looks-like-positive-number it) || (looks-like-negative-number it)
97

108
string-to-estree = ->
119
type : \Literal
@@ -54,7 +52,7 @@ atom-to-estree = (name) ->
5452
| \true => lit true
5553
| \false => lit false
5654
| otherwise switch
57-
| looks-like-number name
55+
| looks-like-positive-number name
5856
type : \Literal
5957
value : Number name
6058
raw : name

test.ls

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,14 @@ test "first-line shebang" ->
2121
esl "#!something goes here\n(hello)\n"
2222
..`@equals` "hello();"
2323

24-
test "plain literal" ->
24+
test "plain numeric literal" ->
2525
esl "3"
2626
..`@equals` "3;"
2727

28+
test "plain negative numeric literal" ->
29+
esl "-3"
30+
..`@equals` "-3;"
31+
2832
test "plain literal with trailing digits" ->
2933
esl "asd39"
3034
..`@equals` "asd39;"

0 commit comments

Comments
 (0)