class NitModule
super Template
- var header: nullable Streamable = null
+ var header: nullable Writable = null
# The module's name
- var name: Streamable
+ var name: Writable
# Imports from this module
- var imports = new Array[Streamable]
+ var imports = new Array[Writable]
# Main content of this module
- var content = new Array[Streamable]
+ var content = new Array[Writable]
redef fun rendering
do
if header != null then add header
var name = name
- if name != null then add "module {name}\n\n"
+ add "module {name}\n\n"
for i in imports do add "import {i}\n"
add "\n"
redef class MModule
# Get the type of the class `Serializable`
- fun serializable_type: MClassType is cached do
+ var serializable_type: MClassType is lazy do
return self.get_primitive_class("Serializable").mclass_type
end
end
var model = new Model
var modelbuilder = new ModelBuilder(model, toolcontext)
-var mmodules = modelbuilder.parse(arguments)
+var mmodules = modelbuilder.parse_full(arguments)
modelbuilder.run_phases
# Create a distinct support module per targetted modules
module_name = "{mmodule.name}_serial"
module_path = null
else if module_path.has_suffix(".nit") then
- module_name = mmodule.name.basename(".nit")
+ module_name = module_path.basename(".nit")
else
module_name = module_path.basename("")
module_path += ".nit"