]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 9.0.1870: Vim9: disassamble does not show static v9.0.1870
authorErnie Rael <errael@raelity.com>
Tue, 5 Sep 2023 05:38:09 +0000 (07:38 +0200)
committerChristian Brabandt <cb@256bit.org>
Tue, 5 Sep 2023 05:39:14 +0000 (07:39 +0200)
Problem:  Vim9: disassamble does not show static
Solution: Show static flag

Fix disassemble for instructions with optional static:
ISN_GET_OBJ_MEMBER and ISN_GET_ITF_MEMBER

closes: #13030

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Ernie Rael <errael@raelity.com>
src/version.c
src/vim9execute.c

index 0010dd5cf91b6633f7dc57406719b59e778dc103..7fb2653624b3509a08b9301f9d69095b540a4ad3 100644 (file)
@@ -699,6 +699,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1870,
 /**/
     1869,
 /**/
index c98370eefbbf21e9121affa4c5cd97bced42363c..4a1dd1ce20931166887d49719a5f7e9bfaa41351 100644 (file)
@@ -7156,12 +7156,17 @@ list_instructions(char *pfx, isn_T *instr, int instr_count, ufunc_T *ufunc)
            case ISN_MEMBER: smsg("%s%4d MEMBER", pfx, current); break;
            case ISN_STRINGMEMBER: smsg("%s%4d MEMBER %s", pfx, current,
                                                  iptr->isn_arg.string); break;
-           case ISN_GET_OBJ_MEMBER: smsg("%s%4d OBJ_MEMBER %d", pfx, current,
-                                            (int)iptr->isn_arg.number); break;
-           case ISN_GET_ITF_MEMBER: smsg("%s%4d ITF_MEMBER %d on %s",
+           case ISN_GET_OBJ_MEMBER: smsg("%s%4d OBJ_MEMBER %d%s", pfx, current,
+                            (int)iptr->isn_arg.classmember.cm_idx,
+                            iptr->isn_arg.classmember.cm_static
+                                                       ? " [STATIC]" : "");
+                                    break;
+           case ISN_GET_ITF_MEMBER: smsg("%s%4d ITF_MEMBER %d on %s%s",
                             pfx, current,
                             (int)iptr->isn_arg.classmember.cm_idx,
-                            iptr->isn_arg.classmember.cm_class->class_name);
+                            iptr->isn_arg.classmember.cm_class->class_name,
+                            iptr->isn_arg.classmember.cm_static
+                                                       ? " [STATIC]" : "");
                                     break;
            case ISN_STORE_THIS: smsg("%s%4d STORE_THIS %d", pfx, current,
                                             (int)iptr->isn_arg.number); break;