blob: 727224155105880e22b3937c596c0ffa2f321614 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
//===-- CommandObjectLanguage.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 "CommandObjectLanguage.h"
#include "lldb/Target/LanguageRuntime.h"
using namespace lldb;
using namespace lldb_private;
CommandObjectLanguage::CommandObjectLanguage(CommandInterpreter &interpreter)
: CommandObjectMultiword(
interpreter, "language", "Commands specific to a source language.",
"language <language-name> <subcommand> [<subcommand-options>]") {
// Let the LanguageRuntime populates this command with subcommands
LanguageRuntime::InitializeCommands(this);
SetHelpLong(
R"(
Language specific subcommands may be used directly (without the `language
<language-name>` prefix), when stopped on a frame written in that language. For
example, from a C++ frame, users may run `demangle` directly, instead of
`language cplusplus demangle`.
Language specific subcommands are only available when the command name cannot be
misinterpreted. Take the `demangle` command for example, if a Python command
named `demangle-tree` were loaded, then the invocation `demangle` would run
`demangle-tree`, not `language cplusplus demangle`.
)");
}
CommandObjectLanguage::~CommandObjectLanguage() = default;
|