File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -2733,7 +2733,12 @@ module ts {
27332733 var useConstructSignatures = callExpression . kind === SyntaxKind . NewExpression || callExpression . func . kind === SyntaxKind . SuperKeyword ;
27342734 var allSignatures = useConstructSignatures ? type . getConstructSignatures ( ) : type . getCallSignatures ( ) ;
27352735
2736- if ( contains ( allSignatures , signature . target || signature ) ) {
2736+ if ( ! contains ( allSignatures , signature . target || signature ) ) {
2737+ // Get the first signature if there
2738+ signature = allSignatures . length ? allSignatures [ 0 ] : undefined ;
2739+ }
2740+
2741+ if ( signature ) {
27372742 if ( useConstructSignatures && ( symbolFlags & SymbolFlags . Class ) ) {
27382743 // Constructor
27392744 symbolKind = ScriptElementKind . constructorImplementationElement ;
Original file line number Diff line number Diff line change @@ -26,7 +26,7 @@ goTo.marker('Csig');
2626verify . quickInfoIs ( "(constructor) C<string>(val: string): C<string>" ) ;
2727
2828goTo . marker ( 'Dsig' ) ;
29- verify . quickInfoIs ( "(constructor) D<string >(val: string ): D<string >" ) ;
29+ verify . quickInfoIs ( "(constructor) D<T >(val: T ): D<T >" ) ; // Cannot resolve signature
3030
3131goTo . marker ( C ) ;
3232edit . deleteAtCaret ( 'constructor(val: T) { }' . length ) ;
@@ -37,10 +37,10 @@ goTo.marker('Bsig');
3737verify . quickInfoIs ( "(constructor) B<string>(val: string): B<string>" ) ;
3838
3939goTo . marker ( 'Csig' ) ;
40- verify . quickInfoIs ( "(constructor) C<{} >(): C<{} >" ) ;
40+ verify . quickInfoIs ( "(constructor) C<T >(): C<T >" ) ; // Cannot resolve signature
4141
4242goTo . marker ( 'Dsig' ) ;
43- verify . quickInfoIs ( "(constructor) D<string >(val: string ): D<string >" ) ;
43+ verify . quickInfoIs ( "(constructor) D<T >(val: T ): D<T >" ) ; // Cannot resolve signature
4444
4545goTo . marker ( D ) ;
4646edit . deleteAtCaret ( "val: T" . length ) ;
@@ -51,7 +51,7 @@ goTo.marker('Bsig');
5151verify . quickInfoIs ( "(constructor) B<string>(val: string): B<string>" ) ;
5252
5353goTo . marker ( 'Csig' ) ;
54- verify . quickInfoIs ( "(constructor) C<{} >(): C<{} >" ) ;
54+ verify . quickInfoIs ( "(constructor) C<T >(): C<T >" ) ; // Cannot resolve signature
5555
5656goTo . marker ( 'Dsig' ) ;
5757verify . quickInfoIs ( "(constructor) D<string>(): D<string>" ) ;
Original file line number Diff line number Diff line change @@ -310,11 +310,11 @@ goTo.marker('18');
310310verify . completionListContains ( 'i1' , 'interface i1' , '' ) ;
311311verify . completionListContains ( 'i1_i' , '(var) i1_i: new i1(b: number) => any (+ 1 overload(s))' , '' ) ;
312312verify . completionListContains ( 'i2' , 'interface i2' , '' ) ;
313- verify . completionListContains ( 'i2_i' , '(var) i2_i: i2 ' , '' ) ;
313+ verify . completionListContains ( 'i2_i' , '(var) i2_i: new i2(a: string) => any (+ 1 overload(s)) ' , '' ) ;
314314verify . completionListContains ( 'i3' , 'interface i3' , '' ) ;
315- verify . completionListContains ( 'i3_i' , '(var) i3_i: i3 ' , '' ) ;
315+ verify . completionListContains ( 'i3_i' , '(var) i3_i: new i3(a: string) => any (+ 1 overload(s)) ' , 'new 1 ' ) ;
316316verify . completionListContains ( 'i4' , 'interface i4' , '' ) ;
317- verify . completionListContains ( 'i4_i' , '(var) i4_i: i4 ' , '' ) ;
317+ verify . completionListContains ( 'i4_i' , '(var) i4_i: new i4(a: string) => any (+ 1 overload(s)) ' , '' ) ;
318318
319319goTo . marker ( '19' ) ;
320320verify . currentSignatureHelpDocCommentIs ( "" ) ;
You can’t perform that action at this time.
0 commit comments