class_docstr: Description of a JavaScript object.
class_docstr_tok: ["Description","of","a","JavaScript","object","."]
code: def _object_hierarchy_parts(
      self, sig_node: desc_signature
  ) -> tuple[str, ...]:
      if "fullname" not in sig_node:
          return ()
      modname = sig_node.get("module")
      fullname = sig_node["fullname"]
  
      if modname:
          return (modname, *fullname.split("."))
      else:
          return tuple(fullname.split("."))
  
imports: from __future__ import annotations
  import contextlib
  from typing import TYPE_CHECKING, Any, cast
  from docutils import nodes
  from docutils.parsers.rst import directives
  from sphinx import addnodes
  from sphinx.directives import ObjectDescription
  from sphinx.domains import Domain, ObjType
  from sphinx.domains.python import _pseudo_parse_arglist
  from sphinx.locale import _, __
  from sphinx.roles import XRefRole
  from sphinx.util import logging
  from sphinx.util.docfields import Field, GroupedField, TypedField
  from sphinx.util.docutils import SphinxDirective
  from sphinx.util.nodes import make_id, make_refnode, nested_parse_with_titles
label_desc: Use image node_id 3 for calling the JSObject obj's underlying member method code with example usage: obj._object_hierarchy_parts(sig_node) and returns: , modname,  unknown, tuple