Lines Matching refs:Module

19 #include "clang/Basic/Module.h"
94 Module *SourceModule = nullptr;
98 llvm::SmallVector<std::unique_ptr<Module>, 8> PendingSubmodules;
101 llvm::StringMap<Module *> Modules;
103 /// Module loading cache that includes submodules, indexed by IdentifierInfo.
105 llvm::DenseMap<const IdentifierInfo *, Module *> CachedModuleLoads;
108 llvm::SmallVector<Module*, 2> ShadowModules;
120 void resolveLinkAsDependencies(Module *Mod);
124 void addLinkAsDependency(Module *Mod);
149 static ModuleHeaderRole headerKindToRole(Module::HeaderKind Kind);
152 static Module::HeaderKind headerRoleToKind(ModuleHeaderRole Role);
160 llvm::PointerIntPair<Module *, 3, ModuleHeaderRole> Storage;
164 KnownHeader(Module *M, ModuleHeaderRole Role) : Storage(M, Role) {}
174 Module *getModule() const { return Storage.getPointer(); }
185 bool isAccessibleFrom(Module *M) const {
209 mutable llvm::DenseMap<off_t, llvm::TinyPtrVector<Module*>> LazyHeadersBySize;
212 mutable llvm::DenseMap<time_t, llvm::TinyPtrVector<Module*>>
221 llvm::DenseMap<const DirectoryEntry *, Module *> UmbrellaDirs;
230 llvm::DenseMap<Module *, unsigned> ModuleScopeIDs;
282 llvm::DenseMap<const Module *, FileID> InferredModuleAllowedBy;
284 llvm::DenseMap<const Module *, AdditionalModMapsSet> AdditionalModMaps;
302 Module::ExportDecl
303 resolveExport(Module *Mod, const Module::UnresolvedExportDecl &Unresolved,
317 Module *resolveModuleId(const ModuleId &Id, Module *Mod, bool Complain) const;
326 void addUnresolvedHeader(Module *Mod,
327 Module::UnresolvedHeaderDirective Header,
340 findHeader(Module *M, const Module::UnresolvedHeaderDirective &Header,
349 void resolveHeader(Module *M, const Module::UnresolvedHeaderDirective &Header,
355 bool resolveAsBuiltinHeader(Module *M,
356 const Module::UnresolvedHeaderDirective &Header);
385 Module *inferFrameworkModule(DirectoryEntryRef FrameworkDir, Attributes Attrs,
386 Module *Parent);
421 Module *Module) const;
467 void resolveHeaderDirectives(Module *Mod,
484 void diagnoseHeaderInclusion(Module *RequestingModule,
496 const Module *RequestingModule) const;
503 Module *findModule(StringRef Name) const;
514 Module *lookupModuleUnqualified(StringRef Name, Module *Context) const;
525 Module *lookupModuleQualified(StringRef Name, Module *Context) const;
541 std::pair<Module *, bool> findOrCreateModule(StringRef Name, Module *Parent,
549 /// unit's Module until later, because we don't know what it will be called
552 Module *createGlobalModuleFragmentForModuleUnit(SourceLocation Loc,
553 Module *Parent = nullptr);
554 Module *createImplicitGlobalModuleFragmentForModuleUnit(SourceLocation Loc,
555 Module *Parent);
558 Module *createPrivateModuleFragmentForInterfaceUnit(Module *Parent,
563 Module *createModuleUnitWithKind(SourceLocation Loc, StringRef Name,
564 Module::ModuleKind Kind);
573 Module *createModuleForInterfaceUnit(SourceLocation Loc, StringRef Name);
580 Module *createModuleForImplementationUnit(SourceLocation Loc, StringRef Name);
583 Module *createHeaderUnit(SourceLocation Loc, StringRef Name,
584 Module::Header H);
588 Module *inferFrameworkModule(DirectoryEntryRef FrameworkDir, bool IsSystem,
589 Module *Parent);
593 Module *createShadowedModule(StringRef Name, bool IsFramework,
594 Module *ShadowingModule);
599 /// \note Module names from earlier scopes will shadow names from the new
603 bool mayShadowNewModule(Module *ExistingModule) {
618 /// \param Module The module whose module map file will be returned, if known.
622 FileID getContainingModuleMapFileID(const Module *Module) const;
623 OptionalFileEntryRef getContainingModuleMapFile(const Module *Module) const;
634 FileID getModuleMapFileIDForUniquing(const Module *M) const;
635 OptionalFileEntryRef getModuleMapFileForUniquing(const Module *M) const;
637 void setInferredModuleAllowedBy(Module *M, FileID ModMapFID);
652 AdditionalModMapsSet *getAdditionalModuleMapFiles(const Module *M) {
659 void addAdditionalModuleMapFile(const Module *M, FileEntryRef ModuleMap);
669 bool resolveExports(Module *Mod, bool Complain);
679 bool resolveUses(Module *Mod, bool Complain);
689 bool resolveConflicts(Module *Mod, bool Complain);
693 setUmbrellaHeaderAsWritten(Module *Mod, FileEntryRef UmbrellaHeader,
698 void setUmbrellaDirAsWritten(Module *Mod, DirectoryEntryRef UmbrellaDir,
704 void addHeader(Module *Mod, Module::Header Header,
735 using module_iterator = llvm::StringMap<Module *>::const_iterator;
744 void cacheModuleLoad(const IdentifierInfo &II, Module *M) {
749 std::optional<Module *> getCachedModuleLoad(const IdentifierInfo &II) {