code: def _make_callable_signature(obj):
      """Generate signature for function/method."""
      if inspect.isclass(obj) or inspect.isfunction(obj):
          if obj.__name__ == "<lambda>":
              return _make_lambda_name(obj)
          return obj.__name__
      elif inspect.ismethod(obj):
          obj_self = obj.__self__
          if isinstance(obj_self, type):
              cls_name = obj_self.__name__
          else:
              cls_name = obj_self.__class__.__name__
          return f"{cls_name}.{obj.__name__}"
      else:
          raise TypeError(
              f"Only class/function/methods are valid inputs, got {type(obj)}"
          )
  
file_path: tensorflow/tensorflow/core/function/capture/free_vars_detect.py
imports: import builtins
  import collections
  import functools
  import inspect
  import types
  from tensorflow.python.autograph.pyct import anno
  from tensorflow.python.autograph.pyct import inspect_utils
  from tensorflow.python.autograph.pyct import naming
  from tensorflow.python.autograph.pyct import parser
  from tensorflow.python.autograph.pyct import qual_names
  from tensorflow.python.autograph.pyct import transformer
  from tensorflow.python.autograph.pyct.static_analysis import activity
label_desc: Use image node_id 6 for calling a global function with example usage: _make_callable_signature(obj) and returns: obj, _make_lambda_name, cls_name, str, obj