The Inbox: Mirrors-cwp.3.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Inbox: Mirrors-cwp.3.mcz

commits-2
A new version of Mirrors was added to project The Inbox:
http://source.squeak.org/inbox/Mirrors-cwp.3.mcz

==================== Summary ====================

Name: Mirrors-cwp.3
Author: cwp
Time: 22 May 2012, 7:58:35.001 am
UUID: ce10c0ff-2bec-42a4-9019-aa357e803b24
Ancestors: Mirrors-cwp.2

Made MessageShunt a subclass of ProtoObject for now. Having a nil superclass causes problems.

=============== Diff against Mirrors-cwp.2 ===============

Item was changed:
+ ProtoObject subclass: #MessageShunt
- nil subclass: #MessageShunt
  instanceVariableNames: 'handler'
  classVariableNames: ''
  poolDictionaries: ''
  category: 'Mirrors-Utilities'!

Item was added:
+ ----- Method: MessageShunt class>>deactivate (in category 'as yet unclassified') -----
+ deactivate
+ | inst |
+ inst := self someInstance.
+ [inst == nil] whileFalse:
+ [Reflection receiver: inst perform: #fixedAt:put: arguments: {1. [:v]}.
+ inst := Reflection receiver: inst perform: #nextInstance arguments: #()]!

Item was removed:
- ----- Method: MessageShunt class>>initialize (in category 'as yet unclassified') -----
- initialize
- self superclass: nil!

Item was removed:
- ----- Method: Reflection class>>with:do: (in category 'as yet unclassified') -----
- with: anObject do: aBlock
- | result shunt |
- shunt := MessageShunt handler:
- [:message || cm |
- cm := self compiledMethodAt: message selector.
- result := self
- receiver: anObject
- withArguments: message arguments
- executeMethod: cm].
- aBlock value: shunt.
- ^ result
- !

Item was added:
+ ----- Method: Reflection>>nextInstance (in category 'as yet unclassified') -----
+ nextInstance
+ <primitive: 78>
+ ^ nil!