2016-12-23 22:31:38 +03:00
|
|
|
exports[`test test.js 1`] = `
|
|
|
|
"class A {
|
|
|
|
n: number;
|
|
|
|
constructor(n: number) {
|
|
|
|
this.n = n;
|
|
|
|
}
|
|
|
|
clone(): A {
|
|
|
|
return new this.constructor(this.n);
|
|
|
|
}
|
|
|
|
badClone(): number {
|
|
|
|
return new this.constructor(this.n); // Error A ~> number
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
var a1 = new A(1);
|
|
|
|
var a2: A = new a1.constructor(2);
|
|
|
|
var a3: A = a2.clone();
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
class A {
|
|
|
|
n: number;
|
|
|
|
constructor(n: number) {
|
|
|
|
this.n = n;
|
|
|
|
}
|
|
|
|
clone(): A {
|
|
|
|
return new this.constructor(this.n);
|
|
|
|
}
|
|
|
|
badClone(): number {
|
2017-01-10 05:49:06 +03:00
|
|
|
return new this.constructor(this.n); // Error A ~> number
|
2016-12-23 22:31:38 +03:00
|
|
|
}
|
|
|
|
}
|
2017-01-10 05:49:06 +03:00
|
|
|
|
2016-12-28 05:40:04 +03:00
|
|
|
var a1 = new A(1);
|
|
|
|
var a2: A = new a1.constructor(2);
|
2017-01-10 05:49:06 +03:00
|
|
|
var a3: A = a2.clone();"
|
2016-12-23 22:31:38 +03:00
|
|
|
`;
|