@@ -32741,6 +32741,10 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
32741
32741
32742
32742
function popContextualType() {
32743
32743
contextualTypeCount--;
32744
+ // Clear out the popped element's referenced objects.
32745
+ contextualTypeNodes[contextualTypeCount] = undefined!;
32746
+ contextualTypes[contextualTypeCount] = undefined;
32747
+ contextualIsCache[contextualTypeCount] = undefined!;
32744
32748
}
32745
32749
32746
32750
function findContextualNode(node: Node, includeCaches: boolean) {
@@ -32760,6 +32764,8 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
32760
32764
32761
32765
function popInferenceContext() {
32762
32766
inferenceContextCount--;
32767
+ inferenceContextNodes[inferenceContextCount] = undefined!;
32768
+ inferenceContexts[inferenceContextCount] = undefined;
32763
32769
}
32764
32770
32765
32771
function getInferenceContext(node: Node) {
@@ -32772,12 +32778,15 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
32772
32778
32773
32779
function pushActiveMapper(mapper: TypeMapper) {
32774
32780
activeTypeMappers[activeTypeMappersCount] = mapper;
32775
- activeTypeMappersCaches[activeTypeMappersCount] = new Map();
32781
+ activeTypeMappersCaches[activeTypeMappersCount] ?? = new Map();
32776
32782
activeTypeMappersCount++;
32777
32783
}
32778
32784
32779
32785
function popActiveMapper() {
32780
32786
activeTypeMappersCount--;
32787
+ // Clear out the popped element's referenced objects.
32788
+ activeTypeMappers[activeTypeMappersCount] = undefined!;
32789
+ activeTypeMappersCaches[activeTypeMappersCount].clear();
32781
32790
}
32782
32791
32783
32792
function findActiveMapper(mapper: TypeMapper) {
0 commit comments