clang  16.0.0git
Classes | Typedefs | Enumerations
clang::tooling::dependencies Namespace Reference

Classes

struct  CachedFileContents
 Contents and directive tokens of a cached file entry. More...
 
class  CachedFileSystemEntry
 An in-memory representation of a file system entity that is of interest to the dependency scanning filesystem. More...
 
struct  Command
 A command-line tool invocation that is part of building a TU. More...
 
class  DependencyConsumer
 
class  DependencyScanningFilesystemLocalCache
 This class is a local cache, that caches the 'stat' and 'open' calls to the underlying real file system. More...
 
class  DependencyScanningFilesystemSharedCache
 This class is a shared cache, that caches the 'stat' and 'open' calls to the underlying real file system, and the scanned preprocessor directives of files. More...
 
class  DependencyScanningService
 The dependency scanning service contains shared configuration and state that is used by the individual dependency scanning workers. More...
 
class  DependencyScanningTool
 The high-level implementation of the dependency discovery tool that runs on an individual worker thread. More...
 
class  DependencyScanningWorker
 An individual dependency scanning worker that is able to run on its own thread. More...
 
class  DependencyScanningWorkerFilesystem
 A virtual file system optimized for the dependency discovery. More...
 
class  EntryRef
 Reference to a CachedFileSystemEntry. More...
 
struct  FullDependencies
 The full dependencies and module graph for a specific input. More...
 
struct  FullDependenciesResult
 
class  FullDependencyConsumer
 
class  ModuleDepCollector
 Collects modular and non-modular dependencies of the main file by attaching ModuleDepCollectorPP to the preprocessor. More...
 
class  ModuleDepCollectorPP
 Callback that records textual includes and direct modular includes/imports during preprocessing. More...
 
struct  ModuleDeps
 
struct  ModuleID
 This is used to identify a specific module. More...
 
struct  PrebuiltModuleDep
 Modular dependency that has already been built prior to the dependency scan. More...
 

Typedefs

using DependencyDirectivesTy = SmallVector< dependency_directives_scan::Directive, 20 >
 
using LookupModuleOutputCallback = llvm::function_ref< std::string(const ModuleID &, ModuleOutputKind)>
 A callback to lookup module outputs for "-fmodule-file=", "-o" etc. More...
 

Enumerations

enum  ScanningMode { ScanningMode::CanonicalPreprocessing, ScanningMode::DependencyDirectivesScan }
 The mode in which the dependency scanner will operate to find the dependencies. More...
 
enum  ScanningOutputFormat { ScanningOutputFormat::Make, ScanningOutputFormat::Full }
 The format that is output by the dependency scanner. More...
 
enum  ModuleOutputKind { ModuleOutputKind::ModuleFile, ModuleOutputKind::DependencyFile, ModuleOutputKind::DependencyTargets, ModuleOutputKind::DiagnosticSerializationFile }
 An output from a module compilation, such as the path of the module file. More...
 

Typedef Documentation

◆ DependencyDirectivesTy

Definition at line 26 of file DependencyScanningFilesystem.h.

◆ LookupModuleOutputCallback

A callback to lookup module outputs for "-fmodule-file=", "-o" etc.

Definition at line 28 of file DependencyScanningTool.h.

Enumeration Type Documentation

◆ ModuleOutputKind

An output from a module compilation, such as the path of the module file.

Enumerator
ModuleFile 

The module file (.pcm). Required.

DependencyFile 

The path of the dependency file (.d), if any.

DependencyTargets 

The null-separated list of names to use as the targets in the dependency file, if any.

Defaults to the value of ModuleFile, as in the driver.

DiagnosticSerializationFile 

The path of the serialized diagnostic file (.dia), if any.

Definition at line 65 of file ModuleDepCollector.h.

◆ ScanningMode

The mode in which the dependency scanner will operate to find the dependencies.

Enumerator
CanonicalPreprocessing 

This mode is used to compute the dependencies by running the preprocessor over the source files.

DependencyDirectivesScan 

This mode is used to compute the dependencies by running the preprocessor with special kind of lexing after scanning header and source files to get the minimum necessary preprocessor directives for evaluating includes.

Definition at line 20 of file DependencyScanningService.h.

◆ ScanningOutputFormat

The format that is output by the dependency scanner.

Enumerator
Make 

This is the Makefile compatible dep format.

This will include all of the deps necessary for an implicit modules build, but won't include any intermodule dependency information.

Full 

This outputs the full module dependency graph suitable for use for explicitly building modules.

Definition at line 32 of file DependencyScanningService.h.