parameters: (self, func)
return_statement: return function_wrapper
docstring: Decorator
docstring_summary: Decorator
docstring_tokens: Decorator
function: def __call__(self, func):
          """
          Decorator
          """
          _file = FILE(3)
          _line = LINE(2)
  
          @wraps(func)
          def function_wrapper(*args, **kwargs):
              self.parse_wrapped(func, args, kwargs)
              self.determine_signature(
                  is_decorator=True, is_context_manager=False
              )
  
              _frame = FRAME(1)
              _func = func.__name__
              _key = ""
              _args = self.arg_string(_frame)
              if self.signature == context.blank:
                  _key = "{}{}".format(self.key, _args)
              elif self.signature == context.basic:
                  _key = "{}{}/{}".format(_func, _args, self.key)
              elif self.signature == context.full:
                  _key = "{}{}@{}:{}/{}".format(
                      _func, _args, _file, _line, self.key
                  )
              _key = _key.strip("/")
  
              _dec = _timer_decorator(_key, self.report_at_exit)
              _ret = func(*args, **kwargs)
              del _dec
              return _ret
  
          return function_wrapper
function_tokens: def __call__ ( self , func ) : _file = FILE ( 3 ) _line = LINE ( 2 ) @ wraps ( func ) def function_wrapper ( * args , * * kwargs ) : self . parse_wrapped ( func , args , kwargs ) self . determine_signature ( is_decorator = True , is_context_manager = False ) _frame = FRAME ( 1 ) _func = func . __name__ _key = "" _args = self . arg_string ( _frame ) if self . signature == context . blank : _key = "{}{}" . format ( self . key , _args ) elif self . signature == context . basic : _key = "{}{}/{}" . format ( _func , _args , self . key ) elif self . signature == context . full : _key = "{}{}@{}:{}/{}" . format ( _func , _args , _file , _line , self . key ) _key = _key . strip ( "/" ) _dec = _timer_decorator ( _key , self . report_at_exit ) _ret = func ( * args , * * kwargs ) del _dec return _ret return function_wrapper