#NEWLINE# def get_arity( self ) : #NEWLINE# #INDENT# if self . iscallable ( ) : #NEWLINE# #INDENT# typ = self . struct_type ( ) #NEWLINE# proc = typ . prop_procedure #NEWLINE# if isinstance ( self , values . W_Fixnum ) : #NEWLINE# #INDENT# offset = typ . get_offset ( typ . procedure_source ) #NEWLINE# proc = self . _ref ( ( proc . value + offset ) ) #NEWLINE# return proc . get_arity ( ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# arity = proc . get_arity ( ) #NEWLINE# return arity . shift_arity ( ( - 1 ) ) #NEWLINE# #UNINDENT# #UNINDENT# else : #NEWLINE# #INDENT# raise SchemeException ( ( '%s does not have arity' % self . tostring ( ) ) )