#NEWLINE# def COERCE_BLOCK( self , space , bytecode , frame , pc ) : #NEWLINE# #INDENT# w_block = frame . pop ( ) #NEWLINE# if ( w_block is space . w_nil ) : #NEWLINE# #INDENT# frame . push ( w_block ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# if isinstance ( w_block , W_ProcObject ) : #NEWLINE# #INDENT# frame . push ( w_block ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# if space . respond_to ( w_block , 'to_proc' ) : #NEWLINE# #INDENT# space . getexecutioncontext ( ) . last_instr = pc #NEWLINE# w_res = space . convert_type ( w_block , space . w_proc , 'to_proc' ) #NEWLINE# assert isinstance ( w_res , W_ProcObject ) #NEWLINE# frame . push ( w_res ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# raise space . error ( space . w_TypeError , 'wrong argument type' )