File tree Expand file tree Collapse file tree 3 files changed +13
-8
lines changed Expand file tree Collapse file tree 3 files changed +13
-8
lines changed Original file line number Diff line number Diff line change @@ -2733,7 +2733,12 @@ module ts {
2733
2733
var useConstructSignatures = callExpression . kind === SyntaxKind . NewExpression || callExpression . func . kind === SyntaxKind . SuperKeyword ;
2734
2734
var allSignatures = useConstructSignatures ? type . getConstructSignatures ( ) : type . getCallSignatures ( ) ;
2735
2735
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 ) {
2737
2742
if ( useConstructSignatures && ( symbolFlags & SymbolFlags . Class ) ) {
2738
2743
// Constructor
2739
2744
symbolKind = ScriptElementKind . constructorImplementationElement ;
Original file line number Diff line number Diff line change @@ -26,7 +26,7 @@ goTo.marker('Csig');
26
26
verify . quickInfoIs ( "(constructor) C<string>(val: string): C<string>" ) ;
27
27
28
28
goTo . 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
30
30
31
31
goTo . marker ( C ) ;
32
32
edit . deleteAtCaret ( 'constructor(val: T) { }' . length ) ;
@@ -37,10 +37,10 @@ goTo.marker('Bsig');
37
37
verify . quickInfoIs ( "(constructor) B<string>(val: string): B<string>" ) ;
38
38
39
39
goTo . marker ( 'Csig' ) ;
40
- verify . quickInfoIs ( "(constructor) C<{} >(): C<{} >" ) ;
40
+ verify . quickInfoIs ( "(constructor) C<T >(): C<T >" ) ; // Cannot resolve signature
41
41
42
42
goTo . 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
44
44
45
45
goTo . marker ( D ) ;
46
46
edit . deleteAtCaret ( "val: T" . length ) ;
@@ -51,7 +51,7 @@ goTo.marker('Bsig');
51
51
verify . quickInfoIs ( "(constructor) B<string>(val: string): B<string>" ) ;
52
52
53
53
goTo . marker ( 'Csig' ) ;
54
- verify . quickInfoIs ( "(constructor) C<{} >(): C<{} >" ) ;
54
+ verify . quickInfoIs ( "(constructor) C<T >(): C<T >" ) ; // Cannot resolve signature
55
55
56
56
goTo . marker ( 'Dsig' ) ;
57
57
verify . quickInfoIs ( "(constructor) D<string>(): D<string>" ) ;
Original file line number Diff line number Diff line change @@ -310,11 +310,11 @@ goTo.marker('18');
310
310
verify . completionListContains ( 'i1' , 'interface i1' , '' ) ;
311
311
verify . completionListContains ( 'i1_i' , '(var) i1_i: new i1(b: number) => any (+ 1 overload(s))' , '' ) ;
312
312
verify . 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)) ' , '' ) ;
314
314
verify . 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 ' ) ;
316
316
verify . 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)) ' , '' ) ;
318
318
319
319
goTo . marker ( '19' ) ;
320
320
verify . currentSignatureHelpDocCommentIs ( "" ) ;
You can’t perform that action at this time.
0 commit comments