Compressed or otherwise strange sources (was Re: Sq 3.9-7061
denker at iam.unibe.ch
Tue Oct 10 07:04:08 UTC 2006
On 10.10.2006, at 01:54, tim Rowledge wrote:
> On 9-Oct-06, at 3:50 PM, Marcus Denker wrote:
>> In Preferences>>class there is:
>> compileAccessMethodForPreference: aPreference
>> "Compile an accessor method for the given preference"
>> self class compileSilently: (aPreference name, '
>> ^ self valueOfFlag: #', aPreference name, ' ifAbsent: [',
>> aPreference defaultValue storeString, ']') classified: 'standard
>> This will result in methods with a trailer of #(0 0 0 0)...
> Interesting. That seems like a mistake to me. Surely any method
> that can appear in the browsers really ought to have properly set
> sourcecode, just out of politeness.
Yes. Just to make sure: This is not 3.9 specific. It has been there
for ages (I guess as long as Preferences exist)
> Anyway, what I'm trying to establish is that there are no methods
> with compress or otherwise strange sources in the image. No source
> at all is ok I suppose, so long as I know about it.
It has bitten me in the past, too. It's quite interesting when you
can recompile the image once, but not twice (because the decompiler
had a bug).
> SystemNavigation default allMethodsNoDoitsSelect:[:cm|
> cm last between: 1 and: 251]
> which is an empty collection. So I *think* from checking up with
> CompiledMethod>endPC etc that I can feel sure all is ok.
> It seems that all methods have the new property stuff added. What
> I'm hoping to do is move the source reference into the properties,
> where once it is a proper object and not a poorly fudged integer of
> strongly assumed nature, it can be extend to do any interesting
> access work.
Good! Did you look at the patch that Klaus did? I don't remember if
he uses properties, though.
More information about the Squeak-dev