Clang Project

clang_source_code/include/clang/module.modulemap
1module Clang_Analysis {
2  requires cplusplus
3  umbrella "Analysis"
4
5  textual header "Analysis/Analyses/ThreadSafetyOps.def"
6
7  module * { export * }
8
9  // FIXME: Exclude these headers to avoid pulling all of the AST matchers
10  // library into clang. Due to inline key functions in the headers,
11  // importing the AST matchers library gives a link dependency on the AST
12  // matchers (and thus the AST), which clang-format should not have.
13  exclude header "Analysis/Analyses/ExprMutationAnalyzer.h"
14}
15
16module Clang_AST {
17  requires cplusplus
18  umbrella "AST"
19
20  textual header "AST/BuiltinTypes.def"
21  textual header "AST/OperationKinds.def"
22  textual header "AST/TypeLocNodes.def"
23  textual header "AST/TypeNodes.def"
24
25  module * { export * }
26}
27
28module Clang_ASTMatchers { requires cplusplus umbrella "ASTMatchers" module * { export * } }
29
30module Clang_Basic {
31  requires cplusplus
32  umbrella "Basic"
33
34  textual header "Basic/BuiltinsAArch64.def"
35  textual header "Basic/BuiltinsAMDGPU.def"
36  textual header "Basic/BuiltinsARM.def"
37  textual header "Basic/Builtins.def"
38  textual header "Basic/BuiltinsHexagon.def"
39  textual header "Basic/BuiltinsLe64.def"
40  textual header "Basic/BuiltinsMips.def"
41  textual header "Basic/BuiltinsNEON.def"
42  textual header "Basic/BuiltinsNVPTX.def"
43  textual header "Basic/BuiltinsPPC.def"
44  textual header "Basic/BuiltinsSystemZ.def"
45  textual header "Basic/BuiltinsWebAssembly.def"
46  textual header "Basic/BuiltinsX86.def"
47  textual header "Basic/BuiltinsX86_64.def"
48  textual header "Basic/BuiltinsXCore.def"
49  textual header "Basic/CodeGenOptions.def"
50  textual header "Basic/DiagnosticOptions.def"
51  textual header "Basic/Features.def"
52  textual header "Basic/MSP430Target.def"
53  textual header "Basic/LangOptions.def"
54  textual header "Basic/OpenCLExtensions.def"
55  textual header "Basic/OpenCLImageTypes.def"
56  textual header "Basic/OpenCLExtensionTypes.def"
57  textual header "Basic/OpenMPKinds.def"
58  textual header "Basic/OperatorKinds.def"
59  textual header "Basic/Sanitizers.def"
60  textual header "Basic/TokenKinds.def"
61  textual header "Basic/X86Target.def"
62
63  module * { export * }
64}
65
66module Clang_CodeGen { requires cplusplus umbrella "CodeGen" module * { export * } }
67module Clang_Config { requires cplusplus umbrella "Config" module * { export * } }
68
69// Files for diagnostic groups are spread all over the include/clang/ tree, but
70// logically form a single module.
71module Clang_Diagnostics {
72  requires cplusplus
73
74  module All { header "Basic/AllDiagnostics.h" export * }
75  module Analysis { header "Analysis/AnalysisDiagnostic.h" export * }
76  module AST { header "AST/ASTDiagnostic.h" export * }
77  module Comment { header "AST/CommentDiagnostic.h" export * }
78  module Driver { header "Driver/DriverDiagnostic.h" export * }
79  module Frontend { header "Frontend/FrontendDiagnostic.h" export * }
80  module Lex { header "Lex/LexDiagnostic.h" export * }
81  module Parse { header "Parse/ParseDiagnostic.h" export * }
82  module Sema { header "Sema/SemaDiagnostic.h" export * }
83  module Serialization { header "Serialization/SerializationDiagnostic.h" export * }
84  module Refactoring { header "Tooling/Refactoring/RefactoringDiagnostic.h" export * }
85}
86
87module Clang_Driver {
88  requires cplusplus
89  umbrella "Driver"
90
91  textual header "Driver/Types.def"
92
93  module * { export * }
94}
95
96module Clang_Edit { requires cplusplus umbrella "Edit" module * { export * } }
97module Clang_Format { requires cplusplus umbrella "Format" module * { export * } }
98
99module Clang_Frontend {
100  requires cplusplus
101  umbrella "Frontend"
102
103  textual header "Frontend/LangStandards.def"
104
105  module * { export * }
106}
107
108module Clang_FrontendTool { requires cplusplus umbrella "FrontendTool" module * { export * } }
109module Clang_Index { requires cplusplus umbrella "Index" module * { export * } }
110module Clang_Lex { requires cplusplus umbrella "Lex" module * { export * } }
111module Clang_Parse { requires cplusplus umbrella "Parse" module * { export * } }
112module Clang_Rewrite { requires cplusplus umbrella "Rewrite/Core" module * { export * } }
113module Clang_RewriteFrontend { requires cplusplus umbrella "Rewrite/Frontend" module * { export * } }
114module Clang_Sema { requires cplusplus umbrella "Sema" module * { export * } }
115module Clang_Serialization { requires cplusplus umbrella "Serialization" module * { export * } }
116
117module Clang_StaticAnalyzer_Core {
118  requires cplusplus
119  umbrella "StaticAnalyzer/Core"
120
121  textual header "StaticAnalyzer/Core/Analyses.def"
122  textual header "StaticAnalyzer/Core/AnalyzerOptions.def"
123  textual header "StaticAnalyzer/Core/PathSensitive/SVals.def"
124  textual header "StaticAnalyzer/Core/PathSensitive/Symbols.def"
125  textual header "StaticAnalyzer/Core/PathSensitive/Regions.def"
126
127  module * { export * }
128}
129
130module Clang_StaticAnalyzer_Checkers {
131  requires cplusplus
132  umbrella "StaticAnalyzer/Checkers"
133  module * { export * }
134}
135
136module Clang_StaticAnalyzer_Frontend {
137  requires cplusplus
138  umbrella "StaticAnalyzer/Frontend"
139  module * { export * }
140}
141
142module Clang_Tooling {
143  requires cplusplus umbrella "Tooling" module * { export * }
144  // FIXME: Exclude these headers to avoid pulling all of the AST matchers
145  // library into clang-format. Due to inline key functions in the headers,
146  // importing the AST matchers library gives a link dependency on the AST
147  // matchers (and thus the AST), which clang-format should not have.
148  exclude header "Tooling/RefactoringCallbacks.h"
149}
150
151module Clang_ToolingCore {
152  requires cplusplus
153  umbrella "Tooling/Core" module * { export * }
154}
155
156module Clang_ToolingInclusions {
157  requires cplusplus
158  umbrella "Tooling/Inclusions" module * { export * }
159}
160