| //===-- MemoryRegionInfo.cpp ----------------------------------------------===// | |
| // | |
| // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | |
| // See https://llvm.org/LICENSE.txt for license information. | |
| // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | |
| // | |
| //===----------------------------------------------------------------------===// | |
| #include "lldb/Target/MemoryRegionInfo.h" | |
| using namespace lldb_private; | |
| llvm::raw_ostream &lldb_private::operator<<(llvm::raw_ostream &OS, | |
| const MemoryRegionInfo &Info) { | |
| return OS << llvm::formatv( | |
| "MemoryRegionInfo([{0}, {1}), {2:r}{3:w}{4:x}, " | |
| "{5}, `{6}`, {7}, {8}, {9}, {10}, {11}, {12})", | |
| Info.GetRange().GetRangeBase(), Info.GetRange().GetRangeEnd(), | |
| Info.GetReadable(), Info.GetWritable(), Info.GetExecutable(), | |
| Info.GetMapped(), Info.GetName(), Info.GetFlash(), | |
| Info.GetBlocksize(), Info.GetMemoryTagged(), Info.IsStackMemory(), | |
| Info.IsShadowStack(), Info.GetProtectionKey()); | |
| } | |
| void llvm::format_provider<LazyBool>::format(const LazyBool &B, raw_ostream &OS, | |
| StringRef Options) { | |
| assert(Options.size() <= 1); | |
| bool Empty = Options.empty(); | |
| switch (B) { | |
| case lldb_private::eLazyBoolNo: | |
| OS << (Empty ? "no" : "-"); | |
| return; | |
| case lldb_private::eLazyBoolYes: | |
| OS << (Empty ? "yes" : Options); | |
| return; | |
| case lldb_private::eLazyBoolDontKnow: | |
| OS << (Empty ? "don't know" : "?"); | |
| return; | |
| } | |
| } |