code: def _get_current_line_of_code_as_str():
      scriptrunner_frame = _get_scriptrunner_frame()
  
      if scriptrunner_frame is None:
          # If there's no ScriptRunner frame, something weird is going on. This
          # can happen when the script is executed with `python myscript.py`.
          # Either way, let's bail out nicely just in case there's some valid
          # edge case where this is OK.
          return None
  
      code_context = scriptrunner_frame.code_context
  
      if not code_context:
          # Sometimes a frame has no code_context. This can happen inside certain exec() calls, for
          # example. If this happens, we can't determine the variable name. Just return.
          # For the background on why exec() doesn't produce code_context, see
          # https://stackoverflow.com/a/12072941
          return None
  
      code_as_string = "".join(code_context)
      return re.sub(_NEWLINES, "", code_as_string.strip())
  
imports: import ast
  import contextlib
  import inspect
  import re
  import types
  from typing import TYPE_CHECKING, Any, cast
  from typing_extensions import Final
  import streamlit
  from streamlit.logger import get_logger
  from streamlit.proto.DocString_pb2 import DocString
  from streamlit.proto.DocString_pb2 import Member
  from streamlit.runtime.metrics_util import gather_metrics
  from streamlit.runtime.scriptrunner.script_runner import __file__
  from streamlit.runtime.secrets import Secrets
  from streamlit.string_util import is_mem_address_str
label_desc: Use image node_id 8 for calling a global function with example usage: _get_current_line_of_code_as_str() and returns: re, None, None