Re-apply r222646 (was reverted in r222667). Adding 4 ASTMatchers: typedefDecl, isInMa...
authorManuel Klimek <klimek@google.com>
Tue, 25 Nov 2014 17:01:06 +0000 (17:01 +0000)
committerManuel Klimek <klimek@google.com>
Tue, 25 Nov 2014 17:01:06 +0000 (17:01 +0000)
commitd3aa1f4a630249026fab3513e3ad3b418a5d50ac
tree85f577d21caaaecd1d31bd37c7aafaa4daee8aef
parentc81c3f554ccadfc15fc90a4e261d44d671440ea1
Re-apply r222646 (was reverted in r222667). Adding 4 ASTMatchers: typedefDecl, isInMainFile, isInSystemFile, isInFileMatchingName

Change to original: ifndef out tests in Windows due to /-separated
paths.

Summary:
Often one is only interested in matches within the main-file or matches
that are not within a system-header, for which this patch adds
isInMainFile and isInSystemFile. They take no arguments and narrow down
the matches.

The isInFileMatchingName is mainly thought for interactive
clang-query-sessions, to make a matcher more specific without restarting
the session with the files you are interested in for that moment. It
takes a string that will be used as regular-expression to match the
filename of where the matched node is expanded.

Patch by Hendrik von Prince.

llvm-svn: 222765
clang/docs/LibASTMatchersReference.html
clang/include/clang/ASTMatchers/ASTMatchers.h
clang/include/clang/Tooling/Tooling.h
clang/lib/ASTMatchers/Dynamic/Registry.cpp
clang/lib/Tooling/Tooling.cpp
clang/unittests/ASTMatchers/ASTMatchersTest.cpp
clang/unittests/ASTMatchers/ASTMatchersTest.h