lib: intro `Float.lerp` for simple linear interpolation
[nit.git] / src / frontend / serialization_phase.nit
index 28b9127..75863d9 100644 (file)
@@ -24,7 +24,10 @@ import modelize
 private import annotation
 
 redef class ToolContext
+       # Generate serialization and deserialization methods on `auto_serializable` annotated classes.
        var serialization_phase_pre_model: Phase = new SerializationPhasePreModel(self, null)
+
+       # The second phase of the serialization
        var serialization_phase_post_model: Phase = new SerializationPhasePostModel(self,
                [modelize_class_phase, serialization_phase_pre_model])
 
@@ -47,7 +50,7 @@ private class SerializationPhasePreModel
                # Add `super Serializable`
                var sc = toolcontext.parse_superclass("Serializable")
                sc.location = nat.location
-               nclassdef.n_superclasses.add sc
+               nclassdef.n_propdefs.add sc
 
                generate_serialization_method(nclassdef)
 
@@ -73,7 +76,7 @@ private class SerializationPhasePreModel
                end
        end
 
-       private fun generate_serialization_method(nclassdef: AClassdef)
+       fun generate_serialization_method(nclassdef: AClassdef)
        do
                var npropdefs = nclassdef.n_propdefs
 
@@ -94,7 +97,7 @@ private class SerializationPhasePreModel
        end
 
        # Add a constructor to the automated nclassdef
-       private fun generate_deserialization_init(nclassdef: AClassdef)
+       fun generate_deserialization_init(nclassdef: AClassdef)
        do
                var npropdefs = nclassdef.n_propdefs
 
@@ -128,7 +131,7 @@ private class SerializationPhasePreModel
        end
 
        # Added to the abstract serialization service
-       private fun generate_deserialization_method(nmodule: AModule, nclassdefs: Array[AStdClassdef])
+       fun generate_deserialization_method(nmodule: AModule, nclassdefs: Array[AStdClassdef])
        do
                var code = new Array[String]