TypeScript/tests/baselines/reference/classExtendsEveryObjectType2.js
Cyrus Najmabadi a1e18fc22b Introduce a new HeritageClauseElment type.
This type represents the expression+type arguments you can get in a class or interface
heritage clause section.  For class-implements clauses, or interface-extends clauses,
these expressions can only be identifiers or dotted names.  For class extends clauses,
these could be any expressions in the future.  However, for now, we only support identifiers
and dotted names.
2015-03-31 12:29:02 -07:00

27 lines
722 B
TypeScript

//// [classExtendsEveryObjectType2.ts]
class C2 extends { foo: string; } { } // error
class C6 extends []{ } // error
//// [classExtendsEveryObjectType2.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 C2 = (function (_super) {
__extends(C2, _super);
function C2() {
_super.apply(this, arguments);
}
return C2;
})({ foo: string }); // error
var C6 = (function (_super) {
__extends(C6, _super);
function C6() {
_super.apply(this, arguments);
}
return C6;
})([]); // error