# File lib/asciidoctor/abstract_node.rb, line 28 def initialize parent, context, opts = {} if context == :document # document is a special case, should refer to itself @document, @parent = self, nil else if parent @document, @parent = parent.document, parent else @document = @parent = nil end end @node_name = (@context = context).to_s # QUESTION are we correct in duplicating the attributes (seems to be just as fast) @attributes = (opts.key? :attributes) ? opts[:attributes].dup : {} @passthroughs = {} end