google / google/closure-compiler
Incorrect removal of debugger statement as dead code
Open
bug
- Dominant language
- JavaScript
- Stars
- 7.7k
- Forks
- 1.2k
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 6
Description
``` js
var assert = function(x) {if (!x) {alert('c');debugger;}};
assert(prompt('a') === 'b');
```
is compiled to (in advanced mode)
``` js
if("b"!==prompt("a")){alert("c");debugger};
```
While
``` js
var assert = function(x) {if (!x) {debugger;}};
assert(prompt('a') === 'b');
```
is compiled to
``` js
prompt("a");
```
The former is the desired behaviour, at least in my case.
Contributor guide
Assessment
This issue has not been assessed yet.