@@ -93,15 +93,15 @@ namespace ts.codefix {
9393 // TODO: get parameters working.
9494 // TODO: add support for type parameters.
9595 const signature = signatures [ 0 ] ;
96- const signatureParts = getSignatureParts ( signature ) ;
96+ const signatureParts = checker . createSignatureParts ( signature ) ;
9797 return createStubbedMethod ( modifiers , name , optional , signatureParts . typeParameters , signatureParts . parameters , signatureParts . type ) ;
9898 }
9999
100100 let signatureDeclarations = [ ] ;
101101 for ( let i = 0 ; i < signatures . length ; i ++ ) {
102102 // TODO: make signatures instead of methods
103103 const signature = signatures [ i ] ;
104- const signatureParts = getSignatureParts ( signature ) ;
104+ const signatureParts = checker . createSignatureParts ( signature ) ;
105105 signatureDeclarations . push ( createMethod (
106106 /*decorators*/ undefined
107107 , modifiers
@@ -116,7 +116,7 @@ namespace ts.codefix {
116116
117117 if ( declarations . length > signatures . length ) {
118118 let signature = checker . getSignatureFromDeclaration ( declarations [ declarations . length - 1 ] as SignatureDeclaration ) ;
119- const signatureParts = getSignatureParts ( signature ) ;
119+ const signatureParts = checker . createSignatureParts ( signature ) ;
120120 signatureDeclarations . push ( createStubbedMethod ( modifiers , name , optional , signatureParts . typeParameters , signatureParts . parameters , signatureParts . type ) ) ;
121121 }
122122 else {
@@ -128,20 +128,6 @@ namespace ts.codefix {
128128 default :
129129 return undefined ;
130130 }
131-
132- type SignatureParts = {
133- typeParameters : TypeParameterDeclaration [ ] ;
134- parameters : ParameterDeclaration [ ] ;
135- type : TypeNode ;
136- }
137-
138- function getSignatureParts ( signature : Signature ) : SignatureParts {
139- return {
140- typeParameters : signature . typeParameters && signature . typeParameters . map ( checker . createTypeParameterDeclarationFromType ) ,
141- parameters : signature . getParameters ( ) . map ( symbol => checker . createParameterDeclarationFromSymbol ( symbol ) ) ,
142- type : createTypeNodeExceptAny ( checker . getReturnTypeOfSignature ( signature ) , checker )
143- }
144- }
145131 }
146132
147133 function createMethodImplementingSignatures ( signatures : Signature [ ] , name : PropertyName , optional : boolean , modifiers : Modifier [ ] | undefined ) : MethodDeclaration {
@@ -234,9 +220,4 @@ namespace ts.codefix {
234220 }
235221 return undefined ;
236222 }
237-
238- function createTypeNodeExceptAny ( type : Type , checker : TypeChecker ) {
239- const typeNode = checker . createTypeNode ( type ) ;
240- return typeNode && typeNode . kind !== SyntaxKind . AnyKeyword ? typeNode : undefined ;
241- }
242223}
0 commit comments