@@ -2233,17 +2233,13 @@ func (p *Parser) parsePostfixTypeOrHigher() *ast.Node {
22332233 typeNode := p .parseNonArrayType ()
22342234 for ! p .hasPrecedingLineBreak () {
22352235 switch p .token {
2236- case ast .KindExclamationToken :
2237- p .nextToken ()
2238- typeNode = p .factory .NewJSDocNonNullableType (typeNode )
2239- p .finishNode (typeNode , pos )
22402236 case ast .KindQuestionToken :
2241- // If next token is start of a type we have a conditional type
2237+ // If next token is start of a type we are in the middle of a conditional type
22422238 if p .lookAhead (p .nextIsStartOfType ) {
22432239 return typeNode
22442240 }
22452241 p .nextToken ()
2246- typeNode = p .factory .NewJSDocNullableType (typeNode )
2242+ typeNode = p .factory .NewOptionalTypeNode (typeNode )
22472243 p .finishNode (typeNode , pos )
22482244 case ast .KindOpenBracketToken :
22492245 p .parseExpected (ast .KindOpenBracketToken )
@@ -3155,17 +3151,7 @@ func (p *Parser) parseTupleElementType() *ast.TypeNode {
31553151 p .finishNode (result , pos )
31563152 return result
31573153 }
3158- typeNode := p .parseType ()
3159- if typeNode .Kind == ast .KindJSDocNullableType {
3160- nullableType := typeNode .AsJSDocNullableType ()
3161- if typeNode .Loc .Pos () == nullableType .TypeNode .Loc .Pos () {
3162- result := p .factory .NewOptionalTypeNode (nullableType .TypeNode )
3163- result .Loc = typeNode .Loc
3164- result .Flags = typeNode .Flags
3165- return result
3166- }
3167- }
3168- return typeNode
3154+ return p .parseType ()
31693155}
31703156
31713157func (p * Parser ) parseParenthesizedType () * ast.Node {
0 commit comments