+class Using():
+ def __init__(self, name, alias):
+ global global_crc
+ self.name = name
+
+ if isinstance(alias, Array):
+ a = { 'type': alias.fieldtype,
+ 'length': alias.length }
+ else:
+ a = { 'type': alias.fieldtype }
+ self.alias = a
+ self.crc = binascii.crc32(str(alias)) & 0xffffffff
+ global_crc = binascii.crc32(str(alias), global_crc)
+ global_type_add(name)
+
+ def __repr__(self):
+ return self.name + str(self.alias)
+
+
+class Union():
+ def __init__(self, name, block):
+ self.type = 'Union'
+ self.manual_print = False
+ self.manual_endian = False
+ global global_crc
+ self.name = name
+ self.block = block
+ self.crc = crc_block(block)
+ global_type_add(name)
+
+ def __repr__(self):
+ return str(self.block)
+
+