Skip to content

Commit 0a2a8cc

Browse files
Merge pull request #8125 from Microsoft/fixDisplayForStringyMembers
Fix display for literal members
2 parents 79a3e77 + 25d7229 commit 0a2a8cc

20 files changed

+352
-112
lines changed

src/compiler/checker.ts

Lines changed: 34 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1808,12 +1808,38 @@ namespace ts {
18081808

18091809
/**
18101810
* Writes only the name of the symbol out to the writer. Uses the original source text
1811-
* for the name of the symbol if it is available to match how the user inputted the name.
1811+
* for the name of the symbol if it is available to match how the user wrote the name.
18121812
*/
18131813
function appendSymbolNameOnly(symbol: Symbol, writer: SymbolWriter): void {
18141814
writer.writeSymbol(getNameOfSymbol(symbol), symbol);
18151815
}
18161816

1817+
/**
1818+
* Writes a property access or element access with the name of the symbol out to the writer.
1819+
* Uses the original source text for the name of the symbol if it is available to match how the user wrote the name,
1820+
* ensuring that any names written with literals use element accesses.
1821+
*/
1822+
function appendPropertyOrElementAccessForSymbol(symbol: Symbol, writer: SymbolWriter): void {
1823+
const symbolName = getNameOfSymbol(symbol);
1824+
const firstChar = symbolName.charCodeAt(0);
1825+
const needsElementAccess = !isIdentifierStart(firstChar, languageVersion);
1826+
1827+
if (needsElementAccess) {
1828+
writePunctuation(writer, SyntaxKind.OpenBracketToken);
1829+
if (isSingleOrDoubleQuote(firstChar)) {
1830+
writer.writeStringLiteral(symbolName);
1831+
}
1832+
else {
1833+
writer.writeSymbol(symbolName, symbol);
1834+
}
1835+
writePunctuation(writer, SyntaxKind.CloseBracketToken);
1836+
}
1837+
else {
1838+
writePunctuation(writer, SyntaxKind.DotToken);
1839+
writer.writeSymbol(symbolName, symbol);
1840+
}
1841+
}
1842+
18171843
/**
18181844
* Enclosing declaration is optional when we don't want to get qualified name in the enclosing declaration scope
18191845
* Meaning needs to be specified if the enclosing declaration is given
@@ -1832,10 +1858,12 @@ namespace ts {
18321858
buildTypeParameterDisplayFromSymbol(parentSymbol, writer, enclosingDeclaration);
18331859
}
18341860
}
1835-
writePunctuation(writer, SyntaxKind.DotToken);
1861+
appendPropertyOrElementAccessForSymbol(symbol, writer);
1862+
}
1863+
else {
1864+
appendSymbolNameOnly(symbol, writer);
18361865
}
18371866
parentSymbol = symbol;
1838-
appendSymbolNameOnly(symbol, writer);
18391867
}
18401868

18411869
// const the writer know we just wrote out a symbol. The declaration emitter writer uses
@@ -2030,10 +2058,10 @@ namespace ts {
20302058
if (symbol) {
20312059
// Always use 'typeof T' for type of class, enum, and module objects
20322060
if (symbol.flags & (SymbolFlags.Class | SymbolFlags.Enum | SymbolFlags.ValueModule)) {
2033-
writeTypeofSymbol(type, flags);
2061+
writeTypeOfSymbol(type, flags);
20342062
}
20352063
else if (shouldWriteTypeOfFunctionSymbol()) {
2036-
writeTypeofSymbol(type, flags);
2064+
writeTypeOfSymbol(type, flags);
20372065
}
20382066
else if (contains(symbolStack, symbol)) {
20392067
// If type is an anonymous type literal in a type alias declaration, use type alias name
@@ -2078,7 +2106,7 @@ namespace ts {
20782106
}
20792107
}
20802108

2081-
function writeTypeofSymbol(type: ObjectType, typeFormatFlags?: TypeFormatFlags) {
2109+
function writeTypeOfSymbol(type: ObjectType, typeFormatFlags?: TypeFormatFlags) {
20822110
writeKeyword(writer, SyntaxKind.TypeOfKeyword);
20832111
writeSpace(writer);
20842112
buildSymbolDisplay(type.symbol, writer, enclosingDeclaration, SymbolFlags.Value, SymbolFormatFlags.None, typeFormatFlags);

src/compiler/utilities.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1196,6 +1196,10 @@ namespace ts {
11961196
return isRequire && (!checkArgumentIsStringLiteral || (<CallExpression>expression).arguments[0].kind === SyntaxKind.StringLiteral);
11971197
}
11981198

1199+
export function isSingleOrDoubleQuote(charCode: number) {
1200+
return charCode === CharacterCodes.singleQuote || charCode === CharacterCodes.doubleQuote;
1201+
}
1202+
11991203
/// Given a BinaryExpression, returns SpecialPropertyAssignmentKind for the various kinds of property
12001204
/// assignments we treat as special in the binder
12011205
export function getSpecialPropertyAssignmentKind(expression: Node): SpecialPropertyAssignmentKind {

tests/baselines/reference/constIndexedAccess.symbols

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,12 @@ let test: indexAccess;
2424
let s = test[0];
2525
>s : Symbol(s, Decl(constIndexedAccess.ts, 13, 3))
2626
>test : Symbol(test, Decl(constIndexedAccess.ts, 11, 3))
27-
>0 : Symbol(indexAccess.0, Decl(constIndexedAccess.ts, 6, 23))
27+
>0 : Symbol(indexAccess[0], Decl(constIndexedAccess.ts, 6, 23))
2828

2929
let n = test[1];
3030
>n : Symbol(n, Decl(constIndexedAccess.ts, 14, 3))
3131
>test : Symbol(test, Decl(constIndexedAccess.ts, 11, 3))
32-
>1 : Symbol(indexAccess.1, Decl(constIndexedAccess.ts, 7, 14))
32+
>1 : Symbol(indexAccess[1], Decl(constIndexedAccess.ts, 7, 14))
3333

3434
let s1 = test[numbers.zero];
3535
>s1 : Symbol(s1, Decl(constIndexedAccess.ts, 16, 3))

tests/baselines/reference/indexersInClassType.symbols

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,12 @@ var r = c.fn();
3636
var r2 = r[1];
3737
>r2 : Symbol(r2, Decl(indexersInClassType.ts, 13, 3))
3838
>r : Symbol(r, Decl(indexersInClassType.ts, 12, 3))
39-
>1 : Symbol(C.1, Decl(indexersInClassType.ts, 2, 24))
39+
>1 : Symbol(C[1], Decl(indexersInClassType.ts, 2, 24))
4040

4141
var r3 = r.a
4242
>r3 : Symbol(r3, Decl(indexersInClassType.ts, 14, 3))
43-
>r.a : Symbol(C.'a', Decl(indexersInClassType.ts, 3, 12))
43+
>r.a : Symbol(C['a'], Decl(indexersInClassType.ts, 3, 12))
4444
>r : Symbol(r, Decl(indexersInClassType.ts, 12, 3))
45-
>a : Symbol(C.'a', Decl(indexersInClassType.ts, 3, 12))
45+
>a : Symbol(C['a'], Decl(indexersInClassType.ts, 3, 12))
4646

4747

tests/baselines/reference/negateOperatorWithEnumType.symbols

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ var ResultIsNumber3 = -(ENUM1.B + ENUM1[""]);
2626
>ENUM1 : Symbol(ENUM1, Decl(negateOperatorWithEnumType.ts, 2, 14))
2727
>B : Symbol(ENUM1.B, Decl(negateOperatorWithEnumType.ts, 3, 15))
2828
>ENUM1 : Symbol(ENUM1, Decl(negateOperatorWithEnumType.ts, 2, 14))
29-
>"" : Symbol(ENUM1."", Decl(negateOperatorWithEnumType.ts, 3, 18))
29+
>"" : Symbol(ENUM1[""], Decl(negateOperatorWithEnumType.ts, 3, 18))
3030

3131
// miss assignment operators
3232
-ENUM;

tests/baselines/reference/newWithSpreadES5.symbols

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -202,61 +202,61 @@ new B(1, 2, ...a, "string");
202202
// Property access expression
203203
new c["a-b"](1, 2, "string");
204204
>c : Symbol(c, Decl(newWithSpreadES5.ts, 26, 3))
205-
>"a-b" : Symbol(C."a-b", Decl(newWithSpreadES5.ts, 16, 13))
205+
>"a-b" : Symbol(C["a-b"], Decl(newWithSpreadES5.ts, 16, 13))
206206

207207
new c["a-b"](1, 2, ...a);
208208
>c : Symbol(c, Decl(newWithSpreadES5.ts, 26, 3))
209-
>"a-b" : Symbol(C."a-b", Decl(newWithSpreadES5.ts, 16, 13))
209+
>"a-b" : Symbol(C["a-b"], Decl(newWithSpreadES5.ts, 16, 13))
210210
>a : Symbol(a, Decl(newWithSpreadES5.ts, 24, 3))
211211

212212
new c["a-b"](1, 2, ...a, "string");
213213
>c : Symbol(c, Decl(newWithSpreadES5.ts, 26, 3))
214-
>"a-b" : Symbol(C."a-b", Decl(newWithSpreadES5.ts, 16, 13))
214+
>"a-b" : Symbol(C["a-b"], Decl(newWithSpreadES5.ts, 16, 13))
215215
>a : Symbol(a, Decl(newWithSpreadES5.ts, 24, 3))
216216

217217
// Parenthesised expression
218218
new (c["a-b"])(1, 2, "string");
219219
>c : Symbol(c, Decl(newWithSpreadES5.ts, 26, 3))
220-
>"a-b" : Symbol(C."a-b", Decl(newWithSpreadES5.ts, 16, 13))
220+
>"a-b" : Symbol(C["a-b"], Decl(newWithSpreadES5.ts, 16, 13))
221221

222222
new (c["a-b"])(1, 2, ...a);
223223
>c : Symbol(c, Decl(newWithSpreadES5.ts, 26, 3))
224-
>"a-b" : Symbol(C."a-b", Decl(newWithSpreadES5.ts, 16, 13))
224+
>"a-b" : Symbol(C["a-b"], Decl(newWithSpreadES5.ts, 16, 13))
225225
>a : Symbol(a, Decl(newWithSpreadES5.ts, 24, 3))
226226

227227
new (c["a-b"])(1, 2, ...a, "string");
228228
>c : Symbol(c, Decl(newWithSpreadES5.ts, 26, 3))
229-
>"a-b" : Symbol(C."a-b", Decl(newWithSpreadES5.ts, 16, 13))
229+
>"a-b" : Symbol(C["a-b"], Decl(newWithSpreadES5.ts, 16, 13))
230230
>a : Symbol(a, Decl(newWithSpreadES5.ts, 24, 3))
231231

232232
// Element access expression
233233
new g[1]["a-b"](1, 2, "string");
234234
>g : Symbol(g, Decl(newWithSpreadES5.ts, 29, 3))
235-
>"a-b" : Symbol(C."a-b", Decl(newWithSpreadES5.ts, 16, 13))
235+
>"a-b" : Symbol(C["a-b"], Decl(newWithSpreadES5.ts, 16, 13))
236236

237237
new g[1]["a-b"](1, 2, ...a);
238238
>g : Symbol(g, Decl(newWithSpreadES5.ts, 29, 3))
239-
>"a-b" : Symbol(C."a-b", Decl(newWithSpreadES5.ts, 16, 13))
239+
>"a-b" : Symbol(C["a-b"], Decl(newWithSpreadES5.ts, 16, 13))
240240
>a : Symbol(a, Decl(newWithSpreadES5.ts, 24, 3))
241241

242242
new g[1]["a-b"](1, 2, ...a, "string");
243243
>g : Symbol(g, Decl(newWithSpreadES5.ts, 29, 3))
244-
>"a-b" : Symbol(C."a-b", Decl(newWithSpreadES5.ts, 16, 13))
244+
>"a-b" : Symbol(C["a-b"], Decl(newWithSpreadES5.ts, 16, 13))
245245
>a : Symbol(a, Decl(newWithSpreadES5.ts, 24, 3))
246246

247247
// Element access expression with a punctuated key
248248
new h["a-b"]["a-b"](1, 2, "string");
249249
>h : Symbol(h, Decl(newWithSpreadES5.ts, 30, 3))
250-
>"a-b" : Symbol(C."a-b", Decl(newWithSpreadES5.ts, 16, 13))
250+
>"a-b" : Symbol(C["a-b"], Decl(newWithSpreadES5.ts, 16, 13))
251251

252252
new h["a-b"]["a-b"](1, 2, ...a);
253253
>h : Symbol(h, Decl(newWithSpreadES5.ts, 30, 3))
254-
>"a-b" : Symbol(C."a-b", Decl(newWithSpreadES5.ts, 16, 13))
254+
>"a-b" : Symbol(C["a-b"], Decl(newWithSpreadES5.ts, 16, 13))
255255
>a : Symbol(a, Decl(newWithSpreadES5.ts, 24, 3))
256256

257257
new h["a-b"]["a-b"](1, 2, ...a, "string");
258258
>h : Symbol(h, Decl(newWithSpreadES5.ts, 30, 3))
259-
>"a-b" : Symbol(C."a-b", Decl(newWithSpreadES5.ts, 16, 13))
259+
>"a-b" : Symbol(C["a-b"], Decl(newWithSpreadES5.ts, 16, 13))
260260
>a : Symbol(a, Decl(newWithSpreadES5.ts, 24, 3))
261261

262262
// Element access expression with a number

tests/baselines/reference/newWithSpreadES6.symbols

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -203,61 +203,61 @@ new B(1, 2, ...a, "string");
203203
// Property access expression
204204
new c["a-b"](1, 2, "string");
205205
>c : Symbol(c, Decl(newWithSpreadES6.ts, 27, 3))
206-
>"a-b" : Symbol(C."a-b", Decl(newWithSpreadES6.ts, 17, 13))
206+
>"a-b" : Symbol(C["a-b"], Decl(newWithSpreadES6.ts, 17, 13))
207207

208208
new c["a-b"](1, 2, ...a);
209209
>c : Symbol(c, Decl(newWithSpreadES6.ts, 27, 3))
210-
>"a-b" : Symbol(C."a-b", Decl(newWithSpreadES6.ts, 17, 13))
210+
>"a-b" : Symbol(C["a-b"], Decl(newWithSpreadES6.ts, 17, 13))
211211
>a : Symbol(a, Decl(newWithSpreadES6.ts, 25, 3))
212212

213213
new c["a-b"](1, 2, ...a, "string");
214214
>c : Symbol(c, Decl(newWithSpreadES6.ts, 27, 3))
215-
>"a-b" : Symbol(C."a-b", Decl(newWithSpreadES6.ts, 17, 13))
215+
>"a-b" : Symbol(C["a-b"], Decl(newWithSpreadES6.ts, 17, 13))
216216
>a : Symbol(a, Decl(newWithSpreadES6.ts, 25, 3))
217217

218218
// Parenthesised expression
219219
new (c["a-b"])(1, 2, "string");
220220
>c : Symbol(c, Decl(newWithSpreadES6.ts, 27, 3))
221-
>"a-b" : Symbol(C."a-b", Decl(newWithSpreadES6.ts, 17, 13))
221+
>"a-b" : Symbol(C["a-b"], Decl(newWithSpreadES6.ts, 17, 13))
222222

223223
new (c["a-b"])(1, 2, ...a);
224224
>c : Symbol(c, Decl(newWithSpreadES6.ts, 27, 3))
225-
>"a-b" : Symbol(C."a-b", Decl(newWithSpreadES6.ts, 17, 13))
225+
>"a-b" : Symbol(C["a-b"], Decl(newWithSpreadES6.ts, 17, 13))
226226
>a : Symbol(a, Decl(newWithSpreadES6.ts, 25, 3))
227227

228228
new (c["a-b"])(1, 2, ...a, "string");
229229
>c : Symbol(c, Decl(newWithSpreadES6.ts, 27, 3))
230-
>"a-b" : Symbol(C."a-b", Decl(newWithSpreadES6.ts, 17, 13))
230+
>"a-b" : Symbol(C["a-b"], Decl(newWithSpreadES6.ts, 17, 13))
231231
>a : Symbol(a, Decl(newWithSpreadES6.ts, 25, 3))
232232

233233
// Element access expression
234234
new g[1]["a-b"](1, 2, "string");
235235
>g : Symbol(g, Decl(newWithSpreadES6.ts, 30, 3))
236-
>"a-b" : Symbol(C."a-b", Decl(newWithSpreadES6.ts, 17, 13))
236+
>"a-b" : Symbol(C["a-b"], Decl(newWithSpreadES6.ts, 17, 13))
237237

238238
new g[1]["a-b"](1, 2, ...a);
239239
>g : Symbol(g, Decl(newWithSpreadES6.ts, 30, 3))
240-
>"a-b" : Symbol(C."a-b", Decl(newWithSpreadES6.ts, 17, 13))
240+
>"a-b" : Symbol(C["a-b"], Decl(newWithSpreadES6.ts, 17, 13))
241241
>a : Symbol(a, Decl(newWithSpreadES6.ts, 25, 3))
242242

243243
new g[1]["a-b"](1, 2, ...a, "string");
244244
>g : Symbol(g, Decl(newWithSpreadES6.ts, 30, 3))
245-
>"a-b" : Symbol(C."a-b", Decl(newWithSpreadES6.ts, 17, 13))
245+
>"a-b" : Symbol(C["a-b"], Decl(newWithSpreadES6.ts, 17, 13))
246246
>a : Symbol(a, Decl(newWithSpreadES6.ts, 25, 3))
247247

248248
// Element access expression with a punctuated key
249249
new h["a-b"]["a-b"](1, 2, "string");
250250
>h : Symbol(h, Decl(newWithSpreadES6.ts, 31, 3))
251-
>"a-b" : Symbol(C."a-b", Decl(newWithSpreadES6.ts, 17, 13))
251+
>"a-b" : Symbol(C["a-b"], Decl(newWithSpreadES6.ts, 17, 13))
252252

253253
new h["a-b"]["a-b"](1, 2, ...a);
254254
>h : Symbol(h, Decl(newWithSpreadES6.ts, 31, 3))
255-
>"a-b" : Symbol(C."a-b", Decl(newWithSpreadES6.ts, 17, 13))
255+
>"a-b" : Symbol(C["a-b"], Decl(newWithSpreadES6.ts, 17, 13))
256256
>a : Symbol(a, Decl(newWithSpreadES6.ts, 25, 3))
257257

258258
new h["a-b"]["a-b"](1, 2, ...a, "string");
259259
>h : Symbol(h, Decl(newWithSpreadES6.ts, 31, 3))
260-
>"a-b" : Symbol(C."a-b", Decl(newWithSpreadES6.ts, 17, 13))
260+
>"a-b" : Symbol(C["a-b"], Decl(newWithSpreadES6.ts, 17, 13))
261261
>a : Symbol(a, Decl(newWithSpreadES6.ts, 25, 3))
262262

263263
// Element access expression with a number

tests/baselines/reference/numericIndexingResults.symbols

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@ var c: C;
1616
var r1 = c['1'];
1717
>r1 : Symbol(r1, Decl(numericIndexingResults.ts, 7, 3), Decl(numericIndexingResults.ts, 21, 3), Decl(numericIndexingResults.ts, 34, 3))
1818
>c : Symbol(c, Decl(numericIndexingResults.ts, 6, 3))
19-
>'1' : Symbol(C.1, Decl(numericIndexingResults.ts, 1, 24))
19+
>'1' : Symbol(C[1], Decl(numericIndexingResults.ts, 1, 24))
2020

2121
var r2 = c['2'];
2222
>r2 : Symbol(r2, Decl(numericIndexingResults.ts, 8, 3), Decl(numericIndexingResults.ts, 22, 3), Decl(numericIndexingResults.ts, 35, 3))
2323
>c : Symbol(c, Decl(numericIndexingResults.ts, 6, 3))
24-
>'2' : Symbol(C."2", Decl(numericIndexingResults.ts, 2, 11))
24+
>'2' : Symbol(C["2"], Decl(numericIndexingResults.ts, 2, 11))
2525

2626
var r3 = c['3'];
2727
>r3 : Symbol(r3, Decl(numericIndexingResults.ts, 9, 3), Decl(numericIndexingResults.ts, 23, 3), Decl(numericIndexingResults.ts, 36, 3), Decl(numericIndexingResults.ts, 44, 3), Decl(numericIndexingResults.ts, 52, 3))
@@ -30,12 +30,12 @@ var r3 = c['3'];
3030
var r4 = c[1];
3131
>r4 : Symbol(r4, Decl(numericIndexingResults.ts, 10, 3), Decl(numericIndexingResults.ts, 24, 3), Decl(numericIndexingResults.ts, 37, 3), Decl(numericIndexingResults.ts, 45, 3), Decl(numericIndexingResults.ts, 53, 3))
3232
>c : Symbol(c, Decl(numericIndexingResults.ts, 6, 3))
33-
>1 : Symbol(C.1, Decl(numericIndexingResults.ts, 1, 24))
33+
>1 : Symbol(C[1], Decl(numericIndexingResults.ts, 1, 24))
3434

3535
var r5 = c[2];
3636
>r5 : Symbol(r5, Decl(numericIndexingResults.ts, 11, 3), Decl(numericIndexingResults.ts, 25, 3), Decl(numericIndexingResults.ts, 38, 3), Decl(numericIndexingResults.ts, 46, 3), Decl(numericIndexingResults.ts, 54, 3))
3737
>c : Symbol(c, Decl(numericIndexingResults.ts, 6, 3))
38-
>2 : Symbol(C."2", Decl(numericIndexingResults.ts, 2, 11))
38+
>2 : Symbol(C["2"], Decl(numericIndexingResults.ts, 2, 11))
3939

4040
var r6 = c[3];
4141
>r6 : Symbol(r6, Decl(numericIndexingResults.ts, 12, 3), Decl(numericIndexingResults.ts, 26, 3), Decl(numericIndexingResults.ts, 39, 3), Decl(numericIndexingResults.ts, 47, 3), Decl(numericIndexingResults.ts, 55, 3))
@@ -58,12 +58,12 @@ var i: I
5858
var r1 = i['1'];
5959
>r1 : Symbol(r1, Decl(numericIndexingResults.ts, 7, 3), Decl(numericIndexingResults.ts, 21, 3), Decl(numericIndexingResults.ts, 34, 3))
6060
>i : Symbol(i, Decl(numericIndexingResults.ts, 20, 3))
61-
>'1' : Symbol(I.1, Decl(numericIndexingResults.ts, 15, 24))
61+
>'1' : Symbol(I[1], Decl(numericIndexingResults.ts, 15, 24))
6262

6363
var r2 = i['2'];
6464
>r2 : Symbol(r2, Decl(numericIndexingResults.ts, 8, 3), Decl(numericIndexingResults.ts, 22, 3), Decl(numericIndexingResults.ts, 35, 3))
6565
>i : Symbol(i, Decl(numericIndexingResults.ts, 20, 3))
66-
>'2' : Symbol(I."2", Decl(numericIndexingResults.ts, 16, 14))
66+
>'2' : Symbol(I["2"], Decl(numericIndexingResults.ts, 16, 14))
6767

6868
var r3 = i['3'];
6969
>r3 : Symbol(r3, Decl(numericIndexingResults.ts, 9, 3), Decl(numericIndexingResults.ts, 23, 3), Decl(numericIndexingResults.ts, 36, 3), Decl(numericIndexingResults.ts, 44, 3), Decl(numericIndexingResults.ts, 52, 3))
@@ -72,12 +72,12 @@ var r3 = i['3'];
7272
var r4 = i[1];
7373
>r4 : Symbol(r4, Decl(numericIndexingResults.ts, 10, 3), Decl(numericIndexingResults.ts, 24, 3), Decl(numericIndexingResults.ts, 37, 3), Decl(numericIndexingResults.ts, 45, 3), Decl(numericIndexingResults.ts, 53, 3))
7474
>i : Symbol(i, Decl(numericIndexingResults.ts, 20, 3))
75-
>1 : Symbol(I.1, Decl(numericIndexingResults.ts, 15, 24))
75+
>1 : Symbol(I[1], Decl(numericIndexingResults.ts, 15, 24))
7676

7777
var r5 = i[2];
7878
>r5 : Symbol(r5, Decl(numericIndexingResults.ts, 11, 3), Decl(numericIndexingResults.ts, 25, 3), Decl(numericIndexingResults.ts, 38, 3), Decl(numericIndexingResults.ts, 46, 3), Decl(numericIndexingResults.ts, 54, 3))
7979
>i : Symbol(i, Decl(numericIndexingResults.ts, 20, 3))
80-
>2 : Symbol(I."2", Decl(numericIndexingResults.ts, 16, 14))
80+
>2 : Symbol(I["2"], Decl(numericIndexingResults.ts, 16, 14))
8181

8282
var r6 = i[3];
8383
>r6 : Symbol(r6, Decl(numericIndexingResults.ts, 12, 3), Decl(numericIndexingResults.ts, 26, 3), Decl(numericIndexingResults.ts, 39, 3), Decl(numericIndexingResults.ts, 47, 3), Decl(numericIndexingResults.ts, 55, 3))

0 commit comments

Comments
 (0)