clang 19.0.0git
Public Attributes | List of all members
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< 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 34 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 56 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 64 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 67 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 45 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 41 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 36 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 49 of file DependencyScanningTool.h.

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


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