From: Sam McCall Date: Thu, 11 Oct 2018 13:42:53 +0000 (+0000) Subject: [Tooling] Move CompilationDatabasePlugin to the Registry header, where it's useful... X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=bb45239209491f6df1cf5bac7896673d5864640a;p=clang [Tooling] Move CompilationDatabasePlugin to the Registry header, where it's useful. NFC git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@344247 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/clang/Tooling/CompilationDatabase.h b/include/clang/Tooling/CompilationDatabase.h index 37e515fdc0..aa07cc30e5 100644 --- a/include/clang/Tooling/CompilationDatabase.h +++ b/include/clang/Tooling/CompilationDatabase.h @@ -141,27 +141,6 @@ public: virtual std::vector 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 -/// 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 - 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. diff --git a/include/clang/Tooling/CompilationDatabasePluginRegistry.h b/include/clang/Tooling/CompilationDatabasePluginRegistry.h index 051a08e2a9..748ddbcf9d 100644 --- a/include/clang/Tooling/CompilationDatabasePluginRegistry.h +++ b/include/clang/Tooling/CompilationDatabasePluginRegistry.h @@ -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 +/// 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 + loadFromDirectory(StringRef Directory, std::string &ErrorMessage) = 0; +}; + using CompilationDatabasePluginRegistry = llvm::Registry;