xref: /freebsd/contrib/llvm-project/clang/lib/Tooling/Inclusions/IncludeStyle.cpp (revision 0fca6ea1d4eea4c934cfff25ac9ee8ad6fe95583)
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 
mapping(IO & IO,IncludeStyle::IncludeCategory & Category)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 
enumeration(IO & IO,IncludeStyle::IncludeBlocksStyle & Value)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 void ScalarEnumerationTraits<IncludeStyle::MainIncludeCharDiscriminator>::
enumeration(IO & IO,IncludeStyle::MainIncludeCharDiscriminator & Value)32     enumeration(IO &IO, IncludeStyle::MainIncludeCharDiscriminator &Value) {
33   IO.enumCase(Value, "Quote", IncludeStyle::MICD_Quote);
34   IO.enumCase(Value, "AngleBracket", IncludeStyle::MICD_AngleBracket);
35   IO.enumCase(Value, "Any", IncludeStyle::MICD_Any);
36 }
37 
38 } // namespace yaml
39 } // namespace llvm
40