original_docstring: Print the function signature and return value
docstring: Print the function signature and return value
docstring_tokens: Print the function signature and return value
code: def debug(func):
      """Print the function signature and return value"""
      @functools.wraps(func)
      def wrapper_debug(*args, **kwargs):
          args_repr = [repr(a) for a in args]                      # 1
          kwargs_repr = [f"{k}={v!r}" for k, v in kwargs.items()]  # 2
          signature = ", ".join(args_repr + kwargs_repr)           # 3
          print(f"Calling {func.__name__}({signature})")
          value = func(*args, **kwargs)
          print(f"{func.__name__!r} returned {value!r}")           # 4
          return value
      return wrapper_debug
code_tokens: def debug ( func ) : @ functools . wraps ( func ) def wrapper_debug ( * args , ** kwargs ) : args_repr = [ repr ( a ) for a in args ] kwargs_repr = [ f"{k}={v!r}" for k , v in kwargs . items ( ) ] signature = ", " . join ( args_repr + kwargs_repr ) print ( f"Calling {func.__name__}({signature})" ) value = func ( * args , ** kwargs ) print ( f"{func.__name__!r} returned {value!r}" ) return value return wrapper_debug
short_docstring: Print the function signature and return value
short_docstring_tokens: Print the function signature and return value
comment: """Print the function signature and return value"""$SEP$# 1$SEP$# 2$SEP$# 3$SEP$# 4