//===- DependencyScanningUtils.cpp - Common Scanning Utilities ------------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #include "clang/DependencyScanning/DependencyScanningUtils.h" using namespace clang; using namespace dependencies; TranslationUnitDeps FullDependencyConsumer::takeTranslationUnitDeps() { TranslationUnitDeps TU; TU.ID.ContextHash = std::move(ContextHash); TU.ID.ModuleName = std::move(ModuleName); TU.NamedModuleDeps = std::move(NamedModuleDeps); TU.FileDeps = std::move(Dependencies); TU.PrebuiltModuleDeps = std::move(PrebuiltModuleDeps); TU.VisibleModules = std::move(VisibleModules); TU.Commands = std::move(Commands); for (auto &&M : ClangModuleDeps) { auto &MD = M.second; // TODO: Avoid handleModuleDependency even being called for modules // we've already seen. if (AlreadySeen.count(M.first)) continue; TU.ModuleGraph.push_back(std::move(MD)); } TU.ClangModuleDeps = std::move(DirectModuleDeps); return TU; } CallbackActionController::~CallbackActionController() {}