Merge: serialization: safe formal types, fix warnings in generated code and more
authorJean Privat <jean@pryen.org>
Wed, 2 Aug 2017 18:17:06 +0000 (14:17 -0400)
committerJean Privat <jean@pryen.org>
Wed, 2 Aug 2017 18:17:06 +0000 (14:17 -0400)
* Use `GetName` to better restrict the accepted static type for attributes with formal types. This should complete the protection against the injection of unexpected types through deserialization (reported by @ppepos).
* Update `nitserial` to intrude import modules with private serializable classes, instead of skipping them. Serializing private classes from the lib should probably be avoided, but at least now we support them and we can see them.
* Fix the deserialization of maps from JSON with metadata and cycles. A difference in the deserialization order could cause a reference to be read before the referenced object. This issue may still be caused by versionning, so a foolproof solution should probably be added to the JSON deserializer.
* Fix a warning in generated code, it was generated for each `serialize` class (quite a lot). It caused 25 warnings just in lib/github/api.nit.
* Implement serialization for the private classes of `core::queue` and don't crash on deserialization errors in `a_star`.

Pull-Request: #2531
Reviewed-by: Jean Privat <jean@pryen.org>

1  2 
lib/a_star.nit

diff --cc lib/a_star.nit
Simple merge