Here's a second pass on PCH support for CXX decls. This patch has mostly complete support for namespaces, namespace aliases, using directives, using/shadow decls, and C++ classes (and their bases and injected class names, I suppose). There's some support written for some other C++ decls, but it's incomplete and not tested--stubbed out.<br>
<br>Also, I probably need to back-fill some of the source location stuff. I wasn't quite sure how much source location/range information I need to serialize. Any guidance along these lines would be appreciated.<br><br>
I had to add a number of get/set functions to some of the Decls in the AST since it isn't generally feasible to create/init these objects at the same time. Also, the CXX Ctor/Dtor/Conversion Decls get extra Create methods since their usual Create functions would assert with an empty DeclarationName.<br>
<br>I'm not very happy with the serialization of classes. I'm currently writing a large number of properties that could be deduced from the addition of constructors, destructors, operators, and base classes. One one hand, it would be more graceful to allow the class to configure itself based on elements. On the other hand, there is some computational cost associated with the tests required to do that. Does anybody want to suggest a best approach before I start writing method serialization?<br clear="all">
<br>Andrew Sutton<br><a href="mailto:andrew.n.sutton@gmail.com">andrew.n.sutton@gmail.com</a><br>