RESOLVED FIXED 144282
new super should be a syntax error
https://bugs.webkit.org/show_bug.cgi?id=144282
Summary new super should be a syntax error
Erik Arvidsson
Reported 2015-04-27 15:17:49 PDT
http://trac.webkit.org/browser/trunk/LayoutTests/js/script-tests/class-syntax-super.js#L44 shouldNotThrow('x = class extends Base { constructor() { super(); } method() { return new super } }'); This is invalid. `new super` is not allowed.
Attachments
Fixes the bug (5.22 KB, patch)
2015-05-03 16:26 PDT, Ryosuke Niwa
joepeck: review+
Ryosuke Niwa
Comment 1 2015-04-27 15:28:50 PDT
*** Bug 144281 has been marked as a duplicate of this bug. ***
Ryosuke Niwa
Comment 2 2015-05-03 16:26:39 PDT
Created attachment 252291 [details] Fixes the bug
Joseph Pecoraro
Comment 3 2015-05-04 12:08:11 PDT
Comment on attachment 252291 [details] Fixes the bug View in context: https://bugs.webkit.org/attachment.cgi?id=252291&action=review r=me > Source/JavaScriptCore/ChangeLog:3 > + ES6 classe: new super is not allowed Typo: "classe" => "classes" > Source/JavaScriptCore/parser/Parser.cpp:2527 > + semanticFailIfTrue(baseIsSuper && newCount, "Cannot new super"); I think there is room for improvement with this error message. The statement "Cannot new super" feels incomplete. Maybe "Cannot use new with super"? "Cannot call super as a constructor"?
Ryosuke Niwa
Comment 4 2015-05-04 12:21:33 PDT
Comment on attachment 252291 [details] Fixes the bug View in context: https://bugs.webkit.org/attachment.cgi?id=252291&action=review >> Source/JavaScriptCore/parser/Parser.cpp:2527 >> + semanticFailIfTrue(baseIsSuper && newCount, "Cannot new super"); > > I think there is room for improvement with this error message. The statement "Cannot new super" feels incomplete. Maybe "Cannot use new with super"? "Cannot call super as a constructor"? Let's go with "Cannot use new with super".
Ryosuke Niwa
Comment 5 2015-05-04 12:22:44 PDT
Ryosuke Niwa
Comment 6 2015-05-04 12:24:30 PDT
Thanks for the review, Joe!
Note You need to log in before you can comment on or make changes to this bug.