TypeScript/tests/baselines/reference/implementingAnInterfaceExtendingClassWithProtecteds.js
2014-09-19 14:01:07 -07:00

104 lines
1.9 KiB
TypeScript

//// [implementingAnInterfaceExtendingClassWithProtecteds.ts]
class Foo {
protected x: string;
}
interface I extends Foo {
y: number;
}
class Bar implements I { // error
}
class Bar2 implements I { // error
y: number;
}
class Bar3 implements I { // error
x: string;
y: number;
}
class Bar4 implements I { // error
protected x: string;
y: number;
}
class Bar5 extends Foo implements I { // error
}
class Bar6 extends Foo implements I { // error
protected y: number;
}
class Bar7 extends Foo implements I {
y: number;
}
class Bar8 extends Foo implements I {
x: string;
y: number;
}
//// [implementingAnInterfaceExtendingClassWithProtecteds.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 Foo = (function () {
function Foo() {
}
return Foo;
})();
var Bar = (function () {
function Bar() {
}
return Bar;
})();
var Bar2 = (function () {
function Bar2() {
}
return Bar2;
})();
var Bar3 = (function () {
function Bar3() {
}
return Bar3;
})();
var Bar4 = (function () {
function Bar4() {
}
return Bar4;
})();
var Bar5 = (function (_super) {
__extends(Bar5, _super);
function Bar5() {
_super.apply(this, arguments);
}
return Bar5;
})(Foo);
var Bar6 = (function (_super) {
__extends(Bar6, _super);
function Bar6() {
_super.apply(this, arguments);
}
return Bar6;
})(Foo);
var Bar7 = (function (_super) {
__extends(Bar7, _super);
function Bar7() {
_super.apply(this, arguments);
}
return Bar7;
})(Foo);
var Bar8 = (function (_super) {
__extends(Bar8, _super);
function Bar8() {
_super.apply(this, arguments);
}
return Bar8;
})(Foo);