|
clang
5.0.0
|
A set of visible modules. More...
#include "clang/Basic/Module.h"
Public Types | |
| typedef llvm::function_ref < void(Module *M)> | VisibleCallback |
| A callback to call when a module is made visible (directly or indirectly) by a call to setVisible. More... | |
| typedef llvm::function_ref < void(ArrayRef< Module * > Path, Module *Conflict, StringRef Message)> | ConflictCallback |
| A callback to call when a module conflict is found. More... | |
Public Member Functions | |
| VisibleModuleSet () | |
| VisibleModuleSet (VisibleModuleSet &&O) | |
| VisibleModuleSet & | operator= (VisibleModuleSet &&O) |
| Move from another visible modules set. More... | |
| unsigned | getGeneration () const |
| Get the current visibility generation. More... | |
| bool | isVisible (const Module *M) const |
| Determine whether a module is visible. More... | |
| SourceLocation | getImportLoc (const Module *M) const |
| Get the location at which the import of a module was triggered. More... | |
| void | setVisible (Module *M, SourceLocation Loc, VisibleCallback Vis=[](Module *){}, ConflictCallback Cb=[](ArrayRef< Module * >, Module *, StringRef){}) |
| Make a specific module visible. More... | |
| typedef llvm::function_ref<void(ArrayRef<Module *> Path, Module *Conflict, StringRef Message)> clang::VisibleModuleSet::ConflictCallback |
| typedef llvm::function_ref<void(Module *M)> clang::VisibleModuleSet::VisibleCallback |
A callback to call when a module is made visible (directly or indirectly) by a call to setVisible.
|
inline |
|
inline |
|
inline |
Get the location at which the import of a module was triggered.
Definition at line 577 of file Module.h.
References clang::Module::getVisibilityID().
Referenced by isVisible().
Determine whether a module is visible.
Definition at line 572 of file Module.h.
References getImportLoc(), and clang::SourceLocation::isValid().
Referenced by clang::Sema::createImplicitModuleImportForErrorRecovery().
|
inline |
| void VisibleModuleSet::setVisible | ( | Module * | M, |
| SourceLocation | Loc, | ||
| VisibleCallback | Vis = [](Module *) {}, |
||
| ConflictCallback | Cb = [](ArrayRef<Module *>, Module *, StringRef) {} |
||
| ) |
Make a specific module visible.
Definition at line 537 of file Module.cpp.
References E, clang::Module::Exports, I, ID, and clang::SourceLocation::isValid().
Referenced by clang::Sema::ActOnModuleBegin(), clang::Sema::ActOnModuleDecl(), clang::Sema::ActOnModuleImport(), clang::Sema::BuildModuleInclude(), and clang::Sema::createImplicitModuleImportForErrorRecovery().
1.8.6