Skip to content

Commit 3b35e23

Browse files
committed
Use "root" type reference as cache location for deferred type references
1 parent 43f2cba commit 3b35e23

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

src/compiler/checker.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15052,9 +15052,10 @@ namespace ts {
1505215052
}
1505315053

1505415054
function getObjectTypeInstantiation(type: AnonymousType | DeferredTypeReference, mapper: TypeMapper) {
15055-
const target = type.objectFlags & ObjectFlags.Instantiated ? type.target! : type;
1505615055
const declaration = type.objectFlags & ObjectFlags.Reference ? (<TypeReference>type).node! : type.symbol.declarations[0];
1505715056
const links = getNodeLinks(declaration);
15057+
const target = type.objectFlags & ObjectFlags.Reference ? <DeferredTypeReference>links.resolvedType! :
15058+
type.objectFlags & ObjectFlags.Instantiated ? type.target! : type;
1505815059
let typeParameters = links.outerTypeParameters;
1505915060
if (!typeParameters) {
1506015061
// The first time an anonymous type is instantiated we compute and store a list of the type

0 commit comments

Comments
 (0)