@@ -1818,10 +1818,8 @@ namespace ts {
1818
1818
1819
1819
function getJSDocCommentsAndTagsWorker ( node : Node ) : void {
1820
1820
const parent = node . parent ;
1821
- if ( parent &&
1822
- ( parent . kind === SyntaxKind . PropertyAssignment ||
1823
- parent . kind === SyntaxKind . PropertyDeclaration ||
1824
- getNestedModuleDeclaration ( parent ) ) ) {
1821
+ if ( ! parent ) return ;
1822
+ if ( parent . kind === SyntaxKind . PropertyAssignment || parent . kind === SyntaxKind . PropertyDeclaration || getNestedModuleDeclaration ( parent ) ) {
1825
1823
getJSDocCommentsAndTagsWorker ( parent ) ;
1826
1824
}
1827
1825
// 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 {
1830
1828
// * @returns {number }
1831
1829
// */
1832
1830
// var x = function(name) { return name.length; }
1833
- if ( parent && parent . parent &&
1831
+ if ( parent . parent &&
1834
1832
( getSingleVariableOfVariableStatement ( parent . parent ) === node || getSourceOfAssignment ( parent . parent ) ) ) {
1835
1833
getJSDocCommentsAndTagsWorker ( parent . parent ) ;
1836
1834
}
1837
- if ( parent && parent . parent && parent . parent . parent &&
1838
- ( getSingleInitializerOfVariableStatementOrPropertyDeclaration ( parent . parent . parent ) === node || getSourceOfDefaultedAssignment ( parent . parent . parent ) ) ) {
1835
+ if ( parent . parent && parent . parent . parent &&
1836
+ ( getSingleVariableOfVariableStatement ( parent . parent . parent ) ||
1837
+ getSingleInitializerOfVariableStatementOrPropertyDeclaration ( parent . parent . parent ) === node ||
1838
+ getSourceOfDefaultedAssignment ( parent . parent . parent ) ) ) {
1839
1839
getJSDocCommentsAndTagsWorker ( parent . parent . parent ) ;
1840
1840
}
1841
1841
if ( isBinaryExpression ( node ) && getSpecialPropertyAssignmentKind ( node ) !== SpecialPropertyAssignmentKind . None ||
1842
- parent && isBinaryExpression ( parent ) && getSpecialPropertyAssignmentKind ( parent ) !== SpecialPropertyAssignmentKind . None ||
1842
+ isBinaryExpression ( parent ) && getSpecialPropertyAssignmentKind ( parent ) !== SpecialPropertyAssignmentKind . None ||
1843
1843
node . kind === SyntaxKind . PropertyAccessExpression && node . parent && node . parent . kind === SyntaxKind . ExpressionStatement ) {
1844
1844
getJSDocCommentsAndTagsWorker ( parent ) ;
1845
1845
}
0 commit comments