def _pop_indent_stack(self, node, node_type=None, action=None):
indent = self._get_indent(node)<EOL>indent_stack = copy.deepcopy(self._indent_stack)<EOL>while (len(indent_stack) > <NUM_LIT:1>) and (<EOL>(<EOL>(indent <= indent_stack[-<NUM_LIT:1>]["<STR_LIT>"])<EOL>and (indent_stack[-<NUM_LIT:1>]["<STR_LIT:type>"] != "<STR_LIT>")<EOL>)<EOL>or (indent_stack[-<NUM_LIT:1>]["<STR_LIT:type>"] == "<STR_LIT>")<EOL>):<EOL><INDENT>self._close_callable(node)<EOL>indent_stack.pop()<EOL><DEDENT>name = (<EOL>(<EOL>node.targets[<NUM_LIT:0>].id<EOL>if hasattr(node.targets[<NUM_LIT:0>], "<STR_LIT:id>")<EOL>else node.targets[<NUM_LIT:0>].value.id<EOL>)<EOL>if node_type == "<STR_LIT>"<EOL>else node.name<EOL>)<EOL>element_full_name = "<STR_LIT:.>".join(<EOL>[self._module]<EOL>+ [<EOL>indent_dict["<STR_LIT>"]<EOL>for indent_dict in indent_stack<EOL>if indent_dict["<STR_LIT:type>"] != "<STR_LIT>"<EOL>]<EOL>+ [name]<EOL>) + ("<STR_LIT>".format(action) if action else "<STR_LIT>")<EOL>self._indent_stack = indent_stack<EOL>self._indent_stack.append(<EOL>{<EOL>"<STR_LIT>": indent,<EOL>"<STR_LIT>": name,<EOL>"<STR_LIT:type>": node_type,<EOL>"<STR_LIT>": element_full_name,<EOL>"<STR_LIT>": node.lineno,<EOL>}<EOL>)<EOL>return element_full_name<EOL>
Get callable full name.