code: def line_number_above():
      """Get lineno of the AST node immediately above this function's call site.
  
      It is assumed that there is no empty line(s) between the call site and the
      preceding AST node.
  
      Returns:
        The lineno of the preceding AST node, at the same level of the AST.
        If the preceding AST spans multiple lines:
          - In Python 3.8+, the lineno of the first line is returned.
          - In older Python versions, the lineno of the last line is returned.
      """
      # https://bugs.python.org/issue12458: In Python 3.8, traceback started
      # to return the lineno of the first line of a multi-line continuation block,
      # instead of that of the last line. Therefore, in Python 3.8+, we use `ast` to
      # get the lineno of the first line.
      call_site_lineno = tf_inspect.stack()[1][2]
      if sys.version_info < (3, 8):
          return call_site_lineno - 1
      else:
          with open(__file__, "rb") as f:
              source_text = f.read().decode("utf-8")
          source_tree = ast.parse(source_text)
          prev_node = _find_preceding_ast_node(
              source_tree, call_site_lineno
          )
          return prev_node.lineno
  
imports: import ast
  import os
  import sys
  import tempfile
  import zipfile
  import numpy
  from tensorflow.core.protobuf import config_pb2
  from tensorflow.python.client import session
  from tensorflow.python.debug.lib import debug_data
  from tensorflow.python.debug.lib import debug_utils
  from tensorflow.python.debug.lib import source_utils
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import ops
  from tensorflow.python.framework import test_util
  from tensorflow.python.lib.io import file_io
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops import resource_variable_ops
  from tensorflow.python.ops import variables
  from tensorflow.python.ops import while_loop
  from tensorflow.python.platform import googletest
  from tensorflow.python.util import tf_inspect
label_desc: Use image node_id 1 for calling a global function with example usage: line_number_above() and returns: unknown, prev_node