Login  Register

Re: Ring - model infrastructure for Pharo

Posted by Stéphane Ducasse on Dec 12, 2010; 7:41am
URL: https://forum.world.st/Ring-model-infrastructure-for-Pharo-tp3081971p3084065.html


On Dec 11, 2010, at 8:35 PM, Igor Stasenko wrote:

> CompiledMethod>>#methodNode
> is a conversion method
> and as any conversion i would prefer it be prefixed with 'as' , i.e.
> #asMethodNode
>
> #stringVersion is used only in MessageTrace in my image.
>
> Concerning #stringVersion:
> i really don't have an idea what this stuff doing there?
> Why a method reference allows putting an arbitrary data (strings)
> there by various tools?

:)

because it was handy and cool to have a holder of anything from the tools point of view.
And this is why we will clean that :)

>
> Then maybe better call it 'annotation' , and correspondingly #defaultAnnotation,
> so we will know that this field used for annotations by different tools?



>
> About #isMeta and friends:
> they serve nothing , but introducing a lot of ad-hoc logic with code
> branches all over the places.
> We should learn how to use message dispatching better :)

this is not always that simple.

> IMO, the 'theClass' ivar should be capable answering this message,
> along with #name, which gives the name of a class.
> Method reference in its 'theClass' ivar instead of symbol, should hold
> either real class object (or metaclass object),

No because you can be analysing an off-image
code or not yet installed code. So you cannot rely on the fact that the real class is reachable.

> or a proxy (in same way as method reference is a proxy by itself).
>
>
> --
> Best regards,
> Igor Stasenko AKA sig.
>