Hi,
up to Pharo11, the commentSourcePointer that is used to read and write the class comments was in ClassOrganization.
In Pharo 12, we moved the commentSourcePointer to Class, Metaclass therefore has no empty commentSourcePointer anymore
via it’s organizer.
PR is merged… these are of course more steps then you would think
Started in Pharo11:
ix-tests-commentSourcePointer #11441
https://github.com/pharo-project/pharo/pull/11441
Add commentSourcePointer to ClassDescription #11326
https://github.com/pharo-project/pharo/pull/11326
Pharo 12:
Set-CommentSourcepointer-ClassDescription #13171
https://github.com/pharo-project/pharo/pull/13171
remove commentSourcePointer from ClassOrganization #13176
https://github.com/pharo-project/pharo/pull/13176
CommentSourcePointer-move-methods-down #13640
https://github.com/pharo-project/pharo/pull/13640
move commentSourcePointer from ClassDescription to Class #13643
https://github.com/pharo-project/pharo/pull/13643
fix BehaviorTest>>#testInstSize #13648
https://github.com/pharo-project/pharo/pull/13648
and DONE. Moving ivars around in these classes is of course not easy, it can only be done with creating a PR by editing
the code directly and then can be bootstapped, but you could not do that from a running image.
(this explains why the commentSourcePointer was in ClassOrganization to start with, when it was introduced, this was
the only place to put without major hassle)
the code is now much simpler to understand (Metaclass forwards all methods related to comments to #instanceSide)
it saves (a little bit) of memory
(Smalltalk globals allClasses size * 8) bytes
is just one step to move merge ClassOrganization with ClassDescription, which will be a bit more relevant in terms of memory
Marcus