def _generate_union_class_h(self, union):
self._generate_init_imports_h(union)<EOL>self._generate_imports_h(self._get_imports_h(union))<EOL>self.emit()<EOL>self.emit('<STR_LIT>')<EOL>self.emit()<EOL>self.emit('<STR_LIT>')<EOL>self.emit()<EOL>self._generate_class_comment(union)<EOL>union_name = fmt_class_prefix(union)<EOL>with self.block_h_from_data_type(union, protocol=['<STR_LIT>', '<STR_LIT>']):<EOL><INDENT>self.emit('<STR_LIT>')<EOL>self.emit()<EOL>self._generate_union_tag_state(union)<EOL>self._generate_union_tag_property(union)<EOL>self._generate_union_properties(union.all_fields)<EOL>self.emit('<STR_LIT>')<EOL>self.emit()<EOL>self._generate_union_cstor_signatures(union, union.all_fields)<EOL>self._generate_init_unavailable_signature(union)<EOL>self.emit('<STR_LIT>')<EOL>self.emit()<EOL>self._generate_union_tag_access_signatures(union)<EOL><DEDENT>self.emit()<EOL>self.emit()<EOL>self.emit('<STR_LIT>')<EOL>self.emit()<EOL>self.emit(comment_prefix)<EOL>self.emit_wrapped_text(<EOL>'<STR_LIT>'.format(union_name),<EOL>prefix=comment_prefix)<EOL>self.emit(comment_prefix)<EOL>with self.block_h(fmt_serial_class(union_name)):<EOL><INDENT>self._generate_serializer_signatures(union_name)<EOL><DEDENT>self.emit()<EOL>self.emit('<STR_LIT>')<EOL>self.emit()<EOL>
Defines an Obj C header file that represents a union in Stone.