Lines Matching refs:Module

19 #include "clang/Basic/Module.h"
94 Module *SourceModule = nullptr;
97 llvm::SpecificBumpPtrAllocator<Module> ModulesAlloc;
101 llvm::SmallVector<Module *, 8> PendingSubmodules;
104 llvm::StringMap<Module *> Modules;
106 /// Module loading cache that includes submodules, indexed by IdentifierInfo.
108 llvm::DenseMap<const IdentifierInfo *, Module *> CachedModuleLoads;
111 llvm::SmallVector<Module*, 2> ShadowModules;
123 void resolveLinkAsDependencies(Module *Mod);
127 void addLinkAsDependency(Module *Mod);
152 static ModuleHeaderRole headerKindToRole(Module::HeaderKind Kind);
155 static Module::HeaderKind headerRoleToKind(ModuleHeaderRole Role);
163 llvm::PointerIntPair<Module *, 3, ModuleHeaderRole> Storage;
167 KnownHeader(Module *M, ModuleHeaderRole Role) : Storage(M, Role) {}
177 Module *getModule() const { return Storage.getPointer(); }
188 bool isAccessibleFrom(Module *M) const {
212 mutable llvm::DenseMap<off_t, llvm::TinyPtrVector<Module*>> LazyHeadersBySize;
215 mutable llvm::DenseMap<time_t, llvm::TinyPtrVector<Module*>>
224 llvm::DenseMap<const DirectoryEntry *, Module *> UmbrellaDirs;
233 llvm::DenseMap<Module *, unsigned> ModuleScopeIDs;
285 llvm::DenseMap<const Module *, FileID> InferredModuleAllowedBy;
287 llvm::DenseMap<const Module *, AdditionalModMapsSet> AdditionalModMaps;
305 Module::ExportDecl
306 resolveExport(Module *Mod, const Module::UnresolvedExportDecl &Unresolved,
320 Module *resolveModuleId(const ModuleId &Id, Module *Mod, bool Complain) const;
329 void addUnresolvedHeader(Module *Mod,
330 Module::UnresolvedHeaderDirective Header,
343 findHeader(Module *M, const Module::UnresolvedHeaderDirective &Header,
352 void resolveHeader(Module *M, const Module::UnresolvedHeaderDirective &Header,
358 bool resolveAsBuiltinHeader(Module *M,
359 const Module::UnresolvedHeaderDirective &Header);
388 Module *inferFrameworkModule(DirectoryEntryRef FrameworkDir, Attributes Attrs,
389 Module *Parent);
424 Module *Module) const;
470 void resolveHeaderDirectives(Module *Mod,
487 void diagnoseHeaderInclusion(Module *RequestingModule,
499 const Module *RequestingModule) const;
506 Module *findModule(StringRef Name) const;
508 Module *findOrInferSubmodule(Module *Parent, StringRef Name);
519 Module *lookupModuleUnqualified(StringRef Name, Module *Context) const;
530 Module *lookupModuleQualified(StringRef Name, Module *Context) const;
546 std::pair<Module *, bool> findOrCreateModule(StringRef Name, Module *Parent,
551 Module *findOrCreateModuleFirst(StringRef Name, Module *Parent,
558 Module *createModule(StringRef Name, Module *Parent, bool IsFramework,
565 /// unit's Module until later, because we don't know what it will be called
568 Module *createGlobalModuleFragmentForModuleUnit(SourceLocation Loc,
569 Module *Parent = nullptr);
570 Module *createImplicitGlobalModuleFragmentForModuleUnit(SourceLocation Loc,
571 Module *Parent);
574 Module *createPrivateModuleFragmentForInterfaceUnit(Module *Parent,
579 Module *createModuleUnitWithKind(SourceLocation Loc, StringRef Name,
580 Module::ModuleKind Kind);
589 Module *createModuleForInterfaceUnit(SourceLocation Loc, StringRef Name);
596 Module *createModuleForImplementationUnit(SourceLocation Loc, StringRef Name);
599 Module *createHeaderUnit(SourceLocation Loc, StringRef Name,
600 Module::Header H);
604 Module *inferFrameworkModule(DirectoryEntryRef FrameworkDir, bool IsSystem,
605 Module *Parent);
609 Module *createShadowedModule(StringRef Name, bool IsFramework,
610 Module *ShadowingModule);
615 /// \note Module names from earlier scopes will shadow names from the new
619 bool mayShadowNewModule(Module *ExistingModule) {
634 /// \param Module The module whose module map file will be returned, if known.
638 FileID getContainingModuleMapFileID(const Module *Module) const;
639 OptionalFileEntryRef getContainingModuleMapFile(const Module *Module) const;
650 FileID getModuleMapFileIDForUniquing(const Module *M) const;
651 OptionalFileEntryRef getModuleMapFileForUniquing(const Module *M) const;
653 void setInferredModuleAllowedBy(Module *M, FileID ModMapFID);
668 AdditionalModMapsSet *getAdditionalModuleMapFiles(const Module *M) {
675 void addAdditionalModuleMapFile(const Module *M, FileEntryRef ModuleMap);
685 bool resolveExports(Module *Mod, bool Complain);
695 bool resolveUses(Module *Mod, bool Complain);
705 bool resolveConflicts(Module *Mod, bool Complain);
709 setUmbrellaHeaderAsWritten(Module *Mod, FileEntryRef UmbrellaHeader,
714 void setUmbrellaDirAsWritten(Module *Mod, DirectoryEntryRef UmbrellaDir,
720 void addHeader(Module *Mod, Module::Header Header,
751 using module_iterator = llvm::StringMap<Module *>::const_iterator;
760 void cacheModuleLoad(const IdentifierInfo &II, Module *M) {
765 std::optional<Module *> getCachedModuleLoad(const IdentifierInfo &II) {