llvm-project/clang/lib
Peter Collingbourne c689ee76d4 Introduce ClangTool::buildASTs, and buildASTFromCode.
These allow clients to retrieve persistent AST objects (ASTUnits) which
can be used in an ad-hoc manner after parsing.

To accommodate this change, the code for processing a CompilerInvocation
using a FrontendAction has been factored out to FrontendActionFactory, and
a new base class, ToolAction, has been introduced, allowing the tool to do
arbitrary things with each CompilerInvocation.  This change was necessary
because ASTUnit does not use the FrontendAction interface directly.

This change also causes the FileManager in ClangTool to use shared ownership.
This will become necessary because ASTUnit takes shared ownership of
FileManager (ClangTool's FileManager is currently unused by ASTUnit; this
is a FIXME).  As shown in the tests, any client of ToolInvocation will
need to be modified to use shared ownership for FileManager.

Differential Revision: http://llvm-reviews.chandlerc.com/D2097

llvm-svn: 194164
2013-11-06 20:12:45 +00:00
..
ARCMigrate ObjectiveC migrator. Please annotation of properties with 2013-11-05 22:28:30 +00:00
AST Silencing some MSVC warnings about not all control paths returning a value when they actually do. 2013-11-06 18:15:02 +00:00
ASTMatchers Resubmit "Refactor DynTypedMatcher into a value type class, just like Matcher<T>." 2013-10-29 14:37:15 +00:00
Analysis Thread safety analysis: minor bugfix to smart pointer handling, and expanded 2013-11-06 18:40:01 +00:00
Basic Include non-explicit submodules in exported module list 2013-11-04 21:51:33 +00:00
CodeGen Fix the -cxx-abi microsoft -mconstructor-aliases combination. 2013-11-06 19:18:55 +00:00
Driver Add a limit to the length of a sequence of 'operator->' functions we will 2013-11-06 19:31:51 +00:00
Edit ObjectiveC migrator: When doing migration, migrator must suggest 2013-10-01 21:16:29 +00:00
Format clang-format: Allow line merging and partial formatting of nested blocks 2013-11-05 19:10:03 +00:00
Frontend Add a limit to the length of a sequence of 'operator->' functions we will 2013-11-06 19:31:51 +00:00
FrontendTool Remove -ast-dump-xml. 2013-10-07 20:56:34 +00:00
Headers Define [U]LLONG_{MIN,MAX} for C++11, add tests. 2013-10-27 19:00:49 +00:00
Index Avoid using the 'index' namespace as scope. 2013-08-21 00:49:25 +00:00
Lex Lex: Require that '#' be followed by a macro parameter name when preceded by '##' 2013-11-05 09:30:17 +00:00
Parse Revert "Try to correct a mistyped "-" or ">" to "->" for some C++ cases." 2013-11-05 18:28:21 +00:00
Rewrite Fix typo: inccrementally 2013-10-13 12:02:16 +00:00
Sema Fix diagnostic goof in r194161. 2013-11-06 19:43:09 +00:00
Serialization Include non-explicit submodules in exported module list 2013-11-04 21:51:33 +00:00
StaticAnalyzer [analyzer] Track the count of NSOrderedSet similarly to other fast enumerations. 2013-11-04 19:13:08 +00:00
Tooling Introduce ClangTool::buildASTs, and buildASTFromCode. 2013-11-06 20:12:45 +00:00
CMakeLists.txt Fix dependencies now that the ARC migrator depends on the static analyzer. 2013-08-22 15:50:02 +00:00
Makefile Fix dependencies now that the ARC migrator depends on the static analyzer. 2013-08-22 15:50:02 +00:00