Closed
Bug 380831
Opened 18 years ago
Closed 18 years ago
Incorrect uneval trying to output a getter function that is a sharp definition
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
VERIFIED
FIXED
People
(Reporter: jruderman, Assigned: crowderbt)
Details
(Keywords: testcase)
Attachments
(1 file, 1 obsolete file)
3.76 KB,
patch
|
igor
:
review+
|
Details | Diff | Splinter Review |
One of the testcases mentioned in bug 358594 is still not handled correctly:
js> a = {}; h = function() { }; a.b getter = h; a.c = h; uneval(a);
({b getter:#1=() {}, c:#1#})
It's missing the "function" keyword in the anonymous-function expression.
(
Before the patch in bug 358594, the output was even worse:
({get b #1=() {}, c:#1#})
)
Assignee | ||
Comment 1•18 years ago
|
||
So we need to "sharpen" variables before we start thinking about chopping them up for syntactic reasons. The sharpen step tells us whether or not we need old-style getter/setters and so prevents us mistakenly slicing "(function " off of "#1#", since we never do that hackery with old-style getter/setter.
Comment 2•18 years ago
|
||
I am taking few days off and will review the patch after Monday.
Updated•18 years ago
|
Attachment #265048 -
Flags: review?(igor) → review+
Assignee | ||
Comment 3•18 years ago
|
||
This is just the same as before, but unbitrotted. Worth reviewing, but don't expect a lot of differences. I have run the test-suite both with and without this patch and no differences occur.
Attachment #265048 -
Attachment is obsolete: true
Attachment #267318 -
Flags: review?(igor)
Updated•18 years ago
|
Attachment #267318 -
Flags: review?(igor) → review+
Assignee | ||
Comment 4•18 years ago
|
||
jsobj.c: 3.351
Assignee | ||
Updated•18 years ago
|
Status: ASSIGNED → RESOLVED
Closed: 18 years ago
Resolution: --- → FIXED
Comment 5•17 years ago
|
||
/cvsroot/mozilla/js/tests/js1_5/extensions/regress-380831.js,v <-- regress-380831.js
initial revision: 1.1
Flags: in-testsuite+
You need to log in
before you can comment on or make changes to this bug.
Description
•