tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

bug1454285.js (1723B)


      1 // IteratorClose in for-await-of with block-scoped function.
      2 
      3 // Non-local-jump without target.
      4 
      5 (async function() {
      6    for await (let c of []) {
      7        function f() {};
      8        return;
      9    }
     10 })();
     11 (async function() {
     12    for await (let c of []) {
     13        function f() {};
     14        break;
     15    }
     16 })();
     17 (async function() {
     18    for await (let c of []) {
     19        function f() {};
     20        continue;
     21    }
     22 })();
     23 
     24 // Non-local-jump with target.
     25 
     26 (async function() {
     27    for (let x of []) {
     28        x: for (let y of []) {
     29            for await (let c of []) {
     30                function f() {};
     31                return;
     32            }
     33        }
     34    }
     35 })();
     36 (async function() {
     37    for (let x of []) {
     38        x: for (let y of []) {
     39            for await (let c of []) {
     40                function f() {};
     41                break x;
     42            }
     43        }
     44    }
     45 })();
     46 (async function() {
     47    for (let x of []) {
     48        x: for (let y of []) {
     49            for await (let c of []) {
     50                function f() {};
     51                continue x;
     52            }
     53        }
     54    }
     55 })();
     56 
     57 (async function() {
     58    for await (let x of []) {
     59        x: for await (let y of []) {
     60            for await (let c of []) {
     61                function f() {};
     62                return;
     63            }
     64        }
     65    }
     66 })();
     67 (async function() {
     68    for await (let x of []) {
     69        x: for await (let y of []) {
     70            for await (let c of []) {
     71                function f() {};
     72                break x;
     73            }
     74        }
     75    }
     76 })();
     77 (async function() {
     78    for await (let x of []) {
     79        x: for await (let y of []) {
     80            for await (let c of []) {
     81                function f() {};
     82                continue x;
     83            }
     84        }
     85    }
     86 })();