tests: add some runtime error in nitin.input
[nit.git] / src / nitdoc.nit
index bda79e7..801e715 100644 (file)
@@ -19,18 +19,20 @@ module nitdoc
 
 import modelbuilder
 import doc
-import counter
 
 redef class ToolContext
        # Nitdoc generation phase.
        var docphase: Phase = new Nitdoc(self, null)
 
-       # File pattern used to link documentation to source code.
-       var opt_test = new OptionBool("do not render anything, only print test data", "--test")
+       # Do not generate documentation for attributes.
+       var opt_no_attributes = new OptionBool("Ignore the attributes", "--no-attributes")
+
+       # Do not generate documentation for private properties.
+       var opt_private = new OptionBool("Also generate private API", "--private")
 
        redef init do
                super
-               option_context.add_option(opt_test)
+               option_context.add_option(opt_no_attributes, opt_private)
        end
 end
 
@@ -40,9 +42,10 @@ private class Nitdoc
        redef fun process_mainmodule(mainmodule, mmodules)
        do
                var doc = new DocModel(mainmodule.model, mainmodule)
+               if not toolcontext.opt_private.value then doc.min_visibility = protected_visibility
+               if not toolcontext.opt_no_attributes.value then doc.include_attribute = false
 
                var phases = [
-                       new ExtractionPhase(toolcontext, doc),
                        new IndexingPhase(toolcontext, doc),
                        new MakePagePhase(toolcontext, doc),
                        new POSetPhase(toolcontext, doc),
@@ -52,37 +55,14 @@ private class Nitdoc
                        new IntroRedefListPhase(toolcontext, doc),
                        new LinListPhase(toolcontext, doc),
                        new GraphPhase(toolcontext, doc),
-                       new ReadmePhase(toolcontext, doc): DocPhase]
-
-               if not toolcontext.opt_test.value then
-                       phases.add new RenderHTMLPhase(toolcontext, doc)
-               end
+                       new ReadmePhase(toolcontext, doc),
+                       new RenderHTMLPhase(toolcontext, doc),
+                       new DocTestPhase(toolcontext, doc): DocPhase]
 
                for phase in phases do
                        toolcontext.info("# {phase.class_name}", 1)
                        phase.apply
                end
-
-               if toolcontext.opt_test.value then
-                       # Pages metrics
-                       var page_counter = new Counter[String]
-                       var pages = doc.pages.keys.to_a
-                       default_comparator.sort(pages)
-                       for title in pages do
-                               var page = doc.pages[title]
-                               page_counter.inc page.class_name
-                               print page.pretty_print.write_to_string
-                       end
-                       print "Generated {doc.pages.length} pages"
-                       page_counter.print_elements(100)
-                       # Model metrics
-                       var model_counter = new Counter[String]
-                       for mentity in doc.mentities do
-                               model_counter.inc mentity.class_name
-                       end
-                       print "Found {doc.mentities.length} mentities"
-                       model_counter.print_elements(100)
-               end
        end
 end