I'm trying to create a tool which transforms source using a class derived from ASTFrontendAction. The tool need to transform one or more source files and then produce a final source file which can reference symbols from all of the processed source files. I tried to use ASTMergeAction class by saving the ASTUnit at the inside my class's EndSourceFileAction(). But when the files are merged, ASTImporter emits multiple errors "cannot import unsupported AST node xxx". Is this the right way to do it?
I suppose that ASTImporter does not handle all AST nodes (i know that it cannot import using directives, it cannot import templates, also it cannot import pragmas and so on). I think that it can import only simple nodes (like structs, classes, functions).