@@ -2742,8 +2742,8 @@ namespace ts {
2742
2742
function parsePostfixTypeOrHigher ( ) : TypeNode {
2743
2743
let kind : SyntaxKind | undefined ;
2744
2744
let type = parseNonArrayType ( ) ;
2745
- while ( ! scanner . hasPrecedingLineBreak ( ) && ( kind = getPostfixTypeKind ( token ( ) ) ) ) {
2746
- if ( kind === SyntaxKind . ArrayType ) {
2745
+ while ( ! scanner . hasPrecedingLineBreak ( ) && ( kind = getPostfixSyntaxKind ( token ( ) ) ) ) {
2746
+ if ( kind === SyntaxKind . OpenBracketToken ) {
2747
2747
parseExpected ( SyntaxKind . OpenBracketToken ) ;
2748
2748
if ( isStartOfType ( ) ) {
2749
2749
const node = createNode ( SyntaxKind . IndexedAccessType , type . pos ) as IndexedAccessTypeNode ;
@@ -2769,17 +2769,19 @@ namespace ts {
2769
2769
return type ;
2770
2770
}
2771
2771
2772
- function getPostfixTypeKind ( tokenKind : SyntaxKind ) : SyntaxKind | undefined {
2772
+ function getPostfixSyntaxKind ( tokenKind : SyntaxKind ) : SyntaxKind {
2773
2773
switch ( tokenKind ) {
2774
2774
case SyntaxKind . EqualsToken :
2775
2775
// only parse postfix = inside jsdoc, because it's ambiguous elsewhere
2776
- return contextFlags & NodeFlags . JSDoc ? SyntaxKind . JSDocOptionalType : undefined ;
2776
+ return contextFlags & NodeFlags . JSDoc ? SyntaxKind . JSDocOptionalType : 0 ;
2777
2777
case SyntaxKind . ExclamationToken :
2778
2778
return SyntaxKind . JSDocNonNullableType ;
2779
2779
case SyntaxKind . QuestionToken :
2780
2780
return SyntaxKind . JSDocNullableType ;
2781
2781
case SyntaxKind . OpenBracketToken :
2782
- return SyntaxKind . ArrayType ;
2782
+ return SyntaxKind . OpenBracketToken ;
2783
+ default :
2784
+ return 0 ;
2783
2785
}
2784
2786
}
2785
2787
0 commit comments