Implement a Target::GetTypeSystemForLanguage API, as well as provide helpers on the TypeSystem to get numeric types of specific sizes and signedness
llvm-svn: 247082
diff --git a/lldb/source/Target/Target.cpp b/lldb/source/Target/Target.cpp
index d58df59..c3d342e 100644
--- a/lldb/source/Target/Target.cpp
+++ b/lldb/source/Target/Target.cpp
@@ -1906,6 +1906,27 @@
return m_scratch_ast_context_ap.get();
}
+TypeSystem*
+Target::GetTypeSystemForLanguage (lldb::LanguageType language)
+{
+ switch (language)
+ {
+ case lldb::eLanguageTypeC:
+ case lldb::eLanguageTypeC11:
+ case lldb::eLanguageTypeC89:
+ case lldb::eLanguageTypeC99:
+ case lldb::eLanguageTypeC_plus_plus:
+ case lldb::eLanguageTypeC_plus_plus_03:
+ case lldb::eLanguageTypeC_plus_plus_11:
+ case lldb::eLanguageTypeC_plus_plus_14:
+ case lldb::eLanguageTypeObjC:
+ case lldb::eLanguageTypeObjC_plus_plus:
+ return GetScratchClangASTContext(true);
+ default:
+ return nullptr;
+ }
+}
+
ClangASTImporter *
Target::GetClangASTImporter()
{