<!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">
      window.addEventListener("load", function onload() {
        window.removeEventListener("load", onload);
        function clickHandler(event) {
          button.removeEventListener("click", clickHandler, false);
          function outer(arg) {
            var 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;
            };
          }

          var f = outer(42);
          f();
        }
        var button = document.querySelector("button");
        button.addEventListener("click", clickHandler, false);
      });
    </script>

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