Path: blob/main/contrib/llvm-project/lldb/source/Interpreter/OptionGroupUUID.cpp
39587 views
//===-- OptionGroupUUID.cpp -----------------------------------------------===//1//2// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.3// See https://llvm.org/LICENSE.txt for license information.4// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception5//6//===----------------------------------------------------------------------===//78#include "lldb/Interpreter/OptionGroupUUID.h"910#include "lldb/Host/OptionParser.h"1112using namespace lldb;13using namespace lldb_private;1415static constexpr OptionDefinition g_option_table[] = {16{LLDB_OPT_SET_1, false, "uuid", 'u', OptionParser::eRequiredArgument,17nullptr, {}, 0, eArgTypeModuleUUID, "A module UUID value."},18};1920llvm::ArrayRef<OptionDefinition> OptionGroupUUID::GetDefinitions() {21return llvm::ArrayRef(g_option_table);22}2324Status OptionGroupUUID::SetOptionValue(uint32_t option_idx,25llvm::StringRef option_arg,26ExecutionContext *execution_context) {27Status error;28const int short_option = g_option_table[option_idx].short_option;2930switch (short_option) {31case 'u':32error = m_uuid.SetValueFromString(option_arg);33if (error.Success())34m_uuid.SetOptionWasSet();35break;3637default:38llvm_unreachable("Unimplemented option");39}4041return error;42}4344void OptionGroupUUID::OptionParsingStarting(45ExecutionContext *execution_context) {46m_uuid.Clear();47}484950