patching base classes

Juan Manuel Vuletich jmvuletich at sinectis.com.ar
Thu Nov 18 04:16:28 UTC 1999


Hi all

Ian Piumarta wrote:
> PS: And thus the obvious logical loophole is opened up for all to
>     marvel at:
> 
>         Interpreter new isInterpreter
>                 => false
> 
>     ;-)

I guess it was a joke, the method always answered false. This seems
correct to me:

Object>>doesNotUnderstand: aMessage 
	 "Handle the fact that there was an attempt to send the given message
to the receiver but the receiver does not understand this message
(typically sent from the machine when a message is sent to the receiver
and no method is defined for that selector)."
	"Testing: (3 activeProcess)"

	(Preferences autoAccessors and: [self tryToDefineVariableAccess:
aMessage])
		ifTrue: [^ aMessage sentTo: self].
	Preferences autoDeclineMembership
		and: [(aMessage selector beginsWith: 'is')
		and: [Symbol
			hasInterned: (aMessage selector copyFrom: 3 to: aMessage selector
size)
			ifTrue: [:sym | (Smalltalk includesKey: sym) ifTrue: [^ self
isKindOf: (Smalltalk at: sym)]]]].
	MessageNotUnderstood new message: aMessage;
		signal.
	^aMessage sentTo: self

Cheers,
Juan Manuel Vuletich





More information about the Squeak-dev mailing list