Skip to content

Commit b9fb4cc

Browse files
committed
Fix quickinfo display of deferred mapped types
1 parent 9aa5443 commit b9fb4cc

1 file changed

Lines changed: 6 additions & 3 deletions

File tree

src/compiler/checker.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3685,7 +3685,10 @@ namespace ts {
36853685
writePunctuation(writer, SyntaxKind.SemicolonToken);
36863686
writer.writeLine();
36873687
}
3688-
buildIndexSignatureDisplay(resolved.stringIndexInfo, writer, IndexKind.String, enclosingDeclaration, globalFlags, symbolStack);
3688+
const stringIndexInfo = resolved.objectFlags & ObjectFlags.Deferred && resolved.stringIndexInfo ?
3689+
createIndexInfo(emptyObjectType, resolved.stringIndexInfo.isReadonly, resolved.stringIndexInfo.declaration) :
3690+
resolved.stringIndexInfo;
3691+
buildIndexSignatureDisplay(stringIndexInfo, writer, IndexKind.String, enclosingDeclaration, globalFlags, symbolStack);
36893692
buildIndexSignatureDisplay(resolved.numberIndexInfo, writer, IndexKind.Number, enclosingDeclaration, globalFlags, symbolStack);
36903693
for (const p of resolved.properties) {
36913694
if (globalFlags & TypeFormatFlags.WriteClassExpressionAsTypeLiteral) {
@@ -3696,7 +3699,7 @@ namespace ts {
36963699
writer.reportPrivateInBaseOfClassExpression(symbolName(p));
36973700
}
36983701
}
3699-
const t = getTypeOfSymbol(p);
3702+
const t = getCheckFlags(p) & CheckFlags.Deferred ? emptyObjectType : getTypeOfSymbol(p);
37003703
if (p.flags & (SymbolFlags.Function | SymbolFlags.Method) && !getPropertiesOfObjectType(t).length) {
37013704
const signatures = getSignaturesOfType(t, SignatureKind.Call);
37023705
for (const signature of signatures) {
@@ -11325,7 +11328,7 @@ namespace ts {
1132511328
return undefined;
1132611329
}
1132711330
}
11328-
const deferred = createObjectType(ObjectFlags.Deferred | ObjectFlags.Anonymous, undefined) as DeferredMappedType;
11331+
const deferred = createObjectType(ObjectFlags.Deferred | ObjectFlags.Anonymous, /*symbol*/ undefined) as DeferredMappedType;
1132911332
deferred.source = source;
1133011333
deferred.mappedType = target;
1133111334
return deferred;

0 commit comments

Comments
 (0)