summaryrefslogtreecommitdiff
path: root/lldb/source/Utility/FileSpec.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/source/Utility/FileSpec.cpp')
-rw-r--r--lldb/source/Utility/FileSpec.cpp18
1 files changed, 17 insertions, 1 deletions
diff --git a/lldb/source/Utility/FileSpec.cpp b/lldb/source/Utility/FileSpec.cpp
index 5c216d947f75a..1ec5d60e27804 100644
--- a/lldb/source/Utility/FileSpec.cpp
+++ b/lldb/source/Utility/FileSpec.cpp
@@ -1,4 +1,4 @@
-//===-- FileSpec.cpp --------------------------------------------*- C++ -*-===//
+//===-- FileSpec.cpp ------------------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
@@ -537,3 +537,19 @@ void llvm::format_provider<FileSpec>::format(const FileSpec &F,
if (!file.empty())
Stream << file;
}
+
+void llvm::yaml::ScalarEnumerationTraits<FileSpecStyle>::enumeration(
+ IO &io, FileSpecStyle &value) {
+ io.enumCase(value, "windows", FileSpecStyle(FileSpec::Style::windows));
+ io.enumCase(value, "posix", FileSpecStyle(FileSpec::Style::posix));
+ io.enumCase(value, "native", FileSpecStyle(FileSpec::Style::native));
+}
+
+void llvm::yaml::MappingTraits<FileSpec>::mapping(IO &io, FileSpec &f) {
+ io.mapRequired("directory", f.m_directory);
+ io.mapRequired("file", f.m_filename);
+ io.mapRequired("resolved", f.m_is_resolved);
+ FileSpecStyle style = f.m_style;
+ io.mapRequired("style", style);
+ f.m_style = style;
+}