code: def _pop_indent_stack(self, node, node_type=None, action=None):
          
          indent = self._get_indent(node)
          indent_stack = copy.deepcopy(self._indent_stack)
          # Find enclosing scope
          while (len(indent_stack) > 1) and (
              (
                  (indent <= indent_stack[-1]["level"])
                  and (indent_stack[-1]["type"] != "module")
              )
              or (indent_stack[-1]["type"] == "prop")
          ):
              self._close_callable(node)
              indent_stack.pop()
          # Construct new callable name
          name = (
              (
                  node.targets[0].id
                  if hasattr(node.targets[0], "id")
                  else node.targets[0].value.id
              )
              if node_type == "prop"
              else node.name
          )
          element_full_name = ".".join(
              [self._module]
              + [
                  indent_dict["prefix"]
                  for indent_dict in indent_stack
                  if indent_dict["type"] != "module"
              ]
              + [name]
          ) + ("({0})".format(action) if action else "")
          # Add new callable entry to indentation stack
          self._indent_stack = indent_stack
          self._indent_stack.append(
              {
                  "level": indent,
                  "prefix": name,
                  "type": node_type,
                  "full_name": element_full_name,
                  "lineno": node.lineno,
              }
          )
          return element_full_name
docs: Get callable full name.