mirror of
https://github.com/microsoft/TypeScript.git
synced 2025-11-18 17:21:48 +00:00
Support getting JSDoc comment starting at a FunctionType node (#23546)
* Support getting JSDoc comment starting at a FunctionType node * Move || to end of line
This commit is contained in:
@@ -1818,10 +1818,8 @@ namespace ts {
|
||||
|
||||
function getJSDocCommentsAndTagsWorker(node: Node): void {
|
||||
const parent = node.parent;
|
||||
if (parent &&
|
||||
(parent.kind === SyntaxKind.PropertyAssignment ||
|
||||
parent.kind === SyntaxKind.PropertyDeclaration ||
|
||||
getNestedModuleDeclaration(parent))) {
|
||||
if (!parent) return;
|
||||
if (parent.kind === SyntaxKind.PropertyAssignment || parent.kind === SyntaxKind.PropertyDeclaration || getNestedModuleDeclaration(parent)) {
|
||||
getJSDocCommentsAndTagsWorker(parent);
|
||||
}
|
||||
// Try to recognize this pattern when node is initializer of variable declaration and JSDoc comments are on containing variable statement.
|
||||
@@ -1830,16 +1828,18 @@ namespace ts {
|
||||
// * @returns {number}
|
||||
// */
|
||||
// var x = function(name) { return name.length; }
|
||||
if (parent && parent.parent &&
|
||||
if (parent.parent &&
|
||||
(getSingleVariableOfVariableStatement(parent.parent) === node || getSourceOfAssignment(parent.parent))) {
|
||||
getJSDocCommentsAndTagsWorker(parent.parent);
|
||||
}
|
||||
if (parent && parent.parent && parent.parent.parent &&
|
||||
(getSingleInitializerOfVariableStatementOrPropertyDeclaration(parent.parent.parent) === node || getSourceOfDefaultedAssignment(parent.parent.parent))) {
|
||||
if (parent.parent && parent.parent.parent &&
|
||||
(getSingleVariableOfVariableStatement(parent.parent.parent) ||
|
||||
getSingleInitializerOfVariableStatementOrPropertyDeclaration(parent.parent.parent) === node ||
|
||||
getSourceOfDefaultedAssignment(parent.parent.parent))) {
|
||||
getJSDocCommentsAndTagsWorker(parent.parent.parent);
|
||||
}
|
||||
if (isBinaryExpression(node) && getSpecialPropertyAssignmentKind(node) !== SpecialPropertyAssignmentKind.None ||
|
||||
parent && isBinaryExpression(parent) && getSpecialPropertyAssignmentKind(parent) !== SpecialPropertyAssignmentKind.None ||
|
||||
isBinaryExpression(parent) && getSpecialPropertyAssignmentKind(parent) !== SpecialPropertyAssignmentKind.None ||
|
||||
node.kind === SyntaxKind.PropertyAccessExpression && node.parent && node.parent.kind === SyntaxKind.ExpressionStatement) {
|
||||
getJSDocCommentsAndTagsWorker(parent);
|
||||
}
|
||||
|
||||
@@ -59,8 +59,8 @@ verify.currentSignatureHelpDocCommentIs("foos comment");
|
||||
verify.quickInfoAt("5q", "function foo(): void", "foos comment");
|
||||
|
||||
goTo.marker('6');
|
||||
verify.currentSignatureHelpDocCommentIs("");
|
||||
verify.quickInfoAt("6q", "var fooVar: () => void");
|
||||
verify.currentSignatureHelpDocCommentIs("fooVar comment");
|
||||
verify.quickInfoAt("6q", "var fooVar: () => void", "fooVar comment");
|
||||
|
||||
goTo.marker('7');
|
||||
verify.completionListContains("foo", "function foo(): void", "foos comment");
|
||||
@@ -71,9 +71,9 @@ verify.currentSignatureHelpDocCommentIs("foos comment");
|
||||
verify.quickInfoAt("8q", "function foo(): void", "foos comment");
|
||||
|
||||
goTo.marker('9');
|
||||
verify.currentSignatureHelpDocCommentIs("");
|
||||
verify.currentSignatureHelpDocCommentIs("fooVar comment");
|
||||
verify.quickInfos({
|
||||
"9q": "var fooVar: () => void",
|
||||
"9q": ["var fooVar: () => void", "fooVar comment"],
|
||||
"9aq": ["var fooVar: () => void", "fooVar comment"]
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user