@@ -2037,7 +2037,7 @@ namespace ts {
20372037 return result;
20382038 }
20392039
2040- function indexSignatureToString(info: IndexInfo, kind: SyntaxKind , enclosingDeclaration?: Node): string {
2040+ function indexSignatureToString(info: IndexInfo, kind: IndexKind , enclosingDeclaration?: Node): string {
20412041 const writer = getSingleLineStringWriter();
20422042 getSymbolDisplayBuilder().buildIndexSignatureDisplay(info, writer, kind, enclosingDeclaration);
20432043 const result = writer.string();
@@ -2557,8 +2557,8 @@ namespace ts {
25572557 writePunctuation(writer, SyntaxKind.SemicolonToken);
25582558 writer.writeLine();
25592559 }
2560- buildIndexSignatureDisplay(resolved.stringIndexInfo, writer, SyntaxKind.StringKeyword , enclosingDeclaration, globalFlags, symbolStack);
2561- buildIndexSignatureDisplay(resolved.numberIndexInfo, writer, SyntaxKind.NumberKeyword , enclosingDeclaration, globalFlags, symbolStack);
2560+ buildIndexSignatureDisplay(resolved.stringIndexInfo, writer, IndexKind.String , enclosingDeclaration, globalFlags, symbolStack);
2561+ buildIndexSignatureDisplay(resolved.numberIndexInfo, writer, IndexKind.Number , enclosingDeclaration, globalFlags, symbolStack);
25622562 for (const p of resolved.properties) {
25632563 const t = getTypeOfSymbol(p);
25642564 if (p.flags & (SymbolFlags.Function | SymbolFlags.Method) && !getPropertiesOfObjectType(t).length) {
@@ -2791,10 +2791,7 @@ namespace ts {
27912791 buildReturnTypeDisplay(signature, writer, enclosingDeclaration, flags, symbolStack);
27922792 }
27932793
2794- /**
2795- * @param keyword The keyword for the type of IndexSignature. Must be one of SyntaxKind.NumberKeyword or SyntaxKind.StringKeyword.
2796- */
2797- function buildIndexSignatureDisplay(info: IndexInfo, writer: SymbolWriter, keyword: SyntaxKind, enclosingDeclaration?: Node, globalFlags?: TypeFormatFlags, symbolStack?: Symbol[]) {
2794+ function buildIndexSignatureDisplay(info: IndexInfo, writer: SymbolWriter, kind: IndexKind, enclosingDeclaration?: Node, globalFlags?: TypeFormatFlags, symbolStack?: Symbol[]) {
27982795 if (info) {
27992796 if (info.isReadonly) {
28002797 writeKeyword(writer, SyntaxKind.ReadonlyKeyword);
@@ -2804,7 +2801,15 @@ namespace ts {
28042801 writer.writeParameter(info.declaration ? declarationNameToString(info.declaration.parameters[0].name) : "x");
28052802 writePunctuation(writer, SyntaxKind.ColonToken);
28062803 writeSpace(writer);
2807- writeKeyword(writer, keyword);
2804+ switch (kind) {
2805+ case IndexKind.Number:
2806+ writeKeyword(writer, SyntaxKind.NumberKeyword);
2807+ break;
2808+ case IndexKind.String:
2809+ writeKeyword(writer, SyntaxKind.StringKeyword);
2810+ break;
2811+ }
2812+
28082813 writePunctuation(writer, SyntaxKind.CloseBracketToken);
28092814 writePunctuation(writer, SyntaxKind.ColonToken);
28102815 writeSpace(writer);
0 commit comments