74 lines
2.1 KiB
C++
74 lines
2.1 KiB
C++
//===-- CommandObjectShow.cpp -----------------------------------*- C++ -*-===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#include "CommandObjectShow.h"
|
|
|
|
// C Includes
|
|
// C++ Includes
|
|
// Other libraries and framework includes
|
|
// Project includes
|
|
#include "lldb/Interpreter/CommandInterpreter.h"
|
|
#include "lldb/Interpreter/CommandReturnObject.h"
|
|
|
|
using namespace lldb;
|
|
using namespace lldb_private;
|
|
|
|
//-------------------------------------------------------------------------
|
|
// CommandObjectShow
|
|
//-------------------------------------------------------------------------
|
|
|
|
CommandObjectShow::CommandObjectShow () :
|
|
CommandObject ("show",
|
|
"Allows the user to see a single debugger setting variable and its value, or lists them all.",
|
|
"show [<setting-variable-name>]")
|
|
{
|
|
}
|
|
|
|
CommandObjectShow::~CommandObjectShow()
|
|
{
|
|
}
|
|
|
|
|
|
bool
|
|
CommandObjectShow::Execute
|
|
(
|
|
CommandInterpreter &interpreter,
|
|
Args& command,
|
|
CommandReturnObject &result
|
|
)
|
|
{
|
|
CommandInterpreter::VariableMap::iterator pos;
|
|
|
|
if (command.GetArgumentCount())
|
|
{
|
|
// The user requested to see the value of a particular variable.
|
|
|
|
const char *var_name = command.GetArgumentAtIndex(0);
|
|
StateVariable *var = interpreter.GetStateVariable(var_name);
|
|
if (var)
|
|
{
|
|
var->AppendVariableInformation (result);
|
|
result.SetStatus (eReturnStatusSuccessFinishNoResult);
|
|
}
|
|
else
|
|
{
|
|
result.AppendErrorWithFormat ("Unrecognized variable '%s'; cannot do 'show' command.\n", var_name);
|
|
result.SetStatus (eReturnStatusFailed);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
// The user didn't specify a particular variable, so show the values of all of them.
|
|
interpreter.ShowVariableValues(result);
|
|
result.SetStatus (eReturnStatusSuccessFinishNoResult);
|
|
}
|
|
|
|
return result.Succeeded();
|
|
}
|