clang 20.0.0git
Public Member Functions | List of all members
clang::ModuleDependencyCollector Class Reference

Collects the dependencies for imported modules into a directory. More...

#include "clang/Frontend/Utils.h"

Inheritance diagram for clang::ModuleDependencyCollector:
Inheritance graph
[legend]

Public Member Functions

 ModuleDependencyCollector (std::string DestDir)
 
 ~ModuleDependencyCollector () override
 
StringRef getDest ()
 
virtual bool insertSeen (StringRef Filename)
 
virtual void addFile (StringRef Filename, StringRef FileDst={})
 
virtual void addFileMapping (StringRef VPath, StringRef RPath)
 
void attachToPreprocessor (Preprocessor &PP) override
 
void attachToASTReader (ASTReader &R) override
 
virtual void writeFileMap ()
 
virtual bool hasErrors ()
 
- 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 the dependencies for imported modules into a directory.

Users should attach to the AST reader whenever a module is loaded.

Definition at line 136 of file Utils.h.

Constructor & Destructor Documentation

◆ ModuleDependencyCollector()

clang::ModuleDependencyCollector::ModuleDependencyCollector ( std::string  DestDir)
inline

Definition at line 146 of file Utils.h.

◆ ~ModuleDependencyCollector()

clang::ModuleDependencyCollector::~ModuleDependencyCollector ( )
inlineoverride

Definition at line 148 of file Utils.h.

References writeFileMap().

Member Function Documentation

◆ addFile()

void ModuleDependencyCollector::addFile ( StringRef  Filename,
StringRef  FileDst = {} 
)
virtual

Definition at line 179 of file ModuleDependencyCollector.cpp.

References Filename, and insertSeen().

◆ addFileMapping()

virtual void clang::ModuleDependencyCollector::addFileMapping ( StringRef  VPath,
StringRef  RPath 
)
inlinevirtual

Definition at line 154 of file Utils.h.

◆ attachToASTReader()

void ModuleDependencyCollector::attachToASTReader ( ASTReader R)
overridevirtual

◆ attachToPreprocessor()

void ModuleDependencyCollector::attachToPreprocessor ( Preprocessor PP)
overridevirtual

◆ getDest()

StringRef clang::ModuleDependencyCollector::getDest ( )
inline

Definition at line 150 of file Utils.h.

Referenced by writeFileMap().

◆ hasErrors()

virtual bool clang::ModuleDependencyCollector::hasErrors ( )
inlinevirtual

Definition at line 162 of file Utils.h.

◆ insertSeen()

virtual bool clang::ModuleDependencyCollector::insertSeen ( StringRef  Filename)
inlinevirtual

Definition at line 151 of file Utils.h.

References Filename.

Referenced by addFile().

◆ writeFileMap()

void ModuleDependencyCollector::writeFileMap ( )
virtual

Definition at line 113 of file ModuleDependencyCollector.cpp.

References getDest(), and isCaseSensitivePath().

Referenced by ~ModuleDependencyCollector().


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