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. >
