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

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

#include "clang/DependencyScanning/DependencyScanningUtils.h"

Public Attributes

ModuleDepsGraph ModuleGraph
 The graph of direct and transitive modular dependencies.
clang::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< clang::dependencies::PrebuiltModuleDepPrebuiltModuleDeps
 A collection of prebuilt modules this translation unit directly depends on, not including transitive dependencies.
std::vector< clang::dependencies::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< clang::dependencies::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 27 of file DependencyScanningUtils.h.

Member Data Documentation

◆ ClangModuleDeps

std::vector<clang::dependencies::ModuleID> clang::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 49 of file DependencyScanningUtils.h.

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

◆ Commands

std::vector<clang::dependencies::Command> clang::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 64 of file DependencyScanningUtils.h.

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

◆ DriverCommandLine

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

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

Definition at line 67 of file DependencyScanningUtils.h.

◆ FileDeps

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

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

Definition at line 38 of file DependencyScanningUtils.h.

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

◆ ID

clang::dependencies::ModuleID clang::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 34 of file DependencyScanningUtils.h.

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

◆ ModuleGraph

ModuleDepsGraph clang::dependencies::TranslationUnitDeps::ModuleGraph

The graph of direct and transitive modular dependencies.

Definition at line 29 of file DependencyScanningUtils.h.

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

◆ NamedModuleDeps

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

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

Definition at line 56 of file DependencyScanningUtils.h.

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

◆ PrebuiltModuleDeps

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

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

Definition at line 42 of file DependencyScanningUtils.h.

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

◆ VisibleModules

std::vector<std::string> clang::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 53 of file DependencyScanningUtils.h.

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


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