Currently, when we add any field to ASTNode, we need to change the serializer/deserializer too. However, the developers usually forgets this. The process may like: changing AST Nodes -> test, review and land the patch -> met segmentation fault -> revert, debugging and locate the problem -> test, review and land it again. Although we can' teach serializer/deserializer the change automatically. We could add unit tests for serializing/deserializing each ASTNodes. So that the developer can find their problems in the early day. It should save a lot of time.
Currently, when we add any field to ASTNode, we need to change the serializer/deserializer too. However, the developers usually forgets this. The process may like: changing AST Nodes -> test, review and land the patch -> met segmentation fault -> revert, debugging and locate the problem -> test, review and land it again. Although we can' teach serializer/deserializer the change automatically. We could add unit tests for serializing/deserializing each ASTNodes. So that the developer can find their problems in the early day. It should save a lot of time.