michael@0: const C = function (a, b, c) { michael@0: return function C() { michael@0: this.m1 = function () a; michael@0: this.m2 = function () b; michael@0: this.m3 = function () c; michael@0: } michael@0: }(2,3,4); michael@0: var c = new C(); michael@0: var d = function (e) {return {m0: function () e}}(5); michael@0: for (var i = 0; i < 5; i++) michael@0: d.m0(); michael@0: C.call(d); michael@0: d.__iterator__ = function() {yield 55}; michael@0: for (i = 0; i < 5; i++) { michael@0: for (j in d) michael@0: print(j); michael@0: }