IRBuilderTest.st
changeset 15 4daeb5471d43
parent 14 9369d251b3ed
child 16 f325defc9c7e
equal deleted inserted replaced
14:9369d251b3ed 15:4daeb5471d43
   832 
   832 
   833     "Modified: / 01-04-2009 / 19:43:52 / Jan Vrany <vranyj1@fel.cvut.cz>"
   833     "Modified: / 01-04-2009 / 19:43:52 / Jan Vrany <vranyj1@fel.cvut.cz>"
   834     "Created: / 28-04-2009 / 13:10:13 / karpij1 <karpij1@fel.cvut.cz>"
   834     "Created: / 28-04-2009 / 13:10:13 / karpij1 <karpij1@fel.cvut.cz>"
   835 !
   835 !
   836 
   836 
       
   837 testBlock_exteptionHandler_noRemoteReturn
       
   838     |aCompiledMethod irBuilder|
       
   839 
       
   840     irBuilder := (IRBuilder new)
       
   841                 numRargs:1;
       
   842                 addTemps:#( #self);
       
   843                pushBlockUsingBuilder:[:builder | 
       
   844                         builder
       
   845                             numRargs:0;  
       
   846                             pushLiteral: 1;
       
   847                             pushLiteral: 0;
       
   848                             send: #/;
       
   849                             pushLiteral: false;
       
   850                             returnTop
       
   851                     ];
       
   852                 pushLiteralVariable: #Error;
       
   853                 pushBlockUsingBuilder:[:builder|
       
   854                     builder
       
   855                         numRargs:0;
       
   856                         pushLiteral: true;
       
   857                         returnTop];
       
   858                 send: #on:do:;
       
   859                 returnTop;
       
   860                 ir.
       
   861     "
       
   862         irBuilder ir
       
   863     "
       
   864 
       
   865     aCompiledMethod := irBuilder compiledCode.
       
   866     self assert:(aCompiledMethod isKindOf:CompiledMethod).
       
   867     self assert:((aCompiledMethod valueWithReceiver:1 arguments:#()) = true).
       
   868 
       
   869     "Modified: / 01-04-2009 / 19:43:52 / Jan Vrany <vranyj1@fel.cvut.cz>"
       
   870     "Created: / 28-04-2009 / 13:39:01 / karpij1 <karpij1@fel.cvut.cz>"
       
   871 !
       
   872 
   837 testBlock_methodTempVar
   873 testBlock_methodTempVar
   838     |aCompiledMethod irBuilder|
   874     |aCompiledMethod irBuilder|
   839 
   875 
   840     irBuilder := (IRBuilder new)
   876     irBuilder := (IRBuilder new)
   841                 numRargs:1;
   877                 numRargs:1;