Lazy.st
changeset 4573 7033574e421a
parent 4226 e914ce1c6859
child 5033 256f0b1cdd22
equal deleted inserted replaced
4572:ba12c6815ecc 4573:7033574e421a
   226 
   226 
   227 doesNotUnderstand: aMessage
   227 doesNotUnderstand: aMessage
   228     "Any message to a Lazy will end up here."
   228     "Any message to a Lazy will end up here."
   229 
   229 
   230     startSemaphore notNil ifTrue:[
   230     startSemaphore notNil ifTrue:[
   231         IsDebuggingQuery query ifTrue:[
   231         Processor activeProcess isDebuggerProcess ifTrue:[
   232             "enable debugging / inspecting without evaluating"
   232             "enable debugging / inspecting without evaluating"
   233             ^ aMessage sendTo:self usingClass:Object.
   233             ^ aMessage sendTo:self usingClass:Object.
   234         ].
   234         ].
   235         self _evaluate_.
   235         self _evaluate_.
   236     ].
   236     ].
   237 
   237 
   238     ^ aMessage sendTo:result.
   238     ^ aMessage sendTo:result.
       
   239 
       
   240     "Modified: / 01-02-2018 / 10:17:27 / stefan"
   239 !
   241 !
   240 
   242 
   241 perform:aSelector withArguments:argArray
   243 perform:aSelector withArguments:argArray
   242     "send the message aSelector with all args taken from argArray
   244     "send the message aSelector with all args taken from argArray
   243      to the receiver."
   245      to the receiver."
   244 
   246 
   245     startSemaphore notNil ifTrue:[
   247     startSemaphore notNil ifTrue:[
   246         IsDebuggingQuery query ifTrue:[
   248         Processor activeProcess isDebuggerProcess ifTrue:[
   247             "enable debugging / inspecting"
   249             "enable debugging / inspecting"
   248             ^ super perform:aSelector withArguments:argArray.
   250             ^ super perform:aSelector withArguments:argArray.
   249         ].
   251         ].
   250         self _evaluate_.
   252         self _evaluate_.
   251     ].
   253     ].
   252     ^ result perform:aSelector withArguments:argArray.
   254     ^ result perform:aSelector withArguments:argArray.
       
   255 
       
   256     "Modified: / 01-02-2018 / 10:17:08 / stefan"
   253 ! !
   257 ! !
   254 
   258 
   255 !Lazy methodsFor:'testing'!
   259 !Lazy methodsFor:'testing'!
   256 
   260 
   257 isLazyValue
   261 isLazyValue