JSON.parse() should throw a SyntaxError, not a TypeError

RESOLVED FIXED in mozilla6

Status

()

--
minor
RESOLVED FIXED
8 years ago
8 years ago

People

(Reporter: Waldo, Assigned: Waldo)

Tracking

Trunk
mozilla6
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: fixed-in-tracemonkey)

Attachments

(1 attachment)

(Assignee)

Description

8 years ago
JSON.parse doesn't care how many arguments it's called with, because it just assumes they're there (and gets undefined for any arguments that aren't, as with all spec methods).  So JSON.parse() is JSON.parse(undefined) which throws a SyntaxError, not a TypeError for not enough arguments.

This is the last spec incompatibility in JSON.parse that I'm aware of.  (Walk has some cruft to it, but I don't think any of it is spec-incompatible cruft, although it's possible I'm mistaken on the point.)
(Assignee)

Comment 1

8 years ago
Created attachment 529216 [details] [diff] [review]
Patch and test
Attachment #529216 - Flags: review?(pbiggar)

Comment 2

8 years ago
Comment on attachment 529216 [details] [diff] [review]
Patch and test

Review of attachment 529216 [details] [diff] [review]:

+1 for the spec step comments.
Attachment #529216 - Flags: review?(pbiggar) → review+
(Assignee)

Comment 3

8 years ago
http://hg.mozilla.org/tracemonkey/rev/c35425fb6956
Whiteboard: fixed-in-tracemonkey
Status: ASSIGNED → RESOLVED
Last Resolved: 8 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.