module Clang_Analysis {
  requires cplusplus
  umbrella "Analysis"

  textual header "Analysis/Analyses/ThreadSafetyOps.def"

  module * { export * }

  // FIXME: Exclude these headers to avoid pulling all of the AST matchers
  // library into clang. Due to inline key functions in the headers,
  // importing the AST matchers library gives a link dependency on the AST
  // matchers (and thus the AST), which clang-format should not have.
  exclude header "Analysis/Analyses/ExprMutationAnalyzer.h"
}

module Clang_AST {
  requires cplusplus
  umbrella "AST"

  textual header "AST/BuiltinTypes.def"
  textual header "AST/CXXRecordDeclDefinitionBits.def"
  textual header "AST/OperationKinds.def"
  textual header "AST/TypeLocNodes.def"

  module * { export * }
}

module Clang_ASTMatchers { requires cplusplus umbrella "ASTMatchers" module * { export * } }

module Clang_Basic {
  requires cplusplus
  umbrella "Basic"

  textual header "Basic/AArch64SVEACLETypes.def"
  textual header "Basic/BuiltinsAArch64.def"
  textual header "Basic/BuiltinsAMDGPU.def"
  textual header "Basic/BuiltinsARM.def"
  textual header "Basic/BuiltinsBPF.def"
  textual header "Basic/Builtins.def"
  textual header "Basic/BuiltinsHexagon.def"
  textual header "Basic/BuiltinsHexagonDep.def"
  textual header "Basic/BuiltinsHexagonMapCustomDep.def"
  textual header "Basic/BuiltinsLe64.def"
  textual header "Basic/BuiltinsMips.def"
  textual header "Basic/BuiltinsNEON.def"
  textual header "Basic/BuiltinsNVPTX.def"
  textual header "Basic/BuiltinsPPC.def"
  textual header "Basic/BuiltinsRISCV.def"
  textual header "Basic/BuiltinsSVE.def"
  textual header "Basic/BuiltinsSystemZ.def"
  textual header "Basic/BuiltinsWebAssembly.def"
  textual header "Basic/BuiltinsX86.def"
  textual header "Basic/BuiltinsX86_64.def"
  textual header "Basic/BuiltinsXCore.def"
  textual header "Basic/CodeGenOptions.def"
  textual header "Basic/DiagnosticOptions.def"
  textual header "Basic/Features.def"
  textual header "Basic/FPOptions.def"
  textual header "Basic/MSP430Target.def"
  textual header "Basic/LangOptions.def"
  textual header "Basic/OpenCLExtensions.def"
  textual header "Basic/OpenCLImageTypes.def"
  textual header "Basic/OpenCLExtensionTypes.def"
  textual header "Basic/OpenMPKinds.def"
  textual header "Basic/OperatorKinds.def"
  textual header "Basic/PPCTypes.def"
  textual header "Basic/RISCVVTypes.def"
  textual header "Basic/Sanitizers.def"
  textual header "Basic/TokenKinds.def"
  textual header "Basic/X86Target.def"

  module * { export * }
}

module Clang_CodeGen { requires cplusplus umbrella "CodeGen" module * { export * } }
module Clang_Config { requires cplusplus umbrella "Config" module * { export * } }

// Files for diagnostic groups are spread all over the include/clang/ tree, but
// logically form a single module.
module Clang_Diagnostics {
  requires cplusplus

  module All { header "Basic/AllDiagnostics.h" export * }
  module Analysis { header "Analysis/AnalysisDiagnostic.h" export * }
  module AST { header "AST/ASTDiagnostic.h" export * }
  module Comment { header "AST/CommentDiagnostic.h" export * }
  module Driver { header "Driver/DriverDiagnostic.h" export * }
  module Frontend { header "Frontend/FrontendDiagnostic.h" export * }
  module Lex { header "Lex/LexDiagnostic.h" export * }
  module Parse { header "Parse/ParseDiagnostic.h" export * }
  module Sema { header "Sema/SemaDiagnostic.h" export * }
  module Serialization { header "Serialization/SerializationDiagnostic.h" export * }
  module Refactoring { header "Tooling/Refactoring/RefactoringDiagnostic.h" export * }
}

module Clang_Driver {
  requires cplusplus
  umbrella "Driver"

  textual header "Driver/Types.def"

  module * { export * }
}

module Clang_Edit { requires cplusplus umbrella "Edit" module * { export * } }
module Clang_Format { requires cplusplus umbrella "Format" module * { export * } }

module Clang_Frontend {
  requires cplusplus
  umbrella "Frontend"

  textual header "Basic/LangStandards.def"

  module * { export * }
}

module Clang_FrontendTool { requires cplusplus umbrella "FrontendTool" module * { export * } }
module Clang_Index { requires cplusplus umbrella "Index" module * { export * } }
module Clang_Lex { requires cplusplus umbrella "Lex" module * { export * } }
module Clang_Parse { requires cplusplus umbrella "Parse" module * { export * } }
module Clang_Rewrite { requires cplusplus umbrella "Rewrite/Core" module * { export * } }
module Clang_RewriteFrontend { requires cplusplus umbrella "Rewrite/Frontend" module * { export * } }
module Clang_Sema { requires cplusplus umbrella "Sema" module * { export * } }

module Clang_Serialization {
  requires cplusplus
  umbrella "Serialization"

  textual header "Serialization/TypeBitCodes.def"

  module * { export * }
}

module Clang_StaticAnalyzer_Core {
  requires cplusplus
  umbrella "StaticAnalyzer/Core"

  textual header "StaticAnalyzer/Core/Analyses.def"
  textual header "StaticAnalyzer/Core/AnalyzerOptions.def"
  textual header "StaticAnalyzer/Core/PathSensitive/SVals.def"
  textual header "StaticAnalyzer/Core/PathSensitive/Symbols.def"
  textual header "StaticAnalyzer/Core/PathSensitive/Regions.def"

  module * { export * }
}

module Clang_StaticAnalyzer_Checkers {
  requires cplusplus
  umbrella "StaticAnalyzer/Checkers"
  module * { export * }
}

module Clang_StaticAnalyzer_Frontend {
  requires cplusplus
  umbrella "StaticAnalyzer/Frontend"
  module * { export * }
}

module Clang_Testing {
  requires cplusplus
  umbrella "Testing"
  module * { export * }
}

module Clang_Tooling {
  requires cplusplus umbrella "Tooling" module * { export * }
  // FIXME: Exclude these headers to avoid pulling all of the AST matchers
  // library into clang-format. Due to inline key functions in the headers,
  // importing the AST matchers library gives a link dependency on the AST
  // matchers (and thus the AST), which clang-format should not have.
  exclude header "Tooling/RefactoringCallbacks.h"
}

module Clang_ToolingCore {
  requires cplusplus
  umbrella "Tooling/Core" module * { export * }
}

module Clang_ToolingInclusions {
  requires cplusplus
  umbrella "Tooling/Inclusions" module * { export * }
}
