1 // 2 // TypeSystem.cpp 3 // lldb 4 // 5 // Created by Ryan Brown on 3/29/15. 6 // 7 // 8 9 #include "lldb/Symbol/TypeSystem.h" 10 11 #include "lldb/Core/PluginManager.h" 12 #include "lldb/Symbol/CompilerType.h" 13 14 using namespace lldb_private; 15 16 TypeSystem::TypeSystem(LLVMCastKind kind) : 17 m_kind (kind), 18 m_sym_file (nullptr) 19 { 20 } 21 22 TypeSystem::~TypeSystem() 23 { 24 } 25 26 lldb::TypeSystemSP 27 TypeSystem::CreateInstance (lldb::LanguageType language, const lldb_private::ArchSpec &arch) 28 { 29 uint32_t i = 0; 30 TypeSystemCreateInstance create_callback; 31 while ((create_callback = PluginManager::GetTypeSystemCreateCallbackAtIndex (i++)) != nullptr) 32 { 33 lldb::TypeSystemSP type_system_sp = create_callback(language, arch); 34 if (type_system_sp) 35 return type_system_sp; 36 } 37 38 return lldb::TypeSystemSP(); 39 } 40 41 CompilerType 42 TypeSystem::GetLValueReferenceType (lldb::opaque_compiler_type_t type) 43 { 44 return CompilerType(); 45 } 46 47 CompilerType 48 TypeSystem::GetRValueReferenceType (lldb::opaque_compiler_type_t type) 49 { 50 return CompilerType(); 51 } 52 53 CompilerType 54 TypeSystem::AddConstModifier (lldb::opaque_compiler_type_t type) 55 { 56 return CompilerType(); 57 } 58 59 CompilerType 60 TypeSystem::AddVolatileModifier (lldb::opaque_compiler_type_t type) 61 { 62 return CompilerType(); 63 } 64 65 CompilerType 66 TypeSystem::AddRestrictModifier (lldb::opaque_compiler_type_t type) 67 { 68 return CompilerType(); 69 } 70 71 CompilerType 72 TypeSystem::CreateTypedef (lldb::opaque_compiler_type_t type, const char *name, const CompilerDeclContext &decl_ctx) 73 { 74 return CompilerType(); 75 } 76 77 CompilerType 78 TypeSystem::GetBuiltinTypeByName (const ConstString &name) 79 { 80 return CompilerType(); 81 } 82 83 CompilerType 84 TypeSystem::GetTypeForFormatters (void* type) 85 { 86 return CompilerType(this, type); 87 } 88 89 LazyBool 90 TypeSystem::ShouldPrintAsOneLiner (void* type) 91 { 92 return eLazyBoolCalculate; 93 } 94