@@ -48,11 +48,6 @@ namespace ts {
48
48
*/
49
49
readonly exportedModulesMap : BuilderState . ManyToManyPathMap | undefined ;
50
50
51
- previousCache ?: {
52
- id : number ,
53
- version : number ,
54
- } ;
55
-
56
51
/**
57
52
* true if file version is used as signature
58
53
* This helps in delaying the calculation of the d.ts hash as version for the file till reasonable time
@@ -86,7 +81,6 @@ namespace ts {
86
81
}
87
82
88
83
export interface ReadonlyManyToManyPathMap {
89
- readonly id : number ;
90
84
clone ( ) : ManyToManyPathMap ;
91
85
forEach ( action : ( v : ReadonlySet < Path > , k : Path ) => void ) : void ;
92
86
getKeys ( v : Path ) : ReadonlySet < Path > | undefined ;
@@ -103,18 +97,14 @@ namespace ts {
103
97
}
104
98
105
99
export interface ManyToManyPathMap extends ReadonlyManyToManyPathMap {
106
- version ( ) : number ; // Incremented each time the contents are changed
107
100
deleteKey ( k : Path ) : boolean ;
108
101
set ( k : Path , v : ReadonlySet < Path > ) : void ;
102
+ clear ( ) : void ;
109
103
}
110
104
111
- let manyToManyPathMapCount = 0 ;
112
105
export function createManyToManyPathMap ( ) : ManyToManyPathMap {
113
106
function create ( forward : ESMap < Path , ReadonlySet < Path > > , reverse : ESMap < Path , Set < Path > > , deleted : Set < Path > | undefined ) : ManyToManyPathMap {
114
- let version = 0 ;
115
107
const map : ManyToManyPathMap = {
116
- id : manyToManyPathMapCount ++ ,
117
- version : ( ) => version ,
118
108
clone : ( ) => create ( new Map ( forward ) , new Map ( reverse ) , deleted && new Set ( deleted ) ) ,
119
109
forEach : fn => forward . forEach ( fn ) ,
120
110
getKeys : v => reverse . get ( v ) ,
@@ -133,35 +123,33 @@ namespace ts {
133
123
134
124
set . forEach ( v => deleteFromMultimap ( reverse , v , k ) ) ;
135
125
forward . delete ( k ) ;
136
- version ++ ;
137
126
return true ;
138
127
} ,
139
128
set : ( k , vSet ) => {
140
- let changed = ! ! deleted ?. delete ( k ) ;
129
+ deleted ?. delete ( k ) ;
141
130
142
131
const existingVSet = forward . get ( k ) ;
143
132
forward . set ( k , vSet ) ;
144
133
145
134
existingVSet ?. forEach ( v => {
146
135
if ( ! vSet . has ( v ) ) {
147
- changed = true ;
148
136
deleteFromMultimap ( reverse , v , k ) ;
149
137
}
150
138
} ) ;
151
139
152
140
vSet . forEach ( v => {
153
141
if ( ! existingVSet ?. has ( v ) ) {
154
- changed = true ;
155
142
addToMultimap ( reverse , v , k ) ;
156
143
}
157
144
} ) ;
158
145
159
- if ( changed ) {
160
- version ++ ;
161
- }
162
-
163
146
return map ;
164
147
} ,
148
+ clear : ( ) => {
149
+ forward . clear ( ) ;
150
+ reverse . clear ( ) ;
151
+ deleted ?. clear ( ) ;
152
+ }
165
153
} ;
166
154
167
155
return map ;
@@ -179,11 +167,11 @@ namespace ts {
179
167
set . add ( v ) ;
180
168
}
181
169
182
- function deleteFromMultimap < K , V > ( map : ESMap < K , Set < V > > , k : K , v : V , removeEmpty = true ) : boolean {
170
+ function deleteFromMultimap < K , V > ( map : ESMap < K , Set < V > > , k : K , v : V ) : boolean {
183
171
const set = map . get ( k ) ;
184
172
185
173
if ( set ?. delete ( v ) ) {
186
- if ( removeEmpty && ! set . size ) {
174
+ if ( ! set . size ) {
187
175
map . delete ( k ) ;
188
176
}
189
177
return true ;
@@ -494,22 +482,6 @@ namespace ts {
494
482
export function updateExportedFilesMapFromCache ( state : BuilderState , exportedModulesMapCache : ManyToManyPathMap | undefined ) {
495
483
if ( exportedModulesMapCache ) {
496
484
Debug . assert ( ! ! state . exportedModulesMap ) ;
497
-
498
- const cacheId = exportedModulesMapCache . id ;
499
- const cacheVersion = exportedModulesMapCache . version ( ) ;
500
- if ( state . previousCache ) {
501
- if ( state . previousCache . id === cacheId && state . previousCache . version === cacheVersion ) {
502
- // If this is the same cache at the same version as last time this BuilderState
503
- // was updated, there's no need to update again
504
- return ;
505
- }
506
- state . previousCache . id = cacheId ;
507
- state . previousCache . version = cacheVersion ;
508
- }
509
- else {
510
- state . previousCache = { id : cacheId , version : cacheVersion } ;
511
- }
512
-
513
485
exportedModulesMapCache . deletedKeys ( ) ?. forEach ( path => state . exportedModulesMap ! . deleteKey ( path ) ) ;
514
486
exportedModulesMapCache . forEach ( ( exportedModules , path ) => state . exportedModulesMap ! . set ( path , exportedModules ) ) ;
515
487
}
0 commit comments