blob: 67a8607511cc138d58fca6542d615b8cfb92f418 [file] [log] [blame]
//===-- SBTypeSummary.h -------------------------------------------*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
#ifndef LLDB_SBTypeSummary_h_
#define LLDB_SBTypeSummary_h_
#include "lldb/API/SBDefines.h"
#ifndef LLDB_DISABLE_PYTHON
namespace lldb {
class SBTypeSummary
{
public:
SBTypeSummary();
static SBTypeSummary
CreateWithSummaryString (const char* data,
uint32_t options = 0); // see lldb::eTypeOption values
static SBTypeSummary
CreateWithFunctionName (const char* data,
uint32_t options = 0); // see lldb::eTypeOption values
static SBTypeSummary
CreateWithScriptCode (const char* data,
uint32_t options = 0); // see lldb::eTypeOption values
SBTypeSummary (const lldb::SBTypeSummary &rhs);
~SBTypeSummary ();
bool
IsValid() const;
bool
IsFunctionCode();
bool
IsFunctionName();
bool
IsSummaryString();
const char*
GetData ();
void
SetSummaryString (const char* data);
void
SetFunctionName (const char* data);
void
SetFunctionCode (const char* data);
uint32_t
GetOptions ();
void
SetOptions (uint32_t);
bool
GetDescription (lldb::SBStream &description,
lldb::DescriptionLevel description_level);
lldb::SBTypeSummary &
operator = (const lldb::SBTypeSummary &rhs);
bool
IsEqualTo (lldb::SBTypeSummary &rhs);
bool
operator == (lldb::SBTypeSummary &rhs);
bool
operator != (lldb::SBTypeSummary &rhs);
protected:
friend class SBDebugger;
friend class SBTypeCategory;
friend class SBValue;
lldb::TypeSummaryImplSP
GetSP ();
void
SetSP (const lldb::TypeSummaryImplSP &typefilter_impl_sp);
lldb::TypeSummaryImplSP m_opaque_sp;
SBTypeSummary (const lldb::TypeSummaryImplSP &);
bool
CopyOnWrite_Impl();
bool
ChangeSummaryType (bool want_script);
};
} // namespace lldb
#endif // LLDB_DISABLE_PYTHON
#endif // LLDB_SBTypeSummary_h_