forked from OSchip/llvm-project
[Tooling] Move CompilationDatabasePlugin to the Registry header, where it's useful. NFC
llvm-svn: 344247
This commit is contained in:
parent
16f1699dda
commit
6380d8976c
|
@ -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.
|
||||
|
|
|
@ -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>;
|
||||
|
||||
|
|
Loading…
Reference in New Issue