# File lib/puppet/util/rdoc/parser.rb, line 238
238:   def document_class(name, klass, container)
239:     Puppet.debug "rdoc: found new class #{name}"
240:     container, name = get_class_or_module(container, name)
241: 
242:     superclass = klass.parent
243:     superclass = "" if superclass.nil? or superclass.empty?
244: 
245:     @stats.num_classes += 1
246:     comment = klass.doc
247:     look_for_directives_in(container, comment) unless comment.empty?
248:     cls = container.add_class(PuppetClass, name, superclass)
249:     # it is possible we already encountered this class, while parsing some namespaces
250:     # from other classes of other files. But at that time we couldn't know this class superclass
251:     # so, now we know it and force it.
252:     cls.superclass = superclass
253:     cls.record_location(@top_level)
254: 
255:     # scan class code for include
256:     code = klass.code.children if klass.code.is_a?(Puppet::Parser::AST::ASTArray)
257:     code ||= klass.code
258:     unless code.nil?
259:       scan_for_include_or_require(cls, code)
260:       scan_for_realize(cls, code)
261:       scan_for_resource(cls, code) if Puppet.settings[:document_all]
262:     end
263: 
264:     cls.comment = comment
265:   rescue => detail
266:     raise Puppet::ParseError, "impossible to parse class '#{name}' in #{klass.file} at line #{klass.line}: #{detail}"
267:   end