SBTypeSynthetic.h revision d760907c1d42726fa0c8c48efa28385ed339bb94
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 friend class SBValue; 79 80 lldb::TypeSyntheticImplSP 81 GetSP (); 82 83 void 84 SetSP (const lldb::TypeSyntheticImplSP &typefilter_impl_sp); 85 86 lldb::TypeSyntheticImplSP m_opaque_sp; 87 88 SBTypeSynthetic (const lldb::TypeSyntheticImplSP &); 89 90 bool 91 CopyOnWrite_Impl(); 92 93 }; 94 95 96} // namespace lldb 97 98#endif // LLDB_SBTypeSynthetic_h_ 99