def print_side_by_size(diff): added = diff.added removed = diff.removed n = max(len(added), len(removed)) rows = [["", "added", "", "removed"]] for i in range(n): s1 = "" n1 = "" if i < len(added): sym = added[i] s1 = str(sym.size) n1 = sym.full_name() s2 = "" n2 = "" if i < len(removed): sym = removed[i] s2 = str(sym.size) n2 = sym.full_name() rows.append([s1, n1, s2, n2]) rows = util.fmt_rows( rows, [util.FMT_LEFT, util.FMT_RIGHT, util.FMT_LEFT, util.FMT_RIGHT]) lines = [" %s : %s | %s : %s" % (e1, e2, e3, e4) for (e1, e2, e3, e4) in rows] s = "\n".join(lines) print(s)
def print_side_by_size(diff): added = diff.added removed = diff.removed n = max(len(added), len(removed)) rows = [["", "added", "", "removed"]] for i in range(n): s1 = "" n1 = "" if i < len(added): sym = added[i] s1 = str(sym.size) n1 = sym.full_name() s2 = "" n2 = "" if i < len(removed): sym = removed[i] s2 = str(sym.size) n2 = sym.full_name() rows.append([s1, n1, s2, n2]) rows = util.fmt_rows( rows, [util.FMT_LEFT, util.FMT_RIGHT, util.FMT_LEFT, util.FMT_RIGHT]) lines = [ " %s : %s | %s : %s" % (e1, e2, e3, e4) for (e1, e2, e3, e4) in rows ] s = "\n".join(lines) print(s)
def gen_struct_def(stru_cls): name = stru_cls.__name__ lines = ["struct %s {" % name] rows = [[field.c_type(), field.name] for field in stru_cls.fields] lines += [" %s %s;" % (e1, e2) for (e1, e2) in util.fmt_rows(rows, [util.FMT_RIGHT])] lines += ["};\n"] return "\n".join(lines)
def gen_struct_def(stru_cls): name = stru_cls.__name__ lines = ["struct %s {" % name] rows = [[field.c_type(), field.name] for field in stru_cls.fields] if g_with_reflection: rows = [["const StructMetadata *", "def"]] + rows lines += [" %s %s;" % (e1, e2) for (e1, e2) in util.fmt_rows(rows, [util.FMT_RIGHT])] lines += ["};\n"] return "\n".join(lines)
def gen_struct_def(stru_cls): name = stru_cls.__name__ lines = ["struct %s {" % name] rows = [[field.c_type(), field.name] for field in stru_cls.fields] lines += [ " %s %s;" % (e1, e2) for (e1, e2) in util.fmt_rows(rows, [util.FMT_RIGHT]) ] lines += ["};\n"] return "\n".join(lines)
def gen_struct_fields_txt(stru_cls): struct_name = stru_cls.__name__ lines = ["const FieldMetadata g%sFieldMetadata[] = {" % struct_name] rows = [] for field in stru_cls.fields: assert isinstance(field, Field) typ_enum = field.get_typ_enum() offset = "of(%s, %s)" % (struct_name, field.name) stru_cls.field_names.add(name2name(field.name)) val = field_def_val_for_FieldMetada(field) col = [offset + ",", typ_enum + ",", val] rows.append(col) rows = util.fmt_rows(rows, [util.FMT_RIGHT, util.FMT_RIGHT, util.FMT_RIGHT]) lines += [" { %s %s %s }," % (e1, e2, e3) for (e1, e2, e3) in rows] lines += ["};\n"] return lines
def gen_struct_fields_bin(stru_cls): struct_name = stru_cls.__name__ lines = ["const FieldMetadata g%sFieldMetadata[] = {" % struct_name] rows = [] for field in stru_cls.fields: assert isinstance(field, Field) typ_enum = field.get_typ_enum(for_bin=True) offset = "of(%s, %s)" % (struct_name, field.name) val = "NULL" if field.is_struct() or field.is_array(): val = "&g%sMetadata" % field.typ.name() col = [offset + ",", typ_enum + ",", val] rows.append(col) rows = util.fmt_rows(rows, [util.FMT_RIGHT, util.FMT_RIGHT, util.FMT_RIGHT]) lines += [" { %s %s %s }," % (e1, e2, e3) for (e1, e2, e3) in rows] lines += ["};\n"] return lines
def gen_struct_fields_txt(stru_cls, field_names): struct_name = stru_cls.__name__ lines = ["FieldMetadata g%sFieldMetadata[] = {" % struct_name] rows = [] for field in stru_cls.fields: assert isinstance(field, Field) typ_enum = field.get_typ_enum() name_off = field_names.get_offset(name2name(field.name)) offset = "of(%s, %s)" % (struct_name, field.name) val = "NULL" if field.is_struct() or field.is_array(): val = "&g%sMetadata" % field.typ.name() col = [str(name_off) + ",", offset + ",", typ_enum + ",", val] rows.append(col) rows = util.fmt_rows(rows, [util.FMT_LEFT, util.FMT_RIGHT, util.FMT_RIGHT, util.FMT_RIGHT]) lines += [" { %s %s %s %s }," % (e1, e2, e3, e4) for (e1, e2, e3, e4) in rows] lines += ["};\n"] return lines