end
return mclasses
end
+
+ # Get all mclasses in 'self' with their state
+ fun mclasses: HashMap[MClass, Int] do
+ var mclasses = new HashMap[MClass, Int]
+ for c in intro_mclasses do mclasses[c] = c_is_intro
+ for r in redef_mclasses do mclasses[r] = c_is_refined
+ for i in imported_mclasses do mclasses[i] = c_is_imported
+ return mclasses
+ end
end
redef class MClass
return self.kind == abstract_kind
end
end
+
+# MClass State
+fun c_is_intro: Int do return 1
+fun c_is_refined: Int do return 2
+fun c_is_imported: Int do return 3
close("div")
end
+ fun add_classes do
+ open("div").add_class("module")
+ open("article").add_class("classes filterable")
+ add("h2").text("Classes")
+ open("ul")
+ for c, state in amodule.mmodule.mclasses do
+ var name = c.name
+ if state == c_is_intro or state == c_is_imported then
+ open("li").add_class("intro")
+ add("span").attr("title", "introduced in this module").text("I ")
+ else
+ open("li").add_class("redef")
+ add("span").attr("title", "refined in this module").text("R ")
+ end
+ add("a").attr("href", "{name}.html").text(name)
+ close("li")
+ end
+ close("ul")
+ close("article")
+ close("div")
+ end
+
end
class NitdocPage