You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Collapse the single-subclass ReplayLogger base into ReplayLoggerImpl #7673
Once #7452 removes EmptyReplayLogger, the abstract base ReplayLogger has exactly one subclass and no declared-type site anywhere in the repo. ReplayLogManagerImpl builds it as new ReplayLoggerImpl(), so the inferred type is the concrete class — the base is never named as a type.
ReplayLogManager.scala:109 private val replayLogger = new ReplayLoggerImpl() -> inferred ReplayLoggerImpl
ReplayLoggerImpl.scala:31 class ReplayLoggerImpl extends ReplayLogger -> the only subclass
ReplayLogger.scala:28 abstract class ReplayLogger -> nothing else refers to it
The change: drop extends ReplayLogger from ReplayLoggerImpl, keep its three method bodies as they are, and delete ReplayLogger.scala. Roughly −40 lines, no behaviour change.
Raised as an advisory while reviewing #7452, under the "introduce an abstraction at the second use" standard. Kept out of that PR because this edits live code, whereas #7452 is a pure dead-code deletion.
Activity
chore(amber): remove the unused EmptyReplayLogger (apache#7452)
refactor(amber): collapse the single-subclass ReplayLogger hierarchy …