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