patching base classes

Juan Manuel Vuletich jmvuletich at sinectis.com.ar
Thu Nov 18 06:10:15 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