This adds the target dump typesystem'command which dumps the TypeSystem of the
target itself (aka the 'scratch TypeSystem'). This is similar to target modules dump ast
which dumps the AST of lldb::Modules associated with a selected target.
Unlike target modules dump ast, the new command is not a subcommand of
target modules dump as it's not touching the modules of a target at all. Also unlike
target modules dump ast I tried to keep the implementation language-neutral, so
this patch moves our Clang Dump to the TypeSystem interface so it will also dump
the state of any future/downstream scratch TypeSystems (e.g., Swift). That's also
why the command just refers to a 'typesystem' instead of an 'ast' (which is only how
Clang is necessarily modelling the internal TypeSystem state).
The main motivation for this patch is that I need to write some tests that check
for duplicates in the ScratchTypeSystemClang of a target. There is currently no way
to check for this at the moment (beside measuring memory consumption of course).
It's probably also useful for debugging LLDB itself.
use static instead of anonymous namesapce