summaryrefslogtreecommitdiffstats
path: root/clang/lib/Tooling/Inclusions/IncludeStyle.cpp
diff options
context:
space:
mode:
authorEric Liu <ioeric@google.com>2018-05-18 14:16:37 +0000
committerEric Liu <ioeric@google.com>2018-05-18 14:16:37 +0000
commite0a3f5b1a9651bb4f76651d5a70d10cdb3fb9dc0 (patch)
treeed37bbb1df0c1e54cae20c0a8d54f61f27e46f12 /clang/lib/Tooling/Inclusions/IncludeStyle.cpp
parent1237095b3c973e6e7d8a0cc5c27ee439507caa49 (diff)
downloadbcm5719-llvm-e0a3f5b1a9651bb4f76651d5a70d10cdb3fb9dc0.tar.gz
bcm5719-llvm-e0a3f5b1a9651bb4f76651d5a70d10cdb3fb9dc0.zip
Move #include manipulation code to new lib/Tooling/Inclusions.
Summary: clangToolingCore is linked into almost everything (incl. clang), but not few tools need #include manipulation at this point. So pull this into a separate library in Tooling. Reviewers: ilya-biryukov Subscribers: klimek, mgorny, cfe-commits, thakis Differential Revision: https://reviews.llvm.org/D47068 llvm-svn: 332720
Diffstat (limited to 'clang/lib/Tooling/Inclusions/IncludeStyle.cpp')
-rw-r--r--clang/lib/Tooling/Inclusions/IncludeStyle.cpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/clang/lib/Tooling/Inclusions/IncludeStyle.cpp b/clang/lib/Tooling/Inclusions/IncludeStyle.cpp
new file mode 100644
index 00000000000..3597710f1f6
--- /dev/null
+++ b/clang/lib/Tooling/Inclusions/IncludeStyle.cpp
@@ -0,0 +1,31 @@
+//===--- IncludeStyle.cpp - Style of C++ #include directives -----*- C++-*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#include "clang/Tooling/Inclusions/IncludeStyle.h"
+
+using clang::tooling::IncludeStyle;
+
+namespace llvm {
+namespace yaml {
+
+void MappingTraits<IncludeStyle::IncludeCategory>::mapping(
+ IO &IO, IncludeStyle::IncludeCategory &Category) {
+ IO.mapOptional("Regex", Category.Regex);
+ IO.mapOptional("Priority", Category.Priority);
+}
+
+void ScalarEnumerationTraits<IncludeStyle::IncludeBlocksStyle>::enumeration(
+ IO &IO, IncludeStyle::IncludeBlocksStyle &Value) {
+ IO.enumCase(Value, "Preserve", IncludeStyle::IBS_Preserve);
+ IO.enumCase(Value, "Merge", IncludeStyle::IBS_Merge);
+ IO.enumCase(Value, "Regroup", IncludeStyle::IBS_Regroup);
+}
+
+} // namespace yaml
+} // namespace llvm
OpenPOWER on IntegriCloud