SBTypeSynthetic.h revision 16376ed044df3ee70fcf69e19f06af01e71a8e9a
1//===-- SBTypeSynthetic.h -----------------------------------------*- C++ -*-===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9 10#ifndef LLDB_SBTypeSynthetic_h_ 11#define LLDB_SBTypeSynthetic_h_ 12 13#include "lldb/API/SBDefines.h" 14 15namespace lldb { 16 17 class SBTypeSynthetic 18 { 19 public: 20 21 SBTypeSynthetic(); 22 23 static SBTypeSynthetic 24 CreateWithClassName (const char* data, 25 uint32_t options = 0); // see lldb::eTypeOption values 26 27 static SBTypeSynthetic 28 CreateWithScriptCode (const char* data, 29 uint32_t options = 0); // see lldb::eTypeOption values 30 31 SBTypeSynthetic (const lldb::SBTypeSynthetic &rhs); 32 33 ~SBTypeSynthetic (); 34 35 bool 36 IsValid() const; 37 38 bool 39 IsClassCode(); 40 41 bool 42 IsClassName(); 43 44 const char* 45 GetData (); 46 47 void 48 SetClassName (const char* data); 49 50 void 51 SetClassCode (const char* data); 52 53 uint32_t 54 GetOptions (); 55 56 void 57 SetOptions (uint32_t); 58 59 bool 60 GetDescription (lldb::SBStream &description, 61 lldb::DescriptionLevel description_level); 62 63 lldb::SBTypeSynthetic & 64 operator = (const lldb::SBTypeSynthetic &rhs); 65 66 bool 67 IsEqualTo (lldb::SBTypeSynthetic &rhs); 68 69 bool 70 operator == (lldb::SBTypeSynthetic &rhs); 71 72 bool 73 operator != (lldb::SBTypeSynthetic &rhs); 74 75 protected: 76 friend class SBDebugger; 77 friend class SBTypeCategory; 78 79 lldb::TypeSyntheticImplSP 80 GetSP (); 81 82 void 83 SetSP (const lldb::TypeSyntheticImplSP &typefilter_impl_sp); 84 85 lldb::TypeSyntheticImplSP m_opaque_sp; 86 87 SBTypeSynthetic (const lldb::TypeSyntheticImplSP &); 88 89 bool 90 CopyOnWrite_Impl(); 91 92 }; 93 94 95} // namespace lldb 96 97#endif // LLDB_SBTypeSynthetic_h_ 98