Collector Strategy
The "mark" half of the mark-and-sweep collector: looks at candidate propositions and reports which ones should be collected, and why.
Implementations should be stateless and read-only — the same inputs should always produce the same marks, and the repository should never be mutated here. Marking is a read-and-report step; the SweepPolicy decides what actually happens to each mark.
The repository is provided so a strategy can look up extra context it needs (e.g. finding a duplicate's survivor) without having to own its own storage.
Inheritors
Functions
Link copied to clipboard
abstract fun mark(candidates: List<Proposition>, repository: PropositionRepository, contextId: <Error class: unknown class>): List<PropositionMark>
Inspect candidates and report which should be collected.