#ifndef LLDB_SBValue_h_
#define LLDB_SBValue_h_
#include "lldb/API/SBDefines.h"
#include <stdio.h>
namespace lldb {
#ifdef SWIG
%feature("docstring",
"Represents the value of a variable, a register, or an expression."
) SBValue;
#endif
class SBValue
{
#ifdef SWIG
%feature("autodoc", "1");
#endif
public:
SBValue ();
SBValue (const SBValue &rhs);
#ifndef SWIG
const SBValue &
operator =(const SBValue &rhs);
#endif
~SBValue ();
bool
IsValid() const;
SBError
GetError();
const char *
GetName();
const char *
GetTypeName ();
size_t
GetByteSize ();
bool
IsInScope (const lldb::SBFrame &frame);
bool
IsInScope ();
lldb::Format
GetFormat () const;
void
SetFormat (lldb::Format format);
const char *
GetValue (const lldb::SBFrame &frame);
const char *
GetValue ();
ValueType
GetValueType ();
bool
GetValueDidChange (const lldb::SBFrame &frame);
bool
GetValueDidChange ();
const char *
GetSummary (const lldb::SBFrame &frame);
const char *
GetSummary ();
const char *
GetObjectDescription (const lldb::SBFrame &frame);
const char *
GetObjectDescription ();
const char *
GetLocation (const lldb::SBFrame &frame);
const char *
GetLocation ();
bool
SetValueFromCString (const lldb::SBFrame &frame, const char *value_str);
bool
SetValueFromCString (const char *value_str);
lldb::SBValue
GetChildAtIndex (uint32_t idx);
lldb::SBValue
GetChildAtIndex (uint32_t idx, lldb::DynamicValueType use_dynamic);
uint32_t
GetIndexOfChildWithName (const char *name);
lldb::SBValue
GetChildMemberWithName (const char *name);
lldb::SBValue
GetChildMemberWithName (const char *name, lldb::DynamicValueType use_dynamic);
uint32_t
GetNumChildren ();
void *
GetOpaqueType();
lldb::SBValue
Dereference ();
bool
TypeIsPointerType ();
bool
GetDescription (lldb::SBStream &description);
bool
GetExpressionPath (lldb::SBStream &description);
bool
GetExpressionPath (lldb::SBStream &description, bool qualify_cxx_base_classes);
protected:
friend class SBValueList;
friend class SBFrame;
SBValue (const lldb::ValueObjectSP &value_sp);
#ifndef SWIG
lldb_private::ValueObject *
get() const;
lldb_private::ValueObject *
operator->() const;
lldb::ValueObjectSP &
operator*();
const lldb::ValueObjectSP &
operator*() const;
#endif
private:
lldb::ValueObjectSP m_opaque_sp;
};
}
#endif // LLDB_SBValue_h_