This change largely resolves the problems with the storage API, so that the implementation can now be split in two disjoint segments. One operation, `mark_emitted()`, is still misplaced on that API, yet must be retained until the refactoring on the metadata side is complete (this latter refactoring can not be started sensibly, before the old »tracking« implementation is cleaned up to care for allocation solely). With this change, the existing implementation, which combines the tracking functionality and the allocation, has been squeezed down into the heap-memory implementation class, yet the tracking functionality is already detached. The remaining code down there is a huge pile of mess, that can hopefully be dismantled soon. But at least all of this code passes the compiler again, and so it should be possible now to focus on getting the `DiagnosticBufferProvider` up and running, thereby providing a new clean re-implementation of the diagnostic functions.
11 MiB
11 MiB
| The file is too large to be shown. |