1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133
|
//// [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();
|