File tree Expand file tree Collapse file tree 2 files changed +12
-0
lines changed
Expand file tree Collapse file tree 2 files changed +12
-0
lines changed Original file line number Diff line number Diff line change @@ -2953,6 +2953,10 @@ namespace ts {
29532953 return parseJSDocAllType ( /*postfixEquals*/ false ) ;
29542954 case SyntaxKind . AsteriskEqualsToken :
29552955 return parseJSDocAllType ( /*postfixEquals*/ true ) ;
2956+ case SyntaxKind . QuestionQuestionToken :
2957+ // If there is '??', consider that is prefix '?' in JSDoc type.
2958+ scanner . reScanQuestionQuestionToken ( ) ;
2959+ // falls through
29562960 case SyntaxKind . QuestionToken :
29572961 return parseJSDocUnknownOrNullableType ( ) ;
29582962 case SyntaxKind . FunctionKeyword :
Original file line number Diff line number Diff line change @@ -32,6 +32,7 @@ namespace ts {
3232 scanJsxAttributeValue ( ) : SyntaxKind ;
3333 reScanJsxToken ( ) : JsxTokenSyntaxKind ;
3434 reScanLessThanToken ( ) : SyntaxKind ;
35+ reScanQuestionQuestionToken ( ) : SyntaxKind ;
3536 scanJsxToken ( ) : JsxTokenSyntaxKind ;
3637 scanJsDocToken ( ) : JSDocSyntaxKind ;
3738 scan ( ) : SyntaxKind ;
@@ -886,6 +887,7 @@ namespace ts {
886887 scanJsxAttributeValue,
887888 reScanJsxToken,
888889 reScanLessThanToken,
890+ reScanQuestionQuestionToken,
889891 scanJsxToken,
890892 scanJsDocToken,
891893 scan,
@@ -1962,6 +1964,12 @@ namespace ts {
19621964 return token ;
19631965 }
19641966
1967+ function reScanQuestionQuestionToken ( ) : SyntaxKind {
1968+ Debug . assert ( token === SyntaxKind . QuestionQuestionToken , "'reScanQuestionQuestionToken' should only be called on a '??'" ) ;
1969+ pos = tokenPos + 1 ;
1970+ return token = SyntaxKind . QuestionToken ;
1971+ }
1972+
19651973 function scanJsxToken ( ) : JsxTokenSyntaxKind {
19661974 startPos = tokenPos = pos ;
19671975
You can’t perform that action at this time.
0 commit comments