clang 20.0.0git
|
Interface for executing clang frontend actions. More...
#include "clang/Tooling/Execution.h"
Public Member Functions | |
virtual | ~ToolExecutor () |
virtual StringRef | getExecutorName () const =0 |
Returns the name of a specific executor. | |
virtual llvm::Error | execute (llvm::ArrayRef< std::pair< std::unique_ptr< FrontendActionFactory >, ArgumentsAdjuster > > Actions)=0 |
Executes each action with a corresponding arguments adjuster. | |
llvm::Error | execute (std::unique_ptr< FrontendActionFactory > Action) |
Convenient functions for the above execute . | |
llvm::Error | execute (std::unique_ptr< FrontendActionFactory > Action, ArgumentsAdjuster Adjuster) |
Executes an action with an argument adjuster. | |
virtual ExecutionContext * | getExecutionContext ()=0 |
Returns a reference to the execution context. | |
virtual ToolResults * | getToolResults ()=0 |
Returns a reference to the result container. | |
virtual void | mapVirtualFile (StringRef FilePath, StringRef Content)=0 |
Map a virtual file to be used while running the tool. | |
Interface for executing clang frontend actions.
This can be extended to support running tool actions in different execution mode, e.g. on a specific set of TUs or many TUs in parallel.
New executors can be registered as ToolExecutorPlugins via the ToolExecutorPluginRegistry
. CLI tools can use createExecutorFromCommandLineArgs
to create a specific registered executor according to the command-line arguments.
Definition at line 111 of file Execution.h.
|
inlinevirtual |
Definition at line 113 of file Execution.h.
|
pure virtual |
Executes each action with a corresponding arguments adjuster.
Implemented in clang::tooling::AllTUsToolExecutor, clang::tooling::StandaloneToolExecutor, clang::tooling::AllTUsToolExecutor, and clang::tooling::StandaloneToolExecutor.
Referenced by execute().
llvm::Error clang::tooling::ToolExecutor::execute | ( | std::unique_ptr< FrontendActionFactory > | Action | ) |
Convenient functions for the above execute
.
Definition at line 43 of file Execution.cpp.
References execute().
llvm::Error clang::tooling::ToolExecutor::execute | ( | std::unique_ptr< FrontendActionFactory > | Action, |
ArgumentsAdjuster | Adjuster | ||
) |
Executes an action with an argument adjuster.
Definition at line 47 of file Execution.cpp.
References execute().
|
pure virtual |
Returns a reference to the execution context.
This should be passed to tool callbacks, and tool callbacks should report results via the returned context.
Implemented in clang::tooling::AllTUsToolExecutor, and clang::tooling::StandaloneToolExecutor.
|
pure virtual |
Returns the name of a specific executor.
Implemented in clang::tooling::AllTUsToolExecutor, and clang::tooling::StandaloneToolExecutor.
|
pure virtual |
Returns a reference to the result container.
NOTE: This should only be used after the execution finishes. Tool callbacks should report results via ExecutionContext
instead.
Implemented in clang::tooling::AllTUsToolExecutor, and clang::tooling::StandaloneToolExecutor.
|
pure virtual |
Map a virtual file to be used while running the tool.
FilePath | The path at which the content will be mapped. |
Content | A buffer of the file's content. |
Implemented in clang::tooling::AllTUsToolExecutor, and clang::tooling::StandaloneToolExecutor.