Block.st
changeset 5931 9e40d7255c26
parent 5779 d7dcb078cc74
child 5944 abd51a8a6ca1
equal deleted inserted replaced
5930:d7728046c2e1 5931:9e40d7255c26
   492 
   492 
   493 numArgs
   493 numArgs
   494     "return the number of arguments I expect for evaluation"
   494     "return the number of arguments I expect for evaluation"
   495 
   495 
   496     ^ nargs
   496     ^ nargs
       
   497 ! !
       
   498 
       
   499 !Block methodsFor:'binary storage'!
       
   500 
       
   501 storeBinaryDefinitionOn:stream manager:manager
       
   502     byteCode isNil ifTrue:[
       
   503         self halt:'cannot preserve semantics of block'.
       
   504     ].
       
   505     ^ super storeBinaryDefinitionOn:stream manager:manager
   497 ! !
   506 ! !
   498 
   507 
   499 !Block methodsFor:'conversion'!
   508 !Block methodsFor:'conversion'!
   500 
   509 
   501 asVarArgBlock
   510 asVarArgBlock
  1121 
  1130 
  1122     |sig handler|
  1131     |sig handler|
  1123 
  1132 
  1124     theContext selector == #on:do: ifTrue:[
  1133     theContext selector == #on:do: ifTrue:[
  1125         sig := theContext argAt:1.
  1134         sig := theContext argAt:1.
       
  1135         sig isNil ifTrue:[
       
  1136             'oops - nil arg in on:do:-context (undefined Exception)' errorPrintCR.
       
  1137             theContext fullPrint.
       
  1138             ^ nil.
       
  1139         ].
  1126         (sig == signal or:[sig accepts:signal]) ifTrue:[
  1140         (sig == signal or:[sig accepts:signal]) ifTrue:[
  1127             handler := theContext argAt:2.
  1141             handler := theContext argAt:2.
  1128             "/ this is for backward compatibility when no ex-arg
  1142             "/ this is for backward compatibility when no ex-arg
  1129             "/ is expected in the block. Is it worth the effort ?
  1143             "/ is expected in the block. Is it worth the effort ?
  1130             handler numArgs == 0 ifTrue:[
  1144             handler numArgs == 0 ifTrue:[
  1776 ! !
  1790 ! !
  1777 
  1791 
  1778 !Block class methodsFor:'documentation'!
  1792 !Block class methodsFor:'documentation'!
  1779 
  1793 
  1780 version
  1794 version
  1781     ^ '$Header: /cvs/stx/stx/libbasic/Block.st,v 1.101 2001-01-10 12:52:25 cg Exp $'
  1795     ^ '$Header: /cvs/stx/stx/libbasic/Block.st,v 1.102 2001-08-23 21:03:04 cg Exp $'
  1782 ! !
  1796 ! !
  1783 Block initialize!
  1797 Block initialize!