Chris Muller uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-cmm.760.mcz ==================== Summary ==================== Name: Kernel-cmm.760 Author: cmm Time: 26 May 2013, 11:25:19.426 am UUID: 523782ae-3096-40ec-8031-77432a691908 Ancestors: Kernel-fbs.759 - Move #isKindOf: to ProtoObject to allow the PointerFinder to work with Proxies. =============== Diff against Kernel-fbs.759 =============== Item was removed: - ----- Method: Object>>isKindOf: (in category 'class membership') ----- - isKindOf: aClass - "Answer whether the class, aClass, is a superclass or class of the receiver." - - self class == aClass - ifTrue: [^true] - ifFalse: [^self class inheritsFrom: aClass]! Item was added: + ----- Method: ProtoObject>>isKindOf: (in category 'testing') ----- + isKindOf: aClass + "Answer whether the class, aClass, is a superclass or class of the receiver." + ^ self class == aClass or: [ self class inheritsFrom: aClass ]! |
On Sun, 26 May 2013, [hidden email] wrote:
> Chris Muller uploaded a new version of Kernel to project The Trunk: > http://source.squeak.org/trunk/Kernel-cmm.760.mcz > > ==================== Summary ==================== > > Name: Kernel-cmm.760 > Author: cmm > Time: 26 May 2013, 11:25:19.426 am > UUID: 523782ae-3096-40ec-8031-77432a691908 > Ancestors: Kernel-fbs.759 > > - Move #isKindOf: to ProtoObject to allow the PointerFinder to work with Proxies. Proxies shouldn't be implemented by subclassing ProtoObject. Levente > > =============== Diff against Kernel-fbs.759 =============== > > Item was removed: > - ----- Method: Object>>isKindOf: (in category 'class membership') ----- > - isKindOf: aClass > - "Answer whether the class, aClass, is a superclass or class of the receiver." > - > - self class == aClass > - ifTrue: [^true] > - ifFalse: [^self class inheritsFrom: aClass]! > > Item was added: > + ----- Method: ProtoObject>>isKindOf: (in category 'testing') ----- > + isKindOf: aClass > + "Answer whether the class, aClass, is a superclass or class of the receiver." > + ^ self class == aClass or: [ self class inheritsFrom: aClass ]! > > > |
Why?
On Sun, May 26, 2013 at 1:11 PM, Levente Uzonyi <[hidden email]> wrote: > On Sun, 26 May 2013, [hidden email] wrote: > >> Chris Muller uploaded a new version of Kernel to project The Trunk: >> http://source.squeak.org/trunk/Kernel-cmm.760.mcz >> >> ==================== Summary ==================== >> >> Name: Kernel-cmm.760 >> Author: cmm >> Time: 26 May 2013, 11:25:19.426 am >> UUID: 523782ae-3096-40ec-8031-77432a691908 >> Ancestors: Kernel-fbs.759 >> >> - Move #isKindOf: to ProtoObject to allow the PointerFinder to work with >> Proxies. > > > Proxies shouldn't be implemented by subclassing ProtoObject. > > > Levente > > >> >> =============== Diff against Kernel-fbs.759 =============== >> >> Item was removed: >> - ----- Method: Object>>isKindOf: (in category 'class membership') ----- >> - isKindOf: aClass >> - "Answer whether the class, aClass, is a superclass or class of the >> receiver." >> - >> - self class == aClass >> - ifTrue: [^true] >> - ifFalse: [^self class inheritsFrom: aClass]! >> >> Item was added: >> + ----- Method: ProtoObject>>isKindOf: (in category 'testing') ----- >> + isKindOf: aClass >> + "Answer whether the class, aClass, is a superclass or class of the >> receiver." >> + ^ self class == aClass or: [ self class inheritsFrom: aClass ]! >> >> >> > |
On Sun, 26 May 2013, Chris Muller wrote:
> Why? Because there's a better way: http://lists.squeakfoundation.org/pipermail/squeak-dev/2008-November/132554.html IIRC Igor extended his implementation, and it's probably part of Pharo since 1.x. Levente > > On Sun, May 26, 2013 at 1:11 PM, Levente Uzonyi <[hidden email]> wrote: >> On Sun, 26 May 2013, [hidden email] wrote: >> >>> Chris Muller uploaded a new version of Kernel to project The Trunk: >>> http://source.squeak.org/trunk/Kernel-cmm.760.mcz >>> >>> ==================== Summary ==================== >>> >>> Name: Kernel-cmm.760 >>> Author: cmm >>> Time: 26 May 2013, 11:25:19.426 am >>> UUID: 523782ae-3096-40ec-8031-77432a691908 >>> Ancestors: Kernel-fbs.759 >>> >>> - Move #isKindOf: to ProtoObject to allow the PointerFinder to work with >>> Proxies. >> >> >> Proxies shouldn't be implemented by subclassing ProtoObject. >> >> >> Levente >> >> >>> >>> =============== Diff against Kernel-fbs.759 =============== >>> >>> Item was removed: >>> - ----- Method: Object>>isKindOf: (in category 'class membership') ----- >>> - isKindOf: aClass >>> - "Answer whether the class, aClass, is a superclass or class of the >>> receiver." >>> - >>> - self class == aClass >>> - ifTrue: [^true] >>> - ifFalse: [^self class inheritsFrom: aClass]! >>> >>> Item was added: >>> + ----- Method: ProtoObject>>isKindOf: (in category 'testing') ----- >>> + isKindOf: aClass >>> + "Answer whether the class, aClass, is a superclass or class of the >>> receiver." >>> + ^ self class == aClass or: [ self class inheritsFrom: aClass ]! >>> >>> >>> >> > > |
This is new to me, but sounds interesting.
However, i know a lot code that creates proxies Using ProtoObject … Am 27.05.2013 um 02:50 schrieb Levente Uzonyi <[hidden email]>: > On Sun, 26 May 2013, Chris Muller wrote: > >> Why? > > Because there's a better way: http://lists.squeakfoundation.org/pipermail/squeak-dev/2008-November/132554.html > > IIRC Igor extended his implementation, and it's probably part of Pharo since 1.x. > > > Levente > >> >> On Sun, May 26, 2013 at 1:11 PM, Levente Uzonyi <[hidden email]> wrote: >>> On Sun, 26 May 2013, [hidden email] wrote: >>> >>>> Chris Muller uploaded a new version of Kernel to project The Trunk: >>>> http://source.squeak.org/trunk/Kernel-cmm.760.mcz >>>> >>>> ==================== Summary ==================== >>>> >>>> Name: Kernel-cmm.760 >>>> Author: cmm >>>> Time: 26 May 2013, 11:25:19.426 am >>>> UUID: 523782ae-3096-40ec-8031-77432a691908 >>>> Ancestors: Kernel-fbs.759 >>>> >>>> - Move #isKindOf: to ProtoObject to allow the PointerFinder to work with >>>> Proxies. >>> >>> >>> Proxies shouldn't be implemented by subclassing ProtoObject. >>> >>> >>> Levente >>> >>> >>>> >>>> =============== Diff against Kernel-fbs.759 =============== >>>> >>>> Item was removed: >>>> - ----- Method: Object>>isKindOf: (in category 'class membership') ----- >>>> - isKindOf: aClass >>>> - "Answer whether the class, aClass, is a superclass or class of the >>>> receiver." >>>> - >>>> - self class == aClass >>>> - ifTrue: [^true] >>>> - ifFalse: [^self class inheritsFrom: aClass]! >>>> >>>> Item was added: >>>> + ----- Method: ProtoObject>>isKindOf: (in category 'testing') ----- >>>> + isKindOf: aClass >>>> + "Answer whether the class, aClass, is a superclass or class of the >>>> receiver." >>>> + ^ self class == aClass or: [ self class inheritsFrom: aClass ]! > |
Yes. After looking at it, it appears the "goal" of Igor's
MessageCatchingProxy is to have a "clean slate" proxy. I don't know how this differs from simply inheriting from nil, unless it's to help the tools (Browsers, etc.), which may rely on some Object/ProtoObject methods, to work. I can understand perhaps for a message counting or logging tool, MessageCatchingProxy would make a lot of sense. In my case for a DB proxy, I'd end up copying at least several of the methods from ProtoObject. Whether one wants their proxy be a "clean slate" or inherit a "minimal API", depends on what they want to do.. On Mon, May 27, 2013 at 1:20 AM, Tobias Pape <[hidden email]> wrote: > This is new to me, but sounds interesting. > However, i know a lot code that creates proxies > Using ProtoObject … > Am 27.05.2013 um 02:50 schrieb Levente Uzonyi <[hidden email]>: > >> On Sun, 26 May 2013, Chris Muller wrote: >> >>> Why? >> >> Because there's a better way: http://lists.squeakfoundation.org/pipermail/squeak-dev/2008-November/132554.html >> >> IIRC Igor extended his implementation, and it's probably part of Pharo since 1.x. >> >> >> Levente >> >>> >>> On Sun, May 26, 2013 at 1:11 PM, Levente Uzonyi <[hidden email]> wrote: >>>> On Sun, 26 May 2013, [hidden email] wrote: >>>> >>>>> Chris Muller uploaded a new version of Kernel to project The Trunk: >>>>> http://source.squeak.org/trunk/Kernel-cmm.760.mcz >>>>> >>>>> ==================== Summary ==================== >>>>> >>>>> Name: Kernel-cmm.760 >>>>> Author: cmm >>>>> Time: 26 May 2013, 11:25:19.426 am >>>>> UUID: 523782ae-3096-40ec-8031-77432a691908 >>>>> Ancestors: Kernel-fbs.759 >>>>> >>>>> - Move #isKindOf: to ProtoObject to allow the PointerFinder to work with >>>>> Proxies. >>>> >>>> >>>> Proxies shouldn't be implemented by subclassing ProtoObject. >>>> >>>> >>>> Levente >>>> >>>> >>>>> >>>>> =============== Diff against Kernel-fbs.759 =============== >>>>> >>>>> Item was removed: >>>>> - ----- Method: Object>>isKindOf: (in category 'class membership') ----- >>>>> - isKindOf: aClass >>>>> - "Answer whether the class, aClass, is a superclass or class of the >>>>> receiver." >>>>> - >>>>> - self class == aClass >>>>> - ifTrue: [^true] >>>>> - ifFalse: [^self class inheritsFrom: aClass]! >>>>> >>>>> Item was added: >>>>> + ----- Method: ProtoObject>>isKindOf: (in category 'testing') ----- >>>>> + isKindOf: aClass >>>>> + "Answer whether the class, aClass, is a superclass or class of the >>>>> receiver." >>>>> + ^ self class == aClass or: [ self class inheritsFrom: aClass ]! >> > |
Free forum by Nabble | Edit this page |