From 0b6003f3e6cb0ab883bdffe56d91accf05898a30 Mon Sep 17 00:00:00 2001 From: Enrico Granata Date: Thu, 17 Sep 2015 22:56:38 +0000 Subject: Make LanguageRuntime::GetDynamicTypeAndAddress return a ValueType For C++ and ObjC, dynamic values are always (at least somewhat) pointer-like in nature, so a ValueType of scalar is actually good enough that it could originally be hardcoded as the right choice Other languages, might have broader notions of things that are dynamic (e.g. a language where a value type can be dynamic). In those cases, it might actually be the case that a dynamic value is a pointer-to the data, or even a host address if dynamic expression results entirely in host space are being talked about This patch enables the language runtime to make that decision, and makes ValueObjectDynamicValue comply with it llvm-svn: 247957 --- .../RenderScript/RenderScriptRuntime/RenderScriptRuntime.cpp | 3 ++- .../RenderScript/RenderScriptRuntime/RenderScriptRuntime.h | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime') diff --git a/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.cpp b/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.cpp index 8146eaa03c6..9ea63919f3d 100644 --- a/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.cpp +++ b/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.cpp @@ -187,7 +187,8 @@ RenderScriptRuntime::IsVTableName(const char *name) bool RenderScriptRuntime::GetDynamicTypeAndAddress(ValueObject &in_value, lldb::DynamicValueType use_dynamic, - TypeAndOrName &class_type_or_name, Address &address) + TypeAndOrName &class_type_or_name, Address &address, + Value::ValueType &value_type) { return false; } diff --git a/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.h b/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.h index 7b9f6cf24ee..42b4fe1d9ba 100644 --- a/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.h +++ b/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.h @@ -182,7 +182,8 @@ class RenderScriptRuntime : public lldb_private::CPPLanguageRuntime virtual bool IsVTableName(const char *name); virtual bool GetDynamicTypeAndAddress(ValueObject &in_value, lldb::DynamicValueType use_dynamic, - TypeAndOrName &class_type_or_name, Address &address); + TypeAndOrName &class_type_or_name, Address &address, + Value::ValueType &value_type); virtual bool CouldHaveDynamicValue(ValueObject &in_value); -- cgit v1.2.3