nitvm: use perfect hashing for atribute access
[nit.git] / tests / test_deserialization.nit
index 0f4f94e..e7376cd 100644 (file)
@@ -23,6 +23,7 @@ class A
        super Serializable
 
        var b: Bool
+       var c: Char
        var f: Float
        var i: Int
        var s: String
@@ -31,12 +32,13 @@ class A
        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
@@ -93,7 +95,7 @@ var c = new C(a, 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)
@@ -103,5 +105,5 @@ for o in new Array[nullable Serializable].with_items(a, b, c, d) do
 
        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