aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>2012-05-04 01:00:35 +0000
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>2012-05-04 01:00:35 +0000
commit6c57a4703d7e9e25897e0a44423a44a410110fa7 (patch)
treeb3371d7c9e9bccdc40974cadd14a1d852f1a9d8d /clang/lib/Frontend/CompilerInvocation.cpp
parentda7513a8340192ca7473e0b6698e52cbdc1cb0ac (diff)
downloadllvm-6c57a4703d7e9e25897e0a44423a44a410110fa7.zip
llvm-6c57a4703d7e9e25897e0a44423a44a410110fa7.tar.gz
llvm-6c57a4703d7e9e25897e0a44423a44a410110fa7.tar.bz2
Make RecursiveASTVisitor fully data recursive on Stmts, with
minimal disruption on its clients. Unlike the previous data-recursive scheme, Traverse*Stmt methods are always getting called. The base methods of RecursiveASTVisitor will enqueue the sub-statements instead of calling TraverseStmt on them. Clients that override a Traverse*Stmt method and call TraverseStmt will still function as function-recursive traversal; if a client wants to enqueue a sub-statement in its override method it can do it like this: [inside the override method] StmtQueueAction StmtQueue(*this); StmtQueue.queue(Stmt->getSubStmt()); Should address rdar://11179167. llvm-svn: 156141
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions