IRBuilderTest.st
changeset 14 9369d251b3ed
parent 11 0a50d475c1ff
child 15 4daeb5471d43
equal deleted inserted replaced
13:c7503f2d7d36 14:9369d251b3ed
   795     self assert:((aCompiledMethod valueWithReceiver:1 arguments:#()) = 22).
   795     self assert:((aCompiledMethod valueWithReceiver:1 arguments:#()) = 22).
   796 
   796 
   797     "Created: / 30-03-2009 / 23:03:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
   797     "Created: / 30-03-2009 / 23:03:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
   798 !
   798 !
   799 
   799 
       
   800 testBlock_exteptionHandler
       
   801     |aCompiledMethod irBuilder|
       
   802 
       
   803     irBuilder := (IRBuilder new)
       
   804                 numRargs:1;
       
   805                 addTemps:#( #self);
       
   806                pushBlockUsingBuilder:[:builder | 
       
   807                         builder
       
   808                             numRargs:0;  
       
   809                             pushLiteral: 1;
       
   810                             pushLiteral: 0;
       
   811                             send: #/;
       
   812                             pushLiteral: false;
       
   813                             remoteReturn
       
   814                     ];
       
   815                 pushLiteralVariable: #Error;
       
   816                 pushBlockUsingBuilder:[:builder|
       
   817                     builder
       
   818                         numRargs:0;
       
   819                         pushLiteral: true;
       
   820                         remoteReturn];
       
   821                 send: #on:do:;
       
   822                 pushLiteral: false;
       
   823                 returnTop;
       
   824                 ir.
       
   825     "
       
   826         irBuilder ir
       
   827     "
       
   828 
       
   829     aCompiledMethod := irBuilder compiledCode.
       
   830     self assert:(aCompiledMethod isKindOf:CompiledMethod).
       
   831     self assert:((aCompiledMethod valueWithReceiver:1 arguments:#()) = true).
       
   832 
       
   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>"
       
   835 !
       
   836 
   800 testBlock_methodTempVar
   837 testBlock_methodTempVar
   801     |aCompiledMethod irBuilder|
   838     |aCompiledMethod irBuilder|
   802 
   839 
   803     irBuilder := (IRBuilder new)
   840     irBuilder := (IRBuilder new)
   804                 numRargs:1;
   841                 numRargs:1;