1 | //===-- LLDBLog.h -----------------------------------------------*- 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 | #ifndef LLDB_UTILITY_LLDBLOG_H |
10 | #define LLDB_UTILITY_LLDBLOG_H |
11 | |
12 | #include "lldb/Utility/Log.h" |
13 | #include "llvm/ADT/BitmaskEnum.h" |
14 | #include <cstdint> |
15 | |
16 | namespace lldb_private { |
17 | |
18 | enum class LLDBLog : Log::MaskType { |
19 | API = Log::ChannelFlag<0>, |
20 | AST = Log::ChannelFlag<1>, |
21 | Breakpoints = Log::ChannelFlag<2>, |
22 | Commands = Log::ChannelFlag<3>, |
23 | Communication = Log::ChannelFlag<4>, |
24 | Connection = Log::ChannelFlag<5>, |
25 | DataFormatters = Log::ChannelFlag<6>, |
26 | Demangle = Log::ChannelFlag<7>, |
27 | DynamicLoader = Log::ChannelFlag<8>, |
28 | Events = Log::ChannelFlag<9>, |
29 | Expressions = Log::ChannelFlag<10>, |
30 | Host = Log::ChannelFlag<11>, |
31 | JITLoader = Log::ChannelFlag<12>, |
32 | Language = Log::ChannelFlag<13>, |
33 | MMap = Log::ChannelFlag<14>, |
34 | Modules = Log::ChannelFlag<15>, |
35 | Object = Log::ChannelFlag<16>, |
36 | OS = Log::ChannelFlag<17>, |
37 | Platform = Log::ChannelFlag<18>, |
38 | Process = Log::ChannelFlag<19>, |
39 | Script = Log::ChannelFlag<20>, |
40 | State = Log::ChannelFlag<21>, |
41 | Step = Log::ChannelFlag<22>, |
42 | Symbols = Log::ChannelFlag<23>, |
43 | SystemRuntime = Log::ChannelFlag<24>, |
44 | Target = Log::ChannelFlag<25>, |
45 | Temporary = Log::ChannelFlag<26>, |
46 | Thread = Log::ChannelFlag<27>, |
47 | Types = Log::ChannelFlag<28>, |
48 | Unwind = Log::ChannelFlag<29>, |
49 | Watchpoints = Log::ChannelFlag<30>, |
50 | OnDemand = Log::ChannelFlag<31>, |
51 | Source = Log::ChannelFlag<32>, |
52 | LLVM_MARK_AS_BITMASK_ENUM(OnDemand), |
53 | }; |
54 | |
55 | LLVM_ENABLE_BITMASK_ENUMS_IN_NAMESPACE(); |
56 | |
57 | void InitializeLldbChannel(); |
58 | |
59 | template <> Log::Channel &LogChannelFor<LLDBLog>(); |
60 | } // namespace lldb_private |
61 | |
62 | #endif // LLDB_UTILITY_LLDBLOG_H |
63 | |