1//// [genericCallToOverloadedMethodWithOverloadedArguments.ts] 2module m1 { 3 interface Promise<T> { 4 then<U>(cb: (x: T) => Promise<U>): Promise<U>; 5 } 6 7 declare function testFunction(n: number): Promise<number>; 8 9 var numPromise: Promise<number>; 10 var newPromise = numPromise.then(testFunction); 11} 12 13////////////////////////////////////// 14 15module m2 { 16 interface Promise<T> { 17 then<U>(cb: (x: T) => Promise<U>): Promise<U>; 18 } 19 20 declare function testFunction(n: number): Promise<number>; 21 declare function testFunction(s: string): Promise<string>; 22 23 var numPromise: Promise<number>; 24 var newPromise = numPromise.then(testFunction); 25} 26 27////////////////////////////////////// 28 29module m3 { 30 interface Promise<T> { 31 then<U>(cb: (x: T) => Promise<U>): Promise<U>; 32 then<U>(cb: (x: T) => Promise<U>, error?: (error: any) => Promise<U>): Promise<U>; 33 } 34 35 declare function testFunction(n: number): Promise<number>; 36 37 var numPromise: Promise<number>; 38 var newPromise = numPromise.then(testFunction); 39} 40 41////////////////////////////////////// 42 43module m4 { 44 interface Promise<T> { 45 then<U>(cb: (x: T) => Promise<U>): Promise<U>; 46 then<U>(cb: (x: T) => Promise<U>, error?: (error: any) => Promise<U>): Promise<U>; 47 } 48 49 declare function testFunction(n: number): Promise<number>; 50 declare function testFunction(s: string): Promise<string>; 51 52 var numPromise: Promise<number>; 53 var newPromise = numPromise.then(testFunction); 54} 55 56////////////////////////////////////// 57 58module m5 { 59 interface Promise<T> { 60 then<U>(cb: (x: T) => Promise<U>): Promise<U>; 61 then<U>(cb: (x: T) => Promise<U>, error?: (error: any) => Promise<U>): Promise<U>; 62 then<U>(cb: (x: T) => Promise<U>, error?: (error: any) => U, progress?: (preservation: any) => void): Promise<U>; 63 } 64 65 declare function testFunction(n: number): Promise<number>; 66 declare function testFunction(s: string): Promise<string>; 67 68 var numPromise: Promise<number>; 69 var newPromise = numPromise.then(testFunction); 70} 71 72////////////////////////////////////// 73 74module m6 { 75 interface Promise<T> { 76 then<U>(cb: (x: T) => Promise<U>): Promise<U>; 77 then<U>(cb: (x: T) => Promise<U>, error?: (error: any) => Promise<U>): Promise<U>; 78 } 79 80 declare function testFunction(n: number): Promise<number>; 81 declare function testFunction(s: string): Promise<string>; 82 declare function testFunction(b: boolean): Promise<boolean>; 83 84 var numPromise: Promise<number>; 85 var newPromise = numPromise.then(testFunction); 86} 87 88 89//// [genericCallToOverloadedMethodWithOverloadedArguments.js] 90var m1; 91(function (m1) { 92 var numPromise; 93 var newPromise = numPromise.then(testFunction); 94})(m1 || (m1 = {})); 95////////////////////////////////////// 96var m2; 97(function (m2) { 98 var numPromise; 99 var newPromise = numPromise.then(testFunction); 100})(m2 || (m2 = {})); 101////////////////////////////////////// 102var m3; 103(function (m3) { 104 var numPromise; 105 var newPromise = numPromise.then(testFunction); 106})(m3 || (m3 = {})); 107////////////////////////////////////// 108var m4; 109(function (m4) { 110 var numPromise; 111 var newPromise = numPromise.then(testFunction); 112})(m4 || (m4 = {})); 113////////////////////////////////////// 114var m5; 115(function (m5) { 116 var numPromise; 117 var newPromise = numPromise.then(testFunction); 118})(m5 || (m5 = {})); 119////////////////////////////////////// 120var m6; 121(function (m6) { 122 var numPromise; 123 var newPromise = numPromise.then(testFunction); 124})(m6 || (m6 = {})); 125