This patch adds the ability to pass native types from the script
interpreter to methods that use a {SB,}StructuredData argument.
To do so, this patch changes the `ScriptedObject` struture that holds
the pointer to the script object as well as the originating script
interpreter language. It also exposes that to the SB API via a new class
called `SBScriptObject`.
This structure allows the debugger to parse the script object and
convert it to a StructuredData object. If the type is not compatible
with the StructuredData types, we will store its pointer in a
`StructuredData::Generic` object.
This patch also adds some SWIG typemaps that checks the input argument to
ensure it's either an SBStructuredData object, in which case it just
passes it throught, or a python object that is NOT another SB type, to
provide some guardrails for the user.
rdar://111467140
Differential Revision: https://reviews.llvm.org/D155161
Signed-off-by: Med Ismail Bennani <ismail@bennani.ma>
9 lines
349 B
OpenEdge ABL
9 lines
349 B
OpenEdge ABL
%extend lldb::SBScriptObject {
|
|
#ifdef SWIGPYTHON
|
|
%pythoncode %{
|
|
ptr = property(GetPointer, None, doc='''A read only property that returns the underlying script object.''')
|
|
lang = property(GetLanguage, None, doc='''A read only property that returns the script language associated with with this script object.''')
|
|
%}
|
|
#endif
|
|
}
|