#NEWLINE# def __init__( self , f , static_names = set ( [ ] ) , call_from_python = None ) : #NEWLINE# #INDENT# self . f = f #NEWLINE# self . fn = f #NEWLINE# self . argcount = self . f . func_code . co_argcount #NEWLINE# self . varnames = self . f . func_code . co_varnames #NEWLINE# self . n_args = self . f . func_code . co_argcount #NEWLINE# self . defaults = self . f . func_defaults #NEWLINE# n_defaults = ( len ( self . defaults ) if self . defaults else 0 ) #NEWLINE# self . defaults_dictionary = { #NEWLINE# #INDENT# #NEWLINE# #UNINDENT# } #NEWLINE# n_pos = ( self . n_args - n_defaults ) #NEWLINE# for ( i , default_name ) in enumerate ( self . varnames [ n_pos : ( n_pos + n_defaults ) ] ) : #NEWLINE# #INDENT# self . defaults_dictionary [ default_name ] = self . defaults [ i ] #NEWLINE# #UNINDENT# self . static_names = static_names #NEWLINE# self . wrappers = { #NEWLINE# #INDENT# #NEWLINE# #UNINDENT# } #NEWLINE# self . call_from_python = call_from_python #NEWLINE# if hasattr ( self . f , '__name__' ) : #NEWLINE# #INDENT# self . name = f . __name__ #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# if hasattr ( n_pos . f , 'name' ) : #NEWLINE# #INDENT# self . name = self . f . name #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# self . name = 'macro'