nitdoc: avoid crash on empty mclassdef list.
authorAlexandre Terrasa <alexandre@moz-code.org>
Mon, 25 Aug 2014 03:24:22 +0000 (23:24 -0400)
committerAlexandre Terrasa <alexandre@moz-code.org>
Fri, 5 Sep 2014 03:44:27 +0000 (23:44 -0400)
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

src/doc/doc_pages.nit

index 7d9667f..78d64af 100644 (file)
@@ -388,26 +388,30 @@ abstract class NitdocPage
                article.content = mmodule.tpl_definition
                # mclassdefs list
                var intros = mmodule.intro_mclassdefs(ctx.min_visibility).to_a
-               mainmodule.linearize_mclassdefs(intros)
-               var intros_art = new TplArticle.with_title("{mmodule.nitdoc_id}_intros", "Introduces")
-               var intros_lst = new TplList.with_classes(["list-unstyled", "list-labeled"])
-               for mclassdef in intros do
-                       intros_lst.add_li new TplListItem.with_content(mclassdef.tpl_list_item)
-               end
-               if not intros_lst.is_empty then
-                       intros_art.content = intros_lst
-                       article.add_child intros_art
+               if not intros.is_empty then
+                       mainmodule.linearize_mclassdefs(intros)
+                       var intros_art = new TplArticle.with_title("{mmodule.nitdoc_id}_intros", "Introduces")
+                       var intros_lst = new TplList.with_classes(["list-unstyled", "list-labeled"])
+                       for mclassdef in intros do
+                               intros_lst.add_li new TplListItem.with_content(mclassdef.tpl_list_item)
+                       end
+                       if not intros_lst.is_empty then
+                               intros_art.content = intros_lst
+                               article.add_child intros_art
+                       end
                end
                var redefs = mmodule.redef_mclassdefs(ctx.min_visibility).to_a
-               mainmodule.linearize_mclassdefs(redefs)
-               var redefs_art = new TplArticle.with_title("{mmodule.nitdoc_id}_redefs", "Redefines")
-               var redefs_lst = new TplList.with_classes(["list-unstyled", "list-labeled"])
-               for mclassdef in redefs do
-                       redefs_lst.add_li new TplListItem.with_content(mclassdef.tpl_list_item)
-               end
-               if not redefs_lst.is_empty then
-                       redefs_art.content = redefs_lst
-                       article.add_child redefs_art
+               if not redefs.is_empty then
+                       mainmodule.linearize_mclassdefs(redefs)
+                       var redefs_art = new TplArticle.with_title("{mmodule.nitdoc_id}_redefs", "Redefines")
+                       var redefs_lst = new TplList.with_classes(["list-unstyled", "list-labeled"])
+                       for mclassdef in redefs do
+                               redefs_lst.add_li new TplListItem.with_content(mclassdef.tpl_list_item)
+                       end
+                       if not redefs_lst.is_empty then
+                               redefs_art.content = redefs_lst
+                               article.add_child redefs_art
+                       end
                end
                return article
        end