Compressed or otherwise strange sources (was Re: Sq 3.9-7061 broken sources)

Marcus Denker 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  
>> queries'
>>
>>
>> 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.

      Marcus



More information about the Squeak-dev mailing list