Interfering with recursive AST visitation


As far as I can tell, the RecursiveASTVisitor does not visit the
details (inputs/outputs) of inline assembly.

Based on my reading of the RAV design, I can coerce it into doing so
with something like:

  bool TraverseAsmStmt(clang::AsmStmt* Stmt) {
    if (!Base::TraverseAsmStmt(Stmt)) return false;

    for (clang::AsmStmt::inputs_iterator I = Stmt->begin_inputs();
         I != Stmt->end_inputs(); ++I) {

    for (clang::AsmStmt::outputs_iterator I = Stmt->begin_outputs();
         I != Stmt->end_outputs(); ++I) {

    return true;

It seems to work. Is this the right way to go about it?

- Kim