1 //===-- LogChannelDWARF.h ---------------------------------------*- C++ -*-===//
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
7 //===----------------------------------------------------------------------===//
9 #ifndef LLDB_SOURCE_PLUGINS_SYMBOLFILE_DWARF_LOGCHANNELDWARF_H
10 #define LLDB_SOURCE_PLUGINS_SYMBOLFILE_DWARF_LOGCHANNELDWARF_H
12 #include "lldb/Utility/Log.h"
13 #include "llvm/ADT/BitmaskEnum.h"
15 namespace lldb_private
{
17 enum class DWARFLog
: Log::MaskType
{
18 DebugInfo
= Log::ChannelFlag
<0>,
19 DebugLine
= Log::ChannelFlag
<1>,
20 DebugMap
= Log::ChannelFlag
<2>,
21 Lookups
= Log::ChannelFlag
<3>,
22 TypeCompletion
= Log::ChannelFlag
<4>,
23 SplitDwarf
= Log::ChannelFlag
<5>,
24 LLVM_MARK_AS_BITMASK_ENUM(TypeCompletion
)
26 LLVM_ENABLE_BITMASK_ENUMS_IN_NAMESPACE();
28 class LogChannelDWARF
{
30 static void Initialize();
31 static void Terminate();
34 template <> Log::Channel
&LogChannelFor
<DWARFLog
>();
35 } // namespace lldb_private
37 #endif // LLDB_SOURCE_PLUGINS_SYMBOLFILE_DWARF_LOGCHANNELDWARF_H