xref: /freebsd/contrib/llvm-project/clang/lib/Tooling/Inclusions/IncludeStyle.cpp (revision 02e9120893770924227138ba49df1edb3896112a)
1 //===--- IncludeStyle.cpp - Style of C++ #include directives -----*- C++-*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #include "clang/Tooling/Inclusions/IncludeStyle.h"
10 
11 using clang::tooling::IncludeStyle;
12 
13 namespace llvm {
14 namespace yaml {
15 
16 void MappingTraits<IncludeStyle::IncludeCategory>::mapping(
17     IO &IO, IncludeStyle::IncludeCategory &Category) {
18   IO.mapOptional("Regex", Category.Regex);
19   IO.mapOptional("Priority", Category.Priority);
20   IO.mapOptional("SortPriority", Category.SortPriority);
21   IO.mapOptional("CaseSensitive", Category.RegexIsCaseSensitive);
22 }
23 
24 void ScalarEnumerationTraits<IncludeStyle::IncludeBlocksStyle>::enumeration(
25     IO &IO, IncludeStyle::IncludeBlocksStyle &Value) {
26   IO.enumCase(Value, "Preserve", IncludeStyle::IBS_Preserve);
27   IO.enumCase(Value, "Merge", IncludeStyle::IBS_Merge);
28   IO.enumCase(Value, "Regroup", IncludeStyle::IBS_Regroup);
29 }
30 
31 } // namespace yaml
32 } // namespace llvm
33