| //===-- ScriptedInterfaceUsages.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/Interpreter/Interfaces/ScriptedInterfaceUsages.h" |
| |
| using namespace lldb; |
| using namespace lldb_private; |
| |
| void ScriptedInterfaceUsages::Dump(Stream &s, UsageKind kind) const { |
| s.IndentMore(); |
| s.Indent(); |
| llvm::StringRef usage_kind = |
| (kind == UsageKind::CommandInterpreter) ? "Command Interpreter" : "API"; |
| s << usage_kind << " Usages:"; |
| const std::vector<llvm::StringRef> &usages = |
| (kind == UsageKind::CommandInterpreter) ? GetCommandInterpreterUsages() |
| : GetSBAPIUsages(); |
| if (usages.empty()) |
| s << " None\n"; |
| else if (usages.size() == 1) |
| s << " " << usages.front() << '\n'; |
| else { |
| s << '\n'; |
| for (llvm::StringRef usage : usages) { |
| s.IndentMore(); |
| s.Indent(); |
| s << usage << '\n'; |
| s.IndentLess(); |
| } |
| } |
| s.IndentLess(); |
| } |