|
clang 23.0.0git
|
#include "clang/DependencyScanning/DependencyGraph.h"
Public Member Functions | |
| void | forEachFileDep (llvm::function_ref< void(StringRef)> Cb) const |
Invokes Cb for all file dependencies of this module. | |
| const std::vector< std::string > & | getBuildArguments () const |
| Get (or compute) the compiler invocation that can be used to build this module. | |
Public Attributes | |
| ModuleID | ID |
| The identifier of the module. | |
| bool | IsSystem |
| Whether this is a "system" module. | |
| bool | IsInStableDirectories |
| Whether this module is fully composed of file & module inputs from locations likely to stay the same across the active development and build cycle. | |
| bool | IgnoreCWD |
| Whether current working directory is ignored. | |
| std::string | ClangModuleMapFile |
| The path to the modulemap file which defines this module. | |
| std::vector< std::string > | ModuleMapFileDeps |
| A collection of absolute paths to module map files that this module needs to know about. | |
| std::vector< PrebuiltModuleDep > | PrebuiltModuleDeps |
| A collection of prebuilt modular dependencies this module directly depends on, not including transitive dependencies. | |
| std::vector< ModuleID > | ClangModuleDeps |
| A list of module identifiers this module directly depends on, not including transitive dependencies. | |
| llvm::SmallVector< Module::LinkLibrary, 2 > | LinkLibraries |
| The set of libraries or frameworks to link against when an entity from this module is used. | |
Friends | |
| class | ModuleDepCollector |
| class | ModuleDepCollectorPP |
Definition at line 78 of file DependencyGraph.h.
| void ModuleDeps::forEachFileDep | ( | llvm::function_ref< void(StringRef)> | Cb | ) | const |
Invokes Cb for all file dependencies of this module.
Each provided StringRef is only valid within the individual callback invocation.
Definition at line 17 of file DependencyGraph.cpp.
References clang::ASTReader::ResolveImportedPath().
| const std::vector< std::string > & ModuleDeps::getBuildArguments | ( | ) | const |
Get (or compute) the compiler invocation that can be used to build this module.
Does not include argv[0].
Definition at line 27 of file DependencyGraph.cpp.
Referenced by createClangModulePrecompileJob().
|
friend |
Definition at line 130 of file DependencyGraph.h.
References ModuleDepCollector.
Referenced by ModuleDepCollector.
|
friend |
Definition at line 131 of file DependencyGraph.h.
References ModuleDepCollectorPP.
Referenced by ModuleDepCollectorPP.
| std::vector<ModuleID> clang::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 115 of file DependencyGraph.h.
Referenced by createModuleDependencyEdges(), and getModuleContextHash().
| std::string clang::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 100 of file DependencyGraph.h.
| ModuleID clang::dependencies::ModuleDeps::ID |
The identifier of the module.
Definition at line 80 of file DependencyGraph.h.
Referenced by createClangModuleJobsAndNodes(), createModuleDependencyEdges(), llvm::DOTGraphTraits< const CompilationGraph * >::getNodeIdentifier(), llvm::DOTGraphTraits< const CompilationGraph * >::getNodeLabel(), and clang::dependencies::FullDependencyConsumer::handleModuleDependency().
| bool clang::dependencies::ModuleDeps::IgnoreCWD |
Whether current working directory is ignored.
Definition at line 94 of file DependencyGraph.h.
Referenced by getModuleContextHash().
| bool clang::dependencies::ModuleDeps::IsInStableDirectories |
Whether this module is fully composed of file & module inputs from locations likely to stay the same across the active development and build cycle.
For example, when all those input paths only resolve in Sysroot.
External paths, as opposed to virtual file paths, are always used for computing this value.
Definition at line 91 of file DependencyGraph.h.
| bool clang::dependencies::ModuleDeps::IsSystem |
Whether this is a "system" module.
Definition at line 83 of file DependencyGraph.h.
| llvm::SmallVector<Module::LinkLibrary, 2> clang::dependencies::ModuleDeps::LinkLibraries |
The set of libraries or frameworks to link against when an entity from this module is used.
Definition at line 119 of file DependencyGraph.h.
| std::vector<std::string> clang::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 104 of file DependencyGraph.h.
| std::vector<PrebuiltModuleDep> clang::dependencies::ModuleDeps::PrebuiltModuleDeps |
A collection of prebuilt modular dependencies this module directly depends on, not including transitive dependencies.
Definition at line 108 of file DependencyGraph.h.