--- a/Method.st Sat Sep 02 18:08:30 1995 +0200
+++ b/Method.st Sun Sep 03 17:06:58 1995 +0200
@@ -23,7 +23,7 @@
COPYRIGHT (c) 1989 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/Method.st,v 1.46 1995-08-28 15:47:54 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Method.st,v 1.47 1995-09-03 15:05:22 claus Exp $
'!
!Method class methodsFor:'documentation'!
@@ -44,7 +44,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Method.st,v 1.46 1995-08-28 15:47:54 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Method.st,v 1.47 1995-09-03 15:05:22 claus Exp $
"
!
@@ -1421,7 +1421,7 @@
for binary storage or dynamic recompilation (which is not yet finished)
or to compile lazy methods down to executable ones."
- |temporaryMethod cls sourceString upd silent lazy machineCode|
+ |temporaryMethod cls sourceString silent lazy machineCode|
byteCode notNil ifTrue:[
"
@@ -1446,40 +1446,40 @@
dont want output on Transcript and definitely
dont want a lazy method ...
"
- upd := Class updateChanges:false.
- silent := Smalltalk silentLoading:true.
- lazy := Compiler compileLazy:false.
- machineCode := Compiler stcCompilation:#never.
+ Class withoutUpdatingChangesDo:[
+ silent := Smalltalk silentLoading:true.
+ lazy := Compiler compileLazy:false.
+ machineCode := Compiler stcCompilation:#never.
- [
- |compiler|
+ [
+ |compiler|
- compiler := cls compilerClass.
+ compiler := cls compilerClass.
- "/
- "/ kludge - have to make ST/X's compiler protocol
- "/ be compatible to ST-80's
- "/
- (compiler respondsTo:#compile:forClass:inCategory:notifying:install:skipIfSame:)
- ifTrue:[
- temporaryMethod := compiler
- compile:sourceString
- forClass:cls
- inCategory:(self category)
- notifying:nil
- install:false.
- ] ifFalse:[
- temporaryMethod := compiler new
- compile:sourceString
- in:cls
- notifying:nil
- ifFail:nil
- ].
- ] valueNowOrOnUnwindDo:[
- Class updateChanges:upd.
- Compiler compileLazy:lazy.
- Compiler stcCompilation:machineCode.
- Smalltalk silentLoading:silent.
+ "/
+ "/ kludge - have to make ST/X's compiler protocol
+ "/ be compatible to ST-80's
+ "/
+ (compiler respondsTo:#compile:forClass:inCategory:notifying:install:skipIfSame:)
+ ifTrue:[
+ temporaryMethod := compiler
+ compile:sourceString
+ forClass:cls
+ inCategory:(self category)
+ notifying:nil
+ install:false.
+ ] ifFalse:[
+ temporaryMethod := compiler new
+ compile:sourceString
+ in:cls
+ notifying:nil
+ ifFail:nil
+ ].
+ ] valueNowOrOnUnwindDo:[
+ Compiler compileLazy:lazy.
+ Compiler stcCompilation:machineCode.
+ Smalltalk silentLoading:silent.
+ ]
].
(temporaryMethod isNil or:[temporaryMethod == #Error]) ifTrue:[
'cannot generate bytecode (contains primitive code or error)' errorPrintNL.