@@ -321,8 +321,8 @@ object Phases {
321321 private var mySymbolicRefs = false
322322 private var myLabelsReordered = false
323323
324- private var myMembersGroup = 0
325- private var myParentsGroup = 0
324+ private var mySameMembersStartId = NoPhaseId
325+ private var mySameParentsStartId = NoPhaseId
326326
327327 /** The sequence position of this phase in the given context where 0
328328 * is reserved for NoPhase and the first real phase is at position 1.
@@ -339,8 +339,11 @@ object Phases {
339339 final def refChecked = myRefChecked // Phase is after RefChecks
340340 final def symbolicRefs = mySymbolicRefs // Phase is after ResolveSuper, newly generated TermRefs should be symbolic
341341 final def labelsReordered = myLabelsReordered // Phase is after LabelDefs, labels are flattened and owner chains don't mirror this
342- final def membersGroup = myMembersGroup // group id for phases where all symbols have the same non-private members
343- final def parentsGroup = myParentsGroup // group id for phases where all symbols have the same base classes
342+
343+ final def sameMembersStartId = mySameMembersStartId
344+ // id of first phase where all symbols are guaranteed to have the same members as in this phase
345+ final def sameParentsStartId = mySameParentsStartId
346+ // id of first phase where all symbols are guaranteed to have the same parents as in this phase
344347
345348 protected [Phases ] def init (base : ContextBase , start : Int , end: Int ): Unit = {
346349 if (start >= FirstPhaseId )
@@ -352,8 +355,8 @@ object Phases {
352355 myRefChecked = prev.getClass == classOf [RefChecks ] || prev.refChecked
353356 mySymbolicRefs = prev.getClass == classOf [ResolveSuper ] || prev.symbolicRefs
354357 myLabelsReordered = prev.getClass == classOf [LabelDefs ] || prev.labelsReordered
355- myMembersGroup = if (changesMembers) prev.membersGroup + 1 else prev.membersGroup
356- myParentsGroup = if (changesParents) prev.parentsGroup + 1 else prev.parentsGroup
358+ mySameMembersStartId = if (changesMembers) id else prev.sameMembersStartId
359+ mySameParentsStartId = if (changesParents) id else prev.sameMembersStartId
357360 }
358361
359362 protected [Phases ] def init (base : ContextBase , id : Int ): Unit = init(base, id, id)
0 commit comments