[squeak-dev] The Inbox: Mirrors-cwp.3.mcz

commits at source.squeak.org commits at source.squeak.org
Tue May 22 14:59:45 UTC 2012


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!



More information about the Squeak-dev mailing list