1//===-- CommandObjectVersion.cpp --------------------------------*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9#include "CommandObjectVersion.h"
10
11#include "lldb/Interpreter/CommandReturnObject.h"
12#include "lldb/lldb-private.h"
13
14using namespace lldb;
15using namespace lldb_private;
16
17// CommandObjectVersion
18
19CommandObjectVersion::CommandObjectVersion(CommandInterpreter &interpreter)
20    : CommandObjectParsed(interpreter, "version",
21                          "Show the LLDB debugger version.", "version") {}
22
23CommandObjectVersion::~CommandObjectVersion() {}
24
25bool CommandObjectVersion::DoExecute(Args &args, CommandReturnObject &result) {
26  if (args.GetArgumentCount() == 0) {
27    result.AppendMessageWithFormat("%s\n", lldb_private::GetVersion());
28    result.SetStatus(eReturnStatusSuccessFinishResult);
29  } else {
30    result.AppendError("the version command takes no arguments.");
31    result.SetStatus(eReturnStatusFailed);
32  }
33  return true;
34}
35