[前][次][番号順一覧][スレッド一覧]

ruby-changes:68167

From: Nobuyoshi <ko1@a...>
Date: Tue, 28 Sep 2021 20:18:22 +0900 (JST)
Subject: [ruby-changes:68167] 545e01645f (master): lldb: Show encoding of String [ci skip]

https://git.ruby-lang.org/ruby.git/commit/?id=545e01645f

From 545e01645f7350c255f79b90f184a1317d3d55fb Mon Sep 17 00:00:00 2001
From: Nobuyoshi Nakada <nobu@r...>
Date: Tue, 28 Sep 2021 19:55:07 +0900
Subject: lldb: Show encoding of String [ci skip]

---
 common.mk          | 1 +
 debug.c            | 2 ++
 misc/lldb_cruby.py | 2 ++
 3 files changed, 5 insertions(+)

diff --git a/common.mk b/common.mk
index ddc34dd94f..3940280ca8 100644
--- a/common.mk
+++ b/common.mk
@@ -3457,6 +3457,7 @@ debug.$(OBJEXT): {$(VPATH)}config.h https://github.com/ruby/ruby/blob/trunk/common.mk#L3457
 debug.$(OBJEXT): {$(VPATH)}debug.c
 debug.$(OBJEXT): {$(VPATH)}debug_counter.h
 debug.$(OBJEXT): {$(VPATH)}defines.h
+debug.$(OBJEXT): {$(VPATH)}encindex.h
 debug.$(OBJEXT): {$(VPATH)}encoding.h
 debug.$(OBJEXT): {$(VPATH)}eval_intern.h
 debug.$(OBJEXT): {$(VPATH)}gc.h
diff --git a/debug.c b/debug.c
index 3b4f1cbb12..52bd0f7fb7 100644
--- a/debug.c
+++ b/debug.c
@@ -14,6 +14,7 @@ https://github.com/ruby/ruby/blob/trunk/debug.c#L14
 #include <stdio.h>
 
 #include "eval_intern.h"
+#include "encindex.h"
 #include "id.h"
 #include "internal/signal.h"
 #include "ruby/encoding.h"
@@ -50,6 +51,7 @@ const union { https://github.com/ruby/ruby/blob/trunk/debug.c#L51
     enum ruby_coderange_type    enc_coderange_types;
     enum ruby_econv_flag_type   econv_flag_types;
     rb_econv_result_t           econv_result;
+    enum ruby_preserved_encindex encoding_index;
     enum ruby_robject_flags     robject_flags;
     enum ruby_robject_consts    robject_consts;
     enum ruby_rmodule_flags     rmodule_flags;
diff --git a/misc/lldb_cruby.py b/misc/lldb_cruby.py
index 8461eea8b3..c7a25984ae 100755
--- a/misc/lldb_cruby.py
+++ b/misc/lldb_cruby.py
@@ -287,6 +287,8 @@ def lldb_inspect(debugger, target, result, val): https://github.com/ruby/ruby/blob/trunk/misc/lldb_cruby.py#L287
             append_command_output(debugger, "print *(struct RClass*)%0#x" % val.GetValueAsUnsigned(), result)
         elif flType == RUBY_T_STRING:
             result.write('T_STRING: %s' % flaginfo)
+            encidx = ((flags & RUBY_ENCODING_MASK)>>RUBY_ENCODING_SHIFT)
+            result.write('[%s] ' % target.FindFirstType("enum ruby_preserved_encindex").GetEnumMembers().GetTypeEnumMemberAtIndex(encidx).GetName()[14:])
             tRString = target.FindFirstType("struct RString").GetPointerType()
             ptr, len = string2cstr(val.Cast(tRString))
             if len == 0:
-- 
cgit v1.2.1


--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]