--- a/Block.st Tue Dec 19 18:19:59 2000 +0100
+++ b/Block.st Wed Dec 20 00:24:08 2000 +0100
@@ -322,11 +322,20 @@
"create a new cheap (homeless) block.
Not for public use - this is a special hook for the compiler."
+ ^ self
+ byteCode:bCode numArgs:numArgs numVars:0 numStack:nStack sourcePosition:sourcePos initialPC:initialPC literals:literals
+!
+
+byteCode:bCode numArgs:numArgs numVars:numVars numStack:nStack sourcePosition:sourcePos initialPC:initialPC literals:literals
+ "create a new cheap (homeless) block.
+ Not for public use - this is a special hook for the compiler."
+
|newBlock|
newBlock := (super basicNew:(literals size))
byteCode:bCode
numArgs:numArgs
+ numVars:numVars
numStack:nStack
sourcePosition:sourcePos
initialPC:initialPC
@@ -362,6 +371,20 @@
"Modified: 23.4.1996 / 15:55:58 / cg"
! !
+!Block methodsFor:'Camp Smalltalk'!
+
+sunitEnsure: aBlock
+ ^self valueNowOrOnUnwindDo: aBlock
+
+ "Created: / 20.6.2000 / 11:59:32 / Sames"
+ "Modified: / 20.6.2000 / 12:27:10 / Sames"
+!
+
+sunitOn: aSignal do: anExceptionBlock
+ ^self on: aSignal do: anExceptionBlock
+
+ "Created: / 20.6.2000 / 12:27:57 / Sames"
+! !
!Block methodsFor:'Compatibility - ANSI'!
@@ -1459,7 +1482,7 @@
!Block methodsFor:'private accessing'!
-byteCode:bCode numArgs:numArgs numStack:numStack sourcePosition:srcPos initialPC:iPC literals:lits
+byteCode:bCode numArgs:numArgs numVars:numVars numStack:numStack sourcePosition:srcPos initialPC:iPC literals:lits
"set all relevant internals.
DANGER ALERT: this interface is strictly private."
@@ -1470,6 +1493,8 @@
flags := 0.
self stackSize:numStack.
self literals:lits.
+ self numberOfArgs:numArgs. "/ must set the compiledCode flags as well
+ self numberOfVars:numVars. "/ must set the compiledCode flags as well
"Modified: 23.4.1996 / 16:05:30 / cg"
"Modified: 24.6.1996 / 12:37:37 / stefan"
@@ -1761,6 +1786,6 @@
!Block class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/Block.st,v 1.98 2000-12-13 13:15:00 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Block.st,v 1.99 2000-12-19 23:24:08 cg Exp $'
! !
Block initialize!