//===-- OptionValueEnumeration.cpp ------------------------------*- C++ -*-===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// #include "lldb/Interpreter/OptionValueEnumeration.h" // C Includes // C++ Includes // Other libraries and framework includes // Project includes #include "lldb/Core/StringList.h" using namespace lldb; using namespace lldb_private; OptionValueEnumeration::OptionValueEnumeration (const OptionEnumValueElement *enumerators, enum_type value) : OptionValue(), m_current_value (value), m_default_value (value), m_enumerations () { SetEnumerations(enumerators); } OptionValueEnumeration::~OptionValueEnumeration() { } void OptionValueEnumeration::DumpValue (const ExecutionContext *exe_ctx, Stream &strm, uint32_t dump_mask) { if (dump_mask & eDumpOptionType) strm.Printf ("(%s)", GetTypeAsCString ()); if (dump_mask & eDumpOptionValue) { if (dump_mask & eDumpOptionType) strm.PutCString (" = "); const size_t count = m_enumerations.GetSize (); for (size_t i=0; ivalue.value; } else { StreamString error_strm; error_strm.Printf("invalid enumeration value '%s'", value); const size_t count = m_enumerations.GetSize (); if (count) { error_strm.Printf(", valid values are: %s", m_enumerations.GetCStringAtIndex(0)); for (size_t i=1; i