//// [lambdaArgCrash.ts] class Event { private _listeners: any[] = []; constructor () { // TODO: remove this._listeners = []; } add(listener: () => any): void { /// Registers a new listener for the event. /// The callback function to register. this._listeners.push(listener); } } class ItemSetEvent extends Event { add(listener: (items: ItemSet) => void ) { super.add(listener); } } //// [lambdaArgCrash.js] var __extends = this.__extends || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; function __() { this.constructor = d; } __.prototype = b.prototype; d.prototype = new __(); }; var Event = (function () { function Event() { // TODO: remove this._listeners = []; this._listeners = []; } Event.prototype.add = function (listener) { /// Registers a new listener for the event. /// The callback function to register. this._listeners.push(listener); }; return Event; })(); var ItemSetEvent = (function (_super) { __extends(ItemSetEvent, _super); function ItemSetEvent() { _super.apply(this, arguments); } ItemSetEvent.prototype.add = function (listener) { _super.prototype.add.call(this, listener); }; return ItemSetEvent; })(Event);