mirror of
https://github.com/microsoft/TypeScript.git
synced 2025-11-18 17:21:48 +00:00
Quick fix for functions lacking return expressions (#26434)
* stash * add surmise for return type * add support for more case * add more test case * add more testcase and fix all test * fix changed diagnosis * fix broken test case * add more case * rename quickfix * fix conflict * fix fix desc * fix semi * Avoid replace brace with paren * Split fix all action * Add return work in same line * fix test cases * rename baseline * refactor and handle comment * Support semi * make helper internal
This commit is contained in:
@@ -574,9 +574,7 @@ namespace ts {
|
||||
},
|
||||
getApparentType,
|
||||
getUnionType,
|
||||
isTypeAssignableTo: (source, target) => {
|
||||
return isTypeAssignableTo(source, target);
|
||||
},
|
||||
isTypeAssignableTo,
|
||||
createAnonymousType,
|
||||
createSignature,
|
||||
createSymbol,
|
||||
|
||||
@@ -5621,6 +5621,31 @@
|
||||
"category": "Message",
|
||||
"code": 95110
|
||||
},
|
||||
"Add a return statement": {
|
||||
"category": "Message",
|
||||
"code": 95111
|
||||
},
|
||||
"Remove block body braces": {
|
||||
"category": "Message",
|
||||
"code": 95112
|
||||
},
|
||||
"Wrap the following body with parentheses which should be an object literal": {
|
||||
"category": "Message",
|
||||
"code": 95113
|
||||
},
|
||||
"Add all missing return statement": {
|
||||
"category": "Message",
|
||||
"code": 95114
|
||||
},
|
||||
"Remove all incorrect body block braces": {
|
||||
"category": "Message",
|
||||
"code": 95115
|
||||
},
|
||||
"Wrap all object literal with parentheses": {
|
||||
"category": "Message",
|
||||
"code": 95116
|
||||
},
|
||||
|
||||
"No value exists in scope for the shorthand property '{0}'. Either declare one or provide an initializer.": {
|
||||
"category": "Error",
|
||||
"code": 18004
|
||||
|
||||
@@ -2057,6 +2057,26 @@ namespace ts {
|
||||
: node;
|
||||
}
|
||||
|
||||
/* @internal */
|
||||
export function updateFunctionLikeBody(declaration: FunctionLikeDeclaration, body: Block): FunctionLikeDeclaration {
|
||||
switch (declaration.kind) {
|
||||
case SyntaxKind.FunctionDeclaration:
|
||||
return createFunctionDeclaration(declaration.decorators, declaration.modifiers, declaration.asteriskToken, declaration.name, declaration.typeParameters, declaration.parameters, declaration.type, body);
|
||||
case SyntaxKind.MethodDeclaration:
|
||||
return createMethod(declaration.decorators, declaration.modifiers, declaration.asteriskToken, declaration.name, declaration.questionToken, declaration.typeParameters, declaration.parameters, declaration.type, body);
|
||||
case SyntaxKind.GetAccessor:
|
||||
return createGetAccessor(declaration.decorators, declaration.modifiers, declaration.name, declaration.parameters, declaration.type, body);
|
||||
case SyntaxKind.SetAccessor:
|
||||
return createSetAccessor(declaration.decorators, declaration.modifiers, declaration.name, declaration.parameters, body);
|
||||
case SyntaxKind.Constructor:
|
||||
return createConstructor(declaration.decorators, declaration.modifiers, declaration.parameters, body);
|
||||
case SyntaxKind.FunctionExpression:
|
||||
return createFunctionExpression(declaration.modifiers, declaration.asteriskToken, declaration.name, declaration.typeParameters, declaration.parameters, declaration.type, body);
|
||||
case SyntaxKind.ArrowFunction:
|
||||
return createArrowFunction(declaration.modifiers, declaration.typeParameters, declaration.parameters, declaration.type, declaration.equalsGreaterThanToken, body);
|
||||
}
|
||||
}
|
||||
|
||||
export function createClassDeclaration(
|
||||
decorators: readonly Decorator[] | undefined,
|
||||
modifiers: readonly Modifier[] | undefined,
|
||||
|
||||
Reference in New Issue
Block a user