def _get_subtype_tags(self):
        """
        Returns a list of type tags that refer to this type starting from the
        base of the struct hierarchy.
        """
        assert self.is_member_of_enumerated_subtypes_tree(), \
            'Not a part of a subtypes tree.'
        cur = self.parent_type
        cur_dt = self
        tags = []
        while cur:
            assert cur.has_enumerated_subtypes()
            for subtype_field in cur.get_enumerated_subtypes():
                if subtype_field.data_type is cur_dt:
                    tags.append(subtype_field.name)
                    break
            else:
                assert False, 'Could not find?!'
            cur_dt = cur
            cur = cur.parent_type
        tags.reverse()
        return tuple(tags)
def _get_subtype_tags ( self ) : assert self . is_member_of_enumerated_subtypes_tree ( ) , 'Not a part of a subtypes tree.' cur = self . parent_type cur_dt = self tags = [ ] while cur : assert cur . has_enumerated_subtypes ( ) for subtype_field in cur . get_enumerated_subtypes ( ) : if subtype_field . data_type is cur_dt : tags . append ( subtype_field . name ) break else : assert False , 'Could not find?!' cur_dt = cur cur = cur . parent_type tags . reverse ( ) return tuple ( tags )
Returns a list of type tags that refer to this type starting from the
        base of the struct hierarchy.