<!DOCTYPE HTML>
<html>
  <head>
    <meta charset='utf-8'/>
    <title>Debugger Test for Inspecting Optimized-Out Variables</title>
    <!-- Any copyright is dedicated to the Public Domain.
         http://creativecommons.org/publicdomain/zero/1.0/ -->
    <script type="text/javascript">
        /* eslint-disable */
        window.addEventListener("load", function () {
        function clickHandler(event) {
          button.removeEventListener("click", clickHandler);
          function outer(arg) {
            let upvar = arg * 2;
            // The inner lambda only aliases arg, so the frontend alias analysis decides
            // that upvar is not aliased and is not in the CallObject.
            return function () {
              arg += 2;
            };
          }

          let f = outer(42);
          f();
        }
        let button = document.querySelector("button");
        button.addEventListener("click", clickHandler);
      }, {once: true});
    </script>

  </head>
  <body>
    <button>Click me!</button>
  </body>
</html>
