clang 20.0.0git
Public Member Functions | List of all members
clang::tooling::dependencies::ModuleDepCollector Class Referencefinal

Collects modular and non-modular dependencies of the main file by attaching ModuleDepCollectorPP to the preprocessor. More...

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

Inheritance diagram for clang::tooling::dependencies::ModuleDepCollector:
Inheritance graph
[legend]

Public Member Functions

 ModuleDepCollector (std::unique_ptr< DependencyOutputOptions > Opts, CompilerInstance &ScanInstance, DependencyConsumer &C, DependencyActionController &Controller, CompilerInvocation OriginalCI, PrebuiltModuleVFSMapT PrebuiltModuleVFSMap, ScanningOptimizations OptimizeArgs, bool EagerLoadModules, bool IsStdModuleP1689Format)
 
void attachToPreprocessor (Preprocessor &PP) override
 
void attachToASTReader (ASTReader &R) override
 
void applyDiscoveredDependencies (CompilerInvocation &CI)
 Apply any changes implied by the discovered dependencies to the given invocation, (e.g.
 
- Public Member Functions inherited from clang::DependencyCollector
virtual ~DependencyCollector ()
 
virtual void attachToPreprocessor (Preprocessor &PP)
 
virtual void attachToASTReader (ASTReader &R)
 
ArrayRef< std::string > getDependencies () const
 
virtual bool sawDependency (StringRef Filename, bool FromModule, bool IsSystem, bool IsModuleFile, bool IsMissing)
 Called when a new file is seen.
 
virtual void finishedMainFile (DiagnosticsEngine &Diags)
 Called when the end of the main file is reached.
 
virtual bool needSystemDependencies ()
 Return true if system files should be passed to sawDependency().
 
virtual void maybeAddDependency (StringRef Filename, bool FromModule, bool IsSystem, bool IsModuleFile, bool IsMissing)
 Add a dependency Filename if it has not been seen before and sawDependency() returns true.
 

Additional Inherited Members

- Protected Member Functions inherited from clang::DependencyCollector
bool addDependency (StringRef Filename)
 Return true if the filename was added to the list of dependencies, false otherwise.
 

Detailed Description

Collects modular and non-modular dependencies of the main file by attaching ModuleDepCollectorPP to the preprocessor.

Definition at line 218 of file ModuleDepCollector.h.

Constructor & Destructor Documentation

◆ ModuleDepCollector()

ModuleDepCollector::ModuleDepCollector ( std::unique_ptr< DependencyOutputOptions Opts,
CompilerInstance ScanInstance,
DependencyConsumer C,
DependencyActionController Controller,
CompilerInvocation  OriginalCI,
PrebuiltModuleVFSMapT  PrebuiltModuleVFSMap,
ScanningOptimizations  OptimizeArgs,
bool  EagerLoadModules,
bool  IsStdModuleP1689Format 
)

Definition at line 736 of file ModuleDepCollector.cpp.

Member Function Documentation

◆ applyDiscoveredDependencies()

void ModuleDepCollector::applyDiscoveredDependencies ( CompilerInvocation CI)

◆ attachToASTReader()

void ModuleDepCollector::attachToASTReader ( ASTReader R)
overridevirtual

Reimplemented from clang::DependencyCollector.

Definition at line 755 of file ModuleDepCollector.cpp.

◆ attachToPreprocessor()

void ModuleDepCollector::attachToPreprocessor ( Preprocessor PP)
overridevirtual

Reimplemented from clang::DependencyCollector.

Definition at line 751 of file ModuleDepCollector.cpp.

References clang::Preprocessor::addPPCallbacks().


The documentation for this class was generated from the following files: