270: def document_node(name, node, container)
271: Puppet.debug "rdoc: found new node #{name}"
272: superclass = node.parent
273: superclass = "" if superclass.nil? or superclass.empty?
274:
275: comment = node.doc
276: look_for_directives_in(container, comment) unless comment.empty?
277: n = container.add_node(name, superclass)
278: n.record_location(@top_level)
279:
280: code = node.code.children if node.code.is_a?(Puppet::Parser::AST::ASTArray)
281: code ||= node.code
282: unless code.nil?
283: scan_for_include_or_require(n, code)
284: scan_for_realize(n, code)
285: scan_for_vardef(n, code)
286: scan_for_resource(n, code) if Puppet.settings[:document_all]
287: end
288:
289: n.comment = comment
290: rescue => detail
291: raise Puppet::ParseError, "impossible to parse node '#{name}' in #{node.file} at line #{node.line}: #{detail}"
292: end