clang 20.0.0git
Classes | Namespaces | Typedefs | Enumerations | Functions
ModuleDepCollector.h File Reference
#include "clang/Basic/LLVM.h"
#include "clang/Basic/Module.h"
#include "clang/Basic/SourceManager.h"
#include "clang/Frontend/CompilerInvocation.h"
#include "clang/Frontend/Utils.h"
#include "clang/Lex/HeaderSearch.h"
#include "clang/Lex/PPCallbacks.h"
#include "clang/Serialization/ASTReader.h"
#include "clang/Tooling/DependencyScanning/DependencyScanningService.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/Hashing.h"
#include "llvm/ADT/StringSet.h"
#include "llvm/Support/raw_ostream.h"
#include <optional>
#include <string>
#include <unordered_map>
#include <variant>

Go to the source code of this file.

Classes

struct  clang::tooling::dependencies::PrebuiltModuleDep
 Modular dependency that has already been built prior to the dependency scan. More...
 
struct  clang::tooling::dependencies::ModuleID
 This is used to identify a specific module. More...
 
struct  clang::tooling::dependencies::P1689ModuleInfo
 P1689ModuleInfo - Represents the needed information of standard C++20 modules for P1689 format. More...
 
struct  clang::tooling::dependencies::ModuleDeps
 
class  clang::tooling::dependencies::ModuleDepCollectorPP
 Callback that records textual includes and direct modular includes/imports during preprocessing. More...
 
class  clang::tooling::dependencies::ModuleDepCollector
 Collects modular and non-modular dependencies of the main file by attaching ModuleDepCollectorPP to the preprocessor. More...
 
struct  llvm::DenseMapInfo< clang::tooling::dependencies::ModuleID >
 

Namespaces

namespace  clang
 The JSON file list parser is used to communicate input to InstallAPI.
 
namespace  clang::tooling
 
namespace  clang::tooling::dependencies
 
namespace  llvm
 Diagnostic wrappers for TextAPI types for error reporting.
 

Typedefs

using clang::tooling::dependencies::PrebuiltModuleVFSMapT = llvm::StringMap< llvm::StringSet<> >
 

Enumerations

enum class  clang::tooling::dependencies::ModuleOutputKind { clang::tooling::dependencies::ModuleFile , clang::tooling::dependencies::DependencyFile , clang::tooling::dependencies::DependencyTargets , clang::tooling::dependencies::DiagnosticSerializationFile }
 An output from a module compilation, such as the path of the module file. More...
 

Functions

void clang::tooling::dependencies::resetBenignCodeGenOptions (frontend::ActionKind ProgramAction, const LangOptions &LangOpts, CodeGenOptions &CGOpts)
 Resets codegen options that don't affect modules/PCH.
 
hash_code llvm::hash_value (const clang::tooling::dependencies::ModuleID &ID)