py_loxi: support/resolve enum members of structs
diff --git a/py_gen/templates/_pack.py b/py_gen/templates/_pack.py
index 9956cf6..0525ef2 100644
--- a/py_gen/templates/_pack.py
+++ b/py_gen/templates/_pack.py
@@ -37,19 +37,19 @@
:: if type(m) == OFLengthMember:
:: length_member = m
:: length_member_index = index
- packed.append(${gen_pack_expr(m.oftype, '0')}) # placeholder for ${m.name} at index ${index}
+ packed.append(${gen_pack_expr(m.oftype, '0', version=version)}) # placeholder for ${m.name} at index ${index}
:: elif type(m) == OFFieldLengthMember:
:: field_length_members[m.field_name] = m
:: field_length_indexes[m.field_name] = index
- packed.append(${gen_pack_expr(m.oftype, '0')}) # placeholder for ${m.name} at index ${index}
+ packed.append(${gen_pack_expr(m.oftype, '0', version=version)}) # placeholder for ${m.name} at index ${index}
:: elif type(m) == OFPadMember:
packed.append('\x00' * ${m.length})
:: else:
- packed.append(${gen_pack_expr(m.oftype, 'self.' + m.name)})
+ packed.append(${gen_pack_expr(m.oftype, 'self.' + m.name, version=version)})
:: if m.name in field_length_members:
:: field_length_member = field_length_members[m.name]
:: field_length_index = field_length_indexes[m.name]
- packed[${field_length_index}] = ${gen_pack_expr(field_length_member.oftype, 'len(packed[-1])')}
+ packed[${field_length_index}] = ${gen_pack_expr(field_length_member.oftype, 'len(packed[-1])', version=version)}
:: #endif
:: #endif
:: index += 1
@@ -60,7 +60,7 @@
packed.append(loxi.generic_util.pad_to(8, length))
length += len(packed[-1])
:: #endif
- packed[${length_member_index}] = ${gen_pack_expr(length_member.oftype, 'length')}
+ packed[${length_member_index}] = ${gen_pack_expr(length_member.oftype, 'length', version=version)}
:: #endif
:: if ofclass.has_external_alignment:
packed.append(loxi.generic_util.pad_to(8, length))