Merge: json: remove the old nitcc parser
authorJean Privat <jean@pryen.org>
Thu, 31 Aug 2017 19:44:12 +0000 (15:44 -0400)
committerJean Privat <jean@pryen.org>
Thu, 31 Aug 2017 19:44:12 +0000 (15:44 -0400)
commitafa60dd7a407e1d0cb21ef65f697f7e46d5b6cba
tree4e25f4d4a073bf1c76de5ba0fd1fc88dffa6995e
parent9fc571bab2b2dd16de9ed4c5a65900be39ab3c94
parente014f102c38b3c1be28b1a31c7e55c9baacbfa55
Merge: json: remove the old nitcc parser

Improve performances of the `json` package by removing the old nitcc parser to use only the custom string parser. It is faster at runtime and the nitcc parser classes were included with the JSON serialization services, slowing down compilation time even when not used.

The nitcc parser was still used only by a few clients, the only differences for the clients should be the error message, conflicts on the `Location` class, and improved performances.

It may be hard to see in the diff but the only differences in the `json` package are: the removal of the nitcc parser, move the string_parser in `static` (they are highly coupled), and make a few services private.

Note that the JSON nitcc grammar is still available in the nitcc project folder.

Warning: Until there's a service like `full_class_name`, deserializing classes with a name conflict is broken. I don't think that the 2-3 cases in the PR deserialize the generated JSON, so it should be OK for now.

Pull-Request: #2540