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 {
2953
2953
return parseJSDocAllType ( /*postfixEquals*/ false ) ;
2954
2954
case SyntaxKind . AsteriskEqualsToken :
2955
2955
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
2956
2960
case SyntaxKind . QuestionToken :
2957
2961
return parseJSDocUnknownOrNullableType ( ) ;
2958
2962
case SyntaxKind . FunctionKeyword :
Original file line number Diff line number Diff line change @@ -32,6 +32,7 @@ namespace ts {
32
32
scanJsxAttributeValue ( ) : SyntaxKind ;
33
33
reScanJsxToken ( ) : JsxTokenSyntaxKind ;
34
34
reScanLessThanToken ( ) : SyntaxKind ;
35
+ reScanQuestionQuestionToken ( ) : SyntaxKind ;
35
36
scanJsxToken ( ) : JsxTokenSyntaxKind ;
36
37
scanJsDocToken ( ) : JSDocSyntaxKind ;
37
38
scan ( ) : SyntaxKind ;
@@ -886,6 +887,7 @@ namespace ts {
886
887
scanJsxAttributeValue,
887
888
reScanJsxToken,
888
889
reScanLessThanToken,
890
+ reScanQuestionQuestionToken,
889
891
scanJsxToken,
890
892
scanJsDocToken,
891
893
scan,
@@ -1962,6 +1964,12 @@ namespace ts {
1962
1964
return token ;
1963
1965
}
1964
1966
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
+
1965
1973
function scanJsxToken ( ) : JsxTokenSyntaxKind {
1966
1974
startPos = tokenPos = pos ;
1967
1975
You can’t perform that action at this time.
0 commit comments