Hi,

I’m not so much into the details of the issue, but I would guess this is a 
feature.
I mean… is not very anonymous if it announces to the system its existence :)

cheers,
Esteban

> On 6 Jul 2018, at 12:14, Peter Uhnák <[email protected]> wrote:
> 
> Hi,
> 
> I'm porting some of my code from P5, and it seems that MethodAnnouncements 
> are no longer being fired on anonymous subclasses.
> 
> Is this a bug or a feature?
> 
> script:
> ~~~~~~~~~~~~~~~
> normalCls := Object subclass: #Something.
> anonymousCls := normalCls newAnonymousSubclass.
> 
> normalCls removeSelector: #meNormal.
> 
> self logCr: ''.
> 
> methodAdded := [ :method | self log: method; log: ' '; logCr: method method 
> printString ].
> methodModified := [ :method | self log: method; log: ' '; logCr: method 
> method printString ].
> 
> SystemAnnouncer uniqueInstance weak
>       when: MethodAdded send: #value: to: methodAdded;
>       when: MethodModified send: #value: to: methodModified.
> 
> anonymousCls compile: 'meAnn ^ ''add'''.
> anonymousCls compile: 'meAnn ^ ''change'''.
> 
> normalCls compile: 'meNormal ^ ''add/change'''.
> 
> SystemAnnouncer uniqueInstance unsubscribe: methodAdded.
> SystemAnnouncer uniqueInstance unsubscribe: methodModified.
> ~~~~~~~~~~~~~~~ 
> 
> P5 transcript:
> ~~~~~~~~~~~~~~~  
> a MethodAdded a subclass of Something>>#meAnn
> a MethodModified a subclass of Something>>#meAnn
> a MethodAdded Something>>#meNormal
> a MethodModified Something>>#meNormal
> ~~~~~~~~~~~~~~~  
> 
> P6 + P7 transcript:
> ~~~~~~~~~~~~~~~ 
> a MethodAdded Something>>#meNormal
> a MethodModified Something>>#meNormal
> ~~~~~~~~~~~~~~~ 
> 
> Thanks,
> Peter

Reply via email to