patch 9.0.1334: using tt_member for the class leads to mistakes

Problem:    Using tt_member for the class leads to mistakes.
Solution:   Add a separate tt_class field.
diff --git a/src/globals.h b/src/globals.h
index 3c401a2..ea0c0b5 100644
--- a/src/globals.h
+++ b/src/globals.h
@@ -538,168 +538,168 @@
 #ifdef DO_INIT
 = {
     // 0: t_unknown
-    {VAR_UNKNOWN, 0, 0, TTFLAG_STATIC, NULL, NULL},
-    {VAR_UNKNOWN, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, NULL, NULL},
+    {VAR_UNKNOWN, 0, 0, TTFLAG_STATIC, NULL, NULL, NULL},
+    {VAR_UNKNOWN, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, NULL, NULL, NULL},
 
     // 2: t_any
-    {VAR_ANY, 0, 0, TTFLAG_STATIC, NULL, NULL},
-    {VAR_ANY, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, NULL, NULL},
+    {VAR_ANY, 0, 0, TTFLAG_STATIC, NULL, NULL, NULL},
+    {VAR_ANY, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, NULL, NULL, NULL},
 
     // 4: t_void
-    {VAR_VOID, 0, 0, TTFLAG_STATIC, NULL, NULL},
-    {VAR_VOID, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, NULL, NULL},
+    {VAR_VOID, 0, 0, TTFLAG_STATIC, NULL, NULL, NULL},
+    {VAR_VOID, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, NULL, NULL, NULL},
 
     // 6: t_bool
-    {VAR_BOOL, 0, 0, TTFLAG_STATIC, NULL, NULL},
-    {VAR_BOOL, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, NULL, NULL},
+    {VAR_BOOL, 0, 0, TTFLAG_STATIC, NULL, NULL, NULL},
+    {VAR_BOOL, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, NULL, NULL, NULL},
 
     // 8: t_null
-    {VAR_SPECIAL, 0, 0, TTFLAG_STATIC, NULL, NULL},
-    {VAR_SPECIAL, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, NULL, NULL},
+    {VAR_SPECIAL, 0, 0, TTFLAG_STATIC, NULL, NULL, NULL},
+    {VAR_SPECIAL, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, NULL, NULL, NULL},
 
     // 10: t_none
-    {VAR_SPECIAL, 0, 0, TTFLAG_STATIC, NULL, NULL},
-    {VAR_SPECIAL, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, NULL, NULL},
+    {VAR_SPECIAL, 0, 0, TTFLAG_STATIC, NULL, NULL, NULL},
+    {VAR_SPECIAL, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, NULL, NULL, NULL},
 
     // 12: t_number
-    {VAR_NUMBER, 0, 0, TTFLAG_STATIC, NULL, NULL},
-    {VAR_NUMBER, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, NULL, NULL},
+    {VAR_NUMBER, 0, 0, TTFLAG_STATIC, NULL, NULL, NULL},
+    {VAR_NUMBER, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, NULL, NULL, NULL},
 
     // 14: t_number_bool
-    {VAR_NUMBER, 0, 0, TTFLAG_STATIC|TTFLAG_BOOL_OK, NULL, NULL},
-    {VAR_NUMBER, 0, 0, TTFLAG_STATIC|TTFLAG_BOOL_OK|TTFLAG_CONST, NULL, NULL},
+    {VAR_NUMBER, 0, 0, TTFLAG_STATIC|TTFLAG_BOOL_OK, NULL, NULL, NULL},
+    {VAR_NUMBER, 0, 0, TTFLAG_STATIC|TTFLAG_BOOL_OK|TTFLAG_CONST, NULL, NULL, NULL},
 
     // 16: t_number_float
-    {VAR_NUMBER, 0, 0, TTFLAG_STATIC|TTFLAG_FLOAT_OK, NULL, NULL},
-    {VAR_NUMBER, 0, 0, TTFLAG_STATIC|TTFLAG_FLOAT_OK|TTFLAG_CONST, NULL, NULL},
+    {VAR_NUMBER, 0, 0, TTFLAG_STATIC|TTFLAG_FLOAT_OK, NULL, NULL, NULL},
+    {VAR_NUMBER, 0, 0, TTFLAG_STATIC|TTFLAG_FLOAT_OK|TTFLAG_CONST, NULL, NULL, NULL},
 
     // 18: t_float
-    {VAR_FLOAT, 0, 0, TTFLAG_STATIC, NULL, NULL},
-    {VAR_FLOAT, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, NULL, NULL},
+    {VAR_FLOAT, 0, 0, TTFLAG_STATIC, NULL, NULL, NULL},
+    {VAR_FLOAT, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, NULL, NULL, NULL},
 
     // 20: t_string
-    {VAR_STRING, 0, 0, TTFLAG_STATIC, NULL, NULL},
-    {VAR_STRING, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, NULL, NULL},
+    {VAR_STRING, 0, 0, TTFLAG_STATIC, NULL, NULL, NULL},
+    {VAR_STRING, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, NULL, NULL, NULL},
 
     // 22: t_blob
-    {VAR_BLOB, 0, 0, TTFLAG_STATIC, NULL, NULL},
-    {VAR_BLOB, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, NULL, NULL},
+    {VAR_BLOB, 0, 0, TTFLAG_STATIC, NULL, NULL, NULL},
+    {VAR_BLOB, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, NULL, NULL, NULL},
 
     // 24: t_blob_null
-    {VAR_BLOB, 0, 0, TTFLAG_STATIC, &t_void, NULL},
-    {VAR_BLOB, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_void, NULL},
+    {VAR_BLOB, 0, 0, TTFLAG_STATIC, &t_void, NULL, NULL},
+    {VAR_BLOB, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_void, NULL, NULL},
 
     // 26: t_job
-    {VAR_JOB, 0, 0, TTFLAG_STATIC, NULL, NULL},
-    {VAR_JOB, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, NULL, NULL},
+    {VAR_JOB, 0, 0, TTFLAG_STATIC, NULL, NULL, NULL},
+    {VAR_JOB, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, NULL, NULL, NULL},
 
     // 28: t_channel
-    {VAR_CHANNEL, 0, 0, TTFLAG_STATIC, NULL, NULL},
-    {VAR_CHANNEL, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, NULL, NULL},
+    {VAR_CHANNEL, 0, 0, TTFLAG_STATIC, NULL, NULL, NULL},
+    {VAR_CHANNEL, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, NULL, NULL, NULL},
 
     // 30: t_number_or_string
-    {VAR_STRING, 0, 0, TTFLAG_STATIC, NULL, NULL},
-    {VAR_STRING, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, NULL, NULL},
+    {VAR_STRING, 0, 0, TTFLAG_STATIC, NULL, NULL, NULL},
+    {VAR_STRING, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, NULL, NULL, NULL},
 
     // 32: t_func_unknown
-    {VAR_FUNC, -1, -1, TTFLAG_STATIC, &t_unknown, NULL},
-    {VAR_FUNC, -1, -1, TTFLAG_STATIC|TTFLAG_CONST, &t_unknown, NULL},
+    {VAR_FUNC, -1, -1, TTFLAG_STATIC, &t_unknown, NULL, NULL},
+    {VAR_FUNC, -1, -1, TTFLAG_STATIC|TTFLAG_CONST, &t_unknown, NULL, NULL},
 
     // 34: t_func_void
-    {VAR_FUNC, -1, 0, TTFLAG_STATIC, &t_void, NULL},
-    {VAR_FUNC, -1, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_void, NULL},
+    {VAR_FUNC, -1, 0, TTFLAG_STATIC, &t_void, NULL, NULL},
+    {VAR_FUNC, -1, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_void, NULL, NULL},
 
     // 36: t_func_any
-    {VAR_FUNC, -1, 0, TTFLAG_STATIC, &t_any, NULL},
-    {VAR_FUNC, -1, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_any, NULL},
+    {VAR_FUNC, -1, 0, TTFLAG_STATIC, &t_any, NULL, NULL},
+    {VAR_FUNC, -1, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_any, NULL, NULL},
 
     // 38: t_func_number
-    {VAR_FUNC, -1, 0, TTFLAG_STATIC, &t_number, NULL},
-    {VAR_FUNC, -1, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_number, NULL},
+    {VAR_FUNC, -1, 0, TTFLAG_STATIC, &t_number, NULL, NULL},
+    {VAR_FUNC, -1, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_number, NULL, NULL},
 
     // 40: t_func_string
-    {VAR_FUNC, -1, 0, TTFLAG_STATIC, &t_string, NULL},
-    {VAR_FUNC, -1, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_string, NULL},
+    {VAR_FUNC, -1, 0, TTFLAG_STATIC, &t_string, NULL, NULL},
+    {VAR_FUNC, -1, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_string, NULL, NULL},
 
     // 42: t_func_bool
-    {VAR_FUNC, -1, 0, TTFLAG_STATIC, &t_bool, NULL},
-    {VAR_FUNC, -1, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_bool, NULL},
+    {VAR_FUNC, -1, 0, TTFLAG_STATIC, &t_bool, NULL, NULL},
+    {VAR_FUNC, -1, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_bool, NULL, NULL},
 
     // 44: t_func_0_void
-    {VAR_FUNC, 0, 0, TTFLAG_STATIC, &t_void, NULL},
-    {VAR_FUNC, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_void, NULL},
+    {VAR_FUNC, 0, 0, TTFLAG_STATIC, &t_void, NULL, NULL},
+    {VAR_FUNC, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_void, NULL, NULL},
 
     // 46: t_func_0_any
-    {VAR_FUNC, 0, 0, TTFLAG_STATIC, &t_any, NULL},
-    {VAR_FUNC, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_any, NULL},
+    {VAR_FUNC, 0, 0, TTFLAG_STATIC, &t_any, NULL, NULL},
+    {VAR_FUNC, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_any, NULL, NULL},
 
     // 48: t_func_0_number
-    {VAR_FUNC, 0, 0, TTFLAG_STATIC, &t_number, NULL},
-    {VAR_FUNC, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_number, NULL},
+    {VAR_FUNC, 0, 0, TTFLAG_STATIC, &t_number, NULL, NULL},
+    {VAR_FUNC, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_number, NULL, NULL},
 
     // 50: t_func_0_string
-    {VAR_FUNC, 0, 0, TTFLAG_STATIC, &t_string, NULL},
-    {VAR_FUNC, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_string, NULL},
+    {VAR_FUNC, 0, 0, TTFLAG_STATIC, &t_string, NULL, NULL},
+    {VAR_FUNC, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_string, NULL, NULL},
 
     // 52: t_list_any
-    {VAR_LIST, 0, 0, TTFLAG_STATIC, &t_any, NULL},
-    {VAR_LIST, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_any, NULL},
+    {VAR_LIST, 0, 0, TTFLAG_STATIC, &t_any, NULL, NULL},
+    {VAR_LIST, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_any, NULL, NULL},
 
     // 54: t_dict_any
-    {VAR_DICT, 0, 0, TTFLAG_STATIC, &t_any, NULL},
-    {VAR_DICT, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_any, NULL},
+    {VAR_DICT, 0, 0, TTFLAG_STATIC, &t_any, NULL, NULL},
+    {VAR_DICT, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_any, NULL, NULL},
 
     // 56: t_list_empty
-    {VAR_LIST, 0, 0, TTFLAG_STATIC, &t_unknown, NULL},
-    {VAR_LIST, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_unknown, NULL},
+    {VAR_LIST, 0, 0, TTFLAG_STATIC, &t_unknown, NULL, NULL},
+    {VAR_LIST, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_unknown, NULL, NULL},
 
     // 58: t_dict_empty
-    {VAR_DICT, 0, 0, TTFLAG_STATIC, &t_unknown, NULL},
-    {VAR_DICT, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_unknown, NULL},
+    {VAR_DICT, 0, 0, TTFLAG_STATIC, &t_unknown, NULL, NULL},
+    {VAR_DICT, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_unknown, NULL, NULL},
 
     // 60: t_list_bool
-    {VAR_LIST, 0, 0, TTFLAG_STATIC, &t_bool, NULL},
-    {VAR_LIST, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_bool, NULL},
+    {VAR_LIST, 0, 0, TTFLAG_STATIC, &t_bool, NULL, NULL},
+    {VAR_LIST, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_bool, NULL, NULL},
 
     // 62: t_list_number
-    {VAR_LIST, 0, 0, TTFLAG_STATIC, &t_number, NULL},
-    {VAR_LIST, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_number, NULL},
+    {VAR_LIST, 0, 0, TTFLAG_STATIC, &t_number, NULL, NULL},
+    {VAR_LIST, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_number, NULL, NULL},
 
     // 64: t_list_string
-    {VAR_LIST, 0, 0, TTFLAG_STATIC, &t_string, NULL},
-    {VAR_LIST, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_string, NULL},
+    {VAR_LIST, 0, 0, TTFLAG_STATIC, &t_string, NULL, NULL},
+    {VAR_LIST, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_string, NULL, NULL},
 
     // 66: t_list_job
-    {VAR_LIST, 0, 0, TTFLAG_STATIC, &t_job, NULL},
-    {VAR_LIST, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_job, NULL},
+    {VAR_LIST, 0, 0, TTFLAG_STATIC, &t_job, NULL, NULL},
+    {VAR_LIST, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_job, NULL, NULL},
 
     // 68: t_list_dict_any
-    {VAR_LIST, 0, 0, TTFLAG_STATIC, &t_dict_any, NULL},
-    {VAR_LIST, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_dict_any, NULL},
+    {VAR_LIST, 0, 0, TTFLAG_STATIC, &t_dict_any, NULL, NULL},
+    {VAR_LIST, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_dict_any, NULL, NULL},
 
     // 70: t_list_list_any
-    {VAR_LIST, 0, 0, TTFLAG_STATIC, &t_list_any, NULL},
-    {VAR_LIST, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_list_any, NULL},
+    {VAR_LIST, 0, 0, TTFLAG_STATIC, &t_list_any, NULL, NULL},
+    {VAR_LIST, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_list_any, NULL, NULL},
 
     // 72: t_list_list_string
-    {VAR_LIST, 0, 0, TTFLAG_STATIC, &t_list_string, NULL},
-    {VAR_LIST, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_list_string, NULL},
+    {VAR_LIST, 0, 0, TTFLAG_STATIC, &t_list_string, NULL, NULL},
+    {VAR_LIST, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_list_string, NULL, NULL},
 
     // 74: t_dict_bool
-    {VAR_DICT, 0, 0, TTFLAG_STATIC, &t_bool, NULL},
-    {VAR_DICT, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_bool, NULL},
+    {VAR_DICT, 0, 0, TTFLAG_STATIC, &t_bool, NULL, NULL},
+    {VAR_DICT, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_bool, NULL, NULL},
 
     // 76: t_dict_number
-    {VAR_DICT, 0, 0, TTFLAG_STATIC, &t_number, NULL},
-    {VAR_DICT, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_number, NULL},
+    {VAR_DICT, 0, 0, TTFLAG_STATIC, &t_number, NULL, NULL},
+    {VAR_DICT, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_number, NULL, NULL},
 
     // 78: t_dict_string
-    {VAR_DICT, 0, 0, TTFLAG_STATIC, &t_string, NULL},
-    {VAR_DICT, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_string, NULL},
+    {VAR_DICT, 0, 0, TTFLAG_STATIC, &t_string, NULL, NULL},
+    {VAR_DICT, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_string, NULL, NULL},
 
     // 80: t_super (VAR_CLASS with tt_member set to &t_bool
-    {VAR_CLASS, 0, 0, TTFLAG_STATIC, &t_bool, NULL},
-    {VAR_CLASS, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_bool, NULL},
+    {VAR_CLASS, 0, 0, TTFLAG_STATIC, &t_bool, NULL, NULL},
+    {VAR_CLASS, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_bool, NULL, NULL},
 }
 #endif
 ;