@@ -1241,13 +1241,13 @@ object SymDenotations {
1241
1241
*/
1242
1242
class ClassDenotation private [SymDenotations ] (
1243
1243
symbol : Symbol ,
1244
- ownerIfExists : Symbol ,
1244
+ maybeOwner : Symbol ,
1245
1245
name : Name ,
1246
1246
initFlags : FlagSet ,
1247
1247
initInfo : Type ,
1248
1248
initPrivateWithin : Symbol ,
1249
1249
initRunId : RunId )
1250
- extends SymDenotation (symbol, ownerIfExists , name, initFlags, initInfo, initPrivateWithin) {
1250
+ extends SymDenotation (symbol, maybeOwner , name, initFlags, initInfo, initPrivateWithin) {
1251
1251
1252
1252
import util .LRUCache
1253
1253
@@ -2011,6 +2011,7 @@ object SymDenotations {
2011
2011
protected def sameGroup (p1 : Phase , p2 : Phase ): Boolean
2012
2012
2013
2013
private [this ] var dependent : WeakHashMap [InheritedCache , Unit ] = null
2014
+ private [this ] var checkedPeriod : Period = Nowhere
2014
2015
2015
2016
protected def invalidateDependents () = {
2016
2017
if (dependent != null ) {
@@ -2026,9 +2027,11 @@ object SymDenotations {
2026
2027
}
2027
2028
2028
2029
def isValidAt (phase : Phase )(implicit ctx : Context ) =
2029
- createdAt.runId == ctx.runId &&
2030
- createdAt.phaseId < ctx.phases.length &&
2031
- sameGroup(ctx.phases(createdAt.phaseId), phase)
2030
+ checkedPeriod == ctx.period ||
2031
+ createdAt.runId == ctx.runId &&
2032
+ createdAt.phaseId < ctx.phases.length &&
2033
+ sameGroup(ctx.phases(createdAt.phaseId), phase) &&
2034
+ { checkedPeriod = ctx.period; true }
2032
2035
}
2033
2036
2034
2037
private class InvalidCache extends InheritedCache {
0 commit comments