serialization: automaticly add Serializable to auto_serializable classes
authorAlexis Laferrière <alexis.laf@xymus.net>
Mon, 21 Jul 2014 00:22:40 +0000 (20:22 -0400)
committerAlexis Laferrière <alexis.laf@xymus.net>
Tue, 22 Jul 2014 18:02:22 +0000 (14:02 -0400)
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

src/serialization_phase.nit

index a2568f3..d6d734f 100644 (file)
@@ -26,7 +26,6 @@ redef class ToolContext
        var serialization_phase: Phase = new SerializationPhase(self, null)
 end
 
-# TODO automaticaly add Serializable as a super class
 # TODO Sequences
 # TODO add annotations on attributes (volatile, sensitive or do_not_serialize?)
 private class SerializationPhase
@@ -41,6 +40,11 @@ private class SerializationPhase
                        return
                end
 
+               # Add `super Serializable`
+               var sc = toolcontext.parse_superclass("Serializable")
+               sc.location = nat.location
+               nclassdef.n_superclasses.add sc
+
                generate_serialization_method(nclassdef)
 
                generate_deserialization_init(nclassdef)