clang  6.0.0svn
Public Member Functions | List of all members
clang::tooling::ToolInvocation Class Reference

Utility to run a FrontendAction in a single clang invocation. More...

#include "clang/Tooling/Tooling.h"

Public Member Functions

 ToolInvocation (std::vector< std::string > CommandLine, FrontendAction *FAction, FileManager *Files, std::shared_ptr< PCHContainerOperations > PCHContainerOps=std::make_shared< PCHContainerOperations >())
 Create a tool invocation. More...
 
 ToolInvocation (std::vector< std::string > CommandLine, ToolAction *Action, FileManager *Files, std::shared_ptr< PCHContainerOperations > PCHContainerOps)
 Create a tool invocation. More...
 
 ~ToolInvocation ()
 
void setDiagnosticConsumer (DiagnosticConsumer *DiagConsumer)
 Set a DiagnosticConsumer to use during parsing. More...
 
void mapVirtualFile (StringRef FilePath, StringRef Content)
 Map a virtual file to be used while running the tool. More...
 
bool run ()
 Run the clang invocation. More...
 

Detailed Description

Utility to run a FrontendAction in a single clang invocation.

Definition at line 216 of file Tooling.h.

Constructor & Destructor Documentation

◆ ToolInvocation() [1/2]

clang::tooling::ToolInvocation::ToolInvocation ( std::vector< std::string >  CommandLine,
FrontendAction FAction,
FileManager Files,
std::shared_ptr< PCHContainerOperations PCHContainerOps = std::make_shared<PCHContainerOperations>() 
)

Create a tool invocation.

Parameters
CommandLineThe command line arguments to clang. Note that clang uses its binary name (CommandLine[0]) to locate its builtin headers. Callers have to ensure that they are installed in a compatible location (see clang driver implementation) or mapped in via mapVirtualFile.
FActionThe action to be executed. Class takes ownership.
FilesThe FileManager used for the execution. Class does not take ownership.
PCHContainerOpsThe PCHContainerOperations for loading and creating clang modules.

Definition at line 224 of file Tooling.cpp.

◆ ToolInvocation() [2/2]

clang::tooling::ToolInvocation::ToolInvocation ( std::vector< std::string >  CommandLine,
ToolAction Action,
FileManager Files,
std::shared_ptr< PCHContainerOperations PCHContainerOps 
)

Create a tool invocation.

Parameters
CommandLineThe command line arguments to clang.
ActionThe action to be executed.
FilesThe FileManager used for the execution.
PCHContainerOpsThe PCHContainerOperations for loading and creating clang modules.

Definition at line 217 of file Tooling.cpp.

◆ ~ToolInvocation()

clang::tooling::ToolInvocation::~ToolInvocation ( )

Definition at line 232 of file Tooling.cpp.

Member Function Documentation

◆ mapVirtualFile()

void clang::tooling::ToolInvocation::mapVirtualFile ( StringRef  FilePath,
StringRef  Content 
)

Map a virtual file to be used while running the tool.

Parameters
FilePathThe path at which the content will be mapped.
ContentA null terminated buffer of the file's content.

Definition at line 237 of file Tooling.cpp.

◆ run()

bool clang::tooling::ToolInvocation::run ( )

◆ setDiagnosticConsumer()

void clang::tooling::ToolInvocation::setDiagnosticConsumer ( DiagnosticConsumer DiagConsumer)
inline

Set a DiagnosticConsumer to use during parsing.

Definition at line 248 of file Tooling.h.


The documentation for this class was generated from the following files: