nitdoc: use global phase (process_mainmodule)
authorJean Privat <jean@pryen.org>
Thu, 17 Jul 2014 01:50:35 +0000 (21:50 -0400)
committerJean Privat <jean@pryen.org>
Thu, 17 Jul 2014 14:01:00 +0000 (10:01 -0400)
src/nitdoc.nit

index 947d1bd..02f3bb1 100644 (file)
@@ -19,6 +19,20 @@ module nitdoc
 import modelbuilder
 import doc
 
+redef class ToolContext
+       var docphase: Phase = new NitdocPhase(self, null)
+end
+
+private class NitdocPhase
+       super Phase
+       redef fun process_mainmodule(mainmodule, mmodules)
+       do
+               # generate doc
+               var nitdoc = new Nitdoc(toolcontext, mainmodule.model, mainmodule)
+               nitdoc.generate
+       end
+end
+
 # process options
 var toolcontext = new ToolContext
 toolcontext.process_options(args)
@@ -31,16 +45,4 @@ var mmodules = mbuilder.parse(arguments)
 
 if mmodules.is_empty then return
 mbuilder.run_phases
-var mainmodule: MModule
-if mmodules.length == 1 then
-       mainmodule = mmodules.first
-else
-       mainmodule = new MModule(model, null, "<main>", new Location(null, 0, 0, 0, 0))
-       mainmodule.is_fictive = true
-       mainmodule.set_imported_mmodules(mmodules)
-end
-
-# generate doc
-var nitdoc = new Nitdoc(toolcontext, model, mainmodule)
-nitdoc.generate
-
+toolcontext.run_global_phases(mmodules)