clang API Documentation
Abstract interface for a module loader. More...
#include <ModuleLoader.h>

Public Member Functions | |
| virtual | ~ModuleLoader () |
| virtual Module * | loadModule (SourceLocation ImportLoc, ModuleIdPath Path, Module::NameVisibilityKind Visibility, bool IsInclusionDirective)=0 |
| Attempt to load the given module. | |
Abstract interface for a module loader.
This abstract interface describes a module loader, which is responsible for resolving a module name (e.g., "std") to an actual module file, and then loading that module.
Definition at line 35 of file ModuleLoader.h.
| ModuleLoader::~ModuleLoader | ( | ) | [virtual] |
Definition at line 653 of file Preprocessor.cpp.
| virtual Module* clang::ModuleLoader::loadModule | ( | SourceLocation | ImportLoc, |
| ModuleIdPath | Path, | ||
| Module::NameVisibilityKind | Visibility, | ||
| bool | IsInclusionDirective | ||
| ) | [pure virtual] |
Attempt to load the given module.
This routine attempts to load the module described by the given parameters.
| ImportLoc | The location of the 'import' keyword. |
| Path | The identifiers (and their locations) of the module "path", e.g., "std.vector" would be split into "std" and "vector". |
| Visibility | The visibility provided for the names in the loaded module. |
| IsInclusionDirective | Indicates that this module is being loaded implicitly, due to the presence of an inclusion directive. Otherwise, it is being loaded due to an import declaration. |
Implemented in clang::ASTUnit, and clang::CompilerInstance.
Referenced by clang::Sema::ActOnModuleImport(), and clang::Preprocessor::LexAfterModuleImport().