History log of /external/clang/include/clang/Tooling/Tooling.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
6bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89 29-May-2014 Stephen Hines <srhines@google.com> Update Clang for 3.5 rebase (r209713).

Change-Id: I8c9133b0f8f776dc915f270b60f94962e771bc83
/external/clang/include/clang/Tooling/Tooling.h
651f13cea278ec967336033dd032faef0e9fc2ec 24-Apr-2014 Stephen Hines <srhines@google.com> Updated to Clang 3.5a.

Change-Id: I8127eb568f674c2e72635b639a3295381fe8af82
/external/clang/include/clang/Tooling/Tooling.h
fa8e7d344fc6ac9bf464419cc9cc2743b5036047 08-Nov-2013 Manuel Klimek <klimek@google.com> Adds the ability to inject a DiagnosticConsumer into ClangTools.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194226 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Tooling/Tooling.h
f907afed937b45f70df3b0f68b925d699992dfc0 06-Nov-2013 NAKAMURA Takumi <geek4civic@gmail.com> Update \param in ToolInvocation() corresponding to r194164. [-Wdocumentation]

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194175 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Tooling/Tooling.h
8051db16aa9513333062ab3145f038429f66780f 06-Nov-2013 Peter Collingbourne <peter@pcc.me.uk> 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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194164 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Tooling/Tooling.h
233fbe1f56183878167a56be53425a6dd25ba334 15-Aug-2013 Stefanus Du Toit <stefanus.du.toit@intel.com> Add a bit of explanation for FrontendActionFactory.

Also use the more common "derive from" in place of "extend" in another
comment.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188440 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Tooling/Tooling.h
a2148240bd94ef659a9195b87e9cd0023536c01f 10-Aug-2013 Rafael Espindola <rafael.espindola@gmail.com> Simplify now that llvm::sys::current_path checks $PWD.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188128 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Tooling/Tooling.h
63d5335aea916584b76790af1f1ed7caeaf8efeb 06-Jun-2013 Pavel Labath <labath@google.com> ClangTool: strip -o from the command line

Summary:
This patch creates a new ArgumentsAdjuster, which removes all -o parameters from
the command line. This adjuster is inserted by default into the ClangTool pipeline.

Reviewers: klimek

CC: cfe-commits, revane

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@183398 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Tooling/Tooling.h
48b3f0f74da575a66802dc5019b7440914983885 04-Jun-2013 Manuel Klimek <klimek@google.com> Enables chaining of argument adjusters in clang tools.

This enables changing clang-check to get extra arguments.

Patch by Pavel Labath.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@183227 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Tooling/Tooling.h
5ec9580f68661ffccff07177613b692d0acb4797 30-May-2013 Edwin Vane <edwin.vane@intel.com> Coding style fix for SourceFileCallbacks



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@182930 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Tooling/Tooling.h
3c16e699b2a6926017b5f7a1516dc1be67468713 29-May-2013 Edwin Vane <edwin.vane@intel.com> Tooling: Call back for both begin and end of sources

newFrontendActionFactory() took a pointer to a callback to call when a source
file was done being processed by an action. This revision updates the callback
to include an ante-processing callback as well.

Callback-providing class renamed and callback functions themselves renamed.
Functions are no longer pure-virtual so users aren't forced to implement both
callbacks if one isn't needed.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@182864 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Tooling/Tooling.h
d47afb96a3f988e6d21a92fe4dfe875ab227c7c0 20-Jan-2013 Sean Silva <silvas@purdue.edu> Nuke SetUpBuildDumpLog.

Also, it was the only reason that `argc` and `argv` were being passed
into createDiagnostics, so remove those parameters and clean up callers.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172945 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Tooling/Tooling.h
cfa88f893915ceb8ae4ce2f17c46c24a4d67502f 12-Jan-2013 Dmitri Gribenko <gribozavr@gmail.com> Remove useless 'llvm::' qualifier from names like StringRef and others that are
brought into 'clang' namespace by clang/Basic/LLVM.h


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172323 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Tooling/Tooling.h
d088a5f966c31462280d5ace29febc6889834611 11-Jan-2013 Edwin Vane <edwin.vane@intel.com> Allow RefactoringTool to write to memory instead of always to disk

RefactoringTool::run() always writes the result of rewrites to disk.
Instead, make this optional and provide a method for getting the
refactoring results in a memory buffer instead.

Also made ClangTool polymorphic so RefactoringTool could inherit from it
to properly express the IS-A relationship. This change also provides
access to ClangTool's public interface, e.g. mapVirtualFile() which is
important once refactored buffers start living in memory instead of on
disk.

Reviewers: klimek



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172219 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Tooling/Tooling.h
30a2e16f6c27f888dd11eba6bbbae1e980078fcb 04-Dec-2012 Chandler Carruth <chandlerc@gmail.com> Sort #include lines for all files under include/...

This is a simpler sort, entirely automatic with the help of
llvm/utils/sort_includes.py -- no manual edits here.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169238 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Tooling/Tooling.h
9fb6b27e6d584ac339363357335f8d6de3a652ac 25-Oct-2012 Manuel Klimek <klimek@google.com> Adds the possibility to inject a callback that's called after each translation unit is processed.

This is important when one wants to deduplicate results during one run over a translation unit by pointer identity of AST nodes.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166671 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Tooling/Tooling.h
566698851d76416129cd20ceea02bdd697934c5c 30-Aug-2012 Nico Weber <nicolasweber@gmx.de> Tooling: Add a runToolOnCodeWithArgs() function that allows
passing additional parameters to a tool.

