clang  19.0.0git
Public Member Functions | List of all members
clang::tooling::CompilationDatabasePlugin Class Referenceabstract

Interface for compilation database plugins. More...

#include "clang/Tooling/CompilationDatabasePluginRegistry.h"

Public Member Functions

virtual ~CompilationDatabasePlugin ()
 
virtual std::unique_ptr< CompilationDatabaseloadFromDirectory (StringRef Directory, std::string &ErrorMessage)=0
 Loads a compilation database from a build directory. More...
 

Detailed Description

Interface for compilation database plugins.

A compilation database plugin allows the user to register custom compilation databases that are picked up as compilation database if the corresponding library is linked in. To register a plugin, declare a static variable like:

static CompilationDatabasePluginRegistry::Add<MyDatabasePlugin>
X("my-compilation-database", "Reads my own compilation database");
static ToolExecutorPluginRegistry::Add< AllTUsToolExecutorPlugin > X("all-TUs", "Runs FrontendActions on all TUs in the compilation database. " "Tool results are stored in memory.")

Definition at line 28 of file CompilationDatabasePluginRegistry.h.

Constructor & Destructor Documentation

◆ ~CompilationDatabasePlugin()

CompilationDatabasePlugin::~CompilationDatabasePlugin ( )
virtualdefault

Member Function Documentation

◆ loadFromDirectory()

virtual std::unique_ptr<CompilationDatabase> clang::tooling::CompilationDatabasePlugin::loadFromDirectory ( StringRef  Directory,
std::string &  ErrorMessage 
)
pure virtual

Loads a compilation database from a build directory.

See also
CompilationDatabase::loadFromDirectory().

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