don't add any typenode for signature return type
This commit is contained in:
parent
79a4557f4c
commit
e381ffaac7
1 changed files with 8 additions and 4 deletions
|
@ -94,18 +94,17 @@ namespace ts.codefix {
|
|||
const newTypeParameters = signature.typeParameters && signature.typeParameters.map(checker.createTypeParameterDeclarationFromType);
|
||||
const newParameterNodes = signature.getParameters().map(symbol => createParameterDeclarationFromSymbol(symbol, enclosingDeclaration, checker));
|
||||
|
||||
const returnType = checker.createTypeNode(checker.getWidenedType(checker.getReturnTypeOfSignature(signature)));
|
||||
const returnType = createTypeNodeExceptAny(checker.getReturnTypeOfSignature(signature), checker);
|
||||
return createStubbedMethod(modifiers, name, newTypeParameters, newParameterNodes, returnType);
|
||||
}
|
||||
|
||||
let signatureDeclarations = [];
|
||||
for (let i = 0; i < signatures.length; i++) {
|
||||
// const sigString = checker.signatureToString(signatures[i], enclosingDeclaration, TypeFormatFlags.SuppressAnyReturnType, SignatureKind.Call);
|
||||
// TODO: make signatures instead of methods
|
||||
const signature = signatures[i];
|
||||
const newTypeParameters = signature.typeParameters && signature.typeParameters.map(checker.createTypeParameterDeclarationFromType);
|
||||
const newParameterNodes = signature.getParameters().map(symbol => createParameterDeclarationFromSymbol(symbol, enclosingDeclaration, checker));
|
||||
const returnType = checker.createTypeNode(signature.resolvedReturnType);
|
||||
const returnType = createTypeNodeExceptAny(checker.getReturnTypeOfSignature(signature), checker);
|
||||
signatureDeclarations.push(createMethod(
|
||||
/*decorators*/ undefined
|
||||
, modifiers
|
||||
|
@ -121,7 +120,7 @@ namespace ts.codefix {
|
|||
let signature = checker.getSignatureFromDeclaration(declarations[declarations.length - 1] as SignatureDeclaration);
|
||||
const newTypeParameters = signature.typeParameters && signature.typeParameters.map(checker.createTypeParameterDeclarationFromType);
|
||||
const newParameterNodes = signature.getParameters().map(symbol => createParameterDeclarationFromSymbol(symbol, enclosingDeclaration, checker));
|
||||
const returnType = checker.createTypeNode(checker.getWidenedType(checker.getReturnTypeOfSignature(signature)));
|
||||
const returnType = createTypeNodeExceptAny(checker.getReturnTypeOfSignature(signature), checker);
|
||||
signatureDeclarations.push(createStubbedMethod(modifiers, name, newTypeParameters, newParameterNodes, returnType));
|
||||
}
|
||||
else {
|
||||
|
@ -236,4 +235,9 @@ namespace ts.codefix {
|
|||
, /*initializer*/ undefined);
|
||||
return parameterNode;
|
||||
}
|
||||
|
||||
function createTypeNodeExceptAny(type: Type, checker: TypeChecker) {
|
||||
const typeNode = checker.createTypeNode(type);
|
||||
return typeNode && typeNode.kind !== SyntaxKind.AnyKeyword ? typeNode : undefined;
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue