aboutsummaryrefslogtreecommitdiff
path: root/source/Symbol/TypeSystem.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/Symbol/TypeSystem.cpp')
-rw-r--r--source/Symbol/TypeSystem.cpp40
1 files changed, 26 insertions, 14 deletions
diff --git a/source/Symbol/TypeSystem.cpp b/source/Symbol/TypeSystem.cpp
index fa5e0bc7da6e..b99f21e1e347 100644
--- a/source/Symbol/TypeSystem.cpp
+++ b/source/Symbol/TypeSystem.cpp
@@ -23,19 +23,20 @@
#include "lldb/Symbol/CompilerType.h"
using namespace lldb_private;
+using namespace lldb;
TypeSystem::TypeSystem(LLVMCastKind kind) : m_kind(kind), m_sym_file(nullptr) {}
TypeSystem::~TypeSystem() {}
-lldb::TypeSystemSP TypeSystem::CreateInstance(lldb::LanguageType language,
- Module *module) {
+static lldb::TypeSystemSP CreateInstanceHelper(lldb::LanguageType language,
+ Module *module, Target *target) {
uint32_t i = 0;
TypeSystemCreateInstance create_callback;
while ((create_callback = PluginManager::GetTypeSystemCreateCallbackAtIndex(
i++)) != nullptr) {
lldb::TypeSystemSP type_system_sp =
- create_callback(language, module, nullptr);
+ create_callback(language, module, target);
if (type_system_sp)
return type_system_sp;
}
@@ -44,18 +45,13 @@ lldb::TypeSystemSP TypeSystem::CreateInstance(lldb::LanguageType language,
}
lldb::TypeSystemSP TypeSystem::CreateInstance(lldb::LanguageType language,
- Target *target) {
- uint32_t i = 0;
- TypeSystemCreateInstance create_callback;
- while ((create_callback = PluginManager::GetTypeSystemCreateCallbackAtIndex(
- i++)) != nullptr) {
- lldb::TypeSystemSP type_system_sp =
- create_callback(language, nullptr, target);
- if (type_system_sp)
- return type_system_sp;
- }
+ Module *module) {
+ return CreateInstanceHelper(language, module, nullptr);
+}
- return lldb::TypeSystemSP();
+lldb::TypeSystemSP TypeSystem::CreateInstance(lldb::LanguageType language,
+ Target *target) {
+ return CreateInstanceHelper(language, nullptr, target);
}
bool TypeSystem::IsAnonymousType(lldb::opaque_compiler_type_t type) {
@@ -105,6 +101,22 @@ CompilerType TypeSystem::GetTypeForFormatters(void *type) {
return CompilerType(this, type);
}
+TemplateArgumentKind
+TypeSystem::GetTemplateArgumentKind(opaque_compiler_type_t type, size_t idx) {
+ return eTemplateArgumentKindNull;
+}
+
+CompilerType TypeSystem::GetTypeTemplateArgument(opaque_compiler_type_t type,
+ size_t idx) {
+ return CompilerType();
+}
+
+llvm::Optional<CompilerType::IntegralTemplateArgument>
+TypeSystem::GetIntegralTemplateArgument(opaque_compiler_type_t type,
+ size_t idx) {
+ return llvm::None;
+}
+
LazyBool TypeSystem::ShouldPrintAsOneLiner(void *type, ValueObject *valobj) {
return eLazyBoolCalculate;
}