xref: /freebsd/contrib/llvm-project/clang/lib/Tooling/Inclusions/IncludeStyle.cpp (revision db33c6f3ae9d1231087710068ee4ea5398aacca7)
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 void ScalarEnumerationTraits<IncludeStyle::MainIncludeCharDiscriminator>::
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