1*06c3fb27SDimitry Andric%define STRING_EXTENSION_LEVEL_OUTSIDE(Class, Level) 2*06c3fb27SDimitry Andric%extend lldb:: ## Class ## { 3*06c3fb27SDimitry Andric std::string __repr__(){ 4130d950cSDimitry Andric lldb::SBStream stream; 5130d950cSDimitry Andric $self->GetDescription (stream, Level); 6130d950cSDimitry Andric const char *desc = stream.GetData(); 7130d950cSDimitry Andric size_t desc_len = stream.GetSize(); 8130d950cSDimitry Andric if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) { 9130d950cSDimitry Andric --desc_len; 10130d950cSDimitry Andric } 11130d950cSDimitry Andric return std::string(desc, desc_len); 12130d950cSDimitry Andric } 13130d950cSDimitry Andric} 14130d950cSDimitry Andric%enddef 15130d950cSDimitry Andric 16*06c3fb27SDimitry Andric%define STRING_EXTENSION_OUTSIDE(Class) 17*06c3fb27SDimitry Andric%extend lldb:: ## Class ## { 18*06c3fb27SDimitry Andric std::string __repr__(){ 19130d950cSDimitry Andric lldb::SBStream stream; 20130d950cSDimitry Andric $self->GetDescription (stream); 21130d950cSDimitry Andric const char *desc = stream.GetData(); 22130d950cSDimitry Andric size_t desc_len = stream.GetSize(); 23130d950cSDimitry Andric if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) { 24130d950cSDimitry Andric --desc_len; 25130d950cSDimitry Andric } 26130d950cSDimitry Andric return std::string(desc, desc_len); 27130d950cSDimitry Andric } 28130d950cSDimitry Andric} 29130d950cSDimitry Andric%enddef 30