Use this to fix a FIXME in testing code.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162889 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Tooling/Tooling.h
fe7beeb421b90f66b4a96c2358c5a838c376a0a8 16-Jul-2012 Daniel Jasper <djasper@google.com> Add refactoring callbacks to make common kinds of refactorings easy.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160255 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Tooling/Tooling.h
8fa2fb859a4cb8e67d9763225281d9b0aa9cb59f 10-Jul-2012 Manuel Klimek <klimek@google.com> Adds support for auto-detection of compilation databases
from a source file and changes clang-check to make use of this.

This makes clang-check just work on in-tree builds, and allows
easy setup via a symlink per source directory to make clang-check
work without any extra configuration.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159990 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Tooling/Tooling.h
e6df0ce08fcdf9f906556d98cca96d38ab440bba 05-Jul-2012 Manuel Klimek <klimek@google.com> Adapts the FrontendAction convenience functions so that it can be
used with classes that generate ASTConsumers; this allows decoupling
the ASTConsumer generation from the Frontend library (like, for example,
the MatchFinder in the upcoming ASTMatcher patch).



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159760 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Tooling/Tooling.h
30c009b5fa4d22ddabfe6ad6ba4158a664a4bd83 04-Jun-2012 Alexander Kornienko <alexfh@google.com> Fixed a problem related to resolution of built-in headers in case a path of tool's binary contains sym-links.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157944 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Tooling/Tooling.h
14a192435425af39e7f32b6e71613f9357e995f7 31-May-2012 Alexander Kornienko <alexfh@google.com> Fix an object lifetime issue in clang/Tooling.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157759 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Tooling/Tooling.h
a01ddc787b5c8b1cf11e975d3586908d3629954c 09-May-2012 Simon Atanasyan <satanasyan@mips.com> Declare abstract class ArgumentsAdjuster. This abstract interface describes
a command line argument adjuster, which is responsible for command line
arguments modification before the arguments are used to run a frontend action.

Define class ClangSyntaxOnlyAdjuster implements ArgumentsAdjuster interface.
This class converts input command line arguments to the "syntax check only"
variant.

Reviewed by Manuel Klimek.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156478 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Tooling/Tooling.h
00f3c4f499cc27c88005176226bb424f6db4a31b 07-May-2012 Manuel Klimek <klimek@google.com> Fixes resolution of relative paths when running clang tools.

The chdir is not the perfect fix, as it is thread hostile. The
real fix will be to make -working-dir work correctly, which will
take time to implement. Before that, the tooling library cannot
be used concurrently.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156299 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Tooling/Tooling.h
295413422d0c8d70e8861b71f7b622871ba1ba44 23-Apr-2012 Manuel Klimek <klimek@google.com> Fixes comment referencing old name.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155340 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Tooling/Tooling.h
cb971c6726d16e12ecd2a340941d7f5c06698332 04-Apr-2012 Manuel Klimek <klimek@google.com> Adds a tooling library.

Provides an API to run clang tools (FrontendActions) as standalone tools,
or repeatedly in-memory in a process. This is useful for unit-testing,
map-reduce style applications, source transformation daemons or command line
tools.

The ability to run over multiple translation units with different command
line arguments enables building up refactoring tools that need to apply
transformations across translation unit boundaries.

See tools/clang-check/ClangCheck.cpp for an example.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154008 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Tooling/Tooling.h
16f213142f8f8f5410672205a19f79ed3c232929 02-Jun-2011 Manuel Klimek <klimek@google.com> Reverts the Tooling changes as requested by Chris.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132462 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Tooling/Tooling.h
64cbdf370984783911bb6d3bc25ec35a8b59e998 01-Jun-2011 Manuel Klimek <klimek@google.com> This patch implements an AST matching framework that allows to write
tools that match on the C++ ASTs. The main interface is in ASTMatchers.h,
an example implementation of a tool that removes redundant .c_str() calls
is in the example RemoveCStrCalls.cpp.

Various contributions:
Zhanyong Wan, Chandler Carruth, Marcin Kowalczyk, Wei Xu, James Dennett.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132374 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Tooling/Tooling.h
81e557b1ded0e3249f784172c54728469baad1db 16-May-2011 Manuel Klimek <klimek@google.com> Pulls the common part of the clang-check example into Tooling, to allow new tools to be implemented without duplicating the boilerplate.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131425 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Tooling/Tooling.h
9a05fa97df4d5e64f740848a7759ecae5e1ed162 27-Apr-2011 Manuel Klimek <klimek@google.com> This is the next step in building the standalone tools infrastructure:
This patch simplifies writing of standalone Clang tools. As an
example, we add clang-check, a tool that runs a syntax only frontend
action over a .cc file. When you integrate this into your favorite
editor, you get much faster feedback on your compilation errors, thus
reducing your feedback cycle especially when writing new code.

The tool depends on integration of an outstanding patch to CMake to
work which allows you to always have a current compile command
database in your cmake output directory when you set
CMAKE_EXPORT_COMPILE_COMMANDS.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130306 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Tooling/Tooling.h
cf3ce5d89628b3955c638fb102c8dc4c24e1986d 21-Apr-2011 Manuel Klimek <klimek@google.com> Adds a function to run FrontendActions over in-memory code. This is
the first step towards a standalone Clang tool infrastructure.
The plan is to make it easy to build command line tools that run over
the AST of source files in a project outside of the build system.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129924 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Tooling/Tooling.h