summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/LanguageRuntime
diff options
context:
space:
mode:
authorEnrico Granata <egranata@apple.com>2016-05-05 21:10:28 +0000
committerEnrico Granata <egranata@apple.com>2016-05-05 21:10:28 +0000
commit5f57b6ee0fcd7a26631f4f185b6e848e34fd551d (patch)
tree5099f9149af6f98e19996994fa7cf661b197aa28 /lldb/source/Plugins/LanguageRuntime
parent5239779465ebbfe9306b31a0732803e37f32f5a8 (diff)
downloadbcm5719-llvm-5f57b6ee0fcd7a26631f4f185b6e848e34fd551d.tar.gz
bcm5719-llvm-5f57b6ee0fcd7a26631f4f185b6e848e34fd551d.zip
Revert r268591
"Allow LanguageRuntimes to return an error if they fail in the course of dynamic type discovery This is not meant to report that a value doesn't have a dynamic type - it is only meant as a mechanism to propagate actual type discovery issues (e.g. malformed type metadata for languages that have such a notion) This information is used by ValueObjectDynamic to set its own m_error, which is a fairly sharp and heavyweight tool to begin with For the time being, this is an architectural improvement but a practical no-op as no existing runtimes are actually setting errors" I need to think about what I want to do in this space more carefully - this attempt might be too heavy of a hammer for the nail I am trying to fix, and I don't want to leave it in while I ponder llvm-svn: 268686
Diffstat (limited to 'lldb/source/Plugins/LanguageRuntime')
-rw-r--r--lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp4
-rw-r--r--lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.h3
-rw-r--r--lldb/source/Plugins/LanguageRuntime/Go/GoLanguageRuntime.cpp10
-rw-r--r--lldb/source/Plugins/LanguageRuntime/Go/GoLanguageRuntime.h9
-rw-r--r--lldb/source/Plugins/LanguageRuntime/Java/JavaLanguageRuntime.cpp10
-rw-r--r--lldb/source/Plugins/LanguageRuntime/Java/JavaLanguageRuntime.h9
-rw-r--r--lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.cpp4
-rw-r--r--lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.h3
-rw-r--r--lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.cpp4
-rw-r--r--lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.h3
-rw-r--r--lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp4
-rw-r--r--lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.h3
-rw-r--r--lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.cpp10
-rw-r--r--lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.h9
14 files changed, 26 insertions, 59 deletions
diff --git a/lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp b/lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp
index 84cbc11a5f0..ab5cbac2dde 100644
--- a/lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp
+++ b/lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp
@@ -53,8 +53,7 @@ ItaniumABILanguageRuntime::GetDynamicTypeAndAddress (ValueObject &in_value,
lldb::DynamicValueType use_dynamic,
TypeAndOrName &class_type_or_name,
Address &dynamic_address,
- Value::ValueType &value_type,
- Error &error)
+ Value::ValueType &value_type)
{
// For Itanium, if the type has a vtable pointer in the object, it will be at offset 0
// in the object. That will point to the "address point" within the vtable (not the beginning of the
@@ -64,7 +63,6 @@ ItaniumABILanguageRuntime::GetDynamicTypeAndAddress (ValueObject &in_value,
// start of the value object which holds the dynamic type.
//
- error.Clear();
class_type_or_name.Clear();
value_type = Value::ValueType::eValueTypeScalar;
diff --git a/lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.h b/lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.h
index d12752748b9..c06b9863a9b 100644
--- a/lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.h
+++ b/lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.h
@@ -53,8 +53,7 @@ namespace lldb_private {
lldb::DynamicValueType use_dynamic,
TypeAndOrName &class_type_or_name,
Address &address,
- Value::ValueType &value_type,
- Error &error) override;
+ Value::ValueType &value_type) override;
TypeAndOrName
FixUpDynamicType(const TypeAndOrName& type_and_or_name,
diff --git a/lldb/source/Plugins/LanguageRuntime/Go/GoLanguageRuntime.cpp b/lldb/source/Plugins/LanguageRuntime/Go/GoLanguageRuntime.cpp
index 594b5cdeea7..c752971e7a0 100644
--- a/lldb/source/Plugins/LanguageRuntime/Go/GoLanguageRuntime.cpp
+++ b/lldb/source/Plugins/LanguageRuntime/Go/GoLanguageRuntime.cpp
@@ -140,15 +140,11 @@ GoLanguageRuntime::CouldHaveDynamicValue (ValueObject &in_value)
}
bool
-GoLanguageRuntime::GetDynamicTypeAndAddress(ValueObject &in_value,
- lldb::DynamicValueType use_dynamic,
- TypeAndOrName &class_type_or_name,
- Address &dynamic_address,
- Value::ValueType &value_type,
- Error &error)
+GoLanguageRuntime::GetDynamicTypeAndAddress(ValueObject &in_value, lldb::DynamicValueType use_dynamic,
+ TypeAndOrName &class_type_or_name, Address &dynamic_address,
+ Value::ValueType &value_type)
{
value_type = Value::eValueTypeScalar;
- error.Clear();
class_type_or_name.Clear();
if (CouldHaveDynamicValue (in_value))
{
diff --git a/lldb/source/Plugins/LanguageRuntime/Go/GoLanguageRuntime.h b/lldb/source/Plugins/LanguageRuntime/Go/GoLanguageRuntime.h
index 6981d4a8c59..596d2888dc8 100644
--- a/lldb/source/Plugins/LanguageRuntime/Go/GoLanguageRuntime.h
+++ b/lldb/source/Plugins/LanguageRuntime/Go/GoLanguageRuntime.h
@@ -61,12 +61,9 @@ namespace lldb_private {
return false;
}
- bool GetDynamicTypeAndAddress(ValueObject &in_value,
- lldb::DynamicValueType use_dynamic,
- TypeAndOrName &class_type_or_name,
- Address &address,
- Value::ValueType &value_type,
- Error &error) override;
+ bool GetDynamicTypeAndAddress(ValueObject &in_value, lldb::DynamicValueType use_dynamic,
+ TypeAndOrName &class_type_or_name, Address &address,
+ Value::ValueType &value_type) override;
bool CouldHaveDynamicValue(ValueObject &in_value) override;
diff --git a/lldb/source/Plugins/LanguageRuntime/Java/JavaLanguageRuntime.cpp b/lldb/source/Plugins/LanguageRuntime/Java/JavaLanguageRuntime.cpp
index 1ff5a4dbbe5..07312a8af0d 100644
--- a/lldb/source/Plugins/LanguageRuntime/Java/JavaLanguageRuntime.cpp
+++ b/lldb/source/Plugins/LanguageRuntime/Java/JavaLanguageRuntime.cpp
@@ -105,14 +105,10 @@ GetDynamicTypeId(ExecutionContext *exe_ctx, Target *target, ValueObject &in_valu
}
bool
-JavaLanguageRuntime::GetDynamicTypeAndAddress(ValueObject &in_value,
- lldb::DynamicValueType use_dynamic,
- TypeAndOrName &class_type_or_name,
- Address &dynamic_address,
- Value::ValueType &value_type,
- Error &error)
+JavaLanguageRuntime::GetDynamicTypeAndAddress(ValueObject &in_value, lldb::DynamicValueType use_dynamic,
+ TypeAndOrName &class_type_or_name, Address &dynamic_address,
+ Value::ValueType &value_type)
{
- error.Clear();
class_type_or_name.Clear();
// null references don't have a dynamic type
diff --git a/lldb/source/Plugins/LanguageRuntime/Java/JavaLanguageRuntime.h b/lldb/source/Plugins/LanguageRuntime/Java/JavaLanguageRuntime.h
index e90ba37d2bb..83ed35dbb59 100644
--- a/lldb/source/Plugins/LanguageRuntime/Java/JavaLanguageRuntime.h
+++ b/lldb/source/Plugins/LanguageRuntime/Java/JavaLanguageRuntime.h
@@ -74,12 +74,9 @@ public:
CouldHaveDynamicValue(ValueObject &in_value) override;
bool
- GetDynamicTypeAndAddress(ValueObject &in_value,
- lldb::DynamicValueType use_dynamic,
- TypeAndOrName &class_type_or_name,
- Address &address,
- Value::ValueType &value_type,
- Error &error) override;
+ GetDynamicTypeAndAddress(ValueObject &in_value, lldb::DynamicValueType use_dynamic,
+ TypeAndOrName &class_type_or_name, Address &address,
+ Value::ValueType &value_type) override;
protected:
JavaLanguageRuntime(Process *process);
diff --git a/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.cpp b/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.cpp
index de2345e8a43..9430e38f694 100644
--- a/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.cpp
+++ b/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.cpp
@@ -270,10 +270,8 @@ AppleObjCRuntime::GetDynamicTypeAndAddress (ValueObject &in_value,
lldb::DynamicValueType use_dynamic,
TypeAndOrName &class_type_or_name,
Address &address,
- Value::ValueType &value_type,
- Error &error)
+ Value::ValueType &value_type)
{
- error.Clear();
return false;
}
diff --git a/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.h b/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.h
index 46001552c8a..342824e79b1 100644
--- a/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.h
+++ b/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.h
@@ -63,8 +63,7 @@ public:
lldb::DynamicValueType use_dynamic,
TypeAndOrName &class_type_or_name,
Address &address,
- Value::ValueType &value_type,
- Error &error) override;
+ Value::ValueType &value_type) override;
TypeAndOrName
FixUpDynamicType (const TypeAndOrName& type_and_or_name,
diff --git a/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.cpp b/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.cpp
index ef8679eae3c..805fca7a31b 100644
--- a/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.cpp
+++ b/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.cpp
@@ -50,10 +50,8 @@ AppleObjCRuntimeV1::GetDynamicTypeAndAddress (ValueObject &in_value,
lldb::DynamicValueType use_dynamic,
TypeAndOrName &class_type_or_name,
Address &address,
- Value::ValueType &value_type,
- Error &error)
+ Value::ValueType &value_type)
{
- error.Clear();
class_type_or_name.Clear();
value_type = Value::ValueType::eValueTypeScalar;
if (CouldHaveDynamicValue(in_value))
diff --git a/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.h b/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.h
index 18b9f6ae875..9f9fcc69b68 100644
--- a/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.h
+++ b/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.h
@@ -125,8 +125,7 @@ public:
lldb::DynamicValueType use_dynamic,
TypeAndOrName &class_type_or_name,
Address &address,
- Value::ValueType &value_type,
- Error &error) override;
+ Value::ValueType &value_type) override;
UtilityFunction *
CreateObjectChecker(const char *) override;
diff --git a/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp b/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
index 96924828257..091c157142c 100644
--- a/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
+++ b/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
@@ -407,8 +407,7 @@ AppleObjCRuntimeV2::GetDynamicTypeAndAddress (ValueObject &in_value,
DynamicValueType use_dynamic,
TypeAndOrName &class_type_or_name,
Address &address,
- Value::ValueType &value_type,
- Error &error)
+ Value::ValueType &value_type)
{
// We should never get here with a null process...
assert (m_process != NULL);
@@ -423,7 +422,6 @@ AppleObjCRuntimeV2::GetDynamicTypeAndAddress (ValueObject &in_value,
else
assert (in_value.GetTargetSP().get() == m_process->CalculateTarget().get());
- error.Clear();
class_type_or_name.Clear();
value_type = Value::ValueType::eValueTypeScalar;
diff --git a/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.h b/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.h
index 181cf4ea040..8b4ca8f4e9b 100644
--- a/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.h
+++ b/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.h
@@ -63,8 +63,7 @@ public:
lldb::DynamicValueType use_dynamic,
TypeAndOrName &class_type_or_name,
Address &address,
- Value::ValueType &value_type,
- Error &error) override;
+ Value::ValueType &value_type) override;
UtilityFunction *
CreateObjectChecker(const char *) override;
diff --git a/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.cpp b/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.cpp
index 448655f258a..8d1dfdcf4f7 100644
--- a/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.cpp
+++ b/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.cpp
@@ -906,14 +906,10 @@ RenderScriptRuntime::IsVTableName(const char *name)
}
bool
-RenderScriptRuntime::GetDynamicTypeAndAddress(ValueObject &in_value,
- lldb::DynamicValueType use_dynamic,
- TypeAndOrName &class_type_or_name,
- Address &address,
- Value::ValueType &value_type,
- Error &error)
+RenderScriptRuntime::GetDynamicTypeAndAddress(ValueObject &in_value, lldb::DynamicValueType use_dynamic,
+ TypeAndOrName &class_type_or_name, Address &address,
+ Value::ValueType &value_type)
{
- error.Clear();
return false;
}
diff --git a/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.h b/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.h
index 7747a3770ce..2a0839a1a78 100644
--- a/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.h
+++ b/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.h
@@ -178,12 +178,9 @@ public:
IsVTableName(const char *name) override;
bool
- GetDynamicTypeAndAddress(ValueObject &in_value,
- lldb::DynamicValueType use_dynamic,
- TypeAndOrName &class_type_or_name,
- Address &address,
- Value::ValueType &value_type,
- Error &error) override;
+ GetDynamicTypeAndAddress(ValueObject &in_value, lldb::DynamicValueType use_dynamic,
+ TypeAndOrName &class_type_or_name, Address &address,
+ Value::ValueType &value_type) override;
TypeAndOrName
FixUpDynamicType(const TypeAndOrName &type_and_or_name, ValueObject &static_value) override;
OpenPOWER on IntegriCloud