doc/commands: CmdCode does not use infoboxes in html highlight
[nit.git] / src / doc / doc_phases / doc_concerns.nit
index cca6346..a61233f 100644 (file)
@@ -16,6 +16,7 @@
 module doc_concerns
 
 import doc_pages
+import model::model_collect
 
 # ConcernsPhase computes the ConcernsTree used for each page layout.
 class ConcernsPhase
@@ -23,7 +24,7 @@ class ConcernsPhase
 
        # Populates the given DocModel.
        redef fun apply do
-               for page in doc.pages.values do page.build_concerns(doc)
+               for page in doc.pages.values do page.build_concerns(self)
        end
 end
 
@@ -32,7 +33,7 @@ redef class DocPage
        # Build the `concerns` tree for this page.
        #
        # Since only `MEntityPage`, this method is a no-op for everything else.
-       private fun build_concerns(doc: DocModel) do end
+       private fun build_concerns(v: ConcernsPhase) do end
 end
 
 redef class MEntityPage
@@ -53,16 +54,17 @@ redef class MGroupPage
        # Refined classes in `mentity` that should appear in this page.
        var redefs = new HashSet[MClass]
 
-       redef fun build_concerns(doc) do
+       redef fun build_concerns(v) do
+               var doc = v.doc
                var mmodules = new HashSet[MModule]
-               for mmodule in mentity.collect_mmodules do
-                       if doc.mmodules.has(mmodule) then mmodules.add mmodule
+               for mmodule in mentity.mmodules do
+                       if doc.filter.accept_mentity(mmodule) then mmodules.add mmodule
                        # collect mclasses
                        for mclass in mmodule.intro_mclasses do
-                               if doc.mclasses.has(mclass) then intros.add mclass
+                               if doc.filter.accept_mentity(mclass) then intros.add mclass
                        end
-                       for mclass in mmodule.redef_mclasses do
-                               if doc.mclasses.has(mclass) then redefs.add mclass
+                       for mclass in mmodule.collect_redef_mclasses(doc.filter) do
+                               if doc.filter.accept_mentity(mclass) then redefs.add mclass
                        end
                end
                concerns = doc.model.concerns_tree(mmodules)
@@ -77,21 +79,22 @@ redef class MModulePage
        # MClassDefs located in `mentity` to display in this page.
        var mclassdefs = new HashSet[MClassDef]
 
-       redef fun build_concerns(doc) do
+       redef fun build_concerns(v) do
+               var doc = v.doc
                # extract mclassdefs in mmodule
                for mclassdef in mentity.mclassdefs do
-                       if doc.mclassdefs.has(mclassdef) then mclassdefs.add mclassdef
+                       if doc.filter.accept_mentity(mclassdef) then mclassdefs.add mclassdef
                end
                # extract mclasses in mmodule
                for mclassdef in mclassdefs do
                        var mclass = mclassdef.mclass
-                       if doc.mclasses.has(mclass) then mclasses.add mclass
+                       if doc.filter.accept_mentity(mclass) then mclasses.add mclass
                end
                # extract concerns
                var mods = new HashSet[MModule]
                for mclass in mclasses do
                        var mod = mclass.intro_mmodule
-                       if doc.mmodules.has(mod) then mods.add mod
+                       if doc.filter.accept_mentity(mod) then mods.add mod
                end
                concerns = doc.model.concerns_tree(mods)
        end
@@ -105,22 +108,23 @@ redef class MClassPage
        # MPropdefs to display in this page.
        var mpropdefs = new HashSet[MPropDef]
 
-       redef fun build_concerns(doc) do
+       redef fun build_concerns(v) do
+               var doc = v.doc
                # collect mclassdefs
                for mclassdef in mentity.mclassdefs do
-                       if doc.mclassdefs.has(mclassdef) then mclassdefs.add mclassdef
+                       if doc.filter.accept_mentity(mclassdef) then mclassdefs.add mclassdef
                end
                # collect mpropdefs
                for mclassdef in mclassdefs do
                        for mpropdef in mclassdef.mpropdefs do
-                               if doc.mpropdefs.has(mpropdef) then mpropdefs.add mpropdef
+                               if doc.filter.accept_mentity(mpropdef) then mpropdefs.add mpropdef
                        end
                end
                # collect concerns
                var mods = new HashSet[MModule]
                for mpropdef in mpropdefs do
                        var mod = mpropdef.mclassdef.mmodule
-                       if doc.mmodules.has(mod) then mods.add mod
+                       if doc.filter.accept_mentity(mod) then mods.add mod
                end
                concerns = doc.model.concerns_tree(mods)
        end
@@ -131,18 +135,19 @@ redef class MPropertyPage
        # MPropdefs to display in this page.
        var mpropdefs = new HashSet[MPropDef]
 
-       redef fun build_concerns(doc) do
+       redef fun build_concerns(v) do
+               var doc = v.doc
                # collect mpropdefs
                for mpropdef in mentity.mpropdefs do
                        # FIXME diff hack
                        if mpropdef.is_intro then continue
-                       if doc.mpropdefs.has(mpropdef) then mpropdefs.add mpropdef
+                       if doc.filter.accept_mentity(mpropdef) then mpropdefs.add mpropdef
                end
                # collect concerns
                var mods = new HashSet[MModule]
                for mpropdef in mpropdefs do
                        var mod = mpropdef.mclassdef.mmodule
-                       if doc.mmodules.has(mod) then mods.add mod
+                       if doc.filter.accept_mentity(mod) then mods.add mod
                end
                concerns = doc.model.concerns_tree(mods)
        end