08022d57c8
* Add core of new union signature logic and test - needs intersection signature logic to fully work * Add inversion of variance for class props lookup from union sig returns * Fix lints * Combine parameter names for nicer quick info * PR feedback 1 * Fix miscopy * PR feedback round 2 * Remove argument name combining because loc :( * Nit cleanup round 3 * Reinline getTupleTypeForArgumentAtPos * Remove a tad more * No step on sneky off-by-one error
53 lines
1.5 KiB
TypeScript
53 lines
1.5 KiB
TypeScript
/// <reference path="fourslash.ts" />
|
|
|
|
////declare const callableThing1:
|
|
//// | ((o1: {x: number}) => void)
|
|
//// | ((o1: {y: number}) => void)
|
|
//// ;
|
|
////
|
|
////callableThing1(/*1*/);
|
|
////
|
|
////declare const callableThing2:
|
|
//// | ((o1: {x: number}) => void)
|
|
//// | ((o2: {y: number}) => void)
|
|
//// ;
|
|
////
|
|
////callableThing2(/*2*/);
|
|
////
|
|
////declare const callableThing3:
|
|
//// | ((o1: {x: number}) => void)
|
|
//// | ((o2: {y: number}) => void)
|
|
//// | ((o3: {z: number}) => void)
|
|
//// | ((o4: {u: number}) => void)
|
|
//// | ((o5: {v: number}) => void)
|
|
//// ;
|
|
////
|
|
////callableThing3(/*3*/);
|
|
////
|
|
////declare const callableThing4:
|
|
//// | ((o1: {x: number}) => void)
|
|
//// | ((o2: {y: number}) => void)
|
|
//// | ((o3: {z: number}) => void)
|
|
//// | ((o4: {u: number}) => void)
|
|
//// | ((o5: {v: number}) => void)
|
|
//// | ((o6: {w: number}) => void)
|
|
//// ;
|
|
////
|
|
////callableThing4(/*4*/);
|
|
|
|
verify.signatureHelp({
|
|
marker: "1",
|
|
text: "callableThing1(o1: { x: number; } & { y: number; }): void"
|
|
},
|
|
{
|
|
marker: "2",
|
|
text: "callableThing2(arg0: { x: number; } & { y: number; }): void"
|
|
},
|
|
{
|
|
marker: "3",
|
|
text: "callableThing3(arg0: { x: number; } & { y: number; } & { z: number; } & { u: number; } & { v: number; }): void"
|
|
},
|
|
{
|
|
marker: "4",
|
|
text: "callableThing4(arg0: { x: number; } & { y: number; } & { z: number; } & { u: number; } & { v: number; } & { w: number; }): void"
|
|
});
|