lib: intro `Float.lerp` for simple linear interpolation
[nit.git] / src / nitserial.nit
index 43907aa..ea2e4b4 100644 (file)
@@ -36,16 +36,16 @@ import template
 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
@@ -53,7 +53,7 @@ class NitModule
                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"
@@ -78,7 +78,7 @@ end
 
 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
@@ -127,7 +127,7 @@ 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
@@ -149,7 +149,7 @@ for mmodule in mmodules do
                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"