dolphinsmalltalk / Dolphin

Dolphin Smalltalk Core Image
MIT License
294 stars 58 forks source link

Improve ability to store legacy format (pre-namespace) packages #1218

Closed blairmcg closed 7 months ago

blairmcg commented 7 months ago

Revise STB to use a policy object to determine various aspects of the format that have changed over time. This allows us to handle variability when reading old versions in a more elegant manner, but more importantly allows us to write in the old format. This only works if the class format hasn't changed - we don't have the ability to write classes in old formats, only to respect the overall STB format for particular versions. This does however improve round-tripping with of packages between D7 and D8.

All of the existing conversions were visited, and the test coverage of old versions improved where old binary serialisation data existed, or could be recreated. Existing view/presenter tests not under PresenterTest were moved there to be able to inherit the STB/STL conversion tests.