36 lines
716 B
Plaintext
36 lines
716 B
Plaintext
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 {
|
|
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();"
|
|
`;
|