@@ -95,8 +95,8 @@ var parsePadding = 1000 // mutable for testing
95
95
// caching) multiple files. This is necessary for type-checking, where files
96
96
// must be parsed in a common fileset.
97
97
type parseCache struct {
98
- maxAge time.Duration // interval at which to collect expired cache entries
99
- done chan struct {} // closed when GC is stopped
98
+ expireAfter time.Duration // interval at which to collect expired cache entries
99
+ done chan struct {} // closed when GC is stopped
100
100
101
101
mu sync.Mutex
102
102
m map [parseKey ]* parseCacheEntry
@@ -106,14 +106,14 @@ type parseCache struct {
106
106
}
107
107
108
108
// newParseCache creates a new parse cache and starts a goroutine to garbage
109
- // collect old entries that are older than maxAge .
109
+ // collect entries whose age is at least expireAfter .
110
110
//
111
111
// Callers must call parseCache.stop when the parse cache is no longer in use.
112
- func newParseCache (maxAge time.Duration ) * parseCache {
112
+ func newParseCache (expireAfter time.Duration ) * parseCache {
113
113
c := & parseCache {
114
- maxAge : maxAge ,
115
- m : make (map [parseKey ]* parseCacheEntry ),
116
- done : make (chan struct {}),
114
+ expireAfter : expireAfter ,
115
+ m : make (map [parseKey ]* parseCacheEntry ),
116
+ done : make (chan struct {}),
117
117
}
118
118
go c .gc ()
119
119
return c
@@ -275,7 +275,7 @@ func (c *parseCache) gcOnce() {
275
275
276
276
for len (c .m ) > parseCacheMinFiles {
277
277
e := heap .Pop (& c .lru ).(* parseCacheEntry )
278
- if now .Sub (e .walltime ) > c .maxAge {
278
+ if now .Sub (e .walltime ) >= c .expireAfter {
279
279
delete (c .m , e .key )
280
280
} else {
281
281
heap .Push (& c .lru , e )
0 commit comments