TypeScript/tests/baselines/reference/super2.js
2018-09-24 16:12:24 -04:00

134 lines
3.1 KiB
TypeScript

//// [super2.ts]
// Case 5
class Base5 {
public x() {
return "BaseX";
}
public y() {
return "BaseY";
}
}
class Sub5 extends Base5 {
public x() {
return "SubX";
}
}
class SubSub5 extends Sub5 {
public x() {
return super.x();
}
public y() {
return super.y();
}
}
// Case 6
class Base6 {
public x() {
return "BaseX";
}
}
class Sub6 extends Base6 {
public y() {
return "SubY";
}
}
class SubSub6 extends Sub6 {
public y() {
return super.y();
}
}
var results1 = new SubSub5();
var results2 = new SubSub6();
results1.x() + results1.y() + results2.y();
//// [super2.js]
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
// Case 5
var Base5 = /** @class */ (function () {
function Base5() {
}
Base5.prototype.x = function () {
return "BaseX";
};
Base5.prototype.y = function () {
return "BaseY";
};
return Base5;
}());
var Sub5 = /** @class */ (function (_super) {
__extends(Sub5, _super);
function Sub5() {
return _super !== null && _super.apply(this, arguments) || this;
}
Sub5.prototype.x = function () {
return "SubX";
};
return Sub5;
}(Base5));
var SubSub5 = /** @class */ (function (_super) {
__extends(SubSub5, _super);
function SubSub5() {
return _super !== null && _super.apply(this, arguments) || this;
}
SubSub5.prototype.x = function () {
return _super.prototype.x.call(this);
};
SubSub5.prototype.y = function () {
return _super.prototype.y.call(this);
};
return SubSub5;
}(Sub5));
// Case 6
var Base6 = /** @class */ (function () {
function Base6() {
}
Base6.prototype.x = function () {
return "BaseX";
};
return Base6;
}());
var Sub6 = /** @class */ (function (_super) {
__extends(Sub6, _super);
function Sub6() {
return _super !== null && _super.apply(this, arguments) || this;
}
Sub6.prototype.y = function () {
return "SubY";
};
return Sub6;
}(Base6));
var SubSub6 = /** @class */ (function (_super) {
__extends(SubSub6, _super);
function SubSub6() {
return _super !== null && _super.apply(this, arguments) || this;
}
SubSub6.prototype.y = function () {
return _super.prototype.y.call(this);
};
return SubSub6;
}(Sub6));
var results1 = new SubSub5();
var results2 = new SubSub6();
results1.x() + results1.y() + results2.y();