#NEWLINE# def transform_Var( self , expr ) : #NEWLINE# #INDENT# t = expr . type #NEWLINE# if ( t . __class__ is NoneT ) : #NEWLINE# #INDENT# return none #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# if ( ( t . __class__ is SliceT ) and ( t . start_type == NoneType ) and ( self . stop_type == NoneType ) and ( t . step_type == NoneType ) ) : #NEWLINE# #INDENT# return slice_none #NEWLINE# #UNINDENT# #UNINDENT# name = expr . name #NEWLINE# prev_expr = expr #NEWLINE# while ( name in self . bindings ) : #NEWLINE# #INDENT# prev_expr = expr #NEWLINE# expr = self . bindings [ name ] #NEWLINE# if ( expr . __class__ is Var ) : #NEWLINE# #INDENT# name = expr . name #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# break #NEWLINE# #UNINDENT# #UNINDENT# c = expr . __class__ #NEWLINE# if ( ( c is Var ) or ( c is Const ) ) : #NEWLINE# #INDENT# return expr #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# return prev_expr