clang 22.0.0git
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:
[legend]

Public Member Functions

 ModuleDepCollector (DependencyScanningService &Service, std::unique_ptr< DependencyOutputOptions > Opts, CompilerInstance &ScanInstance, DependencyConsumer &C, DependencyActionController &Controller, CompilerInvocation OriginalCI, const PrebuiltModulesAttrsMap PrebuiltModulesASTMap, const ArrayRef< StringRef > StableDirs)
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 ()
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 278 of file ModuleDepCollector.h.

Constructor & Destructor Documentation

◆ ModuleDepCollector()

ModuleDepCollector::ModuleDepCollector ( DependencyScanningService & Service,
std::unique_ptr< DependencyOutputOptions > Opts,
CompilerInstance & ScanInstance,
DependencyConsumer & C,
DependencyActionController & Controller,
CompilerInvocation OriginalCI,
const PrebuiltModulesAttrsMap PrebuiltModulesASTMap,
const ArrayRef< StringRef > StableDirs )

Definition at line 949 of file ModuleDepCollector.cpp.

References clang::C, and makeCommonInvocationForModuleBuild().

Member Function Documentation

◆ applyDiscoveredDependencies()

◆ attachToASTReader()

void ModuleDepCollector::attachToASTReader ( ASTReader & R)
overridevirtual

Reimplemented from clang::DependencyCollector.

Definition at line 967 of file ModuleDepCollector.cpp.

◆ attachToPreprocessor()

void ModuleDepCollector::attachToPreprocessor ( Preprocessor & PP)
overridevirtual

Reimplemented from clang::DependencyCollector.

Definition at line 963 of file ModuleDepCollector.cpp.

References clang::Preprocessor::addPPCallbacks().


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