Closed Bug 653847 Opened 10 years ago Closed 10 years ago

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

Categories

(Core :: JavaScript Engine, defect)

defect
Not set
minor

Tracking

()

RESOLVED FIXED
mozilla6

People

(Reporter: Waldo, Assigned: Waldo)

Details

(Whiteboard: fixed-in-tracemonkey)

Attachments

(1 file)

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.)
Attached patch Patch and testSplinter Review
Attachment #529216 - Flags: review?(pbiggar)
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+
http://hg.mozilla.org/tracemonkey/rev/c35425fb6956
Whiteboard: fixed-in-tracemonkey
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.