text: //// [capturedLetConstInLoop10.ts]
  class A {
      foo() {
          for (let x of [0]) {
              let f = function() { return x; };
              this.bar(f());
          }
      }
      bar(a: number) {
      }
  
      baz() {
          for (let x of [1]) {
              let a = function() {  return x; };
              for (let y of [1]) {
                  let b = function() { return y; };
                  this.bar(b());
              }
              this.bar(a());
          }
      }
      baz2() {
          for (let x of [1]) {
              let a = function() {  return x; };
              this.bar(a());
              for (let y of [1]) {
                  let b = function() { return y; };
                  this.bar(b());
              }
          }
      }
  }
  
  class B {
      foo() {
          let a =
              () => {
                  for (let x of [0]) {
                      let f = () => x;
                      this.bar(f());
                  }
              }
      }
      bar(a: number) {
      }
  }
  
  //// [capturedLetConstInLoop10.js]
  var A = (function () {
      function A() {
      }
      A.prototype.foo = function () {
          var _loop_1 = function (x) {
              var f = function () { return x; };
              this_1.bar(f());
          };
          var this_1 = this;
          for (var _i = 0, _a = [0]; _i < _a.length; _i++) {
              var x = _a[_i];
              _loop_1(x);
          }
      };
      A.prototype.bar = function (a) {
      };
      A.prototype.baz = function () {
          var _loop_2 = function (x) {
              var a = function () { return x; };
              var _loop_3 = function (y) {
                  var b = function () { return y; };
                  this_2.bar(b());
              };
              for (var _i = 0, _a = [1]; _i < _a.length; _i++) {
                  var y = _a[_i];
                  _loop_3(y);
              }
              this_2.bar(a());
          };
          var this_2 = this;
          for (var _i = 0, _a = [1]; _i < _a.length; _i++) {
              var x = _a[_i];
              _loop_2(x);
          }
      };
      A.prototype.baz2 = function () {
          var _loop_4 = function (x) {
              var a = function () { return x; };
              this_3.bar(a());
              var _loop_5 = function (y) {
                  var b = function () { return y; };
                  this_3.bar(b());
              };
              for (var _i = 0, _a = [1]; _i < _a.length; _i++) {
                  var y = _a[_i];
                  _loop_5(y);
              }
          };
          var this_3 = this;
          for (var _i = 0, _a = [1]; _i < _a.length; _i++) {
              var x = _a[_i];
              _loop_4(x);
          }
      };
      return A;
  }());
  var B = (function () {
      function B() {
      }
      B.prototype.foo = function () {
          var _this = this;
          var a = function () {
              var _loop_6 = function (x) {
                  var f = function () { return x; };
                  _this.bar(f());
              };
              for (var _i = 0, _a = [0]; _i < _a.length; _i++) {
                  var x = _a[_i];
                  _loop_6(x);
              }
          };
      };
      B.prototype.bar = function (a) {
      };
      return B;
  }());
  