module nitx
import model_utils
-import modelize_property
+import modelize
# Main class of the nit index tool
# NitIndex build the model using the toolcontext argument
print "Loaded modules:"
var mmodules = new Array[MModule]
mmodules.add_all(model.mmodules)
- var sorter = new MModuleNameSorter
+ var sorter = new MEntityNameSorter
sorter.sort(mmodules)
for m in mmodules do
print "\t{m.name}"
cats[key].add(mprop)
end
#sort groups
- var sorter = new MModuleNameSorter
+ var sorter = new MEntityNameSorter
var sorted = new Array[MModule]
sorted.add_all(cats.keys)
sorter.sort(sorted)
for mmodule in sorted do
var mprops = cats[mmodule]
pager.add("# matches in module {mmodule.namespace.bold}")
- var sorterp = new MPropertyNameSorter
- sorterp.sort(mprops)
+ sorter.sort(mprops)
for mprop in mprops do
end
pager.add(prototype)
pager.add("{namespace}".bold.gray + " (lines {location.lines})".gray)
pager.indent = pager.indent + 1
- var sorter = new MModuleNameSorter
+ var sorter = new MEntityNameSorter
# imported modules
var imports = new Array[MModule]
for mmodule in in_importation.direct_greaters.to_a do
pager.indent = pager.indent - 1
end
# mclassdefs
- var csorter = new MClassDefNameSorter
var intros = new Array[MClassDef]
var redefs = new Array[MClassDef]
for mclassdef in mclassdefs do
end
# introductions
if not intros.is_empty then
- csorter.sort(intros)
+ sorter.sort(intros)
pager.add("")
pager.add("== introduced classes".bold)
pager.indent = pager.indent + 1
end
# refinements
if not redefs.is_empty then
- csorter.sort(redefs)
+ sorter.sort(redefs)
pager.add("")
pager.add("== refined classes".bold)
pager.indent = pager.indent + 1
redef fun content(index, pager) do
# intro comment
+ var sorter = new MEntityNameSorter
var mdoc = intro.mdoc
if mdoc != null then
for comment in mdoc.content do pager.add(comment.green)
# parents
var supers = self.in_hierarchy(index.mainmodule).direct_greaters.to_a
if not supers.is_empty then
- var csorter = new MClassNameSorter
- csorter.sort(supers)
+ sorter.sort(supers)
pager.add("")
pager.add("== supers".bold)
pager.indent = pager.indent + 1
pager.indent = pager.indent - 1
end
# intro mproperties
- var psorter = new MPropDefNameSorter
var mpropdefs = intro.mpropdefs
index.mainmodule.linearize_mpropdefs(mpropdefs)
for cat in intro.cats2mpropdefs.keys do
var defs = intro.cats2mpropdefs[cat].to_a
if defs.is_empty then continue
- psorter.sort(defs)
+ sorter.sort(defs)
pager.add("")
pager.add("== {cat}".bold)
pager.indent = pager.indent + 1
pager.add("{namespace}".bold.gray + " (lines {location.lines})".gray)
pager.indent = pager.indent + 1
var mpropdefs = self.mpropdefs
- var psorter = new MPropDefNameSorter
+ var sorter = new MEntityNameSorter
index.mainmodule.linearize_mpropdefs(mpropdefs)
for cat in cats2mpropdefs.keys do
var defs = cats2mpropdefs[cat].to_a
- psorter.sort(defs)
+ sorter.sort(defs)
if defs.is_empty then continue
pager.add("")
pager.add("== {cat}".bold)
if not mproperty.is_init then res.append("fun ")
res.append(mproperty.to_console.bold)
if msignature != null then res.append(msignature.to_console)
- # FIXME: modifiers should be accessible via the model
- #if self isa ADeferredMethPropdef then ret = "{ret} is abstract"
- #if self isa AInternMethPropdef then ret = "{ret} is intern"
- #if self isa AExternMethPropdef then ret = "{ret} is extern"
+ if is_abstract then res.append " is abstract"
+ if is_intern then res.append " is intern"
+ if is_extern then res.append " is extern"
return res.to_s
end
end