clang: include/clang/Lex/ModuleMapFile.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9#ifndef LLVM_CLANG_LEX_MODULEMAPFILE_H
10#define LLVM_CLANG_LEX_MODULEMAPFILE_H
11
13
14
17#include "llvm/ADT/StringRef.h"
18
19#include
20#include
21
23
26
28
30
31
37
43
48
53 std::optional<int64_t> Size;
54 std::optional<int64_t> MTime;
55 LLVM_PREFERRED_TYPE(bool)
57 LLVM_PREFERRED_TYPE(bool)
59 LLVM_PREFERRED_TYPE(bool)
61 LLVM_PREFERRED_TYPE(bool)
63};
64
69
75
76 LLVM_PREFERRED_TYPE(bool)
78 LLVM_PREFERRED_TYPE(bool)
80};
81
86
92
97
103
108
112 LLVM_PREFERRED_TYPE(bool)
114};
115
119 LLVM_PREFERRED_TYPE(bool)
121};
122
128
129using TopLevelDecl = std::variant<ModuleDecl, ExternModuleDecl>;
130
131
132
133
134
136
138
139
140
142
143
145
148
149 void dump(llvm::raw_ostream &out) const;
150};
151
152
153
154
155
156
157
158
159
160
161
162
163
164std::optional
167
168}
169}
170
171#endif
static void dump(llvm::raw_ostream &OS, StringRef FunctionName, ArrayRef< CounterExpression > Expressions, ArrayRef< CounterMappingRegion > Regions)
Forward-declares and imports various common LLVM datatypes that clang wants to use unqualified.
Defines the clang::Module class, which describes a module in the source code.
Defines the clang::SourceLocation class and associated facilities.
Concrete class used by the front-end to report problems and issues.
A reference to a DirectoryEntry that includes the name of the directory as it was accessed by the Fil...
An opaque identifier used by SourceManager which refers to a source file (MemoryBuffer) along with it...
Encodes a location in the source.
This class handles loading and caching of source files into memory.
Definition ModuleMapFile.h:27
std::variant< struct RequiresDecl, struct HeaderDecl, struct UmbrellaDirDecl, struct ModuleDecl, struct ExcludeDecl, struct ExportDecl, struct ExportAsDecl, struct ExternModuleDecl, struct UseDecl, struct LinkDecl, struct ConfigMacrosDecl, struct ConflictDecl > Decl
All declarations that can appear in a module declaration.
Definition ModuleMapFile.h:32
std::optional< ModuleMapFile > parseModuleMap(FileID ID, clang::DirectoryEntryRef Dir, SourceManager &SM, DiagnosticsEngine &Diags, bool IsSystem, unsigned *Offset)
Parse a module map file into an in memory representation.
std::variant< ModuleDecl, ExternModuleDecl > TopLevelDecl
Definition ModuleMapFile.h:129
The JSON file list parser is used to communicate input to InstallAPI.
SmallVector< std::pair< std::string, SourceLocation >, 2 > ModuleId
Describes the name of a module.
CustomizableOptional< DirectoryEntryRef > OptionalDirectoryEntryRef
The set of attributes that can be attached to a module.
Definition ModuleMapFile.h:116
std::vector< StringRef > Macros
Definition ModuleMapFile.h:117
SourceLocation Location
Definition ModuleMapFile.h:118
unsigned Exhaustive
Definition ModuleMapFile.h:120
Definition ModuleMapFile.h:123
SourceLocation Location
Definition ModuleMapFile.h:124
ModuleId Id
Definition ModuleMapFile.h:125
StringRef Message
Definition ModuleMapFile.h:126
Definition ModuleMapFile.h:82
StringRef Module
Definition ModuleMapFile.h:84
SourceLocation Location
Definition ModuleMapFile.h:83
Definition ModuleMapFile.h:93
SourceLocation Location
Definition ModuleMapFile.h:94
ModuleId Id
Definition ModuleMapFile.h:95
Definition ModuleMapFile.h:87
SourceLocation Location
Definition ModuleMapFile.h:89
ModuleId Id
Definition ModuleMapFile.h:88
bool Wildcard
Definition ModuleMapFile.h:90
Definition ModuleMapFile.h:98
SourceLocation Location
Definition ModuleMapFile.h:99
StringRef Path
Definition ModuleMapFile.h:101
ModuleId Id
Definition ModuleMapFile.h:100
Definition ModuleMapFile.h:109
StringRef Library
Definition ModuleMapFile.h:110
unsigned Framework
Definition ModuleMapFile.h:113
SourceLocation Location
Definition ModuleMapFile.h:111
Definition ModuleMapFile.h:70
ModuleAttributes Attrs
Points to the first keyword in the decl.
Definition ModuleMapFile.h:73
SourceLocation Location
Definition ModuleMapFile.h:72
ModuleId Id
Definition ModuleMapFile.h:71
unsigned Explicit
Definition ModuleMapFile.h:77
unsigned Framework
Definition ModuleMapFile.h:79
std::vector< Decl > Decls
Definition ModuleMapFile.h:74
Represents the parsed form of a module map file.
Definition ModuleMapFile.h:135
SourceLocation Start
Beginning of the file, used for moduleMapFileRead callback.
Definition ModuleMapFile.h:144
bool IsSystem
Definition ModuleMapFile.h:146
std::vector< TopLevelDecl > Decls
Definition ModuleMapFile.h:147
FileID ID
The FileID used to parse this module map. This is always a local ID.
Definition ModuleMapFile.h:137
OptionalDirectoryEntryRef Dir
The directory in which the module map was discovered.
Definition ModuleMapFile.h:141
Definition ModuleMapFile.h:44
std::vector< RequiresFeature > Features
Definition ModuleMapFile.h:46
SourceLocation Location
Definition ModuleMapFile.h:45
Definition ModuleMapFile.h:38
StringRef Feature
Definition ModuleMapFile.h:39
bool RequiredState
Definition ModuleMapFile.h:41
SourceLocation Location
Definition ModuleMapFile.h:40
Definition ModuleMapFile.h:65
SourceLocation Location
Definition ModuleMapFile.h:67
StringRef Path
Definition ModuleMapFile.h:66
Definition ModuleMapFile.h:104
ModuleId Id
Definition ModuleMapFile.h:106
SourceLocation Location
Definition ModuleMapFile.h:105