IRReturn.st
changeset 1 0dd36941955f
child 23 377bc46cad12
equal deleted inserted replaced
0:de981640a2ec 1:0dd36941955f
       
     1 "{ Package: 'stx:goodies/newcompiler' }"
       
     2 
       
     3 IRInstruction subclass:#IRReturn
       
     4 	instanceVariableNames:'isRemote'
       
     5 	classVariableNames:''
       
     6 	poolDictionaries:''
       
     7 	category:'NewCompiler-IR'
       
     8 !
       
     9 
       
    10 IRReturn comment:'Instruction "returnTop" or "remoteReturn"'
       
    11 !
       
    12 
       
    13 
       
    14 !IRReturn methodsFor:'accessing'!
       
    15 
       
    16 isRemote
       
    17 
       
    18 	^ isRemote
       
    19 !
       
    20 
       
    21 isRemote: boolean
       
    22 
       
    23 	isRemote := boolean
       
    24 ! !
       
    25 
       
    26 !IRReturn methodsFor:'interpret'!
       
    27 
       
    28 executeOn: interpreter
       
    29 
       
    30 	^ isRemote
       
    31 		ifTrue: [interpreter remoteReturn]
       
    32 		ifFalse: [interpreter returnTop]
       
    33 ! !
       
    34 
       
    35 !IRReturn methodsFor:'testing'!
       
    36 
       
    37 isReturn
       
    38 
       
    39 	^ true
       
    40 ! !
       
    41 
       
    42 !IRReturn class methodsFor:'documentation'!
       
    43 
       
    44 version
       
    45     ^'$Id$'
       
    46 ! !