--- a/BContext.st Fri Nov 01 16:41:16 1996 +0100
+++ b/BContext.st Fri Nov 01 17:15:44 1996 +0100
@@ -126,7 +126,7 @@
return something useful, even in case internals of the system
got corrupted ... (i.e. avoid messageNotUnderstood here)"
- |cls who mHome m className
+ |cls who mHome m className sel
sender selSender tryVars possibleBlocks method mWho|
(home isNil or:[home isContext not]) ifTrue:[
@@ -134,9 +134,9 @@
mhmh - an optimized blocks context
should get the block here, and get the method from
that one ...
- ... but in 2.10.x, there is no easy way to get to the block
+ ... but in 2.x, there is no easy way to get to the block
since that one is not in the context.
- Starting with 2.11, the new block calling scheme will fix this.
+ Starting with 3.x, the new block calling scheme will fix this.
"
"temporary kludge - peek into the sender context.
@@ -170,7 +170,7 @@
^ '[] (optimized) in ???'.
].
^ '[] (optimized) in ' ,
- (mWho at:1) name , '-' , (mWho at:2).
+ mWho methodClass name , '-' , mWho selector.
].
]
].
@@ -188,8 +188,8 @@
kludge to avoid slow search for containing class
"
mHome selector == #doIt ifTrue:[
- who := Array with:mHome receiver class
- with:#doIt
+ sel := #doIt.
+ cls := mHome receiver class.
] ifFalse:[
m := mHome method.
m isNil ifTrue:[
@@ -197,24 +197,31 @@
^ '[] in ???'
].
who := m who.
- ].
- who notNil ifTrue:[
- cls := who at:1
- ] ifFalse:[
- cls := receiver class.
+ who notNil ifTrue:[
+ cls := who methodClass
+ ] ifFalse:[
+ cls := receiver class.
+ ].
+ sel := mHome selector printString.
].
- className := cls name.
- className isNil ifTrue:[
- 'BCONTEXT: nameless class' errorPrintNL.
+
+ cls isNil ifTrue:[
+ 'BCONTEXT: no home class' errorPrintNL.
className := '???'
+ ] ifFalse:[
+ className := cls name.
+ className isNil ifTrue:[
+ 'BCONTEXT: nameless class' errorPrintNL.
+ className := '???'
+ ]
].
- ^ '[] in ' , className , '-' , mHome selector printString
+ ^ '[] in ' , className , '-' , sel
- "Modified: 29.5.1996 / 13:56:47 / cg"
+ "Modified: 1.11.1996 / 16:19:25 / cg"
! !
!BlockContext class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/Attic/BContext.st,v 1.22 1996-05-29 13:19:03 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Attic/BContext.st,v 1.23 1996-11-01 16:15:20 cg Exp $'
! !
--- a/BlockContext.st Fri Nov 01 16:41:16 1996 +0100
+++ b/BlockContext.st Fri Nov 01 17:15:44 1996 +0100
@@ -126,7 +126,7 @@
return something useful, even in case internals of the system
got corrupted ... (i.e. avoid messageNotUnderstood here)"
- |cls who mHome m className
+ |cls who mHome m className sel
sender selSender tryVars possibleBlocks method mWho|
(home isNil or:[home isContext not]) ifTrue:[
@@ -134,9 +134,9 @@
mhmh - an optimized blocks context
should get the block here, and get the method from
that one ...
- ... but in 2.10.x, there is no easy way to get to the block
+ ... but in 2.x, there is no easy way to get to the block
since that one is not in the context.
- Starting with 2.11, the new block calling scheme will fix this.
+ Starting with 3.x, the new block calling scheme will fix this.
"
"temporary kludge - peek into the sender context.
@@ -170,7 +170,7 @@
^ '[] (optimized) in ???'.
].
^ '[] (optimized) in ' ,
- (mWho at:1) name , '-' , (mWho at:2).
+ mWho methodClass name , '-' , mWho selector.
].
]
].
@@ -188,8 +188,8 @@
kludge to avoid slow search for containing class
"
mHome selector == #doIt ifTrue:[
- who := Array with:mHome receiver class
- with:#doIt
+ sel := #doIt.
+ cls := mHome receiver class.
] ifFalse:[
m := mHome method.
m isNil ifTrue:[
@@ -197,24 +197,31 @@
^ '[] in ???'
].
who := m who.
- ].
- who notNil ifTrue:[
- cls := who at:1
- ] ifFalse:[
- cls := receiver class.
+ who notNil ifTrue:[
+ cls := who methodClass
+ ] ifFalse:[
+ cls := receiver class.
+ ].
+ sel := mHome selector printString.
].
- className := cls name.
- className isNil ifTrue:[
- 'BCONTEXT: nameless class' errorPrintNL.
+
+ cls isNil ifTrue:[
+ 'BCONTEXT: no home class' errorPrintNL.
className := '???'
+ ] ifFalse:[
+ className := cls name.
+ className isNil ifTrue:[
+ 'BCONTEXT: nameless class' errorPrintNL.
+ className := '???'
+ ]
].
- ^ '[] in ' , className , '-' , mHome selector printString
+ ^ '[] in ' , className , '-' , sel
- "Modified: 29.5.1996 / 13:56:47 / cg"
+ "Modified: 1.11.1996 / 16:19:25 / cg"
! !
!BlockContext class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/BlockContext.st,v 1.22 1996-05-29 13:19:03 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/BlockContext.st,v 1.23 1996-11-01 16:15:20 cg Exp $'
! !
--- a/CheapBlk.st Fri Nov 01 16:41:16 1996 +0100
+++ b/CheapBlk.st Fri Nov 01 17:15:44 1996 +0100
@@ -106,7 +106,7 @@
printOn:aStream
"append a a printed representation of the block to aStream"
- |class selector pair|
+ |who|
"
cheap blocks have no home context, but a method instead
@@ -117,24 +117,24 @@
find out, for which class this method was for ...
"
method notNil ifTrue:[
- pair := method who.
- pair notNil ifTrue:[
- class := pair at:1.
- selector := pair at:2.
- aStream nextPutAll:(class name , '-' , selector).
- aStream nextPutAll:' (optimized)'.
- ^ self
- ].
+ who := method who.
+ who notNil ifTrue:[
+ aStream nextPutAll:(who methodClass name , '-' , who methodSelector).
+ aStream nextPutAll:' (optimized)'.
+ ^ self
+ ].
].
"
currently, some cheap blocks don't know where they have been created
"
aStream nextPutAll:' ??? (optimized)'.
^ self
+
+ "Modified: 1.11.1996 / 16:21:19 / cg"
! !
!CheapBlock class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/Attic/CheapBlk.st,v 1.15 1996-10-21 13:05:28 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Attic/CheapBlk.st,v 1.16 1996-11-01 16:15:44 cg Exp $'
! !
--- a/CheapBlock.st Fri Nov 01 16:41:16 1996 +0100
+++ b/CheapBlock.st Fri Nov 01 17:15:44 1996 +0100
@@ -106,7 +106,7 @@
printOn:aStream
"append a a printed representation of the block to aStream"
- |class selector pair|
+ |who|
"
cheap blocks have no home context, but a method instead
@@ -117,24 +117,24 @@
find out, for which class this method was for ...
"
method notNil ifTrue:[
- pair := method who.
- pair notNil ifTrue:[
- class := pair at:1.
- selector := pair at:2.
- aStream nextPutAll:(class name , '-' , selector).
- aStream nextPutAll:' (optimized)'.
- ^ self
- ].
+ who := method who.
+ who notNil ifTrue:[
+ aStream nextPutAll:(who methodClass name , '-' , who methodSelector).
+ aStream nextPutAll:' (optimized)'.
+ ^ self
+ ].
].
"
currently, some cheap blocks don't know where they have been created
"
aStream nextPutAll:' ??? (optimized)'.
^ self
+
+ "Modified: 1.11.1996 / 16:21:19 / cg"
! !
!CheapBlock class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/CheapBlock.st,v 1.15 1996-10-21 13:05:28 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/CheapBlock.st,v 1.16 1996-11-01 16:15:44 cg Exp $'
! !