struct ModuleDeps

Declaration

struct ModuleDeps { /* full declaration omitted */ };

Declared at: clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h:81

Member Variables

public clang::tooling::dependencies::ModuleID ID
The identifier of the module.
public bool IsSystem
Whether this is a "system" module.
public std::string ClangModuleMapFile
This can be used to explicitly build this module. This file will additionally appear in \c FileDeps as a dependency.
public std::string ImplicitModulePCMPath
The path to where an implicit build would put the PCM for this module.
public llvm::StringSet<> FileDeps
A collection of absolute paths to files that this module directly depends on, not including transitive dependencies.
public std::vector<std::string> ModuleMapFileDeps
A collection of absolute paths to module map files that this module needs to know about.
public std::vector<PrebuiltModuleDep> PrebuiltModuleDeps
A collection of prebuilt modular dependencies this module directly depends on, not including transitive dependencies.
public std::vector<ModuleID> ClangModuleDeps
This may include modules with a different context hash when it can be determined that the differences are benign for this compilation.
public bool ImportedByMainFile = false
public bool HadDependencyFile = false
Whether the TU had a dependency file. The path in \c BuildInvocation is cleared to avoid leaking the specific path from the TU into the module.
public bool HadSerializedDiagnostics = false
Whether the TU had serialized diagnostics. The path in \c BuildInvocation is cleared to avoid leaking the specific path from the TU into the module.
public clang::CompilerInvocation BuildInvocation
Compiler invocation that can be used to build this module (without paths).

Method Overview

Methods

std::vector<std::string> getCanonicalCommandLine(
    llvm::function_ref<std::string(
        const ModuleID&,
        ModuleOutputKind)> LookupModuleOutput)
    const

Description

Gets the canonical command line suitable for passing to clang.

Declared at: clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h:136

Parameters

llvm::function_ref<std::string(const ModuleID&, ModuleOutputKind)> LookupModuleOutput
This function is called to fill in "-fmodule-file=", "-o" and other output arguments.

std::vector<std::string>
getCanonicalCommandLineWithoutModulePaths() const

Description

Gets the canonical command line suitable for passing to clang, excluding "-fmodule-file=" and "-o" arguments.

Declared at: clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h:142