Synthetic values are now automatically enabled and active by default. SBValue is set up to always wrap a synthetic value when one is available.
A new setting enable-synthetic-value is provided on the target to disable this behavior.
There also is a new GetNonSyntheticValue() API call on SBValue to go back from synthetic to non-synthetic. There is no call to go from non-synthetic to synthetic.
The test suite has been changed accordingly.
Fallout from changes to type searching: an hack has to be played to make it possible to use maps that contain std::string due to the special name replacement operated by clang
Fixing a test case that was using libstdcpp instead of libc++ - caught as a consequence of said changes to type searching
git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@153495 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/scripts/Python/interface/SBValue.i b/scripts/Python/interface/SBValue.i
index d61c7aa..2b66b50 100644
--- a/scripts/Python/interface/SBValue.i
+++ b/scripts/Python/interface/SBValue.i
@@ -127,6 +127,9 @@
lldb::SBValue
GetStaticValue ();
+ lldb::SBValue
+ GetNonSyntheticValue ();
+
bool
IsDynamic();
@@ -378,81 +381,78 @@
%pythoncode %{
__swig_getmethods__["name"] = GetName
- if _newclass: x = property(GetName, None)
+ if _newclass: name = property(GetName, None, doc='Returns the name of this SBValue as a string')
__swig_getmethods__["type"] = GetType
- if _newclass: x = property(GetType, None)
+ if _newclass: type = property(GetType, None, doc='Returns an SBType that represents the type of this SBValue')
__swig_getmethods__["size"] = GetByteSize
- if _newclass: x = property(GetByteSize, None)
-
- __swig_getmethods__["name"] = GetName
- if _newclass: x = property(GetName, None)
+ if _newclass: size = property(GetByteSize, None, doc='Returns the size (in bytes) of the data contained in this SBValue')
__swig_getmethods__["is_in_scope"] = IsInScope
- if _newclass: x = property(IsInScope, None)
+ if _newclass: is_in_scope = property(IsInScope, None, doc='Returns True if this SBValue represents an item that is currently in lexical scope')
__swig_getmethods__["format"] = GetFormat
__swig_setmethods__["format"] = SetFormat
- if _newclass: x = property(GetName, SetFormat)
+ if _newclass: format = property(GetName, SetFormat, doc='Returns the format for this SBValue')
__swig_getmethods__["value"] = GetValue
__swig_setmethods__["value"] = SetValueFromCString
- if _newclass: x = property(GetValue, SetValueFromCString)
+ if _newclass: value = property(GetValue, SetValueFromCString, doc='Returns the value of this SBValue as a string')
__swig_getmethods__["value_type"] = GetValueType
- if _newclass: x = property(GetValueType, None)
+ if _newclass: value_type = property(GetValueType, None, doc='Returns the type of entry stored in this SBValue')
__swig_getmethods__["changed"] = GetValueDidChange
- if _newclass: x = property(GetValueDidChange, None)
+ if _newclass: changed = property(GetValueDidChange, None, doc='Returns True if this SBValue represents an item that has changed')
__swig_getmethods__["data"] = GetData
- if _newclass: x = property(GetData, None)
+ if _newclass: data = property(GetData, None, doc='Returns an SBData wrapping the contents of this SBValue')
__swig_getmethods__["load_addr"] = GetLoadAddress
- if _newclass: x = property(GetLoadAddress, None)
+ if _newclass: load_addr = property(GetLoadAddress, None, doc='Returns the load address (target address) of this SBValue as a number')
__swig_getmethods__["addr"] = GetAddress
- if _newclass: x = property(GetAddress, None)
+ if _newclass: addr = property(GetAddress, None, doc='Returns the address of this SBValue as an SBAddress')
__swig_getmethods__["deref"] = Dereference
- if _newclass: x = property(Dereference, None)
+ if _newclass: deref = property(Dereference, None, doc='Returns an SBValue that is created by dereferencing this SBValue')
__swig_getmethods__["address_of"] = AddressOf
- if _newclass: x = property(AddressOf, None)
+ if _newclass: address_of = property(AddressOf, None, doc='Returns an SBValue that wraps the address-of this SBValue')
__swig_getmethods__["error"] = GetError
- if _newclass: x = property(GetError, None)
+ if _newclass: error = property(GetError, None, doc='Returns the SBError currently associated to this SBValue')
__swig_getmethods__["summary"] = GetSummary
- if _newclass: x = property(GetSummary, None)
+ if _newclass: summary = property(GetSummary, None, doc='Returns the summary for this SBValue as a string')
__swig_getmethods__["description"] = GetObjectDescription
- if _newclass: x = property(GetObjectDescription, None)
+ if _newclass: description = property(GetObjectDescription, None, doc='Returns the language-specific description of this SBValue as a string')
__swig_getmethods__["location"] = GetLocation
- if _newclass: x = property(GetLocation, None)
+ if _newclass: location = property(GetLocation, None, doc='Returns the location of this SBValue as a string')
__swig_getmethods__["target"] = GetTarget
- if _newclass: x = property(GetTarget, None)
+ if _newclass: target = property(GetTarget, None, doc='Returns an SBTarget for the target from which this SBValue comes')
__swig_getmethods__["process"] = GetProcess
- if _newclass: x = property(GetProcess, None)
+ if _newclass: process = property(GetProcess, None, doc='Returns an SBProcess for the process from which this SBValue comes')
__swig_getmethods__["thread"] = GetThread
- if _newclass: x = property(GetThread, None)
+ if _newclass: thread = property(GetThread, None, doc='Returns an SBThread for the thread from which this SBValue comes')
__swig_getmethods__["frame"] = GetFrame
- if _newclass: x = property(GetFrame, None)
+ if _newclass: frame = property(GetFrame, None, doc='Returns an SBFrame for the stack frame from which this SBValue comes')
__swig_getmethods__["num_children"] = GetNumChildren
- if _newclass: x = property(GetNumChildren, None)
+ if _newclass: num_children = property(GetNumChildren, None, doc='Returns the number of child SBValues that this SBValue has')
__swig_getmethods__["unsigned"] = GetValueAsUnsigned
- if _newclass: x = property(GetValueAsUnsigned, None)
+ if _newclass: unsigned = property(GetValueAsUnsigned, None, doc='Returns the value of this SBValue as an unsigned number')
__swig_getmethods__["signed"] = GetValueAsSigned
- if _newclass: x = property(GetValueAsSigned, None)
+ if _newclass: signed = property(GetValueAsSigned, None, doc='Returns the value of this SBValue as a signed number')
def get_expr_path(self):
s = SBStream()
@@ -460,7 +460,7 @@
return s.GetData()
__swig_getmethods__["path"] = get_expr_path
- if _newclass: x = property(get_expr_path, None)
+ if _newclass: path = property(get_expr_path, None, doc='Returns the expression path that one can use to reach this SBValue')
%}
};