# File lib/puppet/util/rdoc/parser.rb, line 338
338:   def parse_elements(container)
339:     Puppet.debug "rdoc: scanning manifest"
340:     @ast.hostclasses.values.sort { |a,b| a.name <=> b.name }.each do |klass|
341:       name = klass.name
342:       if klass.file == @input_file_name
343:         unless name.empty?
344:           document_class(name,klass,container)
345:         else # on main class document vardefs
346:           code = klass.code.children if klass.code.is_a?(Puppet::Parser::AST::ASTArray)
347:           code ||= klass.code
348:           scan_for_vardef(container, code) unless code.nil?
349:         end
350:       end
351:     end
352: 
353:     @ast.definitions.each do |name, define|
354:       if define.file == @input_file_name
355:         document_define(name,define,container)
356:       end
357:     end
358: 
359:     @ast.nodes.each do |name, node|
360:       if node.file == @input_file_name
361:         document_node(name.to_s,node,container)
362:       end
363:     end
364:   end