mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-04-17 01:49:41 -05:00
Fixed cache key computation for tuple target types with partially named members (#55695)
This commit is contained in:
committed by
GitHub
parent
4f899a1691
commit
4b0f54fe9f
@@ -16392,10 +16392,9 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
|
||||
// [...X[]] is equivalent to just X[]
|
||||
return readonly ? globalReadonlyArrayType : globalArrayType;
|
||||
}
|
||||
const memberIds = mapDefined(namedMemberDeclarations, node => node ? getNodeId(node) : undefined);
|
||||
const key = map(elementFlags, f => f & ElementFlags.Required ? "#" : f & ElementFlags.Optional ? "?" : f & ElementFlags.Rest ? "." : "*").join() +
|
||||
(readonly ? "R" : "") +
|
||||
(memberIds.length ? "," + memberIds.join(",") : "");
|
||||
(some(namedMemberDeclarations, node => !!node) ? "," + map(namedMemberDeclarations, node => node ? getNodeId(node) : "_").join(",") : "");
|
||||
let type = tupleTypes.get(key);
|
||||
if (!type) {
|
||||
tupleTypes.set(key, type = createTupleTargetType(elementFlags, readonly, namedMemberDeclarations));
|
||||
|
||||
Reference in New Issue
Block a user