summaryrefslogtreecommitdiff
path: root/lldb/include/lldb/Core/ValueObject.h
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/include/lldb/Core/ValueObject.h')
-rw-r--r--lldb/include/lldb/Core/ValueObject.h27
1 files changed, 15 insertions, 12 deletions
diff --git a/lldb/include/lldb/Core/ValueObject.h b/lldb/include/lldb/Core/ValueObject.h
index 1b000e617f0e..0080368fd996 100644
--- a/lldb/include/lldb/Core/ValueObject.h
+++ b/lldb/include/lldb/Core/ValueObject.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef liblldb_ValueObject_h_
-#define liblldb_ValueObject_h_
+#ifndef LLDB_CORE_VALUEOBJECT_H
+#define LLDB_CORE_VALUEOBJECT_H
#include "lldb/Core/Value.h"
#include "lldb/Symbol/CompilerType.h"
@@ -396,10 +396,8 @@ public:
bool IsIntegerType(bool &is_signed);
- virtual bool GetBaseClassPath(Stream &s);
-
virtual void GetExpressionPath(
- Stream &s, bool qualify_cxx_base_classes,
+ Stream &s,
GetExpressionPathFormat = eGetExpressionPathFormatDereferencePointers);
lldb::ValueObjectSP GetValueForExpressionPath(
@@ -577,7 +575,7 @@ public:
virtual lldb::ValueObjectSP GetNonSyntheticValue();
- lldb::ValueObjectSP GetSyntheticValue(bool use_synthetic = true);
+ lldb::ValueObjectSP GetSyntheticValue();
virtual bool HasSyntheticValue();
@@ -889,7 +887,6 @@ protected:
m_is_synthetic_children_generated : 1;
friend class ValueObjectChild;
- friend class ClangExpressionDeclMap; // For GetValue
friend class ExpressionVariable; // For SetName
friend class Target; // For SetName
friend class ValueObjectConstResultImpl;
@@ -905,7 +902,7 @@ protected:
// Use this constructor to create a "root variable object". The ValueObject
// will be locked to this context through-out its lifespan.
- ValueObject(ExecutionContextScope *exe_scope,
+ ValueObject(ExecutionContextScope *exe_scope, ValueObjectManager &manager,
AddressType child_ptr_or_ref_addr_type = eAddressTypeLoad);
// Use this constructor to create a ValueObject owned by another ValueObject.
@@ -929,7 +926,7 @@ protected:
virtual bool HasDynamicValueTypeInfo() { return false; }
- virtual void CalculateSyntheticValue(bool use_synthetic = true);
+ virtual void CalculateSyntheticValue();
// Should only be called by ValueObject::GetChildAtIndex() Returns a
// ValueObject managed by this ValueObject's manager.
@@ -966,9 +963,14 @@ protected:
void SetPreferredDisplayLanguageIfNeeded(lldb::LanguageType);
+protected:
+ virtual void DoUpdateChildrenAddressType(ValueObject &valobj) { return; };
+
private:
virtual CompilerType MaybeCalculateCompleteType();
- void UpdateChildrenAddressType();
+ void UpdateChildrenAddressType() {
+ GetRoot()->DoUpdateChildrenAddressType(*this);
+ }
lldb::ValueObjectSP GetValueForExpressionPath_Impl(
llvm::StringRef expression_cstr,
@@ -977,7 +979,8 @@ private:
const GetValueForExpressionPathOptions &options,
ExpressionPathAftermath *final_task_on_target);
- DISALLOW_COPY_AND_ASSIGN(ValueObject);
+ ValueObject(const ValueObject &) = delete;
+ const ValueObject &operator=(const ValueObject &) = delete;
};
// A value object manager class that is seeded with the static variable value
@@ -1023,4 +1026,4 @@ public:
} // namespace lldb_private
-#endif // liblldb_ValueObject_h_
+#endif // LLDB_CORE_VALUEOBJECT_H