blob: e27c597a14fccf28ae3d1325579846c1703504b8 [file] [log] [blame] [edit]
//===- 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() {}