summaryrefslogtreecommitdiffstats
path: root/lldb/scripts/macros.swig
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/scripts/macros.swig')
-rw-r--r--lldb/scripts/macros.swig33
1 files changed, 33 insertions, 0 deletions
diff --git a/lldb/scripts/macros.swig b/lldb/scripts/macros.swig
new file mode 100644
index 00000000000..e0756c2f179
--- /dev/null
+++ b/lldb/scripts/macros.swig
@@ -0,0 +1,33 @@
+%define STRING_EXTENSION_LEVEL(Class, Level)
+%extend {
+ %nothreadallow;
+ std::string lldb:: ## Class ## ::__str__(){
+ lldb::SBStream stream;
+ $self->GetDescription (stream, Level);
+ const char *desc = stream.GetData();
+ size_t desc_len = stream.GetSize();
+ if (desc_len > 0 && (desc[desc_len-1] == 'n' || desc[desc_len-1] == 'r')) {
+ --desc_len;
+ }
+ return std::string(desc, desc_len);
+ }
+ %clearnothreadallow;
+}
+%enddef
+
+%define STRING_EXTENSION(Class)
+%extend {
+ %nothreadallow;
+ std::string lldb:: ## Class ## ::__str__(){
+ lldb::SBStream stream;
+ $self->GetDescription (stream);
+ const char *desc = stream.GetData();
+ size_t desc_len = stream.GetSize();
+ if (desc_len > 0 && (desc[desc_len-1] == 'n' || desc[desc_len-1] == 'r')) {
+ --desc_len;
+ }
+ return std::string(desc, desc_len);
+ }
+ %clearnothreadallow;
+}
+%enddef
OpenPOWER on IntegriCloud