Context.st
changeset 23647 a6c73965eae8
parent 23543 170b00be0103
child 24127 ce2a0e462ff0
equal deleted inserted replaced
23646:efcbc4fd9032 23647:a6c73965eae8
     1 "{ Encoding: utf8 }"
       
     2 
       
     3 "
     1 "
     4  COPYRIGHT (c) 1988 by Claus Gittinger
     2  COPYRIGHT (c) 1988 by Claus Gittinger
     5 	      All Rights Reserved
     3 	      All Rights Reserved
     6 
     4 
     7  This software is furnished under a license and may be used
     5  This software is furnished under a license and may be used
  1148 resend
  1146 resend
  1149     "EXPERIMENTAL: resend the context's message (to the same receiver).
  1147     "EXPERIMENTAL: resend the context's message (to the same receiver).
  1150      if the method's implementation has been changed in the meanwhile (for example, in the debugger),
  1148      if the method's implementation has been changed in the meanwhile (for example, in the debugger),
  1151      the new code is executed. Otherwise the same code is reexecuted from the start."
  1149      the new code is executed. Otherwise the same code is reexecuted from the start."
  1152 
  1150 
  1153     self returnDoing:[ receiver perform:selector withArguments:(self args) ].
  1151     self returnDoing:[ 
       
  1152         selector == #doIt ifTrue:[
       
  1153             method valueWithReceiver:receiver arguments:(self args) selector:selector 
       
  1154         ] ifFalse:[
       
  1155             receiver perform:selector withArguments:(self args) 
       
  1156         ].
       
  1157     ].
  1154 
  1158 
  1155     "
  1159     "
  1156      when we arrive here, something went wrong.
  1160      when we arrive here, something went wrong.
  1157      debugging ...
  1161      debugging ...
  1158     "
  1162     "
  1159     ^ self invalidReturnOrRestartError:#'resend' with:nil
  1163     ^ self invalidReturnOrRestartError:#'resend' with:nil
       
  1164 
       
  1165     "Modified: / 26-01-2019 / 19:58:25 / Claus Gittinger"
  1160 !
  1166 !
  1161 
  1167 
  1162 restart
  1168 restart
  1163     "restart the receiver - i.e. the method is evaluated again.
  1169     "restart the receiver - i.e. the method is evaluated again.
  1164      if the context to restart already died, trigger an error.
  1170      if the context to restart already died, trigger an error.