Hi Marcus,

Thanks for the answers. I am discovering Reflectivity, I just have a couple more questions if you don't mind:

2015-09-11 15:26 GMT-03:00 Marcus Denker <marcus.denker@inria.fr>:

> On 11 Sep 2015, at 20:05, Hern��n Morales Durand <hernan.morales@gmail.com> wrote:
>
>
> I saw some interesting reflection progress in Pharo 5. I wonder if there is a feature to rank instance variables. For example, from the browser I want to assign a category "important" to an instance variable, or "possibly useless", etc. for later refactorings.
>
> Is such thing "easily" possible now? There is API support from Reflectivity maybe?
>

The infrastructure is there��� we can annotate instance variables.

(Point slotNamed: #x) propertyAt: #note put: 'useless'.
(Point slotNamed: #x) propertyAt: #note

One could build a user interface around that.


This is cool, I just hope the Nautilus plugin interface is stable by now then :)
��
Properties are not saved with monticello, though. They are like method properties. So one would
need to build something on top...


I don't know about MC model, but maybe extending MC to support properies/annotations could be a path?

��
Another idea would be to make a subclass of InstanceVariableSlot that stores the note in a property but
it is actually part of the slot definition:

Object subclass: #Point
�� �� �� �� slots: { #x => InstanceVariableWithNote note: ���this is useless���.
�� �� �� �� �� �� �� �� �� ��#y }
�� �� �� �� classVariables: {�� }
�� �� �� �� category: 'Kernel-BasicObjects'

As the note is part of the slot definition, it would be saved in Monticello.


It could be silly question but most of the time I wish to annotate while debugging, using that option would affect my debugged objec state?

Cheers,

Hern��n
��


(unrelated: I still am tempted to just use the term ���instance variable��� and get rid of the term Slot.. for the paper is was nice, but now? Especially
as we have slot like first class ClassVars and Globals that nevertheless are not slots���)

�� �� �� �� Marcus