@@ -2037,7 +2037,7 @@ namespace ts {
2037
2037
return result;
2038
2038
}
2039
2039
2040
- function indexSignatureToString(info: IndexInfo, kind: SyntaxKind , enclosingDeclaration?: Node): string {
2040
+ function indexSignatureToString(info: IndexInfo, kind: IndexKind , enclosingDeclaration?: Node): string {
2041
2041
const writer = getSingleLineStringWriter();
2042
2042
getSymbolDisplayBuilder().buildIndexSignatureDisplay(info, writer, kind, enclosingDeclaration);
2043
2043
const result = writer.string();
@@ -2557,8 +2557,8 @@ namespace ts {
2557
2557
writePunctuation(writer, SyntaxKind.SemicolonToken);
2558
2558
writer.writeLine();
2559
2559
}
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);
2562
2562
for (const p of resolved.properties) {
2563
2563
const t = getTypeOfSymbol(p);
2564
2564
if (p.flags & (SymbolFlags.Function | SymbolFlags.Method) && !getPropertiesOfObjectType(t).length) {
@@ -2791,10 +2791,7 @@ namespace ts {
2791
2791
buildReturnTypeDisplay(signature, writer, enclosingDeclaration, flags, symbolStack);
2792
2792
}
2793
2793
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[]) {
2798
2795
if (info) {
2799
2796
if (info.isReadonly) {
2800
2797
writeKeyword(writer, SyntaxKind.ReadonlyKeyword);
@@ -2804,7 +2801,15 @@ namespace ts {
2804
2801
writer.writeParameter(info.declaration ? declarationNameToString(info.declaration.parameters[0].name) : "x");
2805
2802
writePunctuation(writer, SyntaxKind.ColonToken);
2806
2803
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
+
2808
2813
writePunctuation(writer, SyntaxKind.CloseBracketToken);
2809
2814
writePunctuation(writer, SyntaxKind.ColonToken);
2810
2815
writeSpace(writer);
0 commit comments