Method.st
changeset 350 54d513b45f51
parent 345 cf2301210c47
child 360 90c3608b92a3
equal deleted inserted replaced
349:33d5e92c4ce7 350:54d513b45f51
    21 
    21 
    22 Method comment:'
    22 Method comment:'
    23 COPYRIGHT (c) 1989 by Claus Gittinger
    23 COPYRIGHT (c) 1989 by Claus Gittinger
    24 	     All Rights Reserved
    24 	     All Rights Reserved
    25 
    25 
    26 $Header: /cvs/stx/stx/libbasic/Method.st,v 1.36 1995-05-16 17:07:40 claus Exp $
    26 $Header: /cvs/stx/stx/libbasic/Method.st,v 1.37 1995-05-18 22:49:59 claus Exp $
    27 '!
    27 '!
    28 
    28 
    29 !Method class methodsFor:'documentation'!
    29 !Method class methodsFor:'documentation'!
    30 
    30 
    31 copyright
    31 copyright
    42 "
    42 "
    43 !
    43 !
    44 
    44 
    45 version
    45 version
    46 "
    46 "
    47 $Header: /cvs/stx/stx/libbasic/Method.st,v 1.36 1995-05-16 17:07:40 claus Exp $
    47 $Header: /cvs/stx/stx/libbasic/Method.st,v 1.37 1995-05-18 22:49:59 claus Exp $
    48 "
    48 "
    49 !
    49 !
    50 
    50 
    51 documentation
    51 documentation
    52 "
    52 "
  1360     upd := Class updateChanges:false.
  1360     upd := Class updateChanges:false.
  1361     silent := Smalltalk silentLoading:true.
  1361     silent := Smalltalk silentLoading:true.
  1362     lazy := Compiler compileLazy:false.
  1362     lazy := Compiler compileLazy:false.
  1363 
  1363 
  1364     [
  1364     [
  1365 	temporaryMethod := cls compilerClass
  1365 	|compiler|
       
  1366 
       
  1367 	compiler := cls compilerClass.
       
  1368 
       
  1369 	"/
       
  1370 	"/ kludge - have to make ST/X's compiler protocol
       
  1371 	"/ be compatible to ST-80's
       
  1372 	"/
       
  1373 	(compiler respondsTo:#compile:forClass:inCategory:notifying:install:skipIfSame:)
       
  1374 	ifTrue:[
       
  1375 	    temporaryMethod := compiler
  1366 				 compile:sourceString
  1376 				 compile:sourceString
  1367 				 forClass:cls
  1377 				 forClass:cls
  1368 				 inCategory:(self category)
  1378 				 inCategory:(self category)
  1369 				 notifying:nil
  1379 				 notifying:nil
  1370 				 install:false.
  1380 				 install:false.
       
  1381 	] ifFalse:[
       
  1382 	    temporaryMethod := compiler new
       
  1383 				 compile:sourceString 
       
  1384 				 in:cls 
       
  1385 				 notifying:nil 
       
  1386 				 ifFail:nil
       
  1387 	].
  1371     ] valueNowOrOnUnwindDo:[
  1388     ] valueNowOrOnUnwindDo:[
  1372 	Class updateChanges:upd.
  1389 	Class updateChanges:upd.
  1373 	Compiler compileLazy:lazy.
  1390 	Compiler compileLazy:lazy.
  1374 	Smalltalk silentLoading:silent.
  1391 	Smalltalk silentLoading:silent.
  1375     ].
  1392     ].