Lines Matching refs:struct_dict
60 # struct_dict['struct_basename'] = the base (non-typedef'd) name of the struct
71 struct_dict = {}
94 self.struct_dict = {}
110 return self.struct_dict
193 del self.struct_dict['tmp_struct']
196 self.struct_dict[base_type] = self.struct_dict['tmp_struct']
197 self.struct_dict.pop('tmp_struct', 0)
291 if not struct_type in self.struct_dict:
292 self.struct_dict[struct_type] = {}
300 self.struct_dict[struct_type][num] = {}
301 self.struct_dict[struct_type][num]['full_type'] = member_type
302 self.struct_dict[struct_type][num]['dyn_array'] = False
304 self.struct_dict[struct_type][num]['ptr'] = True
309 self.struct_dict[struct_type][num]['ptr'] = False
311 self.struct_dict[struct_type][num]['const'] = True
314 self.struct_dict[struct_type][num]['const'] = False
318 self.struct_dict[struct_type][num]['struct'] = True
320 self.struct_dict[struct_type][num]['struct'] = False
321 self.struct_dict[struct_type][num]['type'] = member_type
325 # self.struct_dict[struct_type][num]['array'] = False
326 # self.struct_dict[struct_type][num]['array_size'] = 0
327 # self.struct_dict[struct_type][num]['ptr'] = True
329 self.struct_dict[struct_type][num]['array'] = True
330 self.struct_dict[struct_type][num]['array_size'] = array_size.strip(']')
331 elif self._is_dynamic_array(self.struct_dict[struct_type][num]['full_type'], member_name):
333 self.struct_dict[struct_type][num]['array'] = True
334 self.struct_dict[struct_type][num]['dyn_array'] = True
335 self.struct_dict[struct_type][num]['array_size'] = self.last_struct_count_name
336 elif not 'array' in self.struct_dict[struct_type][num]:
337 self.struct_dict[struct_type][num]['array'] = False
338 self.struct_dict[struct_type][num]['array_size'] = 0
339 self.struct_dict[struct_type][num]['name'] = member_name
353 for struct_name in struct_dict:
355 for mem_num in sorted(struct_dict[struct_name]):
357 if struct_dict[struct_name][mem_num]['const']:
359 #if struct_dict[struct_name][mem_num]['struct']:
361 sys.stdout.write (struct_dict[struct_name][mem_num]['type'])
362 if struct_dict[struct_name][mem_num]['ptr']:
365 sys.stdout.write(struct_dict[struct_name][mem_num]['name'])
366 if struct_dict[struct_name][mem_num]['array']:
368 sys.stdout.write(struct_dict[struct_name][mem_num]['array_size'])
469 self.struct_dict = in_struct_dict
632 for s in sorted(self.struct_dict):
660 if struct_name not in self.struct_dict:
757 for s in sorted(self.struct_dict):
766 for s in sorted(self.struct_dict):
771 for m in sorted(self.struct_dict[s]):
772 if 'pNext' == self.struct_dict[s][m]['name'] or is_type(self.struct_dict[s][m]['type'], 'struct'):
773 stp_list.append(self.struct_dict[s][m])
836 for m in sorted(self.struct_dict[s]):
837 (p_out1, p_args1) = self._get_struct_print_formatted(self.struct_dict[s][m])
865 if struct_name not in self.struct_dict:
890 for s in sorted(self.struct_dict):
898 for s in sorted(self.struct_dict):
899 num_non_enum_elems = [(is_type(self.struct_dict[s][elem]['type'], 'enum') and not self.struct_dict[s][elem]['ptr']) for elem in self.struct_dict[s]].count(False)
902 for m in sorted(self.struct_dict[s]):
903 if 'pNext' == self.struct_dict[s][m]['name'] or is_type(self.struct_dict[s][m]['type'], 'struct') or self.struct_dict[s][m]['array']:
905 if 'ppActiveLayerNames' not in self.struct_dict[s][m]['name']:
906 stp_list.append(self.struct_dict[s][m])
976 #value_print = 'string_%s(%spStruct->%s)' % (self.struct_dict[s][m]['type'], deref, self.struct_dict[s][m]['name'])
1051 for m in sorted(self.struct_dict[s]):
1052 if not is_type(self.struct_dict[s][m]['type'], 'enum'):
1053 if is_type(self.struct_dict[s][m]['type'], 'struct') and not self.struct_dict[s][m]['ptr']:
1059 sh_funcs.append(' ss[%u] << "0x" << &pStruct->%s;' % (index, self.struct_dict[s][m]['name']))
1060 elif self.struct_dict[s][m]['array']:
1062 sh_funcs.append(' ss[%u] << "0x" << (void*)pStruct->%s;' % (index, self.struct_dict[s][m]['name']))
1063 elif 'bool' in self.struct_dict[s][m]['type'].lower():
1065 sh_funcs.append(' ss[%u].str(pStruct->%s ? "TRUE" : "FALSE");' % (index, self.struct_dict[s][m]['name']))
1066 elif 'uint8' in self.struct_dict[s][m]['type'].lower():
1068 sh_funcs.append(' ss[%u] << pStruct->%s;' % (index, self.struct_dict[s][m]['name']))
1069 elif 'void' in self.struct_dict[s][m]['type'].lower() and self.struct_dict[s][m]['ptr']:
1072 sh_funcs.append(' ss[%u] << "0x" << pStruct->%s;' % (index, self.struct_dict[s][m]['name']))
1075 elif 'char' in self.struct_dict[s][m]['type'].lower() and self.struct_dict[s][m]['ptr']:
1077 sh_funcs.append(' if (pStruct->%s != NULL) {' % self.struct_dict[s][m]['name'])
1078 sh_funcs.append(' ss[%u] << pStruct->%s;' % (index, self.struct_dict[s][m]['name']))
1083 if self.struct_dict[s][m]['ptr'] or \
1084 'Vk' in self.struct_dict[s][m]['full_type'] or \
1085 'PFN_vk' in self.struct_dict[s][m]['full_type']:
1087 sh_funcs.append(' ss[%u] << "0x" << pStruct->%s;' % (index, self.struct_dict[s][m]['name']))
1088 elif any (x in self.struct_dict[s][m]['name'].lower() for x in ("flag", "bit", "offset", "handle", "buffer", "object", "mask")) or \
1089 'ID' in self.struct_dict[s][m]['name']:
1091 sh_funcs.append(' ss[%u] << "0x" << pStruct->%s;' % (index, self.struct_dict[s][m]['name']))
1094 sh_funcs.append(' ss[%u] << pStruct->%s;' % (index, self.struct_dict[s][m]['name']))
1099 if self.struct_dict[s][m]['ptr']:
1101 sh_funcs.append(' if (pStruct->%s)' % (self.struct_dict[s][m]['name']))
1102 sh_funcs.append(' ss[%u] << "0x" << pStruct->%s << " (See individual array values below)";' % (index, self.struct_dict[s][m]['name']))
1109 value_print = 'string_%s(pStruct->%s)' % (self.struct_dict[s][m]['type'], self.struct_dict[s][m]['name'])
1110 struct_dict[s][m]['name'], value_print))
1164 if struct_name not in self.struct_dict:
1180 (p_out, p_arg) = self._get_struct_print_formatted(self.struct_dict[s][member], pre_var_name="&m_dummy_prefix", struct_var_name="m_struct", struct_ptr=False, print_array=True)
1184 if is_type(self.struct_dict[s][member]['type'], 'struct'): # print struct address for now
1185 struct_array.insert(0, self.struct_dict[s][member])
1186 elif self.struct_dict[s][member]['ptr']:
1188 if "void" in self.struct_dict[s][member]['type'] and "pNext" == self.struct_dict[s][member]['name']:
1189 struct_array.insert(0, self.struct_dict[s][member])
1204 for member in sorted(self.struct_dict[s]):
1209 if self.struct_dict[s][member]['array']:
1214 disp_def.append(' for (i = 0; i<%s; i++) {' % self.struct_dict[s][member]['array_size'])
1316 for s in sorted(self.struct_dict):
1324 for s in sorted(self.struct_dict):
1330 for m in sorted(self.struct_dict[s]):
1332 if is_type(self.struct_dict[s][m]['type'], 'enum') and not self.struct_dict[s][m]['ptr']:
1333 sh_funcs.append(' if (!validate_%s(pStruct->%s))\n return 0;' % (self.struct_dict[s][m]['type'], self.struct_dict[s][m]['name']))
1335 if is_type(self.struct_dict[s][m]['type'], 'struct'):
1336 if (self.struct_dict[s][m]['ptr']):
1337 sh_funcs.append(' if (pStruct->%s && !%s((const %s*)pStruct->%s))\n return 0;' % (self.struct_dict[s][m]['name'], self._get_vh_func_name(self.struct_dict[s][m]['type']), self.struct_dict[s][m]['type'], self.struct_dict[s][m]['name']))
1339 sh_funcs.append(' if (!%s((const %s*)&pStruct->%s))\n return 0;' % (self._get_vh_func_name(self.struct_dict[s][m]['type']), self.struct_dict[s][m]['type'], self.struct_dict[s][m]['name']))
1360 for s in sorted(self.struct_dict):
1373 for s in sorted(self.struct_dict):
1386 for m in sorted(self.struct_dict[s]):
1389 if self.struct_dict[s][m]['dyn_array']:
1390 if self.struct_dict[s][m]['full_type'].count('*') > 1:
1391 struct_dict[s][m]['type'], 'struct') and not 'char' in self.struct_dict[s][m]['type'].lower():
1392 if 'ppMemoryBarriers' == self.struct_dict[s][m]['name']:
1394 sh_funcs.append('%sstructSize += pStruct->%s*(sizeof(%s*) + sizeof(VkImageMemoryBarrier));' % (indent, self.struct_dict[s][m]['array_size'], self.struct_dict[s][m]['type']))
1396 sh_funcs.append('%sstructSize += pStruct->%s*(sizeof(%s*) + sizeof(%s));' % (indent, self.struct_dict[s][m]['array_size'], self.struct_dict[s][m]['type'], self.struct_dict[s][m]['type']))
1401 sh_funcs.append('%sfor (i = 0; i < pStruct->%s; i++) {' % (indent, self.struct_dict[s][m]['array_size']))
1403 if is_type(self.struct_dict[s][m]['type'], 'struct'):
1404 sh_funcs.append('%sstructSize += (sizeof(%s*) + %s(pStruct->%s[i]));' % (indent, self.struct_dict[s][m]['type'], self._get_size_helper_func_name(self.struct_dict[s][m]['type']), self.struct_dict[s][m]['name']))
1406 sh_funcs.append('%sstructSize += (sizeof(char*) + (sizeof(char) * (1 + strlen(pStruct->%s[i]))));' % (indent, self.struct_dict[s][m]['name']))
1410 if is_type(self.struct_dict[s][m]['type'], 'struct'):
1414 sh_funcs.append('%sfor (i = 0; i < pStruct->%s; i++) {' % (indent, self.struct_dict[s][m]['array_size']))
1416 sh_funcs.append('%sstructSize += %s(&pStruct->%s[i]);' % (indent, self._get_size_helper_func_name(self.struct_dict[s][m]['type']), self.struct_dict[s][m]['name']))
1420 sh_funcs.append('%sstructSize += pStruct->%s*sizeof(%s);' % (indent, self.struct_dict[s][m]['array_size'], self.struct_dict[s][m]['type']))
1421 elif self.struct_dict[s][m]['ptr'] and 'pNext' != self.struct_dict[s][m]['name']:
1422 if 'char' in self.struct_dict[s][m]['type'].lower():
1423 sh_funcs.append('%sstructSize += (pStruct->%s != NULL) ? sizeof(%s)*(1+strlen(pStruct->%s)) : 0;' % (indent, self.struct_dict[s][m]['name'], self.struct_dict[s][m]['type'], self.struct_dict[s][m]['name']))
1424 elif is_type(self.struct_dict[s][m]['type'], 'struct'):
1425 sh_funcs.append('%sstructSize += %s(pStruct->%s);' % (indent, self._get_size_helper_func_name(self.struct_dict[s][m]['type']), self.struct_dict[s][m]['name']))
1426 elif 'void' not in self.struct_dict[s][m]['type'].lower():
1427 if (self.struct_dict[s][m]['type'] != 'xcb_connection_t'):
1428 sh_funcs.append('%sstructSize += sizeof(%s);' % (indent, self.struct_dict[s][m]['type']))
1429 elif 'size_t' == self.struct_dict[s][m]['type'].lower():
1430 sh_funcs.append('%sstructSize += pStruct->%s;' % (indent, self.struct_dict[s][m]['name']))
1460 if struct_name not in self.struct_dict:
1537 for member in sorted(self.struct_dict[s]):
1539 if self.struct_dict[s][member]['array']:
1541 get_set.append(" %s get_%s() { return m_struct.%s; }\n" % (self.struct_dict[s][member]['full_type'], self.struct_dict[s][member]['name'], self.struct_dict[s][member]['name']))
1542 if not self.struct_dict[s][member]['const']:
1543 get_set.append(" void set_%s(%s inValue) { m_struct.%s = inValue; }\n" % (self.struct_dict[s][member]['name'], self.struct_dict[s][member]['full_type'], self.struct_dict[s][member]['name']))
1558 for s in sorted(self.struct_dict):
1580 if 'sType' == self.struct_dict[s][0]['name']:
1582 for m in self.struct_dict[s]:
1583 if self.struct_dict[s][m]['ptr']:
1602 for m in self.struct_dict[ty]:
1603 if self.struct_dict[ty][m]['type'] in obj:
1616 for m in sorted(self.struct_dict[s]):
1617 m_type = self.struct_dict[s][m]['type']
1620 if self.struct_dict[s][m]['array_size'] != 0 and not self.struct_dict[s][m]['dyn_array']:
1621 ss_decls.append(" %s %s[%s];" % (m_type, self.struct_dict[s][m]['name'], self.struct_dict[s][m]['array_size']))
1622 elif self.struct_dict[s][m]['ptr'] and 'safe_' not in m_type and not self._typeHasObject(m_type, vulkan.object_non_dispatch_list):#m_type in ['char', 'float', 'uint32_t', 'void', 'VkPhysicalDeviceFeatures']: # We'll never overwrite char* so it can remain const
1623 ss_decls.append(" %s %s;" % (self.struct_dict[s][m]['full_type'], self.struct_dict[s][m]['name']))
1624 elif self.struct_dict[s][m]['array']:
1625 ss_decls.append(" %s* %s;" % (m_type, self.struct_dict[s][m]['name']))
1626 elif self.struct_dict[s][m]['ptr']:
1627 ss_decls.append(" %s* %s;" % (m_type, self.struct_dict[s][m]['name']))
1629 ss_decls.append(" %s %s;" % (m_type, self.struct_dict[s][m]['name']))
1701 for m in self.struct_dict[s]:
1702 m_name = self.struct_dict[s][m]['name']
1703 m_type = self.struct_dict[s][m]['type']
1706 if self.struct_dict[s][m]['ptr'] and 'safe_' not in m_type and not self._typeHasObject(m_type, vulkan.object_non_dispatch_list):# in ['char', 'float', 'uint32_t', 'void', 'VkPhysicalDeviceFeatures']) or 'pp' == self.struct_dict[s][m]['name'][0:1]:
1717 if not self.struct_dict[s][m]['array']:
1725 construct_txt += ' %s = new %s[pInStruct->%s];\n' % (m_name, m_type, self.struct_dict[s][m]['array_size'])
1726 #construct_txt += ' std::copy (pInStruct->%s, pInStruct->%s+pInStruct->%s, %s);\n' % (m_name, m_name, self.struct_dict[s][m]['array_size'], m_name)
1727 construct_txt += ' memcpy ((void *)%s, (void *)pInStruct->%s, sizeof(%s)*pInStruct->%s);\n' % (m_name, m_name, m_type, self.struct_dict[s][m]['array_size'])
1731 elif self.struct_dict[s][m]['array']:
1732 if not self.struct_dict[s][m]['dyn_array']:
1734 construct_txt += ' for (uint32_t i=0; i<%s; ++i) {\n' % (self.struct_dict[s][m]['array_size'])
1743 if is_type(self.struct_dict[s][m]['type'], 'struct') and self._hasSafeStruct(self.struct_dict[s][m]['type']):
1744 array_element = '%s(&pInStruct->%s[i])' % (self._getSafeStructName(self.struct_dict[s][m]['type']), m_name)
1745 construct_txt += ' if (%s && pInStruct->%s) {\n' % (self.struct_dict[s][m]['array_size'], m_name)
1746 construct_txt += ' %s = new %s[%s];\n' % (m_name, m_type, self.struct_dict[s][m]['array_size'])
1749 construct_txt += ' for (uint32_t i=0; i<%s; ++i) {\n' % (self.struct_dict[s][m]['array_size'])
1756 elif self.struct_dict[s][m]['ptr']:
1881 def __init__(self, struct_dict, prefix, out_dir):
1882 self.struct_dict = struct_dict
1983 for s in sorted(self.struct_dict):
1991 for s in sorted(self.struct_dict):
1999 for m in sorted(self.struct_dict[s]):
2000 if 'pNext' == self.struct_dict[s][m]['name'] or is_type(self.struct_dict[s][m]['type'], 'struct'):
2001 stp_list.append(self.struct_dict[s][m])
2002 if 'pNext' == self.struct_dict[s][m]['name']:
2050 for m in sorted(self.struct_dict[s]):
2054 (p_out1, p_args1) = self._get_struct_gv_print_formatted(self.struct_dict[s][m], port_label=plabel)
2082 for m in sorted(self.struct_dict[s]):
2084 (p_out1, p_args1) = self._get_struct_gv_print_formatted(self.struct_dict[s][m], port_label=plabel)
2086 p_out1 = '%s<TD ROWSPAN=\\"%i\\" PORT=\\"slot%%u\\">%%u</TD></TR>' % (p_out1[:-5], len(self.struct_dict[s]))
2111 if struct_name not in self.struct_dict:
2164 global struct_dict
2170 struct_dict = hfp.get_struct_dict()
2177 #print(struct_dict)
2200 #for struct in struct_dict:
2203 sw = StructWrapperGen(struct_dict, os.path.basename(opts.input_file).strip(".h"), os.path.dirname(enum_sh_filename))
2227 st = StructWrapperGen(struct_dict, os.path.basename(opts.input_file).strip(".h"), os.path.dirname(enum_sh_filename))
2235 gv = GraphVizGen(struct_dict, os.path.basename(opts.input_file).strip(".h"), os.path.dirname(enum_sh_filename))