clang 17.0.0git
Public Attributes | List of all members
clang::tooling::dependencies::ModuleDeps Struct Reference

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

Collaboration diagram for clang::tooling::dependencies::ModuleDeps:
Collaboration graph
[legend]

Public Attributes

ModuleID ID
 The identifier of the module.
 
bool IsSystem
 Whether this is a "system" module.
 
std::string ClangModuleMapFile
 The path to the modulemap file which defines this module.
 
llvm::StringSet FileDeps
 A collection of absolute paths to files that this module directly depends on, not including transitive dependencies.
 
std::vector< std::string > ModuleMapFileDeps
 A collection of absolute paths to module map files that this module needs to know about.
 
std::vector< PrebuiltModuleDepPrebuiltModuleDeps
 A collection of prebuilt modular dependencies this module directly depends on, not including transitive dependencies.
 
std::vector< ModuleIDClangModuleDeps
 A list of module identifiers this module directly depends on, not including transitive dependencies.
 
bool ImportedByMainFile = false
 
std::vector< std::string > BuildArguments
 Compiler invocation that can be used to build this module.
 

Detailed Description

Definition at line 100 of file ModuleDepCollector.h.

Member Data Documentation

◆ BuildArguments

std::vector<std::string> clang::tooling::dependencies::ModuleDeps::BuildArguments

Compiler invocation that can be used to build this module.

Does not include argv[0].

Definition at line 138 of file ModuleDepCollector.h.

◆ ClangModuleDeps

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

A list of module identifiers this module 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 130 of file ModuleDepCollector.h.

Referenced by getModuleContextHash().

◆ ClangModuleMapFile

std::string clang::tooling::dependencies::ModuleDeps::ClangModuleMapFile

The path to the modulemap file which defines this module.

This can be used to explicitly build this module. This file will additionally appear in FileDeps as a dependency.

Definition at line 111 of file ModuleDepCollector.h.

◆ FileDeps

llvm::StringSet clang::tooling::dependencies::ModuleDeps::FileDeps

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

Definition at line 115 of file ModuleDepCollector.h.

◆ ID

ModuleID clang::tooling::dependencies::ModuleDeps::ID

The identifier of the module.

Definition at line 102 of file ModuleDepCollector.h.

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

◆ ImportedByMainFile

bool clang::tooling::dependencies::ModuleDeps::ImportedByMainFile = false

Definition at line 134 of file ModuleDepCollector.h.

◆ IsSystem

bool clang::tooling::dependencies::ModuleDeps::IsSystem

Whether this is a "system" module.

Definition at line 105 of file ModuleDepCollector.h.

◆ ModuleMapFileDeps

std::vector<std::string> clang::tooling::dependencies::ModuleDeps::ModuleMapFileDeps

A collection of absolute paths to module map files that this module needs to know about.

The ordering is significant.

Definition at line 119 of file ModuleDepCollector.h.

◆ PrebuiltModuleDeps

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

A collection of prebuilt modular dependencies this module directly depends on, not including transitive dependencies.

Definition at line 123 of file ModuleDepCollector.h.


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