description( | |
"Tests that a dead use of a variable at the tail of a basic block doesn't confuse the CFA into believing that the variable being used is dead as well." | |
); | |
function foo(p, q, v) { | |
var x, y; | |
if (p) | |
x = 0; | |
else { | |
if (q) | |
x = v; | |
else | |
x = 0; | |
y = x; | |
} | |
if (x) | |
return 42; | |
return 0; | |
} | |
dfgShouldBe(foo, "foo(false, true, 5)", "42"); |