Lazy.st
changeset 4226 e914ce1c6859
parent 4007 da947b2313c9
child 4573 7033574e421a
equal deleted inserted replaced
4225:4cb5eeb736bc 4226:e914ce1c6859
     1 "{ Encoding: utf8 }"
       
     2 
       
     3 "
     1 "
     4  This is a Manchester Goodie protected by copyright.
     2  This is a Manchester Goodie protected by copyright.
     5  These conditions are imposed on the whole Goodie, and on any significant
     3  These conditions are imposed on the whole Goodie, and on any significant
     6  part of it which is separately transmitted or stored:
     4  part of it which is separately transmitted or stored:
     7 	* You must ensure that every copy includes this notice, and that
     5 	* You must ensure that every copy includes this notice, and that
   236         ].
   234         ].
   237         self _evaluate_.
   235         self _evaluate_.
   238     ].
   236     ].
   239 
   237 
   240     ^ aMessage sendTo:result.
   238     ^ aMessage sendTo:result.
       
   239 !
       
   240 
       
   241 perform:aSelector withArguments:argArray
       
   242     "send the message aSelector with all args taken from argArray
       
   243      to the receiver."
       
   244 
       
   245     startSemaphore notNil ifTrue:[
       
   246         IsDebuggingQuery query ifTrue:[
       
   247             "enable debugging / inspecting"
       
   248             ^ super perform:aSelector withArguments:argArray.
       
   249         ].
       
   250         self _evaluate_.
       
   251     ].
       
   252     ^ result perform:aSelector withArguments:argArray.
   241 ! !
   253 ! !
   242 
   254 
   243 !Lazy methodsFor:'testing'!
   255 !Lazy methodsFor:'testing'!
   244 
   256 
   245 isLazyValue
   257 isLazyValue