@@ -3995,7 +3995,7 @@ namespace ts {
39953995 shorthandDeclaration . equalsToken = equalsToken ;
39963996 shorthandDeclaration . objectAssignmentInitializer = allowInAnd ( parseAssignmentExpressionOrHigher ) ;
39973997 }
3998- return finishNode ( shorthandDeclaration ) ;
3998+ return addJSDocComment ( finishNode ( shorthandDeclaration ) ) ;
39993999 }
40004000 else {
40014001 const propertyAssignment = < PropertyAssignment > createNode ( SyntaxKind . PropertyAssignment , fullStart ) ;
@@ -4004,7 +4004,7 @@ namespace ts {
40044004 propertyAssignment . questionToken = questionToken ;
40054005 parseExpected ( SyntaxKind . ColonToken ) ;
40064006 propertyAssignment . initializer = allowInAnd ( parseAssignmentExpressionOrHigher ) ;
4007- return finishNode ( propertyAssignment ) ;
4007+ return addJSDocComment ( finishNode ( propertyAssignment ) ) ;
40084008 }
40094009 }
40104010
@@ -5758,23 +5758,32 @@ namespace ts {
57585758 function parseJSDocParameter ( ) : ParameterDeclaration {
57595759 const parameter = < ParameterDeclaration > createNode ( SyntaxKind . Parameter ) ;
57605760 parameter . type = parseJSDocType ( ) ;
5761+ if ( parseOptional ( SyntaxKind . EqualsToken ) ) {
5762+ parameter . questionToken = createNode ( SyntaxKind . EqualsToken ) ;
5763+ }
57615764 return finishNode ( parameter ) ;
57625765 }
57635766
57645767 function parseJSDocTypeReference ( ) : JSDocTypeReference {
57655768 const result = < JSDocTypeReference > createNode ( SyntaxKind . JSDocTypeReference ) ;
57665769 result . name = parseSimplePropertyName ( ) ;
57675770
5768- while ( parseOptional ( SyntaxKind . DotToken ) ) {
5769- if ( token === SyntaxKind . LessThanToken ) {
5770- result . typeArguments = parseTypeArguments ( ) ;
5771- break ;
5772- }
5773- else {
5774- result . name = parseQualifiedName ( result . name ) ;
5771+ if ( token === SyntaxKind . LessThanToken ) {
5772+ result . typeArguments = parseTypeArguments ( ) ;
5773+ }
5774+ else {
5775+ while ( parseOptional ( SyntaxKind . DotToken ) ) {
5776+ if ( token === SyntaxKind . LessThanToken ) {
5777+ result . typeArguments = parseTypeArguments ( ) ;
5778+ break ;
5779+ }
5780+ else {
5781+ result . name = parseQualifiedName ( result . name ) ;
5782+ }
57755783 }
57765784 }
57775785
5786+
57785787 return finishNode ( result ) ;
57795788 }
57805789
0 commit comments