# Simple class
class A
auto_serializable
- super Serializable
- var b: Bool
+ var b = false
+ var c: Char
var f: Float
- var i: Int
- var s: String
+ var i = 123
+ var s = "asdf"
var n: nullable Int
init(b: Bool, c: Char, f: Float, i: Int, s: String, n: nullable Int)
do
self.b = b
+ self.c = c
self.f = f
self.i = i
self.s = s
end
- redef fun to_s do return "<A: {b} {f} {i} {s} {n != null}>"
+ redef fun to_s do return "<A: {b} {c} {f} {i} {s} {n != null}>"
end
# Sub-class of A
# Composed of an A and a B
class C
auto_serializable
- super Serializable
var a: A
- var b: B
+ var b = new B(false, 'b', 123.123, 2345, "hjkl", 12, 1111, "qwer")
var aa: A
init(a: A, b: B)
var d = new D(false, 'b', 123.123, 2345, "new line ->\n<-", null, 1111, "\t\f\"\r\\/")
d.d = d
-for o in new Array[nullable Serializable].with_items(a, b, c, d) do
+for o in new Array[Serializable].with_items(a, b, c, d) do
var stream = new StringOStream
var serializer = new JsonSerializer(stream)
serializer.serialize(o)
print "# Nit:\n{o}\n"
print "# Json:\n{stream}\n"
- print "# Back in Nit:\n{deserialized}\n"
+ print "# Back in Nit:\n{deserialized or else "null"}\n"
end