clang 22.0.0git
clang::tooling::dependencies::TranslationUnitDeps Struct Reference

The full dependencies and module graph for a specific input. More...

#include "clang/Tooling/DependencyScanning/DependencyScanningTool.h"

Public Attributes

ModuleDepsGraph ModuleGraph
 The graph of direct and transitive modular dependencies.
ModuleID ID
 The identifier of the C++20 module this translation unit exports.
std::vector< std::string > FileDeps
 A collection of absolute paths to files that this translation unit directly depends on, not including transitive dependencies.
std::vector< PrebuiltModuleDepPrebuiltModuleDeps
 A collection of prebuilt modules this translation unit directly depends on, not including transitive dependencies.
std::vector< ModuleIDClangModuleDeps
 A list of modules this translation unit directly depends on, not including transitive dependencies.
std::vector< std::string > VisibleModules
 A list of module names that are visible to this translation unit.
std::vector< std::string > NamedModuleDeps
 A list of the C++20 named modules this translation unit depends on.
std::vector< CommandCommands
 The sequence of commands required to build the translation unit.
std::vector< std::string > DriverCommandLine
 Deprecated driver command-line. This will be removed in a future version.

Detailed Description

The full dependencies and module graph for a specific input.

Definition at line 36 of file DependencyScanningTool.h.

Member Data Documentation

◆ ClangModuleDeps

std::vector<ModuleID> clang::tooling::dependencies::TranslationUnitDeps::ClangModuleDeps

A list of modules this translation unit directly depends on, not including transitive dependencies.

This may include modules with a different context hash when it can be determined that the differences are benign for this compilation.

Definition at line 58 of file DependencyScanningTool.h.

Referenced by clang::tooling::dependencies::FullDependencyConsumer::takeTranslationUnitDeps().

◆ Commands

std::vector<Command> clang::tooling::dependencies::TranslationUnitDeps::Commands

The sequence of commands required to build the translation unit.

Commands should be executed in order.

FIXME: If we add support for multi-arch builds in clang-scan-deps, we should make the dependencies between commands explicit to enable parallel builds of each architecture.

Definition at line 73 of file DependencyScanningTool.h.

Referenced by clang::tooling::dependencies::FullDependencyConsumer::takeTranslationUnitDeps().

◆ DriverCommandLine

std::vector<std::string> clang::tooling::dependencies::TranslationUnitDeps::DriverCommandLine

Deprecated driver command-line. This will be removed in a future version.

Definition at line 76 of file DependencyScanningTool.h.

◆ FileDeps

std::vector<std::string> clang::tooling::dependencies::TranslationUnitDeps::FileDeps

A collection of absolute paths to files that this translation unit directly depends on, not including transitive dependencies.

Definition at line 47 of file DependencyScanningTool.h.

Referenced by clang::tooling::dependencies::FullDependencyConsumer::takeTranslationUnitDeps().

◆ ID

ModuleID clang::tooling::dependencies::TranslationUnitDeps::ID

The identifier of the C++20 module this translation unit exports.

If the translation unit is not a module then ID.ModuleName is empty.

Definition at line 43 of file DependencyScanningTool.h.

Referenced by clang::tooling::dependencies::FullDependencyConsumer::takeTranslationUnitDeps().

◆ ModuleGraph

ModuleDepsGraph clang::tooling::dependencies::TranslationUnitDeps::ModuleGraph

The graph of direct and transitive modular dependencies.

Definition at line 38 of file DependencyScanningTool.h.

Referenced by clang::tooling::dependencies::FullDependencyConsumer::takeTranslationUnitDeps().

◆ NamedModuleDeps

std::vector<std::string> clang::tooling::dependencies::TranslationUnitDeps::NamedModuleDeps

A list of the C++20 named modules this translation unit depends on.

Definition at line 65 of file DependencyScanningTool.h.

Referenced by clang::tooling::dependencies::FullDependencyConsumer::takeTranslationUnitDeps().

◆ PrebuiltModuleDeps

std::vector<PrebuiltModuleDep> clang::tooling::dependencies::TranslationUnitDeps::PrebuiltModuleDeps

A collection of prebuilt modules this translation unit directly depends on, not including transitive dependencies.

Definition at line 51 of file DependencyScanningTool.h.

Referenced by clang::tooling::dependencies::FullDependencyConsumer::takeTranslationUnitDeps().

◆ VisibleModules

std::vector<std::string> clang::tooling::dependencies::TranslationUnitDeps::VisibleModules

A list of module names that are visible to this translation unit.

This includes both direct and transitive module dependencies.

Definition at line 62 of file DependencyScanningTool.h.

Referenced by clang::tooling::dependencies::FullDependencyConsumer::takeTranslationUnitDeps().


The documentation for this struct was generated from the following file: