181ad6265SDimitry Andric //===-- LLDBLog.h -----------------------------------------------*- C++ -*-===// 281ad6265SDimitry Andric // 381ad6265SDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 481ad6265SDimitry Andric // See https://llvm.org/LICENSE.txt for license information. 581ad6265SDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 681ad6265SDimitry Andric // 781ad6265SDimitry Andric //===----------------------------------------------------------------------===// 881ad6265SDimitry Andric 981ad6265SDimitry Andric #ifndef LLDB_UTILITY_LLDBLOG_H 1081ad6265SDimitry Andric #define LLDB_UTILITY_LLDBLOG_H 1181ad6265SDimitry Andric 1281ad6265SDimitry Andric #include "lldb/Utility/Log.h" 1381ad6265SDimitry Andric #include "llvm/ADT/BitmaskEnum.h" 1481ad6265SDimitry Andric #include <cstdint> 1581ad6265SDimitry Andric 1681ad6265SDimitry Andric namespace lldb_private { 1781ad6265SDimitry Andric 1881ad6265SDimitry Andric enum class LLDBLog : Log::MaskType { 1981ad6265SDimitry Andric API = Log::ChannelFlag<0>, 2081ad6265SDimitry Andric AST = Log::ChannelFlag<1>, 2181ad6265SDimitry Andric Breakpoints = Log::ChannelFlag<2>, 2281ad6265SDimitry Andric Commands = Log::ChannelFlag<3>, 2381ad6265SDimitry Andric Communication = Log::ChannelFlag<4>, 2481ad6265SDimitry Andric Connection = Log::ChannelFlag<5>, 2581ad6265SDimitry Andric DataFormatters = Log::ChannelFlag<6>, 2681ad6265SDimitry Andric Demangle = Log::ChannelFlag<7>, 2781ad6265SDimitry Andric DynamicLoader = Log::ChannelFlag<8>, 2881ad6265SDimitry Andric Events = Log::ChannelFlag<9>, 2981ad6265SDimitry Andric Expressions = Log::ChannelFlag<10>, 3081ad6265SDimitry Andric Host = Log::ChannelFlag<11>, 3181ad6265SDimitry Andric JITLoader = Log::ChannelFlag<12>, 3281ad6265SDimitry Andric Language = Log::ChannelFlag<13>, 3381ad6265SDimitry Andric MMap = Log::ChannelFlag<14>, 3481ad6265SDimitry Andric Modules = Log::ChannelFlag<15>, 3581ad6265SDimitry Andric Object = Log::ChannelFlag<16>, 3681ad6265SDimitry Andric OS = Log::ChannelFlag<17>, 3781ad6265SDimitry Andric Platform = Log::ChannelFlag<18>, 3881ad6265SDimitry Andric Process = Log::ChannelFlag<19>, 3981ad6265SDimitry Andric Script = Log::ChannelFlag<20>, 4081ad6265SDimitry Andric State = Log::ChannelFlag<21>, 4181ad6265SDimitry Andric Step = Log::ChannelFlag<22>, 4281ad6265SDimitry Andric Symbols = Log::ChannelFlag<23>, 4381ad6265SDimitry Andric SystemRuntime = Log::ChannelFlag<24>, 4481ad6265SDimitry Andric Target = Log::ChannelFlag<25>, 4581ad6265SDimitry Andric Temporary = Log::ChannelFlag<26>, 4681ad6265SDimitry Andric Thread = Log::ChannelFlag<27>, 4781ad6265SDimitry Andric Types = Log::ChannelFlag<28>, 4881ad6265SDimitry Andric Unwind = Log::ChannelFlag<29>, 4981ad6265SDimitry Andric Watchpoints = Log::ChannelFlag<30>, 5081ad6265SDimitry Andric OnDemand = Log::ChannelFlag<31>, 51*06c3fb27SDimitry Andric Source = Log::ChannelFlag<32>, 52bdd1243dSDimitry Andric LLVM_MARK_AS_BITMASK_ENUM(OnDemand), 5381ad6265SDimitry Andric }; 5481ad6265SDimitry Andric 5581ad6265SDimitry Andric LLVM_ENABLE_BITMASK_ENUMS_IN_NAMESPACE(); 5681ad6265SDimitry Andric 5781ad6265SDimitry Andric void InitializeLldbChannel(); 5881ad6265SDimitry Andric 5981ad6265SDimitry Andric template <> Log::Channel &LogChannelFor<LLDBLog>(); 6081ad6265SDimitry Andric } // namespace lldb_private 6181ad6265SDimitry Andric 6281ad6265SDimitry Andric #endif // LLDB_UTILITY_LLDBLOG_H 63