SBTypeSummary.h revision c48ca82920bd333c7ccb6ec0e579207add130296
133e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org//===-- SBTypeSummary.h -------------------------------------------*- C++ -*-===// 233e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org// 333e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org// The LLVM Compiler Infrastructure 433e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org// 533e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org// This file is distributed under the University of Illinois Open Source 633e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org// License. See LICENSE.TXT for details. 733e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org// 833e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org//===----------------------------------------------------------------------===// 933e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org 1033e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org#ifndef LLDB_SBTypeSummary_h_ 1133e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org#define LLDB_SBTypeSummary_h_ 1233e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org 1333e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org#include "lldb/API/SBDefines.h" 1433e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org 1533e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org#ifndef LLDB_DISABLE_PYTHON 1633e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org 1733e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.orgnamespace lldb { 1833e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org 1933e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org class SBTypeSummary 2033e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org { 2133e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org public: 2233e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org 2333e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org SBTypeSummary(); 2433e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org 2533e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org static SBTypeSummary 2633e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org CreateWithSummaryString (const char* data, 2733e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org uint32_t options = 0); // see lldb::eTypeOption values 2833e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org 2933e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org static SBTypeSummary 3033e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org CreateWithFunctionName (const char* data, 3133e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org uint32_t options = 0); // see lldb::eTypeOption values 3233e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org 3333e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org static SBTypeSummary 3433e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org CreateWithScriptCode (const char* data, 3533e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org uint32_t options = 0); // see lldb::eTypeOption values 3633e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org 3733e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org SBTypeSummary (const lldb::SBTypeSummary &rhs); 3833e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org 3933e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org ~SBTypeSummary (); 4033e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org 41d0bddc653152f270a27fe32d5d7b0f5c0fa3b00cmachenbach@chromium.org bool 4233e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org IsValid() const; 4333e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org 4433e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org bool 4533e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org IsFunctionCode(); 4633e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org 4733e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org bool 4833e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org IsFunctionName(); 4933e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org 5033e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org bool 5133e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org IsSummaryString(); 5233e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org 5333e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org const char* 5433e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org GetData (); 5533e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org 5633e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org void 5733e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org SetSummaryString (const char* data); 5833e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org 5933e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org void 6033e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org SetFunctionName (const char* data); 6133e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org 6233e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org void 6333e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org SetFunctionCode (const char* data); 64d0bddc653152f270a27fe32d5d7b0f5c0fa3b00cmachenbach@chromium.org 6533e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org uint32_t 6633e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org GetOptions (); 6733e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org 6833e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org void 6933e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org SetOptions (uint32_t); 7033e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org 7133e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org bool 7233e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org GetDescription (lldb::SBStream &description, 7333e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org lldb::DescriptionLevel description_level); 7433e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org 7533e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org lldb::SBTypeSummary & 7633e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org operator = (const lldb::SBTypeSummary &rhs); 7733e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org 7833e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org bool 7933e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org IsEqualTo (lldb::SBTypeSummary &rhs); 8033e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org 8133e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org bool 8233e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org operator == (lldb::SBTypeSummary &rhs); 8333e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org 8433e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org bool 8533e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org operator != (lldb::SBTypeSummary &rhs); 86 87 protected: 88 friend class SBDebugger; 89 friend class SBTypeCategory; 90 friend class SBValue; 91 92 lldb::TypeSummaryImplSP 93 GetSP (); 94 95 void 96 SetSP (const lldb::TypeSummaryImplSP &typefilter_impl_sp); 97 98 lldb::TypeSummaryImplSP m_opaque_sp; 99 100 SBTypeSummary (const lldb::TypeSummaryImplSP &); 101 102 bool 103 CopyOnWrite_Impl(); 104 105 bool 106 ChangeSummaryType (bool want_script); 107 108 }; 109 110 111} // namespace lldb 112 113#endif // LLDB_DISABLE_PYTHON 114 115#endif // LLDB_SBTypeSummary_h_ 116