@@ -94,18 +94,17 @@ namespace ts.codefix {
9494 const newTypeParameters = signature . typeParameters && signature . typeParameters . map ( checker . createTypeParameterDeclarationFromType ) ;
9595 const newParameterNodes = signature . getParameters ( ) . map ( symbol => createParameterDeclarationFromSymbol ( symbol , enclosingDeclaration , checker ) ) ;
9696
97- const returnType = checker . createTypeNode ( checker . getWidenedType ( checker . getReturnTypeOfSignature ( signature ) ) ) ;
97+ const returnType = createTypeNodeExceptAny ( checker . getReturnTypeOfSignature ( signature ) , checker ) ;
9898 return createStubbedMethod ( modifiers , name , newTypeParameters , newParameterNodes , returnType ) ;
9999 }
100100
101101 let signatureDeclarations = [ ] ;
102102 for ( let i = 0 ; i < signatures . length ; i ++ ) {
103- // const sigString = checker.signatureToString(signatures[i], enclosingDeclaration, TypeFormatFlags.SuppressAnyReturnType, SignatureKind.Call);
104103 // TODO: make signatures instead of methods
105104 const signature = signatures [ i ] ;
106105 const newTypeParameters = signature . typeParameters && signature . typeParameters . map ( checker . createTypeParameterDeclarationFromType ) ;
107106 const newParameterNodes = signature . getParameters ( ) . map ( symbol => createParameterDeclarationFromSymbol ( symbol , enclosingDeclaration , checker ) ) ;
108- const returnType = checker . createTypeNode ( signature . resolvedReturnType ) ;
107+ const returnType = createTypeNodeExceptAny ( checker . getReturnTypeOfSignature ( signature ) , checker ) ;
109108 signatureDeclarations . push ( createMethod (
110109 /*decorators*/ undefined
111110 , modifiers
@@ -121,7 +120,7 @@ namespace ts.codefix {
121120 let signature = checker . getSignatureFromDeclaration ( declarations [ declarations . length - 1 ] as SignatureDeclaration ) ;
122121 const newTypeParameters = signature . typeParameters && signature . typeParameters . map ( checker . createTypeParameterDeclarationFromType ) ;
123122 const newParameterNodes = signature . getParameters ( ) . map ( symbol => createParameterDeclarationFromSymbol ( symbol , enclosingDeclaration , checker ) ) ;
124- const returnType = checker . createTypeNode ( checker . getWidenedType ( checker . getReturnTypeOfSignature ( signature ) ) ) ;
123+ const returnType = createTypeNodeExceptAny ( checker . getReturnTypeOfSignature ( signature ) , checker ) ;
125124 signatureDeclarations . push ( createStubbedMethod ( modifiers , name , newTypeParameters , newParameterNodes , returnType ) ) ;
126125 }
127126 else {
@@ -236,4 +235,9 @@ namespace ts.codefix {
236235 , /*initializer*/ undefined ) ;
237236 return parameterNode ;
238237 }
238+
239+ function createTypeNodeExceptAny ( type : Type , checker : TypeChecker ) {
240+ const typeNode = checker . createTypeNode ( type ) ;
241+ return typeNode && typeNode . kind !== SyntaxKind . AnyKeyword ? typeNode : undefined ;
242+ }
239243}
0 commit comments