[Continuing a discussion started in cfe-commits. Please see below.]
Hi Doug,
We believe that the AST XML printer is very useful even in its current
state, so its removal is not warranted. Yes, it represents Clang's internal
AST but that's exactly why it is useful: there's simply no other way to dump
Clang's AST in a form that other tools can parse. For example, we have
developed a number of automatic AST tests based on the XML printer, which,
if the printer is unavailable, we have to throw away (potentially
compromising the quality of our compiler). It may be argued that potential
future improvements will actually make it less suitable for such uses.
If the problem is that a potential user can be let down by its
incompleteness or instability, I can propose two alternatives. First,
remove the XML printer from the Clang driver but otherwise leave it in the
library (with a number of caveats). Second, allow us to come up with a
cut-down version of the XML printer that will only be able, say, to output
info for declarations. This will be easier to maintain, while not set up
user expectations too high.
Please let me know what you think.
Anton.