A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://clang.llvm.org/doxygen/classclang_1_1ModuleLoader.html below:

clang: clang::ModuleLoader Class Reference

Abstract interface for a module loader. More...

#include "clang/Lex/ModuleLoader.h"

  ModuleLoader (bool BuildingModule=false)   virtual  ~ModuleLoader ()   bool  buildingModule () const   Returns true if this instance is building a module.
  void  setBuildingModule (bool BuildingModuleFlag)   Flag indicating whether this instance is building a module.
  virtual ModuleLoadResult  loadModule (SourceLocation ImportLoc, ModuleIdPath Path, Module::NameVisibilityKind Visibility, bool IsInclusionDirective)=0   Attempt to load the given module.
  virtual void  createModuleFromSource (SourceLocation Loc, StringRef ModuleName, StringRef Source)=0   Attempt to create the given module from the specified source buffer.
  virtual void  makeModuleVisible (Module *Mod, Module::NameVisibilityKind Visibility, SourceLocation ImportLoc)=0   Make the given module visible.
  virtual GlobalModuleIndexloadGlobalModuleIndex (SourceLocation TriggerLoc)=0   Load, create, or return global module.
  virtual bool  lookupMissingImports (StringRef Name, SourceLocation TriggerLoc)=0   Check global module index for missing imports.
 

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 82 of file ModuleLoader.h.

◆ ModuleLoader() clang::ModuleLoader::ModuleLoader ( bool  BuildingModule = false ) inlineexplicit

Definition at line 87 of file ModuleLoader.h.

◆ ~ModuleLoader() ModuleLoader::~ModuleLoader ( ) virtualdefault ◆ buildingModule() bool clang::ModuleLoader::buildingModule ( ) const inline ◆ createModuleFromSource() virtual void clang::ModuleLoader::createModuleFromSource ( SourceLocation  Loc, StringRef  ModuleName, StringRef  Source  ) pure virtual ◆ loadGlobalModuleIndex()

Load, create, or return global module.

This function returns an existing global module index, if one had already been loaded or created, or loads one if it exists, or creates one if it doesn't exist. Also, importantly, if the index doesn't cover all the modules in the module map, it will be update to do so here, because of its use in searching for needed module imports and associated fixit messages.

Parameters
TriggerLoc The location for what triggered the load.
Returns
Returns null if load failed.

Implemented in clang::CompilerInstance, and clang::TrivialModuleLoader.

◆ loadModule()

Attempt to load the given module.

This routine attempts to load the module described by the given parameters. If there is a module cache, this may implicitly compile the module before loading it.

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.
Returns
If successful, returns the loaded module. Otherwise, returns NULL to indicate that the module could not be loaded.

Implemented in clang::CompilerInstance, and clang::TrivialModuleLoader.

Referenced by clang::Sema::ActOnModuleDecl(), clang::Sema::ActOnModuleImport(), clang::SemaCodeCompletion::CodeCompleteModuleImport(), and clang::Preprocessor::LexAfterModuleImport().

◆ lookupMissingImports() virtual bool clang::ModuleLoader::lookupMissingImports ( StringRef  Name, SourceLocation  TriggerLoc  ) pure virtual

Check global module index for missing imports.

Parameters
Name The symbol name to look for. TriggerLoc The location for what triggered the load.
Returns
Returns true if any modules with that symbol found.

Implemented in clang::CompilerInstance, and clang::TrivialModuleLoader.

◆ makeModuleVisible() ◆ setBuildingModule() void clang::ModuleLoader::setBuildingModule ( bool  BuildingModuleFlag ) inline

Flag indicating whether this instance is building a module.

Definition at line 98 of file ModuleLoader.h.

◆ HadFatalFailure bool clang::ModuleLoader::HadFatalFailure = false

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


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4