diff options
Diffstat (limited to 'clang/lib/Tooling/Tooling.cpp')
-rw-r--r-- | clang/lib/Tooling/Tooling.cpp | 37 |
1 files changed, 17 insertions, 20 deletions
diff --git a/clang/lib/Tooling/Tooling.cpp b/clang/lib/Tooling/Tooling.cpp index 82abede8031..7ae2950037b 100644 --- a/clang/lib/Tooling/Tooling.cpp +++ b/clang/lib/Tooling/Tooling.cpp @@ -104,12 +104,12 @@ clang::CompilerInvocation *newInvocation( return Invocation; } -bool runToolOnCode(std::unique_ptr<FrontendAction> ToolAction, - const Twine &Code, const Twine &FileName, +bool runToolOnCode(clang::FrontendAction *ToolAction, const Twine &Code, + const Twine &FileName, std::shared_ptr<PCHContainerOperations> PCHContainerOps) { - return runToolOnCodeWithArgs(std::move(ToolAction), Code, - std::vector<std::string>(), FileName, - "clang-tool", std::move(PCHContainerOps)); + return runToolOnCodeWithArgs(ToolAction, Code, std::vector<std::string>(), + FileName, "clang-tool", + std::move(PCHContainerOps)); } static std::vector<std::string> @@ -125,7 +125,7 @@ getSyntaxOnlyToolArgs(const Twine &ToolName, } bool runToolOnCodeWithArgs( - std::unique_ptr<FrontendAction> ToolAction, const Twine &Code, + clang::FrontendAction *ToolAction, const Twine &Code, const std::vector<std::string> &Args, const Twine &FileName, const Twine &ToolName, std::shared_ptr<PCHContainerOperations> PCHContainerOps, @@ -143,7 +143,8 @@ bool runToolOnCodeWithArgs( ArgumentsAdjuster Adjuster = getClangStripDependencyFileAdjuster(); ToolInvocation Invocation( getSyntaxOnlyToolArgs(ToolName, Adjuster(Args, FileNameRef), FileNameRef), - std::move(ToolAction), Files.get(), std::move(PCHContainerOps)); + ToolAction, Files.get(), + std::move(PCHContainerOps)); SmallString<1024> CodeStorage; InMemoryFileSystem->addFile(FileNameRef, 0, @@ -203,18 +204,15 @@ void addTargetAndModeForProgramName(std::vector<std::string> &CommandLine, namespace { class SingleFrontendActionFactory : public FrontendActionFactory { - std::unique_ptr<clang::FrontendAction> Action; + FrontendAction *Action; public: - SingleFrontendActionFactory(std::unique_ptr<clang::FrontendAction> Action) - : Action(std::move(Action)) {} + SingleFrontendActionFactory(FrontendAction *Action) : Action(Action) {} - std::unique_ptr<clang::FrontendAction> create() override { - return std::move(Action); - } + FrontendAction *create() override { return Action; } }; -} // namespace +} ToolInvocation::ToolInvocation( std::vector<std::string> CommandLine, ToolAction *Action, @@ -224,13 +222,12 @@ ToolInvocation::ToolInvocation( DiagConsumer(nullptr) {} ToolInvocation::ToolInvocation( - std::vector<std::string> CommandLine, - std::unique_ptr<FrontendAction> FAction, FileManager *Files, - std::shared_ptr<PCHContainerOperations> PCHContainerOps) + std::vector<std::string> CommandLine, FrontendAction *FAction, + FileManager *Files, std::shared_ptr<PCHContainerOperations> PCHContainerOps) : CommandLine(std::move(CommandLine)), - Action(new SingleFrontendActionFactory(std::move(FAction))), - OwnsAction(true), Files(Files), - PCHContainerOps(std::move(PCHContainerOps)), DiagConsumer(nullptr) {} + Action(new SingleFrontendActionFactory(FAction)), OwnsAction(true), + Files(Files), PCHContainerOps(std::move(PCHContainerOps)), + DiagConsumer(nullptr) {} ToolInvocation::~ToolInvocation() { if (OwnsAction) |