/usr/lib/llvm-3.4/include/lldb/Interpreter/OptionValueDictionary.h is in liblldb-3.4-dev 1:3.4.2-13.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 | //===-- OptionValueDictionary.h ---------------------------------*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
#ifndef liblldb_OptionValueDictionary_h_
#define liblldb_OptionValueDictionary_h_
// C Includes
// C++ Includes
#include <map>
// Other libraries and framework includes
// Project includes
#include "lldb/Interpreter/OptionValue.h"
namespace lldb_private {
class OptionValueDictionary : public OptionValue
{
public:
OptionValueDictionary (uint32_t type_mask = UINT32_MAX, bool raw_value_dump = true) :
OptionValue(),
m_type_mask (type_mask),
m_values (),
m_raw_value_dump (raw_value_dump)
{
}
virtual
~OptionValueDictionary()
{
}
//---------------------------------------------------------------------
// Virtual subclass pure virtual overrides
//---------------------------------------------------------------------
virtual OptionValue::Type
GetType () const
{
return eTypeDictionary;
}
virtual void
DumpValue (const ExecutionContext *exe_ctx, Stream &strm, uint32_t dump_mask);
virtual Error
SetValueFromCString (const char *value,
VarSetOperationType op = eVarSetOperationAssign);
virtual bool
Clear ()
{
m_values.clear();
m_value_was_set = false;
return true;
}
virtual lldb::OptionValueSP
DeepCopy () const;
virtual bool
IsAggregateValue () const
{
return true;
}
bool
IsHomogenous() const
{
return ConvertTypeMaskToType (m_type_mask) != eTypeInvalid;
}
//---------------------------------------------------------------------
// Subclass specific functions
//---------------------------------------------------------------------
size_t
GetNumValues() const
{
return m_values.size();
}
lldb::OptionValueSP
GetValueForKey (const ConstString &key) const;
virtual lldb::OptionValueSP
GetSubValue (const ExecutionContext *exe_ctx,
const char *name,
bool will_modify,
Error &error) const;
virtual Error
SetSubValue (const ExecutionContext *exe_ctx,
VarSetOperationType op,
const char *name,
const char *value);
//---------------------------------------------------------------------
// String value getters and setters
//---------------------------------------------------------------------
const char *
GetStringValueForKey (const ConstString &key);
bool
SetStringValueForKey (const ConstString &key,
const char *value,
bool can_replace = true);
bool
SetValueForKey (const ConstString &key,
const lldb::OptionValueSP &value_sp,
bool can_replace = true);
bool
DeleteValueForKey (const ConstString &key);
size_t
GetArgs (Args &args) const;
Error
SetArgs (const Args &args, VarSetOperationType op);
protected:
typedef std::map<ConstString, lldb::OptionValueSP> collection;
uint32_t m_type_mask;
collection m_values;
bool m_raw_value_dump;
};
} // namespace lldb_private
#endif // liblldb_OptionValueDictionary_h_
|