Closed Bug 380506 Opened 17 years ago Closed 17 years ago

bug 349650 regressed nested-for and for-if comprehension decompilation

Categories

(Core :: JavaScript Engine, defect, P1)

defect

Tracking

()

VERIFIED FIXED
mozilla1.9alpha5

People

(Reporter: brendan, Assigned: brendan)

References

Details

The patch for bug 349650 broke cases like these:

js> function (){return [i*i for(i in [0]) if (i%2)]}
function () {
    return [i * i for (i in [0]) if (i % 2)];
}
js> function (){return [i*j for(i in [0]) for (j in [1])]}
function () {
    return [i * j for (i in [0]) for (j in [1])];
}

This shows correct behavior. With the bug, nothing after the for (i in [0]) survives inside the comprehension.

/be
Blocks: js1.7src
Status: NEW → ASSIGNED
Priority: -- → P1
I thought we had testcases covering for-for and for-if comprehensions, and fuzzer coverage to boot -- Jesse, can you add these cases to the fuzzer?

/be
I'll make sure that jsfunfuzz tests for-for and for-if comprehensions.  But it wouldn't have found this bug, because its testing of decompilation is limited to making sure the decompiled code compiles and does not change during a round trip.
This is all good now that bug 380237 is fixed.
Status: ASSIGNED → RESOLVED
Closed: 17 years ago
Flags: in-testsuite?
Resolution: --- → FIXED
/cvsroot/mozilla/js/tests/js1_7/decompilation/regress-380506.js,v  <--  regress-380506.js
initial revision: 1.1
Flags: in-testsuite? → in-testsuite+
verified fixed 1.9.0 linux/mac*/windows.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.