[Tooling] Move CompilationDatabasePlugin to the Registry header, where it's useful. NFC

llvm-svn: 344247
This commit is contained in:
Sam McCall 2018-10-11 13:42:53 +00:00
parent 16f1699dda
commit 6380d8976c
2 changed files with 21 additions and 21 deletions

View File

@ -141,27 +141,6 @@ public:
virtual std::vector<CompileCommand> getAllCompileCommands() const;
};
/// 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:
///
/// \code
/// static CompilationDatabasePluginRegistry::Add<MyDatabasePlugin>
/// X("my-compilation-database", "Reads my own compilation database");
/// \endcode
class CompilationDatabasePlugin {
public:
virtual ~CompilationDatabasePlugin();
/// Loads a compilation database from a build directory.
///
/// \see CompilationDatabase::loadFromDirectory().
virtual std::unique_ptr<CompilationDatabase>
loadFromDirectory(StringRef Directory, std::string &ErrorMessage) = 0;
};
/// A compilation database that returns a single compile command line.
///
/// Useful when we want a tool to behave more like a compiler invocation.

View File

@ -16,6 +16,27 @@
namespace clang {
namespace tooling {
/// 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:
///
/// \code
/// static CompilationDatabasePluginRegistry::Add<MyDatabasePlugin>
/// X("my-compilation-database", "Reads my own compilation database");
/// \endcode
class CompilationDatabasePlugin {
public:
virtual ~CompilationDatabasePlugin();
/// Loads a compilation database from a build directory.
///
/// \see CompilationDatabase::loadFromDirectory().
virtual std::unique_ptr<CompilationDatabase>
loadFromDirectory(StringRef Directory, std::string &ErrorMessage) = 0;
};
using CompilationDatabasePluginRegistry =
llvm::Registry<CompilationDatabasePlugin>;