Closed Bug 475847 Opened 16 years ago Closed 12 years ago

Decompiler incorrectly throws away array comprehension with "if(false)"

Categories

(Core :: JavaScript Engine, defect)

defect
Not set
minor

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: jruderman, Unassigned)

Details

(Keywords: testcase)

js> var a = { __iterator__: function() { print("ITERATOR CALLED"); if (false) yield; } };
js> var f = function() { [0 for (_ in a) if (false)]; };
js> print(uneval(f));
(function () {[];})
js> var g = eval(uneval(f));
js> f();
ITERATOR CALLED
js> g();
js> 

jsfunfuzz noticed this by comparing bytecode, but it's an actual behavior bug.
OS: Mac OS X → All
Hardware: x86 → All
Fixed by saving the source.
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.