2015-02-03 00:15:54 +01:00
|
|
|
//// [classConstructorAccessibility.ts]
|
2016-02-03 23:48:33 +01:00
|
|
|
|
2015-02-03 00:15:54 +01:00
|
|
|
class C {
|
|
|
|
public constructor(public x: number) { }
|
|
|
|
}
|
|
|
|
|
|
|
|
class D {
|
2016-02-03 23:48:33 +01:00
|
|
|
private constructor(public x: number) { }
|
2015-02-03 00:15:54 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
class E {
|
2016-02-03 23:48:33 +01:00
|
|
|
protected constructor(public x: number) { }
|
2015-02-03 00:15:54 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
var c = new C(1);
|
2016-02-03 23:48:33 +01:00
|
|
|
var d = new D(1); // error
|
|
|
|
var e = new E(1); // error
|
2015-02-03 00:15:54 +01:00
|
|
|
|
|
|
|
module Generic {
|
|
|
|
class C<T> {
|
|
|
|
public constructor(public x: T) { }
|
|
|
|
}
|
|
|
|
|
|
|
|
class D<T> {
|
2016-02-03 23:48:33 +01:00
|
|
|
private constructor(public x: T) { }
|
2015-02-03 00:15:54 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
class E<T> {
|
2016-02-03 23:48:33 +01:00
|
|
|
protected constructor(public x: T) { }
|
2015-02-03 00:15:54 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
var c = new C(1);
|
2016-02-03 23:48:33 +01:00
|
|
|
var d = new D(1); // error
|
|
|
|
var e = new E(1); // error
|
2015-02-03 00:15:54 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//// [classConstructorAccessibility.js]
|
|
|
|
var C = (function () {
|
|
|
|
function C(x) {
|
|
|
|
this.x = x;
|
|
|
|
}
|
|
|
|
return C;
|
2015-12-09 02:51:05 +01:00
|
|
|
}());
|
2015-02-03 00:15:54 +01:00
|
|
|
var D = (function () {
|
|
|
|
function D(x) {
|
|
|
|
this.x = x;
|
2016-02-03 23:48:33 +01:00
|
|
|
}
|
2015-02-03 00:15:54 +01:00
|
|
|
return D;
|
2015-12-09 02:51:05 +01:00
|
|
|
}());
|
2015-02-03 00:15:54 +01:00
|
|
|
var E = (function () {
|
|
|
|
function E(x) {
|
|
|
|
this.x = x;
|
2016-02-03 23:48:33 +01:00
|
|
|
}
|
2015-02-03 00:15:54 +01:00
|
|
|
return E;
|
2015-12-09 02:51:05 +01:00
|
|
|
}());
|
2015-02-03 00:15:54 +01:00
|
|
|
var c = new C(1);
|
2016-02-03 23:48:33 +01:00
|
|
|
var d = new D(1); // error
|
|
|
|
var e = new E(1); // error
|
2015-02-03 00:15:54 +01:00
|
|
|
var Generic;
|
|
|
|
(function (Generic) {
|
|
|
|
var C = (function () {
|
|
|
|
function C(x) {
|
|
|
|
this.x = x;
|
|
|
|
}
|
|
|
|
return C;
|
2015-12-09 02:51:05 +01:00
|
|
|
}());
|
2015-02-03 00:15:54 +01:00
|
|
|
var D = (function () {
|
|
|
|
function D(x) {
|
|
|
|
this.x = x;
|
2016-02-03 23:48:33 +01:00
|
|
|
}
|
2015-02-03 00:15:54 +01:00
|
|
|
return D;
|
2015-12-09 02:51:05 +01:00
|
|
|
}());
|
2015-02-03 00:15:54 +01:00
|
|
|
var E = (function () {
|
|
|
|
function E(x) {
|
|
|
|
this.x = x;
|
2016-02-03 23:48:33 +01:00
|
|
|
}
|
2015-02-03 00:15:54 +01:00
|
|
|
return E;
|
2015-12-09 02:51:05 +01:00
|
|
|
}());
|
2015-02-03 00:15:54 +01:00
|
|
|
var c = new C(1);
|
2016-02-03 23:48:33 +01:00
|
|
|
var d = new D(1); // error
|
|
|
|
var e = new E(1); // error
|
2015-02-03 00:15:54 +01:00
|
|
|
})(Generic || (Generic = {}));
|
2016-02-03 23:48:33 +01:00
|
|
|
|
|
|
|
|
|
|
|
//// [classConstructorAccessibility.d.ts]
|
|
|
|
declare class C {
|
|
|
|
x: number;
|
|
|
|
constructor(x: number);
|
|
|
|
}
|
|
|
|
declare class D {
|
|
|
|
x: number;
|
|
|
|
constructor(x);
|
|
|
|
}
|
|
|
|
declare class E {
|
|
|
|
x: number;
|
|
|
|
constructor(x: number);
|
|
|
|
}
|
|
|
|
declare var c: C;
|
|
|
|
declare var d: any;
|
|
|
|
declare var e: any;
|
|
|
|
declare module Generic {
|
|
|
|
}
|