code: def _format_node_name(self, record, node, extra=None):
          
          line = ""
          if extra is not None:
              line = "%s(offset=%s, %s)" % (node.__class__.__name__, hex(node.offset() - record.offset()), extra)
          else:
              line = "%s(offset=%s)" % (node.__class__.__name__, hex(node.offset() - record.offset()))
  
          if isinstance(node, e_nodes.VariantTypeNode):
              line += " --> %s" % (node.string())
          if isinstance(node, e_nodes.OpenStartElementNode):
              line += " --> %s" % (node.tag_name())
          if isinstance(node, e_nodes.AttributeNode):
              line += " --> %s" % (node.attribute_name().string())
          return line
docs: note: this doesn't yield, it returns