76 lines
1.2 KiB
Text
76 lines
1.2 KiB
Text
=== tests/cases/compiler/constructorOverloads2.ts ===
|
|
class FooBase {
|
|
>FooBase : FooBase
|
|
|
|
constructor(s: string);
|
|
>s : string
|
|
|
|
constructor(n: number);
|
|
>n : number
|
|
|
|
constructor(x: any) {
|
|
>x : any
|
|
}
|
|
bar1() { /*WScript.Echo("base bar1");*/ }
|
|
>bar1 : () => void
|
|
}
|
|
|
|
class Foo extends FooBase {
|
|
>Foo : Foo
|
|
>FooBase : FooBase
|
|
|
|
constructor(s: string);
|
|
>s : string
|
|
|
|
constructor(n: number);
|
|
>n : number
|
|
|
|
constructor(a:any);
|
|
>a : any
|
|
|
|
constructor(x: any, y?: any) {
|
|
>x : any
|
|
>y : any
|
|
|
|
super(x);
|
|
>super(x) : void
|
|
>super : typeof FooBase
|
|
>x : any
|
|
}
|
|
bar1() { /*WScript.Echo("bar1");*/ }
|
|
>bar1 : () => void
|
|
}
|
|
|
|
var f1 = new Foo("hey");
|
|
>f1 : Foo
|
|
>new Foo("hey") : Foo
|
|
>Foo : typeof Foo
|
|
>"hey" : string
|
|
|
|
var f2 = new Foo(0);
|
|
>f2 : Foo
|
|
>new Foo(0) : Foo
|
|
>Foo : typeof Foo
|
|
>0 : number
|
|
|
|
var f3 = new Foo(f1);
|
|
>f3 : Foo
|
|
>new Foo(f1) : Foo
|
|
>Foo : typeof Foo
|
|
>f1 : Foo
|
|
|
|
var f4 = new Foo([f1,f2,f3]);
|
|
>f4 : Foo
|
|
>new Foo([f1,f2,f3]) : Foo
|
|
>Foo : typeof Foo
|
|
>[f1,f2,f3] : Foo[]
|
|
>f1 : Foo
|
|
>f2 : Foo
|
|
>f3 : Foo
|
|
|
|
f1.bar1();
|
|
>f1.bar1() : void
|
|
>f1.bar1 : () => void
|
|
>f1 : Foo
|
|
>bar1 : () => void
|
|
